public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Zhang, Shenglei" <shenglei.zhang@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Zhang, Shenglei" <shenglei.zhang@intel.com>
Cc: "Wang, Jian J" <jian.j.wang@intel.com>,
	"Wu, Hao A" <hao.a.wu@intel.com>,
	"Gao, Liming" <liming.gao@intel.com>
Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/RegularExpressionDxe: Make oniguruma a submodule in edk2.
Date: Thu, 5 Mar 2020 08:19:50 +0000	[thread overview]
Message-ID: <C0706E73DB8C124D9B9C38AA364E5D5E06041F65@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <15F859395BFEB9ED.8662@groups.io>

The patch is too big. So I attach the patch link.
https://github.com/shenglei10/edk2/commits/oniguruma

Thanks,
Shenglei

> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Zhang, Shenglei
> Sent: Monday, March 2, 2020 9:42 AM
> To: devel@edk2.groups.io
> Cc: Wang, Jian J <jian.j.wang@intel.com>; Wu, Hao A <hao.a.wu@intel.com>;
> Gao, Liming <liming.gao@intel.com>
> Subject: [edk2-devel] [PATCH] MdeModulePkg/RegularExpressionDxe:
> Make oniguruma a submodule in edk2.
> 
> Use submodule way to access oniguruma. And upgrade oniguruma
> version from v6.9.3 to v6.9.4_mark1.
> https://bugzilla.tianocore.org/show_bug.cgi?id=2073
> 
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
> ---
>  .../Oniguruma/OnigurumaUefiPort.c             |    26 -
>  .../RegularExpressionDxe/Oniguruma/ascii.c    |   118 -
>  .../Oniguruma/onig_init.c                     |    45 -
>  .../RegularExpressionDxe/Oniguruma/regcomp.c  |  6972 ----
>  .../RegularExpressionDxe/Oniguruma/regenc.c   |  1029 -
>  .../RegularExpressionDxe/Oniguruma/regerror.c |   402 -
>  .../RegularExpressionDxe/Oniguruma/regexec.c  |  5874 ---
>  .../RegularExpressionDxe/Oniguruma/reggnu.c   |   131 -
>  .../RegularExpressionDxe/Oniguruma/regparse.c |  8461 -----
>  .../Oniguruma/regposerr.c                     |   108 -
>  .../RegularExpressionDxe/Oniguruma/regposix.c |   304 -
>  .../Oniguruma/regsyntax.c                     |   336 -
>  .../RegularExpressionDxe/Oniguruma/regtrav.c  |    76 -
>  .../Oniguruma/regversion.c                    |    57 -
>  .../RegularExpressionDxe/Oniguruma/st.c       |   588 -
>  .../RegularExpressionDxe/Oniguruma/unicode.c  |  1152 -
>  .../Oniguruma/unicode_egcb_data.c             |  1374 -
>  .../Oniguruma/unicode_fold1_key.c             |  2995 --
>  .../Oniguruma/unicode_fold2_key.c             |   222 -
>  .../Oniguruma/unicode_fold3_key.c             |   133 -
>  .../Oniguruma/unicode_fold_data.c             |  1522 -
>  .../Oniguruma/unicode_property_data.c         | 30388 ----------------
>  .../Oniguruma/unicode_property_data_posix.c   |  5347 ---
>  .../Oniguruma/unicode_unfold_key.c            |  3299 --
>  .../Oniguruma/unicode_wb_data.c               |  1023 -
>  .../RegularExpressionDxe/Oniguruma/utf16_le.c |   309 -
>  .../{Oniguruma => }/OnigurumaIntrinsics.c     |     1 +
>  .../RegularExpressionDxe/OnigurumaUefiPort.c  |    90 +
>  .gitmodules                                   |     3 +
>  .../RegularExpressionDxe/Oniguruma/AUTHORS    |     1 -
>  .../RegularExpressionDxe/Oniguruma/COPYING    |    26 -
>  .../RegularExpressionDxe/Oniguruma/README     |   195 -
>  .../RegularExpressionDxe/Oniguruma/oniggnu.h  |    87 -
>  .../Oniguruma/onigposix.h                     |   172 -
>  .../Oniguruma/oniguruma.h                     |  1014 -
>  .../RegularExpressionDxe/Oniguruma/regenc.h   |   279 -
>  .../RegularExpressionDxe/Oniguruma/regint.h   |  1117 -
>  .../RegularExpressionDxe/Oniguruma/regparse.h |   455 -
>  .../RegularExpressionDxe/Oniguruma/st.h       |    69 -
>  .../{Oniguruma => }/OnigurumaUefiPort.h       |    44 +-
>  .../RegularExpressionDxe.h                    |     3 +-
>  .../RegularExpressionDxe.inf                  |    64 +-
>  .../Universal/RegularExpressionDxe/config.h   |     9 +
>  .../Universal/RegularExpressionDxe/oniguruma  |     1 +
>  .../Universal/RegularExpressionDxe/stdarg.h   |     9 +
>  .../Universal/RegularExpressionDxe/stddef.h   |     9 +
>  .../Universal/RegularExpressionDxe/stdio.h    |     9 +
>  .../Universal/RegularExpressionDxe/stdlib.h   |     9 +
>  .../Universal/RegularExpressionDxe/string.h   |     9 +
>  49 files changed, 221 insertions(+), 75745 deletions(-)
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/OnigurumaUe
> fiPort.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/ascii.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/onig_init.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regcomp.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regenc.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regerror.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regexec.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/reggnu.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regposerr.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regposix.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regsyntax.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regtrav.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regversion.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/st.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_egcb
> _data.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fold
> 1_key.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fold
> 2_key.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fold
> 3_key.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fold
> _data.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_prop
> erty_data.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_prop
> erty_data_posix.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_unfo
> ld_key.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_wb_
> data.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/utf16_le.c
>  rename MdeModulePkg/Universal/RegularExpressionDxe/{Oniguruma
> => }/OnigurumaIntrinsics.c (91%)
>  create mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/AUTHORS
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/COPYING
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/README
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/oniggnu.h
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/onigposix.h
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/oniguruma.h
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regenc.h
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regint.h
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.h
>  delete mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/st.h
>  rename MdeModulePkg/Universal/RegularExpressionDxe/{Oniguruma
> => }/OnigurumaUefiPort.h (62%)
>  create mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/config.h
>  create mode 160000
> MdeModulePkg/Universal/RegularExpressionDxe/oniguruma
>  create mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/stdarg.h
>  create mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/stddef.h
>  create mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/stdio.h
>  create mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/stdlib.h
>  create mode 100644
> MdeModulePkg/Universal/RegularExpressionDxe/string.h
> 
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/Oniguruma
> UefiPort.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/Oniguruma
> UefiPort.c
> deleted file mode 100644
> index 376fcabd760c..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/Oniguruma
> UefiPort.c
> +++ /dev/null
> @@ -1,26 +0,0 @@
> -/** @file
> -
> -  Module to rewrite stdlib references within Oniguruma
> -
> -  (C) Copyright 2014-2015 Hewlett Packard Enterprise Development LP<BR>
> -
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -**/
> -#include "OnigurumaUefiPort.h"
> -
> -int EFIAPI sprintf_s(char *str, size_t sizeOfBuffer, char const *fmt, ...)
> -{
> -  VA_LIST Marker;
> -  int   NumberOfPrinted;
> -
> -  VA_START (Marker, fmt);
> -  NumberOfPrinted = (int)AsciiVSPrint (str, sizeOfBuffer, fmt, Marker);
> -  VA_END (Marker);
> -
> -  return NumberOfPrinted;
> -}
> -
> -int OnigStrCmp (char* Str1, char* Str2)
> -{
> -  return (int)AsciiStrCmp (Str1, Str2);
> -}
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/ascii.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/ascii.c
> deleted file mode 100644
> index 2527c02b323a..000000000000
> --- a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/ascii.c
> +++ /dev/null
> @@ -1,118 +0,0 @@
> -
> /**********************************************************
> ************
> -  ascii.c -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2018  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#include "regint.h"   /* for USE_CALLOUT */
> -
> -static int
> -init(void)
> -{
> -#ifdef USE_CALLOUT
> -
> -    int id;
> -    OnigEncoding enc;
> -    char* name;
> -    unsigned int args[4];
> -    OnigValue    opts[4];
> -
> -    enc = ONIG_ENCODING_ASCII;
> -
> -    name = "FAIL";        BC0_P(name, fail);
> -    name = "MISMATCH";    BC0_P(name, mismatch);
> -
> -    name = "MAX";
> -    args[0] = ONIG_TYPE_TAG | ONIG_TYPE_LONG;
> -    args[1] = ONIG_TYPE_CHAR;
> -    opts[0].c = 'X';
> -    BC_B_O(name, max, 2, args, 1, opts);
> -
> -    name = "ERROR";
> -    args[0] = ONIG_TYPE_LONG; opts[0].l = ONIG_ABORT;
> -    BC_P_O(name, error, 1, args, 1, opts);
> -
> -    name = "COUNT";
> -    args[0] = ONIG_TYPE_CHAR; opts[0].c = '>';
> -    BC_B_O(name, count, 1, args, 1, opts);
> -
> -    name = "TOTAL_COUNT";
> -    args[0] = ONIG_TYPE_CHAR; opts[0].c = '>';
> -    BC_B_O(name, total_count, 1, args, 1, opts);
> -
> -    name = "CMP";
> -    args[0] = ONIG_TYPE_TAG | ONIG_TYPE_LONG;
> -    args[1] = ONIG_TYPE_STRING;
> -    args[2] = ONIG_TYPE_TAG | ONIG_TYPE_LONG;
> -    BC_P(name, cmp, 3, args);
> -
> -#endif /* USE_CALLOUT */
> -
> -  return ONIG_NORMAL;
> -}
> -
> -#if 0
> -static int
> -is_initialized(void)
> -{
> -  /* Don't use this function */
> -  /* can't answer, because builtin callout entries removed in onig_end() */
> -  return 0;
> -}
> -#endif
> -
> -static int
> -ascii_is_code_ctype(OnigCodePoint code, unsigned int ctype)
> -{
> -  if (code < 128)
> -    return ONIGENC_IS_ASCII_CODE_CTYPE(code, ctype);
> -  else
> -    return FALSE;
> -}
> -
> -OnigEncodingType OnigEncodingASCII = {
> -  onigenc_single_byte_mbc_enc_len,
> -  "US-ASCII",  /* name */
> -  1,           /* max enc length */
> -  1,           /* min enc length */
> -  onigenc_is_mbc_newline_0x0a,
> -  onigenc_single_byte_mbc_to_code,
> -  onigenc_single_byte_code_to_mbclen,
> -  onigenc_single_byte_code_to_mbc,
> -  onigenc_ascii_mbc_case_fold,
> -  onigenc_ascii_apply_all_case_fold,
> -  onigenc_ascii_get_case_fold_codes_by_str,
> -  onigenc_minimum_property_name_to_ctype,
> -  ascii_is_code_ctype,
> -  onigenc_not_support_get_ctype_code_range,
> -  onigenc_single_byte_left_adjust_char_head,
> -  onigenc_always_true_is_allowed_reverse_match,
> -  init,
> -  0, /* is_initialized */
> -  onigenc_always_true_is_valid_mbc_string,
> -  ENC_FLAG_ASCII_COMPATIBLE|ENC_FLAG_SKIP_OFFSET_1,
> -  0, 0
> -};
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/onig_init.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/onig_init.c
> deleted file mode 100644
> index 9fc6dca3c073..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/onig_init.c
> +++ /dev/null
> @@ -1,45 +0,0 @@
> -
> /**********************************************************
> ************
> -  onig_init.c -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2016-2018  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#include "regint.h"
> -
> -/* onig_init(): deprecated function */
> -extern int
> -onig_init(void)
> -{
> -#if 0
> -  OnigEncoding encs[] = {
> -    ONIG_ENCODING_UTF8
> -  };
> -
> -  return onig_initialize(encs, sizeof(encs)/sizeof(encs[0]));
> -#else
> -  return onig_initialize(0, 0);
> -#endif
> -}
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regcomp.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regcomp.c
> deleted file mode 100644
> index d847ca4233e2..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regcomp.c
> +++ /dev/null
> @@ -1,6972 +0,0 @@
> -
> /**********************************************************
> ************
> -  regcomp.c -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2019  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#include "regparse.h"
> -
> -#define OPS_INIT_SIZE  8
> -
> -OnigCaseFoldType OnigDefaultCaseFoldFlag = ONIGENC_CASE_FOLD_MIN;
> -
> -#if 0
> -typedef struct {
> -  int  n;
> -  int  alloc;
> -  int* v;
> -} int_stack;
> -
> -static int
> -make_int_stack(int_stack** rs, int init_size)
> -{
> -  int_stack* s;
> -  int* v;
> -
> -  *rs = 0;
> -
> -  s = xmalloc(sizeof(*s));
> -  if (IS_NULL(s)) return ONIGERR_MEMORY;
> -
> -  v = (int* )xmalloc(sizeof(int) * init_size);
> -  if (IS_NULL(v)) {
> -    xfree(s);
> -    return ONIGERR_MEMORY;
> -  }
> -
> -  s->n = 0;
> -  s->alloc = init_size;
> -  s->v = v;
> -
> -  *rs = s;
> -  return ONIG_NORMAL;
> -}
> -
> -static void
> -free_int_stack(int_stack* s)
> -{
> -  if (IS_NOT_NULL(s)) {
> -    if (IS_NOT_NULL(s->v))
> -      xfree(s->v);
> -    xfree(s);
> -  }
> -}
> -
> -static int
> -int_stack_push(int_stack* s, int v)
> -{
> -  if (s->n >= s->alloc) {
> -    int new_size = s->alloc * 2;
> -    int* nv = (int* )xrealloc(s->v, sizeof(int) * new_size, sizeof(int) * s->alloc);
> -    if (IS_NULL(nv)) return ONIGERR_MEMORY;
> -
> -    s->alloc = new_size;
> -    s->v = nv;
> -  }
> -
> -  s->v[s->n] = v;
> -  s->n++;
> -  return ONIG_NORMAL;
> -}
> -
> -static int
> -int_stack_pop(int_stack* s)
> -{
> -  int v;
> -
> -#ifdef ONIG_DEBUG
> -  if (s->n <= 0) {
> -    fprintf(stderr, "int_stack_pop: fail empty. %p\n", s);
> -    return 0;
> -  }
> -#endif
> -
> -  v = s->v[s->n];
> -  s->n--;
> -  return v;
> -}
> -#endif
> -
> -static int
> -ops_init(regex_t* reg, int init_alloc_size)
> -{
> -  Operation* p;
> -  size_t size;
> -
> -  if (init_alloc_size > 0) {
> -    size = sizeof(Operation) * init_alloc_size;
> -    p = (Operation* )xmalloc(size);
> -    CHECK_NULL_RETURN_MEMERR(p);
> -#ifdef USE_DIRECT_THREADED_CODE
> -    {
> -      enum OpCode* cp;
> -      size = sizeof(enum OpCode) * init_alloc_size;
> -      cp = (enum OpCode* )xmalloc(size);
> -      CHECK_NULL_RETURN_MEMERR(cp);
> -      reg->ocs = cp;
> -    }
> -#endif
> -  }
> -  else {
> -    p  = (Operation* )0;
> -#ifdef USE_DIRECT_THREADED_CODE
> -    reg->ocs = (enum OpCode* )0;
> -#endif
> -  }
> -
> -  reg->ops = p;
> -  reg->ops_curr  = 0; /* !!! not yet done ops_new() */
> -  reg->ops_alloc = init_alloc_size;
> -  reg->ops_used  = 0;
> -
> -  return ONIG_NORMAL;
> -}
> -
> -static int
> -ops_expand(regex_t* reg, int n)
> -{
> -#define MIN_OPS_EXPAND_SIZE   4
> -
> -#ifdef USE_DIRECT_THREADED_CODE
> -  enum OpCode* cp;
> -#endif
> -  Operation* p;
> -  size_t size;
> -
> -  if (n <= 0) n = MIN_OPS_EXPAND_SIZE;
> -
> -  n += reg->ops_alloc;
> -
> -  size = sizeof(Operation) * n;
> -  p = (Operation* )xrealloc(reg->ops, size, sizeof(Operation) * reg-
> >ops_alloc);
> -  CHECK_NULL_RETURN_MEMERR(p);
> -
> -#ifdef USE_DIRECT_THREADED_CODE
> -  size = sizeof(enum OpCode) * n;
> -  cp = (enum OpCode* )xrealloc(reg->ocs, size, sizeof(enum OpCode) * reg-
> >ops_alloc);
> -  CHECK_NULL_RETURN_MEMERR(cp);
> -  reg->ocs = cp;
> -#endif
> -
> -  reg->ops = p;
> -  reg->ops_alloc = n;
> -  if (reg->ops_used == 0)
> -    reg->ops_curr = 0;
> -  else
> -    reg->ops_curr = reg->ops + (reg->ops_used - 1);
> -
> -  return ONIG_NORMAL;
> -}
> -
> -static int
> -ops_new(regex_t* reg)
> -{
> -  int r;
> -
> -  if (reg->ops_used >= reg->ops_alloc) {
> -    r = ops_expand(reg, reg->ops_alloc);
> -    if (r != ONIG_NORMAL) return r;
> -  }
> -
> -  reg->ops_curr = reg->ops + reg->ops_used;
> -  reg->ops_used++;
> -
> -  xmemset(reg->ops_curr, 0, sizeof(Operation));
> -  return ONIG_NORMAL;
> -}
> -
> -static int
> -is_in_string_pool(regex_t* reg, UChar* s)
> -{
> -  return (s >= reg->string_pool && s < reg->string_pool_end);
> -}
> -
> -static void
> -ops_free(regex_t* reg)
> -{
> -  int i;
> -
> -  if (IS_NULL(reg->ops)) return ;
> -
> -  for (i = 0; i < (int )reg->ops_used; i++) {
> -    enum OpCode opcode;
> -    Operation* op;
> -
> -    op = reg->ops + i;
> -
> -#ifdef USE_DIRECT_THREADED_CODE
> -    opcode = *(reg->ocs + i);
> -#else
> -    opcode = op->opcode;
> -#endif
> -
> -    switch (opcode) {
> -    case OP_EXACTMBN:
> -      if (! is_in_string_pool(reg, op->exact_len_n.s))
> -        xfree(op->exact_len_n.s);
> -      break;
> -    case OP_EXACTN: case OP_EXACTMB2N: case OP_EXACTMB3N: case
> OP_EXACTN_IC:
> -      if (! is_in_string_pool(reg, op->exact_n.s))
> -        xfree(op->exact_n.s);
> -      break;
> -    case OP_EXACT1: case OP_EXACT2: case OP_EXACT3: case OP_EXACT4:
> -    case OP_EXACT5: case OP_EXACTMB2N1: case OP_EXACTMB2N2:
> -    case OP_EXACTMB2N3: case OP_EXACT1_IC:
> -      break;
> -
> -    case OP_CCLASS_NOT: case OP_CCLASS:
> -      xfree(op->cclass.bsp);
> -      break;
> -
> -    case OP_CCLASS_MB_NOT: case OP_CCLASS_MB:
> -      xfree(op->cclass_mb.mb);
> -      break;
> -    case OP_CCLASS_MIX_NOT: case OP_CCLASS_MIX:
> -      xfree(op->cclass_mix.mb);
> -      xfree(op->cclass_mix.bsp);
> -      break;
> -
> -    case OP_BACKREF1: case OP_BACKREF2: case OP_BACKREF_N: case
> OP_BACKREF_N_IC:
> -      break;
> -    case OP_BACKREF_MULTI:      case OP_BACKREF_MULTI_IC:
> -    case OP_BACKREF_WITH_LEVEL:
> -    case OP_BACKREF_WITH_LEVEL_IC:
> -    case OP_BACKREF_CHECK:
> -    case OP_BACKREF_CHECK_WITH_LEVEL:
> -      if (op->backref_general.num != 1)
> -        xfree(op->backref_general.ns);
> -      break;
> -
> -    default:
> -      break;
> -    }
> -  }
> -
> -  xfree(reg->ops);
> -#ifdef USE_DIRECT_THREADED_CODE
> -  xfree(reg->ocs);
> -  reg->ocs = 0;
> -#endif
> -
> -  reg->ops = 0;
> -  reg->ops_curr  = 0;
> -  reg->ops_alloc = 0;
> -  reg->ops_used  = 0;
> -}
> -
> -static int
> -ops_calc_size_of_string_pool(regex_t* reg)
> -{
> -  int i;
> -  int total;
> -
> -  if (IS_NULL(reg->ops)) return 0;
> -
> -  total = 0;
> -  for (i = 0; i < (int )reg->ops_used; i++) {
> -    enum OpCode opcode;
> -    Operation* op;
> -
> -    op = reg->ops + i;
> -#ifdef USE_DIRECT_THREADED_CODE
> -    opcode = *(reg->ocs + i);
> -#else
> -    opcode = op->opcode;
> -#endif
> -
> -    switch (opcode) {
> -    case OP_EXACTMBN:
> -      total += op->exact_len_n.len * op->exact_len_n.n;
> -      break;
> -    case OP_EXACTN:
> -    case OP_EXACTN_IC:
> -      total += op->exact_n.n;
> -      break;
> -    case OP_EXACTMB2N:
> -      total += op->exact_n.n * 2;
> -      break;
> -    case OP_EXACTMB3N:
> -      total += op->exact_n.n * 3;
> -      break;
> -
> -    default:
> -      break;
> -    }
> -  }
> -
> -  return total;
> -}
> -
> -static int
> -ops_make_string_pool(regex_t* reg)
> -{
> -  int i;
> -  int len;
> -  int size;
> -  UChar* pool;
> -  UChar* curr;
> -
> -  size = ops_calc_size_of_string_pool(reg);
> -  if (size <= 0) {
> -    return 0;
> -  }
> -
> -  curr = pool = (UChar* )xmalloc((size_t )size);
> -  CHECK_NULL_RETURN_MEMERR(pool);
> -
> -  for (i = 0; i < (int )reg->ops_used; i++) {
> -    enum OpCode opcode;
> -    Operation* op;
> -
> -    op = reg->ops + i;
> -#ifdef USE_DIRECT_THREADED_CODE
> -    opcode = *(reg->ocs + i);
> -#else
> -    opcode = op->opcode;
> -#endif
> -
> -    switch (opcode) {
> -    case OP_EXACTMBN:
> -      len = op->exact_len_n.len * op->exact_len_n.n;
> -      xmemcpy(curr, op->exact_len_n.s, len);
> -      xfree(op->exact_len_n.s);
> -      op->exact_len_n.s = curr;
> -      curr += len;
> -      break;
> -    case OP_EXACTN:
> -    case OP_EXACTN_IC:
> -      len = op->exact_n.n;
> -    copy:
> -      xmemcpy(curr, op->exact_n.s, len);
> -      xfree(op->exact_n.s);
> -      op->exact_n.s = curr;
> -      curr += len;
> -      break;
> -    case OP_EXACTMB2N:
> -      len = op->exact_n.n * 2;
> -      goto copy;
> -      break;
> -    case OP_EXACTMB3N:
> -      len = op->exact_n.n * 3;
> -      goto copy;
> -      break;
> -
> -    default:
> -      break;
> -    }
> -  }
> -
> -  reg->string_pool     = pool;
> -  reg->string_pool_end = pool + size;
> -  return 0;
> -}
> -
> -extern OnigCaseFoldType
> -onig_get_default_case_fold_flag(void)
> -{
> -  return OnigDefaultCaseFoldFlag;
> -}
> -
> -extern int
> -onig_set_default_case_fold_flag(OnigCaseFoldType case_fold_flag)
> -{
> -  OnigDefaultCaseFoldFlag = case_fold_flag;
> -  return 0;
> -}
> -
> -static int
> -int_multiply_cmp(int x, int y, int v)
> -{
> -  if (x == 0 || y == 0) return -1;
> -
> -  if (x < INT_MAX / y) {
> -    int xy = x * y;
> -    if (xy > v) return 1;
> -    else {
> -      if (xy == v) return 0;
> -      else return -1;
> -    }
> -  }
> -  else
> -    return 1;
> -}
> -
> -extern int
> -onig_positive_int_multiply(int x, int y)
> -{
> -  if (x == 0 || y == 0) return 0;
> -
> -  if (x < INT_MAX / y)
> -    return x * y;
> -  else
> -    return -1;
> -}
> -
> -
> -static void
> -swap_node(Node* a, Node* b)
> -{
> -  Node c;
> -
> -  c = *a; *a = *b; *b = c;
> -
> -  if (NODE_TYPE(a) == NODE_STRING) {
> -    StrNode* sn = STR_(a);
> -    if (sn->capacity == 0) {
> -      int len = (int )(sn->end - sn->s);
> -      sn->s   = sn->buf;
> -      sn->end = sn->s + len;
> -    }
> -  }
> -
> -  if (NODE_TYPE(b) == NODE_STRING) {
> -    StrNode* sn = STR_(b);
> -    if (sn->capacity == 0) {
> -      int len = (int )(sn->end - sn->s);
> -      sn->s   = sn->buf;
> -      sn->end = sn->s + len;
> -    }
> -  }
> -}
> -
> -static OnigLen
> -distance_add(OnigLen d1, OnigLen d2)
> -{
> -  if (d1 == INFINITE_LEN || d2 == INFINITE_LEN)
> -    return INFINITE_LEN;
> -  else {
> -    if (d1 <= INFINITE_LEN - d2) return d1 + d2;
> -    else return INFINITE_LEN;
> -  }
> -}
> -
> -static OnigLen
> -distance_multiply(OnigLen d, int m)
> -{
> -  if (m == 0) return 0;
> -
> -  if (d < INFINITE_LEN / m)
> -    return d * m;
> -  else
> -    return INFINITE_LEN;
> -}
> -
> -static int
> -bitset_is_empty(BitSetRef bs)
> -{
> -  int i;
> -
> -  for (i = 0; i < (int )BITSET_SIZE; i++) {
> -    if (bs[i] != 0) return 0;
> -  }
> -  return 1;
> -}
> -
> -#ifdef USE_CALL
> -
> -static int
> -unset_addr_list_init(UnsetAddrList* list, int size)
> -{
> -  UnsetAddr* p = (UnsetAddr* )xmalloc(sizeof(UnsetAddr)* size);
> -  CHECK_NULL_RETURN_MEMERR(p);
> -
> -  list->num   = 0;
> -  list->alloc = size;
> -  list->us    = p;
> -  return 0;
> -}
> -
> -static void
> -unset_addr_list_end(UnsetAddrList* list)
> -{
> -  if (IS_NOT_NULL(list->us))
> -    xfree(list->us);
> -}
> -
> -static int
> -unset_addr_list_add(UnsetAddrList* list, int offset, struct _Node* node)
> -{
> -  UnsetAddr* p;
> -  int size;
> -
> -  if (list->num >= list->alloc) {
> -    size = list->alloc * 2;
> -    p = (UnsetAddr* )xrealloc(list->us, sizeof(UnsetAddr) * size,
> sizeof(UnsetAddr)* list->alloc);
> -    CHECK_NULL_RETURN_MEMERR(p);
> -    list->alloc = size;
> -    list->us    = p;
> -  }
> -
> -  list->us[list->num].offset = offset;
> -  list->us[list->num].target = node;
> -  list->num++;
> -  return 0;
> -}
> -#endif /* USE_CALL */
> -
> -
> -static int
> -add_op(regex_t* reg, int opcode)
> -{
> -  int r;
> -
> -  r = ops_new(reg);
> -  if (r != ONIG_NORMAL) return r;
> -
> -#ifdef USE_DIRECT_THREADED_CODE
> -  *(reg->ocs + (reg->ops_curr - reg->ops)) = opcode;
> -#else
> -  reg->ops_curr->opcode = opcode;
> -#endif
> -
> -  return 0;
> -}
> -
> -static int compile_length_tree(Node* node, regex_t* reg);
> -static int compile_tree(Node* node, regex_t* reg, ScanEnv* env);
> -
> -
> -#define IS_NEED_STR_LEN_OP_EXACT(op) \
> -   ((op) == OP_EXACTN    || (op) == OP_EXACTMB2N ||\
> -    (op) == OP_EXACTMB3N || (op) == OP_EXACTMBN  || (op) ==
> OP_EXACTN_IC)
> -
> -static int
> -select_str_opcode(int mb_len, int str_len, int ignore_case)
> -{
> -  int op;
> -
> -  if (ignore_case) {
> -    switch (str_len) {
> -    case 1:  op = OP_EXACT1_IC; break;
> -    default: op = OP_EXACTN_IC; break;
> -    }
> -  }
> -  else {
> -    switch (mb_len) {
> -    case 1:
> -      switch (str_len) {
> -      case 1:  op = OP_EXACT1; break;
> -      case 2:  op = OP_EXACT2; break;
> -      case 3:  op = OP_EXACT3; break;
> -      case 4:  op = OP_EXACT4; break;
> -      case 5:  op = OP_EXACT5; break;
> -      default: op = OP_EXACTN; break;
> -      }
> -      break;
> -
> -    case 2:
> -      switch (str_len) {
> -      case 1:  op = OP_EXACTMB2N1; break;
> -      case 2:  op = OP_EXACTMB2N2; break;
> -      case 3:  op = OP_EXACTMB2N3; break;
> -      default: op = OP_EXACTMB2N;  break;
> -      }
> -      break;
> -
> -    case 3:
> -      op = OP_EXACTMB3N;
> -      break;
> -
> -    default:
> -      op = OP_EXACTMBN;
> -      break;
> -    }
> -  }
> -  return op;
> -}
> -
> -static int
> -is_strict_real_node(Node* node)
> -{
> -  switch (NODE_TYPE(node)) {
> -  case NODE_STRING:
> -    {
> -      StrNode* sn = STR_(node);
> -      return (sn->end != sn->s);
> -    }
> -    break;
> -
> -  case NODE_CCLASS:
> -  case NODE_CTYPE:
> -    return 1;
> -    break;
> -
> -  default:
> -    return 0;
> -    break;
> -  }
> -}
> -
> -static int
> -compile_tree_empty_check(Node* node, regex_t* reg, int emptiness,
> ScanEnv* env)
> -{
> -  int r;
> -  int saved_num_null_check = reg->num_null_check;
> -
> -  if (emptiness != BODY_IS_NOT_EMPTY) {
> -    r = add_op(reg, OP_EMPTY_CHECK_START);
> -    if (r != 0) return r;
> -    COP(reg)->empty_check_start.mem = reg->num_null_check; /* NULL
> CHECK ID */
> -    reg->num_null_check++;
> -  }
> -
> -  r = compile_tree(node, reg, env);
> -  if (r != 0) return r;
> -
> -  if (emptiness != BODY_IS_NOT_EMPTY) {
> -    if (emptiness == BODY_IS_EMPTY_POSSIBILITY)
> -      r = add_op(reg, OP_EMPTY_CHECK_END);
> -    else if (emptiness == BODY_IS_EMPTY_POSSIBILITY_MEM)
> -      r = add_op(reg, OP_EMPTY_CHECK_END_MEMST);
> -    else if (emptiness == BODY_IS_EMPTY_POSSIBILITY_REC)
> -      r = add_op(reg, OP_EMPTY_CHECK_END_MEMST_PUSH);
> -
> -    if (r != 0) return r;
> -    COP(reg)->empty_check_end.mem = saved_num_null_check; /* NULL
> CHECK ID */
> -  }
> -  return r;
> -}
> -
> -#ifdef USE_CALL
> -static int
> -compile_call(CallNode* node, regex_t* reg, ScanEnv* env)
> -{
> -  int r;
> -  int offset;
> -
> -  r = add_op(reg, OP_CALL);
> -  if (r != 0) return r;
> -
> -  COP(reg)->call.addr = 0; /* dummy addr. */
> -
> -  offset = COP_CURR_OFFSET_BYTES(reg, call.addr);
> -  r = unset_addr_list_add(env->unset_addr_list, offset,
> NODE_CALL_BODY(node));
> -  return r;
> -}
> -#endif
> -
> -static int
> -compile_tree_n_times(Node* node, int n, regex_t* reg, ScanEnv* env)
> -{
> -  int i, r;
> -
> -  for (i = 0; i < n; i++) {
> -    r = compile_tree(node, reg, env);
> -    if (r != 0) return r;
> -  }
> -  return 0;
> -}
> -
> -static int
> -add_compile_string_length(UChar* s ARG_UNUSED, int mb_len, int str_len,
> -                          regex_t* reg ARG_UNUSED, int ignore_case)
> -{
> -  return 1;
> -}
> -
> -static int
> -add_compile_string(UChar* s, int mb_len, int str_len,
> -                   regex_t* reg, int ignore_case)
> -{
> -  int op;
> -  int r;
> -  int byte_len;
> -  UChar* p;
> -  UChar* end;
> -
> -  op = select_str_opcode(mb_len, str_len, ignore_case);
> -  r = add_op(reg, op);
> -  if (r != 0) return r;
> -
> -  byte_len = mb_len * str_len;
> -  end = s + byte_len;
> -
> -  if (op == OP_EXACTMBN) {
> -    p = onigenc_strdup(reg->enc, s, end);
> -    CHECK_NULL_RETURN_MEMERR(p);
> -
> -    COP(reg)->exact_len_n.len = mb_len;
> -    COP(reg)->exact_len_n.n   = str_len;
> -    COP(reg)->exact_len_n.s   = p;
> -  }
> -  else if (IS_NEED_STR_LEN_OP_EXACT(op)) {
> -    p = onigenc_strdup(reg->enc, s, end);
> -    CHECK_NULL_RETURN_MEMERR(p);
> -
> -    if (op == OP_EXACTN_IC)
> -      COP(reg)->exact_n.n = byte_len;
> -    else
> -      COP(reg)->exact_n.n = str_len;
> -
> -    COP(reg)->exact_n.s = p;
> -  }
> -  else {
> -    xmemcpy(COP(reg)->exact.s, s, (size_t )byte_len);
> -    COP(reg)->exact.s[byte_len] = '\0';
> -  }
> -
> -  return 0;
> -}
> -
> -static int
> -compile_length_string_node(Node* node, regex_t* reg)
> -{
> -  int rlen, r, len, prev_len, slen, ambig;
> -  UChar *p, *prev;
> -  StrNode* sn;
> -  OnigEncoding enc = reg->enc;
> -
> -  sn = STR_(node);
> -  if (sn->end <= sn->s)
> -    return 0;
> -
> -  ambig = NODE_STRING_IS_AMBIG(node);
> -
> -  p = prev = sn->s;
> -  prev_len = enclen(enc, p);
> -  p += prev_len;
> -  slen = 1;
> -  rlen = 0;
> -
> -  for (; p < sn->end; ) {
> -    len = enclen(enc, p);
> -    if (len == prev_len) {
> -      slen++;
> -    }
> -    else {
> -      r = add_compile_string_length(prev, prev_len, slen, reg, ambig);
> -      rlen += r;
> -      prev = p;
> -      slen = 1;
> -      prev_len = len;
> -    }
> -    p += len;
> -  }
> -
> -  r = add_compile_string_length(prev, prev_len, slen, reg, ambig);
> -  rlen += r;
> -  return rlen;
> -}
> -
> -static int
> -compile_length_string_raw_node(StrNode* sn, regex_t* reg)
> -{
> -  if (sn->end <= sn->s)
> -    return 0;
> -
> -  return add_compile_string_length(sn->s, 1 /* sb */, (int )(sn->end - sn->s),
> -                                   reg, 0);
> -}
> -
> -static int
> -compile_string_node(Node* node, regex_t* reg)
> -{
> -  int r, len, prev_len, slen, ambig;
> -  UChar *p, *prev, *end;
> -  StrNode* sn;
> -  OnigEncoding enc = reg->enc;
> -
> -  sn = STR_(node);
> -  if (sn->end <= sn->s)
> -    return 0;
> -
> -  end = sn->end;
> -  ambig = NODE_STRING_IS_AMBIG(node);
> -
> -  p = prev = sn->s;
> -  prev_len = enclen(enc, p);
> -  p += prev_len;
> -  slen = 1;
> -
> -  for (; p < end; ) {
> -    len = enclen(enc, p);
> -    if (len == prev_len) {
> -      slen++;
> -    }
> -    else {
> -      r = add_compile_string(prev, prev_len, slen, reg, ambig);
> -      if (r != 0) return r;
> -
> -      prev  = p;
> -      slen  = 1;
> -      prev_len = len;
> -    }
> -
> -    p += len;
> -  }
> -
> -  return add_compile_string(prev, prev_len, slen, reg, ambig);
> -}
> -
> -static int
> -compile_string_raw_node(StrNode* sn, regex_t* reg)
> -{
> -  if (sn->end <= sn->s)
> -    return 0;
> -
> -  return add_compile_string(sn->s, 1 /* sb */, (int )(sn->end - sn->s), reg, 0);
> -}
> -
> -static void*
> -set_multi_byte_cclass(BBuf* mbuf, regex_t* reg)
> -{
> -  size_t len;
> -  void* p;
> -
> -  len = (size_t )mbuf->used;
> -  p = xmalloc(len);
> -  if (IS_NULL(p)) return NULL;
> -
> -  xmemcpy(p, mbuf->p, len);
> -  return p;
> -}
> -
> -static int
> -compile_length_cclass_node(CClassNode* cc, regex_t* reg)
> -{
> -  return 1;
> -}
> -
> -static int
> -compile_cclass_node(CClassNode* cc, regex_t* reg)
> -{
> -  int r;
> -
> -  if (IS_NULL(cc->mbuf)) {
> -    r = add_op(reg, IS_NCCLASS_NOT(cc) ? OP_CCLASS_NOT : OP_CCLASS);
> -    if (r != 0) return r;
> -
> -    COP(reg)->cclass.bsp = xmalloc(SIZE_BITSET);
> -    CHECK_NULL_RETURN_MEMERR(COP(reg)->cclass.bsp);
> -    xmemcpy(COP(reg)->cclass.bsp, cc->bs, SIZE_BITSET);
> -  }
> -  else {
> -    void* p;
> -
> -    if (ONIGENC_MBC_MINLEN(reg->enc) > 1 || bitset_is_empty(cc->bs)) {
> -      r = add_op(reg, IS_NCCLASS_NOT(cc) ? OP_CCLASS_MB_NOT :
> OP_CCLASS_MB);
> -      if (r != 0) return r;
> -
> -      p = set_multi_byte_cclass(cc->mbuf, reg);
> -      CHECK_NULL_RETURN_MEMERR(p);
> -      COP(reg)->cclass_mb.mb = p;
> -    }
> -    else {
> -      r = add_op(reg, IS_NCCLASS_NOT(cc) ? OP_CCLASS_MIX_NOT :
> OP_CCLASS_MIX);
> -      if (r != 0) return r;
> -
> -      COP(reg)->cclass_mix.bsp = xmalloc(SIZE_BITSET);
> -      CHECK_NULL_RETURN_MEMERR(COP(reg)->cclass_mix.bsp);
> -      xmemcpy(COP(reg)->cclass_mix.bsp, cc->bs, SIZE_BITSET);
> -
> -      p = set_multi_byte_cclass(cc->mbuf, reg);
> -      CHECK_NULL_RETURN_MEMERR(p);
> -      COP(reg)->cclass_mix.mb = p;
> -    }
> -  }
> -
> -  return 0;
> -}
> -
> -static int
> -entry_repeat_range(regex_t* reg, int id, int lower, int upper)
> -{
> -#define REPEAT_RANGE_ALLOC  4
> -
> -  OnigRepeatRange* p;
> -
> -  if (reg->repeat_range_alloc == 0) {
> -    p = (OnigRepeatRange* )xmalloc(sizeof(OnigRepeatRange) *
> REPEAT_RANGE_ALLOC);
> -    CHECK_NULL_RETURN_MEMERR(p);
> -    reg->repeat_range = p;
> -    reg->repeat_range_alloc = REPEAT_RANGE_ALLOC;
> -  }
> -  else if (reg->repeat_range_alloc <= id) {
> -    int n;
> -    n = reg->repeat_range_alloc + REPEAT_RANGE_ALLOC;
> -    p = (OnigRepeatRange* )xrealloc(reg->repeat_range,
> -                                    sizeof(OnigRepeatRange) * n,
> -                                    sizeof(OnigRepeatRange) * reg->repeat_range_alloc);
> -    CHECK_NULL_RETURN_MEMERR(p);
> -    reg->repeat_range = p;
> -    reg->repeat_range_alloc = n;
> -  }
> -  else {
> -    p = reg->repeat_range;
> -  }
> -
> -  p[id].lower = lower;
> -  p[id].upper = (IS_INFINITE_REPEAT(upper) ? 0x7fffffff : upper);
> -  return 0;
> -}
> -
> -static int
> -compile_range_repeat_node(QuantNode* qn, int target_len, int emptiness,
> -                          regex_t* reg, ScanEnv* env)
> -{
> -  int r;
> -  int num_repeat = reg->num_repeat++;
> -
> -  r = add_op(reg, qn->greedy ? OP_REPEAT : OP_REPEAT_NG);
> -  if (r != 0) return r;
> -
> -  COP(reg)->repeat.id   = num_repeat;
> -  COP(reg)->repeat.addr = SIZE_INC_OP + target_len +
> SIZE_OP_REPEAT_INC;
> -
> -  r = entry_repeat_range(reg, num_repeat, qn->lower, qn->upper);
> -  if (r != 0) return r;
> -
> -  r = compile_tree_empty_check(NODE_QUANT_BODY(qn), reg, emptiness,
> env);
> -  if (r != 0) return r;
> -
> -  if (
> -#ifdef USE_CALL
> -      NODE_IS_IN_MULTI_ENTRY(qn) ||
> -#endif
> -      NODE_IS_IN_REAL_REPEAT(qn)) {
> -    r = add_op(reg, qn->greedy ? OP_REPEAT_INC_SG :
> OP_REPEAT_INC_NG_SG);
> -  }
> -  else {
> -    r = add_op(reg, qn->greedy ? OP_REPEAT_INC : OP_REPEAT_INC_NG);
> -  }
> -  if (r != 0) return r;
> -
> -  COP(reg)->repeat_inc.id = num_repeat;
> -  return r;
> -}
> -
> -static int
> -is_anychar_infinite_greedy(QuantNode* qn)
> -{
> -  if (qn->greedy && IS_INFINITE_REPEAT(qn->upper) &&
> -      NODE_IS_ANYCHAR(NODE_QUANT_BODY(qn)))
> -    return 1;
> -  else
> -    return 0;
> -}
> -
> -#define QUANTIFIER_EXPAND_LIMIT_SIZE   10
> -#define CKN_ON   (ckn > 0)
> -
> -static int
> -compile_length_quantifier_node(QuantNode* qn, regex_t* reg)
> -{
> -  int len, mod_tlen;
> -  int infinite = IS_INFINITE_REPEAT(qn->upper);
> -  enum BodyEmptyType emptiness = qn->emptiness;
> -  int tlen = compile_length_tree(NODE_QUANT_BODY(qn), reg);
> -
> -  if (tlen < 0) return tlen;
> -  if (tlen == 0) return 0;
> -
> -  /* anychar repeat */
> -  if (is_anychar_infinite_greedy(qn)) {
> -    if (qn->lower <= 1 ||
> -        int_multiply_cmp(tlen, qn->lower, QUANTIFIER_EXPAND_LIMIT_SIZE)
> <= 0) {
> -      if (IS_NOT_NULL(qn->next_head_exact))
> -        return SIZE_OP_ANYCHAR_STAR_PEEK_NEXT + tlen * qn->lower;
> -      else
> -        return SIZE_OP_ANYCHAR_STAR + tlen * qn->lower;
> -    }
> -  }
> -
> -  mod_tlen = tlen;
> -  if (emptiness != BODY_IS_NOT_EMPTY)
> -    mod_tlen += SIZE_OP_EMPTY_CHECK_START +
> SIZE_OP_EMPTY_CHECK_END;
> -
> -  if (infinite &&
> -      (qn->lower <= 1 ||
> -       int_multiply_cmp(tlen, qn->lower, QUANTIFIER_EXPAND_LIMIT_SIZE)
> <= 0)) {
> -    if (qn->lower == 1 && tlen > QUANTIFIER_EXPAND_LIMIT_SIZE) {
> -      len = SIZE_OP_JUMP;
> -    }
> -    else {
> -      len = tlen * qn->lower;
> -    }
> -
> -    if (qn->greedy) {
> -#ifdef USE_OP_PUSH_OR_JUMP_EXACT
> -      if (IS_NOT_NULL(qn->head_exact))
> -        len += SIZE_OP_PUSH_OR_JUMP_EXACT1 + mod_tlen + SIZE_OP_JUMP;
> -      else
> -#endif
> -      if (IS_NOT_NULL(qn->next_head_exact))
> -        len += SIZE_OP_PUSH_IF_PEEK_NEXT + mod_tlen + SIZE_OP_JUMP;
> -      else
> -        len += SIZE_OP_PUSH + mod_tlen + SIZE_OP_JUMP;
> -    }
> -    else
> -      len += SIZE_OP_JUMP + mod_tlen + SIZE_OP_PUSH;
> -  }
> -  else if (qn->upper == 0) {
> -    if (qn->is_refered != 0) { /* /(?<n>..){0}/ */
> -      len = SIZE_OP_JUMP + tlen;
> -    }
> -    else
> -      len = 0;
> -  }
> -  else if (!infinite && qn->greedy &&
> -           (qn->upper == 1 ||
> -            int_multiply_cmp(tlen + SIZE_OP_PUSH, qn->upper,
> -                             QUANTIFIER_EXPAND_LIMIT_SIZE) <= 0)) {
> -    len = tlen * qn->lower;
> -    len += (SIZE_OP_PUSH + tlen) * (qn->upper - qn->lower);
> -  }
> -  else if (!qn->greedy && qn->upper == 1 && qn->lower == 0) { /* '??' */
> -    len = SIZE_OP_PUSH + SIZE_OP_JUMP + tlen;
> -  }
> -  else {
> -    len = SIZE_OP_REPEAT_INC + mod_tlen + SIZE_OP_REPEAT;
> -  }
> -
> -  return len;
> -}
> -
> -static int
> -compile_quantifier_node(QuantNode* qn, regex_t* reg, ScanEnv* env)
> -{
> -  int i, r, mod_tlen;
> -  int infinite = IS_INFINITE_REPEAT(qn->upper);
> -  enum BodyEmptyType emptiness = qn->emptiness;
> -  int tlen = compile_length_tree(NODE_QUANT_BODY(qn), reg);
> -
> -  if (tlen < 0) return tlen;
> -  if (tlen == 0) return 0;
> -
> -  if (is_anychar_infinite_greedy(qn) &&
> -      (qn->lower <= 1 ||
> -       int_multiply_cmp(tlen, qn->lower, QUANTIFIER_EXPAND_LIMIT_SIZE)
> <= 0)) {
> -    r = compile_tree_n_times(NODE_QUANT_BODY(qn), qn->lower, reg,
> env);
> -    if (r != 0) return r;
> -    if (IS_NOT_NULL(qn->next_head_exact)) {
> -      r = add_op(reg,
> -                 IS_MULTILINE(CTYPE_OPTION(NODE_QUANT_BODY(qn), reg)) ?
> -                 OP_ANYCHAR_ML_STAR_PEEK_NEXT :
> OP_ANYCHAR_STAR_PEEK_NEXT);
> -      if (r != 0) return r;
> -
> -      COP(reg)->anychar_star_peek_next.c = STR_(qn->next_head_exact)-
> >s[0];
> -      return 0;
> -    }
> -    else {
> -      r = add_op(reg,
> -                 IS_MULTILINE(CTYPE_OPTION(NODE_QUANT_BODY(qn), reg)) ?
> -                 OP_ANYCHAR_ML_STAR : OP_ANYCHAR_STAR);
> -      return r;
> -    }
> -  }
> -
> -  mod_tlen = tlen;
> -  if (emptiness != BODY_IS_NOT_EMPTY)
> -    mod_tlen += SIZE_OP_EMPTY_CHECK_START +
> SIZE_OP_EMPTY_CHECK_END;
> -
> -  if (infinite &&
> -      (qn->lower <= 1 ||
> -       int_multiply_cmp(tlen, qn->lower, QUANTIFIER_EXPAND_LIMIT_SIZE)
> <= 0)) {
> -    int addr;
> -
> -    if (qn->lower == 1 && tlen > QUANTIFIER_EXPAND_LIMIT_SIZE) {
> -      r = add_op(reg, OP_JUMP);
> -      if (r != 0) return r;
> -      if (qn->greedy) {
> -#ifdef USE_OP_PUSH_OR_JUMP_EXACT
> -        if (IS_NOT_NULL(qn->head_exact))
> -          COP(reg)->jump.addr = SIZE_OP_PUSH_OR_JUMP_EXACT1 +
> SIZE_INC_OP;
> -        else
> -#endif
> -        if (IS_NOT_NULL(qn->next_head_exact))
> -          COP(reg)->jump.addr = SIZE_OP_PUSH_IF_PEEK_NEXT + SIZE_INC_OP;
> -        else
> -          COP(reg)->jump.addr = SIZE_OP_PUSH + SIZE_INC_OP;
> -      }
> -      else {
> -        COP(reg)->jump.addr = SIZE_OP_JUMP + SIZE_INC_OP;
> -      }
> -    }
> -    else {
> -      r = compile_tree_n_times(NODE_QUANT_BODY(qn), qn->lower, reg,
> env);
> -      if (r != 0) return r;
> -    }
> -
> -    if (qn->greedy) {
> -#ifdef USE_OP_PUSH_OR_JUMP_EXACT
> -      if (IS_NOT_NULL(qn->head_exact)) {
> -        r = add_op(reg, OP_PUSH_OR_JUMP_EXACT1);
> -        if (r != 0) return r;
> -        COP(reg)->push_or_jump_exact1.addr = SIZE_INC_OP + mod_tlen +
> SIZE_OP_JUMP;
> -        COP(reg)->push_or_jump_exact1.c    = STR_(qn->head_exact)->s[0];
> -
> -        r = compile_tree_empty_check(NODE_QUANT_BODY(qn), reg,
> emptiness, env);
> -        if (r != 0) return r;
> -
> -        addr = -(mod_tlen + (int )SIZE_OP_PUSH_OR_JUMP_EXACT1);
> -      }
> -      else
> -#endif
> -      if (IS_NOT_NULL(qn->next_head_exact)) {
> -        r = add_op(reg, OP_PUSH_IF_PEEK_NEXT);
> -        if (r != 0) return r;
> -        COP(reg)->push_if_peek_next.addr = SIZE_INC_OP + mod_tlen +
> SIZE_OP_JUMP;
> -        COP(reg)->push_if_peek_next.c    = STR_(qn->next_head_exact)->s[0];
> -
> -        r = compile_tree_empty_check(NODE_QUANT_BODY(qn), reg,
> emptiness, env);
> -        if (r != 0) return r;
> -
> -        addr = -(mod_tlen + (int )SIZE_OP_PUSH_IF_PEEK_NEXT);
> -      }
> -      else {
> -        r = add_op(reg, OP_PUSH);
> -        if (r != 0) return r;
> -        COP(reg)->push.addr = SIZE_INC_OP + mod_tlen + SIZE_OP_JUMP;
> -
> -        r = compile_tree_empty_check(NODE_QUANT_BODY(qn), reg,
> emptiness, env);
> -        if (r != 0) return r;
> -
> -        addr = -(mod_tlen + (int )SIZE_OP_PUSH);
> -      }
> -
> -      r = add_op(reg, OP_JUMP);
> -      if (r != 0) return r;
> -      COP(reg)->jump.addr = addr;
> -    }
> -    else {
> -      r = add_op(reg, OP_JUMP);
> -      if (r != 0) return r;
> -      COP(reg)->jump.addr = mod_tlen + SIZE_INC_OP;
> -
> -      r = compile_tree_empty_check(NODE_QUANT_BODY(qn), reg,
> emptiness, env);
> -      if (r != 0) return r;
> -
> -      r = add_op(reg, OP_PUSH);
> -      if (r != 0) return r;
> -      COP(reg)->push.addr = -mod_tlen;
> -    }
> -  }
> -  else if (qn->upper == 0) {
> -    if (qn->is_refered != 0) { /* /(?<n>..){0}/ */
> -      r = add_op(reg, OP_JUMP);
> -      if (r != 0) return r;
> -      COP(reg)->jump.addr = tlen + SIZE_INC_OP;
> -
> -      r = compile_tree(NODE_QUANT_BODY(qn), reg, env);
> -    }
> -    else {
> -      /* Nothing output */
> -      r = 0;
> -    }
> -  }
> -  else if (! infinite && qn->greedy &&
> -           (qn->upper == 1 ||
> -            int_multiply_cmp(tlen + SIZE_OP_PUSH, qn->upper,
> -                             QUANTIFIER_EXPAND_LIMIT_SIZE) <= 0)) {
> -    int n = qn->upper - qn->lower;
> -
> -    r = compile_tree_n_times(NODE_QUANT_BODY(qn), qn->lower, reg,
> env);
> -    if (r != 0) return r;
> -
> -    for (i = 0; i < n; i++) {
> -      int v = onig_positive_int_multiply(n - i, tlen + SIZE_OP_PUSH);
> -      if (v < 0) return ONIGERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE;
> -
> -      r = add_op(reg, OP_PUSH);
> -      if (r != 0) return r;
> -      COP(reg)->push.addr = v;
> -
> -      r = compile_tree(NODE_QUANT_BODY(qn), reg, env);
> -      if (r != 0) return r;
> -    }
> -  }
> -  else if (! qn->greedy && qn->upper == 1 && qn->lower == 0) { /* '??' */
> -    r = add_op(reg, OP_PUSH);
> -    if (r != 0) return r;
> -    COP(reg)->push.addr = SIZE_INC_OP + SIZE_OP_JUMP;
> -
> -    r = add_op(reg, OP_JUMP);
> -    if (r != 0) return r;
> -    COP(reg)->jump.addr = tlen + SIZE_INC_OP;
> -
> -    r = compile_tree(NODE_QUANT_BODY(qn), reg, env);
> -  }
> -  else {
> -    r = compile_range_repeat_node(qn, mod_tlen, emptiness, reg, env);
> -  }
> -  return r;
> -}
> -
> -static int
> -compile_length_option_node(BagNode* node, regex_t* reg)
> -{
> -  int tlen;
> -  OnigOptionType prev = reg->options;
> -
> -  reg->options = node->o.options;
> -  tlen = compile_length_tree(NODE_BAG_BODY(node), reg);
> -  reg->options = prev;
> -
> -  return tlen;
> -}
> -
> -static int
> -compile_option_node(BagNode* node, regex_t* reg, ScanEnv* env)
> -{
> -  int r;
> -  OnigOptionType prev = reg->options;
> -
> -  reg->options = node->o.options;
> -  r = compile_tree(NODE_BAG_BODY(node), reg, env);
> -  reg->options = prev;
> -
> -  return r;
> -}
> -
> -static int
> -compile_length_bag_node(BagNode* node, regex_t* reg)
> -{
> -  int len;
> -  int tlen;
> -
> -  if (node->type == BAG_OPTION)
> -    return compile_length_option_node(node, reg);
> -
> -  if (NODE_BAG_BODY(node)) {
> -    tlen = compile_length_tree(NODE_BAG_BODY(node), reg);
> -    if (tlen < 0) return tlen;
> -  }
> -  else
> -    tlen = 0;
> -
> -  switch (node->type) {
> -  case BAG_MEMORY:
> -#ifdef USE_CALL
> -
> -    if (node->m.regnum == 0 && NODE_IS_CALLED(node)) {
> -      len = tlen + SIZE_OP_CALL + SIZE_OP_JUMP + SIZE_OP_RETURN;
> -      return len;
> -    }
> -
> -    if (NODE_IS_CALLED(node)) {
> -      len = SIZE_OP_MEMORY_START_PUSH + tlen
> -        + SIZE_OP_CALL + SIZE_OP_JUMP + SIZE_OP_RETURN;
> -      if (MEM_STATUS_AT0(reg->bt_mem_end, node->m.regnum))
> -        len += (NODE_IS_RECURSION(node)
> -                ? SIZE_OP_MEMORY_END_PUSH_REC :
> SIZE_OP_MEMORY_END_PUSH);
> -      else
> -        len += (NODE_IS_RECURSION(node)
> -                ? SIZE_OP_MEMORY_END_REC : SIZE_OP_MEMORY_END);
> -    }
> -    else if (NODE_IS_RECURSION(node)) {
> -      len = SIZE_OP_MEMORY_START_PUSH;
> -      len += tlen + (MEM_STATUS_AT0(reg->bt_mem_end, node->m.regnum)
> -                     ? SIZE_OP_MEMORY_END_PUSH_REC :
> SIZE_OP_MEMORY_END_REC);
> -    }
> -    else
> -#endif
> -    {
> -      if (MEM_STATUS_AT0(reg->bt_mem_start, node->m.regnum))
> -        len = SIZE_OP_MEMORY_START_PUSH;
> -      else
> -        len = SIZE_OP_MEMORY_START;
> -
> -      len += tlen + (MEM_STATUS_AT0(reg->bt_mem_end, node->m.regnum)
> -                     ? SIZE_OP_MEMORY_END_PUSH : SIZE_OP_MEMORY_END);
> -    }
> -    break;
> -
> -  case BAG_STOP_BACKTRACK:
> -    if (NODE_IS_STRICT_REAL_REPEAT(node)) {
> -      int v;
> -      QuantNode* qn;
> -
> -      qn = QUANT_(NODE_BAG_BODY(node));
> -      tlen = compile_length_tree(NODE_QUANT_BODY(qn), reg);
> -      if (tlen < 0) return tlen;
> -
> -      v = onig_positive_int_multiply(qn->lower, tlen);
> -      if (v < 0) return ONIGERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE;
> -      len = v + SIZE_OP_PUSH + tlen + SIZE_OP_POP_OUT + SIZE_OP_JUMP;
> -    }
> -    else {
> -      len = SIZE_OP_ATOMIC_START + tlen + SIZE_OP_ATOMIC_END;
> -    }
> -    break;
> -
> -  case BAG_IF_ELSE:
> -    {
> -      Node* cond = NODE_BAG_BODY(node);
> -      Node* Then = node->te.Then;
> -      Node* Else = node->te.Else;
> -
> -      len = compile_length_tree(cond, reg);
> -      if (len < 0) return len;
> -      len += SIZE_OP_PUSH;
> -      len += SIZE_OP_ATOMIC_START + SIZE_OP_ATOMIC_END;
> -
> -      if (IS_NOT_NULL(Then)) {
> -        tlen = compile_length_tree(Then, reg);
> -        if (tlen < 0) return tlen;
> -        len += tlen;
> -      }
> -
> -      len += SIZE_OP_JUMP + SIZE_OP_ATOMIC_END;
> -
> -      if (IS_NOT_NULL(Else)) {
> -        tlen = compile_length_tree(Else, reg);
> -        if (tlen < 0) return tlen;
> -        len += tlen;
> -      }
> -    }
> -    break;
> -
> -  case BAG_OPTION:
> -    /* never come here, but set for escape warning */
> -    len = 0;
> -    break;
> -  }
> -
> -  return len;
> -}
> -
> -static int get_char_len_node(Node* node, regex_t* reg, int* len);
> -
> -static int
> -compile_bag_memory_node(BagNode* node, regex_t* reg, ScanEnv* env)
> -{
> -  int r;
> -  int len;
> -
> -#ifdef USE_CALL
> -  if (NODE_IS_CALLED(node)) {
> -    r = add_op(reg, OP_CALL);
> -    if (r != 0) return r;
> -
> -    node->m.called_addr = COP_CURR_OFFSET(reg) + 1 + SIZE_OP_JUMP;
> -    NODE_STATUS_ADD(node, ADDR_FIXED);
> -    COP(reg)->call.addr = (int )node->m.called_addr;
> -
> -    if (node->m.regnum == 0) {
> -      len = compile_length_tree(NODE_BAG_BODY(node), reg);
> -      len += SIZE_OP_RETURN;
> -
> -      r = add_op(reg, OP_JUMP);
> -      if (r != 0) return r;
> -      COP(reg)->jump.addr = len + SIZE_INC_OP;
> -
> -      r = compile_tree(NODE_BAG_BODY(node), reg, env);
> -      if (r != 0) return r;
> -
> -      r = add_op(reg, OP_RETURN);
> -      return r;
> -    }
> -    else {
> -      len = compile_length_tree(NODE_BAG_BODY(node), reg);
> -      len += (SIZE_OP_MEMORY_START_PUSH + SIZE_OP_RETURN);
> -      if (MEM_STATUS_AT0(reg->bt_mem_end, node->m.regnum))
> -        len += (NODE_IS_RECURSION(node)
> -                ? SIZE_OP_MEMORY_END_PUSH_REC :
> SIZE_OP_MEMORY_END_PUSH);
> -      else
> -        len += (NODE_IS_RECURSION(node)
> -                ? SIZE_OP_MEMORY_END_REC : SIZE_OP_MEMORY_END);
> -
> -      r = add_op(reg, OP_JUMP);
> -      if (r != 0) return r;
> -      COP(reg)->jump.addr = len + SIZE_INC_OP;
> -    }
> -  }
> -#endif
> -
> -  if (MEM_STATUS_AT0(reg->bt_mem_start, node->m.regnum))
> -    r = add_op(reg, OP_MEMORY_START_PUSH);
> -  else
> -    r = add_op(reg, OP_MEMORY_START);
> -  if (r != 0) return r;
> -  COP(reg)->memory_start.num = node->m.regnum;
> -
> -  r = compile_tree(NODE_BAG_BODY(node), reg, env);
> -  if (r != 0) return r;
> -
> -#ifdef USE_CALL
> -  if (MEM_STATUS_AT0(reg->bt_mem_end, node->m.regnum))
> -    r = add_op(reg, (NODE_IS_RECURSION(node)
> -                     ? OP_MEMORY_END_PUSH_REC : OP_MEMORY_END_PUSH));
> -  else
> -    r = add_op(reg, (NODE_IS_RECURSION(node) ? OP_MEMORY_END_REC :
> OP_MEMORY_END));
> -  if (r != 0) return r;
> -  COP(reg)->memory_end.num = node->m.regnum;
> -
> -  if (NODE_IS_CALLED(node)) {
> -    if (r != 0) return r;
> -    r = add_op(reg, OP_RETURN);
> -  }
> -#else
> -  if (MEM_STATUS_AT0(reg->bt_mem_end, node->m.regnum))
> -    r = add_op(reg, OP_MEMORY_END_PUSH);
> -  else
> -    r = add_op(reg, OP_MEMORY_END);
> -  if (r != 0) return r;
> -  COP(reg)->memory_end.num = node->m.regnum;
> -#endif
> -
> -  return r;
> -}
> -
> -static int
> -compile_bag_node(BagNode* node, regex_t* reg, ScanEnv* env)
> -{
> -  int r, len;
> -
> -  switch (node->type) {
> -  case BAG_MEMORY:
> -    r = compile_bag_memory_node(node, reg, env);
> -    break;
> -
> -  case BAG_OPTION:
> -    r = compile_option_node(node, reg, env);
> -    break;
> -
> -  case BAG_STOP_BACKTRACK:
> -    if (NODE_IS_STRICT_REAL_REPEAT(node)) {
> -      QuantNode* qn = QUANT_(NODE_BAG_BODY(node));
> -      r = compile_tree_n_times(NODE_QUANT_BODY(qn), qn->lower, reg,
> env);
> -      if (r != 0) return r;
> -
> -      len = compile_length_tree(NODE_QUANT_BODY(qn), reg);
> -      if (len < 0) return len;
> -
> -      r = add_op(reg, OP_PUSH);
> -      if (r != 0) return r;
> -      COP(reg)->push.addr = SIZE_INC_OP + len + SIZE_OP_POP_OUT +
> SIZE_OP_JUMP;
> -
> -      r = compile_tree(NODE_QUANT_BODY(qn), reg, env);
> -      if (r != 0) return r;
> -      r = add_op(reg, OP_POP_OUT);
> -      if (r != 0) return r;
> -
> -      r = add_op(reg, OP_JUMP);
> -      if (r != 0) return r;
> -      COP(reg)->jump.addr = -((int )SIZE_OP_PUSH + len +
> (int )SIZE_OP_POP_OUT);
> -    }
> -    else {
> -      r = add_op(reg, OP_ATOMIC_START);
> -      if (r != 0) return r;
> -      r = compile_tree(NODE_BAG_BODY(node), reg, env);
> -      if (r != 0) return r;
> -      r = add_op(reg, OP_ATOMIC_END);
> -    }
> -    break;
> -
> -  case BAG_IF_ELSE:
> -    {
> -      int cond_len, then_len, else_len, jump_len;
> -      Node* cond = NODE_BAG_BODY(node);
> -      Node* Then = node->te.Then;
> -      Node* Else = node->te.Else;
> -
> -      r = add_op(reg, OP_ATOMIC_START);
> -      if (r != 0) return r;
> -
> -      cond_len = compile_length_tree(cond, reg);
> -      if (cond_len < 0) return cond_len;
> -      if (IS_NOT_NULL(Then)) {
> -        then_len = compile_length_tree(Then, reg);
> -        if (then_len < 0) return then_len;
> -      }
> -      else
> -        then_len = 0;
> -
> -      jump_len = cond_len + then_len + SIZE_OP_ATOMIC_END +
> SIZE_OP_JUMP;
> -
> -      r = add_op(reg, OP_PUSH);
> -      if (r != 0) return r;
> -      COP(reg)->push.addr = SIZE_INC_OP + jump_len;
> -
> -      r = compile_tree(cond, reg, env);
> -      if (r != 0) return r;
> -      r = add_op(reg, OP_ATOMIC_END);
> -      if (r != 0) return r;
> -
> -      if (IS_NOT_NULL(Then)) {
> -        r = compile_tree(Then, reg, env);
> -        if (r != 0) return r;
> -      }
> -
> -      if (IS_NOT_NULL(Else)) {
> -        else_len = compile_length_tree(Else, reg);
> -        if (else_len < 0) return else_len;
> -      }
> -      else
> -        else_len = 0;
> -
> -      r = add_op(reg, OP_JUMP);
> -      if (r != 0) return r;
> -      COP(reg)->jump.addr = SIZE_OP_ATOMIC_END + else_len +
> SIZE_INC_OP;
> -
> -      r = add_op(reg, OP_ATOMIC_END);
> -      if (r != 0) return r;
> -
> -      if (IS_NOT_NULL(Else)) {
> -        r = compile_tree(Else, reg, env);
> -      }
> -    }
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -compile_length_anchor_node(AnchorNode* node, regex_t* reg)
> -{
> -  int len;
> -  int tlen = 0;
> -
> -  if (IS_NOT_NULL(NODE_ANCHOR_BODY(node))) {
> -    tlen = compile_length_tree(NODE_ANCHOR_BODY(node), reg);
> -    if (tlen < 0) return tlen;
> -  }
> -
> -  switch (node->type) {
> -  case ANCR_PREC_READ:
> -    len = SIZE_OP_PREC_READ_START + tlen + SIZE_OP_PREC_READ_END;
> -    break;
> -  case ANCR_PREC_READ_NOT:
> -    len = SIZE_OP_PREC_READ_NOT_START + tlen +
> SIZE_OP_PREC_READ_NOT_END;
> -    break;
> -  case ANCR_LOOK_BEHIND:
> -    len = SIZE_OP_LOOK_BEHIND + tlen;
> -    break;
> -  case ANCR_LOOK_BEHIND_NOT:
> -    len = SIZE_OP_LOOK_BEHIND_NOT_START + tlen +
> SIZE_OP_LOOK_BEHIND_NOT_END;
> -    break;
> -
> -  case ANCR_WORD_BOUNDARY:
> -  case ANCR_NO_WORD_BOUNDARY:
> -#ifdef USE_WORD_BEGIN_END
> -  case ANCR_WORD_BEGIN:
> -  case ANCR_WORD_END:
> -#endif
> -    len = SIZE_OP_WORD_BOUNDARY;
> -    break;
> -
> -  case ANCR_TEXT_SEGMENT_BOUNDARY:
> -  case ANCR_NO_TEXT_SEGMENT_BOUNDARY:
> -    len = SIZE_OPCODE;
> -    break;
> -
> -  default:
> -    len = SIZE_OPCODE;
> -    break;
> -  }
> -
> -  return len;
> -}
> -
> -static int
> -compile_anchor_node(AnchorNode* node, regex_t* reg, ScanEnv* env)
> -{
> -  int r, len;
> -  enum OpCode op;
> -
> -  switch (node->type) {
> -  case ANCR_BEGIN_BUF:      r = add_op(reg, OP_BEGIN_BUF);      break;
> -  case ANCR_END_BUF:        r = add_op(reg, OP_END_BUF);        break;
> -  case ANCR_BEGIN_LINE:     r = add_op(reg, OP_BEGIN_LINE);     break;
> -  case ANCR_END_LINE:       r = add_op(reg, OP_END_LINE);       break;
> -  case ANCR_SEMI_END_BUF:   r = add_op(reg, OP_SEMI_END_BUF);   break;
> -  case ANCR_BEGIN_POSITION: r = add_op(reg, OP_BEGIN_POSITION);
> break;
> -
> -  case ANCR_WORD_BOUNDARY:
> -    op = OP_WORD_BOUNDARY;
> -  word:
> -    r = add_op(reg, op);
> -    if (r != 0) return r;
> -    COP(reg)->word_boundary.mode = (ModeType )node->ascii_mode;
> -    break;
> -
> -  case ANCR_NO_WORD_BOUNDARY:
> -    op = OP_NO_WORD_BOUNDARY; goto word;
> -    break;
> -#ifdef USE_WORD_BEGIN_END
> -  case ANCR_WORD_BEGIN:
> -    op = OP_WORD_BEGIN; goto word;
> -    break;
> -  case ANCR_WORD_END:
> -    op = OP_WORD_END; goto word;
> -    break;
> -#endif
> -
> -  case ANCR_TEXT_SEGMENT_BOUNDARY:
> -  case ANCR_NO_TEXT_SEGMENT_BOUNDARY:
> -    {
> -      enum TextSegmentBoundaryType type;
> -
> -      r = add_op(reg, OP_TEXT_SEGMENT_BOUNDARY);
> -      if (r != 0) return r;
> -
> -      type = EXTENDED_GRAPHEME_CLUSTER_BOUNDARY;
> -#ifdef USE_UNICODE_WORD_BREAK
> -      if (ONIG_IS_OPTION_ON(reg->options,
> ONIG_OPTION_TEXT_SEGMENT_WORD))
> -        type = WORD_BOUNDARY;
> -#endif
> -
> -      COP(reg)->text_segment_boundary.type = type;
> -      COP(reg)->text_segment_boundary.not =
> -        (node->type == ANCR_NO_TEXT_SEGMENT_BOUNDARY ? 1 : 0);
> -    }
> -    break;
> -
> -  case ANCR_PREC_READ:
> -    r = add_op(reg, OP_PREC_READ_START);
> -    if (r != 0) return r;
> -    r = compile_tree(NODE_ANCHOR_BODY(node), reg, env);
> -    if (r != 0) return r;
> -    r = add_op(reg, OP_PREC_READ_END);
> -    break;
> -
> -  case ANCR_PREC_READ_NOT:
> -    len = compile_length_tree(NODE_ANCHOR_BODY(node), reg);
> -    if (len < 0) return len;
> -
> -    r = add_op(reg, OP_PREC_READ_NOT_START);
> -    if (r != 0) return r;
> -    COP(reg)->prec_read_not_start.addr = SIZE_INC_OP + len +
> SIZE_OP_PREC_READ_NOT_END;
> -    r = compile_tree(NODE_ANCHOR_BODY(node), reg, env);
> -    if (r != 0) return r;
> -    r = add_op(reg, OP_PREC_READ_NOT_END);
> -    break;
> -
> -  case ANCR_LOOK_BEHIND:
> -    {
> -      int n;
> -      r = add_op(reg, OP_LOOK_BEHIND);
> -      if (r != 0) return r;
> -      if (node->char_len < 0) {
> -        r = get_char_len_node(NODE_ANCHOR_BODY(node), reg, &n);
> -        if (r != 0) return ONIGERR_INVALID_LOOK_BEHIND_PATTERN;
> -      }
> -      else
> -        n = node->char_len;
> -
> -      COP(reg)->look_behind.len = n;
> -      r = compile_tree(NODE_ANCHOR_BODY(node), reg, env);
> -    }
> -    break;
> -
> -  case ANCR_LOOK_BEHIND_NOT:
> -    {
> -      int n;
> -
> -      len = compile_length_tree(NODE_ANCHOR_BODY(node), reg);
> -      r = add_op(reg, OP_LOOK_BEHIND_NOT_START);
> -      if (r != 0) return r;
> -      COP(reg)->look_behind_not_start.addr = SIZE_INC_OP + len +
> SIZE_OP_LOOK_BEHIND_NOT_END;
> -
> -      if (node->char_len < 0) {
> -        r = get_char_len_node(NODE_ANCHOR_BODY(node), reg, &n);
> -        if (r != 0) return ONIGERR_INVALID_LOOK_BEHIND_PATTERN;
> -      }
> -      else
> -        n = node->char_len;
> -
> -      COP(reg)->look_behind_not_start.len = n;
> -
> -      r = compile_tree(NODE_ANCHOR_BODY(node), reg, env);
> -      if (r != 0) return r;
> -      r = add_op(reg, OP_LOOK_BEHIND_NOT_END);
> -    }
> -    break;
> -
> -  default:
> -    return ONIGERR_TYPE_BUG;
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -compile_gimmick_node(GimmickNode* node, regex_t* reg)
> -{
> -  int r;
> -
> -  switch (node->type) {
> -  case GIMMICK_FAIL:
> -    r = add_op(reg, OP_FAIL);
> -    break;
> -
> -  case GIMMICK_SAVE:
> -    r = add_op(reg, OP_PUSH_SAVE_VAL);
> -    if (r != 0) return r;
> -    COP(reg)->push_save_val.type = node->detail_type;
> -    COP(reg)->push_save_val.id   = node->id;
> -    break;
> -
> -  case GIMMICK_UPDATE_VAR:
> -    r = add_op(reg, OP_UPDATE_VAR);
> -    if (r != 0) return r;
> -    COP(reg)->update_var.type = node->detail_type;
> -    COP(reg)->update_var.id   = node->id;
> -    break;
> -
> -#ifdef USE_CALLOUT
> -  case GIMMICK_CALLOUT:
> -    switch (node->detail_type) {
> -    case ONIG_CALLOUT_OF_CONTENTS:
> -    case ONIG_CALLOUT_OF_NAME:
> -      {
> -        if (node->detail_type == ONIG_CALLOUT_OF_NAME) {
> -          r = add_op(reg, OP_CALLOUT_NAME);
> -          if (r != 0) return r;
> -          COP(reg)->callout_name.id  = node->id;
> -          COP(reg)->callout_name.num = node->num;
> -        }
> -        else {
> -          r = add_op(reg, OP_CALLOUT_CONTENTS);
> -          if (r != 0) return r;
> -          COP(reg)->callout_contents.num = node->num;
> -        }
> -      }
> -      break;
> -
> -    default:
> -      r = ONIGERR_TYPE_BUG;
> -      break;
> -    }
> -#endif
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -compile_length_gimmick_node(GimmickNode* node, regex_t* reg)
> -{
> -  int len;
> -
> -  switch (node->type) {
> -  case GIMMICK_FAIL:
> -    len = SIZE_OP_FAIL;
> -    break;
> -
> -  case GIMMICK_SAVE:
> -    len = SIZE_OP_PUSH_SAVE_VAL;
> -    break;
> -
> -  case GIMMICK_UPDATE_VAR:
> -    len = SIZE_OP_UPDATE_VAR;
> -    break;
> -
> -#ifdef USE_CALLOUT
> -  case GIMMICK_CALLOUT:
> -    switch (node->detail_type) {
> -    case ONIG_CALLOUT_OF_CONTENTS:
> -      len = SIZE_OP_CALLOUT_CONTENTS;
> -      break;
> -    case ONIG_CALLOUT_OF_NAME:
> -      len = SIZE_OP_CALLOUT_NAME;
> -      break;
> -
> -    default:
> -      len = ONIGERR_TYPE_BUG;
> -      break;
> -    }
> -    break;
> -#endif
> -  }
> -
> -  return len;
> -}
> -
> -static int
> -compile_length_tree(Node* node, regex_t* reg)
> -{
> -  int len, r;
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -    len = 0;
> -    do {
> -      r = compile_length_tree(NODE_CAR(node), reg);
> -      if (r < 0) return r;
> -      len += r;
> -    } while (IS_NOT_NULL(node = NODE_CDR(node)));
> -    r = len;
> -    break;
> -
> -  case NODE_ALT:
> -    {
> -      int n;
> -
> -      n = r = 0;
> -      do {
> -        r += compile_length_tree(NODE_CAR(node), reg);
> -        n++;
> -      } while (IS_NOT_NULL(node = NODE_CDR(node)));
> -      r += (SIZE_OP_PUSH + SIZE_OP_JUMP) * (n - 1);
> -    }
> -    break;
> -
> -  case NODE_STRING:
> -    if (NODE_STRING_IS_RAW(node))
> -      r = compile_length_string_raw_node(STR_(node), reg);
> -    else
> -      r = compile_length_string_node(node, reg);
> -    break;
> -
> -  case NODE_CCLASS:
> -    r = compile_length_cclass_node(CCLASS_(node), reg);
> -    break;
> -
> -  case NODE_CTYPE:
> -    r = SIZE_OPCODE;
> -    break;
> -
> -  case NODE_BACKREF:
> -    r = SIZE_OP_BACKREF;
> -    break;
> -
> -#ifdef USE_CALL
> -  case NODE_CALL:
> -    r = SIZE_OP_CALL;
> -    break;
> -#endif
> -
> -  case NODE_QUANT:
> -    r = compile_length_quantifier_node(QUANT_(node), reg);
> -    break;
> -
> -  case NODE_BAG:
> -    r = compile_length_bag_node(BAG_(node), reg);
> -    break;
> -
> -  case NODE_ANCHOR:
> -    r = compile_length_anchor_node(ANCHOR_(node), reg);
> -    break;
> -
> -  case NODE_GIMMICK:
> -    r = compile_length_gimmick_node(GIMMICK_(node), reg);
> -    break;
> -
> -  default:
> -    return ONIGERR_TYPE_BUG;
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -compile_tree(Node* node, regex_t* reg, ScanEnv* env)
> -{
> -  int n, len, pos, r = 0;
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -    do {
> -      r = compile_tree(NODE_CAR(node), reg, env);
> -    } while (r == 0 && IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_ALT:
> -    {
> -      Node* x = node;
> -      len = 0;
> -      do {
> -        len += compile_length_tree(NODE_CAR(x), reg);
> -        if (IS_NOT_NULL(NODE_CDR(x))) {
> -          len += SIZE_OP_PUSH + SIZE_OP_JUMP;
> -        }
> -      } while (IS_NOT_NULL(x = NODE_CDR(x)));
> -      pos = COP_CURR_OFFSET(reg) + 1 + len;  /* goal position */
> -
> -      do {
> -        len = compile_length_tree(NODE_CAR(node), reg);
> -        if (IS_NOT_NULL(NODE_CDR(node))) {
> -          enum OpCode push = NODE_IS_SUPER(node) ? OP_PUSH_SUPER :
> OP_PUSH;
> -          r = add_op(reg, push);
> -          if (r != 0) break;
> -          COP(reg)->push.addr = SIZE_INC_OP + len + SIZE_OP_JUMP;
> -        }
> -        r = compile_tree(NODE_CAR(node), reg, env);
> -        if (r != 0) break;
> -        if (IS_NOT_NULL(NODE_CDR(node))) {
> -          len = pos - (COP_CURR_OFFSET(reg) + 1);
> -          r = add_op(reg, OP_JUMP);
> -          if (r != 0) break;
> -          COP(reg)->jump.addr = len;
> -        }
> -      } while (IS_NOT_NULL(node = NODE_CDR(node)));
> -    }
> -    break;
> -
> -  case NODE_STRING:
> -    if (NODE_STRING_IS_RAW(node))
> -      r = compile_string_raw_node(STR_(node), reg);
> -    else
> -      r = compile_string_node(node, reg);
> -    break;
> -
> -  case NODE_CCLASS:
> -    r = compile_cclass_node(CCLASS_(node), reg);
> -    break;
> -
> -  case NODE_CTYPE:
> -    {
> -      int op;
> -
> -      switch (CTYPE_(node)->ctype) {
> -      case CTYPE_ANYCHAR:
> -        r = add_op(reg, IS_MULTILINE(CTYPE_OPTION(node, reg)) ?
> -                   OP_ANYCHAR_ML : OP_ANYCHAR);
> -        break;
> -
> -      case ONIGENC_CTYPE_WORD:
> -        if (CTYPE_(node)->ascii_mode == 0) {
> -          op = CTYPE_(node)->not != 0 ? OP_NO_WORD : OP_WORD;
> -        }
> -        else {
> -          op = CTYPE_(node)->not != 0 ? OP_NO_WORD_ASCII :
> OP_WORD_ASCII;
> -        }
> -        r = add_op(reg, op);
> -        break;
> -
> -      default:
> -        return ONIGERR_TYPE_BUG;
> -        break;
> -      }
> -    }
> -    break;
> -
> -  case NODE_BACKREF:
> -    {
> -      BackRefNode* br = BACKREF_(node);
> -
> -      if (NODE_IS_CHECKER(node)) {
> -#ifdef USE_BACKREF_WITH_LEVEL
> -        if (NODE_IS_NEST_LEVEL(node)) {
> -          r = add_op(reg, OP_BACKREF_CHECK_WITH_LEVEL);
> -          if (r != 0) return r;
> -          COP(reg)->backref_general.nest_level = br->nest_level;
> -        }
> -        else
> -#endif
> -          {
> -            r = add_op(reg, OP_BACKREF_CHECK);
> -            if (r != 0) return r;
> -          }
> -        goto add_bacref_mems;
> -      }
> -      else {
> -#ifdef USE_BACKREF_WITH_LEVEL
> -        if (NODE_IS_NEST_LEVEL(node)) {
> -          if ((reg->options & ONIG_OPTION_IGNORECASE) != 0)
> -            r = add_op(reg, OP_BACKREF_WITH_LEVEL_IC);
> -          else
> -            r = add_op(reg, OP_BACKREF_WITH_LEVEL);
> -
> -          if (r != 0) return r;
> -          COP(reg)->backref_general.nest_level = br->nest_level;
> -          goto add_bacref_mems;
> -        }
> -        else
> -#endif
> -        if (br->back_num == 1) {
> -          n = br->back_static[0];
> -          if (IS_IGNORECASE(reg->options)) {
> -            r = add_op(reg, OP_BACKREF_N_IC);
> -            if (r != 0) return r;
> -            COP(reg)->backref_n.n1 = n;
> -          }
> -          else {
> -            switch (n) {
> -            case 1:  r = add_op(reg, OP_BACKREF1); break;
> -            case 2:  r = add_op(reg, OP_BACKREF2); break;
> -            default:
> -              r = add_op(reg, OP_BACKREF_N);
> -              if (r != 0) return r;
> -              COP(reg)->backref_n.n1 = n;
> -              break;
> -            }
> -          }
> -        }
> -        else {
> -          int num;
> -          int* p;
> -
> -          r = add_op(reg, IS_IGNORECASE(reg->options) ?
> -                     OP_BACKREF_MULTI_IC : OP_BACKREF_MULTI);
> -          if (r != 0) return r;
> -
> -        add_bacref_mems:
> -          num = br->back_num;
> -          COP(reg)->backref_general.num = num;
> -          if (num == 1) {
> -            COP(reg)->backref_general.n1 = br->back_static[0];
> -          }
> -          else {
> -            int i, j;
> -            MemNumType* ns;
> -
> -            ns = xmalloc(sizeof(MemNumType) * num);
> -            CHECK_NULL_RETURN_MEMERR(ns);
> -            COP(reg)->backref_general.ns = ns;
> -            p = BACKREFS_P(br);
> -            for (i = num - 1, j = 0; i >= 0; i--, j++) {
> -              ns[j] = p[i];
> -            }
> -          }
> -        }
> -      }
> -    }
> -    break;
> -
> -#ifdef USE_CALL
> -  case NODE_CALL:
> -    r = compile_call(CALL_(node), reg, env);
> -    break;
> -#endif
> -
> -  case NODE_QUANT:
> -    r = compile_quantifier_node(QUANT_(node), reg, env);
> -    break;
> -
> -  case NODE_BAG:
> -    r = compile_bag_node(BAG_(node), reg, env);
> -    break;
> -
> -  case NODE_ANCHOR:
> -    r = compile_anchor_node(ANCHOR_(node), reg, env);
> -    break;
> -
> -  case NODE_GIMMICK:
> -    r = compile_gimmick_node(GIMMICK_(node), reg);
> -    break;
> -
> -  default:
> -#ifdef ONIG_DEBUG
> -    fprintf(stderr, "compile_tree: undefined node type %d\n",
> NODE_TYPE(node));
> -#endif
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -noname_disable_map(Node** plink, GroupNumRemap* map, int* counter)
> -{
> -  int r = 0;
> -  Node* node = *plink;
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -  case NODE_ALT:
> -    do {
> -      r = noname_disable_map(&(NODE_CAR(node)), map, counter);
> -    } while (r == 0 && IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_QUANT:
> -    {
> -      Node** ptarget = &(NODE_BODY(node));
> -      Node*  old = *ptarget;
> -      r = noname_disable_map(ptarget, map, counter);
> -      if (*ptarget != old && NODE_TYPE(*ptarget) == NODE_QUANT) {
> -        onig_reduce_nested_quantifier(node, *ptarget);
> -      }
> -    }
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -      if (en->type == BAG_MEMORY) {
> -        if (NODE_IS_NAMED_GROUP(node)) {
> -          (*counter)++;
> -          map[en->m.regnum].new_val = *counter;
> -          en->m.regnum = *counter;
> -          r = noname_disable_map(&(NODE_BODY(node)), map, counter);
> -        }
> -        else {
> -          *plink = NODE_BODY(node);
> -          NODE_BODY(node) = NULL_NODE;
> -          onig_node_free(node);
> -          r = noname_disable_map(plink, map, counter);
> -        }
> -      }
> -      else if (en->type == BAG_IF_ELSE) {
> -        r = noname_disable_map(&(NODE_BAG_BODY(en)), map, counter);
> -        if (r != 0) return r;
> -        if (IS_NOT_NULL(en->te.Then)) {
> -          r = noname_disable_map(&(en->te.Then), map, counter);
> -          if (r != 0) return r;
> -        }
> -        if (IS_NOT_NULL(en->te.Else)) {
> -          r = noname_disable_map(&(en->te.Else), map, counter);
> -          if (r != 0) return r;
> -        }
> -      }
> -      else
> -        r = noname_disable_map(&(NODE_BODY(node)), map, counter);
> -    }
> -    break;
> -
> -  case NODE_ANCHOR:
> -    if (IS_NOT_NULL(NODE_BODY(node)))
> -      r = noname_disable_map(&(NODE_BODY(node)), map, counter);
> -    break;
> -
> -  default:
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -renumber_node_backref(Node* node, GroupNumRemap* map)
> -{
> -  int i, pos, n, old_num;
> -  int *backs;
> -  BackRefNode* bn = BACKREF_(node);
> -
> -  if (! NODE_IS_BY_NAME(node))
> -    return ONIGERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED;
> -
> -  old_num = bn->back_num;
> -  if (IS_NULL(bn->back_dynamic))
> -    backs = bn->back_static;
> -  else
> -    backs = bn->back_dynamic;
> -
> -  for (i = 0, pos = 0; i < old_num; i++) {
> -    n = map[backs[i]].new_val;
> -    if (n > 0) {
> -      backs[pos] = n;
> -      pos++;
> -    }
> -  }
> -
> -  bn->back_num = pos;
> -  return 0;
> -}
> -
> -static int
> -renumber_by_map(Node* node, GroupNumRemap* map)
> -{
> -  int r = 0;
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -  case NODE_ALT:
> -    do {
> -      r = renumber_by_map(NODE_CAR(node), map);
> -    } while (r == 0 && IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_QUANT:
> -    r = renumber_by_map(NODE_BODY(node), map);
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -
> -      r = renumber_by_map(NODE_BODY(node), map);
> -      if (r != 0) return r;
> -
> -      if (en->type == BAG_IF_ELSE) {
> -        if (IS_NOT_NULL(en->te.Then)) {
> -          r = renumber_by_map(en->te.Then, map);
> -          if (r != 0) return r;
> -        }
> -        if (IS_NOT_NULL(en->te.Else)) {
> -          r = renumber_by_map(en->te.Else, map);
> -          if (r != 0) return r;
> -        }
> -      }
> -    }
> -    break;
> -
> -  case NODE_BACKREF:
> -    r = renumber_node_backref(node, map);
> -    break;
> -
> -  case NODE_ANCHOR:
> -    if (IS_NOT_NULL(NODE_BODY(node)))
> -      r = renumber_by_map(NODE_BODY(node), map);
> -    break;
> -
> -  default:
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -numbered_ref_check(Node* node)
> -{
> -  int r = 0;
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -  case NODE_ALT:
> -    do {
> -      r = numbered_ref_check(NODE_CAR(node));
> -    } while (r == 0 && IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_ANCHOR:
> -    if (IS_NULL(NODE_BODY(node)))
> -      break;
> -    /* fall */
> -  case NODE_QUANT:
> -    r = numbered_ref_check(NODE_BODY(node));
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -
> -      r = numbered_ref_check(NODE_BODY(node));
> -      if (r != 0) return r;
> -
> -      if (en->type == BAG_IF_ELSE) {
> -        if (IS_NOT_NULL(en->te.Then)) {
> -          r = numbered_ref_check(en->te.Then);
> -          if (r != 0) return r;
> -        }
> -        if (IS_NOT_NULL(en->te.Else)) {
> -          r = numbered_ref_check(en->te.Else);
> -          if (r != 0) return r;
> -        }
> -      }
> -    }
> -
> -    break;
> -
> -  case NODE_BACKREF:
> -    if (! NODE_IS_BY_NAME(node))
> -      return ONIGERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED;
> -    break;
> -
> -  default:
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -disable_noname_group_capture(Node** root, regex_t* reg, ScanEnv* env)
> -{
> -  int r, i, pos, counter;
> -  int result;
> -  MemStatusType loc;
> -  GroupNumRemap* map;
> -
> -  map = (GroupNumRemap* )xmalloc(sizeof(GroupNumRemap) * (env-
> >num_mem + 1));
> -  CHECK_NULL_RETURN_MEMERR(map);
> -  for (i = 1; i <= env->num_mem; i++) {
> -    map[i].new_val = 0;
> -  }
> -  counter = 0;
> -  r = noname_disable_map(root, map, &counter);
> -  if (r != 0) return r;
> -
> -  r = renumber_by_map(*root, map);
> -  if (r != 0) return r;
> -
> -  for (i = 1, pos = 1; i <= env->num_mem; i++) {
> -    if (map[i].new_val > 0) {
> -      SCANENV_MEMENV(env)[pos] = SCANENV_MEMENV(env)[i];
> -      pos++;
> -    }
> -  }
> -
> -  loc = env->capture_history;
> -  MEM_STATUS_CLEAR(env->capture_history);
> -  for (i = 1; i <= ONIG_MAX_CAPTURE_HISTORY_GROUP; i++) {
> -    if (MEM_STATUS_AT(loc, i)) {
> -      MEM_STATUS_ON_SIMPLE(env->capture_history, map[i].new_val);
> -    }
> -  }
> -
> -  env->num_mem = env->num_named;
> -  reg->num_mem = env->num_named;
> -  result = onig_renumber_name_table(reg, map);
> -  xfree(map);
> -  return result;
> -}
> -
> -#ifdef USE_CALL
> -static int
> -fix_unset_addr_list(UnsetAddrList* uslist, regex_t* reg)
> -{
> -  int i, offset;
> -  BagNode* en;
> -  AbsAddrType addr;
> -  AbsAddrType* paddr;
> -
> -  for (i = 0; i < uslist->num; i++) {
> -    if (! NODE_IS_ADDR_FIXED(uslist->us[i].target))
> -      return ONIGERR_PARSER_BUG;
> -
> -    en = BAG_(uslist->us[i].target);
> -    addr   = en->m.called_addr;
> -    offset = uslist->us[i].offset;
> -
> -    paddr = (AbsAddrType* )((char* )reg->ops + offset);
> -    *paddr = addr;
> -  }
> -  return 0;
> -}
> -#endif
> -
> -
> -#define GET_CHAR_LEN_VARLEN           -1
> -#define GET_CHAR_LEN_TOP_ALT_VARLEN   -2
> -
> -/* fixed size pattern node only */
> -static int
> -get_char_len_node1(Node* node, regex_t* reg, int* len, int level)
> -{
> -  int tlen;
> -  int r = 0;
> -
> -  level++;
> -  *len = 0;
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -    do {
> -      r = get_char_len_node1(NODE_CAR(node), reg, &tlen, level);
> -      if (r == 0)
> -        *len = distance_add(*len, tlen);
> -    } while (r == 0 && IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_ALT:
> -    {
> -      int tlen2;
> -      int varlen = 0;
> -
> -      r = get_char_len_node1(NODE_CAR(node), reg, &tlen, level);
> -      while (r == 0 && IS_NOT_NULL(node = NODE_CDR(node))) {
> -        r = get_char_len_node1(NODE_CAR(node), reg, &tlen2, level);
> -        if (r == 0) {
> -          if (tlen != tlen2)
> -            varlen = 1;
> -        }
> -      }
> -      if (r == 0) {
> -        if (varlen != 0) {
> -          if (level == 1)
> -            r = GET_CHAR_LEN_TOP_ALT_VARLEN;
> -          else
> -            r = GET_CHAR_LEN_VARLEN;
> -        }
> -        else
> -          *len = tlen;
> -      }
> -    }
> -    break;
> -
> -  case NODE_STRING:
> -    {
> -      StrNode* sn = STR_(node);
> -      UChar *s = sn->s;
> -
> -      while (s < sn->end) {
> -        s += enclen(reg->enc, s);
> -        (*len)++;
> -      }
> -    }
> -    break;
> -
> -  case NODE_QUANT:
> -    {
> -      QuantNode* qn = QUANT_(node);
> -
> -      if (qn->lower == qn->upper) {
> -        if (qn->upper == 0) {
> -          *len = 0;
> -        }
> -        else {
> -          r = get_char_len_node1(NODE_BODY(node), reg, &tlen, level);
> -          if (r == 0)
> -            *len = distance_multiply(tlen, qn->lower);
> -        }
> -      }
> -      else
> -        r = GET_CHAR_LEN_VARLEN;
> -    }
> -    break;
> -
> -#ifdef USE_CALL
> -  case NODE_CALL:
> -    if (! NODE_IS_RECURSION(node))
> -      r = get_char_len_node1(NODE_BODY(node), reg, len, level);
> -    else
> -      r = GET_CHAR_LEN_VARLEN;
> -    break;
> -#endif
> -
> -  case NODE_CTYPE:
> -  case NODE_CCLASS:
> -    *len = 1;
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -
> -      switch (en->type) {
> -      case BAG_MEMORY:
> -#ifdef USE_CALL
> -        if (NODE_IS_CLEN_FIXED(node))
> -          *len = en->char_len;
> -        else {
> -          r = get_char_len_node1(NODE_BODY(node), reg, len, level);
> -          if (r == 0) {
> -            en->char_len = *len;
> -            NODE_STATUS_ADD(node, CLEN_FIXED);
> -          }
> -        }
> -        break;
> -#endif
> -      case BAG_OPTION:
> -      case BAG_STOP_BACKTRACK:
> -        r = get_char_len_node1(NODE_BODY(node), reg, len, level);
> -        break;
> -      case BAG_IF_ELSE:
> -        {
> -          int clen, elen;
> -
> -          r = get_char_len_node1(NODE_BODY(node), reg, &clen, level);
> -          if (r == 0) {
> -            if (IS_NOT_NULL(en->te.Then)) {
> -              r = get_char_len_node1(en->te.Then, reg, &tlen, level);
> -              if (r != 0) break;
> -            }
> -            else tlen = 0;
> -            if (IS_NOT_NULL(en->te.Else)) {
> -              r = get_char_len_node1(en->te.Else, reg, &elen, level);
> -              if (r != 0) break;
> -            }
> -            else elen = 0;
> -
> -            if (clen + tlen != elen) {
> -              r = GET_CHAR_LEN_VARLEN;
> -            }
> -            else {
> -              *len = elen;
> -            }
> -          }
> -        }
> -        break;
> -      }
> -    }
> -    break;
> -
> -  case NODE_ANCHOR:
> -  case NODE_GIMMICK:
> -    break;
> -
> -  case NODE_BACKREF:
> -    if (NODE_IS_CHECKER(node))
> -      break;
> -    /* fall */
> -  default:
> -    r = GET_CHAR_LEN_VARLEN;
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -get_char_len_node(Node* node, regex_t* reg, int* len)
> -{
> -  return get_char_len_node1(node, reg, len, 0);
> -}
> -
> -/* x is not included y ==>  1 : 0 */
> -static int
> -is_exclusive(Node* x, Node* y, regex_t* reg)
> -{
> -  int i, len;
> -  OnigCodePoint code;
> -  UChar *p;
> -  NodeType ytype;
> -
> - retry:
> -  ytype = NODE_TYPE(y);
> -  switch (NODE_TYPE(x)) {
> -  case NODE_CTYPE:
> -    {
> -      if (CTYPE_(x)->ctype == CTYPE_ANYCHAR ||
> -          CTYPE_(y)->ctype == CTYPE_ANYCHAR)
> -        break;
> -
> -      switch (ytype) {
> -      case NODE_CTYPE:
> -        if (CTYPE_(y)->ctype == CTYPE_(x)->ctype &&
> -            CTYPE_(y)->not   != CTYPE_(x)->not &&
> -            CTYPE_(y)->ascii_mode == CTYPE_(x)->ascii_mode)
> -          return 1;
> -        else
> -          return 0;
> -        break;
> -
> -      case NODE_CCLASS:
> -      swap:
> -        {
> -          Node* tmp;
> -          tmp = x; x = y; y = tmp;
> -          goto retry;
> -        }
> -        break;
> -
> -      case NODE_STRING:
> -        goto swap;
> -        break;
> -
> -      default:
> -        break;
> -      }
> -    }
> -    break;
> -
> -  case NODE_CCLASS:
> -    {
> -      int range;
> -      CClassNode* xc = CCLASS_(x);
> -
> -      switch (ytype) {
> -      case NODE_CTYPE:
> -        switch (CTYPE_(y)->ctype) {
> -        case CTYPE_ANYCHAR:
> -          return 0;
> -          break;
> -
> -        case ONIGENC_CTYPE_WORD:
> -          if (CTYPE_(y)->not == 0) {
> -            if (IS_NULL(xc->mbuf) && !IS_NCCLASS_NOT(xc)) {
> -              range = CTYPE_(y)->ascii_mode != 0 ? 128 : SINGLE_BYTE_SIZE;
> -              for (i = 0; i < range; i++) {
> -                if (BITSET_AT(xc->bs, i)) {
> -                  if (ONIGENC_IS_CODE_WORD(reg->enc, i)) return 0;
> -                }
> -              }
> -              return 1;
> -            }
> -            return 0;
> -          }
> -          else {
> -            if (IS_NOT_NULL(xc->mbuf)) return 0;
> -            if (IS_NCCLASS_NOT(xc)) return 0;
> -
> -            range = CTYPE_(y)->ascii_mode != 0 ? 128 : SINGLE_BYTE_SIZE;
> -            for (i = 0; i < range; i++) {
> -              if (! ONIGENC_IS_CODE_WORD(reg->enc, i)) {
> -                if (BITSET_AT(xc->bs, i))
> -                  return 0;
> -              }
> -            }
> -            for (i = range; i < SINGLE_BYTE_SIZE; i++) {
> -              if (BITSET_AT(xc->bs, i)) return 0;
> -            }
> -            return 1;
> -          }
> -          break;
> -
> -        default:
> -          break;
> -        }
> -        break;
> -
> -      case NODE_CCLASS:
> -        {
> -          int v;
> -          CClassNode* yc = CCLASS_(y);
> -
> -          for (i = 0; i < SINGLE_BYTE_SIZE; i++) {
> -            v = BITSET_AT(xc->bs, i);
> -            if ((v != 0 && !IS_NCCLASS_NOT(xc)) || (v == 0 &&
> IS_NCCLASS_NOT(xc))) {
> -              v = BITSET_AT(yc->bs, i);
> -              if ((v != 0 && !IS_NCCLASS_NOT(yc)) ||
> -                  (v == 0 && IS_NCCLASS_NOT(yc)))
> -                return 0;
> -            }
> -          }
> -          if ((IS_NULL(xc->mbuf) && !IS_NCCLASS_NOT(xc)) ||
> -              (IS_NULL(yc->mbuf) && !IS_NCCLASS_NOT(yc)))
> -            return 1;
> -          return 0;
> -        }
> -        break;
> -
> -      case NODE_STRING:
> -        goto swap;
> -        break;
> -
> -      default:
> -        break;
> -      }
> -    }
> -    break;
> -
> -  case NODE_STRING:
> -    {
> -      StrNode* xs = STR_(x);
> -
> -      if (NODE_STRING_LEN(x) == 0)
> -        break;
> -
> -      switch (ytype) {
> -      case NODE_CTYPE:
> -        switch (CTYPE_(y)->ctype) {
> -        case CTYPE_ANYCHAR:
> -          break;
> -
> -        case ONIGENC_CTYPE_WORD:
> -          if (CTYPE_(y)->ascii_mode == 0) {
> -            if (ONIGENC_IS_MBC_WORD(reg->enc, xs->s, xs->end))
> -              return CTYPE_(y)->not;
> -            else
> -              return !(CTYPE_(y)->not);
> -          }
> -          else {
> -            if (ONIGENC_IS_MBC_WORD_ASCII(reg->enc, xs->s, xs->end))
> -              return CTYPE_(y)->not;
> -            else
> -              return !(CTYPE_(y)->not);
> -          }
> -          break;
> -        default:
> -          break;
> -        }
> -        break;
> -
> -      case NODE_CCLASS:
> -        {
> -          CClassNode* cc = CCLASS_(y);
> -
> -          code = ONIGENC_MBC_TO_CODE(reg->enc, xs->s,
> -                                     xs->s + ONIGENC_MBC_MAXLEN(reg->enc));
> -          return onig_is_code_in_cc(reg->enc, code, cc) == 0;
> -        }
> -        break;
> -
> -      case NODE_STRING:
> -        {
> -          UChar *q;
> -          StrNode* ys = STR_(y);
> -
> -          len = NODE_STRING_LEN(x);
> -          if (len > NODE_STRING_LEN(y)) len = NODE_STRING_LEN(y);
> -          if (NODE_STRING_IS_AMBIG(x) || NODE_STRING_IS_AMBIG(y)) {
> -            /* tiny version */
> -            return 0;
> -          }
> -          else {
> -            for (i = 0, p = ys->s, q = xs->s; i < len; i++, p++, q++) {
> -              if (*p != *q) return 1;
> -            }
> -          }
> -        }
> -        break;
> -
> -      default:
> -        break;
> -      }
> -    }
> -    break;
> -
> -  default:
> -    break;
> -  }
> -
> -  return 0;
> -}
> -
> -static Node*
> -get_head_value_node(Node* node, int exact, regex_t* reg)
> -{
> -  Node* n = NULL_NODE;
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_BACKREF:
> -  case NODE_ALT:
> -#ifdef USE_CALL
> -  case NODE_CALL:
> -#endif
> -    break;
> -
> -  case NODE_CTYPE:
> -    if (CTYPE_(node)->ctype == CTYPE_ANYCHAR)
> -      break;
> -    /* fall */
> -  case NODE_CCLASS:
> -    if (exact == 0) {
> -      n = node;
> -    }
> -    break;
> -
> -  case NODE_LIST:
> -    n = get_head_value_node(NODE_CAR(node), exact, reg);
> -    break;
> -
> -  case NODE_STRING:
> -    {
> -      StrNode* sn = STR_(node);
> -
> -      if (sn->end <= sn->s)
> -        break;
> -
> -      if (exact == 0 ||
> -          ! IS_IGNORECASE(reg->options) || NODE_STRING_IS_RAW(node)) {
> -        n = node;
> -      }
> -    }
> -    break;
> -
> -  case NODE_QUANT:
> -    {
> -      QuantNode* qn = QUANT_(node);
> -      if (qn->lower > 0) {
> -        if (IS_NOT_NULL(qn->head_exact))
> -          n = qn->head_exact;
> -        else
> -          n = get_head_value_node(NODE_BODY(node), exact, reg);
> -      }
> -    }
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -      switch (en->type) {
> -      case BAG_OPTION:
> -        {
> -          OnigOptionType options = reg->options;
> -
> -          reg->options = BAG_(node)->o.options;
> -          n = get_head_value_node(NODE_BODY(node), exact, reg);
> -          reg->options = options;
> -        }
> -        break;
> -
> -      case BAG_MEMORY:
> -      case BAG_STOP_BACKTRACK:
> -      case BAG_IF_ELSE:
> -        n = get_head_value_node(NODE_BODY(node), exact, reg);
> -        break;
> -      }
> -    }
> -    break;
> -
> -  case NODE_ANCHOR:
> -    if (ANCHOR_(node)->type == ANCR_PREC_READ)
> -      n = get_head_value_node(NODE_BODY(node), exact, reg);
> -    break;
> -
> -  case NODE_GIMMICK:
> -  default:
> -    break;
> -  }
> -
> -  return n;
> -}
> -
> -static int
> -check_type_tree(Node* node, int type_mask, int bag_mask, int
> anchor_mask)
> -{
> -  NodeType type;
> -  int r = 0;
> -
> -  type = NODE_TYPE(node);
> -  if ((NODE_TYPE2BIT(type) & type_mask) == 0)
> -    return 1;
> -
> -  switch (type) {
> -  case NODE_LIST:
> -  case NODE_ALT:
> -    do {
> -      r = check_type_tree(NODE_CAR(node), type_mask, bag_mask,
> anchor_mask);
> -    } while (r == 0 && IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_QUANT:
> -    r = check_type_tree(NODE_BODY(node), type_mask, bag_mask,
> anchor_mask);
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -      if (((1<<en->type) & bag_mask) == 0)
> -        return 1;
> -
> -      r = check_type_tree(NODE_BODY(node), type_mask, bag_mask,
> anchor_mask);
> -      if (r == 0 && en->type == BAG_IF_ELSE) {
> -        if (IS_NOT_NULL(en->te.Then)) {
> -          r = check_type_tree(en->te.Then, type_mask, bag_mask,
> anchor_mask);
> -          if (r != 0) break;
> -        }
> -        if (IS_NOT_NULL(en->te.Else)) {
> -          r = check_type_tree(en->te.Else, type_mask, bag_mask,
> anchor_mask);
> -        }
> -      }
> -    }
> -    break;
> -
> -  case NODE_ANCHOR:
> -    type = ANCHOR_(node)->type;
> -    if ((type & anchor_mask) == 0)
> -      return 1;
> -
> -    if (IS_NOT_NULL(NODE_BODY(node)))
> -      r = check_type_tree(NODE_BODY(node), type_mask, bag_mask,
> anchor_mask);
> -    break;
> -
> -  case NODE_GIMMICK:
> -  default:
> -    break;
> -  }
> -  return r;
> -}
> -
> -static OnigLen
> -tree_min_len(Node* node, ScanEnv* env)
> -{
> -  OnigLen len;
> -  OnigLen tmin;
> -
> -  len = 0;
> -  switch (NODE_TYPE(node)) {
> -  case NODE_BACKREF:
> -    if (! NODE_IS_CHECKER(node)) {
> -      int i;
> -      int* backs;
> -      MemEnv* mem_env = SCANENV_MEMENV(env);
> -      BackRefNode* br = BACKREF_(node);
> -      if (NODE_IS_RECURSION(node)) break;
> -
> -      backs = BACKREFS_P(br);
> -      len = tree_min_len(mem_env[backs[0]].node, env);
> -      for (i = 1; i < br->back_num; i++) {
> -        tmin = tree_min_len(mem_env[backs[i]].node, env);
> -        if (len > tmin) len = tmin;
> -      }
> -    }
> -    break;
> -
> -#ifdef USE_CALL
> -  case NODE_CALL:
> -    {
> -      Node* t = NODE_BODY(node);
> -      if (NODE_IS_RECURSION(node)) {
> -        if (NODE_IS_MIN_FIXED(t))
> -          len = BAG_(t)->min_len;
> -      }
> -      else
> -        len = tree_min_len(t, env);
> -    }
> -    break;
> -#endif
> -
> -  case NODE_LIST:
> -    do {
> -      tmin = tree_min_len(NODE_CAR(node), env);
> -      len = distance_add(len, tmin);
> -    } while (IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_ALT:
> -    {
> -      Node *x, *y;
> -      y = node;
> -      do {
> -        x = NODE_CAR(y);
> -        tmin = tree_min_len(x, env);
> -        if (y == node) len = tmin;
> -        else if (len > tmin) len = tmin;
> -      } while (IS_NOT_NULL(y = NODE_CDR(y)));
> -    }
> -    break;
> -
> -  case NODE_STRING:
> -    {
> -      StrNode* sn = STR_(node);
> -      len = (int )(sn->end - sn->s);
> -    }
> -    break;
> -
> -  case NODE_CTYPE:
> -  case NODE_CCLASS:
> -    len = ONIGENC_MBC_MINLEN(env->enc);
> -    break;
> -
> -  case NODE_QUANT:
> -    {
> -      QuantNode* qn = QUANT_(node);
> -
> -      if (qn->lower > 0) {
> -        len = tree_min_len(NODE_BODY(node), env);
> -        len = distance_multiply(len, qn->lower);
> -      }
> -    }
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -      switch (en->type) {
> -      case BAG_MEMORY:
> -        if (NODE_IS_MIN_FIXED(node))
> -          len = en->min_len;
> -        else {
> -          if (NODE_IS_MARK1(node))
> -            len = 0;  /* recursive */
> -          else {
> -            NODE_STATUS_ADD(node, MARK1);
> -            len = tree_min_len(NODE_BODY(node), env);
> -            NODE_STATUS_REMOVE(node, MARK1);
> -
> -            en->min_len = len;
> -            NODE_STATUS_ADD(node, MIN_FIXED);
> -          }
> -        }
> -        break;
> -
> -      case BAG_OPTION:
> -      case BAG_STOP_BACKTRACK:
> -        len = tree_min_len(NODE_BODY(node), env);
> -        break;
> -      case BAG_IF_ELSE:
> -        {
> -          OnigLen elen;
> -
> -          len = tree_min_len(NODE_BODY(node), env);
> -          if (IS_NOT_NULL(en->te.Then))
> -            len += tree_min_len(en->te.Then, env);
> -          if (IS_NOT_NULL(en->te.Else))
> -            elen = tree_min_len(en->te.Else, env);
> -          else elen = 0;
> -
> -          if (elen < len) len = elen;
> -        }
> -        break;
> -      }
> -    }
> -    break;
> -
> -  case NODE_GIMMICK:
> -    {
> -      GimmickNode* g = GIMMICK_(node);
> -      if (g->type == GIMMICK_FAIL) {
> -        len = INFINITE_LEN;
> -        break;
> -      }
> -    }
> -    /* fall */
> -  case NODE_ANCHOR:
> -  default:
> -    break;
> -  }
> -
> -  return len;
> -}
> -
> -static OnigLen
> -tree_max_len(Node* node, ScanEnv* env)
> -{
> -  OnigLen len;
> -  OnigLen tmax;
> -
> -  len = 0;
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -    do {
> -      tmax = tree_max_len(NODE_CAR(node), env);
> -      len = distance_add(len, tmax);
> -    } while (IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_ALT:
> -    do {
> -      tmax = tree_max_len(NODE_CAR(node), env);
> -      if (len < tmax) len = tmax;
> -    } while (IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_STRING:
> -    {
> -      StrNode* sn = STR_(node);
> -      len = (OnigLen )(sn->end - sn->s);
> -    }
> -    break;
> -
> -  case NODE_CTYPE:
> -  case NODE_CCLASS:
> -    len = ONIGENC_MBC_MAXLEN_DIST(env->enc);
> -    break;
> -
> -  case NODE_BACKREF:
> -    if (! NODE_IS_CHECKER(node)) {
> -      int i;
> -      int* backs;
> -      MemEnv* mem_env = SCANENV_MEMENV(env);
> -      BackRefNode* br = BACKREF_(node);
> -      if (NODE_IS_RECURSION(node)) {
> -        len = INFINITE_LEN;
> -        break;
> -      }
> -      backs = BACKREFS_P(br);
> -      for (i = 0; i < br->back_num; i++) {
> -        tmax = tree_max_len(mem_env[backs[i]].node, env);
> -        if (len < tmax) len = tmax;
> -      }
> -    }
> -    break;
> -
> -#ifdef USE_CALL
> -  case NODE_CALL:
> -    if (! NODE_IS_RECURSION(node))
> -      len = tree_max_len(NODE_BODY(node), env);
> -    else
> -      len = INFINITE_LEN;
> -    break;
> -#endif
> -
> -  case NODE_QUANT:
> -    {
> -      QuantNode* qn = QUANT_(node);
> -
> -      if (qn->upper != 0) {
> -        len = tree_max_len(NODE_BODY(node), env);
> -        if (len != 0) {
> -          if (! IS_INFINITE_REPEAT(qn->upper))
> -            len = distance_multiply(len, qn->upper);
> -          else
> -            len = INFINITE_LEN;
> -        }
> -      }
> -    }
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -      switch (en->type) {
> -      case BAG_MEMORY:
> -        if (NODE_IS_MAX_FIXED(node))
> -          len = en->max_len;
> -        else {
> -          if (NODE_IS_MARK1(node))
> -            len = INFINITE_LEN;
> -          else {
> -            NODE_STATUS_ADD(node, MARK1);
> -            len = tree_max_len(NODE_BODY(node), env);
> -            NODE_STATUS_REMOVE(node, MARK1);
> -
> -            en->max_len = len;
> -            NODE_STATUS_ADD(node, MAX_FIXED);
> -          }
> -        }
> -        break;
> -
> -      case BAG_OPTION:
> -      case BAG_STOP_BACKTRACK:
> -        len = tree_max_len(NODE_BODY(node), env);
> -        break;
> -      case BAG_IF_ELSE:
> -        {
> -          OnigLen tlen, elen;
> -
> -          len = tree_max_len(NODE_BODY(node), env);
> -          if (IS_NOT_NULL(en->te.Then)) {
> -            tlen = tree_max_len(en->te.Then, env);
> -            len = distance_add(len, tlen);
> -          }
> -          if (IS_NOT_NULL(en->te.Else))
> -            elen = tree_max_len(en->te.Else, env);
> -          else elen = 0;
> -
> -          if (elen > len) len = elen;
> -        }
> -        break;
> -      }
> -    }
> -    break;
> -
> -  case NODE_ANCHOR:
> -  case NODE_GIMMICK:
> -  default:
> -    break;
> -  }
> -
> -  return len;
> -}
> -
> -static int
> -check_backrefs(Node* node, ScanEnv* env)
> -{
> -  int r;
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -  case NODE_ALT:
> -    do {
> -      r = check_backrefs(NODE_CAR(node), env);
> -    } while (r == 0 && IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_ANCHOR:
> -    if (! ANCHOR_HAS_BODY(ANCHOR_(node))) {
> -      r = 0;
> -      break;
> -    }
> -    /* fall */
> -  case NODE_QUANT:
> -    r = check_backrefs(NODE_BODY(node), env);
> -    break;
> -
> -  case NODE_BAG:
> -    r = check_backrefs(NODE_BODY(node), env);
> -    {
> -      BagNode* en = BAG_(node);
> -
> -      if (en->type == BAG_IF_ELSE) {
> -        if (r != 0) return r;
> -        if (IS_NOT_NULL(en->te.Then)) {
> -          r = check_backrefs(en->te.Then, env);
> -          if (r != 0) return r;
> -        }
> -        if (IS_NOT_NULL(en->te.Else)) {
> -          r = check_backrefs(en->te.Else, env);
> -        }
> -      }
> -    }
> -    break;
> -
> -  case NODE_BACKREF:
> -    {
> -      int i;
> -      BackRefNode* br = BACKREF_(node);
> -      int* backs = BACKREFS_P(br);
> -      MemEnv* mem_env = SCANENV_MEMENV(env);
> -
> -      for (i = 0; i < br->back_num; i++) {
> -        if (backs[i] > env->num_mem)
> -          return ONIGERR_INVALID_BACKREF;
> -
> -        NODE_STATUS_ADD(mem_env[backs[i]].node, BACKREF);
> -      }
> -      r = 0;
> -    }
> -    break;
> -
> -  default:
> -    r = 0;
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -
> -#ifdef USE_CALL
> -
> -#define RECURSION_EXIST        (1<<0)
> -#define RECURSION_MUST         (1<<1)
> -#define RECURSION_INFINITE     (1<<2)
> -
> -static int
> -infinite_recursive_call_check(Node* node, ScanEnv* env, int head)
> -{
> -  int ret;
> -  int r = 0;
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -    {
> -      Node *x;
> -      OnigLen min;
> -
> -      x = node;
> -      do {
> -        ret = infinite_recursive_call_check(NODE_CAR(x), env, head);
> -        if (ret < 0 || (ret & RECURSION_INFINITE) != 0) return ret;
> -        r |= ret;
> -        if (head != 0) {
> -          min = tree_min_len(NODE_CAR(x), env);
> -          if (min != 0) head = 0;
> -        }
> -      } while (IS_NOT_NULL(x = NODE_CDR(x)));
> -    }
> -    break;
> -
> -  case NODE_ALT:
> -    {
> -      int must;
> -
> -      must = RECURSION_MUST;
> -      do {
> -        ret = infinite_recursive_call_check(NODE_CAR(node), env, head);
> -        if (ret < 0 || (ret & RECURSION_INFINITE) != 0) return ret;
> -
> -        r    |= (ret & RECURSION_EXIST);
> -        must &= ret;
> -      } while (IS_NOT_NULL(node = NODE_CDR(node)));
> -      r |= must;
> -    }
> -    break;
> -
> -  case NODE_QUANT:
> -    r = infinite_recursive_call_check(NODE_BODY(node), env, head);
> -    if (r < 0) return r;
> -    if ((r & RECURSION_MUST) != 0) {
> -      if (QUANT_(node)->lower == 0)
> -        r &= ~RECURSION_MUST;
> -    }
> -    break;
> -
> -  case NODE_ANCHOR:
> -    if (! ANCHOR_HAS_BODY(ANCHOR_(node)))
> -      break;
> -    /* fall */
> -  case NODE_CALL:
> -    r = infinite_recursive_call_check(NODE_BODY(node), env, head);
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -
> -      if (en->type == BAG_MEMORY) {
> -        if (NODE_IS_MARK2(node))
> -          return 0;
> -        else if (NODE_IS_MARK1(node))
> -          return (head == 0 ? RECURSION_EXIST | RECURSION_MUST
> -                  : RECURSION_EXIST | RECURSION_MUST | RECURSION_INFINITE);
> -        else {
> -          NODE_STATUS_ADD(node, MARK2);
> -          r = infinite_recursive_call_check(NODE_BODY(node), env, head);
> -          NODE_STATUS_REMOVE(node, MARK2);
> -        }
> -      }
> -      else if (en->type == BAG_IF_ELSE) {
> -        int eret;
> -
> -        ret = infinite_recursive_call_check(NODE_BODY(node), env, head);
> -        if (ret < 0 || (ret & RECURSION_INFINITE) != 0) return ret;
> -        r |= ret;
> -        if (IS_NOT_NULL(en->te.Then)) {
> -          OnigLen min;
> -          if (head != 0) {
> -            min = tree_min_len(NODE_BODY(node), env);
> -          }
> -          else min = 0;
> -
> -          ret = infinite_recursive_call_check(en->te.Then, env, min != 0 ?
> 0:head);
> -          if (ret < 0 || (ret & RECURSION_INFINITE) != 0) return ret;
> -          r |= ret;
> -        }
> -        if (IS_NOT_NULL(en->te.Else)) {
> -          eret = infinite_recursive_call_check(en->te.Else, env, head);
> -          if (eret < 0 || (eret & RECURSION_INFINITE) != 0) return eret;
> -          r |= (eret & RECURSION_EXIST);
> -          if ((eret & RECURSION_MUST) == 0)
> -            r &= ~RECURSION_MUST;
> -        }
> -      }
> -      else {
> -        r = infinite_recursive_call_check(NODE_BODY(node), env, head);
> -      }
> -    }
> -    break;
> -
> -  default:
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -infinite_recursive_call_check_trav(Node* node, ScanEnv* env)
> -{
> -  int r;
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -  case NODE_ALT:
> -    do {
> -      r = infinite_recursive_call_check_trav(NODE_CAR(node), env);
> -    } while (r == 0 && IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_ANCHOR:
> -    if (! ANCHOR_HAS_BODY(ANCHOR_(node))) {
> -      r = 0;
> -      break;
> -    }
> -    /* fall */
> -  case NODE_QUANT:
> -    r = infinite_recursive_call_check_trav(NODE_BODY(node), env);
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -
> -      if (en->type == BAG_MEMORY) {
> -        if (NODE_IS_RECURSION(node) && NODE_IS_CALLED(node)) {
> -          int ret;
> -
> -          NODE_STATUS_ADD(node, MARK1);
> -
> -          ret = infinite_recursive_call_check(NODE_BODY(node), env, 1);
> -          if (ret < 0) return ret;
> -          else if ((ret & (RECURSION_MUST | RECURSION_INFINITE)) != 0)
> -            return ONIGERR_NEVER_ENDING_RECURSION;
> -
> -          NODE_STATUS_REMOVE(node, MARK1);
> -        }
> -      }
> -      else if (en->type == BAG_IF_ELSE) {
> -        if (IS_NOT_NULL(en->te.Then)) {
> -          r = infinite_recursive_call_check_trav(en->te.Then, env);
> -          if (r != 0) return r;
> -        }
> -        if (IS_NOT_NULL(en->te.Else)) {
> -          r = infinite_recursive_call_check_trav(en->te.Else, env);
> -          if (r != 0) return r;
> -        }
> -      }
> -    }
> -
> -    r = infinite_recursive_call_check_trav(NODE_BODY(node), env);
> -    break;
> -
> -  default:
> -    r = 0;
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -recursive_call_check(Node* node)
> -{
> -  int r;
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -  case NODE_ALT:
> -    r = 0;
> -    do {
> -      r |= recursive_call_check(NODE_CAR(node));
> -    } while (IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_ANCHOR:
> -    if (! ANCHOR_HAS_BODY(ANCHOR_(node))) {
> -      r = 0;
> -      break;
> -    }
> -    /* fall */
> -  case NODE_QUANT:
> -    r = recursive_call_check(NODE_BODY(node));
> -    break;
> -
> -  case NODE_CALL:
> -    r = recursive_call_check(NODE_BODY(node));
> -    if (r != 0) {
> -      if (NODE_IS_MARK1(NODE_BODY(node)))
> -        NODE_STATUS_ADD(node, RECURSION);
> -    }
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -
> -      if (en->type == BAG_MEMORY) {
> -        if (NODE_IS_MARK2(node))
> -          return 0;
> -        else if (NODE_IS_MARK1(node))
> -          return 1; /* recursion */
> -        else {
> -          NODE_STATUS_ADD(node, MARK2);
> -          r = recursive_call_check(NODE_BODY(node));
> -          NODE_STATUS_REMOVE(node, MARK2);
> -        }
> -      }
> -      else if (en->type == BAG_IF_ELSE) {
> -        r = 0;
> -        if (IS_NOT_NULL(en->te.Then)) {
> -          r |= recursive_call_check(en->te.Then);
> -        }
> -        if (IS_NOT_NULL(en->te.Else)) {
> -          r |= recursive_call_check(en->te.Else);
> -        }
> -        r |= recursive_call_check(NODE_BODY(node));
> -      }
> -      else {
> -        r = recursive_call_check(NODE_BODY(node));
> -      }
> -    }
> -    break;
> -
> -  default:
> -    r = 0;
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -#define IN_RECURSION         (1<<0)
> -#define FOUND_CALLED_NODE    1
> -
> -static int
> -recursive_call_check_trav(Node* node, ScanEnv* env, int state)
> -{
> -  int r = 0;
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -  case NODE_ALT:
> -    {
> -      int ret;
> -      do {
> -        ret = recursive_call_check_trav(NODE_CAR(node), env, state);
> -        if (ret == FOUND_CALLED_NODE) r = FOUND_CALLED_NODE;
> -        else if (ret < 0) return ret;
> -      } while (IS_NOT_NULL(node = NODE_CDR(node)));
> -    }
> -    break;
> -
> -  case NODE_QUANT:
> -    r = recursive_call_check_trav(NODE_BODY(node), env, state);
> -    if (QUANT_(node)->upper == 0) {
> -      if (r == FOUND_CALLED_NODE)
> -        QUANT_(node)->is_refered = 1;
> -    }
> -    break;
> -
> -  case NODE_ANCHOR:
> -    {
> -      AnchorNode* an = ANCHOR_(node);
> -      if (ANCHOR_HAS_BODY(an))
> -        r = recursive_call_check_trav(NODE_ANCHOR_BODY(an), env, state);
> -    }
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      int ret;
> -      int state1;
> -      BagNode* en = BAG_(node);
> -
> -      if (en->type == BAG_MEMORY) {
> -        if (NODE_IS_CALLED(node) || (state & IN_RECURSION) != 0) {
> -          if (! NODE_IS_RECURSION(node)) {
> -            NODE_STATUS_ADD(node, MARK1);
> -            r = recursive_call_check(NODE_BODY(node));
> -            if (r != 0)
> -              NODE_STATUS_ADD(node, RECURSION);
> -            NODE_STATUS_REMOVE(node, MARK1);
> -          }
> -
> -          if (NODE_IS_CALLED(node))
> -            r = FOUND_CALLED_NODE;
> -        }
> -      }
> -
> -      state1 = state;
> -      if (NODE_IS_RECURSION(node))
> -        state1 |= IN_RECURSION;
> -
> -      ret = recursive_call_check_trav(NODE_BODY(node), env, state1);
> -      if (ret == FOUND_CALLED_NODE)
> -        r = FOUND_CALLED_NODE;
> -
> -      if (en->type == BAG_IF_ELSE) {
> -        if (IS_NOT_NULL(en->te.Then)) {
> -          ret = recursive_call_check_trav(en->te.Then, env, state1);
> -          if (ret == FOUND_CALLED_NODE)
> -            r = FOUND_CALLED_NODE;
> -        }
> -        if (IS_NOT_NULL(en->te.Else)) {
> -          ret = recursive_call_check_trav(en->te.Else, env, state1);
> -          if (ret == FOUND_CALLED_NODE)
> -            r = FOUND_CALLED_NODE;
> -        }
> -      }
> -    }
> -    break;
> -
> -  default:
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -#endif
> -
> -#define IN_ALT          (1<<0)
> -#define IN_NOT          (1<<1)
> -#define IN_REAL_REPEAT  (1<<2)
> -#define IN_VAR_REPEAT   (1<<3)
> -#define IN_ZERO_REPEAT  (1<<4)
> -#define IN_MULTI_ENTRY  (1<<5)
> -#define IN_LOOK_BEHIND  (1<<6)
> -
> -
> -/* divide different length alternatives in look-behind.
> -  (?<=A|B) ==> (?<=A)|(?<=B)
> -  (?<!A|B) ==> (?<!A)(?<!B)
> -*/
> -static int
> -divide_look_behind_alternatives(Node* node)
> -{
> -  Node *head, *np, *insert_node;
> -  AnchorNode* an = ANCHOR_(node);
> -  int anc_type = an->type;
> -
> -  head = NODE_ANCHOR_BODY(an);
> -  np = NODE_CAR(head);
> -  swap_node(node, head);
> -  NODE_CAR(node) = head;
> -  NODE_BODY(head) = np;
> -
> -  np = node;
> -  while (IS_NOT_NULL(np = NODE_CDR(np))) {
> -    insert_node = onig_node_new_anchor(anc_type, an->ascii_mode);
> -    CHECK_NULL_RETURN_MEMERR(insert_node);
> -    NODE_BODY(insert_node) = NODE_CAR(np);
> -    NODE_CAR(np) = insert_node;
> -  }
> -
> -  if (anc_type == ANCR_LOOK_BEHIND_NOT) {
> -    np = node;
> -    do {
> -      NODE_SET_TYPE(np, NODE_LIST);  /* alt -> list */
> -    } while (IS_NOT_NULL(np = NODE_CDR(np)));
> -  }
> -  return 0;
> -}
> -
> -static int
> -setup_look_behind(Node* node, regex_t* reg, ScanEnv* env)
> -{
> -  int r, len;
> -  AnchorNode* an = ANCHOR_(node);
> -
> -  r = get_char_len_node(NODE_ANCHOR_BODY(an), reg, &len);
> -  if (r == 0)
> -    an->char_len = len;
> -  else if (r == GET_CHAR_LEN_VARLEN)
> -    r = ONIGERR_INVALID_LOOK_BEHIND_PATTERN;
> -  else if (r == GET_CHAR_LEN_TOP_ALT_VARLEN) {
> -    if (IS_SYNTAX_BV(env->syntax,
> ONIG_SYN_DIFFERENT_LEN_ALT_LOOK_BEHIND))
> -      r = divide_look_behind_alternatives(node);
> -    else
> -      r = ONIGERR_INVALID_LOOK_BEHIND_PATTERN;
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -next_setup(Node* node, Node* next_node, regex_t* reg)
> -{
> -  NodeType type;
> -
> - retry:
> -  type = NODE_TYPE(node);
> -  if (type == NODE_QUANT) {
> -    QuantNode* qn = QUANT_(node);
> -    if (qn->greedy && IS_INFINITE_REPEAT(qn->upper)) {
> -#ifdef USE_QUANT_PEEK_NEXT
> -      Node* n = get_head_value_node(next_node, 1, reg);
> -      /* '\0': for UTF-16BE etc... */
> -      if (IS_NOT_NULL(n) && STR_(n)->s[0] != '\0') {
> -        qn->next_head_exact = n;
> -      }
> -#endif
> -      /* automatic posseivation a*b ==> (?>a*)b */
> -      if (qn->lower <= 1) {
> -        if (is_strict_real_node(NODE_BODY(node))) {
> -          Node *x, *y;
> -          x = get_head_value_node(NODE_BODY(node), 0, reg);
> -          if (IS_NOT_NULL(x)) {
> -            y = get_head_value_node(next_node,  0, reg);
> -            if (IS_NOT_NULL(y) && is_exclusive(x, y, reg)) {
> -              Node* en = onig_node_new_bag(BAG_STOP_BACKTRACK);
> -              CHECK_NULL_RETURN_MEMERR(en);
> -              NODE_STATUS_ADD(en, STRICT_REAL_REPEAT);
> -              swap_node(node, en);
> -              NODE_BODY(node) = en;
> -            }
> -          }
> -        }
> -      }
> -    }
> -  }
> -  else if (type == NODE_BAG) {
> -    BagNode* en = BAG_(node);
> -    if (en->type == BAG_MEMORY) {
> -      node = NODE_BODY(node);
> -      goto retry;
> -    }
> -  }
> -  return 0;
> -}
> -
> -
> -static int
> -update_string_node_case_fold(regex_t* reg, Node *node)
> -{
> -  UChar *p, *end, buf[ONIGENC_MBC_CASE_FOLD_MAXLEN];
> -  UChar *sbuf, *ebuf, *sp;
> -  int r, i, len, sbuf_size;
> -  StrNode* sn = STR_(node);
> -
> -  end = sn->end;
> -  sbuf_size = (int )(end - sn->s) * 2;
> -  sbuf = (UChar* )xmalloc(sbuf_size);
> -  CHECK_NULL_RETURN_MEMERR(sbuf);
> -  ebuf = sbuf + sbuf_size;
> -
> -  sp = sbuf;
> -  p = sn->s;
> -  while (p < end) {
> -    len = ONIGENC_MBC_CASE_FOLD(reg->enc, reg->case_fold_flag, &p, end,
> buf);
> -    for (i = 0; i < len; i++) {
> -      if (sp >= ebuf) {
> -        sbuf = (UChar* )xrealloc(sbuf, sbuf_size * 2, sbuf_size);
> -        CHECK_NULL_RETURN_MEMERR(sbuf);
> -        sp = sbuf + sbuf_size;
> -        sbuf_size *= 2;
> -        ebuf = sbuf + sbuf_size;
> -      }
> -
> -      *sp++ = buf[i];
> -    }
> -  }
> -
> -  r = onig_node_str_set(node, sbuf, sp);
> -  if (r != 0) {
> -    xfree(sbuf);
> -    return r;
> -  }
> -
> -  xfree(sbuf);
> -  return 0;
> -}
> -
> -static int
> -expand_case_fold_make_rem_string(Node** rnode, UChar *s, UChar
> *end, regex_t* reg)
> -{
> -  int r;
> -  Node *node;
> -
> -  node = onig_node_new_str(s, end);
> -  if (IS_NULL(node)) return ONIGERR_MEMORY;
> -
> -  r = update_string_node_case_fold(reg, node);
> -  if (r != 0) {
> -    onig_node_free(node);
> -    return r;
> -  }
> -
> -  NODE_STRING_SET_AMBIG(node);
> -  NODE_STRING_SET_DONT_GET_OPT_INFO(node);
> -  *rnode = node;
> -  return 0;
> -}
> -
> -static int
> -expand_case_fold_string_alt(int item_num, OnigCaseFoldCodeItem items[],
> UChar *p,
> -                            int slen, UChar *end, regex_t* reg, Node **rnode)
> -{
> -  int r, i, j;
> -  int len;
> -  int varlen;
> -  Node *anode, *var_anode, *snode, *xnode, *an;
> -  UChar buf[ONIGENC_CODE_TO_MBC_MAXLEN];
> -
> -  *rnode = var_anode = NULL_NODE;
> -
> -  varlen = 0;
> -  for (i = 0; i < item_num; i++) {
> -    if (items[i].byte_len != slen) {
> -      varlen = 1;
> -      break;
> -    }
> -  }
> -
> -  if (varlen != 0) {
> -    *rnode = var_anode = onig_node_new_alt(NULL_NODE, NULL_NODE);
> -    if (IS_NULL(var_anode)) return ONIGERR_MEMORY;
> -
> -    xnode = onig_node_new_list(NULL, NULL);
> -    if (IS_NULL(xnode)) goto mem_err;
> -    NODE_CAR(var_anode) = xnode;
> -
> -    anode = onig_node_new_alt(NULL_NODE, NULL_NODE);
> -    if (IS_NULL(anode)) goto mem_err;
> -    NODE_CAR(xnode) = anode;
> -  }
> -  else {
> -    *rnode = anode = onig_node_new_alt(NULL_NODE, NULL_NODE);
> -    if (IS_NULL(anode)) return ONIGERR_MEMORY;
> -  }
> -
> -  snode = onig_node_new_str(p, p + slen);
> -  if (IS_NULL(snode)) goto mem_err;
> -
> -  NODE_CAR(anode) = snode;
> -
> -  for (i = 0; i < item_num; i++) {
> -    snode = onig_node_new_str(NULL, NULL);
> -    if (IS_NULL(snode)) goto mem_err;
> -
> -    for (j = 0; j < items[i].code_len; j++) {
> -      len = ONIGENC_CODE_TO_MBC(reg->enc, items[i].code[j], buf);
> -      if (len < 0) {
> -        r = len;
> -        goto mem_err2;
> -      }
> -
> -      r = onig_node_str_cat(snode, buf, buf + len);
> -      if (r != 0) goto mem_err2;
> -    }
> -
> -    an = onig_node_new_alt(NULL_NODE, NULL_NODE);
> -    if (IS_NULL(an)) {
> -      goto mem_err2;
> -    }
> -    //The NULL pointer check is not necessary. It is added just for pass static
> -    //analysis. When condition "items[i].byte_len != slen" is true, "varlen = 1"
> -    //in line 3503 will be reached ,so that "if (IS_NULL(var_anode)) return
> ONIGERR_MEMORY"
> -    //in line 3510 will be executed, so the null pointer has been checked
> before
> -    //deferenced in line 3584.
> -    if (items[i].byte_len != slen && IS_NOT_NULL(var_anode)) {
> -      Node *rem;
> -      UChar *q = p + items[i].byte_len;
> -
> -      if (q < end) {
> -        r = expand_case_fold_make_rem_string(&rem, q, end, reg);
> -        if (r != 0) {
> -          onig_node_free(an);
> -          goto mem_err2;
> -        }
> -
> -        xnode = onig_node_list_add(NULL_NODE, snode);
> -        if (IS_NULL(xnode)) {
> -          onig_node_free(an);
> -          onig_node_free(rem);
> -          goto mem_err2;
> -        }
> -        if (IS_NULL(onig_node_list_add(xnode, rem))) {
> -          onig_node_free(an);
> -          onig_node_free(xnode);
> -          onig_node_free(rem);
> -          goto mem_err;
> -        }
> -
> -        NODE_CAR(an) = xnode;
> -      }
> -      else {
> -        NODE_CAR(an) = snode;
> -      }
> -
> -      NODE_CDR(var_anode) = an;
> -      var_anode = an;
> -    }
> -    else {
> -      NODE_CAR(an)     = snode;
> -      NODE_CDR(anode) = an;
> -      anode = an;
> -    }
> -  }
> -
> -  return varlen;
> -
> - mem_err2:
> -  onig_node_free(snode);
> -
> - mem_err:
> -  onig_node_free(*rnode);
> -
> -  return ONIGERR_MEMORY;
> -}
> -
> -static int
> -is_good_case_fold_items_for_search(OnigEncoding enc, int slen,
> -                                   int n, OnigCaseFoldCodeItem items[])
> -{
> -  int i, len;
> -  UChar buf[ONIGENC_MBC_CASE_FOLD_MAXLEN];
> -
> -  for (i = 0; i < n; i++) {
> -    OnigCaseFoldCodeItem* item = items + i;
> -
> -    if (item->code_len != 1)    return 0;
> -    if (item->byte_len != slen) return 0;
> -    len = ONIGENC_CODE_TO_MBC(enc, item->code[0], buf);
> -    if (len != slen) return 0;
> -  }
> -
> -  return 1;
> -}
> -
> -#define THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION  8
> -
> -static int
> -expand_case_fold_string(Node* node, regex_t* reg, int state)
> -{
> -  int r, n, len, alt_num;
> -  int fold_len;
> -  int prev_is_ambig, prev_is_good, is_good, is_in_look_behind;
> -  UChar *start, *end, *p;
> -  UChar* foldp;
> -  Node *top_root, *root, *snode, *prev_node;
> -  OnigCaseFoldCodeItem
> items[ONIGENC_GET_CASE_FOLD_CODES_MAX_NUM];
> -  UChar buf[ONIGENC_MBC_CASE_FOLD_MAXLEN];
> -  StrNode* sn;
> -
> -  if (NODE_STRING_IS_AMBIG(node)) return 0;
> -
> -  sn = STR_(node);
> -
> -  start = sn->s;
> -  end   = sn->end;
> -  if (start >= end) return 0;
> -
> -  is_in_look_behind = (state & IN_LOOK_BEHIND) != 0;
> -
> -  r = 0;
> -  top_root = root = prev_node = snode = NULL_NODE;
> -  alt_num = 1;
> -  p = start;
> -  while (p < end) {
> -    n = ONIGENC_GET_CASE_FOLD_CODES_BY_STR(reg->enc, reg-
> >case_fold_flag,
> -                                           p, end, items);
> -    if (n < 0) {
> -      r = n;
> -      goto err;
> -    }
> -
> -    len = enclen(reg->enc, p);
> -    is_good = is_good_case_fold_items_for_search(reg->enc, len, n, items);
> -
> -    if (is_in_look_behind ||
> -        (IS_NOT_NULL(snode) ||
> -         (is_good
> -          /* expand single char case: ex. /(?i:a)/ */
> -          && !(p == start && p + len >= end)))) {
> -      if (IS_NULL(snode)) {
> -        if (IS_NULL(root) && IS_NOT_NULL(prev_node)) {
> -          top_root = root = onig_node_list_add(NULL_NODE, prev_node);
> -          if (IS_NULL(root)) {
> -            onig_node_free(prev_node);
> -            goto mem_err;
> -          }
> -        }
> -
> -        prev_node = snode = onig_node_new_str(NULL, NULL);
> -        if (IS_NULL(snode)) goto mem_err;
> -        if (IS_NOT_NULL(root)) {
> -          if (IS_NULL(onig_node_list_add(root, snode))) {
> -            onig_node_free(snode);
> -            goto mem_err;
> -          }
> -        }
> -
> -        prev_is_ambig = -1; /* -1: new */
> -        prev_is_good  =  0; /* escape compiler warning */
> -      }
> -      else {
> -        prev_is_ambig = NODE_STRING_IS_AMBIG(snode);
> -        prev_is_good  = NODE_STRING_IS_GOOD_AMBIG(snode);
> -      }
> -
> -      if (n != 0) {
> -        foldp = p;
> -        fold_len = ONIGENC_MBC_CASE_FOLD(reg->enc, reg->case_fold_flag,
> -                                         &foldp, end, buf);
> -        foldp = buf;
> -      }
> -      else {
> -        foldp = p; fold_len = len;
> -      }
> -
> -      if ((prev_is_ambig == 0 && n != 0) ||
> -          (prev_is_ambig > 0 && (n == 0 || prev_is_good != is_good))) {
> -        if (IS_NULL(root) /* && IS_NOT_NULL(prev_node) */) {
> -          top_root = root = onig_node_list_add(NULL_NODE, prev_node);
> -          if (IS_NULL(root)) {
> -            onig_node_free(prev_node);
> -            goto mem_err;
> -          }
> -        }
> -
> -        prev_node = snode = onig_node_new_str(foldp, foldp + fold_len);
> -        if (IS_NULL(snode)) goto mem_err;
> -        if (IS_NULL(onig_node_list_add(root, snode))) {
> -          onig_node_free(snode);
> -          goto mem_err;
> -        }
> -      }
> -      else {
> -        r = onig_node_str_cat(snode, foldp, foldp + fold_len);
> -        if (r != 0) goto err;
> -      }
> -
> -      if (n != 0) NODE_STRING_SET_AMBIG(snode);
> -      if (is_good != 0) NODE_STRING_SET_GOOD_AMBIG(snode);
> -    }
> -    else {
> -      alt_num *= (n + 1);
> -      if (alt_num > THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION) break;
> -
> -      if (IS_NULL(root) && IS_NOT_NULL(prev_node)) {
> -        top_root = root = onig_node_list_add(NULL_NODE, prev_node);
> -        if (IS_NULL(root)) {
> -          onig_node_free(prev_node);
> -          goto mem_err;
> -        }
> -      }
> -
> -      r = expand_case_fold_string_alt(n, items, p, len, end, reg, &prev_node);
> -      if (r < 0) goto mem_err;
> -      if (r == 1) {
> -        if (IS_NULL(root)) {
> -          top_root = prev_node;
> -        }
> -        else {
> -          if (IS_NULL(onig_node_list_add(root, prev_node))) {
> -            onig_node_free(prev_node);
> -            goto mem_err;
> -          }
> -        }
> -
> -        root = NODE_CAR(prev_node);
> -      }
> -      else { /* r == 0 */
> -        if (IS_NOT_NULL(root)) {
> -          if (IS_NULL(onig_node_list_add(root, prev_node))) {
> -            onig_node_free(prev_node);
> -            goto mem_err;
> -          }
> -        }
> -      }
> -
> -      snode = NULL_NODE;
> -    }
> -
> -    p += len;
> -  }
> -
> -  if (p < end) {
> -    Node *srem;
> -
> -    r = expand_case_fold_make_rem_string(&srem, p, end, reg);
> -    if (r != 0) goto mem_err;
> -
> -    if (IS_NOT_NULL(prev_node) && IS_NULL(root)) {
> -      top_root = root = onig_node_list_add(NULL_NODE, prev_node);
> -      if (IS_NULL(root)) {
> -        onig_node_free(srem);
> -        onig_node_free(prev_node);
> -        goto mem_err;
> -      }
> -    }
> -
> -    if (IS_NULL(root)) {
> -      prev_node = srem;
> -    }
> -    else {
> -      if (IS_NULL(onig_node_list_add(root, srem))) {
> -        onig_node_free(srem);
> -        goto mem_err;
> -      }
> -    }
> -  }
> -
> -  /* ending */
> -  top_root = (IS_NOT_NULL(top_root) ? top_root : prev_node);
> -  swap_node(node, top_root);
> -  onig_node_free(top_root);
> -  return 0;
> -
> - mem_err:
> -  r = ONIGERR_MEMORY;
> -
> - err:
> -  onig_node_free(top_root);
> -  return r;
> -}
> -
> -#ifdef USE_STUBBORN_CHECK_CAPTURES_IN_EMPTY_REPEAT
> -static enum BodyEmptyType
> -quantifiers_memory_node_info(Node* node)
> -{
> -  int r = BODY_IS_EMPTY_POSSIBILITY;
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -  case NODE_ALT:
> -    {
> -      int v;
> -      do {
> -        v = quantifiers_memory_node_info(NODE_CAR(node));
> -        if (v > r) r = v;
> -      } while (IS_NOT_NULL(node = NODE_CDR(node)));
> -    }
> -    break;
> -
> -#ifdef USE_CALL
> -  case NODE_CALL:
> -    if (NODE_IS_RECURSION(node)) {
> -      return BODY_IS_EMPTY_POSSIBILITY_REC; /* tiny version */
> -    }
> -    else
> -      r = quantifiers_memory_node_info(NODE_BODY(node));
> -    break;
> -#endif
> -
> -  case NODE_QUANT:
> -    {
> -      QuantNode* qn = QUANT_(node);
> -      if (qn->upper != 0) {
> -        r = quantifiers_memory_node_info(NODE_BODY(node));
> -      }
> -    }
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -      switch (en->type) {
> -      case BAG_MEMORY:
> -        if (NODE_IS_RECURSION(node)) {
> -          return BODY_IS_EMPTY_POSSIBILITY_REC;
> -        }
> -        return BODY_IS_EMPTY_POSSIBILITY_MEM;
> -        break;
> -
> -      case BAG_OPTION:
> -      case BAG_STOP_BACKTRACK:
> -        r = quantifiers_memory_node_info(NODE_BODY(node));
> -        break;
> -      case BAG_IF_ELSE:
> -        {
> -          int v;
> -          r = quantifiers_memory_node_info(NODE_BODY(node));
> -          if (IS_NOT_NULL(en->te.Then)) {
> -            v = quantifiers_memory_node_info(en->te.Then);
> -            if (v > r) r = v;
> -          }
> -          if (IS_NOT_NULL(en->te.Else)) {
> -            v = quantifiers_memory_node_info(en->te.Else);
> -            if (v > r) r = v;
> -          }
> -        }
> -        break;
> -      }
> -    }
> -    break;
> -
> -  case NODE_BACKREF:
> -  case NODE_STRING:
> -  case NODE_CTYPE:
> -  case NODE_CCLASS:
> -  case NODE_ANCHOR:
> -  case NODE_GIMMICK:
> -  default:
> -    break;
> -  }
> -
> -  return r;
> -}
> -#endif /* USE_STUBBORN_CHECK_CAPTURES_IN_EMPTY_REPEAT */
> -
> -
> -#ifdef USE_CALL
> -
> -#ifdef __GNUC__
> -__inline
> -#endif
> -static int
> -setup_call_node_call(CallNode* cn, ScanEnv* env, int state)
> -{
> -  MemEnv* mem_env = SCANENV_MEMENV(env);
> -
> -  if (cn->by_number != 0) {
> -    int gnum = cn->group_num;
> -
> -    if (env->num_named > 0 &&
> -        IS_SYNTAX_BV(env->syntax,
> ONIG_SYN_CAPTURE_ONLY_NAMED_GROUP) &&
> -        ! ONIG_IS_OPTION_ON(env->options,
> ONIG_OPTION_CAPTURE_GROUP)) {
> -      return ONIGERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED;
> -    }
> -
> -    if (gnum > env->num_mem) {
> -      onig_scan_env_set_error_string(env,
> ONIGERR_UNDEFINED_GROUP_REFERENCE,
> -                                     cn->name, cn->name_end);
> -      return ONIGERR_UNDEFINED_GROUP_REFERENCE;
> -    }
> -
> -  set_call_attr:
> -    NODE_CALL_BODY(cn) = mem_env[cn->group_num].node;
> -    if (IS_NULL(NODE_CALL_BODY(cn))) {
> -      onig_scan_env_set_error_string(env,
> ONIGERR_UNDEFINED_NAME_REFERENCE,
> -                                     cn->name, cn->name_end);
> -      return ONIGERR_UNDEFINED_NAME_REFERENCE;
> -    }
> -  }
> -  else {
> -    int *refs;
> -
> -    int n = onig_name_to_group_numbers(env->reg, cn->name, cn-
> >name_end, &refs);
> -    if (n <= 0) {
> -      onig_scan_env_set_error_string(env,
> ONIGERR_UNDEFINED_NAME_REFERENCE,
> -                                     cn->name, cn->name_end);
> -      return ONIGERR_UNDEFINED_NAME_REFERENCE;
> -    }
> -    else if (n > 1) {
> -      onig_scan_env_set_error_string(env,
> ONIGERR_MULTIPLEX_DEFINITION_NAME_CALL,
> -                                     cn->name, cn->name_end);
> -      return ONIGERR_MULTIPLEX_DEFINITION_NAME_CALL;
> -    }
> -    else {
> -      cn->group_num = refs[0];
> -      goto set_call_attr;
> -    }
> -  }
> -
> -  return 0;
> -}
> -
> -static void
> -setup_call2_call(Node* node)
> -{
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -  case NODE_ALT:
> -    do {
> -      setup_call2_call(NODE_CAR(node));
> -    } while (IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_QUANT:
> -    setup_call2_call(NODE_BODY(node));
> -    break;
> -
> -  case NODE_ANCHOR:
> -    if (ANCHOR_HAS_BODY(ANCHOR_(node)))
> -      setup_call2_call(NODE_BODY(node));
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -
> -      if (en->type == BAG_MEMORY) {
> -        if (! NODE_IS_MARK1(node)) {
> -          NODE_STATUS_ADD(node, MARK1);
> -          setup_call2_call(NODE_BODY(node));
> -          NODE_STATUS_REMOVE(node, MARK1);
> -        }
> -      }
> -      else if (en->type == BAG_IF_ELSE) {
> -        setup_call2_call(NODE_BODY(node));
> -        if (IS_NOT_NULL(en->te.Then))
> -          setup_call2_call(en->te.Then);
> -        if (IS_NOT_NULL(en->te.Else))
> -          setup_call2_call(en->te.Else);
> -      }
> -      else {
> -        setup_call2_call(NODE_BODY(node));
> -      }
> -    }
> -    break;
> -
> -  case NODE_CALL:
> -    if (! NODE_IS_MARK1(node)) {
> -      NODE_STATUS_ADD(node, MARK1);
> -      {
> -        CallNode* cn = CALL_(node);
> -        Node* called = NODE_CALL_BODY(cn);
> -
> -        cn->entry_count++;
> -
> -        NODE_STATUS_ADD(called, CALLED);
> -        BAG_(called)->m.entry_count++;
> -        setup_call2_call(called);
> -      }
> -      NODE_STATUS_REMOVE(node, MARK1);
> -    }
> -    break;
> -
> -  default:
> -    break;
> -  }
> -}
> -
> -static int
> -setup_call(Node* node, ScanEnv* env, int state)
> -{
> -  int r;
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -  case NODE_ALT:
> -    do {
> -      r = setup_call(NODE_CAR(node), env, state);
> -    } while (r == 0 && IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_QUANT:
> -    if (QUANT_(node)->upper == 0)
> -      state |= IN_ZERO_REPEAT;
> -
> -    r = setup_call(NODE_BODY(node), env, state);
> -    break;
> -
> -  case NODE_ANCHOR:
> -    if (ANCHOR_HAS_BODY(ANCHOR_(node)))
> -      r = setup_call(NODE_BODY(node), env, state);
> -    else
> -      r = 0;
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -
> -      if (en->type == BAG_MEMORY) {
> -        if ((state & IN_ZERO_REPEAT) != 0) {
> -          NODE_STATUS_ADD(node, IN_ZERO_REPEAT);
> -          BAG_(node)->m.entry_count--;
> -        }
> -        r = setup_call(NODE_BODY(node), env, state);
> -      }
> -      else if (en->type == BAG_IF_ELSE) {
> -        r = setup_call(NODE_BODY(node), env, state);
> -        if (r != 0) return r;
> -        if (IS_NOT_NULL(en->te.Then)) {
> -          r = setup_call(en->te.Then, env, state);
> -          if (r != 0) return r;
> -        }
> -        if (IS_NOT_NULL(en->te.Else))
> -          r = setup_call(en->te.Else, env, state);
> -      }
> -      else
> -        r = setup_call(NODE_BODY(node), env, state);
> -    }
> -    break;
> -
> -  case NODE_CALL:
> -    if ((state & IN_ZERO_REPEAT) != 0) {
> -      NODE_STATUS_ADD(node, IN_ZERO_REPEAT);
> -      CALL_(node)->entry_count--;
> -    }
> -
> -    r = setup_call_node_call(CALL_(node), env, state);
> -    break;
> -
> -  default:
> -    r = 0;
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -setup_call2(Node* node)
> -{
> -  int r = 0;
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -  case NODE_ALT:
> -    do {
> -      r = setup_call2(NODE_CAR(node));
> -    } while (r == 0 && IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_QUANT:
> -    if (QUANT_(node)->upper != 0)
> -      r = setup_call2(NODE_BODY(node));
> -    break;
> -
> -  case NODE_ANCHOR:
> -    if (ANCHOR_HAS_BODY(ANCHOR_(node)))
> -      r = setup_call2(NODE_BODY(node));
> -    break;
> -
> -  case NODE_BAG:
> -    if (! NODE_IS_IN_ZERO_REPEAT(node))
> -      r = setup_call2(NODE_BODY(node));
> -
> -    {
> -      BagNode* en = BAG_(node);
> -
> -      if (r != 0) return r;
> -      if (en->type == BAG_IF_ELSE) {
> -        if (IS_NOT_NULL(en->te.Then)) {
> -          r = setup_call2(en->te.Then);
> -          if (r != 0) return r;
> -        }
> -        if (IS_NOT_NULL(en->te.Else))
> -          r = setup_call2(en->te.Else);
> -      }
> -    }
> -    break;
> -
> -  case NODE_CALL:
> -    if (! NODE_IS_IN_ZERO_REPEAT(node)) {
> -      setup_call2_call(node);
> -    }
> -    break;
> -
> -  default:
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -
> -static void
> -setup_called_state_call(Node* node, int state)
> -{
> -  switch (NODE_TYPE(node)) {
> -  case NODE_ALT:
> -    state |= IN_ALT;
> -    /* fall */
> -  case NODE_LIST:
> -    do {
> -      setup_called_state_call(NODE_CAR(node), state);
> -    } while (IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_QUANT:
> -    {
> -      QuantNode* qn = QUANT_(node);
> -
> -      if (IS_INFINITE_REPEAT(qn->upper) || qn->upper >= 2)
> -        state |= IN_REAL_REPEAT;
> -      if (qn->lower != qn->upper)
> -        state |= IN_VAR_REPEAT;
> -
> -      setup_called_state_call(NODE_QUANT_BODY(qn), state);
> -    }
> -    break;
> -
> -  case NODE_ANCHOR:
> -    {
> -      AnchorNode* an = ANCHOR_(node);
> -
> -      switch (an->type) {
> -      case ANCR_PREC_READ_NOT:
> -      case ANCR_LOOK_BEHIND_NOT:
> -        state |= IN_NOT;
> -        /* fall */
> -      case ANCR_PREC_READ:
> -      case ANCR_LOOK_BEHIND:
> -        setup_called_state_call(NODE_ANCHOR_BODY(an), state);
> -        break;
> -      default:
> -        break;
> -      }
> -    }
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -
> -      if (en->type == BAG_MEMORY) {
> -        if (NODE_IS_MARK1(node)) {
> -          if ((~en->m.called_state & state) != 0) {
> -            en->m.called_state |= state;
> -            setup_called_state_call(NODE_BODY(node), state);
> -          }
> -        }
> -        else {
> -          NODE_STATUS_ADD(node, MARK1);
> -          en->m.called_state |= state;
> -          setup_called_state_call(NODE_BODY(node), state);
> -          NODE_STATUS_REMOVE(node, MARK1);
> -        }
> -      }
> -      else if (en->type == BAG_IF_ELSE) {
> -        if (IS_NOT_NULL(en->te.Then)) {
> -          setup_called_state_call(en->te.Then, state);
> -        }
> -        if (IS_NOT_NULL(en->te.Else))
> -          setup_called_state_call(en->te.Else, state);
> -      }
> -      else {
> -        setup_called_state_call(NODE_BODY(node), state);
> -      }
> -    }
> -    break;
> -
> -  case NODE_CALL:
> -    setup_called_state_call(NODE_BODY(node), state);
> -    break;
> -
> -  default:
> -    break;
> -  }
> -}
> -
> -static void
> -setup_called_state(Node* node, int state)
> -{
> -  switch (NODE_TYPE(node)) {
> -  case NODE_ALT:
> -    state |= IN_ALT;
> -    /* fall */
> -  case NODE_LIST:
> -    do {
> -      setup_called_state(NODE_CAR(node), state);
> -    } while (IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -#ifdef USE_CALL
> -  case NODE_CALL:
> -    setup_called_state_call(node, state);
> -    break;
> -#endif
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -
> -      switch (en->type) {
> -      case BAG_MEMORY:
> -        if (en->m.entry_count > 1)
> -          state |= IN_MULTI_ENTRY;
> -
> -        en->m.called_state |= state;
> -        /* fall */
> -      case BAG_OPTION:
> -      case BAG_STOP_BACKTRACK:
> -        setup_called_state(NODE_BODY(node), state);
> -        break;
> -      case BAG_IF_ELSE:
> -        setup_called_state(NODE_BODY(node), state);
> -        if (IS_NOT_NULL(en->te.Then))
> -          setup_called_state(en->te.Then, state);
> -        if (IS_NOT_NULL(en->te.Else))
> -          setup_called_state(en->te.Else, state);
> -        break;
> -      }
> -    }
> -    break;
> -
> -  case NODE_QUANT:
> -    {
> -      QuantNode* qn = QUANT_(node);
> -
> -      if (IS_INFINITE_REPEAT(qn->upper) || qn->upper >= 2)
> -        state |= IN_REAL_REPEAT;
> -      if (qn->lower != qn->upper)
> -        state |= IN_VAR_REPEAT;
> -
> -      setup_called_state(NODE_QUANT_BODY(qn), state);
> -    }
> -    break;
> -
> -  case NODE_ANCHOR:
> -    {
> -      AnchorNode* an = ANCHOR_(node);
> -
> -      switch (an->type) {
> -      case ANCR_PREC_READ_NOT:
> -      case ANCR_LOOK_BEHIND_NOT:
> -        state |= IN_NOT;
> -        /* fall */
> -      case ANCR_PREC_READ:
> -      case ANCR_LOOK_BEHIND:
> -        setup_called_state(NODE_ANCHOR_BODY(an), state);
> -        break;
> -      default:
> -        break;
> -      }
> -    }
> -    break;
> -
> -  case NODE_BACKREF:
> -  case NODE_STRING:
> -  case NODE_CTYPE:
> -  case NODE_CCLASS:
> -  case NODE_GIMMICK:
> -  default:
> -    break;
> -  }
> -}
> -
> -#endif  /* USE_CALL */
> -
> -
> -static int setup_tree(Node* node, regex_t* reg, int state, ScanEnv* env);
> -
> -#ifdef __GNUC__
> -__inline
> -#endif
> -static int
> -setup_anchor(Node* node, regex_t* reg, int state, ScanEnv* env)
> -{
> -/* allowed node types in look-behind */
> -#define ALLOWED_TYPE_IN_LB \
> -  ( NODE_BIT_LIST | NODE_BIT_ALT | NODE_BIT_STRING |
> NODE_BIT_CCLASS \
> -  | NODE_BIT_CTYPE | NODE_BIT_ANCHOR | NODE_BIT_BAG |
> NODE_BIT_QUANT \
> -  | NODE_BIT_CALL | NODE_BIT_GIMMICK)
> -
> -#define ALLOWED_BAG_IN_LB       ( 1<<BAG_MEMORY | 1<<BAG_OPTION |
> 1<<BAG_IF_ELSE )
> -#define ALLOWED_BAG_IN_LB_NOT   ( 1<<BAG_OPTION |
> 1<<BAG_IF_ELSE )
> -
> -#define ALLOWED_ANCHOR_IN_LB \
> -  ( ANCR_LOOK_BEHIND | ANCR_BEGIN_LINE | ANCR_END_LINE |
> ANCR_BEGIN_BUF \
> -  | ANCR_BEGIN_POSITION | ANCR_WORD_BOUNDARY |
> ANCR_NO_WORD_BOUNDARY \
> -  | ANCR_WORD_BEGIN | ANCR_WORD_END \
> -  | ANCR_TEXT_SEGMENT_BOUNDARY |
> ANCR_NO_TEXT_SEGMENT_BOUNDARY )
> -
> -#define ALLOWED_ANCHOR_IN_LB_NOT \
> -  ( ANCR_LOOK_BEHIND | ANCR_LOOK_BEHIND_NOT | ANCR_BEGIN_LINE \
> -  | ANCR_END_LINE | ANCR_BEGIN_BUF | ANCR_BEGIN_POSITION |
> ANCR_WORD_BOUNDARY \
> -  | ANCR_NO_WORD_BOUNDARY | ANCR_WORD_BEGIN |
> ANCR_WORD_END \
> -  | ANCR_TEXT_SEGMENT_BOUNDARY |
> ANCR_NO_TEXT_SEGMENT_BOUNDARY )
> -
> -  int r;
> -  AnchorNode* an = ANCHOR_(node);
> -
> -  switch (an->type) {
> -  case ANCR_PREC_READ:
> -    r = setup_tree(NODE_ANCHOR_BODY(an), reg, state, env);
> -    break;
> -  case ANCR_PREC_READ_NOT:
> -    r = setup_tree(NODE_ANCHOR_BODY(an), reg, (state | IN_NOT), env);
> -    break;
> -
> -  case ANCR_LOOK_BEHIND:
> -    {
> -      r = check_type_tree(NODE_ANCHOR_BODY(an), ALLOWED_TYPE_IN_LB,
> -                          ALLOWED_BAG_IN_LB, ALLOWED_ANCHOR_IN_LB);
> -      if (r < 0) return r;
> -      if (r > 0) return ONIGERR_INVALID_LOOK_BEHIND_PATTERN;
> -      r = setup_tree(NODE_ANCHOR_BODY(an), reg,
> (state|IN_LOOK_BEHIND), env);
> -      if (r != 0) return r;
> -      r = setup_look_behind(node, reg, env);
> -    }
> -    break;
> -
> -  case ANCR_LOOK_BEHIND_NOT:
> -    {
> -      r = check_type_tree(NODE_ANCHOR_BODY(an), ALLOWED_TYPE_IN_LB,
> -                          ALLOWED_BAG_IN_LB_NOT, ALLOWED_ANCHOR_IN_LB_NOT);
> -      if (r < 0) return r;
> -      if (r > 0) return ONIGERR_INVALID_LOOK_BEHIND_PATTERN;
> -      r = setup_tree(NODE_ANCHOR_BODY(an), reg,
> (state|IN_NOT|IN_LOOK_BEHIND),
> -                     env);
> -      if (r != 0) return r;
> -      r = setup_look_behind(node, reg, env);
> -    }
> -    break;
> -
> -  default:
> -    r = 0;
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -#ifdef __GNUC__
> -__inline
> -#endif
> -static int
> -setup_quant(Node* node, regex_t* reg, int state, ScanEnv* env)
> -{
> -  int r;
> -  OnigLen d;
> -  QuantNode* qn = QUANT_(node);
> -  Node* body = NODE_BODY(node);
> -
> -  if ((state & IN_REAL_REPEAT) != 0) {
> -    NODE_STATUS_ADD(node, IN_REAL_REPEAT);
> -  }
> -  if ((state & IN_MULTI_ENTRY) != 0) {
> -    NODE_STATUS_ADD(node, IN_MULTI_ENTRY);
> -  }
> -
> -  if (IS_INFINITE_REPEAT(qn->upper) || qn->upper >= 1) {
> -    d = tree_min_len(body, env);
> -    if (d == 0) {
> -#ifdef USE_STUBBORN_CHECK_CAPTURES_IN_EMPTY_REPEAT
> -      qn->emptiness = quantifiers_memory_node_info(body);
> -      if (qn->emptiness == BODY_IS_EMPTY_POSSIBILITY_REC) {
> -        if (NODE_TYPE(body) == NODE_BAG &&
> -            BAG_(body)->type == BAG_MEMORY) {
> -          MEM_STATUS_ON(env->bt_mem_end, BAG_(body)->m.regnum);
> -        }
> -      }
> -#else
> -      qn->emptiness = BODY_IS_EMPTY_POSSIBILITY;
> -#endif
> -    }
> -  }
> -
> -  if (IS_INFINITE_REPEAT(qn->upper) || qn->upper >= 2)
> -    state |= IN_REAL_REPEAT;
> -  if (qn->lower != qn->upper)
> -    state |= IN_VAR_REPEAT;
> -
> -  r = setup_tree(body, reg, state, env);
> -  if (r != 0) return r;
> -
> -  /* expand string */
> -#define EXPAND_STRING_MAX_LENGTH  100
> -  if (NODE_TYPE(body) == NODE_STRING) {
> -    if (!IS_INFINITE_REPEAT(qn->lower) && qn->lower == qn->upper &&
> -        qn->lower > 1 && qn->lower <= EXPAND_STRING_MAX_LENGTH) {
> -      int len = NODE_STRING_LEN(body);
> -      StrNode* sn = STR_(body);
> -
> -      if (len * qn->lower <= EXPAND_STRING_MAX_LENGTH) {
> -        int i, n = qn->lower;
> -        onig_node_conv_to_str_node(node, STR_(body)->flag);
> -        for (i = 0; i < n; i++) {
> -          r = onig_node_str_cat(node, sn->s, sn->end);
> -          if (r != 0) return r;
> -        }
> -        onig_node_free(body);
> -        return r;
> -      }
> -    }
> -  }
> -
> -  if (qn->greedy && (qn->emptiness == BODY_IS_NOT_EMPTY)) {
> -    if (NODE_TYPE(body) == NODE_QUANT) {
> -      QuantNode* tqn = QUANT_(body);
> -      if (IS_NOT_NULL(tqn->head_exact)) {
> -        qn->head_exact  = tqn->head_exact;
> -        tqn->head_exact = NULL;
> -      }
> -    }
> -    else {
> -      qn->head_exact = get_head_value_node(NODE_BODY(node), 1, reg);
> -    }
> -  }
> -
> -  return r;
> -}
> -
> -/* setup_tree does the following work.
> - 1. check empty loop. (set qn->emptiness)
> - 2. expand ignore-case in char class.
> - 3. set memory status bit flags. (reg->mem_stats)
> - 4. set qn->head_exact for [push, exact] -> [push_or_jump_exact1, exact].
> - 5. find invalid patterns in look-behind.
> - 6. expand repeated string.
> - */
> -static int
> -setup_tree(Node* node, regex_t* reg, int state, ScanEnv* env)
> -{
> -  int r = 0;
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -    {
> -      Node* prev = NULL_NODE;
> -      do {
> -        r = setup_tree(NODE_CAR(node), reg, state, env);
> -        if (IS_NOT_NULL(prev) && r == 0) {
> -          r = next_setup(prev, NODE_CAR(node), reg);
> -        }
> -        prev = NODE_CAR(node);
> -      } while (r == 0 && IS_NOT_NULL(node = NODE_CDR(node)));
> -    }
> -    break;
> -
> -  case NODE_ALT:
> -    do {
> -      r = setup_tree(NODE_CAR(node), reg, (state | IN_ALT), env);
> -    } while (r == 0 && IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  case NODE_STRING:
> -    if (IS_IGNORECASE(reg->options) && !NODE_STRING_IS_RAW(node)) {
> -      r = expand_case_fold_string(node, reg, state);
> -    }
> -    break;
> -
> -  case NODE_BACKREF:
> -    {
> -      int i;
> -      int* p;
> -      BackRefNode* br = BACKREF_(node);
> -      p = BACKREFS_P(br);
> -      for (i = 0; i < br->back_num; i++) {
> -        if (p[i] > env->num_mem)  return ONIGERR_INVALID_BACKREF;
> -        MEM_STATUS_ON(env->backrefed_mem, p[i]);
> -        MEM_STATUS_ON(env->bt_mem_start, p[i]);
> -#ifdef USE_BACKREF_WITH_LEVEL
> -        if (NODE_IS_NEST_LEVEL(node)) {
> -          MEM_STATUS_ON(env->bt_mem_end, p[i]);
> -        }
> -#endif
> -      }
> -    }
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -
> -      switch (en->type) {
> -      case BAG_OPTION:
> -        {
> -          OnigOptionType options = reg->options;
> -          reg->options = BAG_(node)->o.options;
> -          r = setup_tree(NODE_BODY(node), reg, state, env);
> -          reg->options = options;
> -        }
> -        break;
> -
> -      case BAG_MEMORY:
> -#ifdef USE_CALL
> -        state |= en->m.called_state;
> -#endif
> -
> -        if ((state & (IN_ALT | IN_NOT | IN_VAR_REPEAT |
> IN_MULTI_ENTRY)) != 0
> -            || NODE_IS_RECURSION(node)) {
> -          MEM_STATUS_ON(env->bt_mem_start, en->m.regnum);
> -        }
> -        r = setup_tree(NODE_BODY(node), reg, state, env);
> -        break;
> -
> -      case BAG_STOP_BACKTRACK:
> -        {
> -          Node* target = NODE_BODY(node);
> -          r = setup_tree(target, reg, state, env);
> -          if (NODE_TYPE(target) == NODE_QUANT) {
> -            QuantNode* tqn = QUANT_(target);
> -            if (IS_INFINITE_REPEAT(tqn->upper) && tqn->lower <= 1 &&
> -                tqn->greedy != 0) {  /* (?>a*), a*+ etc... */
> -              if (is_strict_real_node(NODE_BODY(target)))
> -                NODE_STATUS_ADD(node, STRICT_REAL_REPEAT);
> -            }
> -          }
> -        }
> -        break;
> -
> -      case BAG_IF_ELSE:
> -        r = setup_tree(NODE_BODY(node), reg, (state | IN_ALT), env);
> -        if (r != 0) return r;
> -        if (IS_NOT_NULL(en->te.Then)) {
> -          r = setup_tree(en->te.Then, reg, (state | IN_ALT), env);
> -          if (r != 0) return r;
> -        }
> -        if (IS_NOT_NULL(en->te.Else))
> -          r = setup_tree(en->te.Else, reg, (state | IN_ALT), env);
> -        break;
> -      }
> -    }
> -    break;
> -
> -  case NODE_QUANT:
> -    r = setup_quant(node, reg, state, env);
> -    break;
> -
> -  case NODE_ANCHOR:
> -    r = setup_anchor(node, reg, state, env);
> -    break;
> -
> -#ifdef USE_CALL
> -  case NODE_CALL:
> -#endif
> -  case NODE_CTYPE:
> -  case NODE_CCLASS:
> -  case NODE_GIMMICK:
> -  default:
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -set_sunday_quick_search_or_bmh_skip_table(regex_t* reg, int
> case_expand,
> -                                          UChar* s, UChar* end,
> -                                          UChar skip[], int* roffset)
> -{
> -  int i, j, k, len, offset;
> -  int n, clen;
> -  UChar* p;
> -  OnigEncoding enc;
> -  OnigCaseFoldCodeItem
> items[ONIGENC_GET_CASE_FOLD_CODES_MAX_NUM];
> -  UChar buf[ONIGENC_MBC_CASE_FOLD_MAXLEN];
> -
> -  enc = reg->enc;
> -  offset = ENC_GET_SKIP_OFFSET(enc);
> -  if (offset == ENC_SKIP_OFFSET_1_OR_0) {
> -    UChar* p = s;
> -    while (1) {
> -      len = enclen(enc, p);
> -      if (p + len >= end) {
> -        if (len == 1) offset = 1;
> -        else          offset = 0;
> -        break;
> -      }
> -      p += len;
> -    }
> -  }
> -
> -  len = (int )(end - s);
> -  if (len + offset >= 255)
> -    return ONIGERR_PARSER_BUG;
> -
> -  *roffset = offset;
> -
> -  for (i = 0; i < CHAR_MAP_SIZE; i++) {
> -    skip[i] = (UChar )(len + offset);
> -  }
> -
> -  for (p = s; p < end; ) {
> -    int z;
> -
> -    clen = enclen(enc, p);
> -    if (p + clen > end) clen = (int )(end - p);
> -
> -    len = (int )(end - p);
> -    for (j = 0; j < clen; j++) {
> -      z = len - j + (offset - 1);
> -      if (z <= 0) break;
> -      skip[p[j]] = z;
> -    }
> -
> -    if (case_expand != 0) {
> -      n = ONIGENC_GET_CASE_FOLD_CODES_BY_STR(enc, reg-
> >case_fold_flag,
> -                                             p, end, items);
> -      for (k = 0; k < n; k++) {
> -        ONIGENC_CODE_TO_MBC(enc, items[k].code[0], buf);
> -        for (j = 0; j < clen; j++) {
> -          z = len - j + (offset - 1);
> -          if (z <= 0) break;
> -          if (skip[buf[j]] > z)
> -            skip[buf[j]] = z;
> -        }
> -      }
> -    }
> -
> -    p += clen;
> -  }
> -
> -  return 0;
> -}
> -
> -
> -#define OPT_EXACT_MAXLEN   24
> -
> -#if OPT_EXACT_MAXLEN >= 255
> -#error Too big OPT_EXACT_MAXLEN
> -#endif
> -
> -typedef struct {
> -  OnigLen min;  /* min byte length */
> -  OnigLen max;  /* max byte length */
> -} MinMax;
> -
> -typedef struct {
> -  MinMax           mmd;
> -  OnigEncoding     enc;
> -  OnigOptionType   options;
> -  OnigCaseFoldType case_fold_flag;
> -  ScanEnv*         scan_env;
> -} OptEnv;
> -
> -typedef struct {
> -  int left;
> -  int right;
> -} OptAnc;
> -
> -typedef struct {
> -  MinMax     mmd;   /* position */
> -  OptAnc     anc;
> -  int        reach_end;
> -  int        case_fold;
> -  int        good_case_fold;
> -  int        len;
> -  UChar      s[OPT_EXACT_MAXLEN];
> -} OptStr;
> -
> -typedef struct {
> -  MinMax    mmd;    /* position */
> -  OptAnc    anc;
> -  int       value;  /* weighted value */
> -  UChar     map[CHAR_MAP_SIZE];
> -} OptMap;
> -
> -typedef struct {
> -  MinMax  len;
> -  OptAnc  anc;
> -  OptStr  sb;     /* boundary */
> -  OptStr  sm;     /* middle */
> -  OptStr  spr;    /* prec read (?=...) */
> -  OptMap  map;    /* boundary */
> -} OptNode;
> -
> -
> -static int
> -map_position_value(OnigEncoding enc, int i)
> -{
> -  static const short int Vals[] = {
> -     5,  1,  1,  1,  1,  1,  1,  1,  1, 10, 10,  1,  1, 10,  1,  1,
> -     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
> -    12,  4,  7,  4,  4,  4,  4,  4,  4,  5,  5,  5,  5,  5,  5,  5,
> -     6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  5,  5,  5,  5,  5,  5,
> -     5,  6,  6,  6,  6,  7,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,
> -     6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  5,  6,  5,  5,  5,
> -     5,  6,  6,  6,  6,  7,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,
> -     6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  5,  5,  5,  5,  1
> -  };
> -
> -  if (i < (int )(sizeof(Vals)/sizeof(Vals[0]))) {
> -    if (i == 0 && ONIGENC_MBC_MINLEN(enc) > 1)
> -      return 20;
> -    else
> -      return (int )Vals[i];
> -  }
> -  else
> -    return 4;   /* Take it easy. */
> -}
> -
> -static int
> -distance_value(MinMax* mm)
> -{
> -  /* 1000 / (min-max-dist + 1) */
> -  static const short int dist_vals[] = {
> -    1000,  500,  333,  250,  200,  167,  143,  125,  111,  100,
> -      91,   83,   77,   71,   67,   63,   59,   56,   53,   50,
> -      48,   45,   43,   42,   40,   38,   37,   36,   34,   33,
> -      32,   31,   30,   29,   29,   28,   27,   26,   26,   25,
> -      24,   24,   23,   23,   22,   22,   21,   21,   20,   20,
> -      20,   19,   19,   19,   18,   18,   18,   17,   17,   17,
> -      16,   16,   16,   16,   15,   15,   15,   15,   14,   14,
> -      14,   14,   14,   14,   13,   13,   13,   13,   13,   13,
> -      12,   12,   12,   12,   12,   12,   11,   11,   11,   11,
> -      11,   11,   11,   11,   11,   10,   10,   10,   10,   10
> -  };
> -
> -  OnigLen d;
> -
> -  if (mm->max == INFINITE_LEN) return 0;
> -
> -  d = mm->max - mm->min;
> -  if (d < (OnigLen )(sizeof(dist_vals)/sizeof(dist_vals[0])))
> -    /* return dist_vals[d] * 16 / (mm->min + 12); */
> -    return (int )dist_vals[d];
> -  else
> -    return 1;
> -}
> -
> -static int
> -comp_distance_value(MinMax* d1, MinMax* d2, int v1, int v2)
> -{
> -  if (v2 <= 0) return -1;
> -  if (v1 <= 0) return  1;
> -
> -  v1 *= distance_value(d1);
> -  v2 *= distance_value(d2);
> -
> -  if (v2 > v1) return  1;
> -  if (v2 < v1) return -1;
> -
> -  if (d2->min < d1->min) return  1;
> -  if (d2->min > d1->min) return -1;
> -  return 0;
> -}
> -
> -static int
> -is_equal_mml(MinMax* a, MinMax* b)
> -{
> -  return a->min == b->min && a->max == b->max;
> -}
> -
> -static void
> -set_mml(MinMax* l, OnigLen min, OnigLen max)
> -{
> -  l->min = min;
> -  l->max = max;
> -}
> -
> -static void
> -clear_mml(MinMax* l)
> -{
> -  l->min = l->max = 0;
> -}
> -
> -static void
> -copy_mml(MinMax* to, MinMax* from)
> -{
> -  to->min = from->min;
> -  to->max = from->max;
> -}
> -
> -static void
> -add_mml(MinMax* to, MinMax* from)
> -{
> -  to->min = distance_add(to->min, from->min);
> -  to->max = distance_add(to->max, from->max);
> -}
> -
> -static void
> -alt_merge_mml(MinMax* to, MinMax* from)
> -{
> -  if (to->min > from->min) to->min = from->min;
> -  if (to->max < from->max) to->max = from->max;
> -}
> -
> -static void
> -copy_opt_env(OptEnv* to, OptEnv* from)
> -{
> -  *to = *from;
> -}
> -
> -static void
> -clear_opt_anc_info(OptAnc* a)
> -{
> -  a->left  = 0;
> -  a->right = 0;
> -}
> -
> -static void
> -copy_opt_anc_info(OptAnc* to, OptAnc* from)
> -{
> -  *to = *from;
> -}
> -
> -static void
> -concat_opt_anc_info(OptAnc* to, OptAnc* left, OptAnc* right,
> -                    OnigLen left_len, OnigLen right_len)
> -{
> -  clear_opt_anc_info(to);
> -
> -  to->left = left->left;
> -  if (left_len == 0) {
> -    to->left |= right->left;
> -  }
> -
> -  to->right = right->right;
> -  if (right_len == 0) {
> -    to->right |= left->right;
> -  }
> -  else {
> -    to->right |= (left->right & ANCR_PREC_READ_NOT);
> -  }
> -}
> -
> -static int
> -is_left(int a)
> -{
> -  if (a == ANCR_END_BUF  || a == ANCR_SEMI_END_BUF ||
> -      a == ANCR_END_LINE || a == ANCR_PREC_READ || a ==
> ANCR_PREC_READ_NOT)
> -    return 0;
> -
> -  return 1;
> -}
> -
> -static int
> -is_set_opt_anc_info(OptAnc* to, int anc)
> -{
> -  if ((to->left & anc) != 0) return 1;
> -
> -  return ((to->right & anc) != 0 ? 1 : 0);
> -}
> -
> -static void
> -add_opt_anc_info(OptAnc* to, int anc)
> -{
> -  if (is_left(anc))
> -    to->left |= anc;
> -  else
> -    to->right |= anc;
> -}
> -
> -static void
> -remove_opt_anc_info(OptAnc* to, int anc)
> -{
> -  if (is_left(anc))
> -    to->left &= ~anc;
> -  else
> -    to->right &= ~anc;
> -}
> -
> -static void
> -alt_merge_opt_anc_info(OptAnc* to, OptAnc* add)
> -{
> -  to->left  &= add->left;
> -  to->right &= add->right;
> -}
> -
> -static int
> -is_full_opt_exact(OptStr* e)
> -{
> -  return e->len >= OPT_EXACT_MAXLEN;
> -}
> -
> -static void
> -clear_opt_exact(OptStr* e)
> -{
> -  clear_mml(&e->mmd);
> -  clear_opt_anc_info(&e->anc);
> -  e->reach_end      = 0;
> -  e->case_fold      = 0;
> -  e->good_case_fold = 0;
> -  e->len            = 0;
> -  e->s[0]           = '\0';
> -}
> -
> -static void
> -copy_opt_exact(OptStr* to, OptStr* from)
> -{
> -  *to = *from;
> -}
> -
> -static int
> -concat_opt_exact(OptStr* to, OptStr* add, OnigEncoding enc)
> -{
> -  int i, j, len, r;
> -  UChar *p, *end;
> -  OptAnc tanc;
> -
> -  if (add->case_fold != 0) {
> -    if (! to->case_fold) {
> -      if (to->len > 1 || to->len >= add->len) return 0;  /* avoid */
> -
> -      to->case_fold = 1;
> -    }
> -    else {
> -      if (to->good_case_fold != 0) {
> -        if (add->good_case_fold == 0) return 0;
> -      }
> -    }
> -  }
> -
> -  r = 0;
> -  p = add->s;
> -  end = p + add->len;
> -  for (i = to->len; p < end; ) {
> -    len = enclen(enc, p);
> -    if (i + len > OPT_EXACT_MAXLEN) {
> -      r = 1; /* 1:full */
> -      break;
> -    }
> -    for (j = 0; j < len && p < end; j++)
> -      to->s[i++] = *p++;
> -  }
> -
> -  to->len = i;
> -  to->reach_end = (p == end ? add->reach_end : 0);
> -
> -  concat_opt_anc_info(&tanc, &to->anc, &add->anc, 1, 1);
> -  if (! to->reach_end) tanc.right = 0;
> -  copy_opt_anc_info(&to->anc, &tanc);
> -
> -  return r;
> -}
> -
> -static void
> -concat_opt_exact_str(OptStr* to, UChar* s, UChar* end, OnigEncoding enc)
> -{
> -  int i, j, len;
> -  UChar *p;
> -
> -  for (i = to->len, p = s; p < end && i < OPT_EXACT_MAXLEN; ) {
> -    len = enclen(enc, p);
> -    if (i + len > OPT_EXACT_MAXLEN) break;
> -    for (j = 0; j < len && p < end; j++)
> -      to->s[i++] = *p++;
> -  }
> -
> -  to->len = i;
> -
> -  if (p >= end && to->len == (int )(end - s))
> -    to->reach_end = 1;
> -}
> -
> -static void
> -alt_merge_opt_exact(OptStr* to, OptStr* add, OptEnv* env)
> -{
> -  int i, j, len;
> -
> -  if (add->len == 0 || to->len == 0) {
> -    clear_opt_exact(to);
> -    return ;
> -  }
> -
> -  if (! is_equal_mml(&to->mmd, &add->mmd)) {
> -    clear_opt_exact(to);
> -    return ;
> -  }
> -
> -  for (i = 0; i < to->len && i < add->len; ) {
> -    if (to->s[i] != add->s[i]) break;
> -    len = enclen(env->enc, to->s + i);
> -
> -    for (j = 1; j < len; j++) {
> -      if (to->s[i+j] != add->s[i+j]) break;
> -    }
> -    if (j < len) break;
> -    i += len;
> -  }
> -
> -  if (! add->reach_end || i < add->len || i < to->len) {
> -    to->reach_end = 0;
> -  }
> -  to->len = i;
> -  if (add->case_fold != 0)
> -    to->case_fold = 1;
> -  if (add->good_case_fold == 0)
> -    to->good_case_fold = 0;
> -
> -  alt_merge_opt_anc_info(&to->anc, &add->anc);
> -  if (! to->reach_end) to->anc.right = 0;
> -}
> -
> -static void
> -select_opt_exact(OnigEncoding enc, OptStr* now, OptStr* alt)
> -{
> -  int vn, va;
> -
> -  vn = now->len;
> -  va = alt->len;
> -
> -  if (va == 0) {
> -    return ;
> -  }
> -  else if (vn == 0) {
> -    copy_opt_exact(now, alt);
> -    return ;
> -  }
> -  else if (vn <= 2 && va <= 2) {
> -    /* ByteValTable[x] is big value --> low price */
> -    va = map_position_value(enc, now->s[0]);
> -    vn = map_position_value(enc, alt->s[0]);
> -
> -    if (now->len > 1) vn += 5;
> -    if (alt->len > 1) va += 5;
> -  }
> -
> -  if (now->case_fold == 0) vn *= 2;
> -  if (alt->case_fold == 0) va *= 2;
> -
> -  if (now->good_case_fold != 0) vn *= 4;
> -  if (alt->good_case_fold != 0) va *= 4;
> -
> -  if (comp_distance_value(&now->mmd, &alt->mmd, vn, va) > 0)
> -    copy_opt_exact(now, alt);
> -}
> -
> -static void
> -clear_opt_map(OptMap* map)
> -{
> -  static const OptMap clean_info = {
> -    {0, 0}, {0, 0}, 0,
> -    {
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> -      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
> -    }
> -  };
> -
> -  xmemcpy(map, &clean_info, sizeof(OptMap));
> -}
> -
> -static void
> -copy_opt_map(OptMap* to, OptMap* from)
> -{
> -  xmemcpy(to,from,sizeof(OptMap));
> -}
> -
> -static void
> -add_char_opt_map(OptMap* m, UChar c, OnigEncoding enc)
> -{
> -  if (m->map[c] == 0) {
> -    m->map[c] = 1;
> -    m->value += map_position_value(enc, c);
> -  }
> -}
> -
> -static int
> -add_char_amb_opt_map(OptMap* map, UChar* p, UChar* end,
> -                     OnigEncoding enc, OnigCaseFoldType fold_flag)
> -{
> -  OnigCaseFoldCodeItem
> items[ONIGENC_GET_CASE_FOLD_CODES_MAX_NUM];
> -  UChar buf[ONIGENC_CODE_TO_MBC_MAXLEN];
> -  int i, n;
> -
> -  add_char_opt_map(map, p[0], enc);
> -
> -  fold_flag = DISABLE_CASE_FOLD_MULTI_CHAR(fold_flag);
> -  n = ONIGENC_GET_CASE_FOLD_CODES_BY_STR(enc, fold_flag, p, end,
> items);
> -  if (n < 0) return n;
> -
> -  for (i = 0; i < n; i++) {
> -    ONIGENC_CODE_TO_MBC(enc, items[i].code[0], buf);
> -    add_char_opt_map(map, buf[0], enc);
> -  }
> -
> -  return 0;
> -}
> -
> -static void
> -select_opt_map(OptMap* now, OptMap* alt)
> -{
> -  static int z = 1<<15; /* 32768: something big value */
> -
> -  int vn, va;
> -
> -  if (alt->value == 0) return ;
> -  if (now->value == 0) {
> -    copy_opt_map(now, alt);
> -    return ;
> -  }
> -
> -  vn = z / now->value;
> -  va = z / alt->value;
> -  if (comp_distance_value(&now->mmd, &alt->mmd, vn, va) > 0)
> -    copy_opt_map(now, alt);
> -}
> -
> -static int
> -comp_opt_exact_or_map(OptStr* e, OptMap* m)
> -{
> -#define COMP_EM_BASE  20
> -  int ae, am;
> -  int case_value;
> -
> -  if (m->value <= 0) return -1;
> -
> -  if (e->case_fold != 0) {
> -    if (e->good_case_fold != 0)
> -      case_value = 2;
> -    else
> -      case_value = 1;
> -  }
> -  else
> -    case_value = 3;
> -
> -  ae = COMP_EM_BASE * e->len * case_value;
> -  am = COMP_EM_BASE * 5 * 2 / m->value;
> -  return comp_distance_value(&e->mmd, &m->mmd, ae, am);
> -}
> -
> -static void
> -alt_merge_opt_map(OnigEncoding enc, OptMap* to, OptMap* add)
> -{
> -  int i, val;
> -
> -  /* if (! is_equal_mml(&to->mmd, &add->mmd)) return ; */
> -  if (to->value == 0) return ;
> -  if (add->value == 0 || to->mmd.max < add->mmd.min) {
> -    clear_opt_map(to);
> -    return ;
> -  }
> -
> -  alt_merge_mml(&to->mmd, &add->mmd);
> -
> -  val = 0;
> -  for (i = 0; i < CHAR_MAP_SIZE; i++) {
> -    if (add->map[i])
> -      to->map[i] = 1;
> -
> -    if (to->map[i])
> -      val += map_position_value(enc, i);
> -  }
> -  to->value = val;
> -
> -  alt_merge_opt_anc_info(&to->anc, &add->anc);
> -}
> -
> -static void
> -set_bound_node_opt_info(OptNode* opt, MinMax* plen)
> -{
> -  copy_mml(&(opt->sb.mmd),  plen);
> -  copy_mml(&(opt->spr.mmd), plen);
> -  copy_mml(&(opt->map.mmd), plen);
> -}
> -
> -static void
> -clear_node_opt_info(OptNode* opt)
> -{
> -  clear_mml(&opt->len);
> -  clear_opt_anc_info(&opt->anc);
> -  clear_opt_exact(&opt->sb);
> -  clear_opt_exact(&opt->sm);
> -  clear_opt_exact(&opt->spr);
> -  clear_opt_map(&opt->map);
> -}
> -
> -static void
> -copy_node_opt_info(OptNode* to, OptNode* from)
> -{
> -  xmemcpy(to,from,sizeof(OptNode));
> -}
> -
> -static void
> -concat_left_node_opt_info(OnigEncoding enc, OptNode* to, OptNode*
> add)
> -{
> -  int sb_reach, sm_reach;
> -  OptAnc tanc;
> -
> -  concat_opt_anc_info(&tanc, &to->anc, &add->anc, to->len.max, add-
> >len.max);
> -  copy_opt_anc_info(&to->anc, &tanc);
> -
> -  if (add->sb.len > 0 && to->len.max == 0) {
> -    concat_opt_anc_info(&tanc, &to->anc, &add->sb.anc, to->len.max, add-
> >len.max);
> -    copy_opt_anc_info(&add->sb.anc, &tanc);
> -  }
> -
> -  if (add->map.value > 0 && to->len.max == 0) {
> -    if (add->map.mmd.max == 0)
> -      add->map.anc.left |= to->anc.left;
> -  }
> -
> -  sb_reach = to->sb.reach_end;
> -  sm_reach = to->sm.reach_end;
> -
> -  if (add->len.max != 0)
> -    to->sb.reach_end = to->sm.reach_end = 0;
> -
> -  if (add->sb.len > 0) {
> -    if (sb_reach) {
> -      concat_opt_exact(&to->sb, &add->sb, enc);
> -      clear_opt_exact(&add->sb);
> -    }
> -    else if (sm_reach) {
> -      concat_opt_exact(&to->sm, &add->sb, enc);
> -      clear_opt_exact(&add->sb);
> -    }
> -  }
> -  select_opt_exact(enc, &to->sm, &add->sb);
> -  select_opt_exact(enc, &to->sm, &add->sm);
> -
> -  if (to->spr.len > 0) {
> -    if (add->len.max > 0) {
> -      if (to->spr.len > (int )add->len.max)
> -        to->spr.len = add->len.max;
> -
> -      if (to->spr.mmd.max == 0)
> -        select_opt_exact(enc, &to->sb, &to->spr);
> -      else
> -        select_opt_exact(enc, &to->sm, &to->spr);
> -    }
> -  }
> -  else if (add->spr.len > 0) {
> -    copy_opt_exact(&to->spr, &add->spr);
> -  }
> -
> -  select_opt_map(&to->map, &add->map);
> -  add_mml(&to->len, &add->len);
> -}
> -
> -static void
> -alt_merge_node_opt_info(OptNode* to, OptNode* add, OptEnv* env)
> -{
> -  alt_merge_opt_anc_info(&to->anc, &add->anc);
> -  alt_merge_opt_exact(&to->sb,  &add->sb, env);
> -  alt_merge_opt_exact(&to->sm,  &add->sm, env);
> -  alt_merge_opt_exact(&to->spr, &add->spr, env);
> -  alt_merge_opt_map(env->enc, &to->map, &add->map);
> -
> -  alt_merge_mml(&to->len, &add->len);
> -}
> -
> -
> -#define MAX_NODE_OPT_INFO_REF_COUNT    5
> -
> -static int
> -optimize_nodes(Node* node, OptNode* opt, OptEnv* env)
> -{
> -  int i;
> -  int r;
> -  OptNode xo;
> -  OnigEncoding enc;
> -
> -  r = 0;
> -  enc = env->enc;
> -  clear_node_opt_info(opt);
> -  set_bound_node_opt_info(opt, &env->mmd);
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_LIST:
> -    {
> -      OptEnv nenv;
> -      Node* nd = node;
> -
> -      copy_opt_env(&nenv, env);
> -      do {
> -        r = optimize_nodes(NODE_CAR(nd), &xo, &nenv);
> -        if (r == 0) {
> -          add_mml(&nenv.mmd, &xo.len);
> -          concat_left_node_opt_info(enc, opt, &xo);
> -        }
> -      } while (r == 0 && IS_NOT_NULL(nd = NODE_CDR(nd)));
> -    }
> -    break;
> -
> -  case NODE_ALT:
> -    {
> -      Node* nd = node;
> -
> -      do {
> -        r = optimize_nodes(NODE_CAR(nd), &xo, env);
> -        if (r == 0) {
> -          if (nd == node) copy_node_opt_info(opt, &xo);
> -          else            alt_merge_node_opt_info(opt, &xo, env);
> -        }
> -      } while ((r == 0) && IS_NOT_NULL(nd = NODE_CDR(nd)));
> -    }
> -    break;
> -
> -  case NODE_STRING:
> -    {
> -      StrNode* sn = STR_(node);
> -      int slen = (int )(sn->end - sn->s);
> -      /* int is_raw = NODE_STRING_IS_RAW(node); */
> -
> -      if (! NODE_STRING_IS_AMBIG(node)) {
> -        concat_opt_exact_str(&opt->sb, sn->s, sn->end, enc);
> -        if (slen > 0) {
> -          add_char_opt_map(&opt->map, *(sn->s), enc);
> -        }
> -        set_mml(&opt->len, slen, slen);
> -      }
> -      else {
> -        int max;
> -
> -        if (NODE_STRING_IS_DONT_GET_OPT_INFO(node)) {
> -          int n = onigenc_strlen(enc, sn->s, sn->end);
> -          max = ONIGENC_MBC_MAXLEN_DIST(enc) * n;
> -        }
> -        else {
> -          concat_opt_exact_str(&opt->sb, sn->s, sn->end, enc);
> -          opt->sb.case_fold = 1;
> -          if (NODE_STRING_IS_GOOD_AMBIG(node))
> -            opt->sb.good_case_fold = 1;
> -
> -          if (slen > 0) {
> -            r = add_char_amb_opt_map(&opt->map, sn->s, sn->end,
> -                                     enc, env->case_fold_flag);
> -            if (r != 0) break;
> -          }
> -
> -          max = slen;
> -        }
> -
> -        set_mml(&opt->len, slen, max);
> -      }
> -    }
> -    break;
> -
> -  case NODE_CCLASS:
> -    {
> -      int z;
> -      CClassNode* cc = CCLASS_(node);
> -
> -      /* no need to check ignore case. (set in setup_tree()) */
> -
> -      if (IS_NOT_NULL(cc->mbuf) || IS_NCCLASS_NOT(cc)) {
> -        OnigLen min = ONIGENC_MBC_MINLEN(enc);
> -        OnigLen max = ONIGENC_MBC_MAXLEN_DIST(enc);
> -
> -        set_mml(&opt->len, min, max);
> -      }
> -      else {
> -        for (i = 0; i < SINGLE_BYTE_SIZE; i++) {
> -          z = BITSET_AT(cc->bs, i);
> -          if ((z && ! IS_NCCLASS_NOT(cc)) || (! z && IS_NCCLASS_NOT(cc))) {
> -            add_char_opt_map(&opt->map, (UChar )i, enc);
> -          }
> -        }
> -        set_mml(&opt->len, 1, 1);
> -      }
> -    }
> -    break;
> -
> -  case NODE_CTYPE:
> -    {
> -      int min, max;
> -      int range;
> -
> -      max = ONIGENC_MBC_MAXLEN_DIST(enc);
> -
> -      if (max == 1) {
> -        min = 1;
> -
> -        switch (CTYPE_(node)->ctype) {
> -        case CTYPE_ANYCHAR:
> -          break;
> -
> -        case ONIGENC_CTYPE_WORD:
> -          range = CTYPE_(node)->ascii_mode != 0 ? 128 : SINGLE_BYTE_SIZE;
> -          if (CTYPE_(node)->not != 0) {
> -            for (i = 0; i < range; i++) {
> -              if (! ONIGENC_IS_CODE_WORD(enc, i)) {
> -                add_char_opt_map(&opt->map, (UChar )i, enc);
> -              }
> -            }
> -            for (i = range; i < SINGLE_BYTE_SIZE; i++) {
> -              add_char_opt_map(&opt->map, (UChar )i, enc);
> -            }
> -          }
> -          else {
> -            for (i = 0; i < range; i++) {
> -              if (ONIGENC_IS_CODE_WORD(enc, i)) {
> -                add_char_opt_map(&opt->map, (UChar )i, enc);
> -              }
> -            }
> -          }
> -          break;
> -        }
> -      }
> -      else {
> -        min = ONIGENC_MBC_MINLEN(enc);
> -      }
> -      set_mml(&opt->len, min, max);
> -    }
> -    break;
> -
> -  case NODE_ANCHOR:
> -    switch (ANCHOR_(node)->type) {
> -    case ANCR_BEGIN_BUF:
> -    case ANCR_BEGIN_POSITION:
> -    case ANCR_BEGIN_LINE:
> -    case ANCR_END_BUF:
> -    case ANCR_SEMI_END_BUF:
> -    case ANCR_END_LINE:
> -    case ANCR_PREC_READ_NOT:
> -    case ANCR_LOOK_BEHIND:
> -      add_opt_anc_info(&opt->anc, ANCHOR_(node)->type);
> -      break;
> -
> -    case ANCR_PREC_READ:
> -      {
> -        r = optimize_nodes(NODE_BODY(node), &xo, env);
> -        if (r == 0) {
> -          if (xo.sb.len > 0)
> -            copy_opt_exact(&opt->spr, &xo.sb);
> -          else if (xo.sm.len > 0)
> -            copy_opt_exact(&opt->spr, &xo.sm);
> -
> -          opt->spr.reach_end = 0;
> -
> -          if (xo.map.value > 0)
> -            copy_opt_map(&opt->map, &xo.map);
> -        }
> -      }
> -      break;
> -
> -    case ANCR_LOOK_BEHIND_NOT:
> -      break;
> -    }
> -    break;
> -
> -  case NODE_BACKREF:
> -    if (! NODE_IS_CHECKER(node)) {
> -      int* backs;
> -      OnigLen min, max, tmin, tmax;
> -      MemEnv* mem_env = SCANENV_MEMENV(env->scan_env);
> -      BackRefNode* br = BACKREF_(node);
> -
> -      if (NODE_IS_RECURSION(node)) {
> -        set_mml(&opt->len, 0, INFINITE_LEN);
> -        break;
> -      }
> -      backs = BACKREFS_P(br);
> -      min = tree_min_len(mem_env[backs[0]].node, env->scan_env);
> -      max = tree_max_len(mem_env[backs[0]].node, env->scan_env);
> -      for (i = 1; i < br->back_num; i++) {
> -        tmin = tree_min_len(mem_env[backs[i]].node, env->scan_env);
> -        tmax = tree_max_len(mem_env[backs[i]].node, env->scan_env);
> -        if (min > tmin) min = tmin;
> -        if (max < tmax) max = tmax;
> -      }
> -      set_mml(&opt->len, min, max);
> -    }
> -    break;
> -
> -#ifdef USE_CALL
> -  case NODE_CALL:
> -    if (NODE_IS_RECURSION(node))
> -      set_mml(&opt->len, 0, INFINITE_LEN);
> -    else {
> -      OnigOptionType save = env->options;
> -      env->options = BAG_(NODE_BODY(node))->o.options;
> -      r = optimize_nodes(NODE_BODY(node), opt, env);
> -      env->options = save;
> -    }
> -    break;
> -#endif
> -
> -  case NODE_QUANT:
> -    {
> -      OnigLen min, max;
> -      QuantNode* qn = QUANT_(node);
> -
> -      r = optimize_nodes(NODE_BODY(node), &xo, env);
> -      if (r != 0) break;
> -
> -      if (qn->lower > 0) {
> -        copy_node_opt_info(opt, &xo);
> -        if (xo.sb.len > 0) {
> -          if (xo.sb.reach_end) {
> -            for (i = 2; i <= qn->lower && ! is_full_opt_exact(&opt->sb); i++) {
> -              int rc = concat_opt_exact(&opt->sb, &xo.sb, enc);
> -              if (rc > 0) break;
> -            }
> -            if (i < qn->lower) opt->sb.reach_end = 0;
> -          }
> -        }
> -
> -        if (qn->lower != qn->upper) {
> -          opt->sb.reach_end = 0;
> -          opt->sm.reach_end = 0;
> -        }
> -        if (qn->lower > 1)
> -          opt->sm.reach_end = 0;
> -      }
> -
> -      if (IS_INFINITE_REPEAT(qn->upper)) {
> -        if (env->mmd.max == 0 &&
> -            NODE_IS_ANYCHAR(NODE_BODY(node)) && qn->greedy != 0) {
> -          if (IS_MULTILINE(CTYPE_OPTION(NODE_QUANT_BODY(qn), env)))
> -            add_opt_anc_info(&opt->anc, ANCR_ANYCHAR_INF_ML);
> -          else
> -            add_opt_anc_info(&opt->anc, ANCR_ANYCHAR_INF);
> -        }
> -
> -        max = (xo.len.max > 0 ? INFINITE_LEN : 0);
> -      }
> -      else {
> -        max = distance_multiply(xo.len.max, qn->upper);
> -      }
> -
> -      min = distance_multiply(xo.len.min, qn->lower);
> -      set_mml(&opt->len, min, max);
> -    }
> -    break;
> -
> -  case NODE_BAG:
> -    {
> -      BagNode* en = BAG_(node);
> -
> -      switch (en->type) {
> -      case BAG_OPTION:
> -        {
> -          OnigOptionType save = env->options;
> -
> -          env->options = en->o.options;
> -          r = optimize_nodes(NODE_BODY(node), opt, env);
> -          env->options = save;
> -        }
> -        break;
> -
> -      case BAG_MEMORY:
> -#ifdef USE_CALL
> -        en->opt_count++;
> -        if (en->opt_count > MAX_NODE_OPT_INFO_REF_COUNT) {
> -          OnigLen min, max;
> -
> -          min = 0;
> -          max = INFINITE_LEN;
> -          if (NODE_IS_MIN_FIXED(node)) min = en->min_len;
> -          if (NODE_IS_MAX_FIXED(node)) max = en->max_len;
> -          set_mml(&opt->len, min, max);
> -        }
> -        else
> -#endif
> -          {
> -            r = optimize_nodes(NODE_BODY(node), opt, env);
> -            if (is_set_opt_anc_info(&opt->anc, ANCR_ANYCHAR_INF_MASK)) {
> -              if (MEM_STATUS_AT0(env->scan_env->backrefed_mem, en-
> >m.regnum))
> -                remove_opt_anc_info(&opt->anc, ANCR_ANYCHAR_INF_MASK);
> -            }
> -          }
> -        break;
> -
> -      case BAG_STOP_BACKTRACK:
> -        r = optimize_nodes(NODE_BODY(node), opt, env);
> -        break;
> -
> -      case BAG_IF_ELSE:
> -        {
> -          OptEnv nenv;
> -
> -          copy_opt_env(&nenv, env);
> -          r = optimize_nodes(NODE_BAG_BODY(en), &xo, &nenv);
> -          if (r == 0) {
> -            add_mml(&nenv.mmd, &xo.len);
> -            concat_left_node_opt_info(enc, opt, &xo);
> -            if (IS_NOT_NULL(en->te.Then)) {
> -              r = optimize_nodes(en->te.Then, &xo, &nenv);
> -              if (r == 0) {
> -                concat_left_node_opt_info(enc, opt, &xo);
> -              }
> -            }
> -
> -            if (IS_NOT_NULL(en->te.Else)) {
> -              r = optimize_nodes(en->te.Else, &xo, env);
> -              if (r == 0)
> -                alt_merge_node_opt_info(opt, &xo, env);
> -            }
> -          }
> -        }
> -        break;
> -      }
> -    }
> -    break;
> -
> -  case NODE_GIMMICK:
> -    break;
> -
> -  default:
> -#ifdef ONIG_DEBUG
> -    fprintf(stderr, "optimize_nodes: undefined node type %d\n",
> NODE_TYPE(node));
> -#endif
> -    r = ONIGERR_TYPE_BUG;
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -set_optimize_exact(regex_t* reg, OptStr* e)
> -{
> -  int r;
> -
> -  if (e->len == 0) return 0;
> -
> -  reg->exact = (UChar* )xmalloc(e->len);
> -  CHECK_NULL_RETURN_MEMERR(reg->exact);
> -  xmemcpy(reg->exact, e->s, e->len);
> -  reg->exact_end = reg->exact + e->len;
> -
> -  if (e->case_fold) {
> -    reg->optimize = OPTIMIZE_STR_CASE_FOLD;
> -    if (e->good_case_fold != 0) {
> -      if (e->len >= 2) {
> -        r = set_sunday_quick_search_or_bmh_skip_table(reg, 1,
> -                             reg->exact, reg->exact_end,
> -                             reg->map, &(reg->map_offset));
> -        if (r != 0) return r;
> -        reg->optimize = OPTIMIZE_STR_CASE_FOLD_FAST;
> -      }
> -    }
> -  }
> -  else {
> -    int allow_reverse;
> -
> -    allow_reverse =
> -      ONIGENC_IS_ALLOWED_REVERSE_MATCH(reg->enc, reg->exact, reg-
> >exact_end);
> -
> -    if (e->len >= 2 || (e->len >= 1 && allow_reverse)) {
> -      r = set_sunday_quick_search_or_bmh_skip_table(reg, 0,
> -                                         reg->exact, reg->exact_end,
> -                                         reg->map, &(reg->map_offset));
> -      if (r != 0) return r;
> -
> -      reg->optimize = (allow_reverse != 0
> -                       ? OPTIMIZE_STR_FAST
> -                       : OPTIMIZE_STR_FAST_STEP_FORWARD);
> -    }
> -    else {
> -      reg->optimize = OPTIMIZE_STR;
> -    }
> -  }
> -
> -  reg->dmin = e->mmd.min;
> -  reg->dmax = e->mmd.max;
> -
> -  if (reg->dmin != INFINITE_LEN) {
> -    reg->threshold_len = reg->dmin + (int )(reg->exact_end - reg->exact);
> -  }
> -
> -  return 0;
> -}
> -
> -static void
> -set_optimize_map(regex_t* reg, OptMap* m)
> -{
> -  int i;
> -
> -  for (i = 0; i < CHAR_MAP_SIZE; i++)
> -    reg->map[i] = m->map[i];
> -
> -  reg->optimize   = OPTIMIZE_MAP;
> -  reg->dmin       = m->mmd.min;
> -  reg->dmax       = m->mmd.max;
> -
> -  if (reg->dmin != INFINITE_LEN) {
> -    reg->threshold_len = reg->dmin + 1;
> -  }
> -}
> -
> -static void
> -set_sub_anchor(regex_t* reg, OptAnc* anc)
> -{
> -  reg->sub_anchor |= anc->left  & ANCR_BEGIN_LINE;
> -  reg->sub_anchor |= anc->right & ANCR_END_LINE;
> -}
> -
> -#if defined(ONIG_DEBUG_COMPILE) || defined(ONIG_DEBUG_MATCH)
> -static void print_optimize_info(FILE* f, regex_t* reg);
> -#endif
> -
> -static int
> -set_optimize_info_from_tree(Node* node, regex_t* reg, ScanEnv*
> scan_env)
> -{
> -  int r;
> -  OptNode opt;
> -  OptEnv env;
> -
> -  env.enc            = reg->enc;
> -  env.options        = reg->options;
> -  env.case_fold_flag = reg->case_fold_flag;
> -  env.scan_env       = scan_env;
> -  clear_mml(&env.mmd);
> -
> -  r = optimize_nodes(node, &opt, &env);
> -  if (r != 0) return r;
> -
> -  reg->anchor = opt.anc.left & (ANCR_BEGIN_BUF |
> -        ANCR_BEGIN_POSITION | ANCR_ANYCHAR_INF |
> ANCR_ANYCHAR_INF_ML |
> -        ANCR_LOOK_BEHIND);
> -
> -  if ((opt.anc.left & (ANCR_LOOK_BEHIND | ANCR_PREC_READ_NOT)) != 0)
> -    reg->anchor &= ~ANCR_ANYCHAR_INF_ML;
> -
> -  reg->anchor |= opt.anc.right & (ANCR_END_BUF | ANCR_SEMI_END_BUF
> |
> -                                  ANCR_PREC_READ_NOT);
> -
> -  if (reg->anchor & (ANCR_END_BUF | ANCR_SEMI_END_BUF)) {
> -    reg->anchor_dmin = opt.len.min;
> -    reg->anchor_dmax = opt.len.max;
> -  }
> -
> -  if (opt.sb.len > 0 || opt.sm.len > 0) {
> -    select_opt_exact(reg->enc, &opt.sb, &opt.sm);
> -    if (opt.map.value > 0 && comp_opt_exact_or_map(&opt.sb, &opt.map) >
> 0) {
> -      goto set_map;
> -    }
> -    else {
> -      r = set_optimize_exact(reg, &opt.sb);
> -      set_sub_anchor(reg, &opt.sb.anc);
> -    }
> -  }
> -  else if (opt.map.value > 0) {
> -  set_map:
> -    set_optimize_map(reg, &opt.map);
> -    set_sub_anchor(reg, &opt.map.anc);
> -  }
> -  else {
> -    reg->sub_anchor |= opt.anc.left & ANCR_BEGIN_LINE;
> -    if (opt.len.max == 0)
> -      reg->sub_anchor |= opt.anc.right & ANCR_END_LINE;
> -  }
> -
> -#if defined(ONIG_DEBUG_COMPILE) || defined(ONIG_DEBUG_MATCH)
> -  print_optimize_info(stderr, reg);
> -#endif
> -  return r;
> -}
> -
> -static void
> -clear_optimize_info(regex_t* reg)
> -{
> -  reg->optimize      = OPTIMIZE_NONE;
> -  reg->anchor        = 0;
> -  reg->anchor_dmin   = 0;
> -  reg->anchor_dmax   = 0;
> -  reg->sub_anchor    = 0;
> -  reg->exact_end     = (UChar* )NULL;
> -  reg->map_offset    = 0;
> -  reg->threshold_len = 0;
> -  if (IS_NOT_NULL(reg->exact)) {
> -    xfree(reg->exact);
> -    reg->exact = (UChar* )NULL;
> -  }
> -}
> -
> -#ifdef ONIG_DEBUG
> -
> -static void print_enc_string(FILE* fp, OnigEncoding enc,
> -                             const UChar *s, const UChar *end)
> -{
> -  fprintf(fp, "\nPATTERN: /");
> -
> -  if (ONIGENC_MBC_MINLEN(enc) > 1) {
> -    const UChar *p;
> -    OnigCodePoint code;
> -
> -    p = s;
> -    while (p < end) {
> -      code = ONIGENC_MBC_TO_CODE(enc, p, end);
> -      if (code >= 0x80) {
> -        fprintf(fp, " 0x%04x ", (int )code);
> -      }
> -      else {
> -        fputc((int )code, fp);
> -      }
> -
> -      p += enclen(enc, p);
> -    }
> -  }
> -  else {
> -    while (s < end) {
> -      fputc((int )*s, fp);
> -      s++;
> -    }
> -  }
> -
> -  fprintf(fp, "/\n");
> -}
> -
> -#endif /* ONIG_DEBUG */
> -
> -#if defined(ONIG_DEBUG_COMPILE) || defined(ONIG_DEBUG_MATCH)
> -
> -static void
> -print_distance_range(FILE* f, OnigLen a, OnigLen b)
> -{
> -  if (a == INFINITE_LEN)
> -    fputs("inf", f);
> -  else
> -    fprintf(f, "(%u)", a);
> -
> -  fputs("-", f);
> -
> -  if (b == INFINITE_LEN)
> -    fputs("inf", f);
> -  else
> -    fprintf(f, "(%u)", b);
> -}
> -
> -static void
> -print_anchor(FILE* f, int anchor)
> -{
> -  int q = 0;
> -
> -  fprintf(f, "[");
> -
> -  if (anchor & ANCR_BEGIN_BUF) {
> -    fprintf(f, "begin-buf");
> -    q = 1;
> -  }
> -  if (anchor & ANCR_BEGIN_LINE) {
> -    if (q) fprintf(f, ", ");
> -    q = 1;
> -    fprintf(f, "begin-line");
> -  }
> -  if (anchor & ANCR_BEGIN_POSITION) {
> -    if (q) fprintf(f, ", ");
> -    q = 1;
> -    fprintf(f, "begin-pos");
> -  }
> -  if (anchor & ANCR_END_BUF) {
> -    if (q) fprintf(f, ", ");
> -    q = 1;
> -    fprintf(f, "end-buf");
> -  }
> -  if (anchor & ANCR_SEMI_END_BUF) {
> -    if (q) fprintf(f, ", ");
> -    q = 1;
> -    fprintf(f, "semi-end-buf");
> -  }
> -  if (anchor & ANCR_END_LINE) {
> -    if (q) fprintf(f, ", ");
> -    q = 1;
> -    fprintf(f, "end-line");
> -  }
> -  if (anchor & ANCR_ANYCHAR_INF) {
> -    if (q) fprintf(f, ", ");
> -    q = 1;
> -    fprintf(f, "anychar-inf");
> -  }
> -  if (anchor & ANCR_ANYCHAR_INF_ML) {
> -    if (q) fprintf(f, ", ");
> -    fprintf(f, "anychar-inf-ml");
> -  }
> -
> -  fprintf(f, "]");
> -}
> -
> -static void
> -print_optimize_info(FILE* f, regex_t* reg)
> -{
> -  static const char* on[] = { "NONE", "STR",
> -                              "STR_FAST", "STR_FAST_STEP_FORWARD",
> -                              "STR_CASE_FOLD_FAST", "STR_CASE_FOLD", "MAP" };
> -
> -  fprintf(f, "optimize: %s\n", on[reg->optimize]);
> -  fprintf(f, "  anchor: "); print_anchor(f, reg->anchor);
> -  if ((reg->anchor & ANCR_END_BUF_MASK) != 0)
> -    print_distance_range(f, reg->anchor_dmin, reg->anchor_dmax);
> -  fprintf(f, "\n");
> -
> -  if (reg->optimize) {
> -    fprintf(f, "  sub anchor: "); print_anchor(f, reg->sub_anchor);
> -    fprintf(f, "\n");
> -  }
> -  fprintf(f, "\n");
> -
> -  if (reg->exact) {
> -    UChar *p;
> -    fprintf(f, "exact: [");
> -    for (p = reg->exact; p < reg->exact_end; p++) {
> -      fputc(*p, f);
> -    }
> -    fprintf(f, "]: length: %ld\n", (reg->exact_end - reg->exact));
> -  }
> -  else if (reg->optimize & OPTIMIZE_MAP) {
> -    int c, i, n = 0;
> -
> -    for (i = 0; i < CHAR_MAP_SIZE; i++)
> -      if (reg->map[i]) n++;
> -
> -    fprintf(f, "map: n=%d\n", n);
> -    if (n > 0) {
> -      c = 0;
> -      fputc('[', f);
> -      for (i = 0; i < CHAR_MAP_SIZE; i++) {
> -        if (reg->map[i] != 0) {
> -          if (c > 0)  fputs(", ", f);
> -          c++;
> -          if (ONIGENC_MBC_MAXLEN(reg->enc) == 1 &&
> -              ONIGENC_IS_CODE_PRINT(reg->enc, (OnigCodePoint )i))
> -            fputc(i, f);
> -          else
> -            fprintf(f, "%d", i);
> -        }
> -      }
> -      fprintf(f, "]\n");
> -    }
> -  }
> -}
> -#endif
> -
> -
> -extern RegexExt*
> -onig_get_regex_ext(regex_t* reg)
> -{
> -  if (IS_NULL(reg->extp)) {
> -    RegexExt* ext = (RegexExt* )xmalloc(sizeof(*ext));
> -    if (IS_NULL(ext)) return 0;
> -
> -    ext->pattern      = 0;
> -    ext->pattern_end  = 0;
> -#ifdef USE_CALLOUT
> -    ext->tag_table    = 0;
> -    ext->callout_num  = 0;
> -    ext->callout_list_alloc = 0;
> -    ext->callout_list = 0;
> -#endif
> -
> -    reg->extp = ext;
> -  }
> -
> -  return reg->extp;
> -}
> -
> -static void
> -free_regex_ext(RegexExt* ext)
> -{
> -  if (IS_NOT_NULL(ext)) {
> -    if (IS_NOT_NULL(ext->pattern))
> -      xfree((void* )ext->pattern);
> -
> -#ifdef USE_CALLOUT
> -    if (IS_NOT_NULL(ext->tag_table))
> -      onig_callout_tag_table_free(ext->tag_table);
> -
> -    if (IS_NOT_NULL(ext->callout_list))
> -      onig_free_reg_callout_list(ext->callout_num, ext->callout_list);
> -#endif
> -
> -    xfree(ext);
> -  }
> -}
> -
> -extern int
> -onig_ext_set_pattern(regex_t* reg, const UChar* pattern, const UChar*
> pattern_end)
> -{
> -  RegexExt* ext;
> -  UChar* s;
> -
> -  ext = onig_get_regex_ext(reg);
> -  CHECK_NULL_RETURN_MEMERR(ext);
> -
> -  s = onigenc_strdup(reg->enc, pattern, pattern_end);
> -  CHECK_NULL_RETURN_MEMERR(s);
> -
> -  ext->pattern     = s;
> -  ext->pattern_end = s + (pattern_end - pattern);
> -
> -  return ONIG_NORMAL;
> -}
> -
> -extern void
> -onig_free_body(regex_t* reg)
> -{
> -  if (IS_NOT_NULL(reg)) {
> -    ops_free(reg);
> -    if (IS_NOT_NULL(reg->string_pool)) {
> -      xfree(reg->string_pool);
> -      reg->string_pool_end = reg->string_pool = 0;
> -    }
> -    if (IS_NOT_NULL(reg->exact))            xfree(reg->exact);
> -    if (IS_NOT_NULL(reg->repeat_range))     xfree(reg->repeat_range);
> -    if (IS_NOT_NULL(reg->extp)) {
> -      free_regex_ext(reg->extp);
> -      reg->extp = 0;
> -    }
> -
> -    onig_names_free(reg);
> -  }
> -}
> -
> -extern void
> -onig_free(regex_t* reg)
> -{
> -  if (IS_NOT_NULL(reg)) {
> -    onig_free_body(reg);
> -    xfree(reg);
> -  }
> -}
> -
> -
> -#ifdef ONIG_DEBUG_PARSE
> -static void print_tree P_((FILE* f, Node* node));
> -#endif
> -
> -extern int onig_init_for_match_at(regex_t* reg);
> -
> -extern int
> -onig_compile(regex_t* reg, const UChar* pattern, const UChar*
> pattern_end,
> -             OnigErrorInfo* einfo)
> -{
> -  int r;
> -  Node*  root;
> -  ScanEnv  scan_env;
> -#ifdef USE_CALL
> -  UnsetAddrList  uslist;
> -#endif
> -
> -  root = 0;
> -  if (IS_NOT_NULL(einfo)) {
> -    einfo->enc = reg->enc;
> -    einfo->par = (UChar* )NULL;
> -  }
> -
> -#ifdef ONIG_DEBUG
> -  print_enc_string(stderr, reg->enc, pattern, pattern_end);
> -#endif
> -
> -  if (reg->ops_alloc == 0) {
> -    r = ops_init(reg, OPS_INIT_SIZE);
> -    if (r != 0) goto end;
> -  }
> -  else
> -    reg->ops_used = 0;
> -
> -  reg->string_pool        = 0;
> -  reg->string_pool_end    = 0;
> -  reg->num_mem            = 0;
> -  reg->num_repeat         = 0;
> -  reg->num_null_check     = 0;
> -  reg->repeat_range_alloc = 0;
> -  reg->repeat_range       = (OnigRepeatRange* )NULL;
> -
> -  r = onig_parse_tree(&root, pattern, pattern_end, reg, &scan_env);
> -  if (r != 0) goto err;
> -
> -  /* mixed use named group and no-named group */
> -  if (scan_env.num_named > 0 &&
> -      IS_SYNTAX_BV(scan_env.syntax,
> ONIG_SYN_CAPTURE_ONLY_NAMED_GROUP) &&
> -      ! ONIG_IS_OPTION_ON(reg->options,
> ONIG_OPTION_CAPTURE_GROUP)) {
> -    if (scan_env.num_named != scan_env.num_mem)
> -      r = disable_noname_group_capture(&root, reg, &scan_env);
> -    else
> -      r = numbered_ref_check(root);
> -
> -    if (r != 0) goto err;
> -  }
> -
> -  r = check_backrefs(root, &scan_env);
> -  if (r != 0) goto err;
> -
> -#ifdef USE_CALL
> -  if (scan_env.num_call > 0) {
> -    r = unset_addr_list_init(&uslist, scan_env.num_call);
> -    if (r != 0) goto err;
> -    scan_env.unset_addr_list = &uslist;
> -    r = setup_call(root, &scan_env, 0);
> -    if (r != 0) goto err_unset;
> -    r = setup_call2(root);
> -    if (r != 0) goto err_unset;
> -    r = recursive_call_check_trav(root, &scan_env, 0);
> -    if (r  < 0) goto err_unset;
> -    r = infinite_recursive_call_check_trav(root, &scan_env);
> -    if (r != 0) goto err_unset;
> -
> -    setup_called_state(root, 0);
> -  }
> -
> -  reg->num_call = scan_env.num_call;
> -#endif
> -
> -  r = setup_tree(root, reg, 0, &scan_env);
> -  if (r != 0) goto err_unset;
> -
> -#ifdef ONIG_DEBUG_PARSE
> -  print_tree(stderr, root);
> -#endif
> -
> -  reg->capture_history  = scan_env.capture_history;
> -  reg->bt_mem_start     = scan_env.bt_mem_start;
> -  reg->bt_mem_start    |= reg->capture_history;
> -  if (IS_FIND_CONDITION(reg->options))
> -    MEM_STATUS_ON_ALL(reg->bt_mem_end);
> -  else {
> -    reg->bt_mem_end  = scan_env.bt_mem_end;
> -    reg->bt_mem_end |= reg->capture_history;
> -  }
> -  reg->bt_mem_start |= reg->bt_mem_end;
> -
> -  clear_optimize_info(reg);
> -#ifndef ONIG_DONT_OPTIMIZE
> -  r = set_optimize_info_from_tree(root, reg, &scan_env);
> -  if (r != 0) goto err_unset;
> -#endif
> -
> -  if (IS_NOT_NULL(scan_env.mem_env_dynamic)) {
> -    xfree(scan_env.mem_env_dynamic);
> -    scan_env.mem_env_dynamic = (MemEnv* )NULL;
> -  }
> -
> -  r = compile_tree(root, reg, &scan_env);
> -  if (r == 0) {
> -    if (scan_env.keep_num > 0) {
> -      r = add_op(reg, OP_UPDATE_VAR);
> -      if (r != 0) goto err;
> -
> -      COP(reg)->update_var.type = UPDATE_VAR_KEEP_FROM_STACK_LAST;
> -      COP(reg)->update_var.id   = 0; /* not used */
> -    }
> -
> -    r = add_op(reg, OP_END);
> -    if (r != 0) goto err;
> -
> -#ifdef USE_CALL
> -    if (scan_env.num_call > 0) {
> -      r = fix_unset_addr_list(&uslist, reg);
> -      unset_addr_list_end(&uslist);
> -      if (r != 0) goto err;
> -    }
> -#endif
> -
> -    if ((reg->num_repeat != 0) || (reg->bt_mem_end != 0)
> -#ifdef USE_CALLOUT
> -        || (IS_NOT_NULL(reg->extp) && reg->extp->callout_num != 0)
> -#endif
> -        )
> -      reg->stack_pop_level = STACK_POP_LEVEL_ALL;
> -    else {
> -      if (reg->bt_mem_start != 0)
> -        reg->stack_pop_level = STACK_POP_LEVEL_MEM_START;
> -      else
> -        reg->stack_pop_level = STACK_POP_LEVEL_FREE;
> -    }
> -
> -    r = ops_make_string_pool(reg);
> -    if (r != 0) goto err;
> -  }
> -#ifdef USE_CALL
> -  else if (scan_env.num_call > 0) {
> -    unset_addr_list_end(&uslist);
> -  }
> -#endif
> -  onig_node_free(root);
> -
> -#ifdef ONIG_DEBUG_COMPILE
> -  onig_print_names(stderr, reg);
> -  onig_print_compiled_byte_code_list(stderr, reg);
> -#endif
> -
> -#ifdef USE_DIRECT_THREADED_CODE
> -  /* opcode -> opaddr */
> -  onig_init_for_match_at(reg);
> -#endif
> -
> - end:
> -  return r;
> -
> - err_unset:
> -#ifdef USE_CALL
> -  if (scan_env.num_call > 0) {
> -    unset_addr_list_end(&uslist);
> -  }
> -#endif
> - err:
> -  if (IS_NOT_NULL(scan_env.error)) {
> -    if (IS_NOT_NULL(einfo)) {
> -      einfo->par     = scan_env.error;
> -      einfo->par_end = scan_env.error_end;
> -    }
> -  }
> -
> -  onig_node_free(root);
> -  if (IS_NOT_NULL(scan_env.mem_env_dynamic))
> -      xfree(scan_env.mem_env_dynamic);
> -  return r;
> -}
> -
> -
> -static int onig_inited = 0;
> -
> -extern int
> -onig_reg_init(regex_t* reg, OnigOptionType option, OnigCaseFoldType
> case_fold_flag,
> -              OnigEncoding enc, OnigSyntaxType* syntax)
> -{
> -  int r;
> -
> -  xmemset(reg, 0, sizeof(*reg));
> -
> -  if (onig_inited == 0) {
> -#if 0
> -    return ONIGERR_LIBRARY_IS_NOT_INITIALIZED;
> -#else
> -    r = onig_initialize(&enc, 1);
> -    if (r != 0)
> -      return ONIGERR_FAIL_TO_INITIALIZE;
> -
> -    onig_warning("You didn't call onig_initialize() explicitly");
> -#endif
> -  }
> -
> -  if (IS_NULL(reg))
> -    return ONIGERR_INVALID_ARGUMENT;
> -
> -  if (ONIGENC_IS_UNDEF(enc))
> -    return ONIGERR_DEFAULT_ENCODING_IS_NOT_SETTED;
> -
> -  if ((option &
> (ONIG_OPTION_DONT_CAPTURE_GROUP|ONIG_OPTION_CAPTURE_GROU
> P))
> -      ==
> (ONIG_OPTION_DONT_CAPTURE_GROUP|ONIG_OPTION_CAPTURE_GROU
> P)) {
> -    return ONIGERR_INVALID_COMBINATION_OF_OPTIONS;
> -  }
> -
> -  if ((option & ONIG_OPTION_NEGATE_SINGLELINE) != 0) {
> -    option |= syntax->options;
> -    option &= ~ONIG_OPTION_SINGLELINE;
> -  }
> -  else
> -    option |= syntax->options;
> -
> -  (reg)->enc              = enc;
> -  (reg)->options          = option;
> -  (reg)->syntax           = syntax;
> -  (reg)->optimize         = 0;
> -  (reg)->exact            = (UChar* )NULL;
> -  (reg)->extp             = (RegexExt* )NULL;
> -
> -  (reg)->ops              = (Operation* )NULL;
> -  (reg)->ops_curr         = (Operation* )NULL;
> -  (reg)->ops_used         = 0;
> -  (reg)->ops_alloc        = 0;
> -  (reg)->name_table       = (void* )NULL;
> -
> -  (reg)->case_fold_flag   = case_fold_flag;
> -  return 0;
> -}
> -
> -extern int
> -onig_new_without_alloc(regex_t* reg,
> -                       const UChar* pattern, const UChar* pattern_end,
> -                       OnigOptionType option, OnigEncoding enc,
> -                       OnigSyntaxType* syntax, OnigErrorInfo* einfo)
> -{
> -  int r;
> -
> -  r = onig_reg_init(reg, option, ONIGENC_CASE_FOLD_DEFAULT, enc,
> syntax);
> -  if (r != 0) return r;
> -
> -  r = onig_compile(reg, pattern, pattern_end, einfo);
> -  return r;
> -}
> -
> -extern int
> -onig_new(regex_t** reg, const UChar* pattern, const UChar* pattern_end,
> -         OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax,
> -         OnigErrorInfo* einfo)
> -{
> -  int r;
> -
> -  *reg = (regex_t* )xmalloc(sizeof(regex_t));
> -  if (IS_NULL(*reg)) return ONIGERR_MEMORY;
> -
> -  r = onig_reg_init(*reg, option, ONIGENC_CASE_FOLD_DEFAULT, enc,
> syntax);
> -  if (r != 0) goto err;
> -
> -  r = onig_compile(*reg, pattern, pattern_end, einfo);
> -  if (r != 0) {
> -  err:
> -    onig_free(*reg);
> -    *reg = NULL;
> -  }
> -  return r;
> -}
> -
> -extern int
> -onig_initialize(OnigEncoding encodings[], int n)
> -{
> -  int i;
> -  int r;
> -
> -  if (onig_inited != 0)
> -    return 0;
> -
> -  onigenc_init();
> -
> -  onig_inited = 1;
> -
> -  for (i = 0; i < n; i++) {
> -    OnigEncoding enc = encodings[i];
> -    r = onig_initialize_encoding(enc);
> -    if (r != 0)
> -      return r;
> -  }
> -
> -  return ONIG_NORMAL;
> -}
> -
> -typedef struct EndCallListItem {
> -  struct EndCallListItem* next;
> -  void (*func)(void);
> -} EndCallListItemType;
> -
> -static EndCallListItemType* EndCallTop;
> -
> -extern void onig_add_end_call(void (*func)(void))
> -{
> -  EndCallListItemType* item;
> -
> -  item = (EndCallListItemType* )xmalloc(sizeof(*item));
> -  if (item == 0) return ;
> -
> -  item->next = EndCallTop;
> -  item->func = func;
> -
> -  EndCallTop = item;
> -}
> -
> -static void
> -exec_end_call_list(void)
> -{
> -  EndCallListItemType* prev;
> -  void (*func)(void);
> -
> -  while (EndCallTop != 0) {
> -    func = EndCallTop->func;
> -    (*func)();
> -
> -    prev = EndCallTop;
> -    EndCallTop = EndCallTop->next;
> -    xfree(prev);
> -  }
> -}
> -
> -extern int
> -onig_end(void)
> -{
> -  exec_end_call_list();
> -
> -#ifdef USE_CALLOUT
> -  onig_global_callout_names_free();
> -#endif
> -
> -  onigenc_end();
> -
> -  onig_inited = 0;
> -
> -  return 0;
> -}
> -
> -extern int
> -onig_is_in_code_range(const UChar* p, OnigCodePoint code)
> -{
> -  OnigCodePoint n, *data;
> -  OnigCodePoint low, high, x;
> -
> -  GET_CODE_POINT(n, p);
> -  data = (OnigCodePoint* )p;
> -  data++;
> -
> -  for (low = 0, high = n; low < high; ) {
> -    x = (low + high) >> 1;
> -    if (code > data[x * 2 + 1])
> -      low = x + 1;
> -    else
> -      high = x;
> -  }
> -
> -  return ((low < n && code >= data[low * 2]) ? 1 : 0);
> -}
> -
> -extern int
> -onig_is_code_in_cc_len(int elen, OnigCodePoint code, /* CClassNode* */
> void* cc_arg)
> -{
> -  int found;
> -  CClassNode* cc = (CClassNode* )cc_arg;
> -
> -  if (elen > 1 || (code >= SINGLE_BYTE_SIZE)) {
> -    if (IS_NULL(cc->mbuf)) {
> -      found = 0;
> -    }
> -    else {
> -      found = onig_is_in_code_range(cc->mbuf->p, code) != 0;
> -    }
> -  }
> -  else {
> -    found = BITSET_AT(cc->bs, code) != 0;
> -  }
> -
> -  if (IS_NCCLASS_NOT(cc))
> -    return !found;
> -  else
> -    return found;
> -}
> -
> -extern int
> -onig_is_code_in_cc(OnigEncoding enc, OnigCodePoint code, CClassNode*
> cc)
> -{
> -  int len;
> -
> -  if (ONIGENC_MBC_MINLEN(enc) > 1) {
> -    len = 2;
> -  }
> -  else {
> -    len = ONIGENC_CODE_TO_MBCLEN(enc, code);
> -    if (len < 0) return 0;
> -  }
> -  return onig_is_code_in_cc_len(len, code, cc);
> -}
> -
> -
> -#ifdef ONIG_DEBUG_PARSE
> -
> -static void
> -p_string(FILE* f, int len, UChar* s)
> -{
> -  fputs(":", f);
> -  while (len-- > 0) { fputc(*s++, f); }
> -}
> -
> -static void
> -Indent(FILE* f, int indent)
> -{
> -  int i;
> -  for (i = 0; i < indent; i++) putc(' ', f);
> -}
> -
> -static void
> -print_indent_tree(FILE* f, Node* node, int indent)
> -{
> -  int i;
> -  NodeType type;
> -  UChar* p;
> -  int add = 3;
> -
> -  Indent(f, indent);
> -  if (IS_NULL(node)) {
> -    fprintf(f, "ERROR: null node!!!\n");
> -    exit (0);
> -  }
> -
> -  type = NODE_TYPE(node);
> -  switch (type) {
> -  case NODE_LIST:
> -  case NODE_ALT:
> -    if (type == NODE_LIST)
> -      fprintf(f, "<list:%p>\n", node);
> -    else
> -      fprintf(f, "<alt:%p>\n", node);
> -
> -    print_indent_tree(f, NODE_CAR(node), indent + add);
> -    while (IS_NOT_NULL(node = NODE_CDR(node))) {
> -      if (NODE_TYPE(node) != type) {
> -        fprintf(f, "ERROR: list/alt right is not a cons. %d\n", NODE_TYPE(node));
> -        exit(0);
> -      }
> -      print_indent_tree(f, NODE_CAR(node), indent + add);
> -    }
> -    break;
> -
> -  case NODE_STRING:
> -    {
> -      char* mode;
> -      char* dont;
> -      char* good;
> -
> -      if (NODE_STRING_IS_RAW(node))
> -        mode = "-raw";
> -      else if (NODE_STRING_IS_AMBIG(node))
> -        mode = "-ambig";
> -      else
> -        mode = "";
> -
> -      if (NODE_STRING_IS_GOOD_AMBIG(node))
> -        good = "-good";
> -      else
> -        good = "";
> -
> -      if (NODE_STRING_IS_DONT_GET_OPT_INFO(node))
> -        dont = " (dont-opt)";
> -      else
> -        dont = "";
> -
> -      fprintf(f, "<string%s%s%s:%p>", mode, good, dont, node);
> -      for (p = STR_(node)->s; p < STR_(node)->end; p++) {
> -        if (*p >= 0x20 && *p < 0x7f)
> -          fputc(*p, f);
> -        else {
> -          fprintf(f, " 0x%02x", *p);
> -        }
> -      }
> -    }
> -    break;
> -
> -  case NODE_CCLASS:
> -    fprintf(f, "<cclass:%p>", node);
> -    if (IS_NCCLASS_NOT(CCLASS_(node))) fputs(" not", f);
> -    if (CCLASS_(node)->mbuf) {
> -      BBuf* bbuf = CCLASS_(node)->mbuf;
> -      for (i = 0; i < bbuf->used; i++) {
> -        if (i > 0) fprintf(f, ",");
> -        fprintf(f, "%0x", bbuf->p[i]);
> -      }
> -    }
> -    break;
> -
> -  case NODE_CTYPE:
> -    fprintf(f, "<ctype:%p> ", node);
> -    switch (CTYPE_(node)->ctype) {
> -    case CTYPE_ANYCHAR:
> -      fprintf(f, "<anychar:%p>", node);
> -      break;
> -
> -    case ONIGENC_CTYPE_WORD:
> -      if (CTYPE_(node)->not != 0)
> -        fputs("not word", f);
> -      else
> -        fputs("word",     f);
> -
> -      if (CTYPE_(node)->ascii_mode != 0)
> -        fputs(" (ascii)", f);
> -
> -      break;
> -
> -    default:
> -      fprintf(f, "ERROR: undefined ctype.\n");
> -      exit(0);
> -    }
> -    break;
> -
> -  case NODE_ANCHOR:
> -    fprintf(f, "<anchor:%p> ", node);
> -    switch (ANCHOR_(node)->type) {
> -    case ANCR_BEGIN_BUF:        fputs("begin buf",      f); break;
> -    case ANCR_END_BUF:          fputs("end buf",        f); break;
> -    case ANCR_BEGIN_LINE:       fputs("begin line",     f); break;
> -    case ANCR_END_LINE:         fputs("end line",       f); break;
> -    case ANCR_SEMI_END_BUF:     fputs("semi end buf",   f); break;
> -    case ANCR_BEGIN_POSITION:   fputs("begin position", f); break;
> -
> -    case ANCR_WORD_BOUNDARY:    fputs("word boundary",     f); break;
> -    case ANCR_NO_WORD_BOUNDARY: fputs("not word boundary", f); break;
> -#ifdef USE_WORD_BEGIN_END
> -    case ANCR_WORD_BEGIN:       fputs("word begin", f);     break;
> -    case ANCR_WORD_END:         fputs("word end", f);       break;
> -#endif
> -    case ANCR_TEXT_SEGMENT_BOUNDARY:
> -      fputs("text-segment boundary", f); break;
> -    case ANCR_NO_TEXT_SEGMENT_BOUNDARY:
> -      fputs("no text-segment boundary", f); break;
> -    case ANCR_PREC_READ:
> -      fprintf(f, "prec read\n");
> -      print_indent_tree(f, NODE_BODY(node), indent + add);
> -      break;
> -    case ANCR_PREC_READ_NOT:
> -      fprintf(f, "prec read not\n");
> -      print_indent_tree(f, NODE_BODY(node), indent + add);
> -      break;
> -    case ANCR_LOOK_BEHIND:
> -      fprintf(f, "look behind\n");
> -      print_indent_tree(f, NODE_BODY(node), indent + add);
> -      break;
> -    case ANCR_LOOK_BEHIND_NOT:
> -      fprintf(f, "look behind not\n");
> -      print_indent_tree(f, NODE_BODY(node), indent + add);
> -      break;
> -
> -    default:
> -      fprintf(f, "ERROR: undefined anchor type.\n");
> -      break;
> -    }
> -    break;
> -
> -  case NODE_BACKREF:
> -    {
> -      int* p;
> -      BackRefNode* br = BACKREF_(node);
> -      p = BACKREFS_P(br);
> -      fprintf(f, "<backref%s:%p>", NODE_IS_CHECKER(node) ? "-checker" : "",
> node);
> -      for (i = 0; i < br->back_num; i++) {
> -        if (i > 0) fputs(", ", f);
> -        fprintf(f, "%d", p[i]);
> -      }
> -    }
> -    break;
> -
> -#ifdef USE_CALL
> -  case NODE_CALL:
> -    {
> -      CallNode* cn = CALL_(node);
> -      fprintf(f, "<call:%p>", node);
> -      p_string(f, cn->name_end - cn->name, cn->name);
> -    }
> -    break;
> -#endif
> -
> -  case NODE_QUANT:
> -    fprintf(f, "<quantifier:%p>{%d,%d}%s\n", node,
> -            QUANT_(node)->lower, QUANT_(node)->upper,
> -            (QUANT_(node)->greedy ? "" : "?"));
> -    print_indent_tree(f, NODE_BODY(node), indent + add);
> -    break;
> -
> -  case NODE_BAG:
> -    fprintf(f, "<bag:%p> ", node);
> -    switch (BAG_(node)->type) {
> -    case BAG_OPTION:
> -      fprintf(f, "option:%d", BAG_(node)->o.options);
> -      break;
> -    case BAG_MEMORY:
> -      fprintf(f, "memory:%d", BAG_(node)->m.regnum);
> -      break;
> -    case BAG_STOP_BACKTRACK:
> -      fprintf(f, "stop-bt");
> -      break;
> -    case BAG_IF_ELSE:
> -      fprintf(f, "if-else");
> -      break;
> -    }
> -    fprintf(f, "\n");
> -    print_indent_tree(f, NODE_BODY(node), indent + add);
> -    break;
> -
> -  case NODE_GIMMICK:
> -    fprintf(f, "<gimmick:%p> ", node);
> -    switch (GIMMICK_(node)->type) {
> -    case GIMMICK_FAIL:
> -      fprintf(f, "fail");
> -      break;
> -    case GIMMICK_SAVE:
> -      fprintf(f, "save:%d:%d", GIMMICK_(node)->detail_type,
> GIMMICK_(node)->id);
> -      break;
> -    case GIMMICK_UPDATE_VAR:
> -      fprintf(f, "update_var:%d:%d", GIMMICK_(node)->detail_type,
> GIMMICK_(node)->id);
> -      break;
> -#ifdef USE_CALLOUT
> -    case GIMMICK_CALLOUT:
> -      switch (GIMMICK_(node)->detail_type) {
> -      case ONIG_CALLOUT_OF_CONTENTS:
> -        fprintf(f, "callout:contents:%d", GIMMICK_(node)->num);
> -        break;
> -      case ONIG_CALLOUT_OF_NAME:
> -        fprintf(f, "callout:name:%d:%d", GIMMICK_(node)->id,
> GIMMICK_(node)->num);
> -        break;
> -      }
> -#endif
> -    }
> -    break;
> -
> -  default:
> -    fprintf(f, "print_indent_tree: undefined node type %d\n",
> NODE_TYPE(node));
> -    break;
> -  }
> -
> -  if (type != NODE_LIST && type != NODE_ALT && type != NODE_QUANT &&
> -      type != NODE_BAG)
> -    fprintf(f, "\n");
> -  fflush(f);
> -}
> -
> -static void
> -print_tree(FILE* f, Node* node)
> -{
> -  print_indent_tree(f, node, 0);
> -}
> -#endif
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regenc.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regenc.c
> deleted file mode 100644
> index 079cd01f29f7..000000000000
> --- a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regenc.c
> +++ /dev/null
> @@ -1,1029 +0,0 @@
> -
> /**********************************************************
> ************
> -  regenc.c -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2019  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#include "regint.h"
> -
> -OnigEncoding OnigEncDefaultCharEncoding =
> ONIG_ENCODING_INIT_DEFAULT;
> -
> -#define INITED_LIST_SIZE  20
> -
> -static int InitedListNum;
> -
> -static struct {
> -  OnigEncoding enc;
> -  int          inited;
> -} InitedList[INITED_LIST_SIZE];
> -
> -static int
> -enc_inited_entry(OnigEncoding enc)
> -{
> -  int i;
> -
> -  for (i = 0; i < InitedListNum; i++) {
> -    if (InitedList[i].enc == enc) {
> -      InitedList[i].inited = 1;
> -      return i;
> -    }
> -  }
> -
> -  i = InitedListNum;
> -  if (i < INITED_LIST_SIZE - 1) {
> -    InitedList[i].enc    = enc;
> -    InitedList[i].inited = 1;
> -    InitedListNum++;
> -    return i;
> -  }
> -
> -  return -1;
> -}
> -
> -static int
> -enc_is_inited(OnigEncoding enc)
> -{
> -  int i;
> -
> -  for (i = 0; i < InitedListNum; i++) {
> -    if (InitedList[i].enc == enc) {
> -      return InitedList[i].inited;
> -    }
> -  }
> -
> -  return 0;
> -}
> -
> -static int OnigEncInited;
> -
> -extern int
> -onigenc_init(void)
> -{
> -  if (OnigEncInited != 0) return 0;
> -
> -  OnigEncInited = 1;
> -  return 0;
> -}
> -
> -extern int
> -onigenc_end(void)
> -{
> -  int i;
> -
> -  for (i = 0; i < InitedListNum; i++) {
> -    InitedList[i].enc    = 0;
> -    InitedList[i].inited = 0;
> -  }
> -  InitedListNum = 0;
> -
> -  OnigEncInited = 0;
> -  return ONIG_NORMAL;
> -}
> -
> -extern int
> -onig_initialize_encoding(OnigEncoding enc)
> -{
> -  int r;
> -
> -  if (enc != ONIG_ENCODING_ASCII &&
> -      ONIGENC_IS_ASCII_COMPATIBLE_ENCODING(enc)) {
> -    OnigEncoding ascii = ONIG_ENCODING_ASCII;
> -    if (ascii->init != 0 && enc_is_inited(ascii) == 0) {
> -      r = ascii->init();
> -      if (r != ONIG_NORMAL) return r;
> -      enc_inited_entry(ascii);
> -    }
> -  }
> -
> -  if (enc->init != 0 &&
> -      enc_is_inited(enc) == 0) {
> -    r = (enc->init)();
> -    if (r == ONIG_NORMAL)
> -      enc_inited_entry(enc);
> -    return r;
> -  }
> -
> -  return 0;
> -}
> -
> -extern OnigEncoding
> -onigenc_get_default_encoding(void)
> -{
> -  return OnigEncDefaultCharEncoding;
> -}
> -
> -extern int
> -onigenc_set_default_encoding(OnigEncoding enc)
> -{
> -  OnigEncDefaultCharEncoding = enc;
> -  return 0;
> -}
> -
> -extern UChar*
> -onigenc_strdup(OnigEncoding enc, const UChar* s, const UChar* end)
> -{
> -  int slen, term_len, i;
> -  UChar *r;
> -
> -  slen = (int )(end - s);
> -  term_len = ONIGENC_MBC_MINLEN(enc);
> -
> -  r = (UChar* )xmalloc(slen + term_len);
> -  CHECK_NULL_RETURN(r);
> -  xmemcpy(r, s, slen);
> -
> -  for (i = 0; i < term_len; i++)
> -    r[slen + i] = (UChar )0;
> -
> -  return r;
> -}
> -
> -extern UChar*
> -onigenc_get_right_adjust_char_head(OnigEncoding enc, const UChar* start,
> const UChar* s)
> -{
> -  UChar* p = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s);
> -  if (p < s) {
> -    p += enclen(enc, p);
> -  }
> -  return p;
> -}
> -
> -extern UChar*
> -onigenc_get_right_adjust_char_head_with_prev(OnigEncoding enc,
> -            const UChar* start, const UChar* s, const UChar** prev)
> -{
> -  UChar* p = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s);
> -
> -  if (p < s) {
> -    if (prev) *prev = (const UChar* )p;
> -    p += enclen(enc, p);
> -  }
> -  else {
> -    if (prev) *prev = (const UChar* )NULL; /* Sorry */
> -  }
> -  return p;
> -}
> -
> -extern UChar*
> -onigenc_get_prev_char_head(OnigEncoding enc, const UChar* start, const
> UChar* s)
> -{
> -  if (s <= start)
> -    return (UChar* )NULL;
> -
> -  return ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s - 1);
> -}
> -
> -extern UChar*
> -onigenc_step_back(OnigEncoding enc, const UChar* start, const UChar* s,
> int n)
> -{
> -  while (ONIG_IS_NOT_NULL(s) && n-- > 0) {
> -    if (s <= start)
> -      return (UChar* )NULL;
> -
> -    s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s - 1);
> -  }
> -  return (UChar* )s;
> -}
> -
> -#if 0
> -extern int
> -onigenc_mbc_enc_len_end(OnigEncoding enc, const UChar* p, const
> UChar* end)
> -{
> -  int len;
> -  int n;
> -
> -  len = ONIGENC_MBC_ENC_LEN(enc, p);
> -  n = (int )(end - p);
> -
> -  return (n < len ? n : len);
> -}
> -#endif
> -
> -extern UChar*
> -onigenc_step(OnigEncoding enc, const UChar* p, const UChar* end, int n)
> -{
> -  UChar* q = (UChar* )p;
> -  while (n-- > 0) {
> -    q += ONIGENC_MBC_ENC_LEN(enc, q);
> -  }
> -  return (q <= end ? q : NULL);
> -}
> -
> -extern int
> -onigenc_strlen(OnigEncoding enc, const UChar* p, const UChar* end)
> -{
> -  int n = 0;
> -  UChar* q = (UChar* )p;
> -
> -  while (q < end) {
> -    q += ONIGENC_MBC_ENC_LEN(enc, q);
> -    n++;
> -  }
> -  return n;
> -}
> -
> -extern int
> -onigenc_strlen_null(OnigEncoding enc, const UChar* s)
> -{
> -  int n = 0;
> -  UChar* p = (UChar* )s;
> -
> -  while (1) {
> -    if (*p == '\0') {
> -      UChar* q;
> -      int len = ONIGENC_MBC_MINLEN(enc);
> -
> -      if (len == 1) return n;
> -      q = p + 1;
> -      while (len > 1) {
> -        if (*q != '\0') break;
> -        q++;
> -        len--;
> -      }
> -      if (len == 1) return n;
> -    }
> -    p += ONIGENC_MBC_ENC_LEN(enc, p);
> -    n++;
> -  }
> -}
> -
> -extern int
> -onigenc_str_bytelen_null(OnigEncoding enc, const UChar* s)
> -{
> -  UChar* start = (UChar* )s;
> -  UChar* p = (UChar* )s;
> -
> -  while (1) {
> -    if (*p == '\0') {
> -      UChar* q;
> -      int len = ONIGENC_MBC_MINLEN(enc);
> -
> -      if (len == 1) return (int )(p - start);
> -      q = p + 1;
> -      while (len > 1) {
> -        if (*q != '\0') break;
> -        q++;
> -        len--;
> -      }
> -      if (len == 1) return (int )(p - start);
> -    }
> -    p += ONIGENC_MBC_ENC_LEN(enc, p);
> -  }
> -}
> -
> -const UChar OnigEncAsciiToLowerCaseTable[] = {
> -  '\000', '\001', '\002', '\003', '\004', '\005', '\006', '\007',
> -  '\010', '\011', '\012', '\013', '\014', '\015', '\016', '\017',
> -  '\020', '\021', '\022', '\023', '\024', '\025', '\026', '\027',
> -  '\030', '\031', '\032', '\033', '\034', '\035', '\036', '\037',
> -  '\040', '\041', '\042', '\043', '\044', '\045', '\046', '\047',
> -  '\050', '\051', '\052', '\053', '\054', '\055', '\056', '\057',
> -  '\060', '\061', '\062', '\063', '\064', '\065', '\066', '\067',
> -  '\070', '\071', '\072', '\073', '\074', '\075', '\076', '\077',
> -  '\100', '\141', '\142', '\143', '\144', '\145', '\146', '\147',
> -  '\150', '\151', '\152', '\153', '\154', '\155', '\156', '\157',
> -  '\160', '\161', '\162', '\163', '\164', '\165', '\166', '\167',
> -  '\170', '\171', '\172', '\133', '\134', '\135', '\136', '\137',
> -  '\140', '\141', '\142', '\143', '\144', '\145', '\146', '\147',
> -  '\150', '\151', '\152', '\153', '\154', '\155', '\156', '\157',
> -  '\160', '\161', '\162', '\163', '\164', '\165', '\166', '\167',
> -  '\170', '\171', '\172', '\173', '\174', '\175', '\176', '\177',
> -  '\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207',
> -  '\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217',
> -  '\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227',
> -  '\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237',
> -  '\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247',
> -  '\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257',
> -  '\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267',
> -  '\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277',
> -  '\300', '\301', '\302', '\303', '\304', '\305', '\306', '\307',
> -  '\310', '\311', '\312', '\313', '\314', '\315', '\316', '\317',
> -  '\320', '\321', '\322', '\323', '\324', '\325', '\326', '\327',
> -  '\330', '\331', '\332', '\333', '\334', '\335', '\336', '\337',
> -  '\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347',
> -  '\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357',
> -  '\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367',
> -  '\370', '\371', '\372', '\373', '\374', '\375', '\376', '\377',
> -};
> -
> -#ifdef USE_UPPER_CASE_TABLE
> -const UChar OnigEncAsciiToUpperCaseTable[256] = {
> -  '\000', '\001', '\002', '\003', '\004', '\005', '\006', '\007',
> -  '\010', '\011', '\012', '\013', '\014', '\015', '\016', '\017',
> -  '\020', '\021', '\022', '\023', '\024', '\025', '\026', '\027',
> -  '\030', '\031', '\032', '\033', '\034', '\035', '\036', '\037',
> -  '\040', '\041', '\042', '\043', '\044', '\045', '\046', '\047',
> -  '\050', '\051', '\052', '\053', '\054', '\055', '\056', '\057',
> -  '\060', '\061', '\062', '\063', '\064', '\065', '\066', '\067',
> -  '\070', '\071', '\072', '\073', '\074', '\075', '\076', '\077',
> -  '\100', '\101', '\102', '\103', '\104', '\105', '\106', '\107',
> -  '\110', '\111', '\112', '\113', '\114', '\115', '\116', '\117',
> -  '\120', '\121', '\122', '\123', '\124', '\125', '\126', '\127',
> -  '\130', '\131', '\132', '\133', '\134', '\135', '\136', '\137',
> -  '\140', '\101', '\102', '\103', '\104', '\105', '\106', '\107',
> -  '\110', '\111', '\112', '\113', '\114', '\115', '\116', '\117',
> -  '\120', '\121', '\122', '\123', '\124', '\125', '\126', '\127',
> -  '\130', '\131', '\132', '\173', '\174', '\175', '\176', '\177',
> -  '\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207',
> -  '\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217',
> -  '\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227',
> -  '\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237',
> -  '\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247',
> -  '\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257',
> -  '\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267',
> -  '\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277',
> -  '\300', '\301', '\302', '\303', '\304', '\305', '\306', '\307',
> -  '\310', '\311', '\312', '\313', '\314', '\315', '\316', '\317',
> -  '\320', '\321', '\322', '\323', '\324', '\325', '\326', '\327',
> -  '\330', '\331', '\332', '\333', '\334', '\335', '\336', '\337',
> -  '\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347',
> -  '\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357',
> -  '\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367',
> -  '\370', '\371', '\372', '\373', '\374', '\375', '\376', '\377',
> -};
> -#endif
> -
> -const unsigned short OnigEncAsciiCtypeTable[256] = {
> -  0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008,
> -  0x4008, 0x420c, 0x4209, 0x4208, 0x4208, 0x4208, 0x4008, 0x4008,
> -  0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008,
> -  0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008,
> -  0x4284, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0,
> -  0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0,
> -  0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0,
> -  0x78b0, 0x78b0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0,
> -  0x41a0, 0x7ca2, 0x7ca2, 0x7ca2, 0x7ca2, 0x7ca2, 0x7ca2, 0x74a2,
> -  0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2,
> -  0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2,
> -  0x74a2, 0x74a2, 0x74a2, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x51a0,
> -  0x41a0, 0x78e2, 0x78e2, 0x78e2, 0x78e2, 0x78e2, 0x78e2, 0x70e2,
> -  0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2,
> -  0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2,
> -  0x70e2, 0x70e2, 0x70e2, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x4008,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> -  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
> -};
> -
> -const UChar OnigEncISO_8859_1_ToLowerCaseTable[256] = {
> -  '\000', '\001', '\002', '\003', '\004', '\005', '\006', '\007',
> -  '\010', '\011', '\012', '\013', '\014', '\015', '\016', '\017',
> -  '\020', '\021', '\022', '\023', '\024', '\025', '\026', '\027',
> -  '\030', '\031', '\032', '\033', '\034', '\035', '\036', '\037',
> -  '\040', '\041', '\042', '\043', '\044', '\045', '\046', '\047',
> -  '\050', '\051', '\052', '\053', '\054', '\055', '\056', '\057',
> -  '\060', '\061', '\062', '\063', '\064', '\065', '\066', '\067',
> -  '\070', '\071', '\072', '\073', '\074', '\075', '\076', '\077',
> -  '\100', '\141', '\142', '\143', '\144', '\145', '\146', '\147',
> -  '\150', '\151', '\152', '\153', '\154', '\155', '\156', '\157',
> -  '\160', '\161', '\162', '\163', '\164', '\165', '\166', '\167',
> -  '\170', '\171', '\172', '\133', '\134', '\135', '\136', '\137',
> -  '\140', '\141', '\142', '\143', '\144', '\145', '\146', '\147',
> -  '\150', '\151', '\152', '\153', '\154', '\155', '\156', '\157',
> -  '\160', '\161', '\162', '\163', '\164', '\165', '\166', '\167',
> -  '\170', '\171', '\172', '\173', '\174', '\175', '\176', '\177',
> -  '\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207',
> -  '\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217',
> -  '\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227',
> -  '\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237',
> -  '\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247',
> -  '\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257',
> -  '\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267',
> -  '\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277',
> -  '\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347',
> -  '\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357',
> -  '\360', '\361', '\362', '\363', '\364', '\365', '\366', '\327',
> -  '\370', '\371', '\372', '\373', '\374', '\375', '\376', '\337',
> -  '\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347',
> -  '\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357',
> -  '\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367',
> -  '\370', '\371', '\372', '\373', '\374', '\375', '\376', '\377'
> -};
> -
> -#ifdef USE_UPPER_CASE_TABLE
> -const UChar OnigEncISO_8859_1_ToUpperCaseTable[256] = {
> -  '\000', '\001', '\002', '\003', '\004', '\005', '\006', '\007',
> -  '\010', '\011', '\012', '\013', '\014', '\015', '\016', '\017',
> -  '\020', '\021', '\022', '\023', '\024', '\025', '\026', '\027',
> -  '\030', '\031', '\032', '\033', '\034', '\035', '\036', '\037',
> -  '\040', '\041', '\042', '\043', '\044', '\045', '\046', '\047',
> -  '\050', '\051', '\052', '\053', '\054', '\055', '\056', '\057',
> -  '\060', '\061', '\062', '\063', '\064', '\065', '\066', '\067',
> -  '\070', '\071', '\072', '\073', '\074', '\075', '\076', '\077',
> -  '\100', '\101', '\102', '\103', '\104', '\105', '\106', '\107',
> -  '\110', '\111', '\112', '\113', '\114', '\115', '\116', '\117',
> -  '\120', '\121', '\122', '\123', '\124', '\125', '\126', '\127',
> -  '\130', '\131', '\132', '\133', '\134', '\135', '\136', '\137',
> -  '\140', '\101', '\102', '\103', '\104', '\105', '\106', '\107',
> -  '\110', '\111', '\112', '\113', '\114', '\115', '\116', '\117',
> -  '\120', '\121', '\122', '\123', '\124', '\125', '\126', '\127',
> -  '\130', '\131', '\132', '\173', '\174', '\175', '\176', '\177',
> -  '\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207',
> -  '\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217',
> -  '\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227',
> -  '\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237',
> -  '\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247',
> -  '\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257',
> -  '\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267',
> -  '\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277',
> -  '\300', '\301', '\302', '\303', '\304', '\305', '\306', '\307',
> -  '\310', '\311', '\312', '\313', '\314', '\315', '\316', '\317',
> -  '\320', '\321', '\322', '\323', '\324', '\325', '\326', '\327',
> -  '\330', '\331', '\332', '\333', '\334', '\335', '\336', '\337',
> -  '\300', '\301', '\302', '\303', '\304', '\305', '\306', '\307',
> -  '\310', '\311', '\312', '\313', '\314', '\315', '\316', '\317',
> -  '\320', '\321', '\322', '\323', '\324', '\325', '\326', '\367',
> -  '\330', '\331', '\332', '\333', '\334', '\335', '\336', '\377',
> -};
> -#endif
> -
> -extern void
> -onigenc_set_default_caseconv_table(const UChar* table ARG_UNUSED)
> -{
> -  /* nothing */
> -  /* obsoleted. */
> -}
> -
> -extern UChar*
> -onigenc_get_left_adjust_char_head(OnigEncoding enc, const UChar* start,
> const UChar* s)
> -{
> -  return ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s);
> -}
> -
> -const OnigPairCaseFoldCodes OnigAsciiLowerMap[] = {
> -  { 0x41, 0x61 },
> -  { 0x42, 0x62 },
> -  { 0x43, 0x63 },
> -  { 0x44, 0x64 },
> -  { 0x45, 0x65 },
> -  { 0x46, 0x66 },
> -  { 0x47, 0x67 },
> -  { 0x48, 0x68 },
> -  { 0x49, 0x69 },
> -  { 0x4a, 0x6a },
> -  { 0x4b, 0x6b },
> -  { 0x4c, 0x6c },
> -  { 0x4d, 0x6d },
> -  { 0x4e, 0x6e },
> -  { 0x4f, 0x6f },
> -  { 0x50, 0x70 },
> -  { 0x51, 0x71 },
> -  { 0x52, 0x72 },
> -  { 0x53, 0x73 },
> -  { 0x54, 0x74 },
> -  { 0x55, 0x75 },
> -  { 0x56, 0x76 },
> -  { 0x57, 0x77 },
> -  { 0x58, 0x78 },
> -  { 0x59, 0x79 },
> -  { 0x5a, 0x7a }
> -};
> -
> -extern int
> -onigenc_ascii_apply_all_case_fold(OnigCaseFoldType flag ARG_UNUSED,
> -                                  OnigApplyAllCaseFoldFunc f, void* arg)
> -{
> -  OnigCodePoint code;
> -  int i, r;
> -
> -  for (i = 0;
> -       i < (int )(sizeof(OnigAsciiLowerMap)/sizeof(OnigPairCaseFoldCodes));
> -       i++) {
> -    code = OnigAsciiLowerMap[i].to;
> -    r = (*f)(OnigAsciiLowerMap[i].from, &code, 1, arg);
> -    if (r != 0) return r;
> -
> -    code = OnigAsciiLowerMap[i].from;
> -    r = (*f)(OnigAsciiLowerMap[i].to, &code, 1, arg);
> -    if (r != 0) return r;
> -  }
> -
> -  return 0;
> -}
> -
> -extern int
> -onigenc_ascii_get_case_fold_codes_by_str(OnigCaseFoldType flag
> ARG_UNUSED,
> -    const OnigUChar* p, const OnigUChar* end ARG_UNUSED,
> -    OnigCaseFoldCodeItem items[])
> -{
> -  if (0x41 <= *p && *p <= 0x5a) {
> -    items[0].byte_len = 1;
> -    items[0].code_len = 1;
> -    items[0].code[0] = (OnigCodePoint )(*p + 0x20);
> -    return 1;
> -  }
> -  else if (0x61 <= *p && *p <= 0x7a) {
> -    items[0].byte_len = 1;
> -    items[0].code_len = 1;
> -    items[0].code[0] = (OnigCodePoint )(*p - 0x20);
> -    return 1;
> -  }
> -  else
> -    return 0;
> -}
> -
> -static int
> -ss_apply_all_case_fold(OnigCaseFoldType flag ARG_UNUSED,
> -                       OnigApplyAllCaseFoldFunc f, void* arg)
> -{
> -  static OnigCodePoint ss[] = { 0x73, 0x73 };
> -
> -  return (*f)((OnigCodePoint )0xdf, ss, 2, arg);
> -}
> -
> -extern int
> -onigenc_apply_all_case_fold_with_map(int map_size,
> -    const OnigPairCaseFoldCodes map[],
> -    int ess_tsett_flag, OnigCaseFoldType flag,
> -    OnigApplyAllCaseFoldFunc f, void* arg)
> -{
> -  OnigCodePoint code;
> -  int i, r;
> -
> -  r = onigenc_ascii_apply_all_case_fold(flag, f, arg);
> -  if (r != 0) return r;
> -
> -  for (i = 0; i < map_size; i++) {
> -    code = map[i].to;
> -    r = (*f)(map[i].from, &code, 1, arg);
> -    if (r != 0) return r;
> -
> -    code = map[i].from;
> -    r = (*f)(map[i].to, &code, 1, arg);
> -    if (r != 0) return r;
> -  }
> -
> -  if (ess_tsett_flag != 0)
> -    return ss_apply_all_case_fold(flag, f, arg);
> -
> -  return 0;
> -}
> -
> -extern int
> -onigenc_get_case_fold_codes_by_str_with_map(int map_size,
> -    const OnigPairCaseFoldCodes map[],
> -    int ess_tsett_flag, OnigCaseFoldType flag ARG_UNUSED,
> -    const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem
> items[])
> -{
> -  if (0x41 <= *p && *p <= 0x5a) {
> -    items[0].byte_len = 1;
> -    items[0].code_len = 1;
> -    items[0].code[0] = (OnigCodePoint )(*p + 0x20);
> -    if (*p == 0x53 && ess_tsett_flag != 0 && end > p + 1
> -        && (*(p+1) == 0x53 || *(p+1) == 0x73)) {
> -      /* SS */
> -      items[1].byte_len = 2;
> -      items[1].code_len = 1;
> -      items[1].code[0] = (OnigCodePoint )0xdf;
> -      return 2;
> -    }
> -    else
> -      return 1;
> -  }
> -  else if (0x61 <= *p && *p <= 0x7a) {
> -    items[0].byte_len = 1;
> -    items[0].code_len = 1;
> -    items[0].code[0] = (OnigCodePoint )(*p - 0x20);
> -    if (*p == 0x73 && ess_tsett_flag != 0 && end > p + 1
> -        && (*(p+1) == 0x73 || *(p+1) == 0x53)) {
> -      /* ss */
> -      items[1].byte_len = 2;
> -      items[1].code_len = 1;
> -      items[1].code[0] = (OnigCodePoint )0xdf;
> -      return 2;
> -    }
> -    else
> -      return 1;
> -  }
> -  else if (*p == 0xdf && ess_tsett_flag != 0) {
> -    items[0].byte_len = 1;
> -    items[0].code_len = 2;
> -    items[0].code[0] = (OnigCodePoint )'s';
> -    items[0].code[1] = (OnigCodePoint )'s';
> -
> -    items[1].byte_len = 1;
> -    items[1].code_len = 2;
> -    items[1].code[0] = (OnigCodePoint )'S';
> -    items[1].code[1] = (OnigCodePoint )'S';
> -
> -    items[2].byte_len = 1;
> -    items[2].code_len = 2;
> -    items[2].code[0] = (OnigCodePoint )'s';
> -    items[2].code[1] = (OnigCodePoint )'S';
> -
> -    items[3].byte_len = 1;
> -    items[3].code_len = 2;
> -    items[3].code[0] = (OnigCodePoint )'S';
> -    items[3].code[1] = (OnigCodePoint )'s';
> -
> -    return 4;
> -  }
> -  else {
> -    int i;
> -
> -    for (i = 0; i < map_size; i++) {
> -      if (*p == map[i].from) {
> -        items[0].byte_len = 1;
> -        items[0].code_len = 1;
> -        items[0].code[0] = map[i].to;
> -        return 1;
> -      }
> -      else if (*p == map[i].to) {
> -        items[0].byte_len = 1;
> -        items[0].code_len = 1;
> -        items[0].code[0] = map[i].from;
> -        return 1;
> -      }
> -    }
> -  }
> -
> -  return 0;
> -}
> -
> -
> -extern int
> -onigenc_not_support_get_ctype_code_range(OnigCtype ctype
> ARG_UNUSED,
> -                                         OnigCodePoint* sb_out ARG_UNUSED,
> -                                         const OnigCodePoint* ranges[] ARG_UNUSED)
> -{
> -  return ONIG_NO_SUPPORT_CONFIG;
> -}
> -
> -extern int
> -onigenc_is_mbc_newline_0x0a(const UChar* p, const UChar* end)
> -{
> -  if (p < end) {
> -    if (*p == 0x0a) return 1;
> -  }
> -  return 0;
> -}
> -
> -/* for single byte encodings */
> -extern int
> -onigenc_ascii_mbc_case_fold(OnigCaseFoldType flag ARG_UNUSED, const
> UChar** p,
> -                            const UChar*end ARG_UNUSED, UChar* lower)
> -{
> -  *lower = ONIGENC_ASCII_CODE_TO_LOWER_CASE(**p);
> -
> -  (*p)++;
> -  return 1; /* return byte length of converted char to lower */
> -}
> -
> -#if 0
> -extern int
> -onigenc_ascii_is_mbc_ambiguous(OnigCaseFoldType flag,
> -                               const UChar** pp, const UChar* end)
> -{
> -  const UChar* p = *pp;
> -
> -  (*pp)++;
> -  return ONIGENC_IS_ASCII_CODE_CASE_AMBIG(*p);
> -}
> -#endif
> -
> -extern int
> -onigenc_single_byte_mbc_enc_len(const UChar* p ARG_UNUSED)
> -{
> -  return 1;
> -}
> -
> -extern OnigCodePoint
> -onigenc_single_byte_mbc_to_code(const UChar* p, const UChar* end
> ARG_UNUSED)
> -{
> -  return (OnigCodePoint )(*p);
> -}
> -
> -extern int
> -onigenc_single_byte_code_to_mbclen(OnigCodePoint code ARG_UNUSED)
> -{
> -  return (code < 0x100 ? 1 : ONIGERR_INVALID_CODE_POINT_VALUE);
> -}
> -
> -extern int
> -onigenc_single_byte_code_to_mbc(OnigCodePoint code, UChar *buf)
> -{
> -  *buf = (UChar )(code & 0xff);
> -  return 1;
> -}
> -
> -extern UChar*
> -onigenc_single_byte_left_adjust_char_head(const UChar* start
> ARG_UNUSED,
> -                                          const UChar* s)
> -{
> -  return (UChar* )s;
> -}
> -
> -extern int
> -onigenc_always_true_is_allowed_reverse_match(const UChar* s
> ARG_UNUSED,
> -                                             const UChar* end ARG_UNUSED)
> -{
> -  return TRUE;
> -}
> -
> -extern int
> -onigenc_always_false_is_allowed_reverse_match(const UChar* s
> ARG_UNUSED,
> -                                              const UChar* end ARG_UNUSED)
> -{
> -  return FALSE;
> -}
> -
> -extern int
> -onigenc_always_true_is_valid_mbc_string(const UChar* s   ARG_UNUSED,
> -                                        const UChar* end ARG_UNUSED)
> -{
> -  return TRUE;
> -}
> -
> -extern int
> -onigenc_length_check_is_valid_mbc_string(OnigEncoding enc,
> -                                         const UChar* p, const UChar* end)
> -{
> -  while (p < end) {
> -    p += enclen(enc, p);
> -  }
> -
> -  if (p != end)
> -    return FALSE;
> -  else
> -    return TRUE;
> -}
> -
> -extern int
> -onigenc_is_valid_mbc_string(OnigEncoding enc, const UChar* s, const
> UChar* end)
> -{
> -  return ONIGENC_IS_VALID_MBC_STRING(enc, s, end);
> -}
> -
> -extern OnigCodePoint
> -onigenc_mbn_mbc_to_code(OnigEncoding enc, const UChar* p, const
> UChar* end)
> -{
> -  int c, i, len;
> -  OnigCodePoint n;
> -
> -  len = enclen(enc, p);
> -  n = (OnigCodePoint )(*p++);
> -  if (len == 1) return n;
> -
> -  for (i = 1; i < len; i++) {
> -    if (p >= end) break;
> -    c = *p++;
> -    n <<= 8;  n += c;
> -  }
> -  return n;
> -}
> -
> -extern int
> -onigenc_mbn_mbc_case_fold(OnigEncoding enc, OnigCaseFoldType flag
> ARG_UNUSED,
> -                          const UChar** pp, const UChar* end ARG_UNUSED,
> -                          UChar* lower)
> -{
> -  int len;
> -  const UChar *p = *pp;
> -
> -  if (ONIGENC_IS_MBC_ASCII(p)) {
> -    *lower = ONIGENC_ASCII_CODE_TO_LOWER_CASE(*p);
> -    (*pp)++;
> -    return 1;
> -  }
> -  else {
> -    int i;
> -
> -    len = enclen(enc, p);
> -    for (i = 0; i < len; i++) {
> -      *lower++ = *p++;
> -    }
> -    (*pp) += len;
> -    return len; /* return byte length of converted to lower char */
> -  }
> -}
> -
> -#if 0
> -extern int
> -onigenc_mbn_is_mbc_ambiguous(OnigEncoding enc, OnigCaseFoldType
> flag,
> -                             const UChar** pp, const UChar* end)
> -{
> -  const UChar* p = *pp;
> -
> -  if (ONIGENC_IS_MBC_ASCII(p)) {
> -    (*pp)++;
> -    return ONIGENC_IS_ASCII_CODE_CASE_AMBIG(*p);
> -  }
> -
> -  (*pp) += enclen(enc, p);
> -  return FALSE;
> -}
> -#endif
> -
> -extern int
> -onigenc_mb2_code_to_mbclen(OnigCodePoint code)
> -{
> -  if ((code & (~0xffff)) != 0) return ONIGERR_INVALID_CODE_POINT_VALUE;
> -
> -  if ((code & 0xff00) != 0) return 2;
> -  else return 1;
> -}
> -
> -extern int
> -onigenc_mb4_code_to_mbclen(OnigCodePoint code)
> -{
> -       if ((code & 0xff000000) != 0) return 4;
> -  else if ((code & 0xff0000) != 0) return 3;
> -  else if ((code & 0xff00) != 0) return 2;
> -  else return 1;
> -}
> -
> -extern int
> -onigenc_mb2_code_to_mbc(OnigEncoding enc, OnigCodePoint code,
> UChar *buf)
> -{
> -  UChar *p = buf;
> -
> -  if ((code & 0xff00) != 0) {
> -    *p++ = (UChar )((code >>  8) & 0xff);
> -  }
> -  *p++ = (UChar )(code & 0xff);
> -
> -#if 1
> -  if (enclen(enc, buf) != (p - buf))
> -    return ONIGERR_INVALID_CODE_POINT_VALUE;
> -#endif
> -  return (int )(p - buf);
> -}
> -
> -extern int
> -onigenc_mb4_code_to_mbc(OnigEncoding enc, OnigCodePoint code,
> UChar *buf)
> -{
> -  UChar *p = buf;
> -
> -  if ((code & 0xff000000) != 0) {
> -    *p++ = (UChar )((code >> 24) & 0xff);
> -  }
> -  if ((code & 0xff0000) != 0 || p != buf) {
> -    *p++ = (UChar )((code >> 16) & 0xff);
> -  }
> -  if ((code & 0xff00) != 0 || p != buf) {
> -    *p++ = (UChar )((code >> 8) & 0xff);
> -  }
> -  *p++ = (UChar )(code & 0xff);
> -
> -#if 1
> -  if (enclen(enc, buf) != (p - buf))
> -    return ONIGERR_INVALID_CODE_POINT_VALUE;
> -#endif
> -  return (int )(p - buf);
> -}
> -
> -extern int
> -onigenc_minimum_property_name_to_ctype(OnigEncoding enc, UChar* p,
> UChar* end)
> -{
> -  static PosixBracketEntryType PBS[] = {
> -    { (UChar* )"Alnum",  ONIGENC_CTYPE_ALNUM,  5 },
> -    { (UChar* )"Alpha",  ONIGENC_CTYPE_ALPHA,  5 },
> -    { (UChar* )"Blank",  ONIGENC_CTYPE_BLANK,  5 },
> -    { (UChar* )"Cntrl",  ONIGENC_CTYPE_CNTRL,  5 },
> -    { (UChar* )"Digit",  ONIGENC_CTYPE_DIGIT,  5 },
> -    { (UChar* )"Graph",  ONIGENC_CTYPE_GRAPH,  5 },
> -    { (UChar* )"Lower",  ONIGENC_CTYPE_LOWER,  5 },
> -    { (UChar* )"Print",  ONIGENC_CTYPE_PRINT,  5 },
> -    { (UChar* )"Punct",  ONIGENC_CTYPE_PUNCT,  5 },
> -    { (UChar* )"Space",  ONIGENC_CTYPE_SPACE,  5 },
> -    { (UChar* )"Upper",  ONIGENC_CTYPE_UPPER,  5 },
> -    { (UChar* )"XDigit", ONIGENC_CTYPE_XDIGIT, 6 },
> -    { (UChar* )"ASCII",  ONIGENC_CTYPE_ASCII,  5 },
> -    { (UChar* )"Word",   ONIGENC_CTYPE_WORD,   4 },
> -    { (UChar* )NULL, -1, 0 }
> -  };
> -
> -  PosixBracketEntryType *pb;
> -  int len;
> -
> -  len = onigenc_strlen(enc, p, end);
> -  for (pb = PBS; IS_NOT_NULL(pb->name); pb++) {
> -    if (len == pb->len &&
> -        onigenc_with_ascii_strncmp(enc, p, end, pb->name, pb->len) == 0)
> -      return pb->ctype;
> -  }
> -
> -  return ONIGERR_INVALID_CHAR_PROPERTY_NAME;
> -}
> -
> -extern int
> -onigenc_is_mbc_word_ascii(OnigEncoding enc, UChar* s, const UChar* end)
> -{
> -  OnigCodePoint code = ONIGENC_MBC_TO_CODE(enc, s, end);
> -
> -  if (code > 127) return 0;
> -
> -  return ONIGENC_IS_ASCII_CODE_WORD(code);
> -}
> -
> -extern int
> -onigenc_mb2_is_code_ctype(OnigEncoding enc, OnigCodePoint code,
> -                          unsigned int ctype)
> -{
> -  if (code < 128)
> -    return ONIGENC_IS_ASCII_CODE_CTYPE(code, ctype);
> -  else {
> -    if (CTYPE_IS_WORD_GRAPH_PRINT(ctype)) {
> -      return (ONIGENC_CODE_TO_MBCLEN(enc, code) > 1 ? TRUE : FALSE);
> -    }
> -  }
> -
> -  return FALSE;
> -}
> -
> -extern int
> -onigenc_mb4_is_code_ctype(OnigEncoding enc, OnigCodePoint code,
> -                          unsigned int ctype)
> -{
> -  if (code < 128)
> -    return ONIGENC_IS_ASCII_CODE_CTYPE(code, ctype);
> -  else {
> -    if (CTYPE_IS_WORD_GRAPH_PRINT(ctype)) {
> -      return (ONIGENC_CODE_TO_MBCLEN(enc, code) > 1 ? TRUE : FALSE);
> -    }
> -  }
> -
> -  return FALSE;
> -}
> -
> -extern int
> -onigenc_with_ascii_strncmp(OnigEncoding enc, const UChar* p, const
> UChar* end,
> -                           const UChar* sascii /* ascii */, int n)
> -{
> -  int x, c;
> -
> -  while (n-- > 0) {
> -    if (p >= end) return (int )(*sascii);
> -
> -    c = (int )ONIGENC_MBC_TO_CODE(enc, p, end);
> -    x = *sascii - c;
> -    if (x) return x;
> -
> -    sascii++;
> -    p += enclen(enc, p);
> -  }
> -  return 0;
> -}
> -
> -extern int
> -onig_codes_cmp(OnigCodePoint a[], OnigCodePoint b[], int n)
> -{
> -  int i;
> -
> -  for (i = 0; i < n; i++) {
> -    if (a[i] != b[i])
> -      return -1;
> -  }
> -
> -  return 0;
> -}
> -
> -extern int
> -onig_codes_byte_at(OnigCodePoint codes[], int at)
> -{
> -  int index;
> -  int b;
> -  OnigCodePoint code;
> -
> -  index = at / 3;
> -  b     = at % 3;
> -  code = codes[index];
> -
> -  return ((code >> ((2 - b) * 8)) & 0xff);
> -}
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regerror.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regerror.c
> deleted file mode 100644
> index 0dca34a8ad29..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regerror.c
> +++ /dev/null
> @@ -1,402 +0,0 @@
> -
> /**********************************************************
> ************
> -  regerror.c -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2019  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#include "regint.h"
> -#if 0
> -#include <stdio.h> /* for vsnprintf() */
> -
> -#include <stdarg.h>
> -#endif
> -
> -extern UChar*
> -onig_error_code_to_format(int code)
> -{
> -  char *p;
> -
> -  switch (code) {
> -  case ONIG_MISMATCH:
> -    p = "mismatch"; break;
> -  case ONIG_NO_SUPPORT_CONFIG:
> -    p = "no support in this configuration"; break;
> -  case ONIG_ABORT:
> -    p = "abort"; break;
> -  case ONIGERR_MEMORY:
> -    p = "fail to memory allocation"; break;
> -  case ONIGERR_MATCH_STACK_LIMIT_OVER:
> -    p = "match-stack limit over"; break;
> -  case ONIGERR_PARSE_DEPTH_LIMIT_OVER:
> -    p = "parse depth limit over"; break;
> -  case ONIGERR_RETRY_LIMIT_IN_MATCH_OVER:
> -    p = "retry-limit-in-match over"; break;
> -  case ONIGERR_TYPE_BUG:
> -    p = "undefined type (bug)"; break;
> -  case ONIGERR_PARSER_BUG:
> -    p = "internal parser error (bug)"; break;
> -  case ONIGERR_STACK_BUG:
> -    p = "stack error (bug)"; break;
> -  case ONIGERR_UNDEFINED_BYTECODE:
> -    p = "undefined bytecode (bug)"; break;
> -  case ONIGERR_UNEXPECTED_BYTECODE:
> -    p = "unexpected bytecode (bug)"; break;
> -  case ONIGERR_DEFAULT_ENCODING_IS_NOT_SETTED:
> -    p = "default multibyte-encoding is not setted"; break;
> -  case ONIGERR_SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR:
> -    p = "can't convert to wide-char on specified multibyte-encoding"; break;
> -  case ONIGERR_FAIL_TO_INITIALIZE:
> -    p = "fail to initialize"; break;
> -  case ONIGERR_INVALID_ARGUMENT:
> -    p = "invalid argument"; break;
> -  case ONIGERR_END_PATTERN_AT_LEFT_BRACE:
> -    p = "end pattern at left brace"; break;
> -  case ONIGERR_END_PATTERN_AT_LEFT_BRACKET:
> -    p = "end pattern at left bracket"; break;
> -  case ONIGERR_EMPTY_CHAR_CLASS:
> -    p = "empty char-class"; break;
> -  case ONIGERR_PREMATURE_END_OF_CHAR_CLASS:
> -    p = "premature end of char-class"; break;
> -  case ONIGERR_END_PATTERN_AT_ESCAPE:
> -    p = "end pattern at escape"; break;
> -  case ONIGERR_END_PATTERN_AT_META:
> -    p = "end pattern at meta"; break;
> -  case ONIGERR_END_PATTERN_AT_CONTROL:
> -    p = "end pattern at control"; break;
> -  case ONIGERR_META_CODE_SYNTAX:
> -    p = "invalid meta-code syntax"; break;
> -  case ONIGERR_CONTROL_CODE_SYNTAX:
> -    p = "invalid control-code syntax"; break;
> -  case ONIGERR_CHAR_CLASS_VALUE_AT_END_OF_RANGE:
> -    p = "char-class value at end of range"; break;
> -  case ONIGERR_CHAR_CLASS_VALUE_AT_START_OF_RANGE:
> -    p = "char-class value at start of range"; break;
> -  case ONIGERR_UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS:
> -    p = "unmatched range specifier in char-class"; break;
> -  case ONIGERR_TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED:
> -    p = "target of repeat operator is not specified"; break;
> -  case ONIGERR_TARGET_OF_REPEAT_OPERATOR_INVALID:
> -    p = "target of repeat operator is invalid"; break;
> -  case ONIGERR_NESTED_REPEAT_OPERATOR:
> -    p = "nested repeat operator"; break;
> -  case ONIGERR_UNMATCHED_CLOSE_PARENTHESIS:
> -    p = "unmatched close parenthesis"; break;
> -  case ONIGERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS:
> -    p = "end pattern with unmatched parenthesis"; break;
> -  case ONIGERR_END_PATTERN_IN_GROUP:
> -    p = "end pattern in group"; break;
> -  case ONIGERR_UNDEFINED_GROUP_OPTION:
> -    p = "undefined group option"; break;
> -  case ONIGERR_INVALID_POSIX_BRACKET_TYPE:
> -    p = "invalid POSIX bracket type"; break;
> -  case ONIGERR_INVALID_LOOK_BEHIND_PATTERN:
> -    p = "invalid pattern in look-behind"; break;
> -  case ONIGERR_INVALID_REPEAT_RANGE_PATTERN:
> -    p = "invalid repeat range {lower,upper}"; break;
> -  case ONIGERR_TOO_BIG_NUMBER:
> -    p = "too big number"; break;
> -  case ONIGERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE:
> -    p = "too big number for repeat range"; break;
> -  case ONIGERR_UPPER_SMALLER_THAN_LOWER_IN_REPEAT_RANGE:
> -    p = "upper is smaller than lower in repeat range"; break;
> -  case ONIGERR_EMPTY_RANGE_IN_CHAR_CLASS:
> -    p = "empty range in char class"; break;
> -  case ONIGERR_MISMATCH_CODE_LENGTH_IN_CLASS_RANGE:
> -    p = "mismatch multibyte code length in char-class range"; break;
> -  case ONIGERR_TOO_MANY_MULTI_BYTE_RANGES:
> -    p = "too many multibyte code ranges are specified"; break;
> -  case ONIGERR_TOO_SHORT_MULTI_BYTE_STRING:
> -    p = "too short multibyte code string"; break;
> -  case ONIGERR_TOO_BIG_BACKREF_NUMBER:
> -    p = "too big backref number"; break;
> -  case ONIGERR_INVALID_BACKREF:
> -    p = "invalid backref number/name"; break;
> -  case ONIGERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED:
> -    p = "numbered backref/call is not allowed. (use name)"; break;
> -  case ONIGERR_TOO_MANY_CAPTURES:
> -    p = "too many captures"; break;
> -  case ONIGERR_TOO_BIG_WIDE_CHAR_VALUE:
> -    p = "too big wide-char value"; break;
> -  case ONIGERR_TOO_LONG_WIDE_CHAR_VALUE:
> -    p = "too long wide-char value"; break;
> -  case ONIGERR_INVALID_CODE_POINT_VALUE:
> -    p = "invalid code point value"; break;
> -  case ONIGERR_EMPTY_GROUP_NAME:
> -    p = "group name is empty"; break;
> -  case ONIGERR_INVALID_GROUP_NAME:
> -    p = "invalid group name <%n>"; break;
> -  case ONIGERR_INVALID_CHAR_IN_GROUP_NAME:
> -    p = "invalid char in group name <%n>"; break;
> -  case ONIGERR_UNDEFINED_NAME_REFERENCE:
> -    p = "undefined name <%n> reference"; break;
> -  case ONIGERR_UNDEFINED_GROUP_REFERENCE:
> -    p = "undefined group <%n> reference"; break;
> -  case ONIGERR_MULTIPLEX_DEFINED_NAME:
> -    p = "multiplex defined name <%n>"; break;
> -  case ONIGERR_MULTIPLEX_DEFINITION_NAME_CALL:
> -    p = "multiplex definition name <%n> call"; break;
> -  case ONIGERR_NEVER_ENDING_RECURSION:
> -    p = "never ending recursion"; break;
> -  case ONIGERR_GROUP_NUMBER_OVER_FOR_CAPTURE_HISTORY:
> -    p = "group number is too big for capture history"; break;
> -  case ONIGERR_INVALID_CHAR_PROPERTY_NAME:
> -    p = "invalid character property name {%n}"; break;
> -  case ONIGERR_INVALID_IF_ELSE_SYNTAX:
> -    p = "invalid if-else syntax"; break;
> -  case ONIGERR_INVALID_ABSENT_GROUP_PATTERN:
> -    p = "invalid absent group pattern"; break;
> -  case ONIGERR_INVALID_ABSENT_GROUP_GENERATOR_PATTERN:
> -    p = "invalid absent group generator pattern"; break;
> -  case ONIGERR_INVALID_CALLOUT_PATTERN:
> -    p = "invalid callout pattern"; break;
> -  case ONIGERR_INVALID_CALLOUT_NAME:
> -    p = "invalid callout name"; break;
> -  case ONIGERR_UNDEFINED_CALLOUT_NAME:
> -    p = "undefined callout name"; break;
> -  case ONIGERR_INVALID_CALLOUT_BODY:
> -    p = "invalid callout body"; break;
> -  case ONIGERR_INVALID_CALLOUT_TAG_NAME:
> -    p = "invalid callout tag name"; break;
> -  case ONIGERR_INVALID_CALLOUT_ARG:
> -    p = "invalid callout arg"; break;
> -  case ONIGERR_NOT_SUPPORTED_ENCODING_COMBINATION:
> -    p = "not supported encoding combination"; break;
> -  case ONIGERR_INVALID_COMBINATION_OF_OPTIONS:
> -    p = "invalid combination of options"; break;
> -  case ONIGERR_LIBRARY_IS_NOT_INITIALIZED:
> -    p = "library is not initialized"; break;
> -
> -  default:
> -    p = "undefined error code"; break;
> -  }
> -
> -  return (UChar* )p;
> -}
> -
> -static void sprint_byte(char* s, unsigned int v)
> -{
> -  sprintf_s(s, sizeof("00"), "%02x", (v & 0377));
> -}
> -
> -static void sprint_byte_with_x(char* s, unsigned int v)
> -{
> -  sprintf_s(s, sizeof("\\x00"), "\\x%02x", (v & 0377));
> -}
> -
> -static int to_ascii(OnigEncoding enc, UChar *s, UChar *end,
> -                    UChar buf[], int buf_size, int *is_over)
> -{
> -  int len;
> -  UChar *p;
> -  OnigCodePoint code;
> -
> -  if (!s) {
> -    len = 0;
> -    *is_over = 0;
> -  }
> -  else if (ONIGENC_MBC_MINLEN(enc) > 1) {
> -    p = s;
> -    len = 0;
> -    while (p < end) {
> -      code = ONIGENC_MBC_TO_CODE(enc, p, end);
> -      if (code >= 0x80) {
> -        if (code > 0xffff && len + 10 <= buf_size) {
> -          sprint_byte_with_x((char*)(&(buf[len])), (unsigned int)(code >> 24));
> -          sprint_byte((char*)(&(buf[len+4])),      (unsigned int)(code >> 16));
> -          sprint_byte((char*)(&(buf[len+6])),      (unsigned int)(code >>  8));
> -          sprint_byte((char*)(&(buf[len+8])),      (unsigned int)code);
> -          len += 10;
> -        }
> -        else if (len + 6 <= buf_size) {
> -          sprint_byte_with_x((char*)(&(buf[len])), (unsigned int)(code >> 8));
> -          sprint_byte((char*)(&(buf[len+4])),      (unsigned int)code);
> -          len += 6;
> -        }
> -        else {
> -          break;
> -        }
> -      }
> -      else {
> -        buf[len++] = (UChar )code;
> -      }
> -
> -      p += enclen(enc, p);
> -      if (len >= buf_size) break;
> -    }
> -
> -    *is_over = p < end;
> -  }
> -  else {
> -    len = MIN((int )(end - s), buf_size);
> -    xmemcpy(buf, s, (size_t )len);
> -    *is_over = ((buf_size < (end - s)) ? 1 : 0);
> -  }
> -
> -  return len;
> -}
> -
> -
> -extern int
> -onig_is_error_code_needs_param(int code)
> -{
> -  switch (code) {
> -  case ONIGERR_UNDEFINED_NAME_REFERENCE:
> -  case ONIGERR_UNDEFINED_GROUP_REFERENCE:
> -  case ONIGERR_MULTIPLEX_DEFINED_NAME:
> -  case ONIGERR_MULTIPLEX_DEFINITION_NAME_CALL:
> -  case ONIGERR_INVALID_GROUP_NAME:
> -  case ONIGERR_INVALID_CHAR_IN_GROUP_NAME:
> -  case ONIGERR_INVALID_CHAR_PROPERTY_NAME:
> -    return 1;
> -  default:
> -    return 0;
> -  }
> -}
> -
> -/* for ONIG_MAX_ERROR_MESSAGE_LEN */
> -#define MAX_ERROR_PAR_LEN   30
> -
> -extern int EFIAPI onig_error_code_to_str(UChar* s, int code, ...)
> -{
> -  UChar *p, *q;
> -  OnigErrorInfo* einfo;
> -  int len, is_over;
> -  UChar parbuf[MAX_ERROR_PAR_LEN];
> -  va_list vargs;
> -
> -  va_init_list(vargs, code);
> -
> -  switch (code) {
> -  case ONIGERR_UNDEFINED_NAME_REFERENCE:
> -  case ONIGERR_UNDEFINED_GROUP_REFERENCE:
> -  case ONIGERR_MULTIPLEX_DEFINED_NAME:
> -  case ONIGERR_MULTIPLEX_DEFINITION_NAME_CALL:
> -  case ONIGERR_INVALID_GROUP_NAME:
> -  case ONIGERR_INVALID_CHAR_IN_GROUP_NAME:
> -  case ONIGERR_INVALID_CHAR_PROPERTY_NAME:
> -    einfo = va_arg(vargs, OnigErrorInfo*);
> -    len = to_ascii(einfo->enc, einfo->par, einfo->par_end,
> -                   parbuf, MAX_ERROR_PAR_LEN - 3, &is_over);
> -    q = onig_error_code_to_format(code);
> -    p = s;
> -    while (*q != '\0') {
> -      if (*q == '%') {
> -        q++;
> -        if (*q == 'n') { /* '%n': name */
> -          xmemcpy(p, parbuf, len);
> -          p += len;
> -          if (is_over != 0) {
> -            xmemcpy(p, "...", 3);
> -            p += 3;
> -          }
> -          q++;
> -        }
> -        else
> -          goto normal_char;
> -      }
> -      else {
> -      normal_char:
> -        *p++ = *q++;
> -      }
> -    }
> -    *p = '\0';
> -    len = (int )(p - s);
> -    break;
> -
> -  default:
> -    q = onig_error_code_to_format(code);
> -    len = onigenc_str_bytelen_null(ONIG_ENCODING_ASCII, q);
> -    xmemcpy(s, q, len);
> -    s[len] = '\0';
> -    break;
> -  }
> -
> -  va_end(vargs);
> -  return len;
> -}
> -
> -
> -void EFIAPI onig_snprintf_with_pattern(UChar buf[], int bufsize,
> OnigEncoding enc,
> -                                UChar* pat, UChar* pat_end, const UChar *fmt, ...)
> -{
> -  int n, need, len;
> -  UChar *p, *s, *bp;
> -  UChar bs[6];
> -  va_list args;
> -
> -  va_init_list(args, fmt);
> -  n = xvsnprintf((char* )buf, bufsize, (const char* )fmt, args);
> -  va_end(args);
> -
> -  need = (int )(pat_end - pat) * 4 + 4;
> -
> -  if (n + need < bufsize) {
> -    strcat_s((char* )buf, bufsize, ": /");
> -    s = buf + onigenc_str_bytelen_null(ONIG_ENCODING_ASCII, buf);
> -
> -    p = pat;
> -    while (p < pat_end) {
> -      if (ONIGENC_IS_MBC_HEAD(enc, p)) {
> -        len = enclen(enc, p);
> -        if (ONIGENC_MBC_MINLEN(enc) == 1) {
> -          while (len-- > 0) *s++ = *p++;
> -        }
> -        else { /* for UTF16/32 */
> -          int blen;
> -
> -          while (len-- > 0) {
> -            sprint_byte_with_x((char* )bs, (unsigned int )(*p++));
> -            blen = onigenc_str_bytelen_null(ONIG_ENCODING_ASCII, bs);
> -            bp = bs;
> -            while (blen-- > 0) *s++ = *bp++;
> -          }
> -        }
> -      }
> -      else if (*p == '\\') {
> -        *s++ = *p++;
> -        len = enclen(enc, p);
> -        while (len-- > 0) *s++ = *p++;
> -      }
> -      else if (*p == '/') {
> -        *s++ = (unsigned char )'\\';
> -        *s++ = *p++;
> -      }
> -      else if (!ONIGENC_IS_CODE_PRINT(enc, *p) &&
> -               !ONIGENC_IS_CODE_SPACE(enc, *p)) {
> -        sprint_byte_with_x((char* )bs, (unsigned int )(*p++));
> -        len = onigenc_str_bytelen_null(ONIG_ENCODING_ASCII, bs);
> -        bp = bs;
> -        while (len-- > 0) *s++ = *bp++;
> -      }
> -      else {
> -        *s++ = *p++;
> -      }
> -    }
> -
> -    *s++ = '/';
> -    *s   = '\0';
> -  }
> -}
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regexec.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regexec.c
> deleted file mode 100644
> index 6a7890910781..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regexec.c
> +++ /dev/null
> @@ -1,5874 +0,0 @@
> -
> /**********************************************************
> ************
> -  regexec.c -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2019  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -#include "regint.h"
> -
> -#define IS_MBC_WORD_ASCII_MODE(enc,s,end,mode) \
> -  ((mode) == 0 ? ONIGENC_IS_MBC_WORD(enc,s,end) :
> ONIGENC_IS_MBC_WORD_ASCII(enc,s,end))
> -
> -#ifdef USE_CRNL_AS_LINE_TERMINATOR
> -#define ONIGENC_IS_MBC_CRNL(enc,p,end) \
> -  (ONIGENC_MBC_TO_CODE(enc,p,end) == 13 && \
> -   ONIGENC_IS_MBC_NEWLINE(enc,(p+enclen(enc,p)),end))
> -#endif
> -
> -#define CHECK_INTERRUPT_IN_MATCH
> -
> -#ifdef USE_CALLOUT
> -typedef struct {
> -  int last_match_at_call_counter;
> -  struct {
> -    OnigType  type;
> -    OnigValue val;
> -  } slot[ONIG_CALLOUT_DATA_SLOT_NUM];
> -} CalloutData;
> -#endif
> -
> -struct OnigMatchParamStruct {
> -  unsigned int    match_stack_limit;
> -  unsigned long   retry_limit_in_match;
> -#ifdef USE_CALLOUT
> -  OnigCalloutFunc progress_callout_of_contents;
> -  OnigCalloutFunc retraction_callout_of_contents;
> -  int             match_at_call_counter;
> -  void*           callout_user_data;
> -  CalloutData*    callout_data;
> -  int             callout_data_alloc_num;
> -#endif
> -};
> -
> -extern int
> -onig_set_match_stack_limit_size_of_match_param(OnigMatchParam*
> param,
> -                                               unsigned int limit)
> -{
> -  param->match_stack_limit = limit;
> -  return ONIG_NORMAL;
> -}
> -
> -extern int
> -onig_set_retry_limit_in_match_of_match_param(OnigMatchParam* param,
> -                                             unsigned long limit)
> -{
> -  param->retry_limit_in_match = limit;
> -  return ONIG_NORMAL;
> -}
> -
> -extern int
> -onig_set_progress_callout_of_match_param(OnigMatchParam* param,
> OnigCalloutFunc f)
> -{
> -#ifdef USE_CALLOUT
> -  param->progress_callout_of_contents = f;
> -  return ONIG_NORMAL;
> -#else
> -  return ONIG_NO_SUPPORT_CONFIG;
> -#endif
> -}
> -
> -extern int
> -onig_set_retraction_callout_of_match_param(OnigMatchParam* param,
> OnigCalloutFunc f)
> -{
> -#ifdef USE_CALLOUT
> -  param->retraction_callout_of_contents = f;
> -  return ONIG_NORMAL;
> -#else
> -  return ONIG_NO_SUPPORT_CONFIG;
> -#endif
> -}
> -
> -extern int
> -onig_set_callout_user_data_of_match_param(OnigMatchParam* param,
> void* user_data)
> -{
> -#ifdef USE_CALLOUT
> -  param->callout_user_data = user_data;
> -  return ONIG_NORMAL;
> -#else
> -  return ONIG_NO_SUPPORT_CONFIG;
> -#endif
> -}
> -
> -
> -typedef struct {
> -  void* stack_p;
> -  int   stack_n;
> -  OnigOptionType options;
> -  OnigRegion*    region;
> -  int            ptr_num;
> -  const UChar*   start;   /* search start position (for \G: BEGIN_POSITION) */
> -  unsigned int   match_stack_limit;
> -  unsigned long  retry_limit_in_match;
> -  OnigMatchParam* mp;
> -#ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE
> -  int    best_len;      /* for ONIG_OPTION_FIND_LONGEST */
> -  UChar* best_s;
> -#endif
> -} MatchArg;
> -
> -
> -#ifdef ONIG_DEBUG
> -
> -/* arguments type */
> -typedef enum {
> -  ARG_SPECIAL = -1,
> -  ARG_NON     =  0,
> -  ARG_RELADDR =  1,
> -  ARG_ABSADDR =  2,
> -  ARG_LENGTH  =  3,
> -  ARG_MEMNUM  =  4,
> -  ARG_OPTION  =  5,
> -  ARG_MODE    =  6
> -} OpArgType;
> -
> -typedef struct {
> -  short int opcode;
> -  char*     name;
> -} OpInfoType;
> -
> -static OpInfoType OpInfo[] = {
> -  { OP_FINISH,            "finish" },
> -  { OP_END,               "end"    },
> -  { OP_EXACT1,            "exact1" },
> -  { OP_EXACT2,            "exact2" },
> -  { OP_EXACT3,            "exact3" },
> -  { OP_EXACT4,            "exact4" },
> -  { OP_EXACT5,            "exact5" },
> -  { OP_EXACTN,            "exactn" },
> -  { OP_EXACTMB2N1,        "exactmb2-n1" },
> -  { OP_EXACTMB2N2,        "exactmb2-n2" },
> -  { OP_EXACTMB2N3,        "exactmb2-n3" },
> -  { OP_EXACTMB2N,         "exactmb2-n"  },
> -  { OP_EXACTMB3N,         "exactmb3n"   },
> -  { OP_EXACTMBN,          "exactmbn"    },
> -  { OP_EXACT1_IC,         "exact1-ic"   },
> -  { OP_EXACTN_IC,         "exactn-ic"   },
> -  { OP_CCLASS,            "cclass"      },
> -  { OP_CCLASS_MB,         "cclass-mb"   },
> -  { OP_CCLASS_MIX,        "cclass-mix"  },
> -  { OP_CCLASS_NOT,        "cclass-not"  },
> -  { OP_CCLASS_MB_NOT,     "cclass-mb-not"  },
> -  { OP_CCLASS_MIX_NOT,    "cclass-mix-not" },
> -  { OP_ANYCHAR,               "anychar"     },
> -  { OP_ANYCHAR_ML,            "anychar-ml"  },
> -  { OP_ANYCHAR_STAR,          "anychar*"    },
> -  { OP_ANYCHAR_ML_STAR,       "anychar-ml*" },
> -  { OP_ANYCHAR_STAR_PEEK_NEXT,    "anychar*-peek-next" },
> -  { OP_ANYCHAR_ML_STAR_PEEK_NEXT, "anychar-ml*-peek-next" },
> -  { OP_WORD,                  "word"       },
> -  { OP_WORD_ASCII,            "word-ascii" },
> -  { OP_NO_WORD,               "not-word"   },
> -  { OP_NO_WORD_ASCII,         "not-word-ascii" },
> -  { OP_WORD_BOUNDARY,         "word-boundary"  },
> -  { OP_NO_WORD_BOUNDARY,      "not-word-boundary" },
> -  { OP_WORD_BEGIN,            "word-begin" },
> -  { OP_WORD_END,              "word-end"   },
> -  { OP_TEXT_SEGMENT_BOUNDARY, "text-segment-boundary" },
> -  { OP_BEGIN_BUF,             "begin-buf"  },
> -  { OP_END_BUF,               "end-buf"    },
> -  { OP_BEGIN_LINE,            "begin-line" },
> -  { OP_END_LINE,              "end-line"   },
> -  { OP_SEMI_END_BUF,          "semi-end-buf"   },
> -  { OP_BEGIN_POSITION,        "begin-position" },
> -  { OP_BACKREF1,              "backref1"       },
> -  { OP_BACKREF2,              "backref2"       },
> -  { OP_BACKREF_N,             "backref-n"      },
> -  { OP_BACKREF_N_IC,          "backref-n-ic"   },
> -  { OP_BACKREF_MULTI,         "backref_multi"  },
> -  { OP_BACKREF_MULTI_IC,      "backref_multi-ic"     },
> -  { OP_BACKREF_WITH_LEVEL,    "backref_with_level"   },
> -  { OP_BACKREF_WITH_LEVEL_IC, "backref_with_level-c" },
> -  { OP_BACKREF_CHECK,         "backref_check"        },
> -  { OP_BACKREF_CHECK_WITH_LEVEL, "backref_check_with_level" },
> -  { OP_MEMORY_START_PUSH,     "mem-start-push"        },
> -  { OP_MEMORY_START,          "mem-start"             },
> -  { OP_MEMORY_END_PUSH,       "mem-end-push"          },
> -  { OP_MEMORY_END_PUSH_REC,   "mem-end-push-rec"      },
> -  { OP_MEMORY_END,            "mem-end"               },
> -  { OP_MEMORY_END_REC,        "mem-end-rec"           },
> -  { OP_FAIL,                  "fail"                  },
> -  { OP_JUMP,                  "jump"                  },
> -  { OP_PUSH,                  "push"                  },
> -  { OP_PUSH_SUPER,            "push-super"            },
> -  { OP_POP_OUT,               "pop-out"               },
> -#ifdef USE_OP_PUSH_OR_JUMP_EXACT
> -  { OP_PUSH_OR_JUMP_EXACT1,   "push-or-jump-e1"       },
> -#endif
> -  { OP_PUSH_IF_PEEK_NEXT,     "push-if-peek-next"     },
> -  { OP_REPEAT,                "repeat"                },
> -  { OP_REPEAT_NG,             "repeat-ng"             },
> -  { OP_REPEAT_INC,            "repeat-inc"            },
> -  { OP_REPEAT_INC_NG,         "repeat-inc-ng"         },
> -  { OP_REPEAT_INC_SG,         "repeat-inc-sg"         },
> -  { OP_REPEAT_INC_NG_SG,      "repeat-inc-ng-sg"      },
> -  { OP_EMPTY_CHECK_START,     "empty-check-start"     },
> -  { OP_EMPTY_CHECK_END,       "empty-check-end"       },
> -  { OP_EMPTY_CHECK_END_MEMST, "empty-check-end-memst" },
> -  { OP_EMPTY_CHECK_END_MEMST_PUSH,"empty-check-end-memst-
> push" },
> -  { OP_PREC_READ_START,       "push-pos"              },
> -  { OP_PREC_READ_END,         "pop-pos"               },
> -  { OP_PREC_READ_NOT_START,   "prec-read-not-start"   },
> -  { OP_PREC_READ_NOT_END,     "prec-read-not-end"     },
> -  { OP_ATOMIC_START,          "atomic-start"          },
> -  { OP_ATOMIC_END,            "atomic-end"            },
> -  { OP_LOOK_BEHIND,           "look-behind"           },
> -  { OP_LOOK_BEHIND_NOT_START, "look-behind-not-start" },
> -  { OP_LOOK_BEHIND_NOT_END,   "look-behind-not-end"   },
> -  { OP_CALL,                  "call"                  },
> -  { OP_RETURN,                "return"                },
> -  { OP_PUSH_SAVE_VAL,         "push-save-val"         },
> -  { OP_UPDATE_VAR,            "update-var"            },
> -#ifdef USE_CALLOUT
> -  { OP_CALLOUT_CONTENTS,      "callout-contents"      },
> -  { OP_CALLOUT_NAME,          "callout-name"          },
> -#endif
> -  { -1, "" }
> -};
> -
> -static char*
> -op2name(int opcode)
> -{
> -  int i;
> -
> -  for (i = 0; OpInfo[i].opcode >= 0; i++) {
> -    if (opcode == OpInfo[i].opcode) return OpInfo[i].name;
> -  }
> -
> -  return "";
> -}
> -
> -static void
> -p_string(FILE* f, int len, UChar* s)
> -{
> -  fputs(":", f);
> -  while (len-- > 0) { fputc(*s++, f); }
> -}
> -
> -static void
> -p_len_string(FILE* f, LengthType len, int mb_len, UChar* s)
> -{
> -  int x = len * mb_len;
> -
> -  fprintf(f, ":%d:", len);
> -  while (x-- > 0) { fputc(*s++, f); }
> -}
> -
> -static void
> -p_rel_addr(FILE* f, RelAddrType rel_addr, Operation* p, Operation* start)
> -{
> -  RelAddrType curr = (RelAddrType )(p - start);
> -
> -  fprintf(f, "{%d/%d}", rel_addr, curr + rel_addr);
> -}
> -
> -static int
> -bitset_on_num(BitSetRef bs)
> -{
> -  int i, n;
> -
> -  n = 0;
> -  for (i = 0; i < SINGLE_BYTE_SIZE; i++) {
> -    if (BITSET_AT(bs, i)) n++;
> -  }
> -
> -  return n;
> -}
> -
> -static void
> -print_compiled_byte_code(FILE* f, regex_t* reg, int index,
> -                         Operation* start, OnigEncoding enc)
> -{
> -  int i, n;
> -  RelAddrType addr;
> -  LengthType  len;
> -  MemNumType  mem;
> -  OnigCodePoint code;
> -  ModeType mode;
> -  UChar *q;
> -  Operation* p;
> -  enum OpCode opcode;
> -
> -  p = reg->ops + index;
> -
> -#ifdef USE_DIRECT_THREADED_CODE
> -  opcode = reg->ocs[index];
> -#else
> -  opcode = p->opcode;
> -#endif
> -
> -  fprintf(f, "%s", op2name(opcode));
> -  switch (opcode) {
> -  case OP_EXACT1:
> -    p_string(f, 1, p->exact.s); break;
> -  case OP_EXACT2:
> -    p_string(f, 2, p->exact.s); break;
> -  case OP_EXACT3:
> -    p_string(f, 3, p->exact.s); break;
> -  case OP_EXACT4:
> -    p_string(f, 4, p->exact.s); break;
> -  case OP_EXACT5:
> -    p_string(f, 5, p->exact.s); break;
> -  case OP_EXACTN:
> -    len = p->exact_n.n;
> -    p_string(f, len, p->exact_n.s); break;
> -  case OP_EXACTMB2N1:
> -    p_string(f, 2, p->exact.s); break;
> -  case OP_EXACTMB2N2:
> -    p_string(f, 4, p->exact.s); break;
> -  case OP_EXACTMB2N3:
> -    p_string(f, 3, p->exact.s); break;
> -  case OP_EXACTMB2N:
> -    len = p->exact_n.n;
> -    p_len_string(f, len, 2, p->exact_n.s); break;
> -  case OP_EXACTMB3N:
> -    len = p->exact_n.n;
> -    p_len_string(f, len, 3, p->exact_n.s); break;
> -  case OP_EXACTMBN:
> -    {
> -      int mb_len;
> -
> -      mb_len = p->exact_len_n.len;
> -      len    = p->exact_len_n.n;
> -      q      = p->exact_len_n.s;
> -      fprintf(f, ":%d:%d:", mb_len, len);
> -      n = len * mb_len;
> -      while (n-- > 0) { fputc(*q++, f); }
> -    }
> -    break;
> -  case OP_EXACT1_IC:
> -    len = enclen(enc, p->exact.s);
> -    p_string(f, len, p->exact.s);
> -    break;
> -  case OP_EXACTN_IC:
> -    len = p->exact_n.n;
> -    p_len_string(f, len, 1, p->exact_n.s);
> -    break;
> -
> -  case OP_CCLASS:
> -  case OP_CCLASS_NOT:
> -    n = bitset_on_num(p->cclass.bsp);
> -    fprintf(f, ":%d", n);
> -    break;
> -  case OP_CCLASS_MB:
> -  case OP_CCLASS_MB_NOT:
> -    {
> -      OnigCodePoint ncode;
> -      OnigCodePoint* codes;
> -
> -      codes = (OnigCodePoint* )p->cclass_mb.mb;
> -      GET_CODE_POINT(ncode, codes);
> -      codes++;
> -      GET_CODE_POINT(code, codes);
> -      fprintf(f, ":%u:%u", code, ncode);
> -    }
> -    break;
> -  case OP_CCLASS_MIX:
> -  case OP_CCLASS_MIX_NOT:
> -    {
> -      OnigCodePoint ncode;
> -      OnigCodePoint* codes;
> -
> -      codes = (OnigCodePoint* )p->cclass_mix.mb;
> -      n = bitset_on_num(p->cclass_mix.bsp);
> -
> -      GET_CODE_POINT(ncode, codes);
> -      codes++;
> -      GET_CODE_POINT(code, codes);
> -      fprintf(f, ":%d:%u:%u", n, code, ncode);
> -    }
> -    break;
> -
> -  case OP_ANYCHAR_STAR_PEEK_NEXT:
> -  case OP_ANYCHAR_ML_STAR_PEEK_NEXT:
> -    p_string(f, 1, &(p->anychar_star_peek_next.c));
> -    break;
> -
> -  case OP_WORD_BOUNDARY:
> -  case OP_NO_WORD_BOUNDARY:
> -  case OP_WORD_BEGIN:
> -  case OP_WORD_END:
> -    mode = p->word_boundary.mode;
> -    fprintf(f, ":%d", mode);
> -    break;
> -
> -  case OP_BACKREF_N:
> -  case OP_BACKREF_N_IC:
> -    mem = p->backref_n.n1;
> -    fprintf(f, ":%d", mem);
> -    break;
> -  case OP_BACKREF_MULTI_IC:
> -  case OP_BACKREF_MULTI:
> -  case OP_BACKREF_CHECK:
> -    fputs(" ", f);
> -    n = p->backref_general.num;
> -    for (i = 0; i < n; i++) {
> -      mem = (n == 1) ? p->backref_general.n1 : p->backref_general.ns[i];
> -      if (i > 0) fputs(", ", f);
> -      fprintf(f, "%d", mem);
> -    }
> -    break;
> -  case OP_BACKREF_WITH_LEVEL:
> -  case OP_BACKREF_WITH_LEVEL_IC:
> -  case OP_BACKREF_CHECK_WITH_LEVEL:
> -    {
> -      LengthType level;
> -
> -      level = p->backref_general.nest_level;
> -      fprintf(f, ":%d", level);
> -      fputs(" ", f);
> -      n = p->backref_general.num;
> -      for (i = 0; i < n; i++) {
> -        mem = (n == 1) ? p->backref_general.n1 : p->backref_general.ns[i];
> -        if (i > 0) fputs(", ", f);
> -        fprintf(f, "%d", mem);
> -      }
> -    }
> -    break;
> -
> -  case OP_MEMORY_START:
> -  case OP_MEMORY_START_PUSH:
> -    mem = p->memory_start.num;
> -    fprintf(f, ":%d", mem);
> -    break;
> -  case OP_MEMORY_END_PUSH:
> -  case OP_MEMORY_END_PUSH_REC:
> -  case OP_MEMORY_END:
> -  case OP_MEMORY_END_REC:
> -    mem = p->memory_end.num;
> -    fprintf(f, ":%d", mem);
> -    break;
> -
> -  case OP_JUMP:
> -    addr = p->jump.addr;
> -    fputc(':', f);
> -    p_rel_addr(f, addr, p, start);
> -    break;
> -
> -  case OP_PUSH:
> -  case OP_PUSH_SUPER:
> -    addr = p->push.addr;
> -    fputc(':', f);
> -    p_rel_addr(f, addr, p, start);
> -    break;
> -
> -#ifdef USE_OP_PUSH_OR_JUMP_EXACT
> -  case OP_PUSH_OR_JUMP_EXACT1:
> -    addr = p->push_or_jump_exact1.addr;
> -    fputc(':', f);
> -    p_rel_addr(f, addr, p, start);
> -    p_string(f, 1, &(p->push_or_jump_exact1.c));
> -    break;
> -#endif
> -
> -  case OP_PUSH_IF_PEEK_NEXT:
> -    addr = p->push_if_peek_next.addr;
> -    fputc(':', f);
> -    p_rel_addr(f, addr, p, start);
> -    p_string(f, 1, &(p->push_if_peek_next.c));
> -    break;
> -
> -  case OP_REPEAT:
> -  case OP_REPEAT_NG:
> -    mem = p->repeat.id;
> -    addr = p->repeat.addr;
> -    fprintf(f, ":%d:", mem);
> -    p_rel_addr(f, addr, p, start);
> -    break;
> -
> -  case OP_REPEAT_INC:
> -  case OP_REPEAT_INC_NG:
> -  case OP_REPEAT_INC_SG:
> -  case OP_REPEAT_INC_NG_SG:
> -    mem = p->repeat.id;
> -    fprintf(f, ":%d", mem);
> -    break;
> -
> -  case OP_EMPTY_CHECK_START:
> -    mem = p->empty_check_start.mem;
> -    fprintf(f, ":%d", mem);
> -    break;
> -  case OP_EMPTY_CHECK_END:
> -  case OP_EMPTY_CHECK_END_MEMST:
> -  case OP_EMPTY_CHECK_END_MEMST_PUSH:
> -    mem = p->empty_check_end.mem;
> -    fprintf(f, ":%d", mem);
> -    break;
> -
> -  case OP_PREC_READ_NOT_START:
> -    addr = p->prec_read_not_start.addr;
> -    fputc(':', f);
> -    p_rel_addr(f, addr, p, start);
> -    break;
> -
> -  case OP_LOOK_BEHIND:
> -    len = p->look_behind.len;
> -    fprintf(f, ":%d", len);
> -    break;
> -
> -  case OP_LOOK_BEHIND_NOT_START:
> -    addr = p->look_behind_not_start.addr;
> -    len  = p->look_behind_not_start.len;
> -    fprintf(f, ":%d:", len);
> -    p_rel_addr(f, addr, p, start);
> -    break;
> -
> -  case OP_CALL:
> -    addr = p->call.addr;
> -    fprintf(f, ":{/%d}", addr);
> -    break;
> -
> -  case OP_PUSH_SAVE_VAL:
> -    {
> -      SaveType type;
> -
> -      type = p->push_save_val.type;
> -      mem  = p->push_save_val.id;
> -      fprintf(f, ":%d:%d", type, mem);
> -    }
> -    break;
> -
> -  case OP_UPDATE_VAR:
> -    {
> -      UpdateVarType type;
> -
> -      type = p->update_var.type;
> -      mem  = p->update_var.id;
> -      fprintf(f, ":%d:%d", type, mem);
> -    }
> -    break;
> -
> -#ifdef USE_CALLOUT
> -  case OP_CALLOUT_CONTENTS:
> -    mem = p->callout_contents.num;
> -    fprintf(f, ":%d", mem);
> -    break;
> -
> -  case OP_CALLOUT_NAME:
> -    {
> -      int id;
> -
> -      id  = p->callout_name.id;
> -      mem = p->callout_name.num;
> -      fprintf(f, ":%d:%d", id, mem);
> -    }
> -    break;
> -#endif
> -
> -  case OP_TEXT_SEGMENT_BOUNDARY:
> -    if (p->text_segment_boundary.not != 0)
> -      fprintf(f, ":not");
> -    break;
> -
> -  case OP_FINISH:
> -  case OP_END:
> -  case OP_ANYCHAR:
> -  case OP_ANYCHAR_ML:
> -  case OP_ANYCHAR_STAR:
> -  case OP_ANYCHAR_ML_STAR:
> -  case OP_WORD:
> -  case OP_WORD_ASCII:
> -  case OP_NO_WORD:
> -  case OP_NO_WORD_ASCII:
> -  case OP_BEGIN_BUF:
> -  case OP_END_BUF:
> -  case OP_BEGIN_LINE:
> -  case OP_END_LINE:
> -  case OP_SEMI_END_BUF:
> -  case OP_BEGIN_POSITION:
> -  case OP_BACKREF1:
> -  case OP_BACKREF2:
> -  case OP_FAIL:
> -  case OP_POP_OUT:
> -  case OP_PREC_READ_START:
> -  case OP_PREC_READ_END:
> -  case OP_PREC_READ_NOT_END:
> -  case OP_ATOMIC_START:
> -  case OP_ATOMIC_END:
> -  case OP_LOOK_BEHIND_NOT_END:
> -  case OP_RETURN:
> -    break;
> -
> -  default:
> -    fprintf(stderr, "print_compiled_byte_code: undefined code %d\n",
> opcode);
> -    break;
> -  }
> -}
> -#endif /* ONIG_DEBUG */
> -
> -#ifdef ONIG_DEBUG_COMPILE
> -extern void
> -onig_print_compiled_byte_code_list(FILE* f, regex_t* reg)
> -{
> -  Operation* bp;
> -  Operation* start = reg->ops;
> -  Operation* end   = reg->ops + reg->ops_used;
> -
> -  fprintf(f, "bt_mem_start: 0x%x, bt_mem_end: 0x%x\n",
> -          reg->bt_mem_start, reg->bt_mem_end);
> -  fprintf(f, "code-length: %d\n", reg->ops_used);
> -
> -  bp = start;
> -  while (bp < end) {
> -    int pos = bp - start;
> -
> -    fprintf(f, "%4d: ", pos);
> -    print_compiled_byte_code(f, reg, pos, start, reg->enc);
> -    fprintf(f, "\n");
> -    bp++;
> -  }
> -  fprintf(f, "\n");
> -}
> -#endif
> -
> -
> -#ifdef USE_CAPTURE_HISTORY
> -static void history_tree_free(OnigCaptureTreeNode* node);
> -
> -static void
> -history_tree_clear(OnigCaptureTreeNode* node)
> -{
> -  int i;
> -
> -  if (IS_NULL(node)) return ;
> -
> -  for (i = 0; i < node->num_childs; i++) {
> -    if (IS_NOT_NULL(node->childs[i])) {
> -      history_tree_free(node->childs[i]);
> -    }
> -  }
> -  for (i = 0; i < node->allocated; i++) {
> -    node->childs[i] = (OnigCaptureTreeNode* )0;
> -  }
> -  node->num_childs = 0;
> -  node->beg = ONIG_REGION_NOTPOS;
> -  node->end = ONIG_REGION_NOTPOS;
> -  node->group = -1;
> -}
> -
> -static void
> -history_tree_free(OnigCaptureTreeNode* node)
> -{
> -  history_tree_clear(node);
> -  if (IS_NOT_NULL(node->childs)) xfree(node->childs);
> -
> -  xfree(node);
> -}
> -
> -static void
> -history_root_free(OnigRegion* r)
> -{
> -  if (IS_NULL(r->history_root)) return ;
> -
> -  history_tree_free(r->history_root);
> -  r->history_root = (OnigCaptureTreeNode* )0;
> -}
> -
> -static OnigCaptureTreeNode*
> -history_node_new(void)
> -{
> -  OnigCaptureTreeNode* node;
> -
> -  node = (OnigCaptureTreeNode* )xmalloc(sizeof(OnigCaptureTreeNode));
> -  CHECK_NULL_RETURN(node);
> -
> -  node->childs     = (OnigCaptureTreeNode** )0;
> -  node->allocated  =  0;
> -  node->num_childs =  0;
> -  node->group      = -1;
> -  node->beg        = ONIG_REGION_NOTPOS;
> -  node->end        = ONIG_REGION_NOTPOS;
> -
> -  return node;
> -}
> -
> -static int
> -history_tree_add_child(OnigCaptureTreeNode* parent,
> OnigCaptureTreeNode* child)
> -{
> -#define HISTORY_TREE_INIT_ALLOC_SIZE  8
> -
> -  if (parent->num_childs >= parent->allocated) {
> -    int n, i;
> -
> -    if (IS_NULL(parent->childs)) {
> -      n = HISTORY_TREE_INIT_ALLOC_SIZE;
> -      parent->childs =
> -        (OnigCaptureTreeNode** )xmalloc(sizeof(parent->childs[0]) * n);
> -    }
> -    else {
> -      n = parent->allocated * 2;
> -      parent->childs =
> -        (OnigCaptureTreeNode** )xrealloc(parent->childs,
> -                                         sizeof(parent->childs[0]) * n,
> -                                         sizeof(parent->childs[0]) * parent->allocated);
> -    }
> -    CHECK_NULL_RETURN_MEMERR(parent->childs);
> -    for (i = parent->allocated; i < n; i++) {
> -      parent->childs[i] = (OnigCaptureTreeNode* )0;
> -    }
> -    parent->allocated = n;
> -  }
> -
> -  parent->childs[parent->num_childs] = child;
> -  parent->num_childs++;
> -  return 0;
> -}
> -
> -static OnigCaptureTreeNode*
> -history_tree_clone(OnigCaptureTreeNode* node)
> -{
> -  int i;
> -  OnigCaptureTreeNode *clone, *child;
> -
> -  clone = history_node_new();
> -  CHECK_NULL_RETURN(clone);
> -
> -  clone->beg = node->beg;
> -  clone->end = node->end;
> -  for (i = 0; i < node->num_childs; i++) {
> -    child = history_tree_clone(node->childs[i]);
> -    if (IS_NULL(child)) {
> -      history_tree_free(clone);
> -      return (OnigCaptureTreeNode* )0;
> -    }
> -    history_tree_add_child(clone, child);
> -  }
> -
> -  return clone;
> -}
> -
> -extern  OnigCaptureTreeNode*
> -onig_get_capture_tree(OnigRegion* region)
> -{
> -  return region->history_root;
> -}
> -#endif /* USE_CAPTURE_HISTORY */
> -
> -extern void
> -onig_region_clear(OnigRegion* region)
> -{
> -  int i;
> -
> -  for (i = 0; i < region->num_regs; i++) {
> -    region->beg[i] = region->end[i] = ONIG_REGION_NOTPOS;
> -  }
> -#ifdef USE_CAPTURE_HISTORY
> -  history_root_free(region);
> -#endif
> -}
> -
> -extern int
> -onig_region_resize(OnigRegion* region, int n)
> -{
> -  region->num_regs = n;
> -
> -  if (n < ONIG_NREGION)
> -    n = ONIG_NREGION;
> -
> -  if (region->allocated == 0) {
> -    region->beg = (int* )xmalloc(n * sizeof(int));
> -    region->end = (int* )xmalloc(n * sizeof(int));
> -
> -    if (region->beg == 0 || region->end == 0)
> -      return ONIGERR_MEMORY;
> -
> -    region->allocated = n;
> -  }
> -  else if (region->allocated < n) {
> -    region->beg = (int* )xrealloc(region->beg, n * sizeof(int), region-
> >allocated * sizeof(int));
> -    region->end = (int* )xrealloc(region->end, n * sizeof(int), region-
> >allocated * sizeof(int));
> -
> -    if (region->beg == 0 || region->end == 0)
> -      return ONIGERR_MEMORY;
> -
> -    region->allocated = n;
> -  }
> -
> -  return 0;
> -}
> -
> -static int
> -onig_region_resize_clear(OnigRegion* region, int n)
> -{
> -  int r;
> -
> -  r = onig_region_resize(region, n);
> -  if (r != 0) return r;
> -  onig_region_clear(region);
> -  return 0;
> -}
> -
> -extern int
> -onig_region_set(OnigRegion* region, int at, int beg, int end)
> -{
> -  if (at < 0) return ONIGERR_INVALID_ARGUMENT;
> -
> -  if (at >= region->allocated) {
> -    int r = onig_region_resize(region, at + 1);
> -    if (r < 0) return r;
> -  }
> -
> -  region->beg[at] = beg;
> -  region->end[at] = end;
> -  return 0;
> -}
> -
> -extern void
> -onig_region_init(OnigRegion* region)
> -{
> -  region->num_regs     = 0;
> -  region->allocated    = 0;
> -  region->beg          = (int* )0;
> -  region->end          = (int* )0;
> -  region->history_root = (OnigCaptureTreeNode* )0;
> -}
> -
> -extern OnigRegion*
> -onig_region_new(void)
> -{
> -  OnigRegion* r;
> -
> -  r = (OnigRegion* )xmalloc(sizeof(OnigRegion));
> -  CHECK_NULL_RETURN(r);
> -  onig_region_init(r);
> -  return r;
> -}
> -
> -extern void
> -onig_region_free(OnigRegion* r, int free_self)
> -{
> -  if (r != 0) {
> -    if (r->allocated > 0) {
> -      if (r->beg) xfree(r->beg);
> -      if (r->end) xfree(r->end);
> -      r->allocated = 0;
> -    }
> -#ifdef USE_CAPTURE_HISTORY
> -    history_root_free(r);
> -#endif
> -    if (free_self) xfree(r);
> -  }
> -}
> -
> -extern void
> -onig_region_copy(OnigRegion* to, OnigRegion* from)
> -{
> -#define RREGC_SIZE   (sizeof(int) * from->num_regs)
> -  int i;
> -
> -  if (to == from) return;
> -
> -  if (to->allocated == 0) {
> -    if (from->num_regs > 0) {
> -      to->beg = (int* )xmalloc(RREGC_SIZE);
> -      if (IS_NULL(to->beg)) return;
> -      to->end = (int* )xmalloc(RREGC_SIZE);
> -      if (IS_NULL(to->end)) return;
> -      to->allocated = from->num_regs;
> -    }
> -  }
> -  else if (to->allocated < from->num_regs) {
> -    to->beg = (int* )xrealloc(to->beg, RREGC_SIZE, sizeof(int) * to->allocated);
> -    if (IS_NULL(to->beg)) return;
> -    to->end = (int* )xrealloc(to->end, RREGC_SIZE, sizeof(int) * to->allocated);
> -    if (IS_NULL(to->end)) return;
> -    to->allocated = from->num_regs;
> -  }
> -
> -  for (i = 0; i < from->num_regs; i++) {
> -    to->beg[i] = from->beg[i];
> -    to->end[i] = from->end[i];
> -  }
> -  to->num_regs = from->num_regs;
> -
> -#ifdef USE_CAPTURE_HISTORY
> -  history_root_free(to);
> -
> -  if (IS_NOT_NULL(from->history_root)) {
> -    to->history_root = history_tree_clone(from->history_root);
> -  }
> -#endif
> -}
> -
> -#ifdef USE_CALLOUT
> -#define CALLOUT_BODY(func, ain, aname_id, anum, user, args, result) do { \
> -  args.in            = (ain);\
> -  args.name_id       = (aname_id);\
> -  args.num           = anum;\
> -  args.regex         = reg;\
> -  args.string        = str;\
> -  args.string_end    = end;\
> -  args.start         = sstart;\
> -  args.right_range   = right_range;\
> -  args.current       = s;\
> -  args.retry_in_match_counter = retry_in_match_counter;\
> -  args.msa           = msa;\
> -  args.stk_base      = stk_base;\
> -  args.stk           = stk;\
> -  args.mem_start_stk = mem_start_stk;\
> -  args.mem_end_stk   = mem_end_stk;\
> -  result = (func)(&args, user);\
> -} while (0)
> -
> -#define RETRACTION_CALLOUT(func, aname_id, anum, user) do {\
> -  int result;\
> -  OnigCalloutArgs args;\
> -  CALLOUT_BODY(func, ONIG_CALLOUT_IN_RETRACTION, aname_id, anum,
> user, args, result);\
> -  switch (result) {\
> -  case ONIG_CALLOUT_FAIL:\
> -  case ONIG_CALLOUT_SUCCESS:\
> -    break;\
> -  default:\
> -    if (result > 0) {\
> -      result = ONIGERR_INVALID_ARGUMENT;\
> -    }\
> -    best_len = result;\
> -    goto finish;\
> -    break;\
> -  }\
> -} while(0)
> -#endif
> -
> -
> -/** stack **/
> -#define INVALID_STACK_INDEX   -1
> -
> -#define STK_ALT_FLAG               0x0001
> -
> -/* stack type */
> -/* used by normal-POP */
> -#define STK_SUPER_ALT             STK_ALT_FLAG
> -#define STK_ALT                   (0x0002 | STK_ALT_FLAG)
> -#define STK_ALT_PREC_READ_NOT     (0x0004 | STK_ALT_FLAG)
> -#define STK_ALT_LOOK_BEHIND_NOT   (0x0006 | STK_ALT_FLAG)
> -
> -/* handled by normal-POP */
> -#define STK_MEM_START              0x0010
> -#define STK_MEM_END                0x8030
> -#define STK_REPEAT_INC             0x0050
> -#ifdef USE_CALLOUT
> -#define STK_CALLOUT                0x0070
> -#endif
> -
> -/* avoided by normal-POP */
> -#define STK_VOID                   0x0000  /* for fill a blank */
> -#define STK_EMPTY_CHECK_START      0x3000
> -#define STK_EMPTY_CHECK_END        0x5000  /* for recursive call */
> -#define STK_MEM_END_MARK           0x8100
> -#define STK_TO_VOID_START          0x1200  /* mark for "(?>...)" */
> -#define STK_REPEAT                 0x0300
> -#define STK_CALL_FRAME             0x0400
> -#define STK_RETURN                 0x0500
> -#define STK_SAVE_VAL               0x0600
> -#define STK_PREC_READ_START        0x0700
> -#define STK_PREC_READ_END          0x0800
> -
> -/* stack type check mask */
> -#define STK_MASK_POP_USED          STK_ALT_FLAG
> -#define STK_MASK_POP_HANDLED       0x0010
> -#define STK_MASK_POP_HANDLED_TIL   (STK_MASK_POP_HANDLED |
> 0x0004)
> -#define STK_MASK_TO_VOID_TARGET    0x100e
> -#define STK_MASK_MEM_END_OR_MARK   0x8000  /* MEM_END or
> MEM_END_MARK */
> -
> -typedef intptr_t StackIndex;
> -
> -typedef struct _StackType {
> -  unsigned int type;
> -  int zid;
> -  union {
> -    struct {
> -      Operation* pcode;     /* byte code position */
> -      UChar*     pstr;      /* string position */
> -      UChar*     pstr_prev; /* previous char position of pstr */
> -    } state;
> -    struct {
> -      int        count;  /* for OP_REPEAT_INC, OP_REPEAT_INC_NG */
> -      Operation* pcode;  /* byte code position (head of repeated target) */
> -    } repeat;
> -    struct {
> -      StackIndex si;     /* index of stack */
> -    } repeat_inc;
> -    struct {
> -      UChar *pstr;       /* start/end position */
> -      /* Following information is set, if this stack type is MEM-START */
> -      StackIndex prev_start;  /* prev. info (for backtrack  "(...)*" ) */
> -      StackIndex prev_end;    /* prev. info (for backtrack  "(...)*" ) */
> -    } mem;
> -    struct {
> -      UChar *pstr;       /* start position */
> -    } empty_check;
> -#ifdef USE_CALL
> -    struct {
> -      Operation *ret_addr; /* byte code position */
> -      UChar *pstr;         /* string position */
> -    } call_frame;
> -#endif
> -    struct {
> -      enum SaveType type;
> -      UChar* v;
> -      UChar* v2;
> -    } val;
> -#ifdef USE_CALLOUT
> -    struct {
> -      int num;
> -      OnigCalloutFunc func;
> -    } callout;
> -#endif
> -  } u;
> -} StackType;
> -
> -#ifdef USE_CALLOUT
> -
> -struct OnigCalloutArgsStruct {
> -  OnigCalloutIn    in;
> -  int              name_id;   /* name id or ONIG_NON_NAME_ID */
> -  int              num;
> -  OnigRegex        regex;
> -  const OnigUChar* string;
> -  const OnigUChar* string_end;
> -  const OnigUChar* start;
> -  const OnigUChar* right_range;
> -  const OnigUChar* current;  /* current matching position */
> -  unsigned long    retry_in_match_counter;
> -
> -  /* invisible to users */
> -  MatchArg*   msa;
> -  StackType*  stk_base;
> -  StackType*  stk;
> -  StackIndex* mem_start_stk;
> -  StackIndex* mem_end_stk;
> -};
> -
> -#endif
> -
> -
> -#ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE
> -#define MATCH_ARG_INIT(msa, reg, arg_option, arg_region, arg_start, mp)
> do { \
> -  (msa).stack_p  = (void* )0;\
> -  (msa).options  = (arg_option);\
> -  (msa).region   = (arg_region);\
> -  (msa).start    = (arg_start);\
> -  (msa).match_stack_limit  = (mp)->match_stack_limit;\
> -  (msa).retry_limit_in_match = (mp)->retry_limit_in_match;\
> -  (msa).mp = mp;\
> -  (msa).best_len = ONIG_MISMATCH;\
> -  (msa).ptr_num  = (reg)->num_repeat + ((reg)->num_mem + 1) * 2; \
> -} while(0)
> -#else
> -#define MATCH_ARG_INIT(msa, reg, arg_option, arg_region, arg_start, mp)
> do { \
> -  (msa).stack_p  = (void* )0;\
> -  (msa).options  = (arg_option);\
> -  (msa).region   = (arg_region);\
> -  (msa).start    = (arg_start);\
> -  (msa).match_stack_limit  = (mp)->match_stack_limit;\
> -  (msa).retry_limit_in_match = (mp)->retry_limit_in_match;\
> -  (msa).mp = mp;\
> -  (msa).ptr_num  = (reg)->num_repeat + ((reg)->num_mem + 1) * 2; \
> -} while(0)
> -#endif
> -
> -#define MATCH_ARG_FREE(msa)  if ((msa).stack_p) xfree((msa).stack_p)
> -
> -
> -#define ALLOCA_PTR_NUM_LIMIT   50
> -
> -#define STACK_INIT(stack_num)  do {\
> -  if (msa->stack_p) {\
> -    is_alloca  = 0;\
> -    alloc_base = msa->stack_p;\
> -    stk_base   = (StackType* )(alloc_base\
> -                 + (sizeof(StackIndex) * msa->ptr_num));\
> -    stk        = stk_base;\
> -    stk_end    = stk_base + msa->stack_n;\
> -  }\
> -  else if (msa->ptr_num > ALLOCA_PTR_NUM_LIMIT) {\
> -    is_alloca  = 0;\
> -    alloc_base = (char* )xmalloc(sizeof(StackIndex) * msa->ptr_num\
> -                  + sizeof(StackType) * (stack_num));\
> -    CHECK_NULL_RETURN_MEMERR(alloc_base);\
> -    stk_base   = (StackType* )(alloc_base\
> -                 + (sizeof(StackIndex) * msa->ptr_num));\
> -    stk        = stk_base;\
> -    stk_end    = stk_base + (stack_num);\
> -  }\
> -  else {\
> -    is_alloca  = 1;\
> -    alloc_base = (char* )xmalloc(sizeof(StackIndex) * msa->ptr_num\
> -                 + sizeof(StackType) * (stack_num));\
> -    CHECK_NULL_RETURN_MEMERR(alloc_base);\
> -    stk_base   = (StackType* )(alloc_base\
> -                 + (sizeof(StackIndex) * msa->ptr_num));\
> -    stk        = stk_base;\
> -    stk_end    = stk_base + (stack_num);\
> -  }\
> -} while(0);
> -
> -
> -#define STACK_SAVE do{\
> -    msa->stack_n = (int )(stk_end - stk_base);\
> -  if (is_alloca != 0) {\
> -    size_t size = sizeof(StackIndex) * msa->ptr_num \
> -                + sizeof(StackType) * msa->stack_n;\
> -    msa->stack_p = xmalloc(size);\
> -    CHECK_NULL_RETURN_MEMERR(msa->stack_p);\
> -    xmemcpy(msa->stack_p, alloc_base, size);\
> -  }\
> -  else {\
> -    msa->stack_p = alloc_base;\
> -  };\
> -} while(0)
> -
> -#define UPDATE_FOR_STACK_REALLOC do{\
> -  repeat_stk    = (StackIndex* )alloc_base;\
> -  mem_start_stk = (StackIndex* )(repeat_stk + reg->num_repeat);\
> -  mem_end_stk   = mem_start_stk + num_mem + 1;\
> -} while(0)
> -
> -static unsigned int MatchStackLimit = DEFAULT_MATCH_STACK_LIMIT_SIZE;
> -
> -extern unsigned int
> -onig_get_match_stack_limit_size(void)
> -{
> -  return MatchStackLimit;
> -}
> -
> -extern int
> -onig_set_match_stack_limit_size(unsigned int size)
> -{
> -  MatchStackLimit = size;
> -  return 0;
> -}
> -
> -#ifdef USE_RETRY_LIMIT_IN_MATCH
> -
> -static unsigned long RetryLimitInMatch =
> DEFAULT_RETRY_LIMIT_IN_MATCH;
> -
> -#define CHECK_RETRY_LIMIT_IN_MATCH  do {\
> -  if (retry_in_match_counter++ > retry_limit_in_match) goto
> retry_limit_in_match_over;\
> -} while (0)
> -
> -#else
> -
> -#define CHECK_RETRY_LIMIT_IN_MATCH
> -
> -#endif /* USE_RETRY_LIMIT_IN_MATCH */
> -
> -extern unsigned long
> -onig_get_retry_limit_in_match(void)
> -{
> -#ifdef USE_RETRY_LIMIT_IN_MATCH
> -  return RetryLimitInMatch;
> -#else
> -  /* return ONIG_NO_SUPPORT_CONFIG; */
> -  return 0;
> -#endif
> -}
> -
> -extern int
> -onig_set_retry_limit_in_match(unsigned long size)
> -{
> -#ifdef USE_RETRY_LIMIT_IN_MATCH
> -  RetryLimitInMatch = size;
> -  return 0;
> -#else
> -  return ONIG_NO_SUPPORT_CONFIG;
> -#endif
> -}
> -
> -#ifdef USE_CALLOUT
> -static OnigCalloutFunc DefaultProgressCallout;
> -static OnigCalloutFunc DefaultRetractionCallout;
> -#endif
> -
> -extern OnigMatchParam*
> -onig_new_match_param(void)
> -{
> -  OnigMatchParam* p;
> -
> -  p = (OnigMatchParam* )xmalloc(sizeof(*p));
> -  if (IS_NOT_NULL(p)) {
> -    onig_initialize_match_param(p);
> -  }
> -
> -  return p;
> -}
> -
> -extern void
> -onig_free_match_param_content(OnigMatchParam* p)
> -{
> -#ifdef USE_CALLOUT
> -  if (IS_NOT_NULL(p->callout_data)) {
> -    xfree(p->callout_data);
> -    p->callout_data = 0;
> -  }
> -#endif
> -}
> -
> -extern void
> -onig_free_match_param(OnigMatchParam* p)
> -{
> -  if (IS_NOT_NULL(p)) {
> -    onig_free_match_param_content(p);
> -    xfree(p);
> -  }
> -}
> -
> -extern int
> -onig_initialize_match_param(OnigMatchParam* mp)
> -{
> -  mp->match_stack_limit  = MatchStackLimit;
> -#ifdef USE_RETRY_LIMIT_IN_MATCH
> -  mp->retry_limit_in_match = RetryLimitInMatch;
> -#endif
> -
> -#ifdef USE_CALLOUT
> -  mp->progress_callout_of_contents   = DefaultProgressCallout;
> -  mp->retraction_callout_of_contents = DefaultRetractionCallout;
> -  mp->match_at_call_counter  = 0;
> -  mp->callout_user_data      = 0;
> -  mp->callout_data           = 0;
> -  mp->callout_data_alloc_num = 0;
> -#endif
> -
> -  return ONIG_NORMAL;
> -}
> -
> -#ifdef USE_CALLOUT
> -
> -static int
> -adjust_match_param(regex_t* reg, OnigMatchParam* mp)
> -{
> -  RegexExt* ext = reg->extp;
> -
> -  mp->match_at_call_counter = 0;
> -
> -  if (IS_NULL(ext) || ext->callout_num == 0) return ONIG_NORMAL;
> -
> -  if (ext->callout_num > mp->callout_data_alloc_num) {
> -    CalloutData* d;
> -    size_t n = ext->callout_num * sizeof(*d);
> -    if (IS_NOT_NULL(mp->callout_data))
> -      d = (CalloutData* )xrealloc(mp->callout_data, n, mp-
> >callout_data_alloc_num * sizeof(*d));
> -    else
> -      d = (CalloutData* )xmalloc(n);
> -    CHECK_NULL_RETURN_MEMERR(d);
> -
> -    mp->callout_data = d;
> -    mp->callout_data_alloc_num = ext->callout_num;
> -  }
> -
> -  xmemset(mp->callout_data, 0, mp->callout_data_alloc_num *
> sizeof(CalloutData));
> -  return ONIG_NORMAL;
> -}
> -
> -#define ADJUST_MATCH_PARAM(reg, mp) \
> -  r = adjust_match_param(reg, mp);\
> -  if (r != ONIG_NORMAL) return r;
> -
> -#define CALLOUT_DATA_AT_NUM(mp, num)  ((mp)->callout_data + ((num)
> - 1))
> -
> -extern int
> -onig_check_callout_data_and_clear_old_values(OnigCalloutArgs* args)
> -{
> -  OnigMatchParam* mp;
> -  int num;
> -  CalloutData* d;
> -
> -  mp  = args->msa->mp;
> -  num = args->num;
> -
> -  d = CALLOUT_DATA_AT_NUM(mp, num);
> -  if (d->last_match_at_call_counter != mp->match_at_call_counter) {
> -    xmemset(d, 0, sizeof(*d));
> -    d->last_match_at_call_counter = mp->match_at_call_counter;
> -    return d->last_match_at_call_counter;
> -  }
> -
> -  return 0;
> -}
> -
> -extern int
> -onig_get_callout_data_dont_clear_old(regex_t* reg, OnigMatchParam*
> mp,
> -                                     int callout_num, int slot,
> -                                     OnigType* type, OnigValue* val)
> -{
> -  OnigType t;
> -  CalloutData* d;
> -
> -  if (callout_num <= 0) return ONIGERR_INVALID_ARGUMENT;
> -
> -  d = CALLOUT_DATA_AT_NUM(mp, callout_num);
> -  t = d->slot[slot].type;
> -  if (IS_NOT_NULL(type)) *type = t;
> -  if (IS_NOT_NULL(val))  *val  = d->slot[slot].val;
> -  return (t == ONIG_TYPE_VOID ? 1 : ONIG_NORMAL);
> -}
> -
> -extern int
> -
> onig_get_callout_data_by_callout_args_self_dont_clear_old(OnigCalloutArg
> s* args,
> -                                                          int slot, OnigType* type,
> -                                                          OnigValue* val)
> -{
> -  return onig_get_callout_data_dont_clear_old(args->regex, args->msa-
> >mp,
> -                                              args->num, slot, type, val);
> -}
> -
> -extern int
> -onig_get_callout_data(regex_t* reg, OnigMatchParam* mp,
> -                      int callout_num, int slot,
> -                      OnigType* type, OnigValue* val)
> -{
> -  OnigType t;
> -  CalloutData* d;
> -
> -  if (callout_num <= 0) return ONIGERR_INVALID_ARGUMENT;
> -
> -  d = CALLOUT_DATA_AT_NUM(mp, callout_num);
> -  if (d->last_match_at_call_counter != mp->match_at_call_counter) {
> -    xmemset(d, 0, sizeof(*d));
> -    d->last_match_at_call_counter = mp->match_at_call_counter;
> -  }
> -
> -  t = d->slot[slot].type;
> -  if (IS_NOT_NULL(type)) *type = t;
> -  if (IS_NOT_NULL(val))  *val  = d->slot[slot].val;
> -  return (t == ONIG_TYPE_VOID ? 1 : ONIG_NORMAL);
> -}
> -
> -extern int
> -onig_get_callout_data_by_tag(regex_t* reg, OnigMatchParam* mp,
> -                             const UChar* tag, const UChar* tag_end, int slot,
> -                             OnigType* type, OnigValue* val)
> -{
> -  int num;
> -
> -  num = onig_get_callout_num_by_tag(reg, tag, tag_end);
> -  if (num < 0)  return num;
> -  if (num == 0) return ONIGERR_INVALID_CALLOUT_TAG_NAME;
> -
> -  return onig_get_callout_data(reg, mp, num, slot, type, val);
> -}
> -
> -extern int
> -onig_get_callout_data_by_callout_args(OnigCalloutArgs* args,
> -                                      int callout_num, int slot,
> -                                      OnigType* type, OnigValue* val)
> -{
> -  return onig_get_callout_data(args->regex, args->msa->mp, callout_num,
> slot,
> -                               type, val);
> -}
> -
> -extern int
> -onig_get_callout_data_by_callout_args_self(OnigCalloutArgs* args,
> -                                           int slot, OnigType* type, OnigValue* val)
> -{
> -  return onig_get_callout_data(args->regex, args->msa->mp, args->num,
> slot,
> -                               type, val);
> -}
> -
> -extern int
> -onig_set_callout_data(regex_t* reg, OnigMatchParam* mp,
> -                      int callout_num, int slot,
> -                      OnigType type, OnigValue* val)
> -{
> -  CalloutData* d;
> -
> -  if (callout_num <= 0) return ONIGERR_INVALID_ARGUMENT;
> -
> -  d = CALLOUT_DATA_AT_NUM(mp, callout_num);
> -  d->slot[slot].type = type;
> -  d->slot[slot].val  = *val;
> -  d->last_match_at_call_counter = mp->match_at_call_counter;
> -
> -  return ONIG_NORMAL;
> -}
> -
> -extern int
> -onig_set_callout_data_by_tag(regex_t* reg, OnigMatchParam* mp,
> -                             const UChar* tag, const UChar* tag_end, int slot,
> -                             OnigType type, OnigValue* val)
> -{
> -  int num;
> -
> -  num = onig_get_callout_num_by_tag(reg, tag, tag_end);
> -  if (num < 0)  return num;
> -  if (num == 0) return ONIGERR_INVALID_CALLOUT_TAG_NAME;
> -
> -  return onig_set_callout_data(reg, mp, num, slot, type, val);
> -}
> -
> -extern int
> -onig_set_callout_data_by_callout_args(OnigCalloutArgs* args,
> -                                      int callout_num, int slot,
> -                                      OnigType type, OnigValue* val)
> -{
> -  return onig_set_callout_data(args->regex, args->msa->mp, callout_num,
> slot,
> -                               type, val);
> -}
> -
> -extern int
> -onig_set_callout_data_by_callout_args_self(OnigCalloutArgs* args,
> -                                           int slot, OnigType type, OnigValue* val)
> -{
> -  return onig_set_callout_data(args->regex, args->msa->mp, args->num,
> slot,
> -                               type, val);
> -}
> -
> -#else
> -#define ADJUST_MATCH_PARAM(reg, mp)
> -#endif /* USE_CALLOUT */
> -
> -
> -static int
> -stack_double(int is_alloca, char** arg_alloc_base,
> -             StackType** arg_stk_base, StackType** arg_stk_end, StackType**
> arg_stk,
> -             MatchArg* msa)
> -{
> -  unsigned int n;
> -  int used;
> -  size_t size;
> -  size_t new_size;
> -  char* alloc_base;
> -  char* new_alloc_base;
> -  StackType *stk_base, *stk_end, *stk;
> -
> -  alloc_base = *arg_alloc_base;
> -  stk_base = *arg_stk_base;
> -  stk_end  = *arg_stk_end;
> -  stk      = *arg_stk;
> -
> -  n = (unsigned int )(stk_end - stk_base);
> -  size = sizeof(StackIndex) * msa->ptr_num + sizeof(StackType) * n;
> -  n *= 2;
> -  new_size = sizeof(StackIndex) * msa->ptr_num + sizeof(StackType) * n;
> -  if (is_alloca != 0) {
> -    new_alloc_base = (char* )xmalloc(new_size);
> -    if (IS_NULL(new_alloc_base)) {
> -      STACK_SAVE;
> -      return ONIGERR_MEMORY;
> -    }
> -    xmemcpy(new_alloc_base, alloc_base, size);
> -  }
> -  else {
> -    if (msa->match_stack_limit != 0 && n > msa->match_stack_limit) {
> -      if ((unsigned int )(stk_end - stk_base) == msa->match_stack_limit)
> -        return ONIGERR_MATCH_STACK_LIMIT_OVER;
> -      else
> -        n = msa->match_stack_limit;
> -    }
> -    new_alloc_base = (char* )xrealloc(alloc_base, new_size, size);
> -    if (IS_NULL(new_alloc_base)) {
> -      STACK_SAVE;
> -      return ONIGERR_MEMORY;
> -    }
> -  }
> -
> -  alloc_base = new_alloc_base;
> -  used = (int )(stk - stk_base);
> -  *arg_alloc_base = alloc_base;
> -  *arg_stk_base   = (StackType* )(alloc_base
> -                                  + (sizeof(StackIndex) * msa->ptr_num));
> -  *arg_stk      = *arg_stk_base + used;
> -  *arg_stk_end  = *arg_stk_base + n;
> -  return 0;
> -}
> -
> -#define STACK_ENSURE(n) do {\
> -    if ((int )(stk_end - stk) < (n)) {\
> -    int r = stack_double(is_alloca, &alloc_base, &stk_base, &stk_end, &stk,
> msa);\
> -    if (r != 0) { STACK_SAVE; return r; } \
> -    is_alloca = 0;\
> -    UPDATE_FOR_STACK_REALLOC;\
> -  }\
> -} while(0)
> -
> -#define STACK_AT(index)        (stk_base + (index))
> -#define GET_STACK_INDEX(stk)   ((stk) - stk_base)
> -
> -#define STACK_PUSH_TYPE(stack_type) do {\
> -  STACK_ENSURE(1);\
> -  stk->type = (stack_type);\
> -  STACK_INC;\
> -} while(0)
> -
> -#define IS_TO_VOID_TARGET(stk) (((stk)->type &
> STK_MASK_TO_VOID_TARGET) != 0)
> -
> -#define STACK_PUSH(stack_type,pat,s,sprev) do {\
> -  STACK_ENSURE(1);\
> -  stk->type = (stack_type);\
> -  stk->u.state.pcode     = (pat);\
> -  stk->u.state.pstr      = (s);\
> -  stk->u.state.pstr_prev = (sprev);\
> -  STACK_INC;\
> -} while(0)
> -
> -#define STACK_PUSH_ENSURED(stack_type,pat) do {\
> -  stk->type = (stack_type);\
> -  stk->u.state.pcode = (pat);\
> -  STACK_INC;\
> -} while(0)
> -
> -#ifdef ONIG_DEBUG_MATCH
> -#define STACK_PUSH_BOTTOM(stack_type,pat) do {\
> -  stk->type = (stack_type);\
> -  stk->u.state.pcode = (pat);\
> -  stk->u.state.pstr      = s;\
> -  stk->u.state.pstr_prev = sprev;\
> -  STACK_INC;\
> -} while (0)
> -#else
> -#define STACK_PUSH_BOTTOM(stack_type,pat) do {\
> -  stk->type = (stack_type);\
> -  stk->u.state.pcode = (pat);\
> -  STACK_INC;\
> -} while (0)
> -#endif
> -
> -#define STACK_PUSH_ALT(pat,s,sprev)
> STACK_PUSH(STK_ALT,pat,s,sprev)
> -#define STACK_PUSH_SUPER_ALT(pat,s,sprev)
> STACK_PUSH(STK_SUPER_ALT,pat,s,sprev)
> -#define STACK_PUSH_PREC_READ_START(s,sprev) \
> -  STACK_PUSH(STK_PREC_READ_START,(Operation* )0,s,sprev)
> -#define STACK_PUSH_ALT_PREC_READ_NOT(pat,s,sprev) \
> -  STACK_PUSH(STK_ALT_PREC_READ_NOT,pat,s,sprev)
> -#define STACK_PUSH_TO_VOID_START
> STACK_PUSH_TYPE(STK_TO_VOID_START)
> -#define STACK_PUSH_ALT_LOOK_BEHIND_NOT(pat,s,sprev) \
> -  STACK_PUSH(STK_ALT_LOOK_BEHIND_NOT,pat,s,sprev)
> -
> -#define STACK_PUSH_REPEAT(sid, pat) do {\
> -  STACK_ENSURE(1);\
> -  stk->type = STK_REPEAT;\
> -  stk->zid  = (sid);\
> -  stk->u.repeat.pcode  = (pat);\
> -  stk->u.repeat.count  = 0;\
> -  STACK_INC;\
> -} while(0)
> -
> -#define STACK_PUSH_REPEAT_INC(sindex) do {\
> -  STACK_ENSURE(1);\
> -  stk->type = STK_REPEAT_INC;\
> -  stk->u.repeat_inc.si  = (sindex);\
> -  STACK_INC;\
> -} while(0)
> -
> -#define STACK_PUSH_MEM_START(mnum, s) do {\
> -  STACK_ENSURE(1);\
> -  stk->type = STK_MEM_START;\
> -  stk->zid  = (mnum);\
> -  stk->u.mem.pstr       = (s);\
> -  stk->u.mem.prev_start = mem_start_stk[mnum];\
> -  stk->u.mem.prev_end   = mem_end_stk[mnum];\
> -  mem_start_stk[mnum]   = GET_STACK_INDEX(stk);\
> -  mem_end_stk[mnum]     = INVALID_STACK_INDEX;\
> -  STACK_INC;\
> -} while(0)
> -
> -#define STACK_PUSH_MEM_END(mnum, s) do {\
> -  STACK_ENSURE(1);\
> -  stk->type = STK_MEM_END;\
> -  stk->zid  = (mnum);\
> -  stk->u.mem.pstr       = (s);\
> -  stk->u.mem.prev_start = mem_start_stk[mnum];\
> -  stk->u.mem.prev_end   = mem_end_stk[mnum];\
> -  mem_end_stk[mnum] = GET_STACK_INDEX(stk);\
> -  STACK_INC;\
> -} while(0)
> -
> -#define STACK_PUSH_MEM_END_MARK(mnum) do {\
> -  STACK_ENSURE(1);\
> -  stk->type = STK_MEM_END_MARK;\
> -  stk->zid  = (mnum);\
> -  STACK_INC;\
> -} while(0)
> -
> -#define STACK_GET_MEM_START(mnum, k) do {\
> -  int level = 0;\
> -  k = stk;\
> -  while (k > stk_base) {\
> -    k--;\
> -    if ((k->type & STK_MASK_MEM_END_OR_MARK) != 0 \
> -      && k->zid == (mnum)) {\
> -      level++;\
> -    }\
> -    else if (k->type == STK_MEM_START && k->zid == (mnum)) {\
> -      if (level == 0) break;\
> -      level--;\
> -    }\
> -  }\
> -} while(0)
> -
> -#define STACK_GET_MEM_RANGE(k, mnum, start, end) do {\
> -  int level = 0;\
> -  while (k < stk) {\
> -    if (k->type == STK_MEM_START && k->u.mem.num == (mnum)) {\
> -      if (level == 0) (start) = k->u.mem.pstr;\
> -      level++;\
> -    }\
> -    else if (k->type == STK_MEM_END && k->u.mem.num == (mnum)) {\
> -      level--;\
> -      if (level == 0) {\
> -        (end) = k->u.mem.pstr;\
> -        break;\
> -      }\
> -    }\
> -    k++;\
> -  }\
> -} while(0)
> -
> -#define STACK_PUSH_EMPTY_CHECK_START(cnum, s) do {\
> -  STACK_ENSURE(1);\
> -  stk->type = STK_EMPTY_CHECK_START;\
> -  stk->zid  = (cnum);\
> -  stk->u.empty_check.pstr = (s);\
> -  STACK_INC;\
> -} while(0)
> -
> -#define STACK_PUSH_EMPTY_CHECK_END(cnum) do {\
> -  STACK_ENSURE(1);\
> -  stk->type = STK_EMPTY_CHECK_END;\
> -  stk->zid  = (cnum);\
> -  STACK_INC;\
> -} while(0)
> -
> -#define STACK_PUSH_CALL_FRAME(pat) do {\
> -  STACK_ENSURE(1);\
> -  stk->type = STK_CALL_FRAME;\
> -  stk->u.call_frame.ret_addr = (pat);\
> -  STACK_INC;\
> -} while(0)
> -
> -#define STACK_PUSH_RETURN do {\
> -  STACK_ENSURE(1);\
> -  stk->type = STK_RETURN;\
> -  STACK_INC;\
> -} while(0)
> -
> -#define STACK_PUSH_SAVE_VAL(sid, stype, sval) do {\
> -  STACK_ENSURE(1);\
> -  stk->type = STK_SAVE_VAL;\
> -  stk->zid  = (sid);\
> -  stk->u.val.type = (stype);\
> -  stk->u.val.v    = (UChar* )(sval);\
> -  STACK_INC;\
> -} while(0)
> -
> -#define STACK_PUSH_SAVE_VAL_WITH_SPREV(sid, stype, sval) do {\
> -  STACK_ENSURE(1);\
> -  stk->type = STK_SAVE_VAL;\
> -  stk->zid  = (sid);\
> -  stk->u.val.type = (stype);\
> -  stk->u.val.v    = (UChar* )(sval);\
> -  stk->u.val.v2   = sprev;\
> -  STACK_INC;\
> -} while(0)
> -
> -#define STACK_GET_SAVE_VAL_TYPE_LAST(stype, sval) do {\
> -  StackType *k = stk;\
> -  while (k > stk_base) {\
> -    k--;\
> -    STACK_BASE_CHECK(k, "STACK_GET_SAVE_VAL_TYPE_LAST"); \
> -    if (k->type == STK_SAVE_VAL && k->u.val.type == (stype)) {\
> -      (sval) = k->u.val.v;\
> -      break;\
> -    }\
> -  }\
> -} while (0)
> -
> -#define STACK_GET_SAVE_VAL_TYPE_LAST_ID(stype, sid, sval) do { \
> -  int level = 0;\
> -  StackType *k = stk;\
> -  while (k > stk_base) {\
> -    k--;\
> -    STACK_BASE_CHECK(k, "STACK_GET_SAVE_VAL_TYPE_LAST_ID"); \
> -    if (k->type == STK_SAVE_VAL && k->u.val.type == (stype)\
> -        && k->zid == (sid)) {\
> -      if (level == 0) {\
> -        (sval) = k->u.val.v;\
> -        break;\
> -      }\
> -    }\
> -    else if (k->type == STK_CALL_FRAME)\
> -      level--;\
> -    else if (k->type == STK_RETURN)\
> -      level++;\
> -  }\
> -} while (0)
> -
> -#define STACK_GET_SAVE_VAL_TYPE_LAST_ID_WITH_SPREV(stype, sid,
> sval) do { \
> -  int level = 0;\
> -  StackType *k = stk;\
> -  while (k > stk_base) {\
> -    k--;\
> -    STACK_BASE_CHECK(k, "STACK_GET_SAVE_VAL_TYPE_LAST_ID"); \
> -    if (k->type == STK_SAVE_VAL && k->u.val.type == (stype)\
> -        && k->zid == (sid)) {\
> -      if (level == 0) {\
> -        (sval) = k->u.val.v;\
> -        sprev  = k->u.val.v2;\
> -        break;\
> -      }\
> -    }\
> -    else if (k->type == STK_CALL_FRAME)\
> -      level--;\
> -    else if (k->type == STK_RETURN)\
> -      level++;\
> -  }\
> -} while (0)
> -
> -#define STACK_GET_SAVE_VAL_TYPE_LAST_ID_FROM(stype, sid, sval,
> stk_from) do { \
> -  int level = 0;\
> -  StackType *k = (stk_from);\
> -  while (k > stk_base) {\
> -    STACK_BASE_CHECK(k, "STACK_GET_SAVE_VAL_TYPE_LAST_ID_FROM");
> \
> -    if (k->type == STK_SAVE_VAL && k->u.val.type == (stype)\
> -        && k->u.val.id == (sid)) {\
> -      if (level == 0) {\
> -        (sval) = k->u.val.v;\
> -        break;\
> -      }\
> -    }\
> -    else if (k->type == STK_CALL_FRAME)\
> -      level--;\
> -    else if (k->type == STK_RETURN)\
> -      level++;\
> -    k--;\
> -  }\
> -} while (0)
> -
> -#define STACK_PUSH_CALLOUT_CONTENTS(anum, func) do {\
> -  STACK_ENSURE(1);\
> -  stk->type = STK_CALLOUT;\
> -  stk->zid  = ONIG_NON_NAME_ID;\
> -  stk->u.callout.num = (anum);\
> -  stk->u.callout.func = (func);\
> -  STACK_INC;\
> -} while(0)
> -
> -#define STACK_PUSH_CALLOUT_NAME(aid, anum, func) do {\
> -  STACK_ENSURE(1);\
> -  stk->type = STK_CALLOUT;\
> -  stk->zid  = (aid);\
> -  stk->u.callout.num = (anum);\
> -  stk->u.callout.func = (func);\
> -  STACK_INC;\
> -} while(0)
> -
> -#ifdef ONIG_DEBUG
> -#define STACK_BASE_CHECK(p, at) \
> -  if ((p) < stk_base) {\
> -    fprintf(stderr, "at %s\n", at);\
> -    goto stack_error;\
> -  }
> -#else
> -#define STACK_BASE_CHECK(p, at)
> -#endif
> -
> -#define STACK_POP_ONE do {\
> -  stk--;\
> -  STACK_BASE_CHECK(stk, "STACK_POP_ONE"); \
> -} while(0)
> -
> -
> -#ifdef USE_CALLOUT
> -#define POP_CALLOUT_CASE \
> -  else if (stk->type == STK_CALLOUT) {\
> -    RETRACTION_CALLOUT(stk->u.callout.func, stk->zid, stk->u.callout.num,
> msa->mp->callout_user_data);\
> -  }
> -#else
> -#define POP_CALLOUT_CASE
> -#endif
> -
> -#define STACK_POP  do {\
> -  switch (pop_level) {\
> -  case STACK_POP_LEVEL_FREE:\
> -    while (1) {\
> -      stk--;\
> -      STACK_BASE_CHECK(stk, "STACK_POP"); \
> -      if ((stk->type & STK_MASK_POP_USED) != 0)  break;\
> -    }\
> -    break;\
> -  case STACK_POP_LEVEL_MEM_START:\
> -    while (1) {\
> -      stk--;\
> -      STACK_BASE_CHECK(stk, "STACK_POP 2"); \
> -      if ((stk->type & STK_MASK_POP_USED) != 0)  break;\
> -      else if (stk->type == STK_MEM_START) {\
> -        mem_start_stk[stk->zid] = stk->u.mem.prev_start;\
> -        mem_end_stk[stk->zid]   = stk->u.mem.prev_end;\
> -      }\
> -    }\
> -    break;\
> -  default:\
> -    while (1) {\
> -      stk--;\
> -      STACK_BASE_CHECK(stk, "STACK_POP 3"); \
> -      if ((stk->type & STK_MASK_POP_USED) != 0)  break;\
> -      else if ((stk->type & STK_MASK_POP_HANDLED) != 0) {\
> -        if (stk->type == STK_MEM_START) {\
> -          mem_start_stk[stk->zid] = stk->u.mem.prev_start;\
> -          mem_end_stk[stk->zid]   = stk->u.mem.prev_end;\
> -        }\
> -        else if (stk->type == STK_REPEAT_INC) {\
> -          STACK_AT(stk->u.repeat_inc.si)->u.repeat.count--;\
> -        }\
> -        else if (stk->type == STK_MEM_END) {\
> -          mem_start_stk[stk->zid] = stk->u.mem.prev_start;\
> -          mem_end_stk[stk->zid]   = stk->u.mem.prev_end;\
> -        }\
> -        POP_CALLOUT_CASE\
> -      }\
> -    }\
> -    break;\
> -  }\
> -} while(0)
> -
> -#define POP_TIL_BODY(aname, til_type) do {\
> -  while (1) {\
> -    stk--;\
> -    STACK_BASE_CHECK(stk, (aname));\
> -    if ((stk->type & STK_MASK_POP_HANDLED_TIL) != 0) {\
> -      if (stk->type == (til_type)) break;\
> -      else {\
> -        if (stk->type == STK_MEM_START) {\
> -          mem_start_stk[stk->zid] = stk->u.mem.prev_start;\
> -          mem_end_stk[stk->zid]   = stk->u.mem.prev_end;\
> -        }\
> -        else if (stk->type == STK_REPEAT_INC) {\
> -          STACK_AT(stk->u.repeat_inc.si)->u.repeat.count--;\
> -        }\
> -        else if (stk->type == STK_MEM_END) {\
> -          mem_start_stk[stk->zid] = stk->u.mem.prev_start;\
> -          mem_end_stk[stk->zid]   = stk->u.mem.prev_end;\
> -        }\
> -        /* Don't call callout here because negation of total success by (?!..) (?<!..)
> */\
> -      }\
> -    }\
> -  }\
> -} while(0)
> -
> -#define STACK_POP_TIL_ALT_PREC_READ_NOT  do {\
> -  POP_TIL_BODY("STACK_POP_TIL_ALT_PREC_READ_NOT",
> STK_ALT_PREC_READ_NOT);\
> -} while(0)
> -
> -#define STACK_POP_TIL_ALT_LOOK_BEHIND_NOT  do {\
> -  POP_TIL_BODY("STACK_POP_TIL_ALT_LOOK_BEHIND_NOT",
> STK_ALT_LOOK_BEHIND_NOT);\
> -} while(0)
> -
> -
> -#define STACK_EXEC_TO_VOID(k) do {\
> -  k = stk;\
> -  while (1) {\
> -    k--;\
> -    STACK_BASE_CHECK(k, "STACK_EXEC_TO_VOID"); \
> -    if (IS_TO_VOID_TARGET(k)) {\
> -      if (k->type == STK_TO_VOID_START) {\
> -        k->type = STK_VOID;\
> -        break;\
> -      }\
> -      k->type = STK_VOID;\
> -    }\
> -  }\
> -} while(0)
> -
> -#define STACK_GET_PREC_READ_START(k) do {\
> -  int level = 0;\
> -  k = stk;\
> -  while (1) {\
> -    k--;\
> -    STACK_BASE_CHECK(k, "STACK_GET_PREC_READ_START");\
> -    if (IS_TO_VOID_TARGET(k)) {\
> -      k->type = STK_VOID;\
> -    }\
> -    else if (k->type == STK_PREC_READ_START) {\
> -      if (level == 0) {\
> -        break;\
> -      }\
> -      level--;\
> -    }\
> -    else if (k->type == STK_PREC_READ_END) {\
> -      level++;\
> -    }\
> -  }\
> -} while(0)
> -
> -#define STACK_EMPTY_CHECK(isnull,sid,s) do {\
> -  StackType* k = stk;\
> -  while (1) {\
> -    k--;\
> -    STACK_BASE_CHECK(k, "STACK_EMPTY_CHECK"); \
> -    if (k->type == STK_EMPTY_CHECK_START) {\
> -      if (k->zid == (sid)) {\
> -        (isnull) = (k->u.empty_check.pstr == (s));\
> -        break;\
> -      }\
> -    }\
> -  }\
> -} while(0)
> -
> -#define STACK_MEM_START_GET_PREV_END_ADDR(k /*
> STK_MEM_START*/, reg, addr) do {\
> -  if (k->u.mem.prev_end == INVALID_STACK_INDEX) {\
> -    (addr) = 0;\
> -  }\
> -  else {\
> -    if (MEM_STATUS_AT((reg)->bt_mem_end, k->zid))\
> -      (addr) = STACK_AT(k->u.mem.prev_end)->u.mem.pstr;\
> -    else\
> -      (addr) = (UChar* )k->u.mem.prev_end;\
> -  }\
> -} while (0)
> -
> -#ifdef USE_STUBBORN_CHECK_CAPTURES_IN_EMPTY_REPEAT
> -#define STACK_EMPTY_CHECK_MEM(isnull,sid,s,reg) do {\
> -  StackType* k = stk;\
> -  while (1) {\
> -    k--;\
> -    STACK_BASE_CHECK(k, "STACK_EMPTY_CHECK_MEM"); \
> -    if (k->type == STK_EMPTY_CHECK_START) {\
> -      if (k->zid == (sid)) {\
> -        if (k->u.empty_check.pstr != (s)) {\
> -          (isnull) = 0;\
> -          break;\
> -        }\
> -        else {\
> -          UChar* endp;\
> -          int level = 0;\
> -          (isnull) = 1;\
> -          while (k < stk) {\
> -            if (k->type == STK_MEM_START && level == 0) {\
> -              STACK_MEM_START_GET_PREV_END_ADDR(k, reg, endp);\
> -              if (endp == 0) {\
> -                (isnull) = 0; break;\
> -              }\
> -              else if (STACK_AT(k->u.mem.prev_start)->u.mem.pstr != endp) {\
> -                (isnull) = 0; break;\
> -              }\
> -              else if (endp != s) {\
> -                (isnull) = -1; /* empty, but position changed */ \
> -              }\
> -            }\
> -            else if (k->type == STK_PREC_READ_START) {\
> -              level++;\
> -            }\
> -            else if (k->type == STK_PREC_READ_END) {\
> -              level--;\
> -            }\
> -            k++;\
> -          }\
> -          break;\
> -        }\
> -      }\
> -    }\
> -  }\
> -} while(0)
> -
> -#define STACK_EMPTY_CHECK_MEM_REC(isnull,sid,s,reg) do {\
> -  int level = 0;\
> -  StackType* k = stk;\
> -  while (1) {\
> -    k--;\
> -    STACK_BASE_CHECK(k, "STACK_EMPTY_CHECK_MEM_REC");\
> -    if (k->type == STK_EMPTY_CHECK_START) {\
> -      if (k->zid == (sid)) {\
> -        if (level == 0) {\
> -          if (k->u.empty_check.pstr != (s)) {\
> -            (isnull) = 0;\
> -            break;\
> -          }\
> -          else {\
> -            UChar* endp;\
> -            int prec_level = 0;\
> -            (isnull) = 1;\
> -            while (k < stk) {\
> -              if (k->type == STK_MEM_START) {\
> -                if (level == 0 && prec_level == 0) {\
> -                  STACK_MEM_START_GET_PREV_END_ADDR(k, reg, endp);\
> -                  if (endp == 0) {\
> -                    (isnull) = 0; break;\
> -                  }\
> -                  else if (STACK_AT(k->u.mem.prev_start)->u.mem.pstr != endp) { \
> -                    (isnull) = 0; break;\
> -                  }\
> -                  else if (endp != s) {\
> -                    (isnull) = -1; /* empty, but position changed */\
> -                  }\
> -                }\
> -              }\
> -              else if (k->type == STK_EMPTY_CHECK_START) {\
> -                if (k->zid == (sid)) level++;\
> -              }\
> -              else if (k->type == STK_EMPTY_CHECK_END) {\
> -                if (k->zid == (sid)) level--;\
> -              }\
> -              else if (k->type == STK_PREC_READ_START) {\
> -                prec_level++;\
> -              }\
> -              else if (k->type == STK_PREC_READ_END) {\
> -                prec_level--;\
> -              }\
> -              k++;\
> -            }\
> -            break;\
> -          }\
> -        }\
> -        else {\
> -          level--;\
> -        }\
> -      }\
> -    }\
> -    else if (k->type == STK_EMPTY_CHECK_END) {\
> -      if (k->zid == (sid)) level++;\
> -    }\
> -  }\
> -} while(0)
> -#else
> -#define STACK_EMPTY_CHECK_REC(isnull,id,s) do {\
> -  int level = 0;\
> -  StackType* k = stk;\
> -  while (1) {\
> -    k--;\
> -    STACK_BASE_CHECK(k, "STACK_EMPTY_CHECK_REC"); \
> -    if (k->type == STK_EMPTY_CHECK_START) {\
> -      if (k->u.empty_check.num == (id)) {\
> -        if (level == 0) {\
> -          (isnull) = (k->u.empty_check.pstr == (s));\
> -          break;\
> -        }\
> -      }\
> -      level--;\
> -    }\
> -    else if (k->type == STK_EMPTY_CHECK_END) {\
> -      level++;\
> -    }\
> -  }\
> -} while(0)
> -#endif /* USE_STUBBORN_CHECK_CAPTURES_IN_EMPTY_REPEAT */
> -
> -#define STACK_GET_REPEAT(sid, k) do {\
> -  int level = 0;\
> -  k = stk;\
> -  while (1) {\
> -    k--;\
> -    STACK_BASE_CHECK(k, "STACK_GET_REPEAT"); \
> -    if (k->type == STK_REPEAT) {\
> -      if (level == 0) {\
> -        if (k->zid == (sid)) {\
> -          break;\
> -        }\
> -      }\
> -    }\
> -    else if (k->type == STK_CALL_FRAME) level--;\
> -    else if (k->type == STK_RETURN)     level++;\
> -  }\
> -} while(0)
> -
> -#define STACK_RETURN(addr)  do {\
> -  int level = 0;\
> -  StackType* k = stk;\
> -  while (1) {\
> -    k--;\
> -    STACK_BASE_CHECK(k, "STACK_RETURN"); \
> -    if (k->type == STK_CALL_FRAME) {\
> -      if (level == 0) {\
> -        (addr) = k->u.call_frame.ret_addr;\
> -        break;\
> -      }\
> -      else level--;\
> -    }\
> -    else if (k->type == STK_RETURN)\
> -      level++;\
> -  }\
> -} while(0)
> -
> -
> -#define STRING_CMP(s1,s2,len) do {\
> -  while (len-- > 0) {\
> -    if (*s1++ != *s2++) goto fail;\
> -  }\
> -} while(0)
> -
> -#define STRING_CMP_IC(case_fold_flag,s1,ps2,len) do {\
> -  if (string_cmp_ic(encode, case_fold_flag, s1, ps2, len) == 0) \
> -    goto fail; \
> -} while(0)
> -
> -static int string_cmp_ic(OnigEncoding enc, int case_fold_flag,
> -                         UChar* s1, UChar** ps2, int mblen)
> -{
> -  UChar buf1[ONIGENC_MBC_CASE_FOLD_MAXLEN];
> -  UChar buf2[ONIGENC_MBC_CASE_FOLD_MAXLEN];
> -  UChar *p1, *p2, *end1, *s2, *end2;
> -  int len1, len2;
> -
> -  s2   = *ps2;
> -  end1 = s1 + mblen;
> -  end2 = s2 + mblen;
> -  while (s1 < end1) {
> -    len1 = ONIGENC_MBC_CASE_FOLD(enc, case_fold_flag, &s1, end1, buf1);
> -    len2 = ONIGENC_MBC_CASE_FOLD(enc, case_fold_flag, &s2, end2, buf2);
> -    if (len1 != len2) return 0;
> -    p1 = buf1;
> -    p2 = buf2;
> -    while (len1-- > 0) {
> -      if (*p1 != *p2) return 0;
> -      p1++;
> -      p2++;
> -    }
> -  }
> -
> -  *ps2 = s2;
> -  return 1;
> -}
> -
> -#define STRING_CMP_VALUE(s1,s2,len,is_fail) do {\
> -  is_fail = 0;\
> -  while (len-- > 0) {\
> -    if (*s1++ != *s2++) {\
> -      is_fail = 1; break;\
> -    }\
> -  }\
> -} while(0)
> -
> -#define STRING_CMP_VALUE_IC(case_fold_flag,s1,ps2,len,is_fail) do {\
> -  if (string_cmp_ic(encode, case_fold_flag, s1, ps2, len) == 0) \
> -    is_fail = 1; \
> -  else \
> -    is_fail = 0; \
> -} while(0)
> -
> -
> -#define IS_EMPTY_STR           (str == end)
> -#define ON_STR_BEGIN(s)        ((s) == str)
> -#define ON_STR_END(s)          ((s) == end)
> -#define DATA_ENSURE_CHECK1     (s < right_range)
> -#define DATA_ENSURE_CHECK(n)   (s + (n) <= right_range)
> -#define DATA_ENSURE(n)         if (s + (n) > right_range) goto fail
> -
> -#define INIT_RIGHT_RANGE    right_range = (UChar* )in_right_range
> -
> -#ifdef USE_CAPTURE_HISTORY
> -static int
> -make_capture_history_tree(OnigCaptureTreeNode* node, StackType** kp,
> -                          StackType* stk_top, UChar* str, regex_t* reg)
> -{
> -  int n, r;
> -  OnigCaptureTreeNode* child;
> -  StackType* k = *kp;
> -
> -  while (k < stk_top) {
> -    if (k->type == STK_MEM_START) {
> -      n = k->zid;
> -      if (n <= ONIG_MAX_CAPTURE_HISTORY_GROUP &&
> -          MEM_STATUS_AT(reg->capture_history, n) != 0) {
> -        child = history_node_new();
> -        CHECK_NULL_RETURN_MEMERR(child);
> -        child->group = n;
> -        child->beg = (int )(k->u.mem.pstr - str);
> -        r = history_tree_add_child(node, child);
> -        if (r != 0) return r;
> -        *kp = (k + 1);
> -        r = make_capture_history_tree(child, kp, stk_top, str, reg);
> -        if (r != 0) return r;
> -
> -        k = *kp;
> -        child->end = (int )(k->u.mem.pstr - str);
> -      }
> -    }
> -    else if (k->type == STK_MEM_END) {
> -      if (k->zid == node->group) {
> -        node->end = (int )(k->u.mem.pstr - str);
> -        *kp = k;
> -        return 0;
> -      }
> -    }
> -    k++;
> -  }
> -
> -  return 1; /* 1: root node ending. */
> -}
> -#endif
> -
> -#ifdef USE_BACKREF_WITH_LEVEL
> -static int mem_is_in_memp(int mem, int num, MemNumType* memp)
> -{
> -  int i;
> -
> -  for (i = 0; i < num; i++) {
> -    if (mem == (int )memp[i]) return 1;
> -  }
> -  return 0;
> -}
> -
> -static int
> -backref_match_at_nested_level(regex_t* reg,
> -                              StackType* top, StackType* stk_base,
> -                              int ignore_case, int case_fold_flag,
> -                              int nest, int mem_num, MemNumType* memp,
> -                              UChar** s, const UChar* send)
> -{
> -  UChar *ss, *p, *pstart, *pend = NULL_UCHARP;
> -  int level;
> -  StackType* k;
> -
> -  level = 0;
> -  k = top;
> -  k--;
> -  while (k >= stk_base) {
> -    if (k->type == STK_CALL_FRAME) {
> -      level--;
> -    }
> -    else if (k->type == STK_RETURN) {
> -      level++;
> -    }
> -    else if (level == nest) {
> -      if (k->type == STK_MEM_START) {
> -        if (mem_is_in_memp(k->zid, mem_num, memp)) {
> -          pstart = k->u.mem.pstr;
> -          if (IS_NOT_NULL(pend)) {
> -            if (pend - pstart > send - *s) return 0; /* or goto next_mem; */
> -            p  = pstart;
> -            ss = *s;
> -
> -            if (ignore_case != 0) {
> -              if (string_cmp_ic(reg->enc, case_fold_flag,
> -                                pstart, &ss, (int )(pend - pstart)) == 0)
> -                return 0; /* or goto next_mem; */
> -            }
> -            else {
> -              while (p < pend) {
> -                if (*p++ != *ss++) return 0; /* or goto next_mem; */
> -              }
> -            }
> -
> -            *s = ss;
> -            return 1;
> -          }
> -        }
> -      }
> -      else if (k->type == STK_MEM_END) {
> -        if (mem_is_in_memp(k->zid, mem_num, memp)) {
> -          pend = k->u.mem.pstr;
> -        }
> -      }
> -    }
> -    k--;
> -  }
> -
> -  return 0;
> -}
> -
> -static int
> -backref_check_at_nested_level(regex_t* reg,
> -                              StackType* top, StackType* stk_base,
> -                              int nest, int mem_num, MemNumType* memp)
> -{
> -  int level;
> -  StackType* k;
> -
> -  level = 0;
> -  k = top;
> -  k--;
> -  while (k >= stk_base) {
> -    if (k->type == STK_CALL_FRAME) {
> -      level--;
> -    }
> -    else if (k->type == STK_RETURN) {
> -      level++;
> -    }
> -    else if (level == nest) {
> -      if (k->type == STK_MEM_END) {
> -        if (mem_is_in_memp(k->zid, mem_num, memp)) {
> -          return 1;
> -        }
> -      }
> -    }
> -    k--;
> -  }
> -
> -  return 0;
> -}
> -#endif /* USE_BACKREF_WITH_LEVEL */
> -
> -
> -#ifdef ONIG_DEBUG_STATISTICS
> -
> -#define USE_TIMEOFDAY
> -
> -#ifdef USE_TIMEOFDAY
> -#ifdef HAVE_SYS_TIME_H
> -#include <sys/time.h>
> -#endif
> -#ifdef HAVE_UNISTD_H
> -#include <unistd.h>
> -#endif
> -static struct timeval ts, te;
> -#define GETTIME(t)        gettimeofday(&(t), (struct timezone* )0)
> -#define TIMEDIFF(te,ts)   (((te).tv_usec - (ts).tv_usec) + \
> -                           (((te).tv_sec - (ts).tv_sec)*1000000))
> -#else
> -#ifdef HAVE_SYS_TIMES_H
> -#include <sys/times.h>
> -#endif
> -static struct tms ts, te;
> -#define GETTIME(t)         times(&(t))
> -#define TIMEDIFF(te,ts)   ((te).tms_utime - (ts).tms_utime)
> -#endif
> -
> -static int OpCounter[256];
> -static int OpPrevCounter[256];
> -static unsigned long OpTime[256];
> -static int OpCurr = OP_FINISH;
> -static int OpPrevTarget = OP_FAIL;
> -static int MaxStackDepth = 0;
> -
> -#define SOP_IN(opcode) do {\
> -  if (opcode == OpPrevTarget) OpPrevCounter[OpCurr]++;\
> -  OpCurr = opcode;\
> -  OpCounter[opcode]++;\
> -  GETTIME(ts);\
> -} while(0)
> -
> -#define SOP_OUT do {\
> -  GETTIME(te);\
> -  OpTime[OpCurr] += TIMEDIFF(te, ts);\
> -} while(0)
> -
> -extern void
> -onig_statistics_init(void)
> -{
> -  int i;
> -  for (i = 0; i < 256; i++) {
> -    OpCounter[i] = OpPrevCounter[i] = 0; OpTime[i] = 0;
> -  }
> -  MaxStackDepth = 0;
> -}
> -
> -extern int
> -onig_print_statistics(FILE* f)
> -{
> -  int r;
> -  int i;
> -
> -  r = fprintf(f, "   count      prev        time\n");
> -  if (r < 0) return -1;
> -
> -  for (i = 0; OpInfo[i].opcode >= 0; i++) {
> -    r = fprintf(f, "%8d: %8d: %10ld: %s\n",
> -                OpCounter[i], OpPrevCounter[i], OpTime[i], OpInfo[i].name);
> -    if (r < 0) return -1;
> -  }
> -  r = fprintf(f, "\nmax stack depth: %d\n", MaxStackDepth);
> -  if (r < 0) return -1;
> -
> -  return 0;
> -}
> -
> -#define STACK_INC do {\
> -  stk++;\
> -  if (stk - stk_base > MaxStackDepth) \
> -    MaxStackDepth = stk - stk_base;\
> -} while(0)
> -
> -#else
> -#define STACK_INC     stk++
> -
> -#define SOP_IN(opcode)
> -#define SOP_OUT
> -#endif
> -
> -
> -/* matching region of POSIX API */
> -typedef int regoff_t;
> -
> -typedef struct {
> -  regoff_t  rm_so;
> -  regoff_t  rm_eo;
> -} posix_regmatch_t;
> -
> -
> -
> -#ifdef USE_THREADED_CODE
> -
> -#define BYTECODE_INTERPRETER_START      GOTO_OP;
> -#define BYTECODE_INTERPRETER_END
> -#define CASE_OP(x)   L_##x: SOP_IN(OP_##x); sbegin = s;
> MATCH_DEBUG_OUT(0)
> -#define DEFAULT_OP   /* L_DEFAULT: */
> -#define NEXT_OP      sprev = sbegin; JUMP_OP
> -#define JUMP_OP      GOTO_OP
> -#ifdef USE_DIRECT_THREADED_CODE
> -#define GOTO_OP      goto *(p->opaddr)
> -#else
> -#define GOTO_OP      goto *opcode_to_label[p->opcode]
> -#endif
> -#define BREAK_OP     /* Nothing */
> -
> -#else
> -
> -#define BYTECODE_INTERPRETER_START \
> -  while (1) {\
> -  MATCH_DEBUG_OUT(0)\
> -  sbegin = s;\
> -  switch (p->opcode) {
> -#define BYTECODE_INTERPRETER_END  } sprev = sbegin; }
> -#define CASE_OP(x)   case OP_##x: SOP_IN(OP_##x);
> -#define DEFAULT_OP   default:
> -#define NEXT_OP      break
> -#define JUMP_OP      GOTO_OP
> -#define GOTO_OP      continue; break
> -#define BREAK_OP     break
> -
> -#endif /* USE_THREADED_CODE */
> -
> -#define INC_OP       p++
> -#define NEXT_OUT     SOP_OUT; NEXT_OP
> -#define JUMP_OUT     SOP_OUT; JUMP_OP
> -#define BREAK_OUT    SOP_OUT; BREAK_OP
> -#define CHECK_INTERRUPT_JUMP_OUT  SOP_OUT;
> CHECK_INTERRUPT_IN_MATCH; JUMP_OP
> -
> -
> -#ifdef ONIG_DEBUG_MATCH
> -#define MATCH_DEBUG_OUT(offset) do {\
> -      Operation *xp;\
> -      UChar *q, *bp, buf[50];\
> -      int len, spos;\
> -      spos = IS_NOT_NULL(s) ? (int )(s - str) : -1;\
> -      xp = p - (offset);\
> -      fprintf(stderr, "%7u: %7ld: %4d> \"",\
> -              counter, GET_STACK_INDEX(stk), spos);\
> -      counter++;\
> -      bp = buf;\
> -      if (IS_NOT_NULL(s)) {\
> -        for (i = 0, q = s; i < 7 && q < end; i++) {\
> -          len = enclen(encode, q);\
> -          while (len-- > 0) *bp++ = *q++;\
> -        }\
> -        if (q < end) { xmemcpy(bp, "...\"", 4); bp += 4; }\
> -        else         { xmemcpy(bp, "\"",    1); bp += 1; }\
> -      }\
> -      else {\
> -        xmemcpy(bp, "\"", 1); bp += 1;\
> -      }\
> -      *bp = 0;\
> -      fputs((char* )buf, stderr);\
> -      for (i = 0; i < 20 - (bp - buf); i++) fputc(' ', stderr);\
> -      if (xp == FinishCode)\
> -        fprintf(stderr, "----: finish");\
> -      else {\
> -        fprintf(stderr, "%4d: ", (int )(xp - reg->ops));\
> -        print_compiled_byte_code(stderr, reg, (int )(xp - reg->ops), reg->ops,
> encode);\
> -      }\
> -      fprintf(stderr, "\n");\
> -  } while(0);
> -#else
> -#define MATCH_DEBUG_OUT(offset)
> -#endif
> -
> -
> -/* match data(str - end) from position (sstart). */
> -/* if sstart == str then set sprev to NULL. */
> -static int
> -match_at(regex_t* reg, const UChar* str, const UChar* end,
> -         const UChar* in_right_range, const UChar* sstart, UChar* sprev,
> -         MatchArg* msa)
> -{
> -
> -#if defined(USE_DIRECT_THREADED_CODE)
> -  static Operation FinishCode[] = { { .opaddr=&&L_FINISH } };
> -#else
> -  static Operation FinishCode[] = { { OP_FINISH } };
> -#endif
> -
> -#ifdef USE_THREADED_CODE
> -  static const void *opcode_to_label[] = {
> -  &&L_FINISH,
> -  &&L_END,
> -  &&L_EXACT1,
> -  &&L_EXACT2,
> -  &&L_EXACT3,
> -  &&L_EXACT4,
> -  &&L_EXACT5,
> -  &&L_EXACTN,
> -  &&L_EXACTMB2N1,
> -  &&L_EXACTMB2N2,
> -  &&L_EXACTMB2N3,
> -  &&L_EXACTMB2N,
> -  &&L_EXACTMB3N,
> -  &&L_EXACTMBN,
> -  &&L_EXACT1_IC,
> -  &&L_EXACTN_IC,
> -  &&L_CCLASS,
> -  &&L_CCLASS_MB,
> -  &&L_CCLASS_MIX,
> -  &&L_CCLASS_NOT,
> -  &&L_CCLASS_MB_NOT,
> -  &&L_CCLASS_MIX_NOT,
> -  &&L_ANYCHAR,
> -  &&L_ANYCHAR_ML,
> -  &&L_ANYCHAR_STAR,
> -  &&L_ANYCHAR_ML_STAR,
> -  &&L_ANYCHAR_STAR_PEEK_NEXT,
> -  &&L_ANYCHAR_ML_STAR_PEEK_NEXT,
> -  &&L_WORD,
> -  &&L_WORD_ASCII,
> -  &&L_NO_WORD,
> -  &&L_NO_WORD_ASCII,
> -  &&L_WORD_BOUNDARY,
> -  &&L_NO_WORD_BOUNDARY,
> -  &&L_WORD_BEGIN,
> -  &&L_WORD_END,
> -  &&L_TEXT_SEGMENT_BOUNDARY,
> -  &&L_BEGIN_BUF,
> -  &&L_END_BUF,
> -  &&L_BEGIN_LINE,
> -  &&L_END_LINE,
> -  &&L_SEMI_END_BUF,
> -  &&L_BEGIN_POSITION,
> -  &&L_BACKREF1,
> -  &&L_BACKREF2,
> -  &&L_BACKREF_N,
> -  &&L_BACKREF_N_IC,
> -  &&L_BACKREF_MULTI,
> -  &&L_BACKREF_MULTI_IC,
> -  &&L_BACKREF_WITH_LEVEL,
> -  &&L_BACKREF_WITH_LEVEL_IC,
> -  &&L_BACKREF_CHECK,
> -  &&L_BACKREF_CHECK_WITH_LEVEL,
> -  &&L_MEMORY_START,
> -  &&L_MEMORY_START_PUSH,
> -  &&L_MEMORY_END_PUSH,
> -  &&L_MEMORY_END_PUSH_REC,
> -  &&L_MEMORY_END,
> -  &&L_MEMORY_END_REC,
> -  &&L_FAIL,
> -  &&L_JUMP,
> -  &&L_PUSH,
> -  &&L_PUSH_SUPER,
> -  &&L_POP_OUT,
> -#ifdef USE_OP_PUSH_OR_JUMP_EXACT
> -  &&L_PUSH_OR_JUMP_EXACT1,
> -#endif
> -  &&L_PUSH_IF_PEEK_NEXT,
> -  &&L_REPEAT,
> -  &&L_REPEAT_NG,
> -  &&L_REPEAT_INC,
> -  &&L_REPEAT_INC_NG,
> -  &&L_REPEAT_INC_SG,
> -  &&L_REPEAT_INC_NG_SG,
> -  &&L_EMPTY_CHECK_START,
> -  &&L_EMPTY_CHECK_END,
> -  &&L_EMPTY_CHECK_END_MEMST,
> -  &&L_EMPTY_CHECK_END_MEMST_PUSH,
> -  &&L_PREC_READ_START,
> -  &&L_PREC_READ_END,
> -  &&L_PREC_READ_NOT_START,
> -  &&L_PREC_READ_NOT_END,
> -  &&L_ATOMIC_START,
> -  &&L_ATOMIC_END,
> -  &&L_LOOK_BEHIND,
> -  &&L_LOOK_BEHIND_NOT_START,
> -  &&L_LOOK_BEHIND_NOT_END,
> -  &&L_CALL,
> -  &&L_RETURN,
> -  &&L_PUSH_SAVE_VAL,
> -  &&L_UPDATE_VAR,
> -#ifdef USE_CALLOUT
> -  &&L_CALLOUT_CONTENTS,
> -  &&L_CALLOUT_NAME,
> -#endif
> -  };
> -#endif
> -
> -  int i, n, num_mem, best_len, pop_level;
> -  LengthType tlen, tlen2;
> -  MemNumType mem;
> -  RelAddrType addr;
> -  UChar *s, *q, *ps, *sbegin;
> -  UChar *right_range;
> -  int is_alloca;
> -  char *alloc_base;
> -  StackType *stk_base, *stk, *stk_end;
> -  StackType *stkp; /* used as any purpose. */
> -  StackIndex si;
> -  StackIndex *repeat_stk;
> -  StackIndex *mem_start_stk, *mem_end_stk;
> -  UChar* keep;
> -#ifdef USE_RETRY_LIMIT_IN_MATCH
> -  unsigned long retry_limit_in_match;
> -  unsigned long retry_in_match_counter;
> -#endif
> -
> -#ifdef USE_CALLOUT
> -  int of;
> -#endif
> -
> -  Operation* p = reg->ops;
> -  OnigOptionType option = reg->options;
> -  OnigEncoding encode = reg->enc;
> -  OnigCaseFoldType case_fold_flag = reg->case_fold_flag;
> -
> -#ifdef ONIG_DEBUG_MATCH
> -  static unsigned int counter = 1;
> -#endif
> -
> -#ifdef USE_DIRECT_THREADED_CODE
> -  if (IS_NULL(msa)) {
> -    for (i = 0; i < reg->ops_used; i++) {
> -       const void* addr;
> -       addr = opcode_to_label[reg->ocs[i]];
> -       p->opaddr = addr;
> -       p++;
> -    }
> -    return ONIG_NORMAL;
> -  }
> -#endif
> -
> -#ifdef USE_CALLOUT
> -  msa->mp->match_at_call_counter++;
> -#endif
> -
> -#ifdef USE_RETRY_LIMIT_IN_MATCH
> -  retry_limit_in_match = msa->retry_limit_in_match;
> -#endif
> -
> -  pop_level = reg->stack_pop_level;
> -  num_mem = reg->num_mem;
> -  STACK_INIT(INIT_MATCH_STACK_SIZE);
> -  UPDATE_FOR_STACK_REALLOC;
> -  for (i = 1; i <= num_mem; i++) {
> -    mem_start_stk[i] = mem_end_stk[i] = INVALID_STACK_INDEX;
> -  }
> -
> -#ifdef ONIG_DEBUG_MATCH
> -  fprintf(stderr, "match_at: str: %p, end: %p, start: %p, sprev: %p\n",
> -          str, end, sstart, sprev);
> -  fprintf(stderr, "size: %d, start offset: %d\n",
> -          (int )(end - str), (int )(sstart - str));
> -#endif
> -
> -  best_len = ONIG_MISMATCH;
> -  keep = s = (UChar* )sstart;
> -  STACK_PUSH_BOTTOM(STK_ALT, FinishCode);  /* bottom stack */
> -  INIT_RIGHT_RANGE;
> -
> -#ifdef USE_RETRY_LIMIT_IN_MATCH
> -  retry_in_match_counter = 0;
> -#endif
> -
> -  BYTECODE_INTERPRETER_START {
> -    CASE_OP(END)
> -      n = (int )(s - sstart);
> -      if (n > best_len) {
> -        OnigRegion* region;
> -#ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE
> -        if (IS_FIND_LONGEST(option)) {
> -          if (n > msa->best_len) {
> -            msa->best_len = n;
> -            msa->best_s   = (UChar* )sstart;
> -          }
> -          else
> -            goto end_best_len;
> -        }
> -#endif
> -        best_len = n;
> -        region = msa->region;
> -        if (region) {
> -          if (keep > s) keep = s;
> -
> -#ifdef USE_POSIX_API_REGION_OPTION
> -          if (IS_POSIX_REGION(msa->options)) {
> -            posix_regmatch_t* rmt = (posix_regmatch_t* )region;
> -
> -            rmt[0].rm_so = (regoff_t )(keep - str);
> -            rmt[0].rm_eo = (regoff_t )(s    - str);
> -            for (i = 1; i <= num_mem; i++) {
> -              if (mem_end_stk[i] != INVALID_STACK_INDEX) {
> -                if (MEM_STATUS_AT(reg->bt_mem_start, i))
> -                  rmt[i].rm_so = (regoff_t )(STACK_AT(mem_start_stk[i])-
> >u.mem.pstr - str);
> -                else
> -                  rmt[i].rm_so = (regoff_t )((UChar* )((void* )(mem_start_stk[i])) -
> str);
> -
> -                rmt[i].rm_eo = (regoff_t )((MEM_STATUS_AT(reg->bt_mem_end, i)
> -                                            ? STACK_AT(mem_end_stk[i])->u.mem.pstr
> -                                            : (UChar* )((void* )mem_end_stk[i]))
> -                                           - str);
> -              }
> -              else {
> -                rmt[i].rm_so = rmt[i].rm_eo = ONIG_REGION_NOTPOS;
> -              }
> -            }
> -          }
> -          else {
> -#endif /* USE_POSIX_API_REGION_OPTION */
> -            region->beg[0] = (int )(keep - str);
> -            region->end[0] = (int )(s    - str);
> -            for (i = 1; i <= num_mem; i++) {
> -              if (mem_end_stk[i] != INVALID_STACK_INDEX) {
> -                if (MEM_STATUS_AT(reg->bt_mem_start, i))
> -                  region->beg[i] = (int )(STACK_AT(mem_start_stk[i])->u.mem.pstr -
> str);
> -                else
> -                  region->beg[i] = (int )((UChar* )((void* )mem_start_stk[i]) - str);
> -
> -                region->end[i] = (int )((MEM_STATUS_AT(reg->bt_mem_end, i)
> -                                         ? STACK_AT(mem_end_stk[i])->u.mem.pstr
> -                                         : (UChar* )((void* )mem_end_stk[i])) - str);
> -              }
> -              else {
> -                region->beg[i] = region->end[i] = ONIG_REGION_NOTPOS;
> -              }
> -            }
> -
> -#ifdef USE_CAPTURE_HISTORY
> -            if (reg->capture_history != 0) {
> -              int r;
> -              OnigCaptureTreeNode* node;
> -
> -              if (IS_NULL(region->history_root)) {
> -                region->history_root = node = history_node_new();
> -                CHECK_NULL_RETURN_MEMERR(node);
> -              }
> -              else {
> -                node = region->history_root;
> -                history_tree_clear(node);
> -              }
> -
> -              node->group = 0;
> -              node->beg   = (int )(keep - str);
> -              node->end   = (int )(s    - str);
> -
> -              stkp = stk_base;
> -              r = make_capture_history_tree(region->history_root, &stkp,
> -                                            stk, (UChar* )str, reg);
> -              if (r < 0) {
> -                best_len = r; /* error code */
> -                goto finish;
> -              }
> -            }
> -#endif /* USE_CAPTURE_HISTORY */
> -#ifdef USE_POSIX_API_REGION_OPTION
> -          } /* else IS_POSIX_REGION() */
> -#endif
> -        } /* if (region) */
> -      } /* n > best_len */
> -
> -#ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE
> -    end_best_len:
> -#endif
> -      SOP_OUT;
> -
> -      if (IS_FIND_CONDITION(option)) {
> -        if (IS_FIND_NOT_EMPTY(option) && s == sstart) {
> -          best_len = ONIG_MISMATCH;
> -          goto fail; /* for retry */
> -        }
> -        if (IS_FIND_LONGEST(option) && DATA_ENSURE_CHECK1) {
> -          goto fail; /* for retry */
> -        }
> -      }
> -
> -      /* default behavior: return first-matching result. */
> -      goto finish;
> -
> -    CASE_OP(EXACT1)
> -      DATA_ENSURE(1);
> -      ps = p->exact.s;
> -      if (*ps != *s) goto fail;
> -      s++;
> -      INC_OP;
> -      NEXT_OUT;
> -
> -    CASE_OP(EXACT1_IC)
> -      {
> -        int len;
> -        UChar *q, lowbuf[ONIGENC_MBC_CASE_FOLD_MAXLEN];
> -
> -        DATA_ENSURE(1);
> -        len = ONIGENC_MBC_CASE_FOLD(encode,
> -                 /* DISABLE_CASE_FOLD_MULTI_CHAR(case_fold_flag), */
> -                                    case_fold_flag,
> -                                    &s, end, lowbuf);
> -        DATA_ENSURE(0);
> -        q = lowbuf;
> -        ps = p->exact.s;
> -        while (len-- > 0) {
> -          if (*ps != *q) goto fail;
> -          ps++; q++;
> -        }
> -      }
> -      INC_OP;
> -      NEXT_OUT;
> -
> -    CASE_OP(EXACT2)
> -      DATA_ENSURE(2);
> -      ps = p->exact.s;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      sprev = s;
> -      s++;
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(EXACT3)
> -      DATA_ENSURE(3);
> -      ps = p->exact.s;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      sprev = s;
> -      s++;
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(EXACT4)
> -      DATA_ENSURE(4);
> -      ps = p->exact.s;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      sprev = s;
> -      s++;
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(EXACT5)
> -      DATA_ENSURE(5);
> -      ps = p->exact.s;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      sprev = s;
> -      s++;
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(EXACTN)
> -      tlen = p->exact_n.n;
> -      DATA_ENSURE(tlen);
> -      ps = p->exact_n.s;
> -      while (tlen-- > 0) {
> -        if (*ps++ != *s++) goto fail;
> -      }
> -      sprev = s - 1;
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(EXACTN_IC)
> -      {
> -        int len;
> -        UChar *q, *endp, lowbuf[ONIGENC_MBC_CASE_FOLD_MAXLEN];
> -
> -        tlen = p->exact_n.n;
> -        ps   = p->exact_n.s;
> -        endp = ps + tlen;
> -        while (ps < endp) {
> -          sprev = s;
> -          DATA_ENSURE(1);
> -          len = ONIGENC_MBC_CASE_FOLD(encode,
> -                        /* DISABLE_CASE_FOLD_MULTI_CHAR(case_fold_flag), */
> -                                      case_fold_flag,
> -                                      &s, end, lowbuf);
> -          DATA_ENSURE(0);
> -          q = lowbuf;
> -          while (len-- > 0) {
> -            if (*ps != *q) goto fail;
> -            ps++; q++;
> -          }
> -        }
> -      }
> -
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(EXACTMB2N1)
> -      DATA_ENSURE(2);
> -      ps = p->exact.s;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      s++;
> -      INC_OP;
> -      NEXT_OUT;
> -
> -    CASE_OP(EXACTMB2N2)
> -      DATA_ENSURE(4);
> -      ps = p->exact.s;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      sprev = s;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      s++;
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(EXACTMB2N3)
> -      DATA_ENSURE(6);
> -      ps = p->exact.s;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      sprev = s;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      if (*ps != *s) goto fail;
> -      ps++; s++;
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(EXACTMB2N)
> -      tlen = p->exact_n.n;
> -      DATA_ENSURE(tlen * 2);
> -      ps = p->exact_n.s;
> -      while (tlen-- > 0) {
> -        if (*ps != *s) goto fail;
> -        ps++; s++;
> -        if (*ps != *s) goto fail;
> -        ps++; s++;
> -      }
> -      sprev = s - 2;
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(EXACTMB3N)
> -      tlen = p->exact_n.n;
> -      DATA_ENSURE(tlen * 3);
> -      ps = p->exact_n.s;
> -      while (tlen-- > 0) {
> -        if (*ps != *s) goto fail;
> -        ps++; s++;
> -        if (*ps != *s) goto fail;
> -        ps++; s++;
> -        if (*ps != *s) goto fail;
> -        ps++; s++;
> -      }
> -      sprev = s - 3;
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(EXACTMBN)
> -      tlen  = p->exact_len_n.len; /* mb byte len */
> -      tlen2 = p->exact_len_n.n;   /* number of chars */
> -      tlen2 *= tlen;
> -      DATA_ENSURE(tlen2);
> -      ps = p->exact_len_n.s;
> -      while (tlen2-- > 0) {
> -        if (*ps != *s) goto fail;
> -        ps++; s++;
> -      }
> -      sprev = s - tlen;
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(CCLASS)
> -      DATA_ENSURE(1);
> -      if (BITSET_AT(p->cclass.bsp, *s) == 0) goto fail;
> -      s++;
> -      INC_OP;
> -      NEXT_OUT;
> -
> -    CASE_OP(CCLASS_MB)
> -      DATA_ENSURE(1);
> -      if (! ONIGENC_IS_MBC_HEAD(encode, s)) goto fail;
> -
> -    cclass_mb:
> -      {
> -        OnigCodePoint code;
> -        UChar *ss;
> -        int mb_len;
> -
> -        DATA_ENSURE(1);
> -        mb_len = enclen(encode, s);
> -        DATA_ENSURE(mb_len);
> -        ss = s;
> -        s += mb_len;
> -        code = ONIGENC_MBC_TO_CODE(encode, ss, s);
> -        if (! onig_is_in_code_range(p->cclass_mb.mb, code)) goto fail;
> -      }
> -      INC_OP;
> -      NEXT_OUT;
> -
> -    CASE_OP(CCLASS_MIX)
> -      DATA_ENSURE(1);
> -      if (ONIGENC_IS_MBC_HEAD(encode, s)) {
> -        goto cclass_mb;
> -      }
> -      else {
> -        if (BITSET_AT(p->cclass_mix.bsp, *s) == 0)
> -          goto fail;
> -
> -        s++;
> -      }
> -      INC_OP;
> -      NEXT_OUT;
> -
> -    CASE_OP(CCLASS_NOT)
> -      DATA_ENSURE(1);
> -      if (BITSET_AT(p->cclass.bsp, *s) != 0) goto fail;
> -      s += enclen(encode, s);
> -      INC_OP;
> -      NEXT_OUT;
> -
> -    CASE_OP(CCLASS_MB_NOT)
> -      DATA_ENSURE(1);
> -      if (! ONIGENC_IS_MBC_HEAD(encode, s)) {
> -        s++;
> -        goto cc_mb_not_success;
> -      }
> -
> -    cclass_mb_not:
> -      {
> -        OnigCodePoint code;
> -        UChar *ss;
> -        int mb_len = enclen(encode, s);
> -
> -        if (! DATA_ENSURE_CHECK(mb_len)) {
> -          DATA_ENSURE(1);
> -          s = (UChar* )end;
> -          goto cc_mb_not_success;
> -        }
> -
> -        ss = s;
> -        s += mb_len;
> -        code = ONIGENC_MBC_TO_CODE(encode, ss, s);
> -        if (onig_is_in_code_range(p->cclass_mb.mb, code)) goto fail;
> -      }
> -
> -    cc_mb_not_success:
> -      INC_OP;
> -      NEXT_OUT;
> -
> -    CASE_OP(CCLASS_MIX_NOT)
> -      DATA_ENSURE(1);
> -      if (ONIGENC_IS_MBC_HEAD(encode, s)) {
> -        goto cclass_mb_not;
> -      }
> -      else {
> -        if (BITSET_AT(p->cclass_mix.bsp, *s) != 0)
> -          goto fail;
> -
> -        s++;
> -      }
> -      INC_OP;
> -      NEXT_OUT;
> -
> -    CASE_OP(ANYCHAR)
> -      DATA_ENSURE(1);
> -      n = enclen(encode, s);
> -      DATA_ENSURE(n);
> -      if (ONIGENC_IS_MBC_NEWLINE(encode, s, end)) goto fail;
> -      s += n;
> -      INC_OP;
> -      NEXT_OUT;
> -
> -    CASE_OP(ANYCHAR_ML)
> -      DATA_ENSURE(1);
> -      n = enclen(encode, s);
> -      DATA_ENSURE(n);
> -      s += n;
> -      INC_OP;
> -      NEXT_OUT;
> -
> -    CASE_OP(ANYCHAR_STAR)
> -      INC_OP;
> -      while (DATA_ENSURE_CHECK1) {
> -        STACK_PUSH_ALT(p, s, sprev);
> -        n = enclen(encode, s);
> -        DATA_ENSURE(n);
> -        if (ONIGENC_IS_MBC_NEWLINE(encode, s, end))  goto fail;
> -        sprev = s;
> -        s += n;
> -      }
> -      JUMP_OUT;
> -
> -    CASE_OP(ANYCHAR_ML_STAR)
> -      INC_OP;
> -      while (DATA_ENSURE_CHECK1) {
> -        STACK_PUSH_ALT(p, s, sprev);
> -        n = enclen(encode, s);
> -        if (n > 1) {
> -          DATA_ENSURE(n);
> -          sprev = s;
> -          s += n;
> -        }
> -        else {
> -          sprev = s;
> -          s++;
> -        }
> -      }
> -      JUMP_OUT;
> -
> -    CASE_OP(ANYCHAR_STAR_PEEK_NEXT)
> -      {
> -        UChar c;
> -
> -        c = p->anychar_star_peek_next.c;
> -        INC_OP;
> -        while (DATA_ENSURE_CHECK1) {
> -          if (c == *s) {
> -            STACK_PUSH_ALT(p, s, sprev);
> -          }
> -          n = enclen(encode, s);
> -          DATA_ENSURE(n);
> -          if (ONIGENC_IS_MBC_NEWLINE(encode, s, end))  goto fail;
> -          sprev = s;
> -          s += n;
> -        }
> -      }
> -      NEXT_OUT;
> -
> -    CASE_OP(ANYCHAR_ML_STAR_PEEK_NEXT)
> -      {
> -        UChar c;
> -
> -        c = p->anychar_star_peek_next.c;
> -        INC_OP;
> -        while (DATA_ENSURE_CHECK1) {
> -          if (c == *s) {
> -            STACK_PUSH_ALT(p, s, sprev);
> -          }
> -          n = enclen(encode, s);
> -          if (n > 1) {
> -            DATA_ENSURE(n);
> -            sprev = s;
> -            s += n;
> -          }
> -          else {
> -            sprev = s;
> -            s++;
> -          }
> -        }
> -      }
> -      NEXT_OUT;
> -
> -    CASE_OP(WORD)
> -      DATA_ENSURE(1);
> -      if (! ONIGENC_IS_MBC_WORD(encode, s, end))
> -        goto fail;
> -
> -      s += enclen(encode, s);
> -      INC_OP;
> -      NEXT_OUT;
> -
> -    CASE_OP(WORD_ASCII)
> -      DATA_ENSURE(1);
> -      if (! ONIGENC_IS_MBC_WORD_ASCII(encode, s, end))
> -        goto fail;
> -
> -      s += enclen(encode, s);
> -      INC_OP;
> -      NEXT_OUT;
> -
> -    CASE_OP(NO_WORD)
> -      DATA_ENSURE(1);
> -      if (ONIGENC_IS_MBC_WORD(encode, s, end))
> -        goto fail;
> -
> -      s += enclen(encode, s);
> -      INC_OP;
> -      NEXT_OUT;
> -
> -    CASE_OP(NO_WORD_ASCII)
> -      DATA_ENSURE(1);
> -      if (ONIGENC_IS_MBC_WORD_ASCII(encode, s, end))
> -        goto fail;
> -
> -      s += enclen(encode, s);
> -      INC_OP;
> -      NEXT_OUT;
> -
> -    CASE_OP(WORD_BOUNDARY)
> -      {
> -        ModeType mode;
> -
> -        mode = p->word_boundary.mode;
> -        if (ON_STR_BEGIN(s)) {
> -          DATA_ENSURE(1);
> -          if (! IS_MBC_WORD_ASCII_MODE(encode, s, end, mode))
> -            goto fail;
> -        }
> -        else if (ON_STR_END(s)) {
> -          if (! IS_MBC_WORD_ASCII_MODE(encode, sprev, end, mode))
> -            goto fail;
> -        }
> -        else {
> -          if (IS_MBC_WORD_ASCII_MODE(encode, s, end, mode)
> -              == IS_MBC_WORD_ASCII_MODE(encode, sprev, end, mode))
> -            goto fail;
> -        }
> -      }
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(NO_WORD_BOUNDARY)
> -      {
> -        ModeType mode;
> -
> -        mode = p->word_boundary.mode;
> -        if (ON_STR_BEGIN(s)) {
> -          if (DATA_ENSURE_CHECK1 && IS_MBC_WORD_ASCII_MODE(encode, s,
> end, mode))
> -            goto fail;
> -        }
> -        else if (ON_STR_END(s)) {
> -          if (IS_MBC_WORD_ASCII_MODE(encode, sprev, end, mode))
> -            goto fail;
> -        }
> -        else {
> -          if (IS_MBC_WORD_ASCII_MODE(encode, s, end, mode)
> -              != IS_MBC_WORD_ASCII_MODE(encode, sprev, end, mode))
> -            goto fail;
> -        }
> -      }
> -      INC_OP;
> -      JUMP_OUT;
> -
> -#ifdef USE_WORD_BEGIN_END
> -    CASE_OP(WORD_BEGIN)
> -      {
> -        ModeType mode;
> -
> -        mode = p->word_boundary.mode;
> -        if (DATA_ENSURE_CHECK1 && IS_MBC_WORD_ASCII_MODE(encode, s,
> end, mode)) {
> -          if (ON_STR_BEGIN(s) || !IS_MBC_WORD_ASCII_MODE(encode, sprev,
> end, mode)) {
> -            INC_OP;
> -            JUMP_OUT;
> -          }
> -        }
> -      }
> -      goto fail;
> -
> -    CASE_OP(WORD_END)
> -      {
> -        ModeType mode;
> -
> -        mode = p->word_boundary.mode;
> -        if (!ON_STR_BEGIN(s) && IS_MBC_WORD_ASCII_MODE(encode, sprev,
> end, mode)) {
> -          if (ON_STR_END(s) || ! IS_MBC_WORD_ASCII_MODE(encode, s, end,
> mode)) {
> -            INC_OP;
> -            JUMP_OUT;
> -          }
> -        }
> -      }
> -      goto fail;
> -#endif
> -
> -    CASE_OP(TEXT_SEGMENT_BOUNDARY)
> -      {
> -        int is_break;
> -
> -        switch (p->text_segment_boundary.type) {
> -        case EXTENDED_GRAPHEME_CLUSTER_BOUNDARY:
> -          is_break = onigenc_egcb_is_break_position(encode, s, sprev, str, end);
> -          break;
> -#ifdef USE_UNICODE_WORD_BREAK
> -        case WORD_BOUNDARY:
> -          is_break = onigenc_wb_is_break_position(encode, s, sprev, str, end);
> -          break;
> -#endif
> -        default:
> -          goto bytecode_error;
> -          break;
> -        }
> -
> -        if (p->text_segment_boundary.not != 0)
> -          is_break = ! is_break;
> -
> -        if (is_break != 0) {
> -          INC_OP;
> -          JUMP_OUT;
> -        }
> -        else {
> -          goto fail;
> -        }
> -      }
> -
> -    CASE_OP(BEGIN_BUF)
> -      if (! ON_STR_BEGIN(s)) goto fail;
> -
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(END_BUF)
> -      if (! ON_STR_END(s)) goto fail;
> -
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(BEGIN_LINE)
> -      if (ON_STR_BEGIN(s)) {
> -        if (IS_NOTBOL(msa->options)) goto fail;
> -        INC_OP;
> -        JUMP_OUT;
> -      }
> -      else if (ONIGENC_IS_MBC_NEWLINE(encode, sprev, end)
> && !ON_STR_END(s)) {
> -        INC_OP;
> -        JUMP_OUT;
> -      }
> -      goto fail;
> -
> -    CASE_OP(END_LINE)
> -      if (ON_STR_END(s)) {
> -#ifndef USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE
> -        if (IS_EMPTY_STR || !ONIGENC_IS_MBC_NEWLINE(encode, sprev, end))
> {
> -#endif
> -          if (IS_NOTEOL(msa->options)) goto fail;
> -          INC_OP;
> -          JUMP_OUT;
> -#ifndef USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE
> -        }
> -#endif
> -      }
> -      else if (ONIGENC_IS_MBC_NEWLINE(encode, s, end)) {
> -        INC_OP;
> -        JUMP_OUT;
> -      }
> -#ifdef USE_CRNL_AS_LINE_TERMINATOR
> -      else if (ONIGENC_IS_MBC_CRNL(encode, s, end)) {
> -        INC_OP;
> -        JUMP_OUT;
> -      }
> -#endif
> -      goto fail;
> -
> -    CASE_OP(SEMI_END_BUF)
> -      if (ON_STR_END(s)) {
> -#ifndef USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE
> -        if (IS_EMPTY_STR || !ONIGENC_IS_MBC_NEWLINE(encode, sprev, end))
> {
> -#endif
> -          if (IS_NOTEOL(msa->options)) goto fail;
> -          INC_OP;
> -          JUMP_OUT;
> -#ifndef USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE
> -        }
> -#endif
> -      }
> -      else if (ONIGENC_IS_MBC_NEWLINE(encode, s, end) &&
> -               ON_STR_END(s + enclen(encode, s))) {
> -        INC_OP;
> -        JUMP_OUT;
> -      }
> -#ifdef USE_CRNL_AS_LINE_TERMINATOR
> -      else if (ONIGENC_IS_MBC_CRNL(encode, s, end)) {
> -        UChar* ss = s + enclen(encode, s);
> -        ss += enclen(encode, ss);
> -        if (ON_STR_END(ss)) {
> -          INC_OP;
> -          JUMP_OUT;
> -        }
> -      }
> -#endif
> -      goto fail;
> -
> -    CASE_OP(BEGIN_POSITION)
> -      if (s != msa->start)
> -        goto fail;
> -
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(MEMORY_START_PUSH)
> -      mem = p->memory_start.num;
> -      STACK_PUSH_MEM_START(mem, s);
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(MEMORY_START)
> -      mem = p->memory_start.num;
> -      mem_start_stk[mem] = (StackIndex )((void* )s);
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(MEMORY_END_PUSH)
> -      mem = p->memory_end.num;
> -      STACK_PUSH_MEM_END(mem, s);
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(MEMORY_END)
> -      mem = p->memory_end.num;
> -      mem_end_stk[mem] = (StackIndex )((void* )s);
> -      INC_OP;
> -      JUMP_OUT;
> -
> -#ifdef USE_CALL
> -    CASE_OP(MEMORY_END_PUSH_REC)
> -      mem = p->memory_end.num;
> -      STACK_GET_MEM_START(mem, stkp); /* should be before push mem-
> end. */
> -      si = GET_STACK_INDEX(stkp);
> -      STACK_PUSH_MEM_END(mem, s);
> -      mem_start_stk[mem] = si;
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(MEMORY_END_REC)
> -      mem = p->memory_end.num;
> -      mem_end_stk[mem] = (StackIndex )((void* )s);
> -      STACK_GET_MEM_START(mem, stkp);
> -
> -      if (MEM_STATUS_AT(reg->bt_mem_start, mem))
> -        mem_start_stk[mem] = GET_STACK_INDEX(stkp);
> -      else
> -        mem_start_stk[mem] = (StackIndex )((void* )stkp->u.mem.pstr);
> -
> -      STACK_PUSH_MEM_END_MARK(mem);
> -      INC_OP;
> -      JUMP_OUT;
> -#endif
> -
> -    CASE_OP(BACKREF1)
> -      mem = 1;
> -      goto backref;
> -
> -    CASE_OP(BACKREF2)
> -      mem = 2;
> -      goto backref;
> -
> -    CASE_OP(BACKREF_N)
> -      mem = p->backref_n.n1;
> -    backref:
> -      {
> -        int len;
> -        UChar *pstart, *pend;
> -
> -        if (mem_end_stk[mem]   == INVALID_STACK_INDEX) goto fail;
> -        if (mem_start_stk[mem] == INVALID_STACK_INDEX) goto fail;
> -
> -        if (MEM_STATUS_AT(reg->bt_mem_start, mem))
> -          pstart = STACK_AT(mem_start_stk[mem])->u.mem.pstr;
> -        else
> -          pstart = (UChar* )((void* )mem_start_stk[mem]);
> -
> -        pend = (MEM_STATUS_AT(reg->bt_mem_end, mem)
> -                ? STACK_AT(mem_end_stk[mem])->u.mem.pstr
> -                : (UChar* )((void* )mem_end_stk[mem]));
> -        n = (int )(pend - pstart);
> -        if (n != 0) {
> -          DATA_ENSURE(n);
> -          sprev = s;
> -          STRING_CMP(s, pstart, n);
> -          while (sprev + (len = enclen(encode, sprev)) < s)
> -            sprev += len;
> -        }
> -      }
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(BACKREF_N_IC)
> -      mem = p->backref_n.n1;
> -      {
> -        int len;
> -        UChar *pstart, *pend;
> -
> -        if (mem_end_stk[mem]   == INVALID_STACK_INDEX) goto fail;
> -        if (mem_start_stk[mem] == INVALID_STACK_INDEX) goto fail;
> -
> -        if (MEM_STATUS_AT(reg->bt_mem_start, mem))
> -          pstart = STACK_AT(mem_start_stk[mem])->u.mem.pstr;
> -        else
> -          pstart = (UChar* )((void* )mem_start_stk[mem]);
> -
> -        pend = (MEM_STATUS_AT(reg->bt_mem_end, mem)
> -                ? STACK_AT(mem_end_stk[mem])->u.mem.pstr
> -                : (UChar* )((void* )mem_end_stk[mem]));
> -        n = (int )(pend - pstart);
> -        if (n != 0) {
> -          DATA_ENSURE(n);
> -          sprev = s;
> -          STRING_CMP_IC(case_fold_flag, pstart, &s, n);
> -          while (sprev + (len = enclen(encode, sprev)) < s)
> -            sprev += len;
> -        }
> -      }
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(BACKREF_MULTI)
> -      {
> -        int len, is_fail;
> -        UChar *pstart, *pend, *swork;
> -
> -        tlen = p->backref_general.num;
> -        for (i = 0; i < tlen; i++) {
> -          mem = tlen == 1 ? p->backref_general.n1 : p->backref_general.ns[i];
> -
> -          if (mem_end_stk[mem]   == INVALID_STACK_INDEX) continue;
> -          if (mem_start_stk[mem] == INVALID_STACK_INDEX) continue;
> -
> -          if (MEM_STATUS_AT(reg->bt_mem_start, mem))
> -            pstart = STACK_AT(mem_start_stk[mem])->u.mem.pstr;
> -          else
> -            pstart = (UChar* )((void* )mem_start_stk[mem]);
> -
> -          pend = (MEM_STATUS_AT(reg->bt_mem_end, mem)
> -                  ? STACK_AT(mem_end_stk[mem])->u.mem.pstr
> -                  : (UChar* )((void* )mem_end_stk[mem]));
> -          n = (int )(pend - pstart);
> -          if (n != 0) {
> -            DATA_ENSURE(n);
> -            sprev = s;
> -            swork = s;
> -            STRING_CMP_VALUE(swork, pstart, n, is_fail);
> -            if (is_fail) continue;
> -            s = swork;
> -            while (sprev + (len = enclen(encode, sprev)) < s)
> -              sprev += len;
> -          }
> -          break; /* success */
> -        }
> -        if (i == tlen) goto fail;
> -      }
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(BACKREF_MULTI_IC)
> -      {
> -        int len, is_fail;
> -        UChar *pstart, *pend, *swork;
> -
> -        tlen = p->backref_general.num;
> -        for (i = 0; i < tlen; i++) {
> -          mem = tlen == 1 ? p->backref_general.n1 : p->backref_general.ns[i];
> -
> -          if (mem_end_stk[mem]   == INVALID_STACK_INDEX) continue;
> -          if (mem_start_stk[mem] == INVALID_STACK_INDEX) continue;
> -
> -          if (MEM_STATUS_AT(reg->bt_mem_start, mem))
> -            pstart = STACK_AT(mem_start_stk[mem])->u.mem.pstr;
> -          else
> -            pstart = (UChar* )((void* )mem_start_stk[mem]);
> -
> -          pend = (MEM_STATUS_AT(reg->bt_mem_end, mem)
> -                  ? STACK_AT(mem_end_stk[mem])->u.mem.pstr
> -                  : (UChar* )((void* )mem_end_stk[mem]));
> -          n = (int )(pend - pstart);
> -          if (n != 0) {
> -            DATA_ENSURE(n);
> -            sprev = s;
> -            swork = s;
> -            STRING_CMP_VALUE_IC(case_fold_flag, pstart, &swork, n, is_fail);
> -            if (is_fail) continue;
> -            s = swork;
> -            while (sprev + (len = enclen(encode, sprev)) < s)
> -              sprev += len;
> -          }
> -          break; /* success */
> -        }
> -        if (i == tlen) goto fail;
> -      }
> -      INC_OP;
> -      JUMP_OUT;
> -
> -#ifdef USE_BACKREF_WITH_LEVEL
> -    CASE_OP(BACKREF_WITH_LEVEL_IC)
> -      n = 1; /* ignore case */
> -      goto backref_with_level;
> -    CASE_OP(BACKREF_WITH_LEVEL)
> -      {
> -        int len;
> -        int level;
> -        MemNumType* mems;
> -        UChar* ssave;
> -
> -        n = 0;
> -      backref_with_level:
> -        level = p->backref_general.nest_level;
> -        tlen  = p->backref_general.num;
> -        mems = tlen == 1 ? &(p->backref_general.n1) : p->backref_general.ns;
> -
> -        ssave = s;
> -        if (backref_match_at_nested_level(reg, stk, stk_base, n,
> -                    case_fold_flag, level, (int )tlen, mems, &s, end)) {
> -          if (ssave != s) {
> -            sprev = ssave;
> -            while (sprev + (len = enclen(encode, sprev)) < s)
> -              sprev += len;
> -          }
> -        }
> -        else
> -          goto fail;
> -      }
> -      INC_OP;
> -      JUMP_OUT;
> -#endif
> -
> -    CASE_OP(BACKREF_CHECK)
> -      {
> -        MemNumType* mems;
> -
> -        tlen  = p->backref_general.num;
> -        mems = tlen == 1 ? &(p->backref_general.n1) : p->backref_general.ns;
> -
> -        for (i = 0; i < tlen; i++) {
> -          mem = mems[i];
> -          if (mem_end_stk[mem]   == INVALID_STACK_INDEX) continue;
> -          if (mem_start_stk[mem] == INVALID_STACK_INDEX) continue;
> -          break; /* success */
> -        }
> -        if (i == tlen) goto fail;
> -      }
> -      INC_OP;
> -      JUMP_OUT;
> -
> -#ifdef USE_BACKREF_WITH_LEVEL
> -    CASE_OP(BACKREF_CHECK_WITH_LEVEL)
> -      {
> -        LengthType level;
> -        MemNumType* mems;
> -
> -        level = p->backref_general.nest_level;
> -        tlen  = p->backref_general.num;
> -        mems = tlen == 1 ? &(p->backref_general.n1) : p->backref_general.ns;
> -
> -        if (backref_check_at_nested_level(reg, stk, stk_base,
> -                                          (int )level, (int )tlen, mems) == 0)
> -          goto fail;
> -      }
> -      INC_OP;
> -      JUMP_OUT;
> -#endif
> -
> -    CASE_OP(EMPTY_CHECK_START)
> -      mem = p->empty_check_start.mem;   /* mem: null check id */
> -      STACK_PUSH_EMPTY_CHECK_START(mem, s);
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(EMPTY_CHECK_END)
> -      {
> -        int is_empty;
> -
> -        mem = p->empty_check_end.mem;  /* mem: null check id */
> -        STACK_EMPTY_CHECK(is_empty, mem, s);
> -        INC_OP;
> -        if (is_empty) {
> -#ifdef ONIG_DEBUG_MATCH
> -          fprintf(stderr, "EMPTY_CHECK_END: skip  id:%d, s:%p\n", (int )mem, s);
> -#endif
> -        empty_check_found:
> -          /* empty loop founded, skip next instruction */
> -#if defined(ONIG_DEBUG) && !defined(USE_DIRECT_THREADED_CODE)
> -          switch (p->opcode) {
> -          case OP_JUMP:
> -          case OP_PUSH:
> -          case OP_REPEAT_INC:
> -          case OP_REPEAT_INC_NG:
> -          case OP_REPEAT_INC_SG:
> -          case OP_REPEAT_INC_NG_SG:
> -            INC_OP;
> -            break;
> -          default:
> -            goto unexpected_bytecode_error;
> -            break;
> -          }
> -#else
> -          INC_OP;
> -#endif
> -        }
> -      }
> -      JUMP_OUT;
> -
> -#ifdef USE_STUBBORN_CHECK_CAPTURES_IN_EMPTY_REPEAT
> -    CASE_OP(EMPTY_CHECK_END_MEMST)
> -      {
> -        int is_empty;
> -
> -        mem = p->empty_check_end.mem;  /* mem: null check id */
> -        STACK_EMPTY_CHECK_MEM(is_empty, mem, s, reg);
> -        INC_OP;
> -        if (is_empty) {
> -#ifdef ONIG_DEBUG_MATCH
> -          fprintf(stderr, "EMPTY_CHECK_END_MEM: skip  id:%d, s:%p\n",
> (int)mem, s);
> -#endif
> -          if (is_empty == -1) goto fail;
> -          goto empty_check_found;
> -        }
> -      }
> -      JUMP_OUT;
> -#endif
> -
> -#ifdef USE_CALL
> -    CASE_OP(EMPTY_CHECK_END_MEMST_PUSH)
> -      {
> -        int is_empty;
> -
> -        mem = p->empty_check_end.mem;  /* mem: null check id */
> -#ifdef USE_STUBBORN_CHECK_CAPTURES_IN_EMPTY_REPEAT
> -        STACK_EMPTY_CHECK_MEM_REC(is_empty, mem, s, reg);
> -#else
> -        STACK_EMPTY_CHECK_REC(is_empty, mem, s);
> -#endif
> -        INC_OP;
> -        if (is_empty) {
> -#ifdef ONIG_DEBUG_MATCH
> -          fprintf(stderr, "EMPTY_CHECK_END_MEM_PUSH: skip  id:%d, s:%p\n",
> -                  (int )mem, s);
> -#endif
> -          if (is_empty == -1) goto fail;
> -          goto empty_check_found;
> -        }
> -        else {
> -          STACK_PUSH_EMPTY_CHECK_END(mem);
> -        }
> -      }
> -      JUMP_OUT;
> -#endif
> -
> -    CASE_OP(JUMP)
> -      addr = p->jump.addr;
> -      p += addr;
> -      CHECK_INTERRUPT_JUMP_OUT;
> -
> -    CASE_OP(PUSH)
> -      addr = p->push.addr;
> -      STACK_PUSH_ALT(p + addr, s, sprev);
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(PUSH_SUPER)
> -      addr = p->push.addr;
> -      STACK_PUSH_SUPER_ALT(p + addr, s, sprev);
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(POP_OUT)
> -      STACK_POP_ONE;
> -      /* for stop backtrack */
> -      /* CHECK_RETRY_LIMIT_IN_MATCH; */
> -      INC_OP;
> -      JUMP_OUT;
> -
> - #ifdef USE_OP_PUSH_OR_JUMP_EXACT
> -    CASE_OP(PUSH_OR_JUMP_EXACT1)
> -      {
> -        UChar c;
> -
> -        addr = p->push_or_jump_exact1.addr;
> -        c    = p->push_or_jump_exact1.c;
> -        if (DATA_ENSURE_CHECK1 && c == *s) {
> -          STACK_PUSH_ALT(p + addr, s, sprev);
> -          INC_OP;
> -          JUMP_OUT;
> -        }
> -      }
> -      p += addr;
> -      JUMP_OUT;
> -#endif
> -
> -    CASE_OP(PUSH_IF_PEEK_NEXT)
> -      {
> -        UChar c;
> -
> -        addr = p->push_if_peek_next.addr;
> -        c    = p->push_if_peek_next.c;
> -        if (c == *s) {
> -          STACK_PUSH_ALT(p + addr, s, sprev);
> -          INC_OP;
> -          JUMP_OUT;
> -        }
> -      }
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(REPEAT)
> -      mem  = p->repeat.id;  /* mem: OP_REPEAT ID */
> -      addr = p->repeat.addr;
> -
> -      STACK_ENSURE(1);
> -      repeat_stk[mem] = GET_STACK_INDEX(stk);
> -      STACK_PUSH_REPEAT(mem, p + 1);
> -
> -      if (reg->repeat_range[mem].lower == 0) {
> -        STACK_PUSH_ALT(p + addr, s, sprev);
> -      }
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(REPEAT_NG)
> -      mem  = p->repeat.id;  /* mem: OP_REPEAT ID */
> -      addr = p->repeat.addr;
> -
> -      STACK_ENSURE(1);
> -      repeat_stk[mem] = GET_STACK_INDEX(stk);
> -      STACK_PUSH_REPEAT(mem, p + 1);
> -
> -      if (reg->repeat_range[mem].lower == 0) {
> -        STACK_PUSH_ALT(p + 1, s, sprev);
> -        p += addr;
> -      }
> -      else
> -        INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(REPEAT_INC)
> -      mem  = p->repeat_inc.id;  /* mem: OP_REPEAT ID */
> -      si   = repeat_stk[mem];
> -      stkp = STACK_AT(si);
> -
> -    repeat_inc:
> -      stkp->u.repeat.count++;
> -      if (stkp->u.repeat.count >= reg->repeat_range[mem].upper) {
> -        /* end of repeat. Nothing to do. */
> -        INC_OP;
> -      }
> -      else if (stkp->u.repeat.count >= reg->repeat_range[mem].lower) {
> -        INC_OP;
> -        STACK_PUSH_ALT(p, s, sprev);
> -        p = STACK_AT(si)->u.repeat.pcode; /* Don't use stkp after PUSH. */
> -      }
> -      else {
> -        p = stkp->u.repeat.pcode;
> -      }
> -      STACK_PUSH_REPEAT_INC(si);
> -      CHECK_INTERRUPT_JUMP_OUT;
> -
> -    CASE_OP(REPEAT_INC_SG)
> -      mem = p->repeat_inc.id;  /* mem: OP_REPEAT ID */
> -      STACK_GET_REPEAT(mem, stkp);
> -      si = GET_STACK_INDEX(stkp);
> -      goto repeat_inc;
> -
> -    CASE_OP(REPEAT_INC_NG)
> -      mem = p->repeat_inc.id;  /* mem: OP_REPEAT ID */
> -      si = repeat_stk[mem];
> -      stkp = STACK_AT(si);
> -
> -    repeat_inc_ng:
> -      stkp->u.repeat.count++;
> -      if (stkp->u.repeat.count < reg->repeat_range[mem].upper) {
> -        if (stkp->u.repeat.count >= reg->repeat_range[mem].lower) {
> -          Operation* pcode = stkp->u.repeat.pcode;
> -
> -          STACK_PUSH_REPEAT_INC(si);
> -          STACK_PUSH_ALT(pcode, s, sprev);
> -          INC_OP;
> -        }
> -        else {
> -          p = stkp->u.repeat.pcode;
> -          STACK_PUSH_REPEAT_INC(si);
> -        }
> -      }
> -      else if (stkp->u.repeat.count == reg->repeat_range[mem].upper) {
> -        STACK_PUSH_REPEAT_INC(si);
> -        INC_OP;
> -      }
> -      CHECK_INTERRUPT_JUMP_OUT;
> -
> -    CASE_OP(REPEAT_INC_NG_SG)
> -      mem = p->repeat_inc.id;  /* mem: OP_REPEAT ID */
> -      STACK_GET_REPEAT(mem, stkp);
> -      si = GET_STACK_INDEX(stkp);
> -      goto repeat_inc_ng;
> -
> -    CASE_OP(PREC_READ_START)
> -      STACK_PUSH_PREC_READ_START(s, sprev);
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(PREC_READ_END)
> -      STACK_GET_PREC_READ_START(stkp);
> -      s     = stkp->u.state.pstr;
> -      sprev = stkp->u.state.pstr_prev;
> -      STACK_PUSH(STK_PREC_READ_END,0,0,0);
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(PREC_READ_NOT_START)
> -      addr = p->prec_read_not_start.addr;
> -      STACK_PUSH_ALT_PREC_READ_NOT(p + addr, s, sprev);
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(PREC_READ_NOT_END)
> -      STACK_POP_TIL_ALT_PREC_READ_NOT;
> -      goto fail;
> -
> -    CASE_OP(ATOMIC_START)
> -      STACK_PUSH_TO_VOID_START;
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(ATOMIC_END)
> -      STACK_EXEC_TO_VOID(stkp);
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(LOOK_BEHIND)
> -      tlen = p->look_behind.len;
> -      s = (UChar* )ONIGENC_STEP_BACK(encode, str, s, (int )tlen);
> -      if (IS_NULL(s)) goto fail;
> -      sprev = (UChar* )onigenc_get_prev_char_head(encode, str, s);
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(LOOK_BEHIND_NOT_START)
> -      addr = p->look_behind_not_start.addr;
> -      tlen = p->look_behind_not_start.len;
> -      q = (UChar* )ONIGENC_STEP_BACK(encode, str, s, (int )tlen);
> -      if (IS_NULL(q)) {
> -        /* too short case -> success. ex. /(?<!XXX)a/.match("a")
> -           If you want to change to fail, replace following line. */
> -        p += addr;
> -        /* goto fail; */
> -      }
> -      else {
> -        STACK_PUSH_ALT_LOOK_BEHIND_NOT(p + addr, s, sprev);
> -        s = q;
> -        sprev = (UChar* )onigenc_get_prev_char_head(encode, str, s);
> -        INC_OP;
> -      }
> -      JUMP_OUT;
> -
> -    CASE_OP(LOOK_BEHIND_NOT_END)
> -      STACK_POP_TIL_ALT_LOOK_BEHIND_NOT;
> -      INC_OP;
> -      goto fail;
> -
> -#ifdef USE_CALL
> -    CASE_OP(CALL)
> -      addr = p->call.addr;
> -      INC_OP; STACK_PUSH_CALL_FRAME(p);
> -      p = reg->ops + addr;
> -      JUMP_OUT;
> -
> -    CASE_OP(RETURN)
> -      STACK_RETURN(p);
> -      STACK_PUSH_RETURN;
> -      JUMP_OUT;
> -#endif
> -
> -    CASE_OP(PUSH_SAVE_VAL)
> -      {
> -        SaveType type;
> -
> -        type = p->push_save_val.type;
> -        mem  = p->push_save_val.id; /* mem: save id */
> -        switch ((enum SaveType )type) {
> -        case SAVE_KEEP:
> -          STACK_PUSH_SAVE_VAL(mem, type, s);
> -          break;
> -
> -        case SAVE_S:
> -          STACK_PUSH_SAVE_VAL_WITH_SPREV(mem, type, s);
> -          break;
> -
> -        case SAVE_RIGHT_RANGE:
> -          STACK_PUSH_SAVE_VAL(mem, SAVE_RIGHT_RANGE, right_range);
> -          break;
> -        }
> -      }
> -      INC_OP;
> -      JUMP_OUT;
> -
> -    CASE_OP(UPDATE_VAR)
> -      {
> -        UpdateVarType type;
> -        enum SaveType save_type;
> -
> -        type = p->update_var.type;
> -        mem  = p->update_var.id; /* mem: save id */
> -
> -        switch ((enum UpdateVarType )type) {
> -        case UPDATE_VAR_KEEP_FROM_STACK_LAST:
> -          STACK_GET_SAVE_VAL_TYPE_LAST(SAVE_KEEP, keep);
> -          break;
> -        case UPDATE_VAR_S_FROM_STACK:
> -          STACK_GET_SAVE_VAL_TYPE_LAST_ID_WITH_SPREV(SAVE_S, mem, s);
> -          break;
> -        case UPDATE_VAR_RIGHT_RANGE_FROM_S_STACK:
> -          save_type = SAVE_S;
> -          goto get_save_val_type_last_id;
> -          break;
> -        case UPDATE_VAR_RIGHT_RANGE_FROM_STACK:
> -          save_type = SAVE_RIGHT_RANGE;
> -        get_save_val_type_last_id:
> -          STACK_GET_SAVE_VAL_TYPE_LAST_ID(save_type, mem, right_range);
> -          break;
> -        case UPDATE_VAR_RIGHT_RANGE_INIT:
> -          INIT_RIGHT_RANGE;
> -          break;
> -        }
> -      }
> -      INC_OP;
> -      JUMP_OUT;
> -
> -#ifdef USE_CALLOUT
> -    CASE_OP(CALLOUT_CONTENTS)
> -      of = ONIG_CALLOUT_OF_CONTENTS;
> -      mem = p->callout_contents.num;
> -      goto callout_common_entry;
> -      BREAK_OUT;
> -
> -    CASE_OP(CALLOUT_NAME)
> -      {
> -        int call_result;
> -        int name_id;
> -        int in;
> -        CalloutListEntry* e;
> -        OnigCalloutFunc func;
> -        OnigCalloutArgs args;
> -
> -        of = ONIG_CALLOUT_OF_NAME;
> -        name_id = p->callout_name.id;
> -        mem     = p->callout_name.num;
> -
> -      callout_common_entry:
> -        e = onig_reg_callout_list_at(reg, mem);
> -        in = e->in;
> -        if (of == ONIG_CALLOUT_OF_NAME) {
> -          func = onig_get_callout_start_func(reg, mem);
> -        }
> -        else {
> -          name_id = ONIG_NON_NAME_ID;
> -          func = msa->mp->progress_callout_of_contents;
> -        }
> -
> -        if (IS_NOT_NULL(func) && (in & ONIG_CALLOUT_IN_PROGRESS) != 0) {
> -          CALLOUT_BODY(func, ONIG_CALLOUT_IN_PROGRESS, name_id,
> -                       (int )mem, msa->mp->callout_user_data, args, call_result);
> -          switch (call_result) {
> -          case ONIG_CALLOUT_FAIL:
> -            goto fail;
> -            break;
> -          case ONIG_CALLOUT_SUCCESS:
> -            goto retraction_callout2;
> -            break;
> -          default: /* error code */
> -            if (call_result > 0) {
> -              call_result = ONIGERR_INVALID_ARGUMENT;
> -            }
> -            best_len = call_result;
> -            goto finish;
> -            break;
> -          }
> -        }
> -        else {
> -        retraction_callout2:
> -          if ((in & ONIG_CALLOUT_IN_RETRACTION) != 0) {
> -            if (of == ONIG_CALLOUT_OF_NAME) {
> -              if (IS_NOT_NULL(func)) {
> -                STACK_PUSH_CALLOUT_NAME(name_id, mem, func);
> -              }
> -            }
> -            else {
> -              func = msa->mp->retraction_callout_of_contents;
> -              if (IS_NOT_NULL(func)) {
> -                STACK_PUSH_CALLOUT_CONTENTS(mem, func);
> -              }
> -            }
> -          }
> -        }
> -      }
> -      INC_OP;
> -      JUMP_OUT;
> -#endif
> -
> -    CASE_OP(FINISH)
> -      goto finish;
> -
> -#ifdef ONIG_DEBUG_STATISTICS
> -    fail:
> -      SOP_OUT;
> -      goto fail2;
> -#endif
> -    CASE_OP(FAIL)
> -#ifdef ONIG_DEBUG_STATISTICS
> -    fail2:
> -#else
> -    fail:
> -#endif
> -      STACK_POP;
> -      p     = stk->u.state.pcode;
> -      s     = stk->u.state.pstr;
> -      sprev = stk->u.state.pstr_prev;
> -      CHECK_RETRY_LIMIT_IN_MATCH;
> -      JUMP_OUT;
> -
> -    DEFAULT_OP
> -      goto bytecode_error;
> -
> -  } BYTECODE_INTERPRETER_END;
> -
> - finish:
> -  STACK_SAVE;
> -  return best_len;
> -
> -#ifdef ONIG_DEBUG
> - stack_error:
> -  STACK_SAVE;
> -  return ONIGERR_STACK_BUG;
> -#endif
> -
> - bytecode_error:
> -  STACK_SAVE;
> -  return ONIGERR_UNDEFINED_BYTECODE;
> -
> -#if defined(ONIG_DEBUG) && !defined(USE_DIRECT_THREADED_CODE)
> - unexpected_bytecode_error:
> -  STACK_SAVE;
> -  return ONIGERR_UNEXPECTED_BYTECODE;
> -#endif
> -
> -#ifdef USE_RETRY_LIMIT_IN_MATCH
> - retry_limit_in_match_over:
> -  STACK_SAVE;
> -  return ONIGERR_RETRY_LIMIT_IN_MATCH_OVER;
> -#endif
> -}
> -
> -
> -static UChar*
> -slow_search(OnigEncoding enc, UChar* target, UChar* target_end,
> -            const UChar* text, const UChar* text_end, UChar* text_range)
> -{
> -  UChar *t, *p, *s, *end;
> -
> -  end = (UChar* )text_end;
> -  end -= target_end - target - 1;
> -  if (end > text_range)
> -    end = text_range;
> -
> -  s = (UChar* )text;
> -
> -  while (s < end) {
> -    if (*s == *target) {
> -      p = s + 1;
> -      t = target + 1;
> -      while (t < target_end) {
> -        if (*t != *p++)
> -          break;
> -        t++;
> -      }
> -      if (t == target_end)
> -        return s;
> -    }
> -    s += enclen(enc, s);
> -  }
> -
> -  return (UChar* )NULL;
> -}
> -
> -static int
> -str_lower_case_match(OnigEncoding enc, int case_fold_flag,
> -                     const UChar* t, const UChar* tend,
> -                     const UChar* p, const UChar* end)
> -{
> -  int lowlen;
> -  UChar *q, lowbuf[ONIGENC_MBC_CASE_FOLD_MAXLEN];
> -
> -  while (t < tend) {
> -    lowlen = ONIGENC_MBC_CASE_FOLD(enc, case_fold_flag, &p, end,
> lowbuf);
> -    q = lowbuf;
> -    while (lowlen > 0) {
> -      if (*t++ != *q++) return 0;
> -      lowlen--;
> -    }
> -  }
> -
> -  return 1;
> -}
> -
> -static UChar*
> -slow_search_ic(OnigEncoding enc, int case_fold_flag,
> -               UChar* target, UChar* target_end,
> -               const UChar* text, const UChar* text_end, UChar* text_range)
> -{
> -  UChar *s, *end;
> -
> -  end = (UChar* )text_end;
> -  end -= target_end - target - 1;
> -  if (end > text_range)
> -    end = text_range;
> -
> -  s = (UChar* )text;
> -
> -  while (s < end) {
> -    if (str_lower_case_match(enc, case_fold_flag, target, target_end,
> -                             s, text_end))
> -      return s;
> -
> -    s += enclen(enc, s);
> -  }
> -
> -  return (UChar* )NULL;
> -}
> -
> -static UChar*
> -slow_search_backward(OnigEncoding enc, UChar* target, UChar*
> target_end,
> -                     const UChar* text, const UChar* adjust_text,
> -                     const UChar* text_end, const UChar* text_start)
> -{
> -  UChar *t, *p, *s;
> -
> -  s = (UChar* )text_end;
> -  s -= (target_end - target);
> -  if (s > text_start)
> -    s = (UChar* )text_start;
> -  else
> -    s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, adjust_text, s);
> -
> -  while (s >= text) {
> -    //if text is not null,the logic is correct.
> -    //this function is only invoked by backward_search_range,parameter text
> come
> -    //from range, which is checked by "if (range == 0) goto fail" in line 4512
> -    //so the check is just for passing static analysis.
> -    if(IS_NULL(s))break;
> -    if (*s == *target) {
> -      p = s + 1;
> -      t = target + 1;
> -      while (t < target_end) {
> -        if (*t != *p++)
> -          break;
> -        t++;
> -      }
> -      if (t == target_end)
> -        return s;
> -    }
> -    s = (UChar* )onigenc_get_prev_char_head(enc, adjust_text, s);
> -  }
> -
> -  return (UChar* )NULL;
> -}
> -
> -static UChar*
> -slow_search_backward_ic(OnigEncoding enc, int case_fold_flag,
> -                        UChar* target, UChar* target_end,
> -                        const UChar* text, const UChar* adjust_text,
> -                        const UChar* text_end, const UChar* text_start)
> -{
> -  UChar *s;
> -
> -  s = (UChar* )text_end;
> -  s -= (target_end - target);
> -  if (s > text_start)
> -    s = (UChar* )text_start;
> -  else
> -    s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, adjust_text, s);
> -
> -  while (s >= text) {
> -    if (str_lower_case_match(enc, case_fold_flag,
> -                             target, target_end, s, text_end))
> -      return s;
> -
> -    s = (UChar* )onigenc_get_prev_char_head(enc, adjust_text, s);
> -  }
> -
> -  return (UChar* )NULL;
> -}
> -
> -
> -static UChar*
> -sunday_quick_search_step_forward(regex_t* reg,
> -                                 const UChar* target, const UChar* target_end,
> -                                 const UChar* text, const UChar* text_end,
> -                                 const UChar* text_range)
> -{
> -  const UChar *s, *se, *t, *p, *end;
> -  const UChar *tail;
> -  int skip, tlen1;
> -  int map_offset;
> -  OnigEncoding enc;
> -
> -#ifdef ONIG_DEBUG_SEARCH
> -  fprintf(stderr,
> -          "sunday_quick_search_step_forward: text: %p, text_end: %p,
> text_range: %p\n", text, text_end, text_range);
> -#endif
> -
> -  enc = reg->enc;
> -
> -  tail = target_end - 1;
> -  tlen1 = (int )(tail - target);
> -  end = text_range;
> -  if (end + tlen1 > text_end)
> -    end = text_end - tlen1;
> -
> -  map_offset = reg->map_offset;
> -  s = text;
> -
> -  while (s < end) {
> -    p = se = s + tlen1;
> -    t = tail;
> -    while (*p == *t) {
> -      if (t == target) return (UChar* )s;
> -      p--; t--;
> -    }
> -    if (se + map_offset >= text_end) break;
> -    skip = reg->map[*(se + map_offset)];
> -#if 0
> -    t = s;
> -    do {
> -      s += enclen(enc, s);
> -    } while ((s - t) < skip && s < end);
> -#else
> -    s += skip;
> -    if (s < end)
> -      s = onigenc_get_right_adjust_char_head(enc, text, s);
> -#endif
> -  }
> -
> -  return (UChar* )NULL;
> -}
> -
> -static UChar*
> -sunday_quick_search(regex_t* reg, const UChar* target, const UChar*
> target_end,
> -                    const UChar* text, const UChar* text_end,
> -                    const UChar* text_range)
> -{
> -  const UChar *s, *t, *p, *end;
> -  const UChar *tail;
> -  int map_offset;
> -
> -  end = text_range + (target_end - target);
> -  if (end > text_end)
> -    end = text_end;
> -
> -  map_offset = reg->map_offset;
> -  tail = target_end - 1;
> -  s = text + (tail - target);
> -
> -  while (s < end) {
> -    p = s;
> -    t = tail;
> -    while (*p == *t) {
> -      if (t == target) return (UChar* )p;
> -      p--; t--;
> -    }
> -    if (s + map_offset >= text_end) break;
> -    s += reg->map[*(s + map_offset)];
> -  }
> -
> -  return (UChar* )NULL;
> -}
> -
> -static UChar*
> -sunday_quick_search_case_fold(regex_t* reg,
> -                              const UChar* target, const UChar* target_end,
> -                              const UChar* text,   const UChar* text_end,
> -                              const UChar* text_range)
> -{
> -  const UChar *s, *se, *end;
> -  const UChar *tail;
> -  int skip, tlen1;
> -  int map_offset;
> -  int case_fold_flag;
> -  OnigEncoding enc;
> -
> -#ifdef ONIG_DEBUG_SEARCH
> -  fprintf(stderr,
> -          "sunday_quick_search_case_fold: text: %p, text_end: %p,
> text_range: %p\n", text, text_end, text_range);
> -#endif
> -
> -  enc = reg->enc;
> -  case_fold_flag = reg->case_fold_flag;
> -
> -  tail = target_end - 1;
> -  tlen1 = (int )(tail - target);
> -  end = text_range;
> -  if (end + tlen1 > text_end)
> -    end = text_end - tlen1;
> -
> -  map_offset = reg->map_offset;
> -  s = text;
> -
> -  while (s < end) {
> -    if (str_lower_case_match(enc, case_fold_flag, target, target_end,
> -                             s, text_end))
> -      return (UChar* )s;
> -
> -    se = s + tlen1;
> -    if (se + map_offset >= text_end) break;
> -    skip = reg->map[*(se + map_offset)];
> -#if 0
> -    p = s;
> -    do {
> -      s += enclen(enc, s);
> -    } while ((s - p) < skip && s < end);
> -#else
> -    /* This is faster than prev code for long text.  ex: /(?i)Twain/  */
> -    s += skip;
> -    if (s < end)
> -      s = onigenc_get_right_adjust_char_head(enc, text, s);
> -#endif
> -  }
> -
> -  return (UChar* )NULL;
> -}
> -
> -static UChar*
> -map_search(OnigEncoding enc, UChar map[],
> -           const UChar* text, const UChar* text_range)
> -{
> -  const UChar *s = text;
> -
> -  while (s < text_range) {
> -    if (map[*s]) return (UChar* )s;
> -
> -    s += enclen(enc, s);
> -  }
> -  return (UChar* )NULL;
> -}
> -
> -static UChar*
> -map_search_backward(OnigEncoding enc, UChar map[],
> -                    const UChar* text, const UChar* adjust_text,
> -                    const UChar* text_start)
> -{
> -  const UChar *s = text_start;
> -
> -  while (s >= text) {
> -    //if text is not null,the logic is correct.
> -    //this function is only invoked by backward_search_range,parameter text
> come
> -    //from range, which is checked by "if (range == 0) goto fail" in line 4512
> -    //so the check is just for passing static analysis.
> -    if(IS_NULL(s))break;
> -    if (map[*s]) return (UChar* )s;
> -
> -    s = onigenc_get_prev_char_head(enc, adjust_text, s);
> -  }
> -  return (UChar* )NULL;
> -}
> -extern int
> -onig_match(regex_t* reg, const UChar* str, const UChar* end, const
> UChar* at,
> -           OnigRegion* region, OnigOptionType option)
> -{
> -  int r;
> -  OnigMatchParam mp;
> -
> -  onig_initialize_match_param(&mp);
> -  r = onig_match_with_param(reg, str, end, at, region, option, &mp);
> -  onig_free_match_param_content(&mp);
> -  return r;
> -}
> -
> -extern int
> -onig_match_with_param(regex_t* reg, const UChar* str, const UChar* end,
> -                      const UChar* at, OnigRegion* region, OnigOptionType option,
> -                      OnigMatchParam* mp)
> -{
> -  int r;
> -  UChar *prev;
> -  MatchArg msa;
> -
> -  ADJUST_MATCH_PARAM(reg, mp);
> -  MATCH_ARG_INIT(msa, reg, option, region, at, mp);
> -  if (region
> -#ifdef USE_POSIX_API_REGION_OPTION
> -      && !IS_POSIX_REGION(option)
> -#endif
> -      ) {
> -    r = onig_region_resize_clear(region, reg->num_mem + 1);
> -  }
> -  else
> -    r = 0;
> -
> -  if (r == 0) {
> -    if (ONIG_IS_OPTION_ON(option,
> ONIG_OPTION_CHECK_VALIDITY_OF_STRING)) {
> -      if (! ONIGENC_IS_VALID_MBC_STRING(reg->enc, str, end)) {
> -        r = ONIGERR_INVALID_WIDE_CHAR_VALUE;
> -        goto end;
> -      }
> -    }
> -
> -    prev = (UChar* )onigenc_get_prev_char_head(reg->enc, str, at);
> -    r = match_at(reg, str, end, end, at, prev, &msa);
> -  }
> -
> - end:
> -  MATCH_ARG_FREE(msa);
> -  return r;
> -}
> -
> -static int
> -forward_search_range(regex_t* reg, const UChar* str, const UChar* end,
> UChar* s,
> -                     UChar* range, UChar** low, UChar** high, UChar** low_prev)
> -{
> -  UChar *p, *pprev = (UChar* )NULL;
> -
> -#ifdef ONIG_DEBUG_SEARCH
> -  fprintf(stderr, "forward_search_range: str: %p, end: %p, s: %p,
> range: %p\n",
> -          str, end, s, range);
> -#endif
> -
> -  p = s;
> -  if (reg->dmin > 0) {
> -    if (ONIGENC_IS_SINGLEBYTE(reg->enc)) {
> -      p += reg->dmin;
> -    }
> -    else {
> -      UChar *q = p + reg->dmin;
> -
> -      if (q >= end) return 0; /* fail */
> -      while (p < q) p += enclen(reg->enc, p);
> -    }
> -  }
> -
> - retry:
> -  switch (reg->optimize) {
> -  case OPTIMIZE_STR:
> -    p = slow_search(reg->enc, reg->exact, reg->exact_end, p, end, range);
> -    break;
> -  case OPTIMIZE_STR_CASE_FOLD:
> -    p = slow_search_ic(reg->enc, reg->case_fold_flag,
> -                       reg->exact, reg->exact_end, p, end, range);
> -    break;
> -
> -  case OPTIMIZE_STR_CASE_FOLD_FAST:
> -    p = sunday_quick_search_case_fold(reg, reg->exact, reg->exact_end, p,
> end,
> -                                      range);
> -    break;
> -
> -  case OPTIMIZE_STR_FAST:
> -    p = sunday_quick_search(reg, reg->exact, reg->exact_end, p, end, range);
> -    break;
> -
> -  case OPTIMIZE_STR_FAST_STEP_FORWARD:
> -    p = sunday_quick_search_step_forward(reg, reg->exact, reg->exact_end,
> -                                         p, end, range);
> -    break;
> -
> -  case OPTIMIZE_MAP:
> -    p = map_search(reg->enc, reg->map, p, range);
> -    break;
> -  }
> -
> -  if (p && p < range) {
> -    if (p - reg->dmin < s) {
> -    retry_gate:
> -      pprev = p;
> -      p += enclen(reg->enc, p);
> -      goto retry;
> -    }
> -
> -    if (reg->sub_anchor) {
> -      UChar* prev;
> -
> -      switch (reg->sub_anchor) {
> -      case ANCR_BEGIN_LINE:
> -        if (!ON_STR_BEGIN(p)) {
> -          prev = onigenc_get_prev_char_head(reg->enc,
> -                                            (pprev ? pprev : str), p);
> -          if (!ONIGENC_IS_MBC_NEWLINE(reg->enc, prev, end))
> -            goto retry_gate;
> -        }
> -        break;
> -
> -      case ANCR_END_LINE:
> -        if (ON_STR_END(p)) {
> -#ifndef USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE
> -          prev = (UChar* )onigenc_get_prev_char_head(reg->enc,
> -                                                     (pprev ? pprev : str), p);
> -          if (prev && ONIGENC_IS_MBC_NEWLINE(reg->enc, prev, end))
> -            goto retry_gate;
> -#endif
> -        }
> -        else if (! ONIGENC_IS_MBC_NEWLINE(reg->enc, p, end)
> -#ifdef USE_CRNL_AS_LINE_TERMINATOR
> -                 && ! ONIGENC_IS_MBC_CRNL(reg->enc, p, end)
> -#endif
> -                 )
> -          goto retry_gate;
> -        break;
> -      }
> -    }
> -
> -    if (reg->dmax == 0) {
> -      *low = p;
> -      if (low_prev) {
> -        if (*low > s)
> -          *low_prev = onigenc_get_prev_char_head(reg->enc, s, p);
> -        else
> -          *low_prev = onigenc_get_prev_char_head(reg->enc,
> -                                                 (pprev ? pprev : str), p);
> -      }
> -    }
> -    else {
> -      if (reg->dmax != INFINITE_LEN) {
> -        if (p - str < reg->dmax) {
> -          *low = (UChar* )str;
> -          if (low_prev)
> -            *low_prev = onigenc_get_prev_char_head(reg->enc, str, *low);
> -        }
> -        else {
> -          *low = p - reg->dmax;
> -          if (*low > s) {
> -            *low = onigenc_get_right_adjust_char_head_with_prev(reg->enc, s,
> -                                                 *low, (const UChar** )low_prev);
> -            if (low_prev && IS_NULL(*low_prev))
> -              *low_prev = onigenc_get_prev_char_head(reg->enc,
> -                                                     (pprev ? pprev : s), *low);
> -          }
> -          else {
> -            if (low_prev)
> -              *low_prev = onigenc_get_prev_char_head(reg->enc,
> -                                                     (pprev ? pprev : str), *low);
> -          }
> -        }
> -      }
> -    }
> -    /* no needs to adjust *high, *high is used as range check only */
> -    *high = p - reg->dmin;
> -
> -#ifdef ONIG_DEBUG_SEARCH
> -    fprintf(stderr,
> -            "forward_search_range success: low: %d, high: %d, dmin: %d,
> dmax: %d\n",
> -            (int )(*low - str), (int )(*high - str), reg->dmin, reg->dmax);
> -#endif
> -    return 1; /* success */
> -  }
> -
> -  return 0; /* fail */
> -}
> -
> -
> -static int
> -backward_search_range(regex_t* reg, const UChar* str, const UChar* end,
> -                      UChar* s, const UChar* range, UChar* adjrange,
> -                      UChar** low, UChar** high)
> -{
> -  UChar *p;
> -
> -  if (range == 0) goto fail;
> -
> -  range += reg->dmin;
> -  p = s;
> -
> - retry:
> -  switch (reg->optimize) {
> -  case OPTIMIZE_STR:
> -  exact_method:
> -    p = slow_search_backward(reg->enc, reg->exact, reg->exact_end,
> -                             range, adjrange, end, p);
> -    break;
> -
> -  case OPTIMIZE_STR_CASE_FOLD:
> -  case OPTIMIZE_STR_CASE_FOLD_FAST:
> -    p = slow_search_backward_ic(reg->enc, reg->case_fold_flag,
> -                                reg->exact, reg->exact_end,
> -                                range, adjrange, end, p);
> -    break;
> -
> -  case OPTIMIZE_STR_FAST:
> -  case OPTIMIZE_STR_FAST_STEP_FORWARD:
> -    goto exact_method;
> -    break;
> -
> -  case OPTIMIZE_MAP:
> -    p = map_search_backward(reg->enc, reg->map, range, adjrange, p);
> -    break;
> -  }
> -
> -  if (p) {
> -    if (reg->sub_anchor) {
> -      UChar* prev;
> -
> -      switch (reg->sub_anchor) {
> -      case ANCR_BEGIN_LINE:
> -        if (!ON_STR_BEGIN(p)) {
> -          prev = onigenc_get_prev_char_head(reg->enc, str, p);
> -          if (IS_NOT_NULL(prev) && !ONIGENC_IS_MBC_NEWLINE(reg->enc,
> prev, end)) {
> -            p = prev;
> -            goto retry;
> -          }
> -        }
> -        break;
> -
> -      case ANCR_END_LINE:
> -        if (ON_STR_END(p)) {
> -#ifndef USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE
> -          prev = onigenc_get_prev_char_head(reg->enc, adjrange, p);
> -          if (IS_NULL(prev)) goto fail;
> -          if (ONIGENC_IS_MBC_NEWLINE(reg->enc, prev, end)) {
> -            p = prev;
> -            goto retry;
> -          }
> -#endif
> -        }
> -        else if (! ONIGENC_IS_MBC_NEWLINE(reg->enc, p, end)
> -#ifdef USE_CRNL_AS_LINE_TERMINATOR
> -                 && ! ONIGENC_IS_MBC_CRNL(reg->enc, p, end)
> -#endif
> -                 ) {
> -          p = onigenc_get_prev_char_head(reg->enc, adjrange, p);
> -          if (IS_NULL(p)) goto fail;
> -          goto retry;
> -        }
> -        break;
> -      }
> -    }
> -
> -    /* no needs to adjust *high, *high is used as range check only */
> -    if (reg->dmax != INFINITE_LEN) {
> -      *low  = p - reg->dmax;
> -      *high = p - reg->dmin;
> -      *high = onigenc_get_right_adjust_char_head(reg->enc, adjrange, *high);
> -    }
> -
> -#ifdef ONIG_DEBUG_SEARCH
> -    fprintf(stderr, "backward_search_range: low: %d, high: %d\n",
> -            (int )(*low - str), (int )(*high - str));
> -#endif
> -    return 1; /* success */
> -  }
> -
> - fail:
> -#ifdef ONIG_DEBUG_SEARCH
> -  fprintf(stderr, "backward_search_range: fail.\n");
> -#endif
> -  return 0; /* fail */
> -}
> -
> -
> -extern int
> -onig_search(regex_t* reg, const UChar* str, const UChar* end,
> -            const UChar* start, const UChar* range, OnigRegion* region,
> -            OnigOptionType option)
> -{
> -  int r;
> -  OnigMatchParam mp;
> -
> -  onig_initialize_match_param(&mp);
> -  r = onig_search_with_param(reg, str, end, start, range, region, option,
> &mp);
> -  onig_free_match_param_content(&mp);
> -  return r;
> -
> -}
> -
> -extern int
> -onig_search_with_param(regex_t* reg, const UChar* str, const UChar* end,
> -                       const UChar* start, const UChar* range, OnigRegion* region,
> -                       OnigOptionType option, OnigMatchParam* mp)
> -{
> -  int r;
> -  UChar *s, *prev;
> -  MatchArg msa;
> -  const UChar *orig_start = start;
> -  const UChar *orig_range = range;
> -
> -#ifdef ONIG_DEBUG_SEARCH
> -  fprintf(stderr,
> -     "onig_search (entry point): str: %p, end: %d, start: %d, range: %d\n",
> -     str, (int )(end - str), (int )(start - str), (int )(range - str));
> -#endif
> -
> -  ADJUST_MATCH_PARAM(reg, mp);
> -
> -  if (region
> -#ifdef USE_POSIX_API_REGION_OPTION
> -      && !IS_POSIX_REGION(option)
> -#endif
> -      ) {
> -    r = onig_region_resize_clear(region, reg->num_mem + 1);
> -    if (r != 0) goto finish_no_msa;
> -  }
> -
> -  if (start > end || start < str) goto mismatch_no_msa;
> -
> -  if (ONIG_IS_OPTION_ON(option,
> ONIG_OPTION_CHECK_VALIDITY_OF_STRING)) {
> -    if (! ONIGENC_IS_VALID_MBC_STRING(reg->enc, str, end)) {
> -      r = ONIGERR_INVALID_WIDE_CHAR_VALUE;
> -      goto finish_no_msa;
> -    }
> -  }
> -
> -
> -#ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE
> -#define MATCH_AND_RETURN_CHECK(upper_range) \
> -  r = match_at(reg, str, end, (upper_range), s, prev, &msa); \
> -  if (r != ONIG_MISMATCH) {\
> -    if (r >= 0) {\
> -      if (! IS_FIND_LONGEST(reg->options)) {\
> -        goto match;\
> -      }\
> -    }\
> -    else goto finish; /* error */ \
> -  }
> -#else
> -#define MATCH_AND_RETURN_CHECK(upper_range) \
> -  r = match_at(reg, str, end, (upper_range), s, prev, &msa); \
> -  if (r != ONIG_MISMATCH) {\
> -    if (r >= 0) {\
> -      goto match;\
> -    }\
> -    else goto finish; /* error */ \
> -  }
> -#endif /* USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE */
> -
> -
> -  /* anchor optimize: resume search range */
> -  if (reg->anchor != 0 && str < end) {
> -    UChar *min_semi_end, *max_semi_end;
> -
> -    if (reg->anchor & ANCR_BEGIN_POSITION) {
> -      /* search start-position only */
> -    begin_position:
> -      if (range > start)
> -        range = start + 1;
> -      else
> -        range = start;
> -    }
> -    else if (reg->anchor & ANCR_BEGIN_BUF) {
> -      /* search str-position only */
> -      if (range > start) {
> -        if (start != str) goto mismatch_no_msa;
> -        range = str + 1;
> -      }
> -      else {
> -        if (range <= str) {
> -          start = str;
> -          range = str;
> -        }
> -        else
> -          goto mismatch_no_msa;
> -      }
> -    }
> -    else if (reg->anchor & ANCR_END_BUF) {
> -      min_semi_end = max_semi_end = (UChar* )end;
> -
> -    end_buf:
> -      if ((OnigLen )(max_semi_end - str) < reg->anchor_dmin)
> -        goto mismatch_no_msa;
> -
> -      if (range > start) {
> -        if ((OnigLen )(min_semi_end - start) > reg->anchor_dmax) {
> -          start = min_semi_end - reg->anchor_dmax;
> -          if (start < end)
> -            start = onigenc_get_right_adjust_char_head(reg->enc, str, start);
> -        }
> -        if ((OnigLen )(max_semi_end - (range - 1)) < reg->anchor_dmin) {
> -          range = max_semi_end - reg->anchor_dmin + 1;
> -        }
> -
> -        if (start > range) goto mismatch_no_msa;
> -        /* If start == range, match with empty at end.
> -           Backward search is used. */
> -      }
> -      else {
> -        if ((OnigLen )(min_semi_end - range) > reg->anchor_dmax) {
> -          range = min_semi_end - reg->anchor_dmax;
> -        }
> -        if ((OnigLen )(max_semi_end - start) < reg->anchor_dmin) {
> -          start = max_semi_end - reg->anchor_dmin;
> -          start = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, str, start);
> -        }
> -        if (range > start) goto mismatch_no_msa;
> -      }
> -    }
> -    else if (reg->anchor & ANCR_SEMI_END_BUF) {
> -      UChar* pre_end = ONIGENC_STEP_BACK(reg->enc, str, end, 1);
> -
> -      max_semi_end = (UChar* )end;
> -      // only when str > end, pre_end will be null
> -      // line 4659 "if (start > end || start < str) goto mismatch_no_msa"
> -      // will guarantee str alwayls less than end
> -      // so pre_end won't be null,this check is just for passing staic analysis
> -      if (IS_NOT_NULL(pre_end) && ONIGENC_IS_MBC_NEWLINE(reg->enc,
> pre_end, end)) {
> -        min_semi_end = pre_end;
> -
> -#ifdef USE_CRNL_AS_LINE_TERMINATOR
> -        pre_end = ONIGENC_STEP_BACK(reg->enc, str, pre_end, 1);
> -        if (IS_NOT_NULL(pre_end) &&
> -            ONIGENC_IS_MBC_CRNL(reg->enc, pre_end, end)) {
> -          min_semi_end = pre_end;
> -        }
> -#endif
> -        if (min_semi_end > str && start <= min_semi_end) {
> -          goto end_buf;
> -        }
> -      }
> -      else {
> -        min_semi_end = (UChar* )end;
> -        goto end_buf;
> -      }
> -    }
> -    else if ((reg->anchor & ANCR_ANYCHAR_INF_ML)) {
> -      goto begin_position;
> -    }
> -  }
> -  else if (str == end) { /* empty string */
> -    static const UChar* address_for_empty_string = (UChar* )"";
> -
> -#ifdef ONIG_DEBUG_SEARCH
> -    fprintf(stderr, "onig_search: empty string.\n");
> -#endif
> -
> -    if (reg->threshold_len == 0) {
> -      start = end = str = address_for_empty_string;
> -      s = (UChar* )start;
> -      prev = (UChar* )NULL;
> -
> -      MATCH_ARG_INIT(msa, reg, option, region, start, mp);
> -      MATCH_AND_RETURN_CHECK(end);
> -      goto mismatch;
> -    }
> -    goto mismatch_no_msa;
> -  }
> -
> -#ifdef ONIG_DEBUG_SEARCH
> -  fprintf(stderr, "onig_search(apply anchor): end: %d, start: %d,
> range: %d\n",
> -          (int )(end - str), (int )(start - str), (int )(range - str));
> -#endif
> -
> -  MATCH_ARG_INIT(msa, reg, option, region, orig_start, mp);
> -
> -  s = (UChar* )start;
> -  if (range > start) {   /* forward search */
> -    if (s > str)
> -      prev = onigenc_get_prev_char_head(reg->enc, str, s);
> -    else
> -      prev = (UChar* )NULL;
> -
> -    if (reg->optimize != OPTIMIZE_NONE) {
> -      UChar *sch_range, *low, *high, *low_prev;
> -
> -      sch_range = (UChar* )range;
> -      if (reg->dmax != 0) {
> -        if (reg->dmax == INFINITE_LEN)
> -          sch_range = (UChar* )end;
> -        else {
> -          sch_range += reg->dmax;
> -          if (sch_range > end) sch_range = (UChar* )end;
> -        }
> -      }
> -
> -      if ((end - start) < reg->threshold_len)
> -        goto mismatch;
> -
> -      if (reg->dmax != INFINITE_LEN) {
> -        do {
> -          if (! forward_search_range(reg, str, end, s, sch_range,
> -                                     &low, &high, &low_prev)) goto mismatch;
> -          if (s < low) {
> -            s    = low;
> -            prev = low_prev;
> -          }
> -          while (s <= high) {
> -            MATCH_AND_RETURN_CHECK(orig_range);
> -            prev = s;
> -            s += enclen(reg->enc, s);
> -          }
> -        } while (s < range);
> -        goto mismatch;
> -      }
> -      else { /* check only. */
> -        if (! forward_search_range(reg, str, end, s, sch_range,
> -                                   &low, &high, (UChar** )NULL)) goto mismatch;
> -
> -        if ((reg->anchor & ANCR_ANYCHAR_INF) != 0) {
> -          do {
> -            MATCH_AND_RETURN_CHECK(orig_range);
> -            prev = s;
> -            s += enclen(reg->enc, s);
> -
> -            if ((reg->anchor & (ANCR_LOOK_BEHIND | ANCR_PREC_READ_NOT))
> == 0) {
> -              while (!ONIGENC_IS_MBC_NEWLINE(reg->enc, prev, end) && s <
> range) {
> -                prev = s;
> -                s += enclen(reg->enc, s);
> -              }
> -            }
> -          } while (s < range);
> -          goto mismatch;
> -        }
> -      }
> -    }
> -
> -    do {
> -      MATCH_AND_RETURN_CHECK(orig_range);
> -      prev = s;
> -      s += enclen(reg->enc, s);
> -    } while (s < range);
> -
> -    if (s == range) { /* because empty match with /$/. */
> -      MATCH_AND_RETURN_CHECK(orig_range);
> -    }
> -  }
> -  else {  /* backward search */
> -    if (range < str) goto mismatch;
> -
> -    if (orig_start < end)
> -      orig_start += enclen(reg->enc, orig_start); /* is upper range */
> -
> -    if (reg->optimize != OPTIMIZE_NONE) {
> -      UChar *low, *high, *adjrange, *sch_start;
> -
> -      if (range < end)
> -        adjrange = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, str, range);
> -      else
> -        adjrange = (UChar* )end;
> -
> -      if (reg->dmax != INFINITE_LEN &&
> -          (end - range) >= reg->threshold_len) {
> -        do {
> -          sch_start = s + reg->dmax;
> -          if (sch_start > end) sch_start = (UChar* )end;
> -          if (backward_search_range(reg, str, end, sch_start, range, adjrange,
> -                                    &low, &high) <= 0)
> -            goto mismatch;
> -
> -          if (s > high)
> -            s = high;
> -
> -          while (s >= low) {
> -            prev = onigenc_get_prev_char_head(reg->enc, str, s);
> -            MATCH_AND_RETURN_CHECK(orig_start);
> -            s = prev;
> -          }
> -          // if range is not null,the check is not necessary.
> -          // the range is actually the pointer of the end of the matched string
> -          // or assigned by "range = str" in line 4708. In RegularExpressionMatch
> -          // protocol, the matched string is the parameter String. And str in
> -          // line 4708 is the String,too. and the range is calculated from
> -          // "Start + onigenc_str_bytelen_null (CHAR16_ENCODING, Start)" in
> -          // line 146 in RegularExpressionDxe.c. RegularExpressionMatch ensure
> -          // the String is not null,So in both situation, the range can not be NULL.
> -          // This check is just for passing static analysis.
> -          if(IS_NULL(s))break;
> -        } while (s >= range);
> -        goto mismatch;
> -      }
> -      else { /* check only. */
> -        if ((end - range) < reg->threshold_len) goto mismatch;
> -
> -        sch_start = s;
> -        if (reg->dmax != 0) {
> -          if (reg->dmax == INFINITE_LEN)
> -            sch_start = (UChar* )end;
> -          else {
> -            sch_start += reg->dmax;
> -            if (sch_start > end) sch_start = (UChar* )end;
> -            else
> -              sch_start = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc,
> -                                                        start, sch_start);
> -          }
> -        }
> -        if (backward_search_range(reg, str, end, sch_start, range, adjrange,
> -                                  &low, &high) <= 0) goto mismatch;
> -      }
> -    }
> -
> -    do {
> -      prev = onigenc_get_prev_char_head(reg->enc, str, s);
> -      MATCH_AND_RETURN_CHECK(orig_start);
> -      s = prev;
> -    } while (s >= range);
> -  }
> -
> - mismatch:
> -#ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE
> -  if (IS_FIND_LONGEST(reg->options)) {
> -    if (msa.best_len >= 0) {
> -      s = msa.best_s;
> -      goto match;
> -    }
> -  }
> -#endif
> -  r = ONIG_MISMATCH;
> -
> - finish:
> -  MATCH_ARG_FREE(msa);
> -
> -  /* If result is mismatch and no FIND_NOT_EMPTY option,
> -     then the region is not set in match_at(). */
> -  if (IS_FIND_NOT_EMPTY(reg->options) && region
> -#ifdef USE_POSIX_API_REGION_OPTION
> -      && !IS_POSIX_REGION(option)
> -#endif
> -      ) {
> -    onig_region_clear(region);
> -  }
> -
> -#ifdef ONIG_DEBUG
> -  if (r != ONIG_MISMATCH)
> -    fprintf(stderr, "onig_search: error %d\n", r);
> -#endif
> -  return r;
> -
> - mismatch_no_msa:
> -  r = ONIG_MISMATCH;
> - finish_no_msa:
> -#ifdef ONIG_DEBUG
> -  if (r != ONIG_MISMATCH)
> -    fprintf(stderr, "onig_search: error %d\n", r);
> -#endif
> -  return r;
> -
> - match:
> -  MATCH_ARG_FREE(msa);
> -  return (int )(s - str);
> -}
> -
> -extern int
> -onig_scan(regex_t* reg, const UChar* str, const UChar* end,
> -          OnigRegion* region, OnigOptionType option,
> -          int (*scan_callback)(int, int, OnigRegion*, void*),
> -          void* callback_arg)
> -{
> -  int r;
> -  int n;
> -  int rs;
> -  const UChar* start;
> -
> -  if (ONIG_IS_OPTION_ON(option,
> ONIG_OPTION_CHECK_VALIDITY_OF_STRING)) {
> -    if (! ONIGENC_IS_VALID_MBC_STRING(reg->enc, str, end))
> -      return ONIGERR_INVALID_WIDE_CHAR_VALUE;
> -
> -    ONIG_OPTION_OFF(option,
> ONIG_OPTION_CHECK_VALIDITY_OF_STRING);
> -  }
> -
> -  n = 0;
> -  start = str;
> -  while (1) {
> -    r = onig_search(reg, str, end, start, end, region, option);
> -    if (r >= 0) {
> -      rs = scan_callback(n, r, region, callback_arg);
> -      n++;
> -      if (rs != 0)
> -        return rs;
> -
> -      if (region->end[0] == start - str) {
> -        if (start >= end) break;
> -        start += enclen(reg->enc, start);
> -      }
> -      else
> -        start = str + region->end[0];
> -
> -      if (start > end)
> -        break;
> -    }
> -    else if (r == ONIG_MISMATCH) {
> -      break;
> -    }
> -    else { /* error */
> -      return r;
> -    }
> -  }
> -
> -  return n;
> -}
> -
> -extern OnigEncoding
> -onig_get_encoding(regex_t* reg)
> -{
> -  return reg->enc;
> -}
> -
> -extern OnigOptionType
> -onig_get_options(regex_t* reg)
> -{
> -  return reg->options;
> -}
> -
> -extern  OnigCaseFoldType
> -onig_get_case_fold_flag(regex_t* reg)
> -{
> -  return reg->case_fold_flag;
> -}
> -
> -extern OnigSyntaxType*
> -onig_get_syntax(regex_t* reg)
> -{
> -  return reg->syntax;
> -}
> -
> -extern int
> -onig_number_of_captures(regex_t* reg)
> -{
> -  return reg->num_mem;
> -}
> -
> -extern int
> -onig_number_of_capture_histories(regex_t* reg)
> -{
> -#ifdef USE_CAPTURE_HISTORY
> -  int i, n;
> -
> -  n = 0;
> -  for (i = 0; i <= ONIG_MAX_CAPTURE_HISTORY_GROUP; i++) {
> -    if (MEM_STATUS_AT(reg->capture_history, i) != 0)
> -      n++;
> -  }
> -  return n;
> -#else
> -  return 0;
> -#endif
> -}
> -
> -extern void
> -onig_copy_encoding(OnigEncoding to, OnigEncoding from)
> -{
> -  *to = *from;
> -}
> -
> -#ifdef USE_DIRECT_THREADED_CODE
> -extern int
> -onig_init_for_match_at(regex_t* reg)
> -{
> -  return match_at(reg, (const UChar* )NULL, (const UChar* )NULL,
> -                  (const UChar* )NULL, (const UChar* )NULL, (UChar* )NULL,
> -                  (MatchArg* )NULL);
> -}
> -#endif
> -
> -
> -/* for callout functions */
> -
> -#ifdef USE_CALLOUT
> -
> -extern OnigCalloutFunc
> -onig_get_progress_callout(void)
> -{
> -  return DefaultProgressCallout;
> -}
> -
> -extern int
> -onig_set_progress_callout(OnigCalloutFunc f)
> -{
> -  DefaultProgressCallout = f;
> -  return ONIG_NORMAL;
> -}
> -
> -extern OnigCalloutFunc
> -onig_get_retraction_callout(void)
> -{
> -  return DefaultRetractionCallout;
> -}
> -
> -extern int
> -onig_set_retraction_callout(OnigCalloutFunc f)
> -{
> -  DefaultRetractionCallout = f;
> -  return ONIG_NORMAL;
> -}
> -
> -extern int
> -onig_get_callout_num_by_callout_args(OnigCalloutArgs* args)
> -{
> -  return args->num;
> -}
> -
> -extern OnigCalloutIn
> -onig_get_callout_in_by_callout_args(OnigCalloutArgs* args)
> -{
> -  return args->in;
> -}
> -
> -extern int
> -onig_get_name_id_by_callout_args(OnigCalloutArgs* args)
> -{
> -  return args->name_id;
> -}
> -
> -extern const UChar*
> -onig_get_contents_by_callout_args(OnigCalloutArgs* args)
> -{
> -  int num;
> -  CalloutListEntry* e;
> -
> -  num = args->num;
> -  e = onig_reg_callout_list_at(args->regex, num);
> -  if (IS_NULL(e)) return 0;
> -  if (e->of == ONIG_CALLOUT_OF_CONTENTS) {
> -    return e->u.content.start;
> -  }
> -
> -  return 0;
> -}
> -
> -extern const UChar*
> -onig_get_contents_end_by_callout_args(OnigCalloutArgs* args)
> -{
> -  int num;
> -  CalloutListEntry* e;
> -
> -  num = args->num;
> -  e = onig_reg_callout_list_at(args->regex, num);
> -  if (IS_NULL(e)) return 0;
> -  if (e->of == ONIG_CALLOUT_OF_CONTENTS) {
> -    return e->u.content.end;
> -  }
> -
> -  return 0;
> -}
> -
> -extern int
> -onig_get_args_num_by_callout_args(OnigCalloutArgs* args)
> -{
> -  int num;
> -  CalloutListEntry* e;
> -
> -  num = args->num;
> -  e = onig_reg_callout_list_at(args->regex, num);
> -  if (IS_NULL(e)) return ONIGERR_INVALID_ARGUMENT;
> -  if (e->of == ONIG_CALLOUT_OF_NAME) {
> -    return e->u.arg.num;
> -  }
> -
> -  return ONIGERR_INVALID_ARGUMENT;
> -}
> -
> -extern int
> -onig_get_passed_args_num_by_callout_args(OnigCalloutArgs* args)
> -{
> -  int num;
> -  CalloutListEntry* e;
> -
> -  num = args->num;
> -  e = onig_reg_callout_list_at(args->regex, num);
> -  if (IS_NULL(e)) return ONIGERR_INVALID_ARGUMENT;
> -  if (e->of == ONIG_CALLOUT_OF_NAME) {
> -    return e->u.arg.passed_num;
> -  }
> -
> -  return ONIGERR_INVALID_ARGUMENT;
> -}
> -
> -extern int
> -onig_get_arg_by_callout_args(OnigCalloutArgs* args, int index,
> -                             OnigType* type, OnigValue* val)
> -{
> -  int num;
> -  CalloutListEntry* e;
> -
> -  num = args->num;
> -  e = onig_reg_callout_list_at(args->regex, num);
> -  if (IS_NULL(e)) return ONIGERR_INVALID_ARGUMENT;
> -  if (e->of == ONIG_CALLOUT_OF_NAME) {
> -    if (IS_NOT_NULL(type)) *type = e->u.arg.types[index];
> -    if (IS_NOT_NULL(val))  *val  = e->u.arg.vals[index];
> -    return ONIG_NORMAL;
> -  }
> -
> -  return ONIGERR_INVALID_ARGUMENT;
> -}
> -
> -extern const UChar*
> -onig_get_string_by_callout_args(OnigCalloutArgs* args)
> -{
> -  return args->string;
> -}
> -
> -extern const UChar*
> -onig_get_string_end_by_callout_args(OnigCalloutArgs* args)
> -{
> -  return args->string_end;
> -}
> -
> -extern const UChar*
> -onig_get_start_by_callout_args(OnigCalloutArgs* args)
> -{
> -  return args->start;
> -}
> -
> -extern const UChar*
> -onig_get_right_range_by_callout_args(OnigCalloutArgs* args)
> -{
> -  return args->right_range;
> -}
> -
> -extern const UChar*
> -onig_get_current_by_callout_args(OnigCalloutArgs* args)
> -{
> -  return args->current;
> -}
> -
> -extern OnigRegex
> -onig_get_regex_by_callout_args(OnigCalloutArgs* args)
> -{
> -  return args->regex;
> -}
> -
> -extern unsigned long
> -onig_get_retry_counter_by_callout_args(OnigCalloutArgs* args)
> -{
> -  return args->retry_in_match_counter;
> -}
> -
> -
> -extern int
> -onig_get_capture_range_in_callout(OnigCalloutArgs* a, int mem_num, int*
> begin, int* end)
> -{
> -  OnigRegex    reg;
> -  const UChar* str;
> -  StackType*   stk_base;
> -  int i;
> -
> -  i = mem_num;
> -  reg = a->regex;
> -  str = a->string;
> -  stk_base = a->stk_base;
> -
> -  if (i > 0) {
> -    if (a->mem_end_stk[i] != INVALID_STACK_INDEX) {
> -      if (MEM_STATUS_AT(reg->bt_mem_start, i))
> -        *begin = (int )(STACK_AT(a->mem_start_stk[i])->u.mem.pstr - str);
> -      else
> -        *begin = (int )((UChar* )((void* )a->mem_start_stk[i]) - str);
> -
> -      *end = (int )((MEM_STATUS_AT(reg->bt_mem_end, i)
> -                     ? STACK_AT(a->mem_end_stk[i])->u.mem.pstr
> -                     : (UChar* )((void* )a->mem_end_stk[i])) - str);
> -    }
> -    else {
> -      *begin = *end = ONIG_REGION_NOTPOS;
> -    }
> -  }
> -  else if (i == 0) {
> -#if 0
> -    *begin = a->start   - str;
> -    *end   = a->current - str;
> -#else
> -    return ONIGERR_INVALID_ARGUMENT;
> -#endif
> -  }
> -  else
> -    return ONIGERR_INVALID_ARGUMENT;
> -
> -  return ONIG_NORMAL;
> -}
> -
> -extern int
> -onig_get_used_stack_size_in_callout(OnigCalloutArgs* a, int* used_num,
> int* used_bytes)
> -{
> -  int n;
> -
> -  n = (int )(a->stk - a->stk_base);
> -
> -  if (used_num != 0)
> -    *used_num = n;
> -
> -  if (used_bytes != 0)
> -    *used_bytes = n * sizeof(StackType);
> -
> -  return ONIG_NORMAL;
> -}
> -
> -
> -/* builtin callout functions */
> -
> -extern int
> -onig_builtin_fail(OnigCalloutArgs* args ARG_UNUSED, void* user_data
> ARG_UNUSED)
> -{
> -  return ONIG_CALLOUT_FAIL;
> -}
> -
> -extern int
> -onig_builtin_mismatch(OnigCalloutArgs* args ARG_UNUSED, void*
> user_data ARG_UNUSED)
> -{
> -  return ONIG_MISMATCH;
> -}
> -
> -#if 0
> -extern int
> -onig_builtin_success(OnigCalloutArgs* args ARG_UNUSED, void* user_data
> ARG_UNUSED)
> -{
> -  return ONIG_CALLOUT_SUCCESS;
> -}
> -#endif
> -
> -extern int
> -onig_builtin_error(OnigCalloutArgs* args, void* user_data ARG_UNUSED)
> -{
> -  int r;
> -  int n;
> -  OnigValue val;
> -
> -  r = onig_get_arg_by_callout_args(args, 0, 0, &val);
> -  if (r != ONIG_NORMAL) return r;
> -
> -  n = (int )val.l;
> -  if (n >= 0) {
> -    n = ONIGERR_INVALID_CALLOUT_BODY;
> -  }
> -  else if (onig_is_error_code_needs_param(n)) {
> -    n = ONIGERR_INVALID_CALLOUT_BODY;
> -  }
> -
> -  return n;
> -}
> -
> -extern int
> -onig_builtin_count(OnigCalloutArgs* args, void* user_data)
> -{
> -  (void )onig_check_callout_data_and_clear_old_values(args);
> -
> -  return onig_builtin_total_count(args, user_data);
> -}
> -
> -extern int
> -onig_builtin_total_count(OnigCalloutArgs* args, void* user_data
> ARG_UNUSED)
> -{
> -  int r;
> -  int slot;
> -  OnigType  type;
> -  OnigValue val;
> -  OnigValue aval;
> -  OnigCodePoint count_type;
> -
> -  r = onig_get_arg_by_callout_args(args, 0, &type, &aval);
> -  if (r != ONIG_NORMAL) return r;
> -
> -  count_type = aval.c;
> -  if (count_type != '>' && count_type != 'X' && count_type != '<')
> -    return ONIGERR_INVALID_CALLOUT_ARG;
> -
> -  r = onig_get_callout_data_by_callout_args_self_dont_clear_old(args, 0,
> -                                                                &type, &val);
> -  if (r < ONIG_NORMAL)
> -    return r;
> -  else if (r > ONIG_NORMAL) {
> -    /* type == void: initial state */
> -    val.l = 0;
> -  }
> -
> -  if (args->in == ONIG_CALLOUT_IN_RETRACTION) {
> -    slot = 2;
> -    if (count_type == '<')
> -      val.l++;
> -    else if (count_type == 'X')
> -      val.l--;
> -  }
> -  else {
> -    slot = 1;
> -    if (count_type != '<')
> -      val.l++;
> -  }
> -
> -  r = onig_set_callout_data_by_callout_args_self(args, 0, ONIG_TYPE_LONG,
> &val);
> -  if (r != ONIG_NORMAL) return r;
> -
> -  /* slot 1: in progress counter, slot 2: in retraction counter */
> -  r = onig_get_callout_data_by_callout_args_self_dont_clear_old(args, slot,
> -                                                                &type, &val);
> -  if (r < ONIG_NORMAL)
> -    return r;
> -  else if (r > ONIG_NORMAL) {
> -    val.l = 0;
> -  }
> -
> -  val.l++;
> -  r = onig_set_callout_data_by_callout_args_self(args, slot,
> ONIG_TYPE_LONG, &val);
> -  if (r != ONIG_NORMAL) return r;
> -
> -  return ONIG_CALLOUT_SUCCESS;
> -}
> -
> -extern int
> -onig_builtin_max(OnigCalloutArgs* args, void* user_data ARG_UNUSED)
> -{
> -  int r;
> -  int slot;
> -  long max_val;
> -  OnigCodePoint count_type;
> -  OnigType  type;
> -  OnigValue val;
> -  OnigValue aval;
> -
> -  (void )onig_check_callout_data_and_clear_old_values(args);
> -
> -  slot = 0;
> -  r = onig_get_callout_data_by_callout_args_self(args, slot, &type, &val);
> -  if (r < ONIG_NORMAL)
> -    return r;
> -  else if (r > ONIG_NORMAL) {
> -    /* type == void: initial state */
> -    type  = ONIG_TYPE_LONG;
> -    val.l = 0;
> -  }
> -
> -  r = onig_get_arg_by_callout_args(args, 0, &type, &aval);
> -  if (r != ONIG_NORMAL) return r;
> -  if (type == ONIG_TYPE_TAG) {
> -    r = onig_get_callout_data_by_callout_args(args, aval.tag, 0, &type, &aval);
> -    if (r < ONIG_NORMAL) return r;
> -    else if (r > ONIG_NORMAL)
> -      max_val = 0L;
> -    else
> -      max_val = aval.l;
> -  }
> -  else { /* LONG */
> -    max_val = aval.l;
> -  }
> -
> -  r = onig_get_arg_by_callout_args(args, 1, &type, &aval);
> -  if (r != ONIG_NORMAL) return r;
> -
> -  count_type = aval.c;
> -  if (count_type != '>' && count_type != 'X' && count_type != '<')
> -    return ONIGERR_INVALID_CALLOUT_ARG;
> -
> -  if (args->in == ONIG_CALLOUT_IN_RETRACTION) {
> -    if (count_type == '<') {
> -      if (val.l >= max_val) return ONIG_CALLOUT_FAIL;
> -      val.l++;
> -    }
> -    else if (count_type == 'X')
> -      val.l--;
> -  }
> -  else {
> -    if (count_type != '<') {
> -      if (val.l >= max_val) return ONIG_CALLOUT_FAIL;
> -      val.l++;
> -    }
> -  }
> -
> -  r = onig_set_callout_data_by_callout_args_self(args, slot,
> ONIG_TYPE_LONG, &val);
> -  if (r != ONIG_NORMAL) return r;
> -
> -  return ONIG_CALLOUT_SUCCESS;
> -}
> -
> -enum OP_CMP {
> -  OP_EQ,
> -  OP_NE,
> -  OP_LT,
> -  OP_GT,
> -  OP_LE,
> -  OP_GE
> -};
> -
> -extern int
> -onig_builtin_cmp(OnigCalloutArgs* args, void* user_data ARG_UNUSED)
> -{
> -  int r;
> -  int slot;
> -  long lv;
> -  long rv;
> -  OnigType  type;
> -  OnigValue val;
> -  regex_t* reg;
> -  enum OP_CMP op;
> -
> -  reg = args->regex;
> -
> -  r = onig_get_arg_by_callout_args(args, 0, &type, &val);
> -  if (r != ONIG_NORMAL) return r;
> -
> -  if (type == ONIG_TYPE_TAG) {
> -    r = onig_get_callout_data_by_callout_args(args, val.tag, 0, &type, &val);
> -    if (r < ONIG_NORMAL) return r;
> -    else if (r > ONIG_NORMAL)
> -      lv = 0L;
> -    else
> -      lv = val.l;
> -  }
> -  else { /* ONIG_TYPE_LONG */
> -    lv = val.l;
> -  }
> -
> -  r = onig_get_arg_by_callout_args(args, 2, &type, &val);
> -  if (r != ONIG_NORMAL) return r;
> -
> -  if (type == ONIG_TYPE_TAG) {
> -    r = onig_get_callout_data_by_callout_args(args, val.tag, 0, &type, &val);
> -    if (r < ONIG_NORMAL) return r;
> -    else if (r > ONIG_NORMAL)
> -      rv = 0L;
> -    else
> -      rv = val.l;
> -  }
> -  else { /* ONIG_TYPE_LONG */
> -    rv = val.l;
> -  }
> -
> -  slot = 0;
> -  r = onig_get_callout_data_by_callout_args_self(args, slot, &type, &val);
> -  if (r < ONIG_NORMAL)
> -    return r;
> -  else if (r > ONIG_NORMAL) {
> -    /* type == void: initial state */
> -    OnigCodePoint c1, c2;
> -    UChar* p;
> -
> -    r = onig_get_arg_by_callout_args(args, 1, &type, &val);
> -    if (r != ONIG_NORMAL) return r;
> -
> -    p = val.s.start;
> -    c1 = ONIGENC_MBC_TO_CODE(reg->enc, p, val.s.end);
> -    p += ONIGENC_MBC_ENC_LEN(reg->enc, p);
> -    if (p < val.s.end) {
> -      c2 = ONIGENC_MBC_TO_CODE(reg->enc, p, val.s.end);
> -      p += ONIGENC_MBC_ENC_LEN(reg->enc, p);
> -      if (p != val.s.end)  return ONIGERR_INVALID_CALLOUT_ARG;
> -    }
> -    else
> -      c2 = 0;
> -
> -    switch (c1) {
> -    case '=':
> -      if (c2 != '=') return ONIGERR_INVALID_CALLOUT_ARG;
> -      op = OP_EQ;
> -      break;
> -    case '!':
> -      if (c2 != '=') return ONIGERR_INVALID_CALLOUT_ARG;
> -      op = OP_NE;
> -      break;
> -    case '<':
> -      if (c2 == '=') op = OP_LE;
> -      else if (c2 == 0) op = OP_LT;
> -      else  return ONIGERR_INVALID_CALLOUT_ARG;
> -      break;
> -    case '>':
> -      if (c2 == '=') op = OP_GE;
> -      else if (c2 == 0) op = OP_GT;
> -      else  return ONIGERR_INVALID_CALLOUT_ARG;
> -      break;
> -    default:
> -      return ONIGERR_INVALID_CALLOUT_ARG;
> -      break;
> -    }
> -    val.l = (long )op;
> -    r = onig_set_callout_data_by_callout_args_self(args, slot,
> ONIG_TYPE_LONG, &val);
> -    if (r != ONIG_NORMAL) return r;
> -  }
> -  else {
> -    op = (enum OP_CMP )val.l;
> -  }
> -
> -  switch (op) {
> -  case OP_EQ: r = (lv == rv); break;
> -  case OP_NE: r = (lv != rv); break;
> -  case OP_LT: r = (lv <  rv); break;
> -  case OP_GT: r = (lv >  rv); break;
> -  case OP_LE: r = (lv <= rv); break;
> -  case OP_GE: r = (lv >= rv); break;
> -  }
> -
> -  return r == 0 ? ONIG_CALLOUT_FAIL : ONIG_CALLOUT_SUCCESS;
> -}
> -
> -
> -//#include <stdio.h>
> -
> -static FILE* OutFp;
> -
> -/* name start with "onig_" for macros. */
> -static int
> -onig_builtin_monitor(OnigCalloutArgs* args, void* user_data)
> -{
> -  int r;
> -  int num;
> -  size_t tag_len;
> - // const UChar* start;
> - // const UChar* right;
> - // const UChar* current;
> - // const UChar* string;
> - // const UChar* strend;
> -  const UChar* tag_start;
> -  const UChar* tag_end;
> -  regex_t* reg;
> -  OnigCalloutIn in;
> -  OnigType type;
> -  OnigValue val;
> -  char buf[20];
> - // FILE* fp;
> -
> - // fp = OutFp;
> -
> -  r = onig_get_arg_by_callout_args(args, 0, &type, &val);
> -  if (r != ONIG_NORMAL) return r;
> -
> -  in = onig_get_callout_in_by_callout_args(args);
> -  if (in == ONIG_CALLOUT_IN_PROGRESS) {
> -    if (val.c == '<')
> -      return ONIG_CALLOUT_SUCCESS;
> -  }
> -  else {
> -    if (val.c != 'X' && val.c != '<')
> -      return ONIG_CALLOUT_SUCCESS;
> -  }
> -
> -  num       = onig_get_callout_num_by_callout_args(args);
> - // start     = onig_get_start_by_callout_args(args);
> - // right     = onig_get_right_range_by_callout_args(args);
> - // current   = onig_get_current_by_callout_args(args);
> - // string    = onig_get_string_by_callout_args(args);
> - // strend    = onig_get_string_end_by_callout_args(args);
> -  reg       = onig_get_regex_by_callout_args(args);
> -  tag_start = onig_get_callout_tag_start(reg, num);
> -  tag_end   = onig_get_callout_tag_end(reg, num);
> -
> -  if (tag_start == 0)
> -    sprintf_s(buf, sizeof(buf), "#%d", num);
> -  else {
> -    /* CAUTION: tag string is not terminated with NULL. */
> -    int i;
> -
> -    tag_len = tag_end - tag_start;
> -    if (tag_len >= sizeof(buf)) tag_len = sizeof(buf) - 1;
> -    for (i = 0; i < tag_len; i++) buf[i] = tag_start[i];
> -    buf[tag_len] = '\0';
> -  }
> -/*
> -  fprintf(fp, "ONIG-MONITOR: %-4s %s at: %d [%d - %d] len: %d\n",
> -          buf,
> -          in == ONIG_CALLOUT_IN_PROGRESS ? "=>" : "<=",
> -          (int )(current - string),
> -          (int )(start   - string),
> -          (int )(right   - string),
> -          (int )(strend  - string));
> -  //fflush(fp);
> -*/
> -  return ONIG_CALLOUT_SUCCESS;
> -}
> -
> -extern int
> -onig_setup_builtin_monitors_by_ascii_encoded_name(void* fp /* FILE* */)
> -{
> -  int id;
> -  char* name;
> -  OnigEncoding enc;
> -  unsigned int ts[4];
> -  OnigValue opts[4];
> -
> -  if (IS_NOT_NULL(fp))
> -    OutFp = (FILE* )fp;
> -  else
> -    OutFp = stdout;
> -
> -  enc = ONIG_ENCODING_ASCII;
> -
> -  name = "MON";
> -  ts[0] = ONIG_TYPE_CHAR;
> -  opts[0].c = '>';
> -  BC_B_O(name, monitor, 1, ts, 1, opts);
> -
> -  return ONIG_NORMAL;
> -}
> -
> -#endif /* USE_CALLOUT */
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/reggnu.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/reggnu.c
> deleted file mode 100644
> index 25bcbc2a2f33..000000000000
> --- a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/reggnu.c
> +++ /dev/null
> @@ -1,131 +0,0 @@
> -
> /**********************************************************
> ************
> -  reggnu.c -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2019  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#include "regint.h"
> -#include "oniggnu.h"
> -
> -extern void
> -re_free_registers(OnigRegion* r)
> -{
> -  /* 0: don't free self */
> -  onig_region_free(r, 0);
> -}
> -
> -extern int
> -re_adjust_startpos(regex_t* reg, const char* string, int size,
> -                   int startpos, int range)
> -{
> -  if (startpos > 0 && ONIGENC_MBC_MAXLEN(reg->enc) != 1 && startpos <
> size) {
> -    UChar *p;
> -    UChar *s = (UChar* )string + startpos;
> -
> -    if (range > 0) {
> -      p = onigenc_get_right_adjust_char_head(reg->enc, (UChar* )string, s);
> -    }
> -    else {
> -      p = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, (UChar* )string, s);
> -    }
> -    return (int )(p - (UChar* )string);
> -  }
> -
> -  return startpos;
> -}
> -
> -extern int
> -re_match(regex_t* reg, const char* str, int size, int pos,
> -         struct re_registers* regs)
> -{
> -  return onig_match(reg, (UChar* )str, (UChar* )(str + size),
> -                    (UChar* )(str + pos), regs, ONIG_OPTION_NONE);
> -}
> -
> -extern int
> -re_search(regex_t* bufp, const char* string, int size, int startpos, int range,
> -          struct re_registers* regs)
> -{
> -  return onig_search(bufp, (UChar* )string, (UChar* )(string + size),
> -                     (UChar* )(string + startpos),
> -                     (UChar* )(string + startpos + range),
> -                     regs, ONIG_OPTION_NONE);
> -}
> -
> -extern int
> -re_compile_pattern(const char* pattern, int size, regex_t* reg, char* ebuf)
> -{
> -  int r;
> -  OnigErrorInfo einfo;
> -
> -  r = onig_compile(reg, (UChar* )pattern, (UChar* )(pattern + size), &einfo);
> -  if (r != ONIG_NORMAL) {
> -    if (IS_NOT_NULL(ebuf))
> -      (void )onig_error_code_to_str((UChar* )ebuf, r, &einfo);
> -  }
> -
> -  return r;
> -}
> -
> -extern void
> -re_free_pattern(regex_t* reg)
> -{
> -  onig_free(reg);
> -}
> -
> -extern int
> -re_alloc_pattern(regex_t** reg)
> -{
> -  *reg = (regex_t* )xmalloc(sizeof(regex_t));
> -  if (IS_NULL(*reg)) return ONIGERR_MEMORY;
> -
> -  return onig_reg_init(*reg, ONIG_OPTION_DEFAULT,
> -                       ONIGENC_CASE_FOLD_DEFAULT,
> -                       OnigEncDefaultCharEncoding,
> -                       OnigDefaultSyntax);
> -}
> -
> -extern void
> -re_set_casetable(const char* table)
> -{
> -  onigenc_set_default_caseconv_table((UChar* )table);
> -}
> -
> -extern void
> -re_mbcinit(int mb_code)
> -{
> -  OnigEncoding enc;
> -
> -  switch (mb_code) {
> -  case RE_MBCTYPE_ASCII:
> -    enc = ONIG_ENCODING_ASCII;
> -    break;
> -  }
> -
> -  onig_initialize(&enc, 1);
> -
> -  onigenc_set_default_encoding(enc);
> -}
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c
> deleted file mode 100644
> index 2b121690e1f7..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c
> +++ /dev/null
> @@ -1,8461 +0,0 @@
> -
> /**********************************************************
> ************
> -  regparse.c -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2019  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#include "regparse.h"
> -#include "st.h"
> -
> -#ifdef DEBUG_NODE_FREE
> -#include <stdio.h>
> -#endif
> -
> -#define INIT_TAG_NAMES_ALLOC_NUM   5
> -
> -#define WARN_BUFSIZE    256
> -
> -#define CASE_FOLD_IS_APPLIED_INSIDE_NEGATIVE_CCLASS
> -
> -#define IS_ALLOWED_CODE_IN_CALLOUT_NAME(c) \
> -  ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') || c ==
> '_' /* || c == '!' */)
> -#define IS_ALLOWED_CODE_IN_CALLOUT_TAG_NAME(c) \
> -  ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') || c ==
> '_')
> -
> -
> -OnigSyntaxType OnigSyntaxOniguruma = {
> -  (( SYN_GNU_REGEX_OP | ONIG_SYN_OP_QMARK_NON_GREEDY |
> -     ONIG_SYN_OP_ESC_OCTAL3 | ONIG_SYN_OP_ESC_X_HEX2 |
> -     ONIG_SYN_OP_ESC_X_BRACE_HEX8 |
> ONIG_SYN_OP_ESC_O_BRACE_OCTAL |
> -     ONIG_SYN_OP_ESC_CONTROL_CHARS |
> -     ONIG_SYN_OP_ESC_C_CONTROL )
> -   & ~ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END )
> -  , ( ONIG_SYN_OP2_QMARK_GROUP_EFFECT |
> -      ONIG_SYN_OP2_OPTION_ONIGURUMA |
> -      ONIG_SYN_OP2_QMARK_LT_NAMED_GROUP |
> ONIG_SYN_OP2_ESC_K_NAMED_BACKREF |
> -      ONIG_SYN_OP2_QMARK_LPAREN_IF_ELSE |
> -      ONIG_SYN_OP2_QMARK_TILDE_ABSENT_GROUP |
> -      ONIG_SYN_OP2_QMARK_BRACE_CALLOUT_CONTENTS |
> -      ONIG_SYN_OP2_ASTERISK_CALLOUT_NAME    |
> -      ONIG_SYN_OP2_ESC_X_Y_TEXT_SEGMENT |
> -      ONIG_SYN_OP2_ESC_CAPITAL_R_GENERAL_NEWLINE |
> -      ONIG_SYN_OP2_ESC_CAPITAL_N_O_SUPER_DOT |
> -      ONIG_SYN_OP2_ESC_CAPITAL_K_KEEP |
> -      ONIG_SYN_OP2_ESC_G_SUBEXP_CALL |
> -      ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY  |
> -      ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT |
> -      ONIG_SYN_OP2_PLUS_POSSESSIVE_REPEAT |
> -      ONIG_SYN_OP2_CCLASS_SET_OP |
> ONIG_SYN_OP2_ESC_CAPITAL_C_BAR_CONTROL |
> -      ONIG_SYN_OP2_ESC_CAPITAL_M_BAR_META |
> ONIG_SYN_OP2_ESC_V_VTAB |
> -      ONIG_SYN_OP2_ESC_H_XDIGIT | ONIG_SYN_OP2_ESC_U_HEX4 )
> -  , ( SYN_GNU_REGEX_BV |
> -      ONIG_SYN_ALLOW_INTERVAL_LOW_ABBREV |
> -      ONIG_SYN_DIFFERENT_LEN_ALT_LOOK_BEHIND |
> -      ONIG_SYN_CAPTURE_ONLY_NAMED_GROUP |
> -      ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME |
> -      ONIG_SYN_FIXED_INTERVAL_IS_GREEDY_ONLY |
> -      ONIG_SYN_ALLOW_INVALID_CODE_END_OF_RANGE_IN_CC |
> -      ONIG_SYN_WARN_CC_OP_NOT_ESCAPED |
> -      ONIG_SYN_WARN_REDUNDANT_NESTED_REPEAT )
> -  , ONIG_OPTION_NONE
> -  ,
> -  {
> -      (OnigCodePoint )'\\'                       /* esc */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar '.'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anytime '*'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* zero or one time
> '?' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* one or more time
> '+' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar anytime
> */
> -  }
> -};
> -
> -OnigSyntaxType OnigSyntaxRuby = {
> -  (( SYN_GNU_REGEX_OP | ONIG_SYN_OP_QMARK_NON_GREEDY |
> -     ONIG_SYN_OP_ESC_OCTAL3 | ONIG_SYN_OP_ESC_X_HEX2 |
> -     ONIG_SYN_OP_ESC_X_BRACE_HEX8 |
> ONIG_SYN_OP_ESC_O_BRACE_OCTAL |
> -     ONIG_SYN_OP_ESC_CONTROL_CHARS |
> -     ONIG_SYN_OP_ESC_C_CONTROL )
> -   & ~ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END )
> -  , ( ONIG_SYN_OP2_QMARK_GROUP_EFFECT |
> -      ONIG_SYN_OP2_OPTION_RUBY |
> -      ONIG_SYN_OP2_QMARK_LT_NAMED_GROUP |
> ONIG_SYN_OP2_ESC_K_NAMED_BACKREF |
> -      ONIG_SYN_OP2_QMARK_LPAREN_IF_ELSE |
> -      ONIG_SYN_OP2_QMARK_TILDE_ABSENT_GROUP |
> -      ONIG_SYN_OP2_ESC_X_Y_TEXT_SEGMENT |
> -      ONIG_SYN_OP2_ESC_CAPITAL_R_GENERAL_NEWLINE |
> -      ONIG_SYN_OP2_ESC_CAPITAL_K_KEEP |
> -      ONIG_SYN_OP2_ESC_G_SUBEXP_CALL |
> -      ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY  |
> -      ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT |
> -      ONIG_SYN_OP2_PLUS_POSSESSIVE_REPEAT |
> -      ONIG_SYN_OP2_CCLASS_SET_OP |
> ONIG_SYN_OP2_ESC_CAPITAL_C_BAR_CONTROL |
> -      ONIG_SYN_OP2_ESC_CAPITAL_M_BAR_META |
> ONIG_SYN_OP2_ESC_V_VTAB |
> -      ONIG_SYN_OP2_ESC_H_XDIGIT | ONIG_SYN_OP2_ESC_U_HEX4 )
> -  , ( SYN_GNU_REGEX_BV |
> -      ONIG_SYN_ALLOW_INTERVAL_LOW_ABBREV |
> -      ONIG_SYN_DIFFERENT_LEN_ALT_LOOK_BEHIND |
> -      ONIG_SYN_CAPTURE_ONLY_NAMED_GROUP |
> -      ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME |
> -      ONIG_SYN_FIXED_INTERVAL_IS_GREEDY_ONLY |
> -      ONIG_SYN_WARN_CC_OP_NOT_ESCAPED |
> -      ONIG_SYN_WARN_REDUNDANT_NESTED_REPEAT )
> -  , ONIG_OPTION_NONE
> -  ,
> -  {
> -      (OnigCodePoint )'\\'                       /* esc */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar '.'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anytime '*'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* zero or one time
> '?' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* one or more time
> '+' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar anytime
> */
> -  }
> -};
> -
> -OnigSyntaxType*  OnigDefaultSyntax = ONIG_SYNTAX_ONIGURUMA;
> -
> -extern void onig_null_warn(const char* s ARG_UNUSED) { }
> -
> -#ifdef DEFAULT_WARN_FUNCTION
> -static OnigWarnFunc onig_warn =
> (OnigWarnFunc )DEFAULT_WARN_FUNCTION;
> -#else
> -static OnigWarnFunc onig_warn = onig_null_warn;
> -#endif
> -
> -#ifdef DEFAULT_VERB_WARN_FUNCTION
> -static OnigWarnFunc onig_verb_warn =
> (OnigWarnFunc )DEFAULT_VERB_WARN_FUNCTION;
> -#else
> -static OnigWarnFunc onig_verb_warn = onig_null_warn;
> -#endif
> -
> -extern void onig_set_warn_func(OnigWarnFunc f)
> -{
> -  onig_warn = f;
> -}
> -
> -extern void onig_set_verb_warn_func(OnigWarnFunc f)
> -{
> -  onig_verb_warn = f;
> -}
> -
> -extern void
> -onig_warning(const char* s)
> -{
> -  if (onig_warn == onig_null_warn) return ;
> -
> -  (*onig_warn)(s);
> -}
> -
> -#define DEFAULT_MAX_CAPTURE_NUM   32767
> -
> -static int MaxCaptureNum = DEFAULT_MAX_CAPTURE_NUM;
> -
> -extern int
> -onig_set_capture_num_limit(int num)
> -{
> -  if (num < 0) return -1;
> -
> -  MaxCaptureNum = num;
> -  return 0;
> -}
> -
> -static unsigned int ParseDepthLimit = DEFAULT_PARSE_DEPTH_LIMIT;
> -
> -extern unsigned int
> -onig_get_parse_depth_limit(void)
> -{
> -  return ParseDepthLimit;
> -}
> -
> -extern int
> -onig_set_parse_depth_limit(unsigned int depth)
> -{
> -  if (depth == 0)
> -    ParseDepthLimit = DEFAULT_PARSE_DEPTH_LIMIT;
> -  else
> -    ParseDepthLimit = depth;
> -  return 0;
> -}
> -
> -static int
> -bbuf_init(BBuf* buf, int size)
> -{
> -  if (size <= 0) {
> -    size   = 0;
> -    buf->p = NULL;
> -  }
> -  else {
> -    buf->p = (UChar* )xmalloc(size);
> -    if (IS_NULL(buf->p)) return(ONIGERR_MEMORY);
> -  }
> -
> -  buf->alloc = size;
> -  buf->used  = 0;
> -  return 0;
> -}
> -
> -static void
> -bbuf_free(BBuf* bbuf)
> -{
> -  if (IS_NOT_NULL(bbuf)) {
> -    if (IS_NOT_NULL(bbuf->p)) xfree(bbuf->p);
> -    xfree(bbuf);
> -  }
> -}
> -
> -static int
> -bbuf_clone(BBuf** rto, BBuf* from)
> -{
> -  int r;
> -  BBuf *to;
> -
> -  *rto = to = (BBuf* )xmalloc(sizeof(BBuf));
> -  CHECK_NULL_RETURN_MEMERR(to);
> -  r = BB_INIT(to, from->alloc);
> -  if (r != 0) {
> -    xfree(to->p);
> -    *rto = 0;
> -    return r;
> -  }
> -  to->used = from->used;
> -  xmemcpy(to->p, from->p, from->used);
> -  return 0;
> -}
> -
> -static int backref_rel_to_abs(int rel_no, ScanEnv* env)
> -{
> -  if (rel_no > 0) {
> -    return env->num_mem + rel_no;
> -  }
> -  else {
> -    return env->num_mem + 1 + rel_no;
> -  }
> -}
> -
> -#define OPTION_ON(v,f)     ((v) |= (f))
> -#define OPTION_OFF(v,f)    ((v) &= ~(f))
> -
> -#define OPTION_NEGATE(v,f,negative)    (negative) ? ((v) &= ~(f)) : ((v) |=
> (f))
> -
> -#define MBCODE_START_POS(enc) \
> -  (OnigCodePoint )(ONIGENC_MBC_MINLEN(enc) > 1 ? 0 : 0x80)
> -
> -#define SET_ALL_MULTI_BYTE_RANGE(enc, pbuf) \
> -  add_code_range_to_buf(pbuf, MBCODE_START_POS(enc),
> ~((OnigCodePoint )0))
> -
> -#define ADD_ALL_MULTI_BYTE_RANGE(enc, mbuf) do {\
> -  if (! ONIGENC_IS_SINGLEBYTE(enc)) {\
> -    r = SET_ALL_MULTI_BYTE_RANGE(enc, &(mbuf));\
> -    if (r != 0) return r;\
> -  }\
> -} while (0)
> -
> -
> -#define BITSET_IS_EMPTY(bs,empty) do {\
> -  int i;\
> -  empty = 1;\
> -  for (i = 0; i < (int )BITSET_SIZE; i++) {\
> -    if ((bs)[i] != 0) {\
> -      empty = 0; break;\
> -    }\
> -  }\
> -} while (0)
> -
> -static void
> -bitset_set_range(BitSetRef bs, int from, int to)
> -{
> -  int i;
> -  for (i = from; i <= to && i < SINGLE_BYTE_SIZE; i++) {
> -    BITSET_SET_BIT(bs, i);
> -  }
> -}
> -
> -#if 0
> -static void
> -bitset_set_all(BitSetRef bs)
> -{
> -  int i;
> -  for (i = 0; i < BITSET_SIZE; i++) { bs[i] = ~((Bits )0); }
> -}
> -#endif
> -
> -static void
> -bitset_invert(BitSetRef bs)
> -{
> -  int i;
> -  for (i = 0; i < (int )BITSET_SIZE; i++) { bs[i] = ~(bs[i]); }
> -}
> -
> -static void
> -bitset_invert_to(BitSetRef from, BitSetRef to)
> -{
> -  int i;
> -  for (i = 0; i < (int )BITSET_SIZE; i++) { to[i] = ~(from[i]); }
> -}
> -
> -static void
> -bitset_and(BitSetRef dest, BitSetRef bs)
> -{
> -  int i;
> -  for (i = 0; i < (int )BITSET_SIZE; i++) { dest[i] &= bs[i]; }
> -}
> -
> -static void
> -bitset_or(BitSetRef dest, BitSetRef bs)
> -{
> -  int i;
> -  for (i = 0; i < (int )BITSET_SIZE; i++) { dest[i] |= bs[i]; }
> -}
> -
> -static void
> -bitset_copy(BitSetRef dest, BitSetRef bs)
> -{
> -  int i;
> -  for (i = 0; i < (int )BITSET_SIZE; i++) { dest[i] = bs[i]; }
> -}
> -
> -extern int
> -onig_strncmp(const UChar* s1, const UChar* s2, int n)
> -{
> -  int x;
> -
> -  while (n-- > 0) {
> -    x = *s2++ - *s1++;
> -    if (x) return x;
> -  }
> -  return 0;
> -}
> -
> -extern void
> -onig_strcpy(UChar* dest, const UChar* src, const UChar* end)
> -{
> -  int len = (int )(end - src);
> -  if (len > 0) {
> -    xmemcpy(dest, src, len);
> -    dest[len] = (UChar )0;
> -  }
> -}
> -
> -static int
> -save_entry(ScanEnv* env, enum SaveType type, int* id)
> -{
> -  int nid = env->save_num;
> -
> -#if 0
> -  if (IS_NULL(env->saves)) {
> -    int n = 10;
> -    env->saves = (SaveItem* )xmalloc(sizeof(SaveItem) * n);
> -    CHECK_NULL_RETURN_MEMERR(env->saves);
> -    env->save_alloc_num = n;
> -  }
> -  else if (env->save_alloc_num <= nid) {
> -    int n = env->save_alloc_num * 2;
> -    SaveItem* p = (SaveItem* )xrealloc(env->saves, sizeof(SaveItem) * n,
> sizeof(SaveItem)*env->save_alloc_num);
> -    CHECK_NULL_RETURN_MEMERR(p);
> -    env->saves = p;
> -    env->save_alloc_num = n;
> -  }
> -
> -  env->saves[nid].type = type;
> -#endif
> -
> -  env->save_num++;
> -  *id = nid;
> -  return 0;
> -}
> -
> -/* scan pattern methods */
> -#define PEND_VALUE   0
> -
> -#define PFETCH_READY  UChar* pfetch_prev
> -#define PEND         (p < end ?  0 : 1)
> -#define PUNFETCH     p = pfetch_prev
> -#define PINC       do { \
> -  pfetch_prev = p; \
> -  p += ONIGENC_MBC_ENC_LEN(enc, p); \
> -} while (0)
> -#define PFETCH(c)  do { \
> -  c = ONIGENC_MBC_TO_CODE(enc, p, end); \
> -  pfetch_prev = p; \
> -  p += ONIGENC_MBC_ENC_LEN(enc, p); \
> -} while (0)
> -
> -#define PINC_S     do { \
> -  p += ONIGENC_MBC_ENC_LEN(enc, p); \
> -} while (0)
> -#define PFETCH_S(c) do { \
> -  c = ONIGENC_MBC_TO_CODE(enc, p, end); \
> -  p += ONIGENC_MBC_ENC_LEN(enc, p); \
> -} while (0)
> -
> -#define PPEEK        (p < end ? ONIGENC_MBC_TO_CODE(enc, p, end) :
> PEND_VALUE)
> -#define PPEEK_IS(c)  (PPEEK == (OnigCodePoint )c)
> -
> -static UChar*
> -strcat_capa(UChar* dest, UChar* dest_end, const UChar* src, const UChar*
> src_end,
> -            int capa, int oldCapa)
> -{
> -  UChar* r;
> -
> -  if (dest)
> -    r = (UChar* )xrealloc(dest, capa + 1, oldCapa);
> -  else
> -    r = (UChar* )xmalloc(capa + 1);
> -
> -  CHECK_NULL_RETURN(r);
> -  onig_strcpy(r + (dest_end - dest), src, src_end);
> -  return r;
> -}
> -
> -/* dest on static area */
> -static UChar*
> -strcat_capa_from_static(UChar* dest, UChar* dest_end,
> -                        const UChar* src, const UChar* src_end, int capa)
> -{
> -  UChar* r;
> -
> -  r = (UChar* )xmalloc(capa + 1);
> -  CHECK_NULL_RETURN(r);
> -  onig_strcpy(r, dest, dest_end);
> -  onig_strcpy(r + (dest_end - dest), src, src_end);
> -  return r;
> -}
> -
> -
> -#ifdef USE_ST_LIBRARY
> -
> -typedef struct {
> -  UChar* s;
> -  UChar* end;
> -} st_str_end_key;
> -
> -static int
> -str_end_cmp(st_str_end_key* x, st_str_end_key* y)
> -{
> -  UChar *p, *q;
> -  int c;
> -
> -  if ((x->end - x->s) != (y->end - y->s))
> -    return 1;
> -
> -  p = x->s;
> -  q = y->s;
> -  while (p < x->end) {
> -    c = (int )*p - (int )*q;
> -    if (c != 0) return c;
> -
> -    p++; q++;
> -  }
> -
> -  return 0;
> -}
> -
> -static int
> -str_end_hash(st_str_end_key* x)
> -{
> -  UChar *p;
> -  int val = 0;
> -
> -  p = x->s;
> -  while (p < x->end) {
> -    val = val * 997 + (int )*p++;
> -  }
> -
> -  return val + (val >> 5);
> -}
> -
> -extern hash_table_type*
> -onig_st_init_strend_table_with_size(int size)
> -{
> -  static struct st_hash_type hashType = {
> -    str_end_cmp,
> -    str_end_hash,
> -  };
> -
> -  return (hash_table_type* )
> -           onig_st_init_table_with_size(&hashType, size);
> -}
> -
> -extern int
> -onig_st_lookup_strend(hash_table_type* table, const UChar* str_key,
> -                      const UChar* end_key, hash_data_type *value)
> -{
> -  st_str_end_key key;
> -
> -  key.s   = (UChar* )str_key;
> -  key.end = (UChar* )end_key;
> -
> -  return onig_st_lookup(table, (st_data_t )(&key), value);
> -}
> -
> -extern int
> -onig_st_insert_strend(hash_table_type* table, const UChar* str_key,
> -                      const UChar* end_key, hash_data_type value)
> -{
> -  st_str_end_key* key;
> -  int result;
> -
> -  key = (st_str_end_key* )xmalloc(sizeof(st_str_end_key));
> -  CHECK_NULL_RETURN_MEMERR(key);
> -
> -  key->s   = (UChar* )str_key;
> -  key->end = (UChar* )end_key;
> -  result = onig_st_insert(table, (st_data_t )key, value);
> -  if (result) {
> -    xfree(key);
> -  }
> -  return result;
> -}
> -
> -
> -#ifdef USE_CALLOUT
> -
> -typedef struct {
> -  OnigEncoding enc;
> -  int    type; /* callout type: single or not */
> -  UChar* s;
> -  UChar* end;
> -} st_callout_name_key;
> -
> -static int
> -callout_name_table_cmp(st_callout_name_key* x, st_callout_name_key*
> y)
> -{
> -  UChar *p, *q;
> -  int c;
> -
> -  if (x->enc  != y->enc)  return 1;
> -  if (x->type != y->type) return 1;
> -  if ((x->end - x->s) != (y->end - y->s))
> -    return 1;
> -
> -  p = x->s;
> -  q = y->s;
> -  while (p < x->end) {
> -    c = (int )*p - (int )*q;
> -    if (c != 0) return c;
> -
> -    p++; q++;
> -  }
> -
> -  return 0;
> -}
> -
> -static int
> -callout_name_table_hash(st_callout_name_key* x)
> -{
> -  UChar *p;
> -  int val = 0;
> -
> -  p = x->s;
> -  while (p < x->end) {
> -    val = val * 997 + (int )*p++;
> -  }
> -
> -  /* use intptr_t for escape warning in Windows */
> -  return val + (val >> 5) + ((intptr_t )x->enc & 0xffff) + x->type;
> -}
> -
> -extern hash_table_type*
> -onig_st_init_callout_name_table_with_size(int size)
> -{
> -  static struct st_hash_type hashType = {
> -    callout_name_table_cmp,
> -    callout_name_table_hash,
> -  };
> -
> -  return (hash_table_type* )
> -           onig_st_init_table_with_size(&hashType, size);
> -}
> -
> -extern int
> -onig_st_lookup_callout_name_table(hash_table_type* table,
> -                                  OnigEncoding enc,
> -                                  int type,
> -                                  const UChar* str_key,
> -                                  const UChar* end_key,
> -                                  hash_data_type *value)
> -{
> -  st_callout_name_key key;
> -
> -  key.enc  = enc;
> -  key.type = type;
> -  key.s    = (UChar* )str_key;
> -  key.end  = (UChar* )end_key;
> -
> -  return onig_st_lookup(table, (st_data_t )(&key), value);
> -}
> -
> -static int
> -st_insert_callout_name_table(hash_table_type* table,
> -                             OnigEncoding enc, int type,
> -                             UChar* str_key, UChar* end_key,
> -                             hash_data_type value)
> -{
> -  st_callout_name_key* key;
> -  int result;
> -
> -  key = (st_callout_name_key* )xmalloc(sizeof(st_callout_name_key));
> -  CHECK_NULL_RETURN_MEMERR(key);
> -
> -  /* key->s: don't duplicate, because str_key is duped in
> callout_name_entry() */
> -  key->enc  = enc;
> -  key->type = type;
> -  key->s    = str_key;
> -  key->end  = end_key;
> -  result = onig_st_insert(table, (st_data_t )key, value);
> -  if (result) {
> -    xfree(key);
> -  }
> -  return result;
> -}
> -#endif
> -
> -#endif /* USE_ST_LIBRARY */
> -
> -
> -#define INIT_NAME_BACKREFS_ALLOC_NUM   8
> -
> -typedef struct {
> -  UChar* name;
> -  int    name_len;   /* byte length */
> -  int    back_num;   /* number of backrefs */
> -  int    back_alloc;
> -  int    back_ref1;
> -  int*   back_refs;
> -} NameEntry;
> -
> -#ifdef USE_ST_LIBRARY
> -
> -#define INIT_NAMES_ALLOC_NUM    5
> -
> -typedef st_table  NameTable;
> -typedef st_data_t HashDataType;   /* 1.6 st.h doesn't define st_data_t type
> */
> -
> -#define NAMEBUF_SIZE    24
> -#define NAMEBUF_SIZE_1  25
> -
> -#ifdef ONIG_DEBUG
> -static int
> -i_print_name_entry(UChar* key, NameEntry* e, void* arg)
> -{
> -  int i;
> -  FILE* fp = (FILE* )arg;
> -
> -  fprintf(fp, "%s: ", e->name);
> -  if (e->back_num == 0)
> -    fputs("-", fp);
> -  else if (e->back_num == 1)
> -    fprintf(fp, "%d", e->back_ref1);
> -  else {
> -    for (i = 0; i < e->back_num; i++) {
> -      if (i > 0) fprintf(fp, ", ");
> -      fprintf(fp, "%d", e->back_refs[i]);
> -    }
> -  }
> -  fputs("\n", fp);
> -  return ST_CONTINUE;
> -}
> -
> -extern int
> -onig_print_names(FILE* fp, regex_t* reg)
> -{
> -  NameTable* t = (NameTable* )reg->name_table;
> -
> -  if (IS_NOT_NULL(t)) {
> -    fprintf(fp, "name table\n");
> -    onig_st_foreach(t, i_print_name_entry, (HashDataType )fp);
> -    fputs("\n", fp);
> -  }
> -  return 0;
> -}
> -#endif /* ONIG_DEBUG */
> -
> -static int
> -i_free_name_entry(UChar* key, NameEntry* e, void* arg ARG_UNUSED)
> -{
> -  xfree(e->name);
> -  if (IS_NOT_NULL(e->back_refs)) xfree(e->back_refs);
> -  xfree(key);
> -  xfree(e);
> -  return ST_DELETE;
> -}
> -
> -static int
> -names_clear(regex_t* reg)
> -{
> -  NameTable* t = (NameTable* )reg->name_table;
> -
> -  if (IS_NOT_NULL(t)) {
> -    onig_st_foreach(t, i_free_name_entry, 0);
> -  }
> -  return 0;
> -}
> -
> -extern int
> -onig_names_free(regex_t* reg)
> -{
> -  int r;
> -  NameTable* t;
> -
> -  r = names_clear(reg);
> -  if (r != 0) return r;
> -
> -  t = (NameTable* )reg->name_table;
> -  if (IS_NOT_NULL(t)) onig_st_free_table(t);
> -  reg->name_table = (void* )NULL;
> -  return 0;
> -}
> -
> -static NameEntry*
> -name_find(regex_t* reg, const UChar* name, const UChar* name_end)
> -{
> -  NameEntry* e;
> -  NameTable* t = (NameTable* )reg->name_table;
> -
> -  e = (NameEntry* )NULL;
> -  if (IS_NOT_NULL(t)) {
> -    onig_st_lookup_strend(t, name, name_end,
> (HashDataType* )((void* )(&e)));
> -  }
> -  return e;
> -}
> -
> -typedef struct {
> -  int (*func)(const UChar*, const UChar*,int,int*,regex_t*,void*);
> -  regex_t* reg;
> -  void* arg;
> -  int ret;
> -  OnigEncoding enc;
> -} INamesArg;
> -
> -static int
> -i_names(UChar* key ARG_UNUSED, NameEntry* e, INamesArg* arg)
> -{
> -  int r = (*(arg->func))(e->name,
> -                         e->name + e->name_len,
> -                         e->back_num,
> -                         (e->back_num > 1 ? e->back_refs : &(e->back_ref1)),
> -                         arg->reg, arg->arg);
> -  if (r != 0) {
> -    arg->ret = r;
> -    return ST_STOP;
> -  }
> -  return ST_CONTINUE;
> -}
> -
> -extern int
> -onig_foreach_name(regex_t* reg,
> -  int (*func)(const UChar*, const UChar*,int,int*,regex_t*,void*), void* arg)
> -{
> -  INamesArg narg;
> -  NameTable* t = (NameTable* )reg->name_table;
> -
> -  narg.ret = 0;
> -  if (IS_NOT_NULL(t)) {
> -    narg.func = func;
> -    narg.reg  = reg;
> -    narg.arg  = arg;
> -    narg.enc  = reg->enc; /* should be pattern encoding. */
> -    onig_st_foreach(t, i_names, (HashDataType )&narg);
> -  }
> -  return narg.ret;
> -}
> -
> -static int
> -i_renumber_name(UChar* key ARG_UNUSED, NameEntry* e,
> GroupNumRemap* map)
> -{
> -  int i;
> -
> -  if (e->back_num > 1) {
> -    for (i = 0; i < e->back_num; i++) {
> -      e->back_refs[i] = map[e->back_refs[i]].new_val;
> -    }
> -  }
> -  else if (e->back_num == 1) {
> -    e->back_ref1 = map[e->back_ref1].new_val;
> -  }
> -
> -  return ST_CONTINUE;
> -}
> -
> -extern int
> -onig_renumber_name_table(regex_t* reg, GroupNumRemap* map)
> -{
> -  NameTable* t = (NameTable* )reg->name_table;
> -
> -  if (IS_NOT_NULL(t)) {
> -    onig_st_foreach(t, i_renumber_name, (HashDataType )map);
> -  }
> -  return 0;
> -}
> -
> -
> -extern int
> -onig_number_of_names(regex_t* reg)
> -{
> -  NameTable* t = (NameTable* )reg->name_table;
> -
> -  if (IS_NOT_NULL(t))
> -    return t->num_entries;
> -  else
> -    return 0;
> -}
> -
> -#else  /* USE_ST_LIBRARY */
> -
> -#define INIT_NAMES_ALLOC_NUM    8
> -
> -typedef struct {
> -  NameEntry* e;
> -  int        num;
> -  int        alloc;
> -} NameTable;
> -
> -#ifdef ONIG_DEBUG
> -extern int
> -onig_print_names(FILE* fp, regex_t* reg)
> -{
> -  int i, j;
> -  NameEntry* e;
> -  NameTable* t = (NameTable* )reg->name_table;
> -
> -  if (IS_NOT_NULL(t) && t->num > 0) {
> -    fprintf(fp, "name table\n");
> -    for (i = 0; i < t->num; i++) {
> -      e = &(t->e[i]);
> -      fprintf(fp, "%s: ", e->name);
> -      if (e->back_num == 0) {
> -        fputs("-", fp);
> -      }
> -      else if (e->back_num == 1) {
> -        fprintf(fp, "%d", e->back_ref1);
> -      }
> -      else {
> -        for (j = 0; j < e->back_num; j++) {
> -          if (j > 0) fprintf(fp, ", ");
> -          fprintf(fp, "%d", e->back_refs[j]);
> -        }
> -      }
> -      fputs("\n", fp);
> -    }
> -    fputs("\n", fp);
> -  }
> -  return 0;
> -}
> -#endif
> -
> -static int
> -names_clear(regex_t* reg)
> -{
> -  int i;
> -  NameEntry* e;
> -  NameTable* t = (NameTable* )reg->name_table;
> -
> -  if (IS_NOT_NULL(t)) {
> -    for (i = 0; i < t->num; i++) {
> -      e = &(t->e[i]);
> -      if (IS_NOT_NULL(e->name)) {
> -        xfree(e->name);
> -        e->name       = NULL;
> -        e->name_len   = 0;
> -        e->back_num   = 0;
> -        e->back_alloc = 0;
> -        if (IS_NOT_NULL(e->back_refs)) xfree(e->back_refs);
> -        e->back_refs = (int* )NULL;
> -      }
> -    }
> -    if (IS_NOT_NULL(t->e)) {
> -      xfree(t->e);
> -      t->e = NULL;
> -    }
> -    t->num = 0;
> -  }
> -  return 0;
> -}
> -
> -extern int
> -onig_names_free(regex_t* reg)
> -{
> -  int r;
> -  NameTable* t;
> -
> -  r = names_clear(reg);
> -  if (r != 0) return r;
> -
> -  t = (NameTable* )reg->name_table;
> -  if (IS_NOT_NULL(t)) xfree(t);
> -  reg->name_table = NULL;
> -  return 0;
> -}
> -
> -static NameEntry*
> -name_find(regex_t* reg, UChar* name, UChar* name_end)
> -{
> -  int i, len;
> -  NameEntry* e;
> -  NameTable* t = (NameTable* )reg->name_table;
> -
> -  if (IS_NOT_NULL(t)) {
> -    len = name_end - name;
> -    for (i = 0; i < t->num; i++) {
> -      e = &(t->e[i]);
> -      if (len == e->name_len && onig_strncmp(name, e->name, len) == 0)
> -        return e;
> -    }
> -  }
> -  return (NameEntry* )NULL;
> -}
> -
> -extern int
> -onig_foreach_name(regex_t* reg,
> -  int (*func)(const UChar*, const UChar*,int,int*,regex_t*,void*), void* arg)
> -{
> -  int i, r;
> -  NameEntry* e;
> -  NameTable* t = (NameTable* )reg->name_table;
> -
> -  if (IS_NOT_NULL(t)) {
> -    for (i = 0; i < t->num; i++) {
> -      e = &(t->e[i]);
> -      r = (*func)(e->name, e->name + e->name_len, e->back_num,
> -                  (e->back_num > 1 ? e->back_refs : &(e->back_ref1)),
> -                  reg, arg);
> -      if (r != 0) return r;
> -    }
> -  }
> -  return 0;
> -}
> -
> -extern int
> -onig_number_of_names(regex_t* reg)
> -{
> -  NameTable* t = (NameTable* )reg->name_table;
> -
> -  if (IS_NOT_NULL(t))
> -    return t->num;
> -  else
> -    return 0;
> -}
> -
> -#endif /* else USE_ST_LIBRARY */
> -
> -static int
> -name_add(regex_t* reg, UChar* name, UChar* name_end, int backref,
> ScanEnv* env)
> -{
> -  int r;
> -  int alloc;
> -  NameEntry* e;
> -  NameTable* t = (NameTable* )reg->name_table;
> -
> -  if (name_end - name <= 0)
> -    return ONIGERR_EMPTY_GROUP_NAME;
> -
> -  e = name_find(reg, name, name_end);
> -  if (IS_NULL(e)) {
> -#ifdef USE_ST_LIBRARY
> -    if (IS_NULL(t)) {
> -      t = onig_st_init_strend_table_with_size(INIT_NAMES_ALLOC_NUM);
> -      CHECK_NULL_RETURN_MEMERR(t);
> -      reg->name_table = (void* )t;
> -    }
> -    e = (NameEntry* )xmalloc(sizeof(NameEntry));
> -    CHECK_NULL_RETURN_MEMERR(e);
> -
> -    e->name = onigenc_strdup(reg->enc, name, name_end);
> -    if (IS_NULL(e->name)) {
> -      xfree(e);  return ONIGERR_MEMORY;
> -    }
> -    r = onig_st_insert_strend(t, e->name, (e->name + (name_end - name)),
> -                              (HashDataType )e);
> -    if (r < 0) return r;
> -
> -    e->name_len   = (int )(name_end - name);
> -    e->back_num   = 0;
> -    e->back_alloc = 0;
> -    e->back_refs  = (int* )NULL;
> -
> -#else
> -
> -    if (IS_NULL(t)) {
> -      alloc = INIT_NAMES_ALLOC_NUM;
> -      t = (NameTable* )xmalloc(sizeof(NameTable));
> -      CHECK_NULL_RETURN_MEMERR(t);
> -      t->e     = NULL;
> -      t->alloc = 0;
> -      t->num   = 0;
> -
> -      t->e = (NameEntry* )xmalloc(sizeof(NameEntry) * alloc);
> -      if (IS_NULL(t->e)) {
> -        xfree(t);
> -        return ONIGERR_MEMORY;
> -      }
> -      t->alloc = alloc;
> -      reg->name_table = t;
> -      goto clear;
> -    }
> -    else if (t->num == t->alloc) {
> -      int i;
> -
> -      alloc = t->alloc * 2;
> -      t->e = (NameEntry* )xrealloc(t->e, sizeof(NameEntry) * alloc,
> sizeof(NameEntry) * t->alloc);
> -      CHECK_NULL_RETURN_MEMERR(t->e);
> -      t->alloc = alloc;
> -
> -    clear:
> -      for (i = t->num; i < t->alloc; i++) {
> -        t->e[i].name       = NULL;
> -        t->e[i].name_len   = 0;
> -        t->e[i].back_num   = 0;
> -        t->e[i].back_alloc = 0;
> -        t->e[i].back_refs  = (int* )NULL;
> -      }
> -    }
> -    e = &(t->e[t->num]);
> -    t->num++;
> -    e->name = onigenc_strdup(reg->enc, name, name_end);
> -    if (IS_NULL(e->name)) return ONIGERR_MEMORY;
> -    e->name_len = name_end - name;
> -#endif
> -  }
> -
> -  if (e->back_num >= 1 &&
> -      ! IS_SYNTAX_BV(env->syntax,
> ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME)) {
> -    onig_scan_env_set_error_string(env,
> ONIGERR_MULTIPLEX_DEFINED_NAME,
> -                                   name, name_end);
> -    return ONIGERR_MULTIPLEX_DEFINED_NAME;
> -  }
> -
> -  e->back_num++;
> -  if (e->back_num == 1) {
> -    e->back_ref1 = backref;
> -  }
> -  else {
> -    if (e->back_num == 2) {
> -      alloc = INIT_NAME_BACKREFS_ALLOC_NUM;
> -      e->back_refs = (int* )xmalloc(sizeof(int) * alloc);
> -      CHECK_NULL_RETURN_MEMERR(e->back_refs);
> -      e->back_alloc = alloc;
> -      e->back_refs[0] = e->back_ref1;
> -      e->back_refs[1] = backref;
> -    }
> -    else {
> -      if (e->back_num > e->back_alloc) {
> -        alloc = e->back_alloc * 2;
> -        e->back_refs = (int* )xrealloc(e->back_refs, sizeof(int) * alloc, sizeof(int)
> * e->back_alloc);
> -        CHECK_NULL_RETURN_MEMERR(e->back_refs);
> -        e->back_alloc = alloc;
> -      }
> -      e->back_refs[e->back_num - 1] = backref;
> -    }
> -  }
> -
> -  return 0;
> -}
> -
> -extern int
> -onig_name_to_group_numbers(regex_t* reg, const UChar* name,
> -                           const UChar* name_end, int** nums)
> -{
> -  NameEntry* e = name_find(reg, name, name_end);
> -
> -  if (IS_NULL(e)) return ONIGERR_UNDEFINED_NAME_REFERENCE;
> -
> -  switch (e->back_num) {
> -  case 0:
> -    break;
> -  case 1:
> -    *nums = &(e->back_ref1);
> -    break;
> -  default:
> -    *nums = e->back_refs;
> -    break;
> -  }
> -  return e->back_num;
> -}
> -
> -static int
> -name_to_group_numbers(ScanEnv* env, const UChar* name, const
> UChar* name_end,
> -                      int** nums)
> -{
> -  regex_t* reg;
> -  NameEntry* e;
> -
> -  reg = env->reg;
> -  e = name_find(reg, name, name_end);
> -
> -  if (IS_NULL(e)) {
> -    onig_scan_env_set_error_string(env,
> ONIGERR_UNDEFINED_NAME_REFERENCE,
> -                                   (UChar* )name, (UChar* )name_end);
> -    return ONIGERR_UNDEFINED_NAME_REFERENCE;
> -  }
> -
> -  switch (e->back_num) {
> -  case 0:
> -    break;
> -  case 1:
> -    *nums = &(e->back_ref1);
> -    break;
> -  default:
> -    *nums = e->back_refs;
> -    break;
> -  }
> -  return e->back_num;
> -}
> -
> -extern int
> -onig_name_to_backref_number(regex_t* reg, const UChar* name,
> -                            const UChar* name_end, OnigRegion *region)
> -{
> -  int i, n, *nums;
> -
> -  n = onig_name_to_group_numbers(reg, name, name_end, &nums);
> -  if (n < 0)
> -    return n;
> -  else if (n == 0)
> -    return ONIGERR_PARSER_BUG;
> -  else if (n == 1)
> -    return nums[0];
> -  else {
> -    if (IS_NOT_NULL(region)) {
> -      for (i = n - 1; i >= 0; i--) {
> -        if (region->beg[nums[i]] != ONIG_REGION_NOTPOS)
> -          return nums[i];
> -      }
> -    }
> -    return nums[n - 1];
> -  }
> -}
> -
> -extern int
> -onig_noname_group_capture_is_active(regex_t* reg)
> -{
> -  if (ONIG_IS_OPTION_ON(reg->options,
> ONIG_OPTION_DONT_CAPTURE_GROUP))
> -    return 0;
> -
> -  if (onig_number_of_names(reg) > 0 &&
> -      IS_SYNTAX_BV(reg->syntax,
> ONIG_SYN_CAPTURE_ONLY_NAMED_GROUP) &&
> -      !ONIG_IS_OPTION_ON(reg->options,
> ONIG_OPTION_CAPTURE_GROUP)) {
> -    return 0;
> -  }
> -
> -  return 1;
> -}
> -
> -#ifdef USE_CALLOUT
> -
> -typedef struct {
> -  OnigCalloutType type;
> -  int             in;
> -  OnigCalloutFunc start_func;
> -  OnigCalloutFunc end_func;
> -  int             arg_num;
> -  int             opt_arg_num;
> -  unsigned int    arg_types[ONIG_CALLOUT_MAX_ARGS_NUM];
> -  OnigValue       opt_defaults[ONIG_CALLOUT_MAX_ARGS_NUM];
> -  UChar*          name; /* reference to GlobalCalloutNameTable entry: e-
> >name */
> -} CalloutNameListEntry;
> -
> -typedef struct {
> -  int  n;
> -  int  alloc;
> -  CalloutNameListEntry* v;
> -} CalloutNameListType;
> -
> -static CalloutNameListType* GlobalCalloutNameList;
> -
> -static int
> -make_callout_func_list(CalloutNameListType** rs, int init_size)
> -{
> -  CalloutNameListType* s;
> -  CalloutNameListEntry* v;
> -
> -  *rs = 0;
> -
> -  s = xmalloc(sizeof(*s));
> -  if (IS_NULL(s)) return ONIGERR_MEMORY;
> -
> -  v = (CalloutNameListEntry* )xmalloc(sizeof(CalloutNameListEntry) *
> init_size);
> -  if (IS_NULL(v)) {
> -    xfree(s);
> -    return ONIGERR_MEMORY;
> -  }
> -
> -  s->n = 0;
> -  s->alloc = init_size;
> -  s->v = v;
> -
> -  *rs = s;
> -  return ONIG_NORMAL;
> -}
> -
> -static void
> -free_callout_func_list(CalloutNameListType* s)
> -{
> -  if (IS_NOT_NULL(s)) {
> -    if (IS_NOT_NULL(s->v)) {
> -      int i, j;
> -
> -      for (i = 0; i < s->n; i++) {
> -        CalloutNameListEntry* e = s->v + i;
> -        for (j = e->arg_num - e->opt_arg_num; j < e->arg_num; j++) {
> -          if (e->arg_types[j] == ONIG_TYPE_STRING) {
> -            UChar* p = e->opt_defaults[j].s.start;
> -            if (IS_NOT_NULL(p)) xfree(p);
> -          }
> -        }
> -      }
> -      xfree(s->v);
> -    }
> -    xfree(s);
> -  }
> -}
> -
> -static int
> -callout_func_list_add(CalloutNameListType* s, int* rid)
> -{
> -  if (s->n >= s->alloc) {
> -    int new_size = s->alloc * 2;
> -    CalloutNameListEntry* nv = (CalloutNameListEntry* )
> -      xrealloc(s->v, sizeof(CalloutNameListEntry) * new_size,
> sizeof(CalloutNameListEntry)*s->alloc);
> -    if (IS_NULL(nv)) return ONIGERR_MEMORY;
> -
> -    s->alloc = new_size;
> -    s->v = nv;
> -  }
> -
> -  *rid = s->n;
> -
> -  xmemset(&(s->v[s->n]), 0, sizeof(*(s->v)));
> -  s->n++;
> -  return ONIG_NORMAL;
> -}
> -
> -
> -typedef struct {
> -  UChar* name;
> -  int    name_len;   /* byte length */
> -  int    id;
> -} CalloutNameEntry;
> -
> -#ifdef USE_ST_LIBRARY
> -typedef st_table  CalloutNameTable;
> -#else
> -typedef struct {
> -  CalloutNameEntry* e;
> -  int               num;
> -  int               alloc;
> -} CalloutNameTable;
> -#endif
> -
> -static CalloutNameTable* GlobalCalloutNameTable;
> -static int CalloutNameIDCounter;
> -
> -#ifdef USE_ST_LIBRARY
> -
> -static int
> -i_free_callout_name_entry(st_callout_name_key* key, CalloutNameEntry*
> e,
> -                          void* arg ARG_UNUSED)
> -{
> -  xfree(e->name);
> -  /*xfree(key->s); */ /* is same as e->name */
> -  xfree(key);
> -  xfree(e);
> -  return ST_DELETE;
> -}
> -
> -static int
> -callout_name_table_clear(CalloutNameTable* t)
> -{
> -  if (IS_NOT_NULL(t)) {
> -    onig_st_foreach(t, i_free_callout_name_entry, 0);
> -  }
> -  return 0;
> -}
> -
> -static int
> -global_callout_name_table_free(void)
> -{
> -  if (IS_NOT_NULL(GlobalCalloutNameTable)) {
> -    int r = callout_name_table_clear(GlobalCalloutNameTable);
> -    if (r != 0) return r;
> -
> -    onig_st_free_table(GlobalCalloutNameTable);
> -    GlobalCalloutNameTable = 0;
> -    CalloutNameIDCounter = 0;
> -  }
> -
> -  return 0;
> -}
> -
> -static CalloutNameEntry*
> -callout_name_find(OnigEncoding enc, int is_not_single,
> -                  const UChar* name, const UChar* name_end)
> -{
> -  int r;
> -  CalloutNameEntry* e;
> -  CalloutNameTable* t = GlobalCalloutNameTable;
> -
> -  e = (CalloutNameEntry* )NULL;
> -  if (IS_NOT_NULL(t)) {
> -    r = onig_st_lookup_callout_name_table(t, enc, is_not_single, name,
> name_end,
> -                                          (HashDataType* )((void* )(&e)));
> -    if (r == 0) { /* not found */
> -      if (enc != ONIG_ENCODING_ASCII &&
> -          ONIGENC_IS_ASCII_COMPATIBLE_ENCODING(enc)) {
> -        enc = ONIG_ENCODING_ASCII;
> -        onig_st_lookup_callout_name_table(t, enc, is_not_single, name,
> name_end,
> -                                          (HashDataType* )((void* )(&e)));
> -      }
> -    }
> -  }
> -  return e;
> -}
> -
> -#else
> -
> -static int
> -callout_name_table_clear(CalloutNameTable* t)
> -{
> -  int i;
> -  CalloutNameEntry* e;
> -
> -  if (IS_NOT_NULL(t)) {
> -    for (i = 0; i < t->num; i++) {
> -      e = &(t->e[i]);
> -      if (IS_NOT_NULL(e->name)) {
> -        xfree(e->name);
> -        e->name     = NULL;
> -        e->name_len = 0;
> -        e->id       = 0;
> -        e->func     = 0;
> -      }
> -    }
> -    if (IS_NOT_NULL(t->e)) {
> -      xfree(t->e);
> -      t->e = NULL;
> -    }
> -    t->num = 0;
> -  }
> -  return 0;
> -}
> -
> -static int
> -global_callout_name_table_free(void)
> -{
> -  if (IS_NOT_NULL(GlobalCalloutNameTable)) {
> -    int r = callout_name_table_clear(GlobalCalloutNameTable);
> -    if (r != 0) return r;
> -
> -    xfree(GlobalCalloutNameTable);
> -    GlobalCalloutNameTable = 0;
> -    CalloutNameIDCounter = 0;
> -  }
> -  return 0;
> -}
> -
> -static CalloutNameEntry*
> -callout_name_find(UChar* name, UChar* name_end)
> -{
> -  int i, len;
> -  CalloutNameEntry* e;
> -  CalloutNameTable* t = Calloutnames;
> -
> -  if (IS_NOT_NULL(t)) {
> -    len = name_end - name;
> -    for (i = 0; i < t->num; i++) {
> -      e = &(t->e[i]);
> -      if (len == e->name_len && onig_strncmp(name, e->name, len) == 0)
> -        return e;
> -    }
> -  }
> -  return (CalloutNameEntry* )NULL;
> -}
> -
> -#endif
> -
> -/* name string must be single byte char string. */
> -static int
> -callout_name_entry(CalloutNameEntry** rentry, OnigEncoding enc,
> -                   int is_not_single, UChar* name, UChar* name_end)
> -{
> -  int r;
> -  CalloutNameEntry* e;
> -  CalloutNameTable* t = GlobalCalloutNameTable;
> -
> -  *rentry = 0;
> -  if (name_end - name <= 0)
> -    return ONIGERR_INVALID_CALLOUT_NAME;
> -
> -  e = callout_name_find(enc, is_not_single, name, name_end);
> -  if (IS_NULL(e)) {
> -#ifdef USE_ST_LIBRARY
> -    if (IS_NULL(t)) {
> -      t =
> onig_st_init_callout_name_table_with_size(INIT_NAMES_ALLOC_NUM);
> -      CHECK_NULL_RETURN_MEMERR(t);
> -      GlobalCalloutNameTable = t;
> -    }
> -    e = (CalloutNameEntry* )xmalloc(sizeof(CalloutNameEntry));
> -    CHECK_NULL_RETURN_MEMERR(e);
> -
> -    e->name = onigenc_strdup(enc, name, name_end);
> -    if (IS_NULL(e->name)) {
> -      xfree(e);  return ONIGERR_MEMORY;
> -    }
> -
> -    r = st_insert_callout_name_table(t, enc, is_not_single,
> -                                     e->name, (e->name + (name_end - name)),
> -                                     (HashDataType )e);
> -    if (r < 0) return r;
> -
> -#else
> -
> -    int alloc;
> -
> -    if (IS_NULL(t)) {
> -      alloc = INIT_NAMES_ALLOC_NUM;
> -      t = (CalloutNameTable* )xmalloc(sizeof(CalloutNameTable));
> -      CHECK_NULL_RETURN_MEMERR(t);
> -      t->e     = NULL;
> -      t->alloc = 0;
> -      t->num   = 0;
> -
> -      t->e = (CalloutNameEntry* )xmalloc(sizeof(CalloutNameEntry) * alloc);
> -      if (IS_NULL(t->e)) {
> -        xfree(t);
> -        return ONIGERR_MEMORY;
> -      }
> -      t->alloc = alloc;
> -      GlobalCalloutNameTable = t;
> -      goto clear;
> -    }
> -    else if (t->num == t->alloc) {
> -      int i;
> -
> -      alloc = t->alloc * 2;
> -      t->e = (CalloutNameEntry* )xrealloc(t->e, sizeof(CalloutNameEntry) *
> alloc, sizeof(CalloutNameEntry)*t->alloc);
> -      CHECK_NULL_RETURN_MEMERR(t->e);
> -      t->alloc = alloc;
> -
> -    clear:
> -      for (i = t->num; i < t->alloc; i++) {
> -        t->e[i].name       = NULL;
> -        t->e[i].name_len   = 0;
> -        t->e[i].id         = 0;
> -      }
> -    }
> -    e = &(t->e[t->num]);
> -    t->num++;
> -    e->name = onigenc_strdup(enc, name, name_end);
> -    if (IS_NULL(e->name)) return ONIGERR_MEMORY;
> -#endif
> -
> -    CalloutNameIDCounter++;
> -    e->id = CalloutNameIDCounter;
> -    e->name_len = (int )(name_end - name);
> -  }
> -
> -  *rentry = e;
> -  return e->id;
> -}
> -
> -static int
> -is_allowed_callout_name(OnigEncoding enc, UChar* name, UChar*
> name_end)
> -{
> -  UChar* p;
> -  OnigCodePoint c;
> -
> -  if (name >= name_end) return 0;
> -
> -  p = name;
> -  while (p < name_end) {
> -    c = ONIGENC_MBC_TO_CODE(enc, p, name_end);
> -    if (! IS_ALLOWED_CODE_IN_CALLOUT_NAME(c))
> -      return 0;
> -
> -    if (p == name) {
> -      if (c >= '0' && c <= '9') return 0;
> -    }
> -
> -    p += ONIGENC_MBC_ENC_LEN(enc, p);
> -  }
> -
> -  return 1;
> -}
> -
> -static int
> -is_allowed_callout_tag_name(OnigEncoding enc, UChar* name, UChar*
> name_end)
> -{
> -  UChar* p;
> -  OnigCodePoint c;
> -
> -  if (name >= name_end) return 0;
> -
> -  p = name;
> -  while (p < name_end) {
> -    c = ONIGENC_MBC_TO_CODE(enc, p, name_end);
> -    if (! IS_ALLOWED_CODE_IN_CALLOUT_TAG_NAME(c))
> -      return 0;
> -
> -    if (p == name) {
> -      if (c >= '0' && c <= '9') return 0;
> -    }
> -
> -    p += ONIGENC_MBC_ENC_LEN(enc, p);
> -  }
> -
> -  return 1;
> -}
> -
> -extern int
> -onig_set_callout_of_name(OnigEncoding enc, OnigCalloutType callout_type,
> -                         UChar* name, UChar* name_end, int in,
> -                         OnigCalloutFunc start_func,
> -                         OnigCalloutFunc end_func,
> -                         int arg_num, unsigned int arg_types[],
> -                         int opt_arg_num, OnigValue opt_defaults[])
> -{
> -  int r;
> -  int i;
> -  int j;
> -  int id;
> -  int is_not_single;
> -  CalloutNameEntry* e;
> -  CalloutNameListEntry* fe;
> -
> -  if (callout_type != ONIG_CALLOUT_TYPE_SINGLE)
> -    return ONIGERR_INVALID_ARGUMENT;
> -
> -  if (arg_num < 0 || arg_num > ONIG_CALLOUT_MAX_ARGS_NUM)
> -    return ONIGERR_INVALID_CALLOUT_ARG;
> -
> -  if (opt_arg_num < 0 || opt_arg_num > arg_num)
> -    return ONIGERR_INVALID_CALLOUT_ARG;
> -
> -  if (start_func == 0 && end_func == 0)
> -    return ONIGERR_INVALID_CALLOUT_ARG;
> -
> -  if ((in & ONIG_CALLOUT_IN_PROGRESS) == 0 && (in &
> ONIG_CALLOUT_IN_RETRACTION) == 0)
> -    return ONIGERR_INVALID_CALLOUT_ARG;
> -
> -  for (i = 0; i < arg_num; i++) {
> -    unsigned int t = arg_types[i];
> -    if (t == ONIG_TYPE_VOID)
> -      return ONIGERR_INVALID_CALLOUT_ARG;
> -    else {
> -      if (i >= arg_num - opt_arg_num) {
> -        if (t != ONIG_TYPE_LONG && t != ONIG_TYPE_CHAR && t !=
> ONIG_TYPE_STRING &&
> -            t != ONIG_TYPE_TAG)
> -          return ONIGERR_INVALID_CALLOUT_ARG;
> -      }
> -      else {
> -        if (t != ONIG_TYPE_LONG) {
> -          t = t & ~ONIG_TYPE_LONG;
> -          if (t != ONIG_TYPE_CHAR && t != ONIG_TYPE_STRING && t !=
> ONIG_TYPE_TAG)
> -            return ONIGERR_INVALID_CALLOUT_ARG;
> -        }
> -      }
> -    }
> -  }
> -
> -  if (! is_allowed_callout_name(enc, name, name_end)) {
> -    return ONIGERR_INVALID_CALLOUT_NAME;
> -  }
> -
> -  is_not_single = (callout_type != ONIG_CALLOUT_TYPE_SINGLE);
> -  id = callout_name_entry(&e, enc, is_not_single, name, name_end);
> -  if (id < 0) return id;
> -
> -  r = ONIG_NORMAL;
> -  if (IS_NULL(GlobalCalloutNameList)) {
> -    r = make_callout_func_list(&GlobalCalloutNameList, 10);
> -    if (r != ONIG_NORMAL) return r;
> -  }
> -
> -  while (id >= GlobalCalloutNameList->n) {
> -    int rid;
> -    r = callout_func_list_add(GlobalCalloutNameList, &rid);
> -    if (r != ONIG_NORMAL) return r;
> -  }
> -
> -  fe = GlobalCalloutNameList->v + id;
> -  fe->type         = callout_type;
> -  fe->in           = in;
> -  fe->start_func   = start_func;
> -  fe->end_func     = end_func;
> -  fe->arg_num      = arg_num;
> -  fe->opt_arg_num  = opt_arg_num;
> -  fe->name         = e->name;
> -
> -  for (i = 0; i < arg_num; i++) {
> -    fe->arg_types[i] = arg_types[i];
> -  }
> -  for (i = arg_num - opt_arg_num, j = 0; i < arg_num; i++, j++) {
> -    if(IS_NULL(opt_defaults))return ONIGERR_INVALID_ARGUMENT;
> -    if (fe->arg_types[i] == ONIG_TYPE_STRING) {
> -      OnigValue* val;
> -      UChar* ds;
> -
> -      if (IS_NULL(opt_defaults)) return ONIGERR_INVALID_ARGUMENT;
> -
> -      val = opt_defaults + j;
> -      ds = onigenc_strdup(enc, val->s.start, val->s.end);
> -      CHECK_NULL_RETURN_MEMERR(ds);
> -
> -      fe->opt_defaults[i].s.start = ds;
> -      fe->opt_defaults[i].s.end   = ds + (val->s.end - val->s.start);
> -    }
> -    else {
> -      fe->opt_defaults[i] = opt_defaults[j];
> -    }
> -  }
> -
> -  r = id;
> -  return r;
> -}
> -
> -static int
> -get_callout_name_id_by_name(OnigEncoding enc, int is_not_single,
> -                            UChar* name, UChar* name_end, int* rid)
> -{
> -  int r;
> -  CalloutNameEntry* e;
> -
> -  if (! is_allowed_callout_name(enc, name, name_end)) {
> -    return ONIGERR_INVALID_CALLOUT_NAME;
> -  }
> -
> -  e = callout_name_find(enc, is_not_single, name, name_end);
> -  if (IS_NULL(e)) {
> -    return ONIGERR_UNDEFINED_CALLOUT_NAME;
> -  }
> -
> -  r = ONIG_NORMAL;
> -  *rid = e->id;
> -
> -  return r;
> -}
> -
> -extern OnigCalloutFunc
> -onig_get_callout_start_func(regex_t* reg, int callout_num)
> -{
> -  /* If used for callouts of contents, return 0. */
> -  CalloutListEntry* e;
> -
> -  e = onig_reg_callout_list_at(reg, callout_num);
> -  CHECK_NULL_RETURN(e);
> -  return e->start_func;
> -}
> -
> -extern const UChar*
> -onig_get_callout_tag_start(regex_t* reg, int callout_num)
> -{
> -  CalloutListEntry* e = onig_reg_callout_list_at(reg, callout_num);
> -  CHECK_NULL_RETURN(e);
> -  return e->tag_start;
> -}
> -
> -extern const UChar*
> -onig_get_callout_tag_end(regex_t* reg, int callout_num)
> -{
> -  CalloutListEntry* e = onig_reg_callout_list_at(reg, callout_num);
> -  CHECK_NULL_RETURN(e);
> -  return e->tag_end;
> -}
> -
> -
> -extern OnigCalloutType
> -onig_get_callout_type_by_name_id(int name_id)
> -{
> -  if (name_id < 0 || name_id >= GlobalCalloutNameList->n)
> -    return 0;
> -
> -  return GlobalCalloutNameList->v[name_id].type;
> -}
> -
> -extern OnigCalloutFunc
> -onig_get_callout_start_func_by_name_id(int name_id)
> -{
> -  if (name_id < 0 || name_id >= GlobalCalloutNameList->n)
> -    return 0;
> -
> -  return GlobalCalloutNameList->v[name_id].start_func;
> -}
> -
> -extern OnigCalloutFunc
> -onig_get_callout_end_func_by_name_id(int name_id)
> -{
> -  if (name_id < 0 || name_id >= GlobalCalloutNameList->n)
> -    return 0;
> -
> -  return GlobalCalloutNameList->v[name_id].end_func;
> -}
> -
> -extern int
> -onig_get_callout_in_by_name_id(int name_id)
> -{
> -  if (name_id < 0 || name_id >= GlobalCalloutNameList->n)
> -    return 0;
> -
> -  return GlobalCalloutNameList->v[name_id].in;
> -}
> -
> -static int
> -get_callout_arg_num_by_name_id(int name_id)
> -{
> -  return GlobalCalloutNameList->v[name_id].arg_num;
> -}
> -
> -static int
> -get_callout_opt_arg_num_by_name_id(int name_id)
> -{
> -  return GlobalCalloutNameList->v[name_id].opt_arg_num;
> -}
> -
> -static unsigned int
> -get_callout_arg_type_by_name_id(int name_id, int index)
> -{
> -  return GlobalCalloutNameList->v[name_id].arg_types[index];
> -}
> -
> -static OnigValue
> -get_callout_opt_default_by_name_id(int name_id, int index)
> -{
> -  return GlobalCalloutNameList->v[name_id].opt_defaults[index];
> -}
> -
> -extern UChar*
> -onig_get_callout_name_by_name_id(int name_id)
> -{
> -  if (name_id < 0 || name_id >= GlobalCalloutNameList->n)
> -    return 0;
> -
> -  return GlobalCalloutNameList->v[name_id].name;
> -}
> -
> -extern int
> -onig_global_callout_names_free(void)
> -{
> -  free_callout_func_list(GlobalCalloutNameList);
> -  GlobalCalloutNameList = 0;
> -
> -  global_callout_name_table_free();
> -  return ONIG_NORMAL;
> -}
> -
> -
> -typedef st_table   CalloutTagTable;
> -typedef intptr_t   CalloutTagVal;
> -
> -#define CALLOUT_TAG_LIST_FLAG_TAG_EXIST     (1<<0)
> -
> -static int
> -i_callout_callout_list_set(UChar* key, CalloutTagVal e, void* arg)
> -{
> -  int num;
> -  RegexExt* ext = (RegexExt* )arg;
> -
> -  num = (int )e - 1;
> -  ext->callout_list[num].flag |= CALLOUT_TAG_LIST_FLAG_TAG_EXIST;
> -  return ST_CONTINUE;
> -}
> -
> -static int
> -setup_ext_callout_list_values(regex_t* reg)
> -{
> -  int i, j;
> -  RegexExt* ext;
> -
> -  ext = reg->extp;
> -  if (IS_NOT_NULL(ext->tag_table)) {
> -    onig_st_foreach((CalloutTagTable *)ext->tag_table,
> i_callout_callout_list_set,
> -                    (st_data_t )ext);
> -  }
> -
> -  for (i = 0; i < ext->callout_num; i++) {
> -    CalloutListEntry* e = ext->callout_list + i;
> -    if (e->of == ONIG_CALLOUT_OF_NAME) {
> -      for (j = 0; j < e->u.arg.num; j++) {
> -        if (e->u.arg.types[j] == ONIG_TYPE_TAG) {
> -          UChar* start;
> -          UChar* end;
> -          int num;
> -          start = e->u.arg.vals[j].s.start;
> -          end   = e->u.arg.vals[j].s.end;
> -          num = onig_get_callout_num_by_tag(reg, start, end);
> -          if (num < 0) return num;
> -          e->u.arg.vals[j].tag = num;
> -        }
> -      }
> -    }
> -  }
> -
> -  return ONIG_NORMAL;
> -}
> -
> -extern int
> -onig_callout_tag_is_exist_at_callout_num(regex_t* reg, int callout_num)
> -{
> -  RegexExt* ext = reg->extp;
> -
> -  if (IS_NULL(ext) || IS_NULL(ext->callout_list)) return 0;
> -  if (callout_num > ext->callout_num) return 0;
> -
> -  return (ext->callout_list[callout_num].flag &
> -          CALLOUT_TAG_LIST_FLAG_TAG_EXIST) != 0;
> -}
> -
> -static int
> -i_free_callout_tag_entry(UChar* key, CalloutTagVal e, void* arg
> ARG_UNUSED)
> -{
> -  xfree(key);
> -  return ST_DELETE;
> -}
> -
> -static int
> -callout_tag_table_clear(CalloutTagTable* t)
> -{
> -  if (IS_NOT_NULL(t)) {
> -    onig_st_foreach(t, i_free_callout_tag_entry, 0);
> -  }
> -  return 0;
> -}
> -
> -extern int
> -onig_callout_tag_table_free(void* table)
> -{
> -  CalloutTagTable* t = (CalloutTagTable* )table;
> -
> -  if (IS_NOT_NULL(t)) {
> -    int r = callout_tag_table_clear(t);
> -    if (r != 0) return r;
> -
> -    onig_st_free_table(t);
> -  }
> -
> -  return 0;
> -}
> -
> -extern int
> -onig_get_callout_num_by_tag(regex_t* reg,
> -                            const UChar* tag, const UChar* tag_end)
> -{
> -  int r;
> -  RegexExt* ext;
> -  CalloutTagVal e;
> -
> -  ext = reg->extp;
> -  if (IS_NULL(ext) || IS_NULL(ext->tag_table))
> -    return ONIGERR_INVALID_CALLOUT_TAG_NAME;
> -
> -  r = onig_st_lookup_strend(ext->tag_table, tag, tag_end,
> -                            (HashDataType* )((void* )(&e)));
> -  if (r == 0) return ONIGERR_INVALID_CALLOUT_TAG_NAME;
> -  return (int )e;
> -}
> -
> -static CalloutTagVal
> -callout_tag_find(CalloutTagTable* t, const UChar* name, const UChar*
> name_end)
> -{
> -  CalloutTagVal e;
> -
> -  e = -1;
> -  if (IS_NOT_NULL(t)) {
> -    onig_st_lookup_strend(t, name, name_end,
> (HashDataType* )((void* )(&e)));
> -  }
> -  return e;
> -}
> -
> -static int
> -callout_tag_table_new(CalloutTagTable** rt)
> -{
> -  CalloutTagTable* t;
> -
> -  *rt = 0;
> -  t = onig_st_init_strend_table_with_size(INIT_TAG_NAMES_ALLOC_NUM);
> -  CHECK_NULL_RETURN_MEMERR(t);
> -
> -  *rt = t;
> -  return ONIG_NORMAL;
> -}
> -
> -static int
> -callout_tag_entry_raw(ScanEnv* env, CalloutTagTable* t, UChar* name,
> -                      UChar* name_end, CalloutTagVal entry_val)
> -{
> -  int r;
> -  CalloutTagVal val;
> -
> -  if (name_end - name <= 0)
> -    return ONIGERR_INVALID_CALLOUT_TAG_NAME;
> -
> -  val = callout_tag_find(t, name, name_end);
> -  if (val >= 0) {
> -    onig_scan_env_set_error_string(env,
> ONIGERR_MULTIPLEX_DEFINED_NAME,
> -                                   name, name_end);
> -    return ONIGERR_MULTIPLEX_DEFINED_NAME;
> -  }
> -
> -  r = onig_st_insert_strend(t, name, name_end, (HashDataType )entry_val);
> -  if (r < 0) return r;
> -
> -  return ONIG_NORMAL;
> -}
> -
> -static int
> -ext_ensure_tag_table(regex_t* reg)
> -{
> -  int r;
> -  RegexExt* ext;
> -  CalloutTagTable* t;
> -
> -  ext = onig_get_regex_ext(reg);
> -  CHECK_NULL_RETURN_MEMERR(ext);
> -
> -  if (IS_NULL(ext->tag_table)) {
> -    r = callout_tag_table_new(&t);
> -    if (r != ONIG_NORMAL) return r;
> -
> -    ext->tag_table = t;
> -  }
> -
> -  return ONIG_NORMAL;
> -}
> -
> -static int
> -callout_tag_entry(ScanEnv* env, regex_t* reg, UChar* name, UChar*
> name_end,
> -                  CalloutTagVal entry_val)
> -{
> -  int r;
> -  RegexExt* ext;
> -  CalloutListEntry* e;
> -
> -  r = ext_ensure_tag_table(reg);
> -  if (r != ONIG_NORMAL) return r;
> -
> -  ext = onig_get_regex_ext(reg);
> -  CHECK_NULL_RETURN_MEMERR(ext);
> -  CHECK_NULL_RETURN_MEMERR(ext->tag_table);
> -  r = callout_tag_entry_raw(env, ext->tag_table, name, name_end,
> entry_val);
> -
> -  e = onig_reg_callout_list_at(reg, (int )entry_val);
> -  CHECK_NULL_RETURN_MEMERR(e);
> -  e->tag_start = name;
> -  e->tag_end   = name_end;
> -
> -  return r;
> -}
> -
> -#endif /* USE_CALLOUT */
> -
> -
> -#define INIT_SCANENV_MEMENV_ALLOC_SIZE   16
> -
> -static void
> -scan_env_clear(ScanEnv* env)
> -{
> -  MEM_STATUS_CLEAR(env->capture_history);
> -  MEM_STATUS_CLEAR(env->bt_mem_start);
> -  MEM_STATUS_CLEAR(env->bt_mem_end);
> -  MEM_STATUS_CLEAR(env->backrefed_mem);
> -  env->error      = (UChar* )NULL;
> -  env->error_end  = (UChar* )NULL;
> -  env->num_call   = 0;
> -
> -#ifdef USE_CALL
> -  env->unset_addr_list = NULL;
> -  env->has_call_zero   = 0;
> -#endif
> -
> -  env->num_mem    = 0;
> -  env->num_named  = 0;
> -  env->mem_alloc  = 0;
> -  env->mem_env_dynamic = (MemEnv* )NULL;
> -
> -  xmemset(env->mem_env_static, 0, sizeof(env->mem_env_static));
> -
> -  env->parse_depth         = 0;
> -  env->keep_num            = 0;
> -  env->save_num            = 0;
> -  env->save_alloc_num      = 0;
> -  env->saves               = 0;
> -}
> -
> -static int
> -scan_env_add_mem_entry(ScanEnv* env)
> -{
> -  int i, need, alloc;
> -  MemEnv* p;
> -
> -  need = env->num_mem + 1;
> -  if (need > MaxCaptureNum && MaxCaptureNum != 0)
> -    return ONIGERR_TOO_MANY_CAPTURES;
> -
> -  if (need >= SCANENV_MEMENV_SIZE) {
> -    if (env->mem_alloc <= need) {
> -      if (IS_NULL(env->mem_env_dynamic)) {
> -        alloc = INIT_SCANENV_MEMENV_ALLOC_SIZE;
> -        p = (MemEnv* )xmalloc(sizeof(MemEnv) * alloc);
> -        CHECK_NULL_RETURN_MEMERR(p);
> -        xmemcpy(p, env->mem_env_static, sizeof(env->mem_env_static));
> -      }
> -      else {
> -        alloc = env->mem_alloc * 2;
> -        p = (MemEnv* )xrealloc(env->mem_env_dynamic, sizeof(MemEnv) *
> alloc, sizeof(MemEnv)*env->mem_alloc);
> -        CHECK_NULL_RETURN_MEMERR(p);
> -      }
> -
> -      for (i = env->num_mem + 1; i < alloc; i++) {
> -        p[i].node = NULL_NODE;
> -#if 0
> -        p[i].in   = 0;
> -        p[i].recursion = 0;
> -#endif
> -      }
> -
> -      env->mem_env_dynamic = p;
> -      env->mem_alloc = alloc;
> -    }
> -  }
> -
> -  env->num_mem++;
> -  return env->num_mem;
> -}
> -
> -static int
> -scan_env_set_mem_node(ScanEnv* env, int num, Node* node)
> -{
> -  if (env->num_mem >= num)
> -    SCANENV_MEMENV(env)[num].node = node;
> -  else
> -    return ONIGERR_PARSER_BUG;
> -  return 0;
> -}
> -
> -extern void
> -onig_node_free(Node* node)
> -{
> - start:
> -  if (IS_NULL(node)) return ;
> -
> -#ifdef DEBUG_NODE_FREE
> -  fprintf(stderr, "onig_node_free: %p\n", node);
> -#endif
> -
> -  switch (NODE_TYPE(node)) {
> -  case NODE_STRING:
> -    if (STR_(node)->capacity != 0 &&
> -        IS_NOT_NULL(STR_(node)->s) && STR_(node)->s != STR_(node)->buf)
> {
> -      xfree(STR_(node)->s);
> -    }
> -    break;
> -
> -  case NODE_LIST:
> -  case NODE_ALT:
> -    onig_node_free(NODE_CAR(node));
> -    {
> -      Node* next_node = NODE_CDR(node);
> -
> -      xfree(node);
> -      node = next_node;
> -      goto start;
> -    }
> -    break;
> -
> -  case NODE_CCLASS:
> -    {
> -      CClassNode* cc = CCLASS_(node);
> -
> -      if (cc->mbuf)
> -        bbuf_free(cc->mbuf);
> -    }
> -    break;
> -
> -  case NODE_BACKREF:
> -    if (IS_NOT_NULL(BACKREF_(node)->back_dynamic))
> -      xfree(BACKREF_(node)->back_dynamic);
> -    break;
> -
> -  case NODE_BAG:
> -    if (NODE_BODY(node))
> -      onig_node_free(NODE_BODY(node));
> -
> -    {
> -      BagNode* en = BAG_(node);
> -      if (en->type == BAG_IF_ELSE) {
> -        onig_node_free(en->te.Then);
> -        onig_node_free(en->te.Else);
> -      }
> -    }
> -    break;
> -
> -  case NODE_QUANT:
> -  case NODE_ANCHOR:
> -    if (NODE_BODY(node))
> -      onig_node_free(NODE_BODY(node));
> -    break;
> -
> -  case NODE_CTYPE:
> -  case NODE_CALL:
> -  case NODE_GIMMICK:
> -    break;
> -  }
> -
> -  xfree(node);
> -}
> -
> -static void
> -cons_node_free_alone(Node* node)
> -{
> -  NODE_CAR(node) = 0;
> -  NODE_CDR(node) = 0;
> -  onig_node_free(node);
> -}
> -
> -static Node*
> -node_new(void)
> -{
> -  Node* node;
> -
> -  node = (Node* )xmalloc(sizeof(Node));
> -  CHECK_NULL_RETURN(node);
> -  xmemset(node, 0, sizeof(*node));
> -
> -#ifdef DEBUG_NODE_FREE
> -  fprintf(stderr, "node_new: %p\n", node);
> -#endif
> -  return node;
> -}
> -
> -
> -static void
> -initialize_cclass(CClassNode* cc)
> -{
> -  BITSET_CLEAR(cc->bs);
> -  cc->flags = 0;
> -  cc->mbuf  = NULL;
> -}
> -
> -static Node*
> -node_new_cclass(void)
> -{
> -  Node* node = node_new();
> -  CHECK_NULL_RETURN(node);
> -
> -  NODE_SET_TYPE(node, NODE_CCLASS);
> -  initialize_cclass(CCLASS_(node));
> -  return node;
> -}
> -
> -static Node*
> -node_new_ctype(int type, int not, OnigOptionType options)
> -{
> -  Node* node = node_new();
> -  CHECK_NULL_RETURN(node);
> -
> -  NODE_SET_TYPE(node, NODE_CTYPE);
> -  CTYPE_(node)->ctype   = type;
> -  CTYPE_(node)->not     = not;
> -  CTYPE_(node)->options = options;
> -  CTYPE_(node)->ascii_mode = IS_ASCII_MODE_CTYPE_OPTION(type,
> options);
> -  return node;
> -}
> -
> -static Node*
> -node_new_anychar(void)
> -{
> -  Node* node = node_new_ctype(CTYPE_ANYCHAR, 0,
> ONIG_OPTION_NONE);
> -  return node;
> -}
> -
> -static Node*
> -node_new_anychar_with_fixed_option(OnigOptionType option)
> -{
> -  CtypeNode* ct;
> -  Node* node;
> -
> -  node = node_new_anychar();
> -  CHECK_NULL_RETURN(node);
> -
> -  ct = CTYPE_(node);
> -  ct->options = option;
> -  NODE_STATUS_ADD(node, FIXED_OPTION);
> -  return node;
> -}
> -
> -static int
> -node_new_no_newline(Node** node, ScanEnv* env)
> -{
> -  Node* n;
> -
> -  n = node_new_anychar_with_fixed_option(ONIG_OPTION_NONE);
> -  CHECK_NULL_RETURN_MEMERR(n);
> -  *node = n;
> -  return 0;
> -}
> -
> -static int
> -node_new_true_anychar(Node** node, ScanEnv* env)
> -{
> -  Node* n;
> -
> -  n = node_new_anychar_with_fixed_option(ONIG_OPTION_MULTILINE);
> -  CHECK_NULL_RETURN_MEMERR(n);
> -  *node = n;
> -  return 0;
> -}
> -
> -static Node*
> -node_new_list(Node* left, Node* right)
> -{
> -  Node* node = node_new();
> -  CHECK_NULL_RETURN(node);
> -
> -  NODE_SET_TYPE(node, NODE_LIST);
> -  NODE_CAR(node)  = left;
> -  NODE_CDR(node) = right;
> -  return node;
> -}
> -
> -extern Node*
> -onig_node_new_list(Node* left, Node* right)
> -{
> -  return node_new_list(left, right);
> -}
> -
> -extern Node*
> -onig_node_list_add(Node* list, Node* x)
> -{
> -  Node *n;
> -
> -  n = onig_node_new_list(x, NULL);
> -  if (IS_NULL(n)) return NULL_NODE;
> -
> -  if (IS_NOT_NULL(list)) {
> -    while (IS_NOT_NULL(NODE_CDR(list)))
> -      list = NODE_CDR(list);
> -
> -    NODE_CDR(list) = n;
> -  }
> -
> -  return n;
> -}
> -
> -extern Node*
> -onig_node_new_alt(Node* left, Node* right)
> -{
> -  Node* node = node_new();
> -  CHECK_NULL_RETURN(node);
> -
> -  NODE_SET_TYPE(node, NODE_ALT);
> -  NODE_CAR(node)  = left;
> -  NODE_CDR(node) = right;
> -  return node;
> -}
> -
> -static Node*
> -make_list_or_alt(NodeType type, int n, Node* ns[])
> -{
> -  Node* r;
> -
> -  if (n <= 0) return NULL_NODE;
> -
> -  if (n == 1) {
> -    r = node_new();
> -    CHECK_NULL_RETURN(r);
> -    NODE_SET_TYPE(r, type);
> -    NODE_CAR(r) = ns[0];
> -    NODE_CDR(r) = NULL_NODE;
> -  }
> -  else {
> -    Node* right;
> -
> -    r = node_new();
> -    CHECK_NULL_RETURN(r);
> -
> -    right = make_list_or_alt(type, n - 1, ns + 1);
> -    if (IS_NULL(right)) {
> -      onig_node_free(r);
> -      return NULL_NODE;
> -    }
> -
> -    NODE_SET_TYPE(r, type);
> -    NODE_CAR(r) = ns[0];
> -    NODE_CDR(r) = right;
> -  }
> -
> -  return r;
> -}
> -
> -static Node*
> -make_list(int n, Node* ns[])
> -{
> -  return make_list_or_alt(NODE_LIST, n, ns);
> -}
> -
> -static Node*
> -make_alt(int n, Node* ns[])
> -{
> -  return make_list_or_alt(NODE_ALT, n, ns);
> -}
> -
> -extern Node*
> -onig_node_new_anchor(int type, int ascii_mode)
> -{
> -  Node* node = node_new();
> -  CHECK_NULL_RETURN(node);
> -
> -  NODE_SET_TYPE(node, NODE_ANCHOR);
> -  ANCHOR_(node)->type       = type;
> -  ANCHOR_(node)->char_len   = -1;
> -  ANCHOR_(node)->ascii_mode = ascii_mode;
> -  return node;
> -}
> -
> -static Node*
> -node_new_backref(int back_num, int* backrefs, int by_name,
> -#ifdef USE_BACKREF_WITH_LEVEL
> -                 int exist_level, int nest_level,
> -#endif
> -                 ScanEnv* env)
> -{
> -  int i;
> -  Node* node = node_new();
> -
> -  CHECK_NULL_RETURN(node);
> -
> -  NODE_SET_TYPE(node, NODE_BACKREF);
> -  BACKREF_(node)->back_num = back_num;
> -  BACKREF_(node)->back_dynamic = (int* )NULL;
> -  if (by_name != 0)
> -    NODE_STATUS_ADD(node, BY_NAME);
> -
> -#ifdef USE_BACKREF_WITH_LEVEL
> -  if (exist_level != 0) {
> -    NODE_STATUS_ADD(node, NEST_LEVEL);
> -    BACKREF_(node)->nest_level  = nest_level;
> -  }
> -#endif
> -
> -  for (i = 0; i < back_num; i++) {
> -    if (backrefs[i] <= env->num_mem &&
> -        IS_NULL(SCANENV_MEMENV(env)[backrefs[i]].node)) {
> -      NODE_STATUS_ADD(node, RECURSION);   /* /...(\1).../ */
> -      break;
> -    }
> -  }
> -
> -  if (back_num <= NODE_BACKREFS_SIZE) {
> -    for (i = 0; i < back_num; i++)
> -      BACKREF_(node)->back_static[i] = backrefs[i];
> -  }
> -  else {
> -    int* p = (int* )xmalloc(sizeof(int) * back_num);
> -    if (IS_NULL(p)) {
> -      onig_node_free(node);
> -      return NULL;
> -    }
> -    BACKREF_(node)->back_dynamic = p;
> -    for (i = 0; i < back_num; i++)
> -      p[i] = backrefs[i];
> -  }
> -  return node;
> -}
> -
> -static Node*
> -node_new_backref_checker(int back_num, int* backrefs, int by_name,
> -#ifdef USE_BACKREF_WITH_LEVEL
> -                         int exist_level, int nest_level,
> -#endif
> -                         ScanEnv* env)
> -{
> -  Node* node;
> -
> -  node = node_new_backref(back_num, backrefs, by_name,
> -#ifdef USE_BACKREF_WITH_LEVEL
> -                          exist_level, nest_level,
> -#endif
> -                          env);
> -  CHECK_NULL_RETURN(node);
> -
> -  NODE_STATUS_ADD(node, CHECKER);
> -  return node;
> -}
> -
> -#ifdef USE_CALL
> -static Node*
> -node_new_call(UChar* name, UChar* name_end, int gnum, int by_number)
> -{
> -  Node* node = node_new();
> -  CHECK_NULL_RETURN(node);
> -
> -  NODE_SET_TYPE(node, NODE_CALL);
> -  CALL_(node)->by_number   = by_number;
> -  CALL_(node)->name        = name;
> -  CALL_(node)->name_end    = name_end;
> -  CALL_(node)->group_num   = gnum;
> -  CALL_(node)->entry_count = 1;
> -  return node;
> -}
> -#endif
> -
> -static Node*
> -node_new_quantifier(int lower, int upper, int by_number)
> -{
> -  Node* node = node_new();
> -  CHECK_NULL_RETURN(node);
> -
> -  NODE_SET_TYPE(node, NODE_QUANT);
> -  QUANT_(node)->lower           = lower;
> -  QUANT_(node)->upper           = upper;
> -  QUANT_(node)->greedy          = 1;
> -  QUANT_(node)->emptiness       = BODY_IS_NOT_EMPTY;
> -  QUANT_(node)->head_exact      = NULL_NODE;
> -  QUANT_(node)->next_head_exact = NULL_NODE;
> -  QUANT_(node)->is_refered      = 0;
> -  if (by_number != 0)
> -    NODE_STATUS_ADD(node, BY_NUMBER);
> -
> -  return node;
> -}
> -
> -static Node*
> -node_new_bag(enum BagType type)
> -{
> -  Node* node = node_new();
> -  CHECK_NULL_RETURN(node);
> -
> -  NODE_SET_TYPE(node, NODE_BAG);
> -  BAG_(node)->type = type;
> -
> -  switch (type) {
> -  case BAG_MEMORY:
> -    BAG_(node)->m.regnum       =  0;
> -    BAG_(node)->m.called_addr  = -1;
> -    BAG_(node)->m.entry_count  =  1;
> -    BAG_(node)->m.called_state =  0;
> -    break;
> -
> -  case BAG_OPTION:
> -    BAG_(node)->o.options =  0;
> -    break;
> -
> -  case BAG_STOP_BACKTRACK:
> -    break;
> -
> -  case BAG_IF_ELSE:
> -    BAG_(node)->te.Then = 0;
> -    BAG_(node)->te.Else = 0;
> -    break;
> -  }
> -
> -  BAG_(node)->opt_count = 0;
> -  return node;
> -}
> -
> -extern Node*
> -onig_node_new_bag(enum BagType type)
> -{
> -  return node_new_bag(type);
> -}
> -
> -static Node*
> -node_new_bag_if_else(Node* cond, Node* Then, Node* Else)
> -{
> -  Node* n;
> -  n = node_new_bag(BAG_IF_ELSE);
> -  CHECK_NULL_RETURN(n);
> -
> -  NODE_BODY(n) = cond;
> -  BAG_(n)->te.Then = Then;
> -  BAG_(n)->te.Else = Else;
> -  return n;
> -}
> -
> -static Node*
> -node_new_memory(int is_named)
> -{
> -  Node* node = node_new_bag(BAG_MEMORY);
> -  CHECK_NULL_RETURN(node);
> -  if (is_named != 0)
> -    NODE_STATUS_ADD(node, NAMED_GROUP);
> -
> -  return node;
> -}
> -
> -static Node*
> -node_new_option(OnigOptionType option)
> -{
> -  Node* node = node_new_bag(BAG_OPTION);
> -  CHECK_NULL_RETURN(node);
> -  BAG_(node)->o.options = option;
> -  return node;
> -}
> -
> -static Node*
> -node_new_group(Node* content)
> -{
> -  Node* node;
> -
> -  node = node_new();
> -  CHECK_NULL_RETURN(node);
> -  NODE_SET_TYPE(node, NODE_LIST);
> -  NODE_CAR(node) = content;
> -  NODE_CDR(node) = NULL_NODE;
> -
> -  return node;
> -}
> -
> -static Node*
> -node_drop_group(Node* group)
> -{
> -  Node* content;
> -
> -  content = NODE_CAR(group);
> -  NODE_CAR(group) = NULL_NODE;
> -  onig_node_free(group);
> -  return content;
> -}
> -
> -static int
> -node_new_fail(Node** node, ScanEnv* env)
> -{
> -  *node = node_new();
> -  CHECK_NULL_RETURN_MEMERR(*node);
> -
> -  NODE_SET_TYPE(*node, NODE_GIMMICK);
> -  GIMMICK_(*node)->type = GIMMICK_FAIL;
> -  return ONIG_NORMAL;
> -}
> -
> -static int
> -node_new_save_gimmick(Node** node, enum SaveType save_type,
> ScanEnv* env)
> -{
> -  int id;
> -  int r;
> -
> -  r = save_entry(env, save_type, &id);
> -  if (r != ONIG_NORMAL) return r;
> -
> -  *node = node_new();
> -  CHECK_NULL_RETURN_MEMERR(*node);
> -
> -  NODE_SET_TYPE(*node, NODE_GIMMICK);
> -  GIMMICK_(*node)->id   = id;
> -  GIMMICK_(*node)->type = GIMMICK_SAVE;
> -  GIMMICK_(*node)->detail_type = (int )save_type;
> -
> -  return ONIG_NORMAL;
> -}
> -
> -static int
> -node_new_update_var_gimmick(Node** node, enum UpdateVarType
> update_var_type,
> -                            int id, ScanEnv* env)
> -{
> -  *node = node_new();
> -  CHECK_NULL_RETURN_MEMERR(*node);
> -
> -  NODE_SET_TYPE(*node, NODE_GIMMICK);
> -  GIMMICK_(*node)->id   = id;
> -  GIMMICK_(*node)->type = GIMMICK_UPDATE_VAR;
> -  GIMMICK_(*node)->detail_type = (int )update_var_type;
> -
> -  return ONIG_NORMAL;
> -}
> -
> -static int
> -node_new_keep(Node** node, ScanEnv* env)
> -{
> -  int r;
> -
> -  r = node_new_save_gimmick(node, SAVE_KEEP, env);
> -  if (r != 0) return r;
> -
> -  env->keep_num++;
> -  return ONIG_NORMAL;
> -}
> -
> -#ifdef USE_CALLOUT
> -
> -extern void
> -onig_free_reg_callout_list(int n, CalloutListEntry* list)
> -{
> -  int i;
> -  int j;
> -
> -  if (IS_NULL(list)) return ;
> -
> -  for (i = 0; i < n; i++) {
> -    if (list[i].of == ONIG_CALLOUT_OF_NAME) {
> -      for (j = 0; j < list[i].u.arg.passed_num; j++) {
> -        if (list[i].u.arg.types[j] == ONIG_TYPE_STRING) {
> -          if (IS_NOT_NULL(list[i].u.arg.vals[j].s.start))
> -            xfree(list[i].u.arg.vals[j].s.start);
> -        }
> -      }
> -    }
> -    else { /* ONIG_CALLOUT_OF_CONTENTS */
> -      if (IS_NOT_NULL(list[i].u.content.start)) {
> -        xfree((void* )list[i].u.content.start);
> -      }
> -    }
> -  }
> -
> -  xfree(list);
> -}
> -
> -extern CalloutListEntry*
> -onig_reg_callout_list_at(regex_t* reg, int num)
> -{
> -  RegexExt* ext = reg->extp;
> -  CHECK_NULL_RETURN(ext);
> -
> -  if (num <= 0 || num > ext->callout_num)
> -    return 0;
> -
> -  num--;
> -  return ext->callout_list + num;
> -}
> -
> -static int
> -reg_callout_list_entry(ScanEnv* env, int* rnum)
> -{
> -#define INIT_CALLOUT_LIST_NUM  3
> -
> -  int num;
> -  CalloutListEntry* list;
> -  CalloutListEntry* e;
> -  RegexExt* ext;
> -
> -  ext = onig_get_regex_ext(env->reg);
> -  CHECK_NULL_RETURN_MEMERR(ext);
> -
> -  if (IS_NULL(ext->callout_list)) {
> -    list = (CalloutListEntry* )xmalloc(sizeof(*list) * INIT_CALLOUT_LIST_NUM);
> -    CHECK_NULL_RETURN_MEMERR(list);
> -
> -    ext->callout_list = list;
> -    ext->callout_list_alloc = INIT_CALLOUT_LIST_NUM;
> -    ext->callout_num = 0;
> -  }
> -
> -  num = ext->callout_num + 1;
> -  if (num > ext->callout_list_alloc) {
> -    int alloc = ext->callout_list_alloc * 2;
> -    list = (CalloutListEntry* )xrealloc(ext->callout_list,
> -                                        sizeof(CalloutListEntry) * alloc,
> -
> 	sizeof(CalloutListEntry) * ext->callout_list_alloc);
> -    CHECK_NULL_RETURN_MEMERR(list);
> -
> -    ext->callout_list       = list;
> -    ext->callout_list_alloc = alloc;
> -  }
> -
> -  e = ext->callout_list + (num - 1);
> -
> -  e->flag             = 0;
> -  e->of               = 0;
> -  e->in               = ONIG_CALLOUT_OF_CONTENTS;
> -  e->type             = 0;
> -  e->tag_start        = 0;
> -  e->tag_end          = 0;
> -  e->start_func       = 0;
> -  e->end_func         = 0;
> -  e->u.arg.num        = 0;
> -  e->u.arg.passed_num = 0;
> -
> -  ext->callout_num = num;
> -  *rnum = num;
> -  return ONIG_NORMAL;
> -}
> -
> -static int
> -node_new_callout(Node** node, OnigCalloutOf callout_of, int num, int id,
> -                 ScanEnv* env)
> -{
> -  *node = node_new();
> -  CHECK_NULL_RETURN_MEMERR(*node);
> -
> -  NODE_SET_TYPE(*node, NODE_GIMMICK);
> -  GIMMICK_(*node)->id          = id;
> -  GIMMICK_(*node)->num         = num;
> -  GIMMICK_(*node)->type        = GIMMICK_CALLOUT;
> -  GIMMICK_(*node)->detail_type = (int )callout_of;
> -
> -  return ONIG_NORMAL;
> -}
> -#endif
> -
> -static int
> -make_text_segment(Node** node, ScanEnv* env)
> -{
> -  int r;
> -  int i;
> -  Node* x;
> -  Node* ns[2];
> -
> -  /* \X == (?>\O(?:\Y\O)*) */
> -
> -  ns[1] = NULL_NODE;
> -
> -  r = ONIGERR_MEMORY;
> -  ns[0] = onig_node_new_anchor(ANCR_NO_TEXT_SEGMENT_BOUNDARY,
> 0);
> -  if (IS_NULL(ns[0])) goto err;
> -
> -  r = node_new_true_anychar(&ns[1], env);
> -  if (r != 0) goto err1;
> -
> -  x = make_list(2, ns);
> -  if (IS_NULL(x)) goto err;
> -  ns[0] = x;
> -  ns[1] = NULL_NODE;
> -
> -  x = node_new_quantifier(0, INFINITE_REPEAT, 1);
> -  if (IS_NULL(x)) goto err;
> -
> -  NODE_BODY(x) = ns[0];
> -  ns[0] = NULL_NODE;
> -  ns[1] = x;
> -
> -  r = node_new_true_anychar(&ns[0], env);
> -  if (r != 0) goto err1;
> -
> -  x = make_list(2, ns);
> -  if (IS_NULL(x)) goto err;
> -
> -  ns[0] = x;
> -  ns[1] = NULL_NODE;
> -
> -  x = node_new_bag(BAG_STOP_BACKTRACK);
> -  if (IS_NULL(x)) goto err;
> -
> -  NODE_BODY(x) = ns[0];
> -
> -  *node = x;
> -  return ONIG_NORMAL;
> -
> - err:
> -  r = ONIGERR_MEMORY;
> - err1:
> -  for (i = 0; i < 2; i++) onig_node_free(ns[i]);
> -  return r;
> -}
> -
> -static int
> -make_absent_engine(Node** node, int pre_save_right_id, Node* absent,
> -                   Node* step_one, int lower, int upper, int possessive,
> -                   int is_range_cutter, ScanEnv* env)
> -{
> -  int r;
> -  int i;
> -  int id;
> -  Node* x;
> -  Node* ns[4];
> -
> -  for (i = 0; i < 4; i++) ns[i] = NULL_NODE;
> -
> -  ns[1] = absent;
> -  ns[3] = step_one; /* for err */
> -  r = node_new_save_gimmick(&ns[0], SAVE_S, env);
> -  if (r != 0) goto err;
> -
> -  id = GIMMICK_(ns[0])->id;
> -  r = node_new_update_var_gimmick(&ns[2],
> UPDATE_VAR_RIGHT_RANGE_FROM_S_STACK,
> -                                  id, env);
> -  if (r != 0) goto err;
> -
> -  r = node_new_fail(&ns[3], env);
> -  if (r != 0) goto err;
> -
> -  x = make_list(4, ns);
> -  if (IS_NULL(x)) goto err0;
> -
> -  ns[0] = x;
> -  ns[1] = step_one;
> -  ns[2] = ns[3] = NULL_NODE;
> -
> -  x = make_alt(2, ns);
> -  if (IS_NULL(x)) goto err0;
> -
> -  ns[0] = x;
> -
> -  x = node_new_quantifier(lower, upper, 0);
> -  if (IS_NULL(x)) goto err0;
> -
> -  NODE_BODY(x) = ns[0];
> -  ns[0] = x;
> -
> -  if (possessive != 0) {
> -    x = node_new_bag(BAG_STOP_BACKTRACK);
> -    if (IS_NULL(x)) goto err0;
> -
> -    NODE_BODY(x) = ns[0];
> -    ns[0] = x;
> -  }
> -
> -  r = node_new_update_var_gimmick(&ns[1],
> UPDATE_VAR_RIGHT_RANGE_FROM_STACK,
> -                                  pre_save_right_id, env);
> -  if (r != 0) goto err;
> -
> -  r = node_new_fail(&ns[2], env);
> -  if (r != 0) goto err;
> -
> -  x = make_list(2, ns + 1);
> -  if (IS_NULL(x)) goto err0;
> -
> -  ns[1] = x; ns[2] = NULL_NODE;
> -
> -  x = make_alt(2, ns);
> -  if (IS_NULL(x)) goto err0;
> -
> -  if (is_range_cutter != 0)
> -    NODE_STATUS_ADD(x, SUPER);
> -
> -  *node = x;
> -  return ONIG_NORMAL;
> -
> - err0:
> -  r = ONIGERR_MEMORY;
> - err:
> -  for (i = 0; i < 4; i++) onig_node_free(ns[i]);
> -  return r;
> -}
> -
> -static int
> -make_absent_tail(Node** node1, Node** node2, int pre_save_right_id,
> -                 ScanEnv* env)
> -{
> -  int r;
> -  int id;
> -  Node* save;
> -  Node* x;
> -  Node* ns[2];
> -
> -  *node1 = *node2 = NULL_NODE;
> -  save = ns[0] = ns[1] = NULL_NODE;
> -
> -  r = node_new_save_gimmick(&save, SAVE_RIGHT_RANGE, env);
> -  if (r != 0) goto err;
> -
> -  id = GIMMICK_(save)->id;
> -  r = node_new_update_var_gimmick(&ns[0],
> UPDATE_VAR_RIGHT_RANGE_FROM_STACK,
> -                                  id, env);
> -  if (r != 0) goto err;
> -
> -  r = node_new_fail(&ns[1], env);
> -  if (r != 0) goto err;
> -
> -  x = make_list(2, ns);
> -  if (IS_NULL(x)) goto err0;
> -
> -  ns[0] = NULL_NODE; ns[1] = x;
> -
> -  r = node_new_update_var_gimmick(&ns[0],
> UPDATE_VAR_RIGHT_RANGE_FROM_STACK,
> -                                  pre_save_right_id, env);
> -  if (r != 0) goto err;
> -
> -  x = make_alt(2, ns);
> -  if (IS_NULL(x)) goto err0;
> -
> -  *node1 = save;
> -  *node2 = x;
> -  return ONIG_NORMAL;
> -
> - err0:
> -  r = ONIGERR_MEMORY;
> - err:
> -  onig_node_free(save);
> -  onig_node_free(ns[0]);
> -  onig_node_free(ns[1]);
> -  return r;
> -}
> -
> -static int
> -make_range_clear(Node** node, ScanEnv* env)
> -{
> -  int r;
> -  int id;
> -  Node* save;
> -  Node* x;
> -  Node* ns[2];
> -
> -  *node = NULL_NODE;
> -  save = ns[0] = ns[1] = NULL_NODE;
> -
> -  r = node_new_save_gimmick(&save, SAVE_RIGHT_RANGE, env);
> -  if (r != 0) goto err;
> -
> -  id = GIMMICK_(save)->id;
> -  r = node_new_update_var_gimmick(&ns[0],
> UPDATE_VAR_RIGHT_RANGE_FROM_STACK,
> -                                  id, env);
> -  if (r != 0) goto err;
> -
> -  r = node_new_fail(&ns[1], env);
> -  if (r != 0) goto err;
> -
> -  x = make_list(2, ns);
> -  if (IS_NULL(x)) goto err0;
> -
> -  ns[0] = NULL_NODE; ns[1] = x;
> -
> -  r = node_new_update_var_gimmick(&ns[0],
> UPDATE_VAR_RIGHT_RANGE_INIT, 0, env);
> -  if (r != 0) goto err;
> -
> -  x = make_alt(2, ns);
> -  if (IS_NULL(x)) goto err0;
> -
> -  NODE_STATUS_ADD(x, SUPER);
> -
> -  ns[0] = save;
> -  ns[1] = x;
> -  save = NULL_NODE;
> -  x = make_list(2, ns);
> -  if (IS_NULL(x)) goto err0;
> -
> -  *node = x;
> -  return ONIG_NORMAL;
> -
> - err0:
> -  r = ONIGERR_MEMORY;
> - err:
> -  onig_node_free(save);
> -  onig_node_free(ns[0]);
> -  onig_node_free(ns[1]);
> -  return r;
> -}
> -
> -static int
> -is_simple_one_char_repeat(Node* node, Node** rquant, Node** rbody,
> -                          int* is_possessive, ScanEnv* env)
> -{
> -  Node* quant;
> -  Node* body;
> -
> -  *rquant = *rbody = 0;
> -  *is_possessive = 0;
> -
> -  if (NODE_TYPE(node) == NODE_QUANT) {
> -    quant = node;
> -  }
> -  else {
> -    if (NODE_TYPE(node) == NODE_BAG) {
> -      BagNode* en = BAG_(node);
> -      if (en->type == BAG_STOP_BACKTRACK) {
> -        *is_possessive = 1;
> -        quant = NODE_BAG_BODY(en);
> -        if (NODE_TYPE(quant) != NODE_QUANT)
> -          return 0;
> -      }
> -      else
> -        return 0;
> -    }
> -    else
> -      return 0;
> -  }
> -
> -  if (QUANT_(quant)->greedy == 0)
> -    return 0;
> -
> -  body = NODE_BODY(quant);
> -  switch (NODE_TYPE(body)) {
> -  case NODE_STRING:
> -    {
> -      int len;
> -      StrNode* sn = STR_(body);
> -      UChar *s = sn->s;
> -
> -      len = 0;
> -      while (s < sn->end) {
> -        s += enclen(env->enc, s);
> -        len++;
> -      }
> -      if (len != 1)
> -        return 0;
> -    }
> -
> -  case NODE_CCLASS:
> -    break;
> -
> -  default:
> -    return 0;
> -    break;
> -  }
> -
> -  if (node != quant) {
> -    NODE_BODY(node) = 0;
> -    onig_node_free(node);
> -  }
> -  NODE_BODY(quant) = NULL_NODE;
> -  *rquant = quant;
> -  *rbody  = body;
> -  return 1;
> -}
> -
> -static int
> -make_absent_tree_for_simple_one_char_repeat(Node** node, Node*
> absent, Node* quant,
> -                                            Node* body, int possessive, ScanEnv* env)
> -{
> -  int r;
> -  int i;
> -  int id1;
> -  int lower, upper;
> -  Node* x;
> -  Node* ns[4];
> -
> -  *node = NULL_NODE;
> -  r = ONIGERR_MEMORY;
> -  ns[0] = ns[1] = NULL_NODE;
> -  ns[2] = body, ns[3] = absent;
> -
> -  lower = QUANT_(quant)->lower;
> -  upper = QUANT_(quant)->upper;
> -  onig_node_free(quant);
> -
> -  r = node_new_save_gimmick(&ns[0], SAVE_RIGHT_RANGE, env);
> -  if (r != 0) goto err;
> -
> -  id1 = GIMMICK_(ns[0])->id;
> -
> -  r = make_absent_engine(&ns[1], id1, absent, body, lower, upper,
> possessive,
> -                         0, env);
> -  if (r != 0) goto err;
> -
> -  ns[2] = ns[3] = NULL_NODE;
> -
> -  r = node_new_update_var_gimmick(&ns[2],
> UPDATE_VAR_RIGHT_RANGE_FROM_STACK,
> -                                  id1, env);
> -  if (r != 0) goto err;
> -
> -  x = make_list(3, ns);
> -  if (IS_NULL(x)) goto err0;
> -
> -  *node = x;
> -  return ONIG_NORMAL;
> -
> - err0:
> -  r = ONIGERR_MEMORY;
> - err:
> -  for (i = 0; i < 4; i++) onig_node_free(ns[i]);
> -  return r;
> -}
> -
> -static int
> -make_absent_tree(Node** node, Node* absent, Node* expr, int
> is_range_cutter,
> -                 ScanEnv* env)
> -{
> -  int r;
> -  int i;
> -  int id1, id2;
> -  int possessive;
> -  Node* x;
> -  Node* ns[7];
> -
> -  r = ONIGERR_MEMORY;
> -  for (i = 0; i < 7; i++) ns[i] = NULL_NODE;
> -  ns[4] = expr; ns[5] = absent;
> -
> -  if (is_range_cutter == 0) {
> -    Node* quant;
> -    Node* body;
> -
> -    if (expr == NULL_NODE) {
> -      /* default expr \O* */
> -      quant = node_new_quantifier(0, INFINITE_REPEAT, 0);
> -      if (IS_NULL(quant)) goto err0;
> -
> -      r = node_new_true_anychar(&body, env);
> -      if (r != 0) {
> -        onig_node_free(quant);
> -        goto err;
> -      }
> -      possessive = 0;
> -      goto simple;
> -    }
> -    else {
> -      if (is_simple_one_char_repeat(expr, &quant, &body, &possessive, env))
> {
> -      simple:
> -        r = make_absent_tree_for_simple_one_char_repeat(node, absent,
> quant,
> -                                                        body, possessive, env);
> -        if (r != 0) {
> -          ns[4] = NULL_NODE;
> -          onig_node_free(quant);
> -          onig_node_free(body);
> -          goto err;
> -        }
> -
> -        return ONIG_NORMAL;
> -      }
> -    }
> -  }
> -
> -  r = node_new_save_gimmick(&ns[0], SAVE_RIGHT_RANGE, env);
> -  if (r != 0) goto err;
> -
> -  id1 = GIMMICK_(ns[0])->id;
> -
> -  r = node_new_save_gimmick(&ns[1], SAVE_S, env);
> -  if (r != 0) goto err;
> -
> -  id2 = GIMMICK_(ns[1])->id;
> -
> -  r = node_new_true_anychar(&ns[3], env);
> -  if (r != 0) goto err;
> -
> -  possessive = 1;
> -  r = make_absent_engine(&ns[2], id1, absent, ns[3], 0, INFINITE_REPEAT,
> -                         possessive, is_range_cutter, env);
> -  if (r != 0) goto err;
> -
> -  ns[3] = NULL_NODE;
> -  ns[5] = NULL_NODE;
> -
> -  r = node_new_update_var_gimmick(&ns[3],
> UPDATE_VAR_S_FROM_STACK, id2, env);
> -  if (r != 0) goto err;
> -
> -  if (is_range_cutter != 0) {
> -    x = make_list(4, ns);
> -    if (IS_NULL(x)) goto err0;
> -  }
> -  else {
> -    r = make_absent_tail(&ns[5], &ns[6], id1, env);
> -    if (r != 0) goto err;
> -
> -    x = make_list(7, ns);
> -    if (IS_NULL(x)) goto err0;
> -  }
> -
> -  *node = x;
> -  return ONIG_NORMAL;
> -
> - err0:
> -  r = ONIGERR_MEMORY;
> - err:
> -  for (i = 0; i < 7; i++) onig_node_free(ns[i]);
> -  return r;
> -}
> -
> -extern int
> -onig_node_str_cat(Node* node, const UChar* s, const UChar* end)
> -{
> -  int addlen = (int )(end - s);
> -
> -  if (addlen > 0) {
> -    int len  = (int )(STR_(node)->end - STR_(node)->s);
> -
> -    if (STR_(node)->capacity > 0 || (len + addlen > NODE_STRING_BUF_SIZE -
> 1)) {
> -      UChar* p;
> -      int capa = len + addlen + NODE_STRING_MARGIN;
> -
> -      if (capa <= STR_(node)->capacity) {
> -        onig_strcpy(STR_(node)->s + len, s, end);
> -      }
> -      else {
> -        if (STR_(node)->s == STR_(node)->buf)
> -          p = strcat_capa_from_static(STR_(node)->s, STR_(node)->end,
> -                                      s, end, capa);
> -        else
> -          p = strcat_capa(STR_(node)->s, STR_(node)->end, s, end, capa,
> STR_(node)->capacity);
> -
> -        CHECK_NULL_RETURN_MEMERR(p);
> -        STR_(node)->s        = p;
> -        STR_(node)->capacity = capa;
> -      }
> -    }
> -    else {
> -      onig_strcpy(STR_(node)->s + len, s, end);
> -    }
> -    STR_(node)->end = STR_(node)->s + len + addlen;
> -  }
> -
> -  return 0;
> -}
> -
> -extern int
> -onig_node_str_set(Node* node, const UChar* s, const UChar* end)
> -{
> -  onig_node_str_clear(node);
> -  return onig_node_str_cat(node, s, end);
> -}
> -
> -static int
> -node_str_cat_char(Node* node, UChar c)
> -{
> -  UChar s[1];
> -
> -  s[0] = c;
> -  return onig_node_str_cat(node, s, s + 1);
> -}
> -
> -extern void
> -onig_node_conv_to_str_node(Node* node, int flag)
> -{
> -  NODE_SET_TYPE(node, NODE_STRING);
> -  STR_(node)->flag     = flag;
> -  STR_(node)->capacity = 0;
> -  STR_(node)->s        = STR_(node)->buf;
> -  STR_(node)->end      = STR_(node)->buf;
> -}
> -
> -extern void
> -onig_node_str_clear(Node* node)
> -{
> -  if (STR_(node)->capacity != 0 &&
> -      IS_NOT_NULL(STR_(node)->s) && STR_(node)->s != STR_(node)->buf) {
> -    xfree(STR_(node)->s);
> -  }
> -
> -  STR_(node)->capacity = 0;
> -  STR_(node)->flag     = 0;
> -  STR_(node)->s        = STR_(node)->buf;
> -  STR_(node)->end      = STR_(node)->buf;
> -}
> -
> -static Node*
> -node_new_str(const UChar* s, const UChar* end)
> -{
> -  Node* node = node_new();
> -  CHECK_NULL_RETURN(node);
> -
> -  NODE_SET_TYPE(node, NODE_STRING);
> -  STR_(node)->capacity = 0;
> -  STR_(node)->flag     = 0;
> -  STR_(node)->s        = STR_(node)->buf;
> -  STR_(node)->end      = STR_(node)->buf;
> -  if (onig_node_str_cat(node, s, end)) {
> -    onig_node_free(node);
> -    return NULL;
> -  }
> -  return node;
> -}
> -
> -extern Node*
> -onig_node_new_str(const UChar* s, const UChar* end)
> -{
> -  return node_new_str(s, end);
> -}
> -
> -static Node*
> -node_new_str_raw(UChar* s, UChar* end)
> -{
> -  Node* node = node_new_str(s, end);
> -  CHECK_NULL_RETURN(node);
> -  NODE_STRING_SET_RAW(node);
> -  return node;
> -}
> -
> -static Node*
> -node_new_empty(void)
> -{
> -  return node_new_str(NULL, NULL);
> -}
> -
> -static Node*
> -node_new_str_raw_char(UChar c)
> -{
> -  int i;
> -  UChar p[1];
> -  Node* node;
> -
> -  p[0] = c;
> -  node = node_new_str_raw(p, p + 1);
> -  CHECK_NULL_RETURN(node);
> -
> -  /* clear buf tail */
> -  for (i = 1; i < NODE_STRING_BUF_SIZE; i++)
> -    STR_(node)->buf[i] = '\0';
> -
> -  return node;
> -}
> -
> -static Node*
> -str_node_split_last_char(Node* node, OnigEncoding enc)
> -{
> -  const UChar *p;
> -  Node* rn;
> -  StrNode* sn;
> -
> -  sn = STR_(node);
> -  rn = NULL_NODE;
> -  if (sn->end > sn->s) {
> -    p = onigenc_get_prev_char_head(enc, sn->s, sn->end);
> -    if (p && p > sn->s) { /* can be split. */
> -      rn = node_new_str(p, sn->end);
> -      CHECK_NULL_RETURN(rn);
> -      if (NODE_STRING_IS_RAW(node))
> -        NODE_STRING_SET_RAW(rn);
> -
> -      sn->end = (UChar* )p;
> -    }
> -  }
> -  return rn;
> -}
> -
> -static int
> -str_node_can_be_split(Node* node, OnigEncoding enc)
> -{
> -  StrNode* sn = STR_(node);
> -  if (sn->end > sn->s) {
> -    return ((enclen(enc, sn->s) < sn->end - sn->s)  ?  1 : 0);
> -  }
> -  return 0;
> -}
> -
> -extern int
> -onig_scan_unsigned_number(UChar** src, const UChar* end,
> OnigEncoding enc)
> -{
> -  unsigned int num, val;
> -  OnigCodePoint c;
> -  UChar* p = *src;
> -  PFETCH_READY;
> -
> -  num = 0;
> -  while (! PEND) {
> -    PFETCH(c);
> -    if (IS_CODE_DIGIT_ASCII(enc, c)) {
> -      val = (unsigned int )DIGITVAL(c);
> -      if ((INT_MAX_LIMIT - val) / 10UL < num)
> -        return -1;  /* overflow */
> -
> -      num = num * 10 + val;
> -    }
> -    else {
> -      PUNFETCH;
> -      break;
> -    }
> -  }
> -  *src = p;
> -  return num;
> -}
> -
> -static int
> -scan_unsigned_hexadecimal_number(UChar** src, UChar* end, int minlen,
> -                                 int maxlen, OnigEncoding enc)
> -{
> -  OnigCodePoint c;
> -  unsigned int num, val;
> -  int n;
> -  UChar* p = *src;
> -  PFETCH_READY;
> -
> -  num = 0;
> -  n = 0;
> -  while (! PEND && n < maxlen) {
> -    PFETCH(c);
> -    if (IS_CODE_XDIGIT_ASCII(enc, c)) {
> -      n++;
> -      val = (unsigned int )XDIGITVAL(enc,c);
> -      if ((INT_MAX_LIMIT - val) / 16UL < num)
> -        return ONIGERR_TOO_BIG_NUMBER; /* overflow */
> -
> -      num = (num << 4) + XDIGITVAL(enc,c);
> -    }
> -    else {
> -      PUNFETCH;
> -      break;
> -    }
> -  }
> -
> -  if (n < minlen)
> -    return ONIGERR_INVALID_CODE_POINT_VALUE;
> -
> -  *src = p;
> -  return num;
> -}
> -
> -static int
> -scan_unsigned_octal_number(UChar** src, UChar* end, int maxlen,
> -                           OnigEncoding enc)
> -{
> -  OnigCodePoint c;
> -  unsigned int num, val;
> -  UChar* p = *src;
> -  PFETCH_READY;
> -
> -  num = 0;
> -  while (! PEND && maxlen-- != 0) {
> -    PFETCH(c);
> -    if (IS_CODE_DIGIT_ASCII(enc, c) && c < '8') {
> -      val = ODIGITVAL(c);
> -      if ((INT_MAX_LIMIT - val) / 8UL < num)
> -        return -1;  /* overflow */
> -
> -      num = (num << 3) + val;
> -    }
> -    else {
> -      PUNFETCH;
> -      break;
> -    }
> -  }
> -  *src = p;
> -  return num;
> -}
> -
> -
> -#define BB_WRITE_CODE_POINT(bbuf,pos,code) \
> -    BB_WRITE(bbuf, pos, &(code), SIZE_CODE_POINT)
> -
> -/* data format:
> -     [n][from-1][to-1][from-2][to-2] ... [from-n][to-n]
> -     (all data size is OnigCodePoint)
> - */
> -static int
> -new_code_range(BBuf** pbuf)
> -{
> -#define INIT_MULTI_BYTE_RANGE_SIZE  (SIZE_CODE_POINT * 5)
> -  int r;
> -  OnigCodePoint n;
> -  BBuf* bbuf;
> -
> -  bbuf = *pbuf = (BBuf* )xmalloc(sizeof(BBuf));
> -  CHECK_NULL_RETURN_MEMERR(bbuf);
> -  r = BB_INIT(bbuf, INIT_MULTI_BYTE_RANGE_SIZE);
> -  if (r != 0) {
> -    xfree(bbuf);
> -    *pbuf = 0;
> -    return r;
> -  }
> -
> -  n = 0;
> -  BB_WRITE_CODE_POINT(bbuf, 0, n);
> -  return 0;
> -}
> -
> -static int
> -add_code_range_to_buf(BBuf** pbuf, OnigCodePoint from,
> OnigCodePoint to)
> -{
> -  int r, inc_n, pos;
> -  int low, high, bound, x;
> -  OnigCodePoint n, *data;
> -  BBuf* bbuf;
> -
> -  if (from > to) {
> -    n = from; from = to; to = n;
> -  }
> -
> -  if (IS_NULL(*pbuf)) {
> -    r = new_code_range(pbuf);
> -    if (r != 0) return r;
> -    bbuf = *pbuf;
> -    n = 0;
> -  }
> -  else {
> -    bbuf = *pbuf;
> -    GET_CODE_POINT(n, bbuf->p);
> -  }
> -  data = (OnigCodePoint* )(bbuf->p);
> -  data++;
> -
> -  for (low = 0, bound = n; low < bound; ) {
> -    x = (low + bound) >> 1;
> -    if (from > data[x*2 + 1])
> -      low = x + 1;
> -    else
> -      bound = x;
> -  }
> -
> -  high = (to == ~((OnigCodePoint )0)) ? n : low;
> -  for (bound = n; high < bound; ) {
> -    x = (high + bound) >> 1;
> -    if (to + 1 >= data[x*2])
> -      high = x + 1;
> -    else
> -      bound = x;
> -  }
> -
> -  inc_n = low + 1 - high;
> -  if (n + inc_n > ONIG_MAX_MULTI_BYTE_RANGES_NUM)
> -    return ONIGERR_TOO_MANY_MULTI_BYTE_RANGES;
> -
> -  if (inc_n != 1) {
> -    if (from > data[low*2])
> -      from = data[low*2];
> -    if (to < data[(high - 1)*2 + 1])
> -      to = data[(high - 1)*2 + 1];
> -  }
> -
> -  if (inc_n != 0 && (OnigCodePoint )high < n) {
> -    int from_pos = SIZE_CODE_POINT * (1 + high * 2);
> -    int to_pos   = SIZE_CODE_POINT * (1 + (low + 1) * 2);
> -    int size = (n - high) * 2 * SIZE_CODE_POINT;
> -
> -    if (inc_n > 0) {
> -      BB_MOVE_RIGHT(bbuf, from_pos, to_pos, size);
> -    }
> -    else {
> -      BB_MOVE_LEFT_REDUCE(bbuf, from_pos, to_pos);
> -    }
> -  }
> -
> -  pos = SIZE_CODE_POINT * (1 + low * 2);
> -  BB_ENSURE_SIZE(bbuf, pos + SIZE_CODE_POINT * 2);
> -  BB_WRITE_CODE_POINT(bbuf, pos, from);
> -  BB_WRITE_CODE_POINT(bbuf, pos + SIZE_CODE_POINT, to);
> -  n += inc_n;
> -  BB_WRITE_CODE_POINT(bbuf, 0, n);
> -
> -  return 0;
> -}
> -
> -static int
> -add_code_range(BBuf** pbuf, ScanEnv* env, OnigCodePoint from,
> OnigCodePoint to)
> -{
> -  if (from > to) {
> -    if (IS_SYNTAX_BV(env->syntax,
> ONIG_SYN_ALLOW_EMPTY_RANGE_IN_CC))
> -      return 0;
> -    else
> -      return ONIGERR_EMPTY_RANGE_IN_CHAR_CLASS;
> -  }
> -
> -  return add_code_range_to_buf(pbuf, from, to);
> -}
> -
> -static int
> -not_code_range_buf(OnigEncoding enc, BBuf* bbuf, BBuf** pbuf)
> -{
> -  int r, i, n;
> -  OnigCodePoint pre, from, *data, to = 0;
> -
> -  *pbuf = (BBuf* )NULL;
> -  if (IS_NULL(bbuf)) {
> -  set_all:
> -    return SET_ALL_MULTI_BYTE_RANGE(enc, pbuf);
> -  }
> -
> -  data = (OnigCodePoint* )(bbuf->p);
> -  GET_CODE_POINT(n, data);
> -  data++;
> -  if (n <= 0) goto set_all;
> -
> -  r = 0;
> -  pre = MBCODE_START_POS(enc);
> -  for (i = 0; i < n; i++) {
> -    from = data[i*2];
> -    to   = data[i*2+1];
> -    if (pre <= from - 1) {
> -      r = add_code_range_to_buf(pbuf, pre, from - 1);
> -      if (r != 0) return r;
> -    }
> -    if (to == ~((OnigCodePoint )0)) break;
> -    pre = to + 1;
> -  }
> -  if (to < ~((OnigCodePoint )0)) {
> -    r = add_code_range_to_buf(pbuf, to + 1, ~((OnigCodePoint )0));
> -  }
> -  return r;
> -}
> -
> -#define SWAP_BB_NOT(bbuf1, not1, bbuf2, not2) do {\
> -  BBuf *tbuf; \
> -  int  tnot; \
> -  tnot = not1;  not1  = not2;  not2  = tnot; \
> -  tbuf = bbuf1; bbuf1 = bbuf2; bbuf2 = tbuf; \
> -} while (0)
> -
> -static int
> -or_code_range_buf(OnigEncoding enc, BBuf* bbuf1, int not1,
> -                  BBuf* bbuf2, int not2, BBuf** pbuf)
> -{
> -  int r;
> -  OnigCodePoint i, n1, *data1;
> -  OnigCodePoint from, to;
> -
> -  *pbuf = (BBuf* )NULL;
> -  if (IS_NULL(bbuf1) && IS_NULL(bbuf2)) {
> -    if (not1 != 0 || not2 != 0)
> -      return SET_ALL_MULTI_BYTE_RANGE(enc, pbuf);
> -    return 0;
> -  }
> -
> -  r = 0;
> -  if (IS_NULL(bbuf2))
> -    SWAP_BB_NOT(bbuf1, not1, bbuf2, not2);
> -
> -  if (IS_NULL(bbuf1)) {
> -    if (not1 != 0) {
> -      return SET_ALL_MULTI_BYTE_RANGE(enc, pbuf);
> -    }
> -    else {
> -      if (not2 == 0) {
> -        return bbuf_clone(pbuf, bbuf2);
> -      }
> -      else {
> -        return not_code_range_buf(enc, bbuf2, pbuf);
> -      }
> -    }
> -  }
> -
> -  if (not1 != 0)
> -    SWAP_BB_NOT(bbuf1, not1, bbuf2, not2);
> -
> -  data1 = (OnigCodePoint* )(bbuf1->p);
> -  GET_CODE_POINT(n1, data1);
> -  data1++;
> -
> -  if (not2 == 0 && not1 == 0) { /* 1 OR 2 */
> -    r = bbuf_clone(pbuf, bbuf2);
> -  }
> -  else if (not1 == 0) { /* 1 OR (not 2) */
> -    r = not_code_range_buf(enc, bbuf2, pbuf);
> -  }
> -  if (r != 0) return r;
> -
> -  for (i = 0; i < n1; i++) {
> -    from = data1[i*2];
> -    to   = data1[i*2+1];
> -    r = add_code_range_to_buf(pbuf, from, to);
> -    if (r != 0) return r;
> -  }
> -  return 0;
> -}
> -
> -static int
> -and_code_range1(BBuf** pbuf, OnigCodePoint from1, OnigCodePoint to1,
> -                OnigCodePoint* data, int n)
> -{
> -  int i, r;
> -  OnigCodePoint from2, to2;
> -
> -  for (i = 0; i < n; i++) {
> -    from2 = data[i*2];
> -    to2   = data[i*2+1];
> -    if (from2 < from1) {
> -      if (to2 < from1) continue;
> -      else {
> -        from1 = to2 + 1;
> -      }
> -    }
> -    else if (from2 <= to1) {
> -      if (to2 < to1) {
> -        if (from1 <= from2 - 1) {
> -          r = add_code_range_to_buf(pbuf, from1, from2-1);
> -          if (r != 0) return r;
> -        }
> -        from1 = to2 + 1;
> -      }
> -      else {
> -        to1 = from2 - 1;
> -      }
> -    }
> -    else {
> -      from1 = from2;
> -    }
> -    if (from1 > to1) break;
> -  }
> -  if (from1 <= to1) {
> -    r = add_code_range_to_buf(pbuf, from1, to1);
> -    if (r != 0) return r;
> -  }
> -  return 0;
> -}
> -
> -static int
> -and_code_range_buf(BBuf* bbuf1, int not1, BBuf* bbuf2, int not2, BBuf**
> pbuf)
> -{
> -  int r;
> -  OnigCodePoint i, j, n1, n2, *data1, *data2;
> -  OnigCodePoint from, to, from1, to1, from2, to2;
> -
> -  *pbuf = (BBuf* )NULL;
> -  if (IS_NULL(bbuf1)) {
> -    if (not1 != 0 && IS_NOT_NULL(bbuf2)) /* not1 != 0 -> not2 == 0 */
> -      return bbuf_clone(pbuf, bbuf2);
> -    return 0;
> -  }
> -  else if (IS_NULL(bbuf2)) {
> -    if (not2 != 0)
> -      return bbuf_clone(pbuf, bbuf1);
> -    return 0;
> -  }
> -
> -  if (not1 != 0)
> -    SWAP_BB_NOT(bbuf1, not1, bbuf2, not2);
> -
> -  data1 = (OnigCodePoint* )(bbuf1->p);
> -  data2 = (OnigCodePoint* )(bbuf2->p);
> -  GET_CODE_POINT(n1, data1);
> -  GET_CODE_POINT(n2, data2);
> -  data1++;
> -  data2++;
> -
> -  if (not2 == 0 && not1 == 0) { /* 1 AND 2 */
> -    for (i = 0; i < n1; i++) {
> -      from1 = data1[i*2];
> -      to1   = data1[i*2+1];
> -      for (j = 0; j < n2; j++) {
> -        from2 = data2[j*2];
> -        to2   = data2[j*2+1];
> -        if (from2 > to1) break;
> -        if (to2 < from1) continue;
> -        from = MAX(from1, from2);
> -        to   = MIN(to1, to2);
> -        r = add_code_range_to_buf(pbuf, from, to);
> -        if (r != 0) return r;
> -      }
> -    }
> -  }
> -  else if (not1 == 0) { /* 1 AND (not 2) */
> -    for (i = 0; i < n1; i++) {
> -      from1 = data1[i*2];
> -      to1   = data1[i*2+1];
> -      r = and_code_range1(pbuf, from1, to1, data2, n2);
> -      if (r != 0) return r;
> -    }
> -  }
> -
> -  return 0;
> -}
> -
> -static int
> -and_cclass(CClassNode* dest, CClassNode* cc, OnigEncoding enc)
> -{
> -  int r, not1, not2;
> -  BBuf *buf1, *buf2, *pbuf;
> -  BitSetRef bsr1, bsr2;
> -  BitSet bs1, bs2;
> -
> -  not1 = IS_NCCLASS_NOT(dest);
> -  bsr1 = dest->bs;
> -  buf1 = dest->mbuf;
> -  not2 = IS_NCCLASS_NOT(cc);
> -  bsr2 = cc->bs;
> -  buf2 = cc->mbuf;
> -
> -  if (not1 != 0) {
> -    bitset_invert_to(bsr1, bs1);
> -    bsr1 = bs1;
> -  }
> -  if (not2 != 0) {
> -    bitset_invert_to(bsr2, bs2);
> -    bsr2 = bs2;
> -  }
> -  bitset_and(bsr1, bsr2);
> -  if (bsr1 != dest->bs) {
> -    bitset_copy(dest->bs, bsr1);
> -  }
> -  if (not1 != 0) {
> -    bitset_invert(dest->bs);
> -  }
> -
> -  if (! ONIGENC_IS_SINGLEBYTE(enc)) {
> -    if (not1 != 0 && not2 != 0) {
> -      r = or_code_range_buf(enc, buf1, 0, buf2, 0, &pbuf);
> -    }
> -    else {
> -      r = and_code_range_buf(buf1, not1, buf2, not2, &pbuf);
> -      if (r == 0 && not1 != 0) {
> -        BBuf *tbuf;
> -        r = not_code_range_buf(enc, pbuf, &tbuf);
> -        if (r != 0) {
> -          bbuf_free(pbuf);
> -          return r;
> -        }
> -        bbuf_free(pbuf);
> -        pbuf = tbuf;
> -      }
> -    }
> -    if (r != 0) return r;
> -
> -    dest->mbuf = pbuf;
> -    bbuf_free(buf1);
> -    return r;
> -  }
> -  return 0;
> -}
> -
> -static int
> -or_cclass(CClassNode* dest, CClassNode* cc, OnigEncoding enc)
> -{
> -  int r, not1, not2;
> -  BBuf *buf1, *buf2, *pbuf;
> -  BitSetRef bsr1, bsr2;
> -  BitSet bs1, bs2;
> -
> -  not1 = IS_NCCLASS_NOT(dest);
> -  bsr1 = dest->bs;
> -  buf1 = dest->mbuf;
> -  not2 = IS_NCCLASS_NOT(cc);
> -  bsr2 = cc->bs;
> -  buf2 = cc->mbuf;
> -
> -  if (not1 != 0) {
> -    bitset_invert_to(bsr1, bs1);
> -    bsr1 = bs1;
> -  }
> -  if (not2 != 0) {
> -    bitset_invert_to(bsr2, bs2);
> -    bsr2 = bs2;
> -  }
> -  bitset_or(bsr1, bsr2);
> -  if (bsr1 != dest->bs) {
> -    bitset_copy(dest->bs, bsr1);
> -  }
> -  if (not1 != 0) {
> -    bitset_invert(dest->bs);
> -  }
> -
> -  if (! ONIGENC_IS_SINGLEBYTE(enc)) {
> -    if (not1 != 0 && not2 != 0) {
> -      r = and_code_range_buf(buf1, 0, buf2, 0, &pbuf);
> -    }
> -    else {
> -      r = or_code_range_buf(enc, buf1, not1, buf2, not2, &pbuf);
> -      if (r == 0 && not1 != 0) {
> -        BBuf *tbuf;
> -        r = not_code_range_buf(enc, pbuf, &tbuf);
> -        if (r != 0) {
> -          bbuf_free(pbuf);
> -          return r;
> -        }
> -        bbuf_free(pbuf);
> -        pbuf = tbuf;
> -      }
> -    }
> -    if (r != 0) return r;
> -
> -    dest->mbuf = pbuf;
> -    bbuf_free(buf1);
> -    return r;
> -  }
> -  else
> -    return 0;
> -}
> -
> -static OnigCodePoint
> -conv_backslash_value(OnigCodePoint c, ScanEnv* env)
> -{
> -  if (IS_SYNTAX_OP(env->syntax, ONIG_SYN_OP_ESC_CONTROL_CHARS)) {
> -    switch (c) {
> -    case 'n': return '\n';
> -    case 't': return '\t';
> -    case 'r': return '\r';
> -    case 'f': return '\f';
> -    case 'a': return '\007';
> -    case 'b': return '\010';
> -    case 'e': return '\033';
> -    case 'v':
> -      if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_ESC_V_VTAB))
> -        return '\v';
> -      break;
> -
> -    default:
> -      break;
> -    }
> -  }
> -  return c;
> -}
> -
> -static int
> -is_invalid_quantifier_target(Node* node)
> -{
> -  switch (NODE_TYPE(node)) {
> -  case NODE_ANCHOR:
> -  case NODE_GIMMICK:
> -    return 1;
> -    break;
> -
> -  case NODE_BAG:
> -    /* allow enclosed elements */
> -    /* return is_invalid_quantifier_target(NODE_BODY(node)); */
> -    break;
> -
> -  case NODE_LIST:
> -    do {
> -      if (! is_invalid_quantifier_target(NODE_CAR(node))) return 0;
> -    } while (IS_NOT_NULL(node = NODE_CDR(node)));
> -    return 0;
> -    break;
> -
> -  case NODE_ALT:
> -    do {
> -      if (is_invalid_quantifier_target(NODE_CAR(node))) return 1;
> -    } while (IS_NOT_NULL(node = NODE_CDR(node)));
> -    break;
> -
> -  default:
> -    break;
> -  }
> -  return 0;
> -}
> -
> -/* ?:0, *:1, +:2, ??:3, *?:4, +?:5 */
> -static int
> -quantifier_type_num(QuantNode* q)
> -{
> -  if (q->greedy) {
> -    if (q->lower == 0) {
> -      if (q->upper == 1) return 0;
> -      else if (IS_INFINITE_REPEAT(q->upper)) return 1;
> -    }
> -    else if (q->lower == 1) {
> -      if (IS_INFINITE_REPEAT(q->upper)) return 2;
> -    }
> -  }
> -  else {
> -    if (q->lower == 0) {
> -      if (q->upper == 1) return 3;
> -      else if (IS_INFINITE_REPEAT(q->upper)) return 4;
> -    }
> -    else if (q->lower == 1) {
> -      if (IS_INFINITE_REPEAT(q->upper)) return 5;
> -    }
> -  }
> -  return -1;
> -}
> -
> -
> -enum ReduceType {
> -  RQ_ASIS = 0, /* as is */
> -  RQ_DEL  = 1, /* delete parent */
> -  RQ_A,        /* to '*'    */
> -  RQ_AQ,       /* to '*?'   */
> -  RQ_QQ,       /* to '??'   */
> -  RQ_P_QQ,     /* to '+)??' */
> -  RQ_PQ_Q      /* to '+?)?' */
> -};
> -
> -static enum ReduceType ReduceTypeTable[6][6] = {
> -  {RQ_DEL,  RQ_A,    RQ_A,   RQ_QQ,   RQ_AQ,   RQ_ASIS}, /* '?'  */
> -  {RQ_DEL,  RQ_DEL,  RQ_DEL, RQ_P_QQ, RQ_P_QQ, RQ_DEL},  /* '*'  */
> -  {RQ_A,    RQ_A,    RQ_DEL, RQ_ASIS, RQ_P_QQ, RQ_DEL},  /* '+'  */
> -  {RQ_DEL,  RQ_AQ,   RQ_AQ,  RQ_DEL,  RQ_AQ,   RQ_AQ},   /* '??' */
> -  {RQ_DEL,  RQ_DEL,  RQ_DEL, RQ_DEL,  RQ_DEL,  RQ_DEL},  /* '*?' */
> -  {RQ_ASIS, RQ_PQ_Q, RQ_DEL, RQ_AQ,   RQ_AQ,   RQ_DEL}   /* '+?' */
> -};
> -
> -extern void
> -onig_reduce_nested_quantifier(Node* pnode, Node* cnode)
> -{
> -  int pnum, cnum;
> -  QuantNode *p, *c;
> -
> -  p = QUANT_(pnode);
> -  c = QUANT_(cnode);
> -  pnum = quantifier_type_num(p);
> -  cnum = quantifier_type_num(c);
> -  if (pnum < 0 || cnum < 0) {
> -    if ((p->lower == p->upper) && ! IS_INFINITE_REPEAT(p->upper)) {
> -      if ((c->lower == c->upper) && ! IS_INFINITE_REPEAT(c->upper)) {
> -        int n = onig_positive_int_multiply(p->lower, c->lower);
> -        if (n >= 0) {
> -          p->lower = p->upper = n;
> -          NODE_BODY(pnode) = NODE_BODY(cnode);
> -          goto remove_cnode;
> -        }
> -      }
> -    }
> -
> -    return ;
> -  }
> -
> -  switch(ReduceTypeTable[cnum][pnum]) {
> -  case RQ_DEL:
> -    *pnode = *cnode;
> -    break;
> -  case RQ_A:
> -    NODE_BODY(pnode) = NODE_BODY(cnode);
> -    p->lower  = 0;  p->upper = INFINITE_REPEAT;  p->greedy = 1;
> -    break;
> -  case RQ_AQ:
> -    NODE_BODY(pnode) = NODE_BODY(cnode);
> -    p->lower  = 0;  p->upper = INFINITE_REPEAT;  p->greedy = 0;
> -    break;
> -  case RQ_QQ:
> -    NODE_BODY(pnode) = NODE_BODY(cnode);
> -    p->lower  = 0;  p->upper = 1;  p->greedy = 0;
> -    break;
> -  case RQ_P_QQ:
> -    NODE_BODY(pnode) = cnode;
> -    p->lower  = 0;  p->upper = 1;  p->greedy = 0;
> -    c->lower  = 1;  c->upper = INFINITE_REPEAT;  c->greedy = 1;
> -    return ;
> -    break;
> -  case RQ_PQ_Q:
> -    NODE_BODY(pnode) = cnode;
> -    p->lower  = 0;  p->upper = 1;  p->greedy = 1;
> -    c->lower  = 1;  c->upper = INFINITE_REPEAT;  c->greedy = 0;
> -    return ;
> -    break;
> -  case RQ_ASIS:
> -    NODE_BODY(pnode) = cnode;
> -    return ;
> -    break;
> -  }
> -
> - remove_cnode:
> -  NODE_BODY(cnode) = NULL_NODE;
> -  onig_node_free(cnode);
> -}
> -
> -static int
> -node_new_general_newline(Node** node, ScanEnv* env)
> -{
> -  int r;
> -  int dlen, alen;
> -  UChar buf[ONIGENC_CODE_TO_MBC_MAXLEN * 2];
> -  Node* crnl;
> -  Node* ncc;
> -  Node* x;
> -  CClassNode* cc;
> -
> -  dlen = ONIGENC_CODE_TO_MBC(env->enc, 0x0d, buf);
> -  if (dlen < 0) return dlen;
> -  alen = ONIGENC_CODE_TO_MBC(env->enc, 0x0a, buf + dlen);
> -  if (alen < 0) return alen;
> -
> -  crnl = node_new_str_raw(buf, buf + dlen + alen);
> -  CHECK_NULL_RETURN_MEMERR(crnl);
> -
> -  ncc = node_new_cclass();
> -  if (IS_NULL(ncc)) goto err2;
> -
> -  cc = CCLASS_(ncc);
> -  if (dlen == 1) {
> -    bitset_set_range(cc->bs, 0x0a, 0x0d);
> -  }
> -  else {
> -    r = add_code_range(&(cc->mbuf), env, 0x0a, 0x0d);
> -    if (r != 0) {
> -    err1:
> -      onig_node_free(ncc);
> -    err2:
> -      onig_node_free(crnl);
> -      return ONIGERR_MEMORY;
> -    }
> -  }
> -
> -  if (ONIGENC_IS_UNICODE_ENCODING(env->enc)) {
> -    r = add_code_range(&(cc->mbuf), env, 0x85, 0x85);
> -    if (r != 0) goto err1;
> -    r = add_code_range(&(cc->mbuf), env, 0x2028, 0x2029);
> -    if (r != 0) goto err1;
> -  }
> -
> -  x = node_new_bag_if_else(crnl, 0, ncc);
> -  if (IS_NULL(x)) goto err1;
> -
> -  *node = x;
> -  return 0;
> -}
> -
> -enum TokenSyms {
> -  TK_EOT      = 0,   /* end of token */
> -  TK_RAW_BYTE = 1,
> -  TK_CHAR,
> -  TK_STRING,
> -  TK_CODE_POINT,
> -  TK_ANYCHAR,
> -  TK_CHAR_TYPE,
> -  TK_BACKREF,
> -  TK_CALL,
> -  TK_ANCHOR,
> -  TK_REPEAT,
> -  TK_INTERVAL,
> -  TK_ANYCHAR_ANYTIME,  /* SQL '%' == .* */
> -  TK_ALT,
> -  TK_SUBEXP_OPEN,
> -  TK_SUBEXP_CLOSE,
> -  TK_CC_OPEN,
> -  TK_QUOTE_OPEN,
> -  TK_CHAR_PROPERTY,    /* \p{...}, \P{...} */
> -  TK_KEEP,             /* \K */
> -  TK_GENERAL_NEWLINE,  /* \R */
> -  TK_NO_NEWLINE,       /* \N */
> -  TK_TRUE_ANYCHAR,     /* \O */
> -  TK_TEXT_SEGMENT,     /* \X */
> -
> -  /* in cc */
> -  TK_CC_CLOSE,
> -  TK_CC_RANGE,
> -  TK_POSIX_BRACKET_OPEN,
> -  TK_CC_AND,             /* && */
> -  TK_CC_CC_OPEN          /* [ */
> -};
> -
> -typedef struct {
> -  enum TokenSyms type;
> -  int escaped;
> -  int base;   /* is number: 8, 16 (used in [....]) */
> -  UChar* backp;
> -  union {
> -    UChar* s;
> -    int   c;
> -    OnigCodePoint code;
> -    int   anchor;
> -    int   subtype;
> -    struct {
> -      int lower;
> -      int upper;
> -      int greedy;
> -      int possessive;
> -    } repeat;
> -    struct {
> -      int  num;
> -      int  ref1;
> -      int* refs;
> -      int  by_name;
> -#ifdef USE_BACKREF_WITH_LEVEL
> -      int  exist_level;
> -      int  level;   /* \k<name+n> */
> -#endif
> -    } backref;
> -    struct {
> -      UChar* name;
> -      UChar* name_end;
> -      int    gnum;
> -      int    by_number;
> -    } call;
> -    struct {
> -      int ctype;
> -      int not;
> -    } prop;
> -  } u;
> -} PToken;
> -
> -
> -static int
> -fetch_interval_quantifier(UChar** src, UChar* end, PToken* tok, ScanEnv*
> env)
> -{
> -  int low, up, syn_allow, non_low = 0;
> -  int r = 0;
> -  OnigCodePoint c;
> -  OnigEncoding enc = env->enc;
> -  UChar* p = *src;
> -  PFETCH_READY;
> -
> -  syn_allow = IS_SYNTAX_BV(env->syntax,
> ONIG_SYN_ALLOW_INVALID_INTERVAL);
> -
> -  if (PEND) {
> -    if (syn_allow)
> -      return 1;  /* "....{" : OK! */
> -    else
> -      return ONIGERR_END_PATTERN_AT_LEFT_BRACE;  /* "....{" syntax error
> */
> -  }
> -
> -  if (! syn_allow) {
> -    c = PPEEK;
> -    if (c == ')' || c == '(' || c == '|') {
> -      return ONIGERR_END_PATTERN_AT_LEFT_BRACE;
> -    }
> -  }
> -
> -  low = onig_scan_unsigned_number(&p, end, env->enc);
> -  if (low < 0) return ONIGERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE;
> -  if (low > ONIG_MAX_REPEAT_NUM)
> -    return ONIGERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE;
> -
> -  if (p == *src) { /* can't read low */
> -    if (IS_SYNTAX_BV(env->syntax,
> ONIG_SYN_ALLOW_INTERVAL_LOW_ABBREV)) {
> -      /* allow {,n} as {0,n} */
> -      low = 0;
> -      non_low = 1;
> -    }
> -    else
> -      goto invalid;
> -  }
> -
> -  if (PEND) goto invalid;
> -  PFETCH(c);
> -  if (c == ',') {
> -    UChar* prev = p;
> -    up = onig_scan_unsigned_number(&p, end, env->enc);
> -    if (up < 0) return ONIGERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE;
> -    if (up > ONIG_MAX_REPEAT_NUM)
> -      return ONIGERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE;
> -
> -    if (p == prev) {
> -      if (non_low != 0)
> -        goto invalid;
> -      up = INFINITE_REPEAT;  /* {n,} : {n,infinite} */
> -    }
> -  }
> -  else {
> -    if (non_low != 0)
> -      goto invalid;
> -
> -    PUNFETCH;
> -    up = low;  /* {n} : exact n times */
> -    r = 2;     /* fixed */
> -  }
> -
> -  if (PEND) goto invalid;
> -  PFETCH(c);
> -  if (IS_SYNTAX_OP(env->syntax, ONIG_SYN_OP_ESC_BRACE_INTERVAL)) {
> -    if (c != MC_ESC(env->syntax)) goto invalid;
> -    PFETCH(c);
> -  }
> -  if (c != '}') goto invalid;
> -
> -  if (!IS_INFINITE_REPEAT(up) && low > up) {
> -    /* {n,m}+ supported case */
> -    if (IS_SYNTAX_OP2(env->syntax,
> ONIG_SYN_OP2_PLUS_POSSESSIVE_INTERVAL))
> -      return ONIGERR_UPPER_SMALLER_THAN_LOWER_IN_REPEAT_RANGE;
> -
> -    tok->u.repeat.possessive = 1;
> -    {
> -      int tmp;
> -      tmp = low; low = up; up = tmp;
> -    }
> -  }
> -  else
> -    tok->u.repeat.possessive = 0;
> -
> -  tok->type = TK_INTERVAL;
> -  tok->u.repeat.lower = low;
> -  tok->u.repeat.upper = up;
> -  *src = p;
> -  return r; /* 0: normal {n,m}, 2: fixed {n} */
> -
> - invalid:
> -  if (syn_allow) {
> -    /* *src = p; */ /* !!! Don't do this line !!! */
> -    return 1;  /* OK */
> -  }
> -  else
> -    return ONIGERR_INVALID_REPEAT_RANGE_PATTERN;
> -}
> -
> -/* \M-, \C-, \c, or \... */
> -static int
> -fetch_escaped_value(UChar** src, UChar* end, ScanEnv* env,
> OnigCodePoint* val)
> -{
> -  int v;
> -  OnigCodePoint c;
> -  OnigEncoding enc = env->enc;
> -  UChar* p = *src;
> -
> -  if (PEND) return ONIGERR_END_PATTERN_AT_ESCAPE;
> -
> -  PFETCH_S(c);
> -  switch (c) {
> -  case 'M':
> -    if (IS_SYNTAX_OP2(env->syntax,
> ONIG_SYN_OP2_ESC_CAPITAL_M_BAR_META)) {
> -      if (PEND) return ONIGERR_END_PATTERN_AT_META;
> -      PFETCH_S(c);
> -      if (c != '-') return ONIGERR_META_CODE_SYNTAX;
> -      if (PEND) return ONIGERR_END_PATTERN_AT_META;
> -      PFETCH_S(c);
> -      if (c == MC_ESC(env->syntax)) {
> -        v = fetch_escaped_value(&p, end, env, &c);
> -        if (v < 0) return v;
> -      }
> -      c = ((c & 0xff) | 0x80);
> -    }
> -    else
> -      goto backslash;
> -    break;
> -
> -  case 'C':
> -    if (IS_SYNTAX_OP2(env->syntax,
> ONIG_SYN_OP2_ESC_CAPITAL_C_BAR_CONTROL)) {
> -      if (PEND) return ONIGERR_END_PATTERN_AT_CONTROL;
> -      PFETCH_S(c);
> -      if (c != '-') return ONIGERR_CONTROL_CODE_SYNTAX;
> -      goto control;
> -    }
> -    else
> -      goto backslash;
> -
> -  case 'c':
> -    if (IS_SYNTAX_OP(env->syntax, ONIG_SYN_OP_ESC_C_CONTROL)) {
> -    control:
> -      if (PEND) return ONIGERR_END_PATTERN_AT_CONTROL;
> -      PFETCH_S(c);
> -      if (c == '?') {
> -        c = 0177;
> -      }
> -      else {
> -        if (c == MC_ESC(env->syntax)) {
> -          v = fetch_escaped_value(&p, end, env, &c);
> -          if (v < 0) return v;
> -        }
> -        c &= 0x9f;
> -      }
> -      break;
> -    }
> -    /* fall through */
> -
> -  default:
> -    {
> -    backslash:
> -      c = conv_backslash_value(c, env);
> -    }
> -    break;
> -  }
> -
> -  *src = p;
> -  *val = c;
> -  return 0;
> -}
> -
> -static int fetch_token(PToken* tok, UChar** src, UChar* end, ScanEnv*
> env);
> -
> -static OnigCodePoint
> -get_name_end_code_point(OnigCodePoint start)
> -{
> -  switch (start) {
> -  case '<':  return (OnigCodePoint )'>';  break;
> -  case '\'': return (OnigCodePoint )'\''; break;
> -  case '(':  return (OnigCodePoint )')';  break;
> -  default:
> -    break;
> -  }
> -
> -  return (OnigCodePoint )0;
> -}
> -
> -enum REF_NUM {
> -  IS_NOT_NUM = 0,
> -  IS_ABS_NUM = 1,
> -  IS_REL_NUM = 2
> -};
> -
> -#ifdef USE_BACKREF_WITH_LEVEL
> -/*
> -   \k<name+n>, \k<name-n>
> -   \k<num+n>,  \k<num-n>
> -   \k<-num+n>, \k<-num-n>
> -   \k<+num+n>, \k<+num-n>
> -*/
> -static int
> -fetch_name_with_level(OnigCodePoint start_code, UChar** src, UChar*
> end,
> -                      UChar** rname_end, ScanEnv* env,
> -                      int* rback_num, int* rlevel, enum REF_NUM* num_type)
> -{
> -  int r, sign, exist_level;
> -  int digit_count;
> -  OnigCodePoint end_code;
> -  OnigCodePoint c = 0;
> -  OnigEncoding enc = env->enc;
> -  UChar *name_end;
> -  UChar *pnum_head;
> -  UChar *p = *src;
> -  PFETCH_READY;
> -
> -  *rback_num = 0;
> -  exist_level = 0;
> -  *num_type = IS_NOT_NUM;
> -  sign = 1;
> -  pnum_head = *src;
> -
> -  end_code = get_name_end_code_point(start_code);
> -
> -  digit_count = 0;
> -  name_end = end;
> -  r = 0;
> -  if (PEND) {
> -    return ONIGERR_EMPTY_GROUP_NAME;
> -  }
> -  else {
> -    PFETCH(c);
> -    if (c == end_code)
> -      return ONIGERR_EMPTY_GROUP_NAME;
> -
> -    if (IS_CODE_DIGIT_ASCII(enc, c)) {
> -      *num_type = IS_ABS_NUM;
> -      digit_count++;
> -    }
> -    else if (c == '-') {
> -      *num_type = IS_REL_NUM;
> -      sign = -1;
> -      pnum_head = p;
> -    }
> -    else if (c == '+') {
> -      *num_type = IS_REL_NUM;
> -      sign = 1;
> -      pnum_head = p;
> -    }
> -    else if (!ONIGENC_IS_CODE_WORD(enc, c)) {
> -      r = ONIGERR_INVALID_CHAR_IN_GROUP_NAME;
> -    }
> -  }
> -
> -  while (!PEND) {
> -    name_end = p;
> -    PFETCH(c);
> -    if (c == end_code || c == ')' || c == '+' || c == '-') {
> -      if (*num_type != IS_NOT_NUM && digit_count == 0)
> -        r = ONIGERR_INVALID_GROUP_NAME;
> -      break;
> -    }
> -
> -    if (*num_type != IS_NOT_NUM) {
> -      if (IS_CODE_DIGIT_ASCII(enc, c)) {
> -        digit_count++;
> -      }
> -      else {
> -        r = ONIGERR_INVALID_GROUP_NAME;
> -        *num_type = IS_NOT_NUM;
> -      }
> -    }
> -    else if (!ONIGENC_IS_CODE_WORD(enc, c)) {
> -      r = ONIGERR_INVALID_CHAR_IN_GROUP_NAME;
> -    }
> -  }
> -
> -  if (r == 0 && c != end_code) {
> -    if (c == '+' || c == '-') {
> -      int level;
> -      int flag = (c == '-' ? -1 : 1);
> -
> -      if (PEND) {
> -        r = ONIGERR_INVALID_CHAR_IN_GROUP_NAME;
> -        goto end;
> -      }
> -      PFETCH(c);
> -      if (! IS_CODE_DIGIT_ASCII(enc, c)) goto err;
> -      PUNFETCH;
> -      level = onig_scan_unsigned_number(&p, end, enc);
> -      if (level < 0) return ONIGERR_TOO_BIG_NUMBER;
> -      *rlevel = (level * flag);
> -      exist_level = 1;
> -
> -      if (!PEND) {
> -        PFETCH(c);
> -        if (c == end_code)
> -          goto end;
> -      }
> -    }
> -
> -  err:
> -    name_end = end;
> -  err2:
> -    r = ONIGERR_INVALID_GROUP_NAME;
> -  }
> -
> - end:
> -  if (r == 0) {
> -    if (*num_type != IS_NOT_NUM) {
> -      *rback_num = onig_scan_unsigned_number(&pnum_head, name_end,
> enc);
> -      if (*rback_num < 0) return ONIGERR_TOO_BIG_NUMBER;
> -      else if (*rback_num == 0) {
> -        if (*num_type == IS_REL_NUM)
> -          goto err2;
> -      }
> -
> -      *rback_num *= sign;
> -    }
> -
> -    *rname_end = name_end;
> -    *src = p;
> -    return (exist_level ? 1 : 0);
> -  }
> -  else {
> -    onig_scan_env_set_error_string(env, r, *src, name_end);
> -    return r;
> -  }
> -}
> -#endif /* USE_BACKREF_WITH_LEVEL */
> -
> -/*
> -  ref: 0 -> define name    (don't allow number name)
> -       1 -> reference name (allow number name)
> -*/
> -static int
> -fetch_name(OnigCodePoint start_code, UChar** src, UChar* end,
> -           UChar** rname_end, ScanEnv* env, int* rback_num,
> -           enum REF_NUM* num_type, int ref)
> -{
> -  int r, sign;
> -  int digit_count;
> -  OnigCodePoint end_code;
> -  OnigCodePoint c = 0;
> -  OnigEncoding enc = env->enc;
> -  UChar *name_end;
> -  UChar *pnum_head;
> -  UChar *p = *src;
> -
> -  *rback_num = 0;
> -
> -  end_code = get_name_end_code_point(start_code);
> -
> -  digit_count = 0;
> -  name_end = end;
> -  pnum_head = *src;
> -  r = 0;
> -  *num_type = IS_NOT_NUM;
> -  sign = 1;
> -  if (PEND) {
> -    return ONIGERR_EMPTY_GROUP_NAME;
> -  }
> -  else {
> -    PFETCH_S(c);
> -    if (c == end_code)
> -      return ONIGERR_EMPTY_GROUP_NAME;
> -
> -    if (IS_CODE_DIGIT_ASCII(enc, c)) {
> -      if (ref == 1)
> -        *num_type = IS_ABS_NUM;
> -      else {
> -        r = ONIGERR_INVALID_GROUP_NAME;
> -      }
> -      digit_count++;
> -    }
> -    else if (c == '-') {
> -      if (ref == 1) {
> -        *num_type = IS_REL_NUM;
> -        sign = -1;
> -        pnum_head = p;
> -      }
> -      else {
> -        r = ONIGERR_INVALID_GROUP_NAME;
> -      }
> -    }
> -    else if (c == '+') {
> -      if (ref == 1) {
> -        *num_type = IS_REL_NUM;
> -        sign = 1;
> -        pnum_head = p;
> -      }
> -      else {
> -        r = ONIGERR_INVALID_GROUP_NAME;
> -      }
> -    }
> -    else if (!ONIGENC_IS_CODE_WORD(enc, c)) {
> -      r = ONIGERR_INVALID_CHAR_IN_GROUP_NAME;
> -    }
> -  }
> -
> -  if (r == 0) {
> -    while (!PEND) {
> -      name_end = p;
> -      PFETCH_S(c);
> -      if (c == end_code || c == ')') {
> -        if (*num_type != IS_NOT_NUM && digit_count == 0)
> -          r = ONIGERR_INVALID_GROUP_NAME;
> -        break;
> -      }
> -
> -      if (*num_type != IS_NOT_NUM) {
> -        if (IS_CODE_DIGIT_ASCII(enc, c)) {
> -          digit_count++;
> -        }
> -        else {
> -          if (!ONIGENC_IS_CODE_WORD(enc, c))
> -            r = ONIGERR_INVALID_CHAR_IN_GROUP_NAME;
> -          else
> -            r = ONIGERR_INVALID_GROUP_NAME;
> -
> -          *num_type = IS_NOT_NUM;
> -        }
> -      }
> -      else {
> -        if (!ONIGENC_IS_CODE_WORD(enc, c)) {
> -          r = ONIGERR_INVALID_CHAR_IN_GROUP_NAME;
> -        }
> -      }
> -    }
> -
> -    if (c != end_code) {
> -      r = ONIGERR_INVALID_GROUP_NAME;
> -      goto err;
> -    }
> -
> -    if (*num_type != IS_NOT_NUM) {
> -      *rback_num = onig_scan_unsigned_number(&pnum_head, name_end,
> enc);
> -      if (*rback_num < 0) return ONIGERR_TOO_BIG_NUMBER;
> -      else if (*rback_num == 0) {
> -        if (*num_type == IS_REL_NUM) {
> -          r = ONIGERR_INVALID_GROUP_NAME;
> -          goto err;
> -        }
> -      }
> -
> -      *rback_num *= sign;
> -    }
> -
> -    *rname_end = name_end;
> -    *src = p;
> -    return 0;
> -  }
> -  else {
> -    while (!PEND) {
> -      name_end = p;
> -      PFETCH_S(c);
> -      if (c == end_code || c == ')')
> -        break;
> -    }
> -    if (PEND)
> -      name_end = end;
> -
> -  err:
> -    onig_scan_env_set_error_string(env, r, *src, name_end);
> -    return r;
> -  }
> -}
> -
> -static void
> -CC_ESC_WARN(ScanEnv* env, UChar *c)
> -{
> -  if (onig_warn == onig_null_warn) return ;
> -
> -  if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_WARN_CC_OP_NOT_ESCAPED)
> &&
> -      IS_SYNTAX_BV(env->syntax, ONIG_SYN_BACKSLASH_ESCAPE_IN_CC)) {
> -    UChar buf[WARN_BUFSIZE];
> -    onig_snprintf_with_pattern(buf, WARN_BUFSIZE, env->enc,
> -                               env->pattern, env->pattern_end,
> -                               (UChar* )"character class has '%s' without escape",
> -                               c);
> -    (*onig_warn)((char* )buf);
> -  }
> -}
> -
> -static void
> -CLOSE_BRACKET_WITHOUT_ESC_WARN(ScanEnv* env, UChar* c)
> -{
> -  if (onig_warn == onig_null_warn) return ;
> -
> -  if (IS_SYNTAX_BV((env)->syntax,
> ONIG_SYN_WARN_CC_OP_NOT_ESCAPED)) {
> -    UChar buf[WARN_BUFSIZE];
> -    onig_snprintf_with_pattern(buf, WARN_BUFSIZE, (env)->enc,
> -                         (env)->pattern, (env)->pattern_end,
> -                         (UChar* )"regular expression has '%s' without escape", c);
> -    (*onig_warn)((char* )buf);
> -  }
> -}
> -
> -static UChar*
> -find_str_position(OnigCodePoint s[], int n, UChar* from, UChar* to,
> -                  UChar **next, OnigEncoding enc)
> -{
> -  int i;
> -  OnigCodePoint x;
> -  UChar *q;
> -  UChar *p = from;
> -
> -  while (p < to) {
> -    x = ONIGENC_MBC_TO_CODE(enc, p, to);
> -    q = p + enclen(enc, p);
> -    if (x == s[0]) {
> -      for (i = 1; i < n && q < to; i++) {
> -        x = ONIGENC_MBC_TO_CODE(enc, q, to);
> -        if (x != s[i]) break;
> -        q += enclen(enc, q);
> -      }
> -      if (i >= n) {
> -        if (IS_NOT_NULL(next))
> -          *next = q;
> -        return p;
> -      }
> -    }
> -    p = q;
> -  }
> -  return NULL_UCHARP;
> -}
> -
> -static int
> -str_exist_check_with_esc(OnigCodePoint s[], int n, UChar* from, UChar* to,
> -                         OnigCodePoint bad, OnigEncoding enc, OnigSyntaxType* syn)
> -{
> -  int i, in_esc;
> -  OnigCodePoint x;
> -  UChar *q;
> -  UChar *p = from;
> -
> -  in_esc = 0;
> -  while (p < to) {
> -    if (in_esc) {
> -      in_esc = 0;
> -      p += enclen(enc, p);
> -    }
> -    else {
> -      x = ONIGENC_MBC_TO_CODE(enc, p, to);
> -      q = p + enclen(enc, p);
> -      if (x == s[0]) {
> -        for (i = 1; i < n && q < to; i++) {
> -          x = ONIGENC_MBC_TO_CODE(enc, q, to);
> -          if (x != s[i]) break;
> -          q += enclen(enc, q);
> -        }
> -        if (i >= n) return 1;
> -        p += enclen(enc, p);
> -      }
> -      else {
> -        x = ONIGENC_MBC_TO_CODE(enc, p, to);
> -        if (x == bad) return 0;
> -        else if (x == MC_ESC(syn)) in_esc = 1;
> -        p = q;
> -      }
> -    }
> -  }
> -  return 0;
> -}
> -
> -static int
> -fetch_token_in_cc(PToken* tok, UChar** src, UChar* end, ScanEnv* env)
> -{
> -  int num;
> -  OnigCodePoint c, c2;
> -  OnigSyntaxType* syn = env->syntax;
> -  OnigEncoding enc = env->enc;
> -  UChar* prev;
> -  UChar* p = *src;
> -  PFETCH_READY;
> -
> -  if (PEND) {
> -    tok->type = TK_EOT;
> -    return tok->type;
> -  }
> -
> -  PFETCH(c);
> -  tok->type = TK_CHAR;
> -  tok->base = 0;
> -  tok->u.c  = c;
> -  tok->escaped = 0;
> -
> -  if (c == ']') {
> -    tok->type = TK_CC_CLOSE;
> -  }
> -  else if (c == '-') {
> -    tok->type = TK_CC_RANGE;
> -  }
> -  else if (c == MC_ESC(syn)) {
> -    if (! IS_SYNTAX_BV(syn, ONIG_SYN_BACKSLASH_ESCAPE_IN_CC))
> -      goto end;
> -
> -    if (PEND) return ONIGERR_END_PATTERN_AT_ESCAPE;
> -
> -    PFETCH(c);
> -    tok->escaped = 1;
> -    tok->u.c = c;
> -    switch (c) {
> -    case 'w':
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_WORD;
> -      tok->u.prop.not   = 0;
> -      break;
> -    case 'W':
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_WORD;
> -      tok->u.prop.not   = 1;
> -      break;
> -    case 'd':
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_DIGIT;
> -      tok->u.prop.not   = 0;
> -      break;
> -    case 'D':
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_DIGIT;
> -      tok->u.prop.not   = 1;
> -      break;
> -    case 's':
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_SPACE;
> -      tok->u.prop.not   = 0;
> -      break;
> -    case 'S':
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_SPACE;
> -      tok->u.prop.not   = 1;
> -      break;
> -    case 'h':
> -      if (! IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_H_XDIGIT)) break;
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_XDIGIT;
> -      tok->u.prop.not   = 0;
> -      break;
> -    case 'H':
> -      if (! IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_H_XDIGIT)) break;
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_XDIGIT;
> -      tok->u.prop.not   = 1;
> -      break;
> -
> -    case 'p':
> -    case 'P':
> -      if (PEND) break;
> -
> -      c2 = PPEEK;
> -      if (c2 == '{' &&
> -          IS_SYNTAX_OP2(syn,
> ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY)) {
> -        PINC;
> -        tok->type = TK_CHAR_PROPERTY;
> -        tok->u.prop.not = c == 'P';
> -
> -        if (!PEND && IS_SYNTAX_OP2(syn,
> ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT)) {
> -          PFETCH(c2);
> -          if (c2 == '^') {
> -            tok->u.prop.not = tok->u.prop.not == 0;
> -          }
> -          else
> -            PUNFETCH;
> -        }
> -      }
> -      break;
> -
> -    case 'o':
> -      if (PEND) break;
> -
> -      prev = p;
> -      if (PPEEK_IS('{') && IS_SYNTAX_OP(syn,
> ONIG_SYN_OP_ESC_O_BRACE_OCTAL)) {
> -        PINC;
> -        num = scan_unsigned_octal_number(&p, end, 11, enc);
> -        if (num < 0) return ONIGERR_TOO_BIG_WIDE_CHAR_VALUE;
> -        if (!PEND) {
> -          c2 = PPEEK;
> -          if (IS_CODE_DIGIT_ASCII(enc, c2))
> -            return ONIGERR_TOO_LONG_WIDE_CHAR_VALUE;
> -        }
> -
> -        if (p > prev + enclen(enc, prev) && !PEND && (PPEEK_IS('}'))) {
> -          PINC;
> -          tok->type   = TK_CODE_POINT;
> -          tok->base   = 8;
> -          tok->u.code = (OnigCodePoint )num;
> -        }
> -        else {
> -          /* can't read nothing or invalid format */
> -          p = prev;
> -        }
> -      }
> -      break;
> -
> -    case 'x':
> -      if (PEND) break;
> -
> -      prev = p;
> -      if (PPEEK_IS('{') && IS_SYNTAX_OP(syn,
> ONIG_SYN_OP_ESC_X_BRACE_HEX8)) {
> -        PINC;
> -        num = scan_unsigned_hexadecimal_number(&p, end, 0, 8, enc);
> -        if (num < 0) {
> -          if (num == ONIGERR_TOO_BIG_NUMBER)
> -            return ONIGERR_TOO_BIG_WIDE_CHAR_VALUE;
> -          else
> -            return num;
> -        }
> -        if (!PEND) {
> -          c2 = PPEEK;
> -          if (IS_CODE_XDIGIT_ASCII(enc, c2))
> -            return ONIGERR_TOO_LONG_WIDE_CHAR_VALUE;
> -        }
> -
> -        if (p > prev + enclen(enc, prev) && !PEND && (PPEEK_IS('}'))) {
> -          PINC;
> -          tok->type   = TK_CODE_POINT;
> -          tok->base   = 16;
> -          tok->u.code = (OnigCodePoint )num;
> -        }
> -        else {
> -          /* can't read nothing or invalid format */
> -          p = prev;
> -        }
> -      }
> -      else if (IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_X_HEX2)) {
> -        num = scan_unsigned_hexadecimal_number(&p, end, 0, 2, enc);
> -        if (num < 0) return num;
> -        if (p == prev) {  /* can't read nothing. */
> -          num = 0; /* but, it's not error */
> -        }
> -        tok->type = TK_RAW_BYTE;
> -        tok->base = 16;
> -        tok->u.c  = num;
> -      }
> -      break;
> -
> -    case 'u':
> -      if (PEND) break;
> -
> -      prev = p;
> -      if (IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_U_HEX4)) {
> -        num = scan_unsigned_hexadecimal_number(&p, end, 4, 4, enc);
> -        if (num < 0) return num;
> -        if (p == prev) {  /* can't read nothing. */
> -          num = 0; /* but, it's not error */
> -        }
> -        tok->type   = TK_CODE_POINT;
> -        tok->base   = 16;
> -        tok->u.code = (OnigCodePoint )num;
> -      }
> -      break;
> -
> -    case '0':
> -    case '1': case '2': case '3': case '4': case '5': case '6': case '7':
> -      if (IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_OCTAL3)) {
> -        PUNFETCH;
> -        prev = p;
> -        num = scan_unsigned_octal_number(&p, end, 3, enc);
> -        if (num < 0 || num >= 256) return ONIGERR_TOO_BIG_NUMBER;
> -        if (p == prev) {  /* can't read nothing. */
> -          num = 0; /* but, it's not error */
> -        }
> -        tok->type = TK_RAW_BYTE;
> -        tok->base = 8;
> -        tok->u.c  = num;
> -      }
> -      break;
> -
> -    default:
> -      PUNFETCH;
> -      num = fetch_escaped_value(&p, end, env, &c2);
> -      if (num < 0) return num;
> -      if (tok->u.c != c2) {
> -        tok->u.code = c2;
> -        tok->type   = TK_CODE_POINT;
> -      }
> -      break;
> -    }
> -  }
> -  else if (c == '[') {
> -    if (IS_SYNTAX_OP(syn, ONIG_SYN_OP_POSIX_BRACKET) &&
> (PPEEK_IS(':'))) {
> -      OnigCodePoint send[] = { (OnigCodePoint )':', (OnigCodePoint )']' };
> -      tok->backp = p; /* point at '[' is read */
> -      PINC;
> -      if (str_exist_check_with_esc(send, 2, p, end,
> -                                   (OnigCodePoint )']', enc, syn)) {
> -        tok->type = TK_POSIX_BRACKET_OPEN;
> -      }
> -      else {
> -        PUNFETCH;
> -        goto cc_in_cc;
> -      }
> -    }
> -    else {
> -    cc_in_cc:
> -      if (IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_CCLASS_SET_OP)) {
> -        tok->type = TK_CC_CC_OPEN;
> -      }
> -      else {
> -        CC_ESC_WARN(env, (UChar* )"[");
> -      }
> -    }
> -  }
> -  else if (c == '&') {
> -    if (IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_CCLASS_SET_OP) &&
> -        !PEND && (PPEEK_IS('&'))) {
> -      PINC;
> -      tok->type = TK_CC_AND;
> -    }
> -  }
> -
> - end:
> -  *src = p;
> -  return tok->type;
> -}
> -
> -static int
> -fetch_token(PToken* tok, UChar** src, UChar* end, ScanEnv* env)
> -{
> -  int r, num;
> -  OnigCodePoint c;
> -  OnigEncoding enc = env->enc;
> -  OnigSyntaxType* syn = env->syntax;
> -  UChar* prev;
> -  UChar* p = *src;
> -  PFETCH_READY;
> -
> - start:
> -  if (PEND) {
> -    tok->type = TK_EOT;
> -    return tok->type;
> -  }
> -
> -  tok->type  = TK_STRING;
> -  tok->base  = 0;
> -  tok->backp = p;
> -
> -  PFETCH(c);
> -  if (IS_MC_ESC_CODE(c, syn)) {
> -    if (PEND) return ONIGERR_END_PATTERN_AT_ESCAPE;
> -
> -    tok->backp = p;
> -    PFETCH(c);
> -
> -    tok->u.c = c;
> -    tok->escaped = 1;
> -    switch (c) {
> -    case '*':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_ASTERISK_ZERO_INF))
> break;
> -      tok->type = TK_REPEAT;
> -      tok->u.repeat.lower = 0;
> -      tok->u.repeat.upper = INFINITE_REPEAT;
> -      goto greedy_check;
> -      break;
> -
> -    case '+':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_PLUS_ONE_INF)) break;
> -      tok->type = TK_REPEAT;
> -      tok->u.repeat.lower = 1;
> -      tok->u.repeat.upper = INFINITE_REPEAT;
> -      goto greedy_check;
> -      break;
> -
> -    case '?':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_QMARK_ZERO_ONE))
> break;
> -      tok->type = TK_REPEAT;
> -      tok->u.repeat.lower = 0;
> -      tok->u.repeat.upper = 1;
> -    greedy_check:
> -      tok->u.repeat.possessive = 0;
> -    greedy_check2:
> -      if (!PEND && PPEEK_IS('?') &&
> -          IS_SYNTAX_OP(syn, ONIG_SYN_OP_QMARK_NON_GREEDY) &&
> -          tok->u.repeat.possessive == 0) {
> -        PFETCH(c);
> -        tok->u.repeat.greedy = 0;
> -        tok->u.repeat.possessive = 0;
> -      }
> -      else {
> -      possessive_check:
> -        tok->u.repeat.greedy = 1;
> -        if (!PEND && PPEEK_IS('+') &&
> -            ((IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_PLUS_POSSESSIVE_REPEAT)
> &&
> -              tok->type != TK_INTERVAL)  ||
> -             (IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_PLUS_POSSESSIVE_INTERVAL)
> &&
> -              tok->type == TK_INTERVAL)) &&
> -          tok->u.repeat.possessive == 0) {
> -          PFETCH(c);
> -          tok->u.repeat.possessive = 1;
> -        }
> -      }
> -      break;
> -
> -    case '{':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_BRACE_INTERVAL)) break;
> -      r = fetch_interval_quantifier(&p, end, tok, env);
> -      if (r < 0) return r;  /* error */
> -      if (r == 0) goto greedy_check2;
> -      else if (r == 2) { /* {n} */
> -        if (IS_SYNTAX_BV(syn, ONIG_SYN_FIXED_INTERVAL_IS_GREEDY_ONLY))
> -          goto possessive_check;
> -
> -        goto greedy_check2;
> -      }
> -      /* r == 1 : normal char */
> -      break;
> -
> -    case '|':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_VBAR_ALT)) break;
> -      tok->type = TK_ALT;
> -      break;
> -
> -    case '(':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_LPAREN_SUBEXP)) break;
> -      tok->type = TK_SUBEXP_OPEN;
> -      break;
> -
> -    case ')':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_LPAREN_SUBEXP)) break;
> -      tok->type = TK_SUBEXP_CLOSE;
> -      break;
> -
> -    case 'w':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_W_WORD)) break;
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_WORD;
> -      tok->u.prop.not   = 0;
> -      break;
> -
> -    case 'W':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_W_WORD)) break;
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_WORD;
> -      tok->u.prop.not   = 1;
> -      break;
> -
> -    case 'b':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_B_WORD_BOUND)) break;
> -      tok->type = TK_ANCHOR;
> -      tok->u.anchor = ANCR_WORD_BOUNDARY;
> -      break;
> -
> -    case 'B':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_B_WORD_BOUND)) break;
> -      tok->type = TK_ANCHOR;
> -      tok->u.anchor = ANCR_NO_WORD_BOUNDARY;
> -      break;
> -
> -    case 'y':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP2_ESC_X_Y_TEXT_SEGMENT))
> break;
> -      tok->type = TK_ANCHOR;
> -      tok->u.anchor = ANCR_TEXT_SEGMENT_BOUNDARY;
> -      break;
> -
> -    case 'Y':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP2_ESC_X_Y_TEXT_SEGMENT))
> break;
> -      tok->type = TK_ANCHOR;
> -      tok->u.anchor = ANCR_NO_TEXT_SEGMENT_BOUNDARY;
> -      break;
> -
> -#ifdef USE_WORD_BEGIN_END
> -    case '<':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END))
> break;
> -      tok->type = TK_ANCHOR;
> -      tok->u.anchor = ANCR_WORD_BEGIN;
> -      break;
> -
> -    case '>':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END))
> break;
> -      tok->type = TK_ANCHOR;
> -      tok->u.anchor = ANCR_WORD_END;
> -      break;
> -#endif
> -
> -    case 's':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_S_WHITE_SPACE)) break;
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_SPACE;
> -      tok->u.prop.not   = 0;
> -      break;
> -
> -    case 'S':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_S_WHITE_SPACE)) break;
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_SPACE;
> -      tok->u.prop.not   = 1;
> -      break;
> -
> -    case 'd':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_D_DIGIT)) break;
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_DIGIT;
> -      tok->u.prop.not   = 0;
> -      break;
> -
> -    case 'D':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_D_DIGIT)) break;
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_DIGIT;
> -      tok->u.prop.not   = 1;
> -      break;
> -
> -    case 'h':
> -      if (! IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_H_XDIGIT)) break;
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_XDIGIT;
> -      tok->u.prop.not   = 0;
> -      break;
> -
> -    case 'H':
> -      if (! IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_H_XDIGIT)) break;
> -      tok->type = TK_CHAR_TYPE;
> -      tok->u.prop.ctype = ONIGENC_CTYPE_XDIGIT;
> -      tok->u.prop.not   = 1;
> -      break;
> -
> -    case 'K':
> -      if (! IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_CAPITAL_K_KEEP)) break;
> -      tok->type = TK_KEEP;
> -      break;
> -
> -    case 'R':
> -      if (! IS_SYNTAX_OP2(syn,
> ONIG_SYN_OP2_ESC_CAPITAL_R_GENERAL_NEWLINE)) break;
> -      tok->type = TK_GENERAL_NEWLINE;
> -      break;
> -
> -    case 'N':
> -      if (! IS_SYNTAX_OP2(syn,
> ONIG_SYN_OP2_ESC_CAPITAL_N_O_SUPER_DOT)) break;
> -      tok->type = TK_NO_NEWLINE;
> -      break;
> -
> -    case 'O':
> -      if (! IS_SYNTAX_OP2(syn,
> ONIG_SYN_OP2_ESC_CAPITAL_N_O_SUPER_DOT)) break;
> -      tok->type = TK_TRUE_ANYCHAR;
> -      break;
> -
> -    case 'X':
> -      if (! IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_X_Y_TEXT_SEGMENT))
> break;
> -      tok->type = TK_TEXT_SEGMENT;
> -      break;
> -
> -    case 'A':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_AZ_BUF_ANCHOR)) break;
> -    begin_buf:
> -      tok->type = TK_ANCHOR;
> -      tok->u.subtype = ANCR_BEGIN_BUF;
> -      break;
> -
> -    case 'Z':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_AZ_BUF_ANCHOR)) break;
> -      tok->type = TK_ANCHOR;
> -      tok->u.subtype = ANCR_SEMI_END_BUF;
> -      break;
> -
> -    case 'z':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_AZ_BUF_ANCHOR)) break;
> -    end_buf:
> -      tok->type = TK_ANCHOR;
> -      tok->u.subtype = ANCR_END_BUF;
> -      break;
> -
> -    case 'G':
> -      if (! IS_SYNTAX_OP(syn,
> ONIG_SYN_OP_ESC_CAPITAL_G_BEGIN_ANCHOR)) break;
> -      tok->type = TK_ANCHOR;
> -      tok->u.subtype = ANCR_BEGIN_POSITION;
> -      break;
> -
> -    case '`':
> -      if (! IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_GNU_BUF_ANCHOR))
> break;
> -      goto begin_buf;
> -      break;
> -
> -    case '\'':
> -      if (! IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_GNU_BUF_ANCHOR))
> break;
> -      goto end_buf;
> -      break;
> -
> -    case 'o':
> -      if (PEND) break;
> -
> -      prev = p;
> -      if (PPEEK_IS('{') && IS_SYNTAX_OP(syn,
> ONIG_SYN_OP_ESC_O_BRACE_OCTAL)) {
> -        PINC;
> -        num = scan_unsigned_octal_number(&p, end, 11, enc);
> -        if (num < 0) return ONIGERR_TOO_BIG_WIDE_CHAR_VALUE;
> -        if (!PEND) {
> -          if (IS_CODE_DIGIT_ASCII(enc, PPEEK))
> -            return ONIGERR_TOO_LONG_WIDE_CHAR_VALUE;
> -        }
> -
> -        if ((p > prev + enclen(enc, prev)) && !PEND && PPEEK_IS('}')) {
> -          PINC;
> -          tok->type   = TK_CODE_POINT;
> -          tok->u.code = (OnigCodePoint )num;
> -        }
> -        else {
> -          /* can't read nothing or invalid format */
> -          p = prev;
> -        }
> -      }
> -      break;
> -
> -    case 'x':
> -      if (PEND) break;
> -
> -      prev = p;
> -      if (PPEEK_IS('{') && IS_SYNTAX_OP(syn,
> ONIG_SYN_OP_ESC_X_BRACE_HEX8)) {
> -        PINC;
> -        num = scan_unsigned_hexadecimal_number(&p, end, 0, 8, enc);
> -        if (num < 0) {
> -          if (num == ONIGERR_TOO_BIG_NUMBER)
> -            return ONIGERR_TOO_BIG_WIDE_CHAR_VALUE;
> -          else
> -            return num;
> -        }
> -        if (!PEND) {
> -          if (IS_CODE_XDIGIT_ASCII(enc, PPEEK))
> -            return ONIGERR_TOO_LONG_WIDE_CHAR_VALUE;
> -        }
> -
> -        if ((p > prev + enclen(enc, prev)) && !PEND && PPEEK_IS('}')) {
> -          PINC;
> -          tok->type   = TK_CODE_POINT;
> -          tok->u.code = (OnigCodePoint )num;
> -        }
> -        else {
> -          /* can't read nothing or invalid format */
> -          p = prev;
> -        }
> -      }
> -      else if (IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_X_HEX2)) {
> -        num = scan_unsigned_hexadecimal_number(&p, end, 0, 2, enc);
> -        if (num < 0) return num;
> -        if (p == prev) {  /* can't read nothing. */
> -          num = 0; /* but, it's not error */
> -        }
> -        tok->type = TK_RAW_BYTE;
> -        tok->base = 16;
> -        tok->u.c  = num;
> -      }
> -      break;
> -
> -    case 'u':
> -      if (PEND) break;
> -
> -      prev = p;
> -      if (IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_U_HEX4)) {
> -        num = scan_unsigned_hexadecimal_number(&p, end, 4, 4, enc);
> -        if (num < 0) return num;
> -        if (p == prev) {  /* can't read nothing. */
> -          num = 0; /* but, it's not error */
> -        }
> -        tok->type   = TK_CODE_POINT;
> -        tok->base   = 16;
> -        tok->u.code = (OnigCodePoint )num;
> -      }
> -      break;
> -
> -    case '1': case '2': case '3': case '4':
> -    case '5': case '6': case '7': case '8': case '9':
> -      PUNFETCH;
> -      prev = p;
> -      num = onig_scan_unsigned_number(&p, end, enc);
> -      if (num < 0 || num > ONIG_MAX_BACKREF_NUM) {
> -        goto skip_backref;
> -      }
> -
> -      if (IS_SYNTAX_OP(syn, ONIG_SYN_OP_DECIMAL_BACKREF) &&
> -          (num <= env->num_mem || num <= 9)) { /* This spec. from GNU
> regex */
> -        if (IS_SYNTAX_BV(syn, ONIG_SYN_STRICT_CHECK_BACKREF)) {
> -          if (num > env->num_mem ||
> IS_NULL(SCANENV_MEMENV(env)[num].node))
> -            return ONIGERR_INVALID_BACKREF;
> -        }
> -
> -        tok->type = TK_BACKREF;
> -        tok->u.backref.num     = 1;
> -        tok->u.backref.ref1    = num;
> -        tok->u.backref.by_name = 0;
> -#ifdef USE_BACKREF_WITH_LEVEL
> -        tok->u.backref.exist_level = 0;
> -#endif
> -        break;
> -      }
> -
> -    skip_backref:
> -      if (c == '8' || c == '9') {
> -        /* normal char */
> -        p = prev; PINC;
> -        break;
> -      }
> -
> -      p = prev;
> -      /* fall through */
> -    case '0':
> -      if (IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_OCTAL3)) {
> -        prev = p;
> -        num = scan_unsigned_octal_number(&p, end, (c == '0' ? 2:3), enc);
> -        if (num < 0 || num >= 256) return ONIGERR_TOO_BIG_NUMBER;
> -        if (p == prev) {  /* can't read nothing. */
> -          num = 0; /* but, it's not error */
> -        }
> -        tok->type = TK_RAW_BYTE;
> -        tok->base = 8;
> -        tok->u.c  = num;
> -      }
> -      else if (c != '0') {
> -        PINC;
> -      }
> -      break;
> -
> -    case 'k':
> -      if (!PEND && IS_SYNTAX_OP2(syn,
> ONIG_SYN_OP2_ESC_K_NAMED_BACKREF)) {
> -        PFETCH(c);
> -        if (c == '<' || c == '\'') {
> -          UChar* name_end;
> -          int* backs;
> -          int back_num;
> -          enum REF_NUM num_type;
> -
> -          prev = p;
> -
> -#ifdef USE_BACKREF_WITH_LEVEL
> -          name_end = NULL_UCHARP; /* no need. escape gcc warning. */
> -          r = fetch_name_with_level((OnigCodePoint )c, &p, end, &name_end,
> -                                 env, &back_num, &tok->u.backref.level, &num_type);
> -          if (r == 1) tok->u.backref.exist_level = 1;
> -          else        tok->u.backref.exist_level = 0;
> -#else
> -          r = fetch_name(c, &p, end, &name_end, env, &back_num,
> &num_type, 1);
> -#endif
> -          if (r < 0) return r;
> -
> -          if (num_type != IS_NOT_NUM) {
> -            if (num_type == IS_REL_NUM) {
> -              back_num = backref_rel_to_abs(back_num, env);
> -            }
> -            if (back_num <= 0)
> -              return ONIGERR_INVALID_BACKREF;
> -
> -            if (IS_SYNTAX_BV(syn, ONIG_SYN_STRICT_CHECK_BACKREF)) {
> -              if (back_num > env->num_mem ||
> -                  IS_NULL(SCANENV_MEMENV(env)[back_num].node))
> -                return ONIGERR_INVALID_BACKREF;
> -            }
> -            tok->type = TK_BACKREF;
> -            tok->u.backref.by_name = 0;
> -            tok->u.backref.num  = 1;
> -            tok->u.backref.ref1 = back_num;
> -          }
> -          else {
> -            num = name_to_group_numbers(env, prev, name_end, &backs);
> -            if (num <= 0) {
> -              return ONIGERR_UNDEFINED_NAME_REFERENCE;
> -            }
> -            if (IS_SYNTAX_BV(syn, ONIG_SYN_STRICT_CHECK_BACKREF)) {
> -              int i;
> -              for (i = 0; i < num; i++) {
> -                if (backs[i] > env->num_mem ||
> -                    IS_NULL(SCANENV_MEMENV(env)[backs[i]].node))
> -                  return ONIGERR_INVALID_BACKREF;
> -              }
> -            }
> -
> -            tok->type = TK_BACKREF;
> -            tok->u.backref.by_name = 1;
> -            if (num == 1) {
> -              tok->u.backref.num  = 1;
> -              tok->u.backref.ref1 = backs[0];
> -            }
> -            else {
> -              tok->u.backref.num  = num;
> -              tok->u.backref.refs = backs;
> -            }
> -          }
> -        }
> -        else
> -          PUNFETCH;
> -      }
> -      break;
> -
> -#ifdef USE_CALL
> -    case 'g':
> -      if (!PEND && IS_SYNTAX_OP2(syn,
> ONIG_SYN_OP2_ESC_G_SUBEXP_CALL)) {
> -        PFETCH(c);
> -        if (c == '<' || c == '\'') {
> -          int gnum;
> -          UChar* name_end;
> -          enum REF_NUM num_type;
> -
> -          prev = p;
> -          r = fetch_name((OnigCodePoint )c, &p, end, &name_end, env,
> -                         &gnum, &num_type, 1);
> -          if (r < 0) return r;
> -
> -          if (num_type != IS_NOT_NUM) {
> -            if (num_type == IS_REL_NUM) {
> -              gnum = backref_rel_to_abs(gnum, env);
> -              if (gnum < 0) {
> -                onig_scan_env_set_error_string(env,
> ONIGERR_UNDEFINED_NAME_REFERENCE,
> -                                               prev, name_end);
> -                return ONIGERR_UNDEFINED_GROUP_REFERENCE;
> -              }
> -            }
> -            tok->u.call.by_number = 1;
> -            tok->u.call.gnum      = gnum;
> -          }
> -          else {
> -            tok->u.call.by_number = 0;
> -            tok->u.call.gnum      = 0;
> -          }
> -
> -          tok->type = TK_CALL;
> -          tok->u.call.name     = prev;
> -          tok->u.call.name_end = name_end;
> -        }
> -        else
> -          PUNFETCH;
> -      }
> -      break;
> -#endif
> -
> -    case 'Q':
> -      if (IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_CAPITAL_Q_QUOTE)) {
> -        tok->type = TK_QUOTE_OPEN;
> -      }
> -      break;
> -
> -    case 'p':
> -    case 'P':
> -      if (!PEND && PPEEK_IS('{') &&
> -          IS_SYNTAX_OP2(syn,
> ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY)) {
> -        PINC;
> -        tok->type = TK_CHAR_PROPERTY;
> -        tok->u.prop.not = c == 'P';
> -
> -        if (!PEND &&
> -            IS_SYNTAX_OP2(syn,
> ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT)) {
> -          PFETCH(c);
> -          if (c == '^') {
> -            tok->u.prop.not = tok->u.prop.not == 0;
> -          }
> -          else
> -            PUNFETCH;
> -        }
> -      }
> -      break;
> -
> -    default:
> -      {
> -        OnigCodePoint c2;
> -
> -        PUNFETCH;
> -        num = fetch_escaped_value(&p, end, env, &c2);
> -        if (num < 0) return num;
> -        /* set_raw: */
> -        if (tok->u.c != c2) {
> -          tok->type = TK_CODE_POINT;
> -          tok->u.code = c2;
> -        }
> -        else { /* string */
> -          p = tok->backp + enclen(enc, tok->backp);
> -        }
> -      }
> -      break;
> -    }
> -  }
> -  else {
> -    tok->u.c = c;
> -    tok->escaped = 0;
> -
> -#ifdef USE_VARIABLE_META_CHARS
> -    if ((c != ONIG_INEFFECTIVE_META_CHAR) &&
> -        IS_SYNTAX_OP(syn, ONIG_SYN_OP_VARIABLE_META_CHARACTERS)) {
> -      if (c == MC_ANYCHAR(syn))
> -        goto any_char;
> -      else if (c == MC_ANYTIME(syn))
> -        goto anytime;
> -      else if (c == MC_ZERO_OR_ONE_TIME(syn))
> -        goto zero_or_one_time;
> -      else if (c == MC_ONE_OR_MORE_TIME(syn))
> -        goto one_or_more_time;
> -      else if (c == MC_ANYCHAR_ANYTIME(syn)) {
> -        tok->type = TK_ANYCHAR_ANYTIME;
> -        goto out;
> -      }
> -    }
> -#endif
> -
> -    switch (c) {
> -    case '.':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_DOT_ANYCHAR)) break;
> -#ifdef USE_VARIABLE_META_CHARS
> -    any_char:
> -#endif
> -      tok->type = TK_ANYCHAR;
> -      break;
> -
> -    case '*':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_ASTERISK_ZERO_INF)) break;
> -#ifdef USE_VARIABLE_META_CHARS
> -    anytime:
> -#endif
> -      tok->type = TK_REPEAT;
> -      tok->u.repeat.lower = 0;
> -      tok->u.repeat.upper = INFINITE_REPEAT;
> -      goto greedy_check;
> -      break;
> -
> -    case '+':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_PLUS_ONE_INF)) break;
> -#ifdef USE_VARIABLE_META_CHARS
> -    one_or_more_time:
> -#endif
> -      tok->type = TK_REPEAT;
> -      tok->u.repeat.lower = 1;
> -      tok->u.repeat.upper = INFINITE_REPEAT;
> -      goto greedy_check;
> -      break;
> -
> -    case '?':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_QMARK_ZERO_ONE)) break;
> -#ifdef USE_VARIABLE_META_CHARS
> -    zero_or_one_time:
> -#endif
> -      tok->type = TK_REPEAT;
> -      tok->u.repeat.lower = 0;
> -      tok->u.repeat.upper = 1;
> -      goto greedy_check;
> -      break;
> -
> -    case '{':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_BRACE_INTERVAL)) break;
> -      r = fetch_interval_quantifier(&p, end, tok, env);
> -      if (r < 0) return r;  /* error */
> -      if (r == 0) goto greedy_check2;
> -      else if (r == 2) { /* {n} */
> -        if (IS_SYNTAX_BV(syn, ONIG_SYN_FIXED_INTERVAL_IS_GREEDY_ONLY))
> -          goto possessive_check;
> -
> -        goto greedy_check2;
> -      }
> -      /* r == 1 : normal char */
> -      break;
> -
> -    case '|':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_VBAR_ALT)) break;
> -      tok->type = TK_ALT;
> -      break;
> -
> -    case '(':
> -      if (!PEND && PPEEK_IS('?') &&
> -          IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_QMARK_GROUP_EFFECT)) {
> -        PINC;
> -        if (! PEND) {
> -          c = PPEEK;
> -          if (c == '#') {
> -            PFETCH(c);
> -            while (1) {
> -              if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -              PFETCH(c);
> -              if (c == MC_ESC(syn)) {
> -                if (! PEND) PFETCH(c);
> -              }
> -              else {
> -                if (c == ')') break;
> -              }
> -            }
> -            goto start;
> -          }
> -          else if (IS_SYNTAX_OP2(syn,
> ONIG_SYN_OP2_QMARK_PERL_SUBEXP_CALL)) {
> -            int gnum;
> -            UChar* name;
> -            UChar* name_end;
> -            enum REF_NUM num_type;
> -
> -            switch (c) {
> -            case '&':
> -              {
> -                PINC;
> -                name = p;
> -                r = fetch_name((OnigCodePoint )'(', &p, end, &name_end, env,
> &gnum,
> -                               &num_type, 0);
> -                if (r < 0) return r;
> -
> -                tok->type = TK_CALL;
> -                tok->u.call.by_number = 0;
> -                tok->u.call.gnum      = 0;
> -                tok->u.call.name      = name;
> -                tok->u.call.name_end  = name_end;
> -              }
> -              break;
> -
> -            case 'R':
> -              tok->type = TK_CALL;
> -              tok->u.call.by_number = 1;
> -              tok->u.call.gnum      = 0;
> -              tok->u.call.name      = p;
> -              PINC;
> -              if (! PPEEK_IS(')')) return ONIGERR_UNDEFINED_GROUP_OPTION;
> -              tok->u.call.name_end  = p;
> -              break;
> -
> -            case '-':
> -            case '+':
> -              goto lparen_qmark_num;
> -              break;
> -            default:
> -              if (! ONIGENC_IS_CODE_DIGIT(enc, c)) goto lparen_qmark_end;
> -
> -            lparen_qmark_num:
> -              {
> -                name = p;
> -                r = fetch_name((OnigCodePoint )'(', &p, end, &name_end, env,
> -                               &gnum, &num_type, 1);
> -                if (r < 0) return r;
> -
> -                if (num_type == IS_NOT_NUM) {
> -                  return ONIGERR_INVALID_GROUP_NAME;
> -                }
> -                else {
> -                  if (num_type == IS_REL_NUM) {
> -                    gnum = backref_rel_to_abs(gnum, env);
> -                    if (gnum < 0) {
> -                      onig_scan_env_set_error_string(env,
> -                             ONIGERR_UNDEFINED_NAME_REFERENCE, name,
> name_end);
> -                      return ONIGERR_UNDEFINED_GROUP_REFERENCE;
> -                    }
> -                  }
> -                  tok->u.call.by_number = 1;
> -                  tok->u.call.gnum      = gnum;
> -                }
> -
> -                tok->type = TK_CALL;
> -                tok->u.call.name     = name;
> -                tok->u.call.name_end = name_end;
> -              }
> -              break;
> -            }
> -          }
> -        }
> -      lparen_qmark_end:
> -        PUNFETCH;
> -      }
> -
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_LPAREN_SUBEXP)) break;
> -      tok->type = TK_SUBEXP_OPEN;
> -      break;
> -
> -    case ')':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_LPAREN_SUBEXP)) break;
> -      tok->type = TK_SUBEXP_CLOSE;
> -      break;
> -
> -    case '^':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_LINE_ANCHOR)) break;
> -      tok->type = TK_ANCHOR;
> -      tok->u.subtype = (IS_SINGLELINE(env->options)
> -                        ? ANCR_BEGIN_BUF : ANCR_BEGIN_LINE);
> -      break;
> -
> -    case '$':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_LINE_ANCHOR)) break;
> -      tok->type = TK_ANCHOR;
> -      tok->u.subtype = (IS_SINGLELINE(env->options)
> -                        ? ANCR_SEMI_END_BUF : ANCR_END_LINE);
> -      break;
> -
> -    case '[':
> -      if (! IS_SYNTAX_OP(syn, ONIG_SYN_OP_BRACKET_CC)) break;
> -      tok->type = TK_CC_OPEN;
> -      break;
> -
> -    case ']':
> -      if (*src > env->pattern)   /* /].../ is allowed. */
> -        CLOSE_BRACKET_WITHOUT_ESC_WARN(env, (UChar* )"]");
> -      break;
> -
> -    case '#':
> -      if (IS_EXTEND(env->options)) {
> -        while (!PEND) {
> -          PFETCH(c);
> -          if (ONIGENC_IS_CODE_NEWLINE(enc, c))
> -            break;
> -        }
> -        goto start;
> -        break;
> -      }
> -      break;
> -
> -    case ' ': case '\t': case '\n': case '\r': case '\f':
> -      if (IS_EXTEND(env->options))
> -        goto start;
> -      break;
> -
> -    default:
> -      /* string */
> -      break;
> -    }
> -  }
> -
> -#ifdef USE_VARIABLE_META_CHARS
> - out:
> -#endif
> -  *src = p;
> -  return tok->type;
> -}
> -
> -static int
> -add_ctype_to_cc_by_range(CClassNode* cc, int ctype ARG_UNUSED, int
> not,
> -                         OnigEncoding enc ARG_UNUSED, OnigCodePoint sb_out,
> -                         const OnigCodePoint mbr[])
> -{
> -  int i, r;
> -  OnigCodePoint j;
> -
> -  int n = ONIGENC_CODE_RANGE_NUM(mbr);
> -
> -  if (not == 0) {
> -    for (i = 0; i < n; i++) {
> -      for (j  = ONIGENC_CODE_RANGE_FROM(mbr, i);
> -           j <= ONIGENC_CODE_RANGE_TO(mbr, i); j++) {
> -        if (j >= sb_out) {
> -          if (j > ONIGENC_CODE_RANGE_FROM(mbr, i)) {
> -            r = add_code_range_to_buf(&(cc->mbuf), j,
> -                                      ONIGENC_CODE_RANGE_TO(mbr, i));
> -            if (r != 0) return r;
> -            i++;
> -          }
> -
> -          goto sb_end;
> -        }
> -        BITSET_SET_BIT(cc->bs, j);
> -      }
> -    }
> -
> -  sb_end:
> -    for ( ; i < n; i++) {
> -      r = add_code_range_to_buf(&(cc->mbuf),
> -                                ONIGENC_CODE_RANGE_FROM(mbr, i),
> -                                ONIGENC_CODE_RANGE_TO(mbr, i));
> -      if (r != 0) return r;
> -    }
> -  }
> -  else {
> -    OnigCodePoint prev = 0;
> -
> -    for (i = 0; i < n; i++) {
> -      for (j = prev; j < ONIGENC_CODE_RANGE_FROM(mbr, i); j++) {
> -        if (j >= sb_out) {
> -          goto sb_end2;
> -        }
> -        BITSET_SET_BIT(cc->bs, j);
> -      }
> -      prev = ONIGENC_CODE_RANGE_TO(mbr, i) + 1;
> -    }
> -    for (j = prev; j < sb_out; j++) {
> -      BITSET_SET_BIT(cc->bs, j);
> -    }
> -
> -  sb_end2:
> -    prev = sb_out;
> -
> -    for (i = 0; i < n; i++) {
> -      if (prev < ONIGENC_CODE_RANGE_FROM(mbr, i)) {
> -        r = add_code_range_to_buf(&(cc->mbuf), prev,
> -                                  ONIGENC_CODE_RANGE_FROM(mbr, i) - 1);
> -        if (r != 0) return r;
> -      }
> -      prev = ONIGENC_CODE_RANGE_TO(mbr, i) + 1;
> -      if (prev == 0) goto end;
> -    }
> -
> -    r = add_code_range_to_buf(&(cc->mbuf), prev, MAX_CODE_POINT);
> -    if (r != 0) return r;
> -  }
> -
> - end:
> -  return 0;
> -}
> -
> -static int
> -add_ctype_to_cc_by_range_limit(CClassNode* cc, int ctype ARG_UNUSED,
> int not,
> -                               OnigEncoding enc ARG_UNUSED,
> -                               OnigCodePoint sb_out,
> -                               const OnigCodePoint mbr[], OnigCodePoint limit)
> -{
> -  int i, r;
> -  OnigCodePoint j;
> -  OnigCodePoint from;
> -  OnigCodePoint to;
> -
> -  int n = ONIGENC_CODE_RANGE_NUM(mbr);
> -
> -  if (not == 0) {
> -    for (i = 0; i < n; i++) {
> -      for (j  = ONIGENC_CODE_RANGE_FROM(mbr, i);
> -           j <= ONIGENC_CODE_RANGE_TO(mbr, i); j++) {
> -        if (j > limit) goto end;
> -        if (j >= sb_out) {
> -          if (j > ONIGENC_CODE_RANGE_FROM(mbr, i)) {
> -            to = ONIGENC_CODE_RANGE_TO(mbr, i);
> -            if (to > limit) to = limit;
> -            r = add_code_range_to_buf(&(cc->mbuf), j, to);
> -            if (r != 0) return r;
> -            i++;
> -          }
> -
> -          goto sb_end;
> -        }
> -        BITSET_SET_BIT(cc->bs, j);
> -      }
> -    }
> -
> -  sb_end:
> -    for ( ; i < n; i++) {
> -      from = ONIGENC_CODE_RANGE_FROM(mbr, i);
> -      to   = ONIGENC_CODE_RANGE_TO(mbr, i);
> -      if (from > limit) break;
> -      if (to   > limit) to = limit;
> -      r = add_code_range_to_buf(&(cc->mbuf), from, to);
> -      if (r != 0) return r;
> -    }
> -  }
> -  else {
> -    OnigCodePoint prev = 0;
> -
> -    for (i = 0; i < n; i++) {
> -      from = ONIGENC_CODE_RANGE_FROM(mbr, i);
> -      if (from > limit) {
> -        for (j = prev; j < sb_out; j++) {
> -          BITSET_SET_BIT(cc->bs, j);
> -        }
> -        goto sb_end2;
> -      }
> -      for (j = prev; j < from; j++) {
> -        if (j >= sb_out) goto sb_end2;
> -        BITSET_SET_BIT(cc->bs, j);
> -      }
> -      prev = ONIGENC_CODE_RANGE_TO(mbr, i);
> -      if (prev > limit) prev = limit;
> -      prev++;
> -      if (prev == 0) goto end;
> -    }
> -    for (j = prev; j < sb_out; j++) {
> -      BITSET_SET_BIT(cc->bs, j);
> -    }
> -
> -  sb_end2:
> -    prev = sb_out;
> -
> -    for (i = 0; i < n; i++) {
> -      from = ONIGENC_CODE_RANGE_FROM(mbr, i);
> -      if (from > limit) goto last;
> -
> -      if (prev < from) {
> -        r = add_code_range_to_buf(&(cc->mbuf), prev, from - 1);
> -        if (r != 0) return r;
> -      }
> -      prev = ONIGENC_CODE_RANGE_TO(mbr, i);
> -      if (prev > limit) prev = limit;
> -      prev++;
> -      if (prev == 0) goto end;
> -    }
> -
> -  last:
> -    r = add_code_range_to_buf(&(cc->mbuf), prev, MAX_CODE_POINT);
> -    if (r != 0) return r;
> -  }
> -
> - end:
> -  return 0;
> -}
> -
> -static int
> -add_ctype_to_cc(CClassNode* cc, int ctype, int not, ScanEnv* env)
> -{
> -#define ASCII_LIMIT    127
> -
> -  int c, r;
> -  int ascii_mode;
> -  const OnigCodePoint *ranges;
> -  OnigCodePoint limit;
> -  OnigCodePoint sb_out;
> -  OnigEncoding enc = env->enc;
> -
> -  ascii_mode = IS_ASCII_MODE_CTYPE_OPTION(ctype, env->options);
> -
> -  r = ONIGENC_GET_CTYPE_CODE_RANGE(enc, ctype, &sb_out, &ranges);
> -  if (r == 0) {
> -    if (ascii_mode == 0)
> -      r = add_ctype_to_cc_by_range(cc, ctype, not, env->enc, sb_out, ranges);
> -    else
> -      r = add_ctype_to_cc_by_range_limit(cc, ctype, not, env->enc, sb_out,
> -                                         ranges, ASCII_LIMIT);
> -    return r;
> -  }
> -  else if (r != ONIG_NO_SUPPORT_CONFIG) {
> -    return r;
> -  }
> -
> -  r = 0;
> -  limit = ascii_mode ? ASCII_LIMIT : SINGLE_BYTE_SIZE;
> -
> -  switch (ctype) {
> -  case ONIGENC_CTYPE_ALPHA:
> -  case ONIGENC_CTYPE_BLANK:
> -  case ONIGENC_CTYPE_CNTRL:
> -  case ONIGENC_CTYPE_DIGIT:
> -  case ONIGENC_CTYPE_LOWER:
> -  case ONIGENC_CTYPE_PUNCT:
> -  case ONIGENC_CTYPE_SPACE:
> -  case ONIGENC_CTYPE_UPPER:
> -  case ONIGENC_CTYPE_XDIGIT:
> -  case ONIGENC_CTYPE_ASCII:
> -  case ONIGENC_CTYPE_ALNUM:
> -    if (not != 0) {
> -      for (c = 0; c < (int )limit; c++) {
> -        if (! ONIGENC_IS_CODE_CTYPE(enc, (OnigCodePoint )c, ctype))
> -          BITSET_SET_BIT(cc->bs, c);
> -      }
> -      for (c = limit; c < SINGLE_BYTE_SIZE; c++) {
> -        BITSET_SET_BIT(cc->bs, c);
> -      }
> -
> -      ADD_ALL_MULTI_BYTE_RANGE(enc, cc->mbuf);
> -    }
> -    else {
> -      for (c = 0; c < (int )limit; c++) {
> -        if (ONIGENC_IS_CODE_CTYPE(enc, (OnigCodePoint )c, ctype))
> -          BITSET_SET_BIT(cc->bs, c);
> -      }
> -    }
> -    break;
> -
> -  case ONIGENC_CTYPE_GRAPH:
> -  case ONIGENC_CTYPE_PRINT:
> -  case ONIGENC_CTYPE_WORD:
> -    if (not != 0) {
> -      for (c = 0; c < (int )limit; c++) {
> -        if (ONIGENC_CODE_TO_MBCLEN(enc, c) > 0 /* check invalid code point
> */
> -            && ! ONIGENC_IS_CODE_CTYPE(enc, (OnigCodePoint )c, ctype))
> -          BITSET_SET_BIT(cc->bs, c);
> -      }
> -      for (c = limit; c < SINGLE_BYTE_SIZE; c++) {
> -        if (ONIGENC_CODE_TO_MBCLEN(enc, c) > 0)
> -          BITSET_SET_BIT(cc->bs, c);
> -      }
> -    }
> -    else {
> -      for (c = 0; c < (int )limit; c++) {
> -        if (ONIGENC_IS_CODE_CTYPE(enc, (OnigCodePoint )c, ctype))
> -          BITSET_SET_BIT(cc->bs, c);
> -      }
> -      if (ascii_mode == 0)
> -        ADD_ALL_MULTI_BYTE_RANGE(enc, cc->mbuf);
> -    }
> -    break;
> -
> -  default:
> -    return ONIGERR_PARSER_BUG;
> -    break;
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -parse_posix_bracket(CClassNode* cc, UChar** src, UChar* end, ScanEnv*
> env)
> -{
> -#define POSIX_BRACKET_CHECK_LIMIT_LENGTH  20
> -#define POSIX_BRACKET_NAME_MIN_LEN         4
> -
> -  static PosixBracketEntryType PBS[] = {
> -    { (UChar* )"alnum",  ONIGENC_CTYPE_ALNUM,  5 },
> -    { (UChar* )"alpha",  ONIGENC_CTYPE_ALPHA,  5 },
> -    { (UChar* )"blank",  ONIGENC_CTYPE_BLANK,  5 },
> -    { (UChar* )"cntrl",  ONIGENC_CTYPE_CNTRL,  5 },
> -    { (UChar* )"digit",  ONIGENC_CTYPE_DIGIT,  5 },
> -    { (UChar* )"graph",  ONIGENC_CTYPE_GRAPH,  5 },
> -    { (UChar* )"lower",  ONIGENC_CTYPE_LOWER,  5 },
> -    { (UChar* )"print",  ONIGENC_CTYPE_PRINT,  5 },
> -    { (UChar* )"punct",  ONIGENC_CTYPE_PUNCT,  5 },
> -    { (UChar* )"space",  ONIGENC_CTYPE_SPACE,  5 },
> -    { (UChar* )"upper",  ONIGENC_CTYPE_UPPER,  5 },
> -    { (UChar* )"xdigit", ONIGENC_CTYPE_XDIGIT, 6 },
> -    { (UChar* )"ascii",  ONIGENC_CTYPE_ASCII,  5 },
> -    { (UChar* )"word",   ONIGENC_CTYPE_WORD,   4 },
> -    { (UChar* )NULL,     -1, 0 }
> -  };
> -
> -  PosixBracketEntryType *pb;
> -  int not, i, r;
> -  OnigCodePoint c;
> -  OnigEncoding enc = env->enc;
> -  UChar *p = *src;
> -
> -  if (PPEEK_IS('^')) {
> -    PINC_S;
> -    not = 1;
> -  }
> -  else
> -    not = 0;
> -
> -  if (onigenc_strlen(enc, p, end) < POSIX_BRACKET_NAME_MIN_LEN + 3)
> -    goto not_posix_bracket;
> -
> -  for (pb = PBS; IS_NOT_NULL(pb->name); pb++) {
> -    if (onigenc_with_ascii_strncmp(enc, p, end, pb->name, pb->len) == 0) {
> -      p = (UChar* )onigenc_step(enc, p, end, pb->len);
> -      if (onigenc_with_ascii_strncmp(enc, p, end, (UChar* )":]", 2) != 0)
> -        return ONIGERR_INVALID_POSIX_BRACKET_TYPE;
> -
> -      r = add_ctype_to_cc(cc, pb->ctype, not, env);
> -      if (r != 0) return r;
> -
> -      PINC_S; PINC_S;
> -      *src = p;
> -      return 0;
> -    }
> -  }
> -
> - not_posix_bracket:
> -  c = 0;
> -  i = 0;
> -  while (!PEND && ((c = PPEEK) != ':') && c != ']') {
> -    PINC_S;
> -    if (++i > POSIX_BRACKET_CHECK_LIMIT_LENGTH) break;
> -  }
> -  if (c == ':' && ! PEND) {
> -    PINC_S;
> -    if (! PEND) {
> -      PFETCH_S(c);
> -      if (c == ']')
> -        return ONIGERR_INVALID_POSIX_BRACKET_TYPE;
> -    }
> -  }
> -
> -  return 1;  /* 1: is not POSIX bracket, but no error. */
> -}
> -
> -static int
> -fetch_char_property_to_ctype(UChar** src, UChar* end, ScanEnv* env)
> -{
> -  int r;
> -  OnigCodePoint c;
> -  OnigEncoding enc = env->enc;
> -  UChar *prev, *start, *p = *src;
> -
> -  r = 0;
> -  start = prev = p;
> -
> -  while (!PEND) {
> -    prev = p;
> -    PFETCH_S(c);
> -    if (c == '}') {
> -      r = ONIGENC_PROPERTY_NAME_TO_CTYPE(enc, start, prev);
> -      if (r < 0) break;
> -
> -      *src = p;
> -      return r;
> -    }
> -    else if (c == '(' || c == ')' || c == '{' || c == '|') {
> -      r = ONIGERR_INVALID_CHAR_PROPERTY_NAME;
> -      break;
> -    }
> -  }
> -
> -  onig_scan_env_set_error_string(env, r, *src, prev);
> -  return r;
> -}
> -
> -static int
> -parse_char_property(Node** np, PToken* tok, UChar** src, UChar* end,
> ScanEnv* env)
> -{
> -  int r, ctype;
> -  CClassNode* cc;
> -
> -  ctype = fetch_char_property_to_ctype(src, end, env);
> -  if (ctype < 0) return ctype;
> -
> -  *np = node_new_cclass();
> -  CHECK_NULL_RETURN_MEMERR(*np);
> -  cc = CCLASS_(*np);
> -  r = add_ctype_to_cc(cc, ctype, 0, env);
> -  if (r != 0) return r;
> -  if (tok->u.prop.not != 0) NCCLASS_SET_NOT(cc);
> -
> -  return 0;
> -}
> -
> -
> -enum CCSTATE {
> -  CCS_VALUE,
> -  CCS_RANGE,
> -  CCS_COMPLETE,
> -  CCS_START
> -};
> -
> -enum CCVALTYPE {
> -  CCV_SB,
> -  CCV_CODE_POINT,
> -  CCV_CLASS
> -};
> -
> -static int
> -next_state_class(CClassNode* cc, OnigCodePoint* vs, enum CCVALTYPE*
> type,
> -                 enum CCSTATE* state, ScanEnv* env)
> -{
> -  int r;
> -
> -  if (*state == CCS_RANGE)
> -    return ONIGERR_CHAR_CLASS_VALUE_AT_END_OF_RANGE;
> -
> -  if (*state == CCS_VALUE && *type != CCV_CLASS) {
> -    if (*type == CCV_SB)
> -      BITSET_SET_BIT(cc->bs, (int )(*vs));
> -    else if (*type == CCV_CODE_POINT) {
> -      r = add_code_range(&(cc->mbuf), env, *vs, *vs);
> -      if (r < 0) return r;
> -    }
> -  }
> -
> -  *state = CCS_VALUE;
> -  *type  = CCV_CLASS;
> -  return 0;
> -}
> -
> -static int
> -next_state_val(CClassNode* cc, OnigCodePoint *from, OnigCodePoint to,
> -               int* from_israw, int to_israw,
> -               enum CCVALTYPE intype, enum CCVALTYPE* type,
> -               enum CCSTATE* state, ScanEnv* env)
> -{
> -  int r;
> -
> -  switch (*state) {
> -  case CCS_VALUE:
> -    if (*type == CCV_SB) {
> -      if (*from > 0xff)
> -          return ONIGERR_INVALID_CODE_POINT_VALUE;
> -
> -      BITSET_SET_BIT(cc->bs, (int )(*from));
> -    }
> -    else if (*type == CCV_CODE_POINT) {
> -      r = add_code_range(&(cc->mbuf), env, *from, *from);
> -      if (r < 0) return r;
> -    }
> -    break;
> -
> -  case CCS_RANGE:
> -    if (intype == *type) {
> -      if (intype == CCV_SB) {
> -        if (*from > 0xff || to > 0xff)
> -          return ONIGERR_INVALID_CODE_POINT_VALUE;
> -
> -        if (*from > to) {
> -          if (IS_SYNTAX_BV(env->syntax,
> ONIG_SYN_ALLOW_EMPTY_RANGE_IN_CC))
> -            goto ccs_range_end;
> -          else
> -            return ONIGERR_EMPTY_RANGE_IN_CHAR_CLASS;
> -        }
> -        bitset_set_range(cc->bs, (int )*from, (int )to);
> -      }
> -      else {
> -        r = add_code_range(&(cc->mbuf), env, *from, to);
> -        if (r < 0) return r;
> -      }
> -    }
> -    else {
> -      if (*from > to) {
> -        if (IS_SYNTAX_BV(env->syntax,
> ONIG_SYN_ALLOW_EMPTY_RANGE_IN_CC))
> -          goto ccs_range_end;
> -        else
> -          return ONIGERR_EMPTY_RANGE_IN_CHAR_CLASS;
> -      }
> -      bitset_set_range(cc->bs, (int )*from, (int )(to < 0xff ? to : 0xff));
> -      r = add_code_range(&(cc->mbuf), env, (OnigCodePoint )*from, to);
> -      if (r < 0) return r;
> -    }
> -  ccs_range_end:
> -    *state = CCS_COMPLETE;
> -    break;
> -
> -  case CCS_COMPLETE:
> -  case CCS_START:
> -    *state = CCS_VALUE;
> -    break;
> -
> -  default:
> -    break;
> -  }
> -
> -  *from_israw = to_israw;
> -  *from       = to;
> -  *type       = intype;
> -  return 0;
> -}
> -
> -static int
> -code_exist_check(OnigCodePoint c, UChar* from, UChar* end, int
> ignore_escaped,
> -                 ScanEnv* env)
> -{
> -  int in_esc;
> -  OnigCodePoint code;
> -  OnigEncoding enc = env->enc;
> -  UChar* p = from;
> -
> -  in_esc = 0;
> -  while (! PEND) {
> -    if (ignore_escaped && in_esc) {
> -      in_esc = 0;
> -    }
> -    else {
> -      PFETCH_S(code);
> -      if (code == c) return 1;
> -      if (code == MC_ESC(env->syntax)) in_esc = 1;
> -    }
> -  }
> -  return 0;
> -}
> -
> -static int
> -parse_char_class(Node** np, PToken* tok, UChar** src, UChar* end,
> ScanEnv* env)
> -{
> -  int r, neg, len, fetched, and_start;
> -  OnigCodePoint v, vs;
> -  UChar *p;
> -  Node* node;
> -  CClassNode *cc, *prev_cc;
> -  CClassNode work_cc;
> -
> -  enum CCSTATE state;
> -  enum CCVALTYPE val_type, in_type;
> -  int val_israw, in_israw;
> -
> -  *np = NULL_NODE;
> -  env->parse_depth++;
> -  if (env->parse_depth > ParseDepthLimit)
> -    return ONIGERR_PARSE_DEPTH_LIMIT_OVER;
> -
> -  prev_cc = (CClassNode* )NULL;
> -  r = fetch_token_in_cc(tok, src, end, env);
> -  if (r == TK_CHAR && tok->u.c == '^' && tok->escaped == 0) {
> -    neg = 1;
> -    r = fetch_token_in_cc(tok, src, end, env);
> -  }
> -  else {
> -    neg = 0;
> -  }
> -
> -  if (r < 0) return r;
> -  if (r == TK_CC_CLOSE) {
> -    if (! code_exist_check((OnigCodePoint )']',
> -                           *src, env->pattern_end, 1, env))
> -      return ONIGERR_EMPTY_CHAR_CLASS;
> -
> -    CC_ESC_WARN(env, (UChar* )"]");
> -    r = tok->type = TK_CHAR;  /* allow []...] */
> -  }
> -
> -  *np = node = node_new_cclass();
> -  CHECK_NULL_RETURN_MEMERR(node);
> -  cc = CCLASS_(node);
> -
> -  and_start = 0;
> -  state = CCS_START;
> -  p = *src;
> -  while (r != TK_CC_CLOSE) {
> -    fetched = 0;
> -    switch (r) {
> -    case TK_CHAR:
> -    any_char_in:
> -      len = ONIGENC_CODE_TO_MBCLEN(env->enc, tok->u.c);
> -      if (len > 1) {
> -        in_type = CCV_CODE_POINT;
> -      }
> -      else if (len < 0) {
> -        r = len;
> -        goto err;
> -      }
> -      else {
> -        /* sb_char: */
> -        in_type = CCV_SB;
> -      }
> -      v = (OnigCodePoint )tok->u.c;
> -      in_israw = 0;
> -      goto val_entry2;
> -      break;
> -
> -    case TK_RAW_BYTE:
> -      /* tok->base != 0 : octal or hexadec. */
> -      if (! ONIGENC_IS_SINGLEBYTE(env->enc) && tok->base != 0) {
> -        int i, j;
> -        UChar buf[ONIGENC_CODE_TO_MBC_MAXLEN];
> -        UChar* bufe = buf + ONIGENC_CODE_TO_MBC_MAXLEN;
> -        UChar* psave = p;
> -        int base = tok->base;
> -
> -        buf[0] = tok->u.c;
> -        for (i = 1; i < ONIGENC_MBC_MAXLEN(env->enc); i++) {
> -          r = fetch_token_in_cc(tok, &p, end, env);
> -          if (r < 0) goto err;
> -          if (r != TK_RAW_BYTE || tok->base != base) {
> -            fetched = 1;
> -            break;
> -          }
> -          buf[i] = tok->u.c;
> -        }
> -
> -        if (i < ONIGENC_MBC_MINLEN(env->enc)) {
> -          r = ONIGERR_TOO_SHORT_MULTI_BYTE_STRING;
> -          goto err;
> -        }
> -
> -        /* clear buf tail */
> -        for (j = i; j < ONIGENC_CODE_TO_MBC_MAXLEN; j++) buf[j] = '\0';
> -
> -        len = enclen(env->enc, buf);
> -        if (i < len) {
> -          r = ONIGERR_TOO_SHORT_MULTI_BYTE_STRING;
> -          goto err;
> -        }
> -        else if (i > len) { /* fetch back */
> -          p = psave;
> -          for (i = 1; i < len; i++) {
> -            r = fetch_token_in_cc(tok, &p, end, env);
> -          }
> -          fetched = 0;
> -        }
> -
> -        if (i == 1) {
> -          v = (OnigCodePoint )buf[0];
> -          goto raw_single;
> -        }
> -        else {
> -          v = ONIGENC_MBC_TO_CODE(env->enc, buf, bufe);
> -          in_type = CCV_CODE_POINT;
> -        }
> -      }
> -      else {
> -        v = (OnigCodePoint )tok->u.c;
> -      raw_single:
> -        in_type = CCV_SB;
> -      }
> -      in_israw = 1;
> -      goto val_entry2;
> -      break;
> -
> -    case TK_CODE_POINT:
> -      v = tok->u.code;
> -      in_israw = 1;
> -    val_entry:
> -      len = ONIGENC_CODE_TO_MBCLEN(env->enc, v);
> -      if (len < 0) {
> -        if (state != CCS_RANGE ||
> -            ! IS_SYNTAX_BV(env->syntax,
> -                           ONIG_SYN_ALLOW_INVALID_CODE_END_OF_RANGE_IN_CC)
> ||
> -            v < 0x100 || ONIGENC_MBC_MAXLEN(env->enc) == 1) {
> -          r = len;
> -          goto err;
> -        }
> -      }
> -      in_type = (len == 1 ? CCV_SB : CCV_CODE_POINT);
> -    val_entry2:
> -      r = next_state_val(cc, &vs, v, &val_israw, in_israw, in_type, &val_type,
> -                         &state, env);
> -      if (r != 0) goto err;
> -      break;
> -
> -    case TK_POSIX_BRACKET_OPEN:
> -      r = parse_posix_bracket(cc, &p, end, env);
> -      if (r < 0) goto err;
> -      if (r == 1) {  /* is not POSIX bracket */
> -        CC_ESC_WARN(env, (UChar* )"[");
> -        p = tok->backp;
> -        v = (OnigCodePoint )tok->u.c;
> -        in_israw = 0;
> -        goto val_entry;
> -      }
> -      goto next_class;
> -      break;
> -
> -    case TK_CHAR_TYPE:
> -      r = add_ctype_to_cc(cc, tok->u.prop.ctype, tok->u.prop.not, env);
> -      if (r != 0) goto err;
> -
> -    next_class:
> -      r = next_state_class(cc, &vs, &val_type, &state, env);
> -      if (r != 0) goto err;
> -      break;
> -
> -    case TK_CHAR_PROPERTY:
> -      {
> -        int ctype = fetch_char_property_to_ctype(&p, end, env);
> -        if (ctype < 0) {
> -          r = ctype;
> -          goto err;
> -        }
> -        r = add_ctype_to_cc(cc, ctype, tok->u.prop.not, env);
> -        if (r != 0) goto err;
> -        goto next_class;
> -      }
> -      break;
> -
> -    case TK_CC_RANGE:
> -      if (state == CCS_VALUE) {
> -        r = fetch_token_in_cc(tok, &p, end, env);
> -        if (r < 0) goto err;
> -        fetched = 1;
> -        if (r == TK_CC_CLOSE) { /* allow [x-] */
> -        range_end_val:
> -          v = (OnigCodePoint )'-';
> -          in_israw = 0;
> -          goto val_entry;
> -        }
> -        else if (r == TK_CC_AND) {
> -          CC_ESC_WARN(env, (UChar* )"-");
> -          goto range_end_val;
> -        }
> -
> -        if (val_type == CCV_CLASS) {
> -          r = ONIGERR_UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS;
> -          goto err;
> -        }
> -
> -        state = CCS_RANGE;
> -      }
> -      else if (state == CCS_START) {
> -        /* [-xa] is allowed */
> -        v = (OnigCodePoint )tok->u.c;
> -        in_israw = 0;
> -
> -        r = fetch_token_in_cc(tok, &p, end, env);
> -        if (r < 0) goto err;
> -        fetched = 1;
> -        /* [--x] or [a&&-x] is warned. */
> -        if (r == TK_CC_RANGE || and_start != 0)
> -          CC_ESC_WARN(env, (UChar* )"-");
> -
> -        goto val_entry;
> -      }
> -      else if (state == CCS_RANGE) {
> -        CC_ESC_WARN(env, (UChar* )"-");
> -        goto any_char_in;  /* [!--x] is allowed */
> -      }
> -      else { /* CCS_COMPLETE */
> -        r = fetch_token_in_cc(tok, &p, end, env);
> -        if (r < 0) goto err;
> -        fetched = 1;
> -        if (r == TK_CC_CLOSE) goto range_end_val; /* allow [a-b-] */
> -        else if (r == TK_CC_AND) {
> -          CC_ESC_WARN(env, (UChar* )"-");
> -          goto range_end_val;
> -        }
> -
> -        if (IS_SYNTAX_BV(env->syntax,
> ONIG_SYN_ALLOW_DOUBLE_RANGE_OP_IN_CC)) {
> -          CC_ESC_WARN(env, (UChar* )"-");
> -          goto range_end_val;   /* [0-9-a] is allowed as [0-9\-a] */
> -        }
> -        r = ONIGERR_UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS;
> -        goto err;
> -      }
> -      break;
> -
> -    case TK_CC_CC_OPEN: /* [ */
> -      {
> -        Node *anode;
> -        CClassNode* acc;
> -
> -        r = parse_char_class(&anode, tok, &p, end, env);
> -        if (r != 0) {
> -          onig_node_free(anode);
> -          goto cc_open_err;
> -        }
> -        acc = CCLASS_(anode);
> -        r = or_cclass(cc, acc, env->enc);
> -        onig_node_free(anode);
> -
> -      cc_open_err:
> -        if (r != 0) goto err;
> -      }
> -      break;
> -
> -    case TK_CC_AND: /* && */
> -      {
> -        if (state == CCS_VALUE) {
> -          r = next_state_val(cc, &vs, 0, &val_israw, 0, val_type,
> -                             &val_type, &state, env);
> -          if (r != 0) goto err;
> -        }
> -        /* initialize local variables */
> -        and_start = 1;
> -        state = CCS_START;
> -
> -        if (IS_NOT_NULL(prev_cc)) {
> -          r = and_cclass(prev_cc, cc, env->enc);
> -          if (r != 0) goto err;
> -          bbuf_free(cc->mbuf);
> -        }
> -        else {
> -          prev_cc = cc;
> -          cc = &work_cc;
> -        }
> -        initialize_cclass(cc);
> -      }
> -      break;
> -
> -    case TK_EOT:
> -      r = ONIGERR_PREMATURE_END_OF_CHAR_CLASS;
> -      goto err;
> -      break;
> -    default:
> -      r = ONIGERR_PARSER_BUG;
> -      goto err;
> -      break;
> -    }
> -
> -    if (fetched)
> -      r = tok->type;
> -    else {
> -      r = fetch_token_in_cc(tok, &p, end, env);
> -      if (r < 0) goto err;
> -    }
> -  }
> -
> -  if (state == CCS_VALUE) {
> -    r = next_state_val(cc, &vs, 0, &val_israw, 0, val_type,
> -                       &val_type, &state, env);
> -    if (r != 0) goto err;
> -  }
> -
> -  if (IS_NOT_NULL(prev_cc)) {
> -    r = and_cclass(prev_cc, cc, env->enc);
> -    if (r != 0) goto err;
> -    bbuf_free(cc->mbuf);
> -    cc = prev_cc;
> -  }
> -
> -  if (neg != 0)
> -    NCCLASS_SET_NOT(cc);
> -  else
> -    NCCLASS_CLEAR_NOT(cc);
> -  if (IS_NCCLASS_NOT(cc) &&
> -      IS_SYNTAX_BV(env->syntax,
> ONIG_SYN_NOT_NEWLINE_IN_NEGATIVE_CC)) {
> -    int is_empty = (IS_NULL(cc->mbuf) ? 1 : 0);
> -    if (is_empty != 0)
> -      BITSET_IS_EMPTY(cc->bs, is_empty);
> -
> -    if (is_empty == 0) {
> -#define NEWLINE_CODE    0x0a
> -
> -      if (ONIGENC_IS_CODE_NEWLINE(env->enc, NEWLINE_CODE)) {
> -        if (ONIGENC_CODE_TO_MBCLEN(env->enc, NEWLINE_CODE) == 1)
> -          BITSET_SET_BIT(cc->bs, NEWLINE_CODE);
> -        else
> -          add_code_range(&(cc->mbuf), env, NEWLINE_CODE, NEWLINE_CODE);
> -      }
> -    }
> -  }
> -  *src = p;
> -  env->parse_depth--;
> -  return 0;
> -
> - err:
> -  if (cc != CCLASS_(*np))
> -    bbuf_free(cc->mbuf);
> -  return r;
> -}
> -
> -static int parse_subexp(Node** top, PToken* tok, int term,
> -                        UChar** src, UChar* end, ScanEnv* env, int group_head);
> -
> -#ifdef USE_CALLOUT
> -
> -/* (?{...}[tag][+-]) (?{{...}}[tag][+-]) */
> -static int
> -parse_callout_of_contents(Node** np, int cterm, UChar** src, UChar* end,
> ScanEnv* env)
> -{
> -  int r;
> -  int i;
> -  int in;
> -  int num;
> -  OnigCodePoint c;
> -  UChar* code_start;
> -  UChar* code_end;
> -  UChar* contents;
> -  UChar* tag_start;
> -  UChar* tag_end;
> -  int brace_nest;
> -  CalloutListEntry* e;
> -  RegexExt* ext;
> -  OnigEncoding enc = env->enc;
> -  UChar* p = *src;
> -
> -  if (PEND) return ONIGERR_INVALID_CALLOUT_PATTERN;
> -
> -  brace_nest = 0;
> -  while (PPEEK_IS('{')) {
> -    brace_nest++;
> -    PINC_S;
> -    if (PEND) return ONIGERR_INVALID_CALLOUT_PATTERN;
> -  }
> -
> -  in = ONIG_CALLOUT_IN_PROGRESS;
> -  code_start = p;
> -  while (1) {
> -    if (PEND) return ONIGERR_INVALID_CALLOUT_PATTERN;
> -
> -    code_end = p;
> -    PFETCH_S(c);
> -    if (c == '}') {
> -      i = brace_nest;
> -      while (i > 0) {
> -        if (PEND) return ONIGERR_INVALID_CALLOUT_PATTERN;
> -        PFETCH_S(c);
> -        if (c == '}') i--;
> -        else break;
> -      }
> -      if (i == 0) break;
> -    }
> -  }
> -
> -  if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -
> -  PFETCH_S(c);
> -  if (c == '[') {
> -    if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -    tag_end = tag_start = p;
> -    while (! PEND) {
> -      if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -      tag_end = p;
> -      PFETCH_S(c);
> -      if (c == ']') break;
> -    }
> -    if (! is_allowed_callout_tag_name(enc, tag_start, tag_end))
> -      return ONIGERR_INVALID_CALLOUT_TAG_NAME;
> -
> -    if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -    PFETCH_S(c);
> -  }
> -  else {
> -    tag_start = tag_end = 0;
> -  }
> -
> -  if (c == 'X') {
> -    in |= ONIG_CALLOUT_IN_RETRACTION;
> -    if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -    PFETCH_S(c);
> -  }
> -  else if (c == '<') {
> -    in = ONIG_CALLOUT_IN_RETRACTION;
> -    if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -    PFETCH_S(c);
> -  }
> -  else if (c == '>') { /* no needs (default) */
> -    if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -    PFETCH_S(c);
> -  }
> -
> -  if (c != cterm)
> -    return ONIGERR_INVALID_CALLOUT_PATTERN;
> -
> -  r = reg_callout_list_entry(env, &num);
> -  if (r != 0) return r;
> -
> -  ext = onig_get_regex_ext(env->reg);
> -  CHECK_NULL_RETURN_MEMERR(ext);
> -  if (IS_NULL(ext->pattern)) {
> -    r = onig_ext_set_pattern(env->reg, env->pattern, env->pattern_end);
> -    if (r != ONIG_NORMAL) return r;
> -  }
> -
> -  if (tag_start != tag_end) {
> -    r = callout_tag_entry(env, env->reg, tag_start, tag_end, num);
> -    if (r != ONIG_NORMAL) return r;
> -  }
> -
> -  contents = onigenc_strdup(enc, code_start, code_end);
> -  CHECK_NULL_RETURN_MEMERR(contents);
> -
> -  r = node_new_callout(np, ONIG_CALLOUT_OF_CONTENTS, num,
> ONIG_NON_NAME_ID, env);
> -  if (r != 0) {
> -    xfree(contents);
> -    return r;
> -  }
> -
> -  e = onig_reg_callout_list_at(env->reg, num);
> -  if (IS_NULL(e)) {
> -    xfree(contents);
> -    return ONIGERR_MEMORY;
> -  }
> -
> -  e->of      = ONIG_CALLOUT_OF_CONTENTS;
> -  e->in      = in;
> -  e->name_id = ONIG_NON_NAME_ID;
> -  e->u.content.start = contents;
> -  e->u.content.end   = contents + (code_end - code_start);
> -
> -  *src = p;
> -  return 0;
> -}
> -
> -static long
> -parse_long(OnigEncoding enc, UChar* s, UChar* end, int sign_on, long max,
> long* rl)
> -{
> -  long v;
> -  long d;
> -  int flag;
> -  UChar* p;
> -  OnigCodePoint c;
> -
> -  if (s >= end) return ONIGERR_INVALID_CALLOUT_ARG;
> -
> -  flag = 1;
> -  v = 0;
> -  p = s;
> -  while (p < end) {
> -    c = ONIGENC_MBC_TO_CODE(enc, p, end);
> -    p += ONIGENC_MBC_ENC_LEN(enc, p);
> -    if (c >= '0' && c <= '9') {
> -      d = (long )(c - '0');
> -      if (v > (max - d) / 10)
> -        return ONIGERR_INVALID_CALLOUT_ARG;
> -
> -      v = v * 10 + d;
> -    }
> -    else if (sign_on != 0 && (c == '-' || c == '+')) {
> -      if (c == '-') flag = -1;
> -    }
> -    else
> -      return ONIGERR_INVALID_CALLOUT_ARG;
> -
> -    sign_on = 0;
> -  }
> -
> -  *rl = flag * v;
> -  return ONIG_NORMAL;
> -}
> -
> -static int
> -parse_callout_args(int skip_mode, int cterm, UChar** src, UChar* end,
> -                   unsigned int types[], OnigValue vals[], ScanEnv* env)
> -{
> -#define MAX_CALLOUT_ARG_BYTE_LENGTH   128
> -
> -  int r;
> -  int n;
> -  int esc;
> -  int cn;
> -  UChar* s;
> -  UChar* e;
> -  UChar* eesc;
> -  OnigCodePoint c;
> -  UChar* bufend;
> -  UChar buf[MAX_CALLOUT_ARG_BYTE_LENGTH];
> -  OnigEncoding enc = env->enc;
> -  UChar* p = *src;
> -
> -  if (PEND) return ONIGERR_INVALID_CALLOUT_PATTERN;
> -
> -  n = 0;
> -  while (n < ONIG_CALLOUT_MAX_ARGS_NUM) {
> -    c   = 0;
> -    cn  = 0;
> -    esc = 0;
> -    eesc = 0;
> -    bufend = buf;
> -    s = e = p;
> -    while (1) {
> -      if (PEND) return ONIGERR_INVALID_CALLOUT_PATTERN;
> -
> -      e = p;
> -      PFETCH_S(c);
> -      if (esc != 0) {
> -        esc = 0;
> -        if (c == '\\' || c == cterm || c == ',') {
> -          /* */
> -        }
> -        else {
> -          e = eesc;
> -          cn++;
> -        }
> -        goto add_char;
> -      }
> -      else {
> -        if (c == '\\') {
> -          esc = 1;
> -          eesc = e;
> -        }
> -        else if (c == cterm || c == ',')
> -          break;
> -        else {
> -          size_t clen;
> -
> -        add_char:
> -          if (skip_mode == 0) {
> -            clen = p - e;
> -            if (bufend + clen > buf + MAX_CALLOUT_ARG_BYTE_LENGTH)
> -              return ONIGERR_INVALID_CALLOUT_ARG; /* too long argument */
> -
> -            xmemcpy(bufend, e, clen);
> -            bufend += clen;
> -          }
> -          cn++;
> -        }
> -      }
> -    }
> -
> -    if (cn != 0) {
> -      if (skip_mode == 0) {
> -        if ((types[n] & ONIG_TYPE_LONG) != 0) {
> -          int fixed = 0;
> -          if (cn > 0) {
> -            long rl;
> -            r = parse_long(enc, buf, bufend, 1, LONG_MAX, &rl);
> -            if (r == ONIG_NORMAL) {
> -              vals[n].l = rl;
> -              fixed = 1;
> -              types[n] = ONIG_TYPE_LONG;
> -            }
> -          }
> -
> -          if (fixed == 0) {
> -            types[n] = (types[n] & ~ONIG_TYPE_LONG);
> -            if (types[n] == ONIG_TYPE_VOID)
> -              return ONIGERR_INVALID_CALLOUT_ARG;
> -          }
> -        }
> -
> -        switch (types[n]) {
> -        case ONIG_TYPE_LONG:
> -          break;
> -
> -        case ONIG_TYPE_CHAR:
> -          if (cn != 1) return ONIGERR_INVALID_CALLOUT_ARG;
> -          vals[n].c = ONIGENC_MBC_TO_CODE(enc, buf, bufend);
> -          break;
> -
> -        case ONIG_TYPE_STRING:
> -          {
> -            UChar* rs = onigenc_strdup(enc, buf, bufend);
> -            CHECK_NULL_RETURN_MEMERR(rs);
> -            vals[n].s.start = rs;
> -            vals[n].s.end   = rs + (e - s);
> -          }
> -          break;
> -
> -        case ONIG_TYPE_TAG:
> -          if (eesc != 0 || ! is_allowed_callout_tag_name(enc, s, e))
> -            return ONIGERR_INVALID_CALLOUT_TAG_NAME;
> -
> -          vals[n].s.start = s;
> -          vals[n].s.end   = e;
> -          break;
> -
> -        case ONIG_TYPE_VOID:
> -        case ONIG_TYPE_POINTER:
> -          return ONIGERR_PARSER_BUG;
> -          break;
> -        }
> -      }
> -
> -      n++;
> -    }
> -
> -    if (c == cterm) break;
> -  }
> -
> -  if (c != cterm) return ONIGERR_INVALID_CALLOUT_PATTERN;
> -
> -  *src = p;
> -  return n;
> -}
> -
> -/* (*name[TAG]) (*name[TAG]{a,b,..}) */
> -static int
> -parse_callout_of_name(Node** np, int cterm, UChar** src, UChar* end,
> ScanEnv* env)
> -{
> -  int r;
> -  int i;
> -  int in;
> -  int num;
> -  int name_id;
> -  int arg_num;
> -  int max_arg_num;
> -  int opt_arg_num;
> -  int is_not_single;
> -  OnigCodePoint c;
> -  UChar* name_start;
> -  UChar* name_end;
> -  UChar* tag_start;
> -  UChar* tag_end;
> -  Node*  node;
> -  CalloutListEntry* e;
> -  RegexExt* ext;
> -  unsigned int types[ONIG_CALLOUT_MAX_ARGS_NUM];
> -  OnigValue    vals[ONIG_CALLOUT_MAX_ARGS_NUM];
> -  OnigEncoding enc = env->enc;
> -  UChar* p = *src;
> -
> -  /* PFETCH_READY; */
> -  if (PEND) return ONIGERR_INVALID_CALLOUT_PATTERN;
> -
> -  node = 0;
> -  name_start = p;
> -  while (1) {
> -    if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -    name_end = p;
> -    PFETCH_S(c);
> -    if (c == cterm || c == '[' || c == '{') break;
> -  }
> -
> -  if (! is_allowed_callout_name(enc, name_start, name_end))
> -    return ONIGERR_INVALID_CALLOUT_NAME;
> -
> -  if (c == '[') {
> -    if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -    tag_end = tag_start = p;
> -    while (! PEND) {
> -      if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -      tag_end = p;
> -      PFETCH_S(c);
> -      if (c == ']') break;
> -    }
> -    if (! is_allowed_callout_tag_name(enc, tag_start, tag_end))
> -      return ONIGERR_INVALID_CALLOUT_TAG_NAME;
> -
> -    if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -    PFETCH_S(c);
> -  }
> -  else {
> -    tag_start = tag_end = 0;
> -  }
> -
> -  if (c == '{') {
> -    UChar* save;
> -
> -    if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -
> -    /* read for single check only */
> -    save = p;
> -    arg_num = parse_callout_args(1, '}', &p, end, 0, 0, env);
> -    if (arg_num < 0) return arg_num;
> -
> -    is_not_single = PPEEK_IS(cterm) ?  0 : 1;
> -    p = save;
> -    r = get_callout_name_id_by_name(enc, is_not_single, name_start,
> name_end,
> -                                    &name_id);
> -    if (r != ONIG_NORMAL) return r;
> -
> -    max_arg_num = get_callout_arg_num_by_name_id(name_id);
> -    for (i = 0; i < max_arg_num; i++) {
> -      types[i] = get_callout_arg_type_by_name_id(name_id, i);
> -    }
> -
> -    arg_num = parse_callout_args(0, '}', &p, end, types, vals, env);
> -    if (arg_num < 0) return arg_num;
> -
> -    if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -    PFETCH_S(c);
> -  }
> -  else {
> -    arg_num = 0;
> -
> -    is_not_single = 0;
> -    r = get_callout_name_id_by_name(enc, is_not_single, name_start,
> name_end,
> -                                      &name_id);
> -    if (r != ONIG_NORMAL) return r;
> -
> -    max_arg_num = get_callout_arg_num_by_name_id(name_id);
> -    for (i = 0; i < max_arg_num; i++) {
> -      types[i] = get_callout_arg_type_by_name_id(name_id, i);
> -    }
> -  }
> -
> -  in = onig_get_callout_in_by_name_id(name_id);
> -  opt_arg_num = get_callout_opt_arg_num_by_name_id(name_id);
> -  if (arg_num > max_arg_num || arg_num < (max_arg_num - opt_arg_num))
> -    return ONIGERR_INVALID_CALLOUT_ARG;
> -
> -  if (c != cterm)
> -    return ONIGERR_INVALID_CALLOUT_PATTERN;
> -
> -  r = reg_callout_list_entry(env, &num);
> -  if (r != 0) return r;
> -
> -  ext = onig_get_regex_ext(env->reg);
> -  CHECK_NULL_RETURN_MEMERR(ext);
> -  if (IS_NULL(ext->pattern)) {
> -    r = onig_ext_set_pattern(env->reg, env->pattern, env->pattern_end);
> -    if (r != ONIG_NORMAL) return r;
> -  }
> -
> -  if (tag_start != tag_end) {
> -    r = callout_tag_entry(env, env->reg, tag_start, tag_end, num);
> -    if (r != ONIG_NORMAL) return r;
> -  }
> -
> -  r = node_new_callout(&node, ONIG_CALLOUT_OF_NAME, num, name_id,
> env);
> -  if (r != ONIG_NORMAL) return r;
> -
> -  e = onig_reg_callout_list_at(env->reg, num);
> -  CHECK_NULL_RETURN_MEMERR(e);
> -
> -  e->of         = ONIG_CALLOUT_OF_NAME;
> -  e->in         = in;
> -  e->name_id    = name_id;
> -  e->type       = onig_get_callout_type_by_name_id(name_id);
> -  e->start_func = onig_get_callout_start_func_by_name_id(name_id);
> -  e->end_func   = onig_get_callout_end_func_by_name_id(name_id);
> -  e->u.arg.num        = max_arg_num;
> -  e->u.arg.passed_num = arg_num;
> -  for (i = 0; i < max_arg_num; i++) {
> -    e->u.arg.types[i] = types[i];
> -    if (i < arg_num)
> -      e->u.arg.vals[i] = vals[i];
> -    else
> -      e->u.arg.vals[i] = get_callout_opt_default_by_name_id(name_id, i);
> -  }
> -
> -  *np = node;
> -  *src = p;
> -  return 0;
> -}
> -#endif
> -
> -static int
> -parse_bag(Node** np, PToken* tok, int term, UChar** src, UChar* end,
> -          ScanEnv* env)
> -{
> -  int r, num;
> -  Node *target;
> -  OnigOptionType option;
> -  OnigCodePoint c;
> -  int list_capture;
> -  OnigEncoding enc = env->enc;
> -
> -  UChar* p = *src;
> -  PFETCH_READY;
> -
> -  *np = NULL;
> -  if (PEND) return
> ONIGERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS;
> -
> -  option = env->options;
> -  c = PPEEK;
> -  if (c == '?' && IS_SYNTAX_OP2(env->syntax,
> ONIG_SYN_OP2_QMARK_GROUP_EFFECT)) {
> -    PINC;
> -    if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -
> -    PFETCH(c);
> -    switch (c) {
> -    case ':':   /* (?:...) grouping only */
> -    group:
> -      r = fetch_token(tok, &p, end, env);
> -      if (r < 0) return r;
> -      r = parse_subexp(np, tok, term, &p, end, env, 0);
> -      if (r < 0) return r;
> -      *src = p;
> -      return 1; /* group */
> -      break;
> -
> -    case '=':
> -      *np = onig_node_new_anchor(ANCR_PREC_READ, 0);
> -      break;
> -    case '!':  /*         preceding read */
> -      *np = onig_node_new_anchor(ANCR_PREC_READ_NOT, 0);
> -      break;
> -    case '>':            /* (?>...) stop backtrack */
> -      *np = node_new_bag(BAG_STOP_BACKTRACK);
> -      break;
> -
> -    case '\'':
> -      if (IS_SYNTAX_OP2(env->syntax,
> ONIG_SYN_OP2_QMARK_LT_NAMED_GROUP)) {
> -        goto named_group1;
> -      }
> -      else
> -        return ONIGERR_UNDEFINED_GROUP_OPTION;
> -      break;
> -
> -    case '<':   /* look behind (?<=...), (?<!...) */
> -      if (PEND) return
> ONIGERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS;
> -      PFETCH(c);
> -      if (c == '=')
> -        *np = onig_node_new_anchor(ANCR_LOOK_BEHIND, 0);
> -      else if (c == '!')
> -        *np = onig_node_new_anchor(ANCR_LOOK_BEHIND_NOT, 0);
> -      else {
> -        if (IS_SYNTAX_OP2(env->syntax,
> ONIG_SYN_OP2_QMARK_LT_NAMED_GROUP)) {
> -          UChar *name;
> -          UChar *name_end;
> -          enum REF_NUM num_type;
> -
> -          PUNFETCH;
> -          c = '<';
> -
> -        named_group1:
> -          list_capture = 0;
> -
> -        named_group2:
> -          name = p;
> -          r = fetch_name((OnigCodePoint )c, &p, end, &name_end, env, &num,
> -                         &num_type, 0);
> -          if (r < 0) return r;
> -
> -          num = scan_env_add_mem_entry(env);
> -          if (num < 0) return num;
> -          if (list_capture != 0 && num >= (int )MEM_STATUS_BITS_NUM)
> -            return ONIGERR_GROUP_NUMBER_OVER_FOR_CAPTURE_HISTORY;
> -
> -          r = name_add(env->reg, name, name_end, num, env);
> -          if (r != 0) return r;
> -          *np = node_new_memory(1);
> -          CHECK_NULL_RETURN_MEMERR(*np);
> -          BAG_(*np)->m.regnum = num;
> -          if (list_capture != 0)
> -            MEM_STATUS_ON_SIMPLE(env->capture_history, num);
> -          env->num_named++;
> -        }
> -        else {
> -          return ONIGERR_UNDEFINED_GROUP_OPTION;
> -        }
> -      }
> -      break;
> -
> -    case '~':
> -      if (IS_SYNTAX_OP2(env->syntax,
> ONIG_SYN_OP2_QMARK_TILDE_ABSENT_GROUP)) {
> -        Node* absent;
> -        Node* expr;
> -        int head_bar;
> -        int is_range_cutter;
> -
> -        if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -
> -        if (PPEEK_IS('|')) { /* (?~|generator|absent) */
> -          PINC;
> -          if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -
> -          head_bar = 1;
> -          if (PPEEK_IS(')')) { /* (?~|)  : range clear */
> -            PINC;
> -            r = make_range_clear(np, env);
> -            if (r != 0) return r;
> -            goto end;
> -          }
> -        }
> -        else
> -          head_bar = 0;
> -
> -        r = fetch_token(tok, &p, end, env);
> -        if (r < 0) return r;
> -        r = parse_subexp(&absent, tok, term, &p, end, env, 1);
> -        if (r < 0) {
> -          onig_node_free(absent);
> -          return r;
> -        }
> -
> -        expr = NULL_NODE;
> -        is_range_cutter = 0;
> -        if (head_bar != 0) {
> -          Node* top = absent;
> -          if (NODE_TYPE(top) != NODE_ALT || IS_NULL(NODE_CDR(top))) {
> -            expr = NULL_NODE;
> -            is_range_cutter = 1;
> -            /* return
> ONIGERR_INVALID_ABSENT_GROUP_GENERATOR_PATTERN; */
> -          }
> -          else {
> -            absent = NODE_CAR(top);
> -            expr   = NODE_CDR(top);
> -            NODE_CAR(top) = NULL_NODE;
> -            NODE_CDR(top) = NULL_NODE;
> -            onig_node_free(top);
> -            if (IS_NULL(NODE_CDR(expr))) {
> -              top = expr;
> -              expr = NODE_CAR(top);
> -              NODE_CAR(top) = NULL_NODE;
> -              onig_node_free(top);
> -            }
> -          }
> -        }
> -
> -        r = make_absent_tree(np, absent, expr, is_range_cutter, env);
> -        if (r != 0) {
> -          return r;
> -        }
> -        goto end;
> -      }
> -      else {
> -        return ONIGERR_UNDEFINED_GROUP_OPTION;
> -      }
> -      break;
> -
> -#ifdef USE_CALLOUT
> -    case '{':
> -      if (! IS_SYNTAX_OP2(env->syntax,
> ONIG_SYN_OP2_QMARK_BRACE_CALLOUT_CONTENTS))
> -        return ONIGERR_UNDEFINED_GROUP_OPTION;
> -
> -      r = parse_callout_of_contents(np, ')', &p, end, env);
> -      if (r != 0) return r;
> -
> -      goto end;
> -      break;
> -#endif
> -
> -    case '(':
> -      /* (?()...) */
> -      if (IS_SYNTAX_OP2(env->syntax,
> ONIG_SYN_OP2_QMARK_LPAREN_IF_ELSE)) {
> -        UChar *prev;
> -        Node* condition;
> -        int condition_is_checker;
> -
> -        if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -        PFETCH(c);
> -        if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -
> -        if (IS_CODE_DIGIT_ASCII(enc, c)
> -            || c == '-' || c == '+' || c == '<' || c == '\'') {
> -          UChar* name_end;
> -          int back_num;
> -          int exist_level;
> -          int level;
> -          enum REF_NUM num_type;
> -          int is_enclosed;
> -
> -          is_enclosed = (c == '<' || c == '\'') ? 1 : 0;
> -          if (! is_enclosed)
> -            PUNFETCH;
> -          prev = p;
> -          exist_level = 0;
> -#ifdef USE_BACKREF_WITH_LEVEL
> -          name_end = NULL_UCHARP; /* no need. escape gcc warning. */
> -          r = fetch_name_with_level(
> -                    (OnigCodePoint )(is_enclosed != 0 ? c : '('),
> -                    &p, end, &name_end,
> -                    env, &back_num, &level, &num_type);
> -          if (r == 1) exist_level = 1;
> -#else
> -          r = fetch_name((OnigCodePoint )(is_enclosed != 0 ? c : '('),
> -                         &p, end, &name_end, env, &back_num, &num_type, 1);
> -#endif
> -          if (r < 0) {
> -            if (is_enclosed == 0) {
> -              goto any_condition;
> -            }
> -            else
> -              return r;
> -          }
> -
> -          condition_is_checker = 1;
> -          if (num_type != IS_NOT_NUM) {
> -            if (num_type == IS_REL_NUM) {
> -              back_num = backref_rel_to_abs(back_num, env);
> -            }
> -            if (back_num <= 0)
> -              return ONIGERR_INVALID_BACKREF;
> -
> -            if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_STRICT_CHECK_BACKREF))
> {
> -              if (back_num > env->num_mem ||
> -                  IS_NULL(SCANENV_MEMENV(env)[back_num].node))
> -                return ONIGERR_INVALID_BACKREF;
> -            }
> -
> -            condition = node_new_backref_checker(1, &back_num, 0,
> -#ifdef USE_BACKREF_WITH_LEVEL
> -                                                 exist_level, level,
> -#endif
> -                                                 env);
> -          }
> -          else {
> -            int num;
> -            int* backs;
> -
> -            num = name_to_group_numbers(env, prev, name_end, &backs);
> -            if (num <= 0) {
> -              return ONIGERR_UNDEFINED_NAME_REFERENCE;
> -            }
> -            if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_STRICT_CHECK_BACKREF))
> {
> -              int i;
> -              for (i = 0; i < num; i++) {
> -                if (backs[i] > env->num_mem ||
> -                    IS_NULL(SCANENV_MEMENV(env)[backs[i]].node))
> -                  return ONIGERR_INVALID_BACKREF;
> -              }
> -            }
> -
> -            condition = node_new_backref_checker(num, backs, 1,
> -#ifdef USE_BACKREF_WITH_LEVEL
> -                                                 exist_level, level,
> -#endif
> -                                                 env);
> -          }
> -
> -          if (is_enclosed != 0) {
> -            if (PEND) goto err_if_else;
> -            PFETCH(c);
> -            if (c != ')') goto err_if_else;
> -          }
> -        }
> -#ifdef USE_CALLOUT
> -        else if (c == '?') {
> -          if (IS_SYNTAX_OP2(env->syntax,
> -                            ONIG_SYN_OP2_QMARK_BRACE_CALLOUT_CONTENTS)) {
> -            if (! PEND && PPEEK_IS('{')) {
> -              /* condition part is callouts of contents: (?(?{...})THEN|ELSE) */
> -              condition_is_checker = 0;
> -              PFETCH(c);
> -              r = parse_callout_of_contents(&condition, ')', &p, end, env);
> -              if (r != 0) return r;
> -              goto end_condition;
> -            }
> -          }
> -          goto any_condition;
> -        }
> -        else if (c == '*' &&
> -                 IS_SYNTAX_OP2(env->syntax,
> ONIG_SYN_OP2_ASTERISK_CALLOUT_NAME)) {
> -          condition_is_checker = 0;
> -          r = parse_callout_of_name(&condition, ')', &p, end, env);
> -          if (r != 0) return r;
> -          goto end_condition;
> -        }
> -#endif
> -        else {
> -        any_condition:
> -          PUNFETCH;
> -          condition_is_checker = 0;
> -          r = fetch_token(tok, &p, end, env);
> -          if (r < 0) return r;
> -          r = parse_subexp(&condition, tok, term, &p, end, env, 0);
> -          if (r < 0) {
> -            onig_node_free(condition);
> -            return r;
> -          }
> -        }
> -
> -#ifdef USE_CALLOUT
> -      end_condition:
> -#endif
> -        CHECK_NULL_RETURN_MEMERR(condition);
> -
> -        if (PEND) {
> -        err_if_else:
> -          onig_node_free(condition);
> -          return ONIGERR_END_PATTERN_IN_GROUP;
> -        }
> -
> -        if (PPEEK_IS(')')) { /* case: empty body: make backref checker */
> -          if (condition_is_checker == 0) {
> -            onig_node_free(condition);
> -            return ONIGERR_INVALID_IF_ELSE_SYNTAX;
> -          }
> -          PFETCH(c);
> -          *np = condition;
> -        }
> -        else { /* if-else */
> -          int then_is_empty;
> -          Node *Then, *Else;
> -
> -          Then = 0;
> -          if (PPEEK_IS('|')) {
> -            PFETCH(c);
> -            then_is_empty = 1;
> -          }
> -          else
> -            then_is_empty = 0;
> -
> -          r = fetch_token(tok, &p, end, env);
> -          if (r < 0) {
> -            onig_node_free(condition);
> -            return r;
> -          }
> -          r = parse_subexp(&target, tok, term, &p, end, env, 1);
> -          if (r < 0) {
> -            onig_node_free(condition);
> -            onig_node_free(target);
> -            return r;
> -          }
> -
> -          if (then_is_empty != 0) {
> -            Else = target;
> -          }
> -          else {
> -            if (NODE_TYPE(target) == NODE_ALT) {
> -              Then = NODE_CAR(target);
> -              if (NODE_CDR(NODE_CDR(target)) == NULL_NODE) {
> -                Else = NODE_CAR(NODE_CDR(target));
> -                cons_node_free_alone(NODE_CDR(target));
> -              }
> -              else {
> -                Else = NODE_CDR(target);
> -              }
> -              cons_node_free_alone(target);
> -            }
> -            else {
> -              Then = target;
> -              Else = 0;
> -            }
> -          }
> -
> -          *np = node_new_bag_if_else(condition, Then, Else);
> -          if (IS_NULL(*np)) {
> -            onig_node_free(condition);
> -            onig_node_free(Then);
> -            onig_node_free(Else);
> -            return ONIGERR_MEMORY;
> -          }
> -        }
> -        goto end;
> -      }
> -      else {
> -        return ONIGERR_UNDEFINED_GROUP_OPTION;
> -      }
> -      break;
> -
> -#ifdef USE_CAPTURE_HISTORY
> -    case '@':
> -      if (IS_SYNTAX_OP2(env->syntax,
> ONIG_SYN_OP2_ATMARK_CAPTURE_HISTORY)) {
> -        if (IS_SYNTAX_OP2(env->syntax,
> ONIG_SYN_OP2_QMARK_LT_NAMED_GROUP)) {
> -          PFETCH(c);
> -          if (c == '<' || c == '\'') {
> -            list_capture = 1;
> -            goto named_group2; /* (?@<name>...) */
> -          }
> -          PUNFETCH;
> -        }
> -
> -        *np = node_new_memory(0);
> -        CHECK_NULL_RETURN_MEMERR(*np);
> -        num = scan_env_add_mem_entry(env);
> -        if (num < 0) {
> -          return num;
> -        }
> -        else if (num >= (int )MEM_STATUS_BITS_NUM) {
> -          return ONIGERR_GROUP_NUMBER_OVER_FOR_CAPTURE_HISTORY;
> -        }
> -        BAG_(*np)->m.regnum = num;
> -        MEM_STATUS_ON_SIMPLE(env->capture_history, num);
> -      }
> -      else {
> -        return ONIGERR_UNDEFINED_GROUP_OPTION;
> -      }
> -      break;
> -#endif
> -
> -#ifdef USE_POSIXLINE_OPTION
> -    case 'p':
> -#endif
> -    case '-': case 'i': case 'm': case 's': case 'x':
> -    case 'W': case 'D': case 'S': case 'P':
> -    case 'y':
> -      {
> -        int neg = 0;
> -
> -        while (1) {
> -          switch (c) {
> -          case ':':
> -          case ')':
> -            break;
> -
> -          case '-':  neg = 1; break;
> -          case 'x':  OPTION_NEGATE(option, ONIG_OPTION_EXTEND,     neg);
> break;
> -          case 'i':  OPTION_NEGATE(option, ONIG_OPTION_IGNORECASE, neg);
> break;
> -          case 's':
> -            if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_PERL)) {
> -              OPTION_NEGATE(option, ONIG_OPTION_MULTILINE,  neg);
> -            }
> -            else
> -              return ONIGERR_UNDEFINED_GROUP_OPTION;
> -            break;
> -
> -          case 'm':
> -            if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_PERL)) {
> -              OPTION_NEGATE(option, ONIG_OPTION_SINGLELINE, (neg == 0 ? 1 :
> 0));
> -            }
> -            else if (IS_SYNTAX_OP2(env->syntax,
> -
> ONIG_SYN_OP2_OPTION_ONIGURUMA|ONIG_SYN_OP2_OPTION_RUBY)) {
> -              OPTION_NEGATE(option, ONIG_OPTION_MULTILINE,  neg);
> -            }
> -            else
> -              return ONIGERR_UNDEFINED_GROUP_OPTION;
> -            break;
> -#ifdef USE_POSIXLINE_OPTION
> -          case 'p':
> -            OPTION_NEGATE(option,
> ONIG_OPTION_MULTILINE|ONIG_OPTION_SINGLELINE, neg);
> -            break;
> -#endif
> -          case 'W': OPTION_NEGATE(option, ONIG_OPTION_WORD_IS_ASCII,
> neg); break;
> -          case 'D': OPTION_NEGATE(option, ONIG_OPTION_DIGIT_IS_ASCII,
> neg); break;
> -          case 'S': OPTION_NEGATE(option, ONIG_OPTION_SPACE_IS_ASCII,
> neg); break;
> -          case 'P': OPTION_NEGATE(option, ONIG_OPTION_POSIX_IS_ASCII,
> neg); break;
> -
> -          case 'y': /* y{g}, y{w} */
> -            {
> -              if (! IS_SYNTAX_OP2(env->syntax,
> ONIG_SYN_OP2_OPTION_ONIGURUMA))
> -                return ONIGERR_UNDEFINED_GROUP_OPTION;
> -
> -              if (neg != 0) return ONIGERR_UNDEFINED_GROUP_OPTION;
> -
> -              if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -              if (! PPEEK_IS('{')) return ONIGERR_UNDEFINED_GROUP_OPTION;
> -              PFETCH(c);
> -              if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -              PFETCH(c);
> -              switch (c) {
> -              case 'g':
> -                if (! ONIGENC_IS_UNICODE_ENCODING(enc))
> -                  return ONIGERR_UNDEFINED_GROUP_OPTION;
> -
> -                OPTION_NEGATE(option,
> ONIG_OPTION_TEXT_SEGMENT_EXTENDED_GRAPHEME_CLUSTER, 0);
> -                OPTION_NEGATE(option, ONIG_OPTION_TEXT_SEGMENT_WORD,
> 1);
> -                break;
> -#ifdef USE_UNICODE_WORD_BREAK
> -              case 'w':
> -                if (! ONIGENC_IS_UNICODE_ENCODING(enc))
> -                  return ONIGERR_UNDEFINED_GROUP_OPTION;
> -
> -                OPTION_NEGATE(option, ONIG_OPTION_TEXT_SEGMENT_WORD,
> 0);
> -                OPTION_NEGATE(option,
> ONIG_OPTION_TEXT_SEGMENT_EXTENDED_GRAPHEME_CLUSTER, 1);
> -                break;
> -#endif
> -              default:
> -                return ONIGERR_UNDEFINED_GROUP_OPTION;
> -                break;
> -              }
> -              if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -              PFETCH(c);
> -              if (c != '}')
> -                return ONIGERR_UNDEFINED_GROUP_OPTION;
> -              break;
> -            } /* case 'y' */
> -
> -          default:
> -            return ONIGERR_UNDEFINED_GROUP_OPTION;
> -          }
> -
> -          if (c == ')') {
> -            *np = node_new_option(option);
> -            CHECK_NULL_RETURN_MEMERR(*np);
> -            *src = p;
> -            return 2; /* option only */
> -          }
> -          else if (c == ':') {
> -            OnigOptionType prev = env->options;
> -
> -            env->options = option;
> -            r = fetch_token(tok, &p, end, env);
> -            if (r < 0) return r;
> -            r = parse_subexp(&target, tok, term, &p, end, env, 0);
> -            env->options = prev;
> -            if (r < 0) {
> -              onig_node_free(target);
> -              return r;
> -            }
> -            *np = node_new_option(option);
> -            CHECK_NULL_RETURN_MEMERR(*np);
> -            NODE_BODY(*np) = target;
> -            *src = p;
> -            return 0;
> -          }
> -
> -          if (PEND) return ONIGERR_END_PATTERN_IN_GROUP;
> -          PFETCH(c);
> -        } /* while (1) */
> -      }
> -      break;
> -
> -    default:
> -      return ONIGERR_UNDEFINED_GROUP_OPTION;
> -    }
> -  }
> -#ifdef USE_CALLOUT
> -  else if (c == '*' &&
> -           IS_SYNTAX_OP2(env->syntax,
> ONIG_SYN_OP2_ASTERISK_CALLOUT_NAME)) {
> -    PINC;
> -    r = parse_callout_of_name(np, ')', &p, end, env);
> -    if (r != 0) return r;
> -
> -    goto end;
> -  }
> -#endif
> -  else {
> -    if (ONIG_IS_OPTION_ON(env->options,
> ONIG_OPTION_DONT_CAPTURE_GROUP))
> -      goto group;
> -
> -    *np = node_new_memory(0);
> -    CHECK_NULL_RETURN_MEMERR(*np);
> -    num = scan_env_add_mem_entry(env);
> -    if (num < 0) return num;
> -    BAG_(*np)->m.regnum = num;
> -  }
> -
> -  CHECK_NULL_RETURN_MEMERR(*np);
> -  r = fetch_token(tok, &p, end, env);
> -  if (r < 0) return r;
> -  r = parse_subexp(&target, tok, term, &p, end, env, 0);
> -  if (r < 0) {
> -    onig_node_free(target);
> -    return r;
> -  }
> -
> -  NODE_BODY(*np) = target;
> -
> -  if (NODE_TYPE(*np) == NODE_BAG) {
> -    if (BAG_(*np)->type == BAG_MEMORY) {
> -      /* Don't move this to previous of parse_subexp() */
> -      r = scan_env_set_mem_node(env, BAG_(*np)->m.regnum, *np);
> -      if (r != 0) return r;
> -    }
> -  }
> -
> - end:
> -  *src = p;
> -  return 0;
> -}
> -
> -static const char* PopularQStr[] = {
> -  "?", "*", "+", "??", "*?", "+?"
> -};
> -
> -static const char* ReduceQStr[] = {
> -  "", "", "*", "*?", "??", "+ and ??", "+? and ?"
> -};
> -
> -static int
> -set_quantifier(Node* qnode, Node* target, int group, ScanEnv* env)
> -{
> -  QuantNode* qn;
> -
> -  qn = QUANT_(qnode);
> -  if (qn->lower == 1 && qn->upper == 1)
> -    return 1;
> -
> -  switch (NODE_TYPE(target)) {
> -  case NODE_STRING:
> -    if (group == 0) {
> -      if (str_node_can_be_split(target, env->enc)) {
> -        Node* n = str_node_split_last_char(target, env->enc);
> -        if (IS_NOT_NULL(n)) {
> -          NODE_BODY(qnode) = n;
> -          return 2;
> -        }
> -      }
> -    }
> -    break;
> -
> -  case NODE_QUANT:
> -    { /* check redundant double repeat. */
> -      /* verbose warn (?:.?)? etc... but not warn (.?)? etc... */
> -      QuantNode* qnt   = QUANT_(target);
> -      int nestq_num   = quantifier_type_num(qn);
> -      int targetq_num = quantifier_type_num(qnt);
> -
> -#ifdef USE_WARNING_REDUNDANT_NESTED_REPEAT_OPERATOR
> -      if (targetq_num >= 0 && nestq_num >= 0 &&
> -          IS_SYNTAX_BV(env->syntax,
> ONIG_SYN_WARN_REDUNDANT_NESTED_REPEAT)) {
> -        UChar buf[WARN_BUFSIZE];
> -
> -        switch(ReduceTypeTable[targetq_num][nestq_num]) {
> -        case RQ_ASIS:
> -          break;
> -
> -        case RQ_DEL:
> -          if (onig_verb_warn != onig_null_warn) {
> -            onig_snprintf_with_pattern(buf, WARN_BUFSIZE, env->enc,
> -                                  env->pattern, env->pattern_end,
> -                                  (UChar* )"redundant nested repeat operator");
> -            (*onig_verb_warn)((char* )buf);
> -          }
> -          goto warn_exit;
> -          break;
> -
> -        default:
> -          if (onig_verb_warn != onig_null_warn) {
> -            onig_snprintf_with_pattern(buf, WARN_BUFSIZE, env->enc,
> -                                       env->pattern, env->pattern_end,
> -            (UChar* )"nested repeat operator %s and %s was replaced with '%s'",
> -            PopularQStr[targetq_num], PopularQStr[nestq_num],
> -            ReduceQStr[ReduceTypeTable[targetq_num][nestq_num]]);
> -            (*onig_verb_warn)((char* )buf);
> -          }
> -          goto warn_exit;
> -          break;
> -        }
> -      }
> -
> -    warn_exit:
> -#endif
> -      if (targetq_num >= 0 && nestq_num < 0) {
> -        if (targetq_num == 1 || targetq_num == 2) { /* * or + */
> -          /* (?:a*){n,m}, (?:a+){n,m} => (?:a*){n,n}, (?:a+){n,n} */
> -          if (! IS_INFINITE_REPEAT(qn->upper) && qn->upper > 1 && qn-
> >greedy) {
> -            qn->upper = (qn->lower == 0 ? 1 : qn->lower);
> -          }
> -        }
> -      }
> -      else {
> -        NODE_BODY(qnode) = target;
> -        onig_reduce_nested_quantifier(qnode, target);
> -        goto q_exit;
> -      }
> -    }
> -    break;
> -
> -  default:
> -    break;
> -  }
> -
> -  NODE_BODY(qnode) = target;
> - q_exit:
> -  return 0;
> -}
> -
> -
> -#ifndef CASE_FOLD_IS_APPLIED_INSIDE_NEGATIVE_CCLASS
> -static int
> -clear_not_flag_cclass(CClassNode* cc, OnigEncoding enc)
> -{
> -  BBuf *tbuf;
> -  int r;
> -
> -  if (IS_NCCLASS_NOT(cc)) {
> -    bitset_invert(cc->bs);
> -
> -    if (! ONIGENC_IS_SINGLEBYTE(enc)) {
> -      r = not_code_range_buf(enc, cc->mbuf, &tbuf);
> -      if (r != 0) return r;
> -
> -      bbuf_free(cc->mbuf);
> -      cc->mbuf = tbuf;
> -    }
> -
> -    NCCLASS_CLEAR_NOT(cc);
> -  }
> -
> -  return 0;
> -}
> -#endif /* CASE_FOLD_IS_APPLIED_INSIDE_NEGATIVE_CCLASS */
> -
> -typedef struct {
> -  ScanEnv*    env;
> -  CClassNode* cc;
> -  Node*       alt_root;
> -  Node**      ptail;
> -} IApplyCaseFoldArg;
> -
> -static int
> -i_apply_case_fold(OnigCodePoint from, OnigCodePoint to[], int to_len,
> void* arg)
> -{
> -  IApplyCaseFoldArg* iarg;
> -  ScanEnv* env;
> -  CClassNode* cc;
> -  BitSetRef bs;
> -
> -  iarg = (IApplyCaseFoldArg* )arg;
> -  env = iarg->env;
> -  cc  = iarg->cc;
> -  bs = cc->bs;
> -
> -  if (to_len == 1) {
> -    int is_in = onig_is_code_in_cc(env->enc, from, cc);
> -#ifdef CASE_FOLD_IS_APPLIED_INSIDE_NEGATIVE_CCLASS
> -    if ((is_in != 0 && !IS_NCCLASS_NOT(cc)) ||
> -        (is_in == 0 &&  IS_NCCLASS_NOT(cc))) {
> -      if (ONIGENC_MBC_MINLEN(env->enc) > 1 || *to >= SINGLE_BYTE_SIZE)
> {
> -        add_code_range(&(cc->mbuf), env, *to, *to);
> -      }
> -      else {
> -        BITSET_SET_BIT(bs, *to);
> -      }
> -    }
> -#else
> -    if (is_in != 0) {
> -      if (ONIGENC_MBC_MINLEN(env->enc) > 1 || *to >= SINGLE_BYTE_SIZE)
> {
> -        if (IS_NCCLASS_NOT(cc)) clear_not_flag_cclass(cc, env->enc);
> -        add_code_range(&(cc->mbuf), env, *to, *to);
> -      }
> -      else {
> -        if (IS_NCCLASS_NOT(cc)) {
> -          BITSET_CLEAR_BIT(bs, *to);
> -        }
> -        else
> -          BITSET_SET_BIT(bs, *to);
> -      }
> -    }
> -#endif /* CASE_FOLD_IS_APPLIED_INSIDE_NEGATIVE_CCLASS */
> -  }
> -  else {
> -    int r, i, len;
> -    UChar buf[ONIGENC_CODE_TO_MBC_MAXLEN];
> -    Node *snode = NULL_NODE;
> -
> -    if (onig_is_code_in_cc(env->enc, from, cc)
> -#ifdef CASE_FOLD_IS_APPLIED_INSIDE_NEGATIVE_CCLASS
> -        && !IS_NCCLASS_NOT(cc)
> -#endif
> -        ) {
> -      for (i = 0; i < to_len; i++) {
> -        len = ONIGENC_CODE_TO_MBC(env->enc, to[i], buf);
> -        if (i == 0) {
> -          snode = onig_node_new_str(buf, buf + len);
> -          CHECK_NULL_RETURN_MEMERR(snode);
> -
> -          /* char-class expanded multi-char only
> -             compare with string folded at match time. */
> -          NODE_STRING_SET_AMBIG(snode);
> -        }
> -        else {
> -          r = onig_node_str_cat(snode, buf, buf + len);
> -          if (r < 0) {
> -            onig_node_free(snode);
> -            return r;
> -          }
> -        }
> -      }
> -
> -      *(iarg->ptail) = onig_node_new_alt(snode, NULL_NODE);
> -      CHECK_NULL_RETURN_MEMERR(*(iarg->ptail));
> -      iarg->ptail = &(NODE_CDR((*(iarg->ptail))));
> -    }
> -  }
> -
> -  return 0;
> -}
> -
> -static int
> -parse_exp(Node** np, PToken* tok, int term, UChar** src, UChar* end,
> -          ScanEnv* env, int group_head)
> -{
> -  int r, len, group;
> -  Node* qn;
> -  Node** tp;
> -  unsigned int parse_depth;
> -
> -  group = 0;
> -  *np = NULL;
> -  if (tok->type == (enum TokenSyms )term)
> -    goto end_of_token;
> -
> -  parse_depth = env->parse_depth;
> -
> -  switch (tok->type) {
> -  case TK_ALT:
> -  case TK_EOT:
> -  end_of_token:
> -    *np = node_new_empty();
> -    CHECK_NULL_RETURN_MEMERR(*np);
> -    return tok->type;
> -  break;
> -
> -  case TK_SUBEXP_OPEN:
> -    r = parse_bag(np, tok, TK_SUBEXP_CLOSE, src, end, env);
> -    if (r < 0) return r;
> -    if (r == 1) { /* group */
> -      if (group_head == 0)
> -        group = 1;
> -      else {
> -        Node* target = *np;
> -        *np = node_new_group(target);
> -        if (IS_NULL(*np)) {
> -          onig_node_free(target);
> -          return ONIGERR_MEMORY;
> -        }
> -        group = 2;
> -      }
> -    }
> -    else if (r == 2) { /* option only */
> -      Node* target;
> -      OnigOptionType prev = env->options;
> -
> -      env->options = BAG_(*np)->o.options;
> -      r = fetch_token(tok, src, end, env);
> -      if (r < 0) return r;
> -      r = parse_subexp(&target, tok, term, src, end, env, 0);
> -      env->options = prev;
> -      if (r < 0) {
> -        onig_node_free(target);
> -        return r;
> -      }
> -      NODE_BODY(*np) = target;
> -      return tok->type;
> -    }
> -    break;
> -
> -  case TK_SUBEXP_CLOSE:
> -    if (! IS_SYNTAX_BV(env->syntax,
> ONIG_SYN_ALLOW_UNMATCHED_CLOSE_SUBEXP))
> -      return ONIGERR_UNMATCHED_CLOSE_PARENTHESIS;
> -
> -    if (tok->escaped) goto tk_raw_byte;
> -    else goto tk_byte;
> -    break;
> -
> -  case TK_STRING:
> -  tk_byte:
> -    {
> -      *np = node_new_str(tok->backp, *src);
> -      CHECK_NULL_RETURN_MEMERR(*np);
> -
> -      while (1) {
> -        r = fetch_token(tok, src, end, env);
> -        if (r < 0) return r;
> -        if (r != TK_STRING) break;
> -
> -        r = onig_node_str_cat(*np, tok->backp, *src);
> -        if (r < 0) return r;
> -      }
> -
> -    string_end:
> -      tp = np;
> -      goto repeat;
> -    }
> -    break;
> -
> -  case TK_RAW_BYTE:
> -  tk_raw_byte:
> -    {
> -      *np = node_new_str_raw_char((UChar )tok->u.c);
> -      CHECK_NULL_RETURN_MEMERR(*np);
> -      len = 1;
> -      while (1) {
> -        if (len >= ONIGENC_MBC_MINLEN(env->enc)) {
> -          if (len == enclen(env->enc, STR_(*np)->s)) {
> -            r = fetch_token(tok, src, end, env);
> -            goto tk_raw_byte_end;
> -          }
> -        }
> -
> -        r = fetch_token(tok, src, end, env);
> -        if (r < 0) return r;
> -        if (r != TK_RAW_BYTE)
> -          return ONIGERR_TOO_SHORT_MULTI_BYTE_STRING;
> -
> -        r = node_str_cat_char(*np, (UChar )tok->u.c);
> -        if (r < 0) return r;
> -
> -        len++;
> -      }
> -
> -    tk_raw_byte_end:
> -      if (! ONIGENC_IS_VALID_MBC_STRING(env->enc, STR_(*np)->s,
> STR_(*np)->end))
> -        return ONIGERR_INVALID_WIDE_CHAR_VALUE;
> -
> -      NODE_STRING_CLEAR_RAW(*np);
> -      goto string_end;
> -    }
> -    break;
> -
> -  case TK_CODE_POINT:
> -    {
> -      UChar buf[ONIGENC_CODE_TO_MBC_MAXLEN];
> -      len = ONIGENC_CODE_TO_MBC(env->enc, tok->u.code, buf);
> -      if (len < 0) return len;
> -#ifdef NUMBERED_CHAR_IS_NOT_CASE_AMBIG
> -      *np = node_new_str_raw(buf, buf + len);
> -#else
> -      *np = node_new_str(buf, buf + len);
> -#endif
> -      CHECK_NULL_RETURN_MEMERR(*np);
> -    }
> -    break;
> -
> -  case TK_QUOTE_OPEN:
> -    {
> -      OnigCodePoint end_op[2];
> -      UChar *qstart, *qend, *nextp;
> -
> -      end_op[0] = (OnigCodePoint )MC_ESC(env->syntax);
> -      end_op[1] = (OnigCodePoint )'E';
> -      qstart = *src;
> -      qend = find_str_position(end_op, 2, qstart, end, &nextp, env->enc);
> -      if (IS_NULL(qend)) {
> -        nextp = qend = end;
> -      }
> -      *np = node_new_str(qstart, qend);
> -      CHECK_NULL_RETURN_MEMERR(*np);
> -      *src = nextp;
> -    }
> -    break;
> -
> -  case TK_CHAR_TYPE:
> -    {
> -      switch (tok->u.prop.ctype) {
> -      case ONIGENC_CTYPE_WORD:
> -        *np = node_new_ctype(tok->u.prop.ctype, tok->u.prop.not, env-
> >options);
> -        CHECK_NULL_RETURN_MEMERR(*np);
> -        break;
> -
> -      case ONIGENC_CTYPE_SPACE:
> -      case ONIGENC_CTYPE_DIGIT:
> -      case ONIGENC_CTYPE_XDIGIT:
> -        {
> -          CClassNode* cc;
> -
> -          *np = node_new_cclass();
> -          CHECK_NULL_RETURN_MEMERR(*np);
> -          cc = CCLASS_(*np);
> -          add_ctype_to_cc(cc, tok->u.prop.ctype, 0, env);
> -          if (tok->u.prop.not != 0) NCCLASS_SET_NOT(cc);
> -        }
> -        break;
> -
> -      default:
> -        return ONIGERR_PARSER_BUG;
> -        break;
> -      }
> -    }
> -    break;
> -
> -  case TK_CHAR_PROPERTY:
> -    r = parse_char_property(np, tok, src, end, env);
> -    if (r != 0) return r;
> -    break;
> -
> -  case TK_CC_OPEN:
> -    {
> -      CClassNode* cc;
> -
> -      r = parse_char_class(np, tok, src, end, env);
> -      if (r != 0) return r;
> -
> -      cc = CCLASS_(*np);
> -      if (IS_IGNORECASE(env->options)) {
> -        IApplyCaseFoldArg iarg;
> -
> -        iarg.env      = env;
> -        iarg.cc       = cc;
> -        iarg.alt_root = NULL_NODE;
> -        iarg.ptail    = &(iarg.alt_root);
> -
> -        r = ONIGENC_APPLY_ALL_CASE_FOLD(env->enc, env->case_fold_flag,
> -                                        i_apply_case_fold, &iarg);
> -        if (r != 0) {
> -          onig_node_free(iarg.alt_root);
> -          return r;
> -        }
> -        if (IS_NOT_NULL(iarg.alt_root)) {
> -          Node* work = onig_node_new_alt(*np, iarg.alt_root);
> -          if (IS_NULL(work)) {
> -            onig_node_free(iarg.alt_root);
> -            return ONIGERR_MEMORY;
> -          }
> -          *np = work;
> -        }
> -      }
> -    }
> -    break;
> -
> -  case TK_ANYCHAR:
> -    *np = node_new_anychar();
> -    CHECK_NULL_RETURN_MEMERR(*np);
> -    break;
> -
> -  case TK_ANYCHAR_ANYTIME:
> -    *np = node_new_anychar();
> -    CHECK_NULL_RETURN_MEMERR(*np);
> -    qn = node_new_quantifier(0, INFINITE_REPEAT, 0);
> -    CHECK_NULL_RETURN_MEMERR(qn);
> -    NODE_BODY(qn) = *np;
> -    *np = qn;
> -    break;
> -
> -  case TK_BACKREF:
> -    len = tok->u.backref.num;
> -    *np = node_new_backref(len,
> -                  (len > 1 ? tok->u.backref.refs : &(tok->u.backref.ref1)),
> -                  tok->u.backref.by_name,
> -#ifdef USE_BACKREF_WITH_LEVEL
> -                           tok->u.backref.exist_level,
> -                           tok->u.backref.level,
> -#endif
> -                           env);
> -    CHECK_NULL_RETURN_MEMERR(*np);
> -    break;
> -
> -#ifdef USE_CALL
> -  case TK_CALL:
> -    {
> -      int gnum = tok->u.call.gnum;
> -
> -      *np = node_new_call(tok->u.call.name, tok->u.call.name_end,
> -                          gnum, tok->u.call.by_number);
> -      CHECK_NULL_RETURN_MEMERR(*np);
> -      env->num_call++;
> -      if (tok->u.call.by_number != 0 && gnum == 0) {
> -        env->has_call_zero = 1;
> -      }
> -    }
> -    break;
> -#endif
> -
> -  case TK_ANCHOR:
> -    {
> -      int ascii_mode =
> -        IS_WORD_ASCII(env->options) && IS_WORD_ANCHOR_TYPE(tok-
> >u.anchor) ? 1 : 0;
> -      *np = onig_node_new_anchor(tok->u.anchor, ascii_mode);
> -      CHECK_NULL_RETURN_MEMERR(*np);
> -    }
> -    break;
> -
> -  case TK_REPEAT:
> -  case TK_INTERVAL:
> -    if (IS_SYNTAX_BV(env->syntax,
> ONIG_SYN_CONTEXT_INDEP_REPEAT_OPS)) {
> -      if (IS_SYNTAX_BV(env->syntax,
> ONIG_SYN_CONTEXT_INVALID_REPEAT_OPS))
> -        return ONIGERR_TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED;
> -      else {
> -        *np = node_new_empty();
> -        CHECK_NULL_RETURN_MEMERR(*np);
> -      }
> -    }
> -    else {
> -      goto tk_byte;
> -    }
> -    break;
> -
> -  case TK_KEEP:
> -    r = node_new_keep(np, env);
> -    if (r < 0) return r;
> -    break;
> -
> -  case TK_GENERAL_NEWLINE:
> -    r = node_new_general_newline(np, env);
> -    if (r < 0) return r;
> -    break;
> -
> -  case TK_NO_NEWLINE:
> -    r = node_new_no_newline(np, env);
> -    if (r < 0) return r;
> -    break;
> -
> -  case TK_TRUE_ANYCHAR:
> -    r = node_new_true_anychar(np, env);
> -    if (r < 0) return r;
> -    break;
> -
> -  case TK_TEXT_SEGMENT:
> -    r = make_text_segment(np, env);
> -    if (r < 0) return r;
> -    break;
> -
> -  default:
> -    return ONIGERR_PARSER_BUG;
> -    break;
> -  }
> -
> -  {
> -    tp = np;
> -
> -  re_entry:
> -    r = fetch_token(tok, src, end, env);
> -    if (r < 0) return r;
> -
> -  repeat:
> -    if (r == TK_REPEAT || r == TK_INTERVAL) {
> -      Node* target;
> -
> -      if (is_invalid_quantifier_target(*tp))
> -        return ONIGERR_TARGET_OF_REPEAT_OPERATOR_INVALID;
> -
> -      parse_depth++;
> -      if (parse_depth > ParseDepthLimit)
> -        return ONIGERR_PARSE_DEPTH_LIMIT_OVER;
> -
> -      qn = node_new_quantifier(tok->u.repeat.lower, tok->u.repeat.upper,
> -                               r == TK_INTERVAL);
> -      CHECK_NULL_RETURN_MEMERR(qn);
> -      QUANT_(qn)->greedy = tok->u.repeat.greedy;
> -      if (group == 2) {
> -        target = node_drop_group(*tp);
> -        *tp = NULL_NODE;
> -      }
> -      else {
> -        target = *tp;
> -      }
> -      r = set_quantifier(qn, target, group, env);
> -      if (r < 0) {
> -        onig_node_free(qn);
> -        return r;
> -      }
> -
> -      if (tok->u.repeat.possessive != 0) {
> -        Node* en;
> -        en = node_new_bag(BAG_STOP_BACKTRACK);
> -        if (IS_NULL(en)) {
> -          onig_node_free(qn);
> -          return ONIGERR_MEMORY;
> -        }
> -        NODE_BODY(en) = qn;
> -        qn = en;
> -      }
> -
> -      if (r == 0) {
> -        *tp = qn;
> -      }
> -      else if (r == 1) { /* x{1,1} ==> x */
> -        onig_node_free(qn);
> -        *tp = target;
> -      }
> -      else if (r == 2) { /* split case: /abc+/ */
> -        Node *tmp;
> -
> -        *tp = node_new_list(*tp, NULL);
> -        if (IS_NULL(*tp)) {
> -          onig_node_free(qn);
> -          return ONIGERR_MEMORY;
> -        }
> -        tmp = NODE_CDR(*tp) = node_new_list(qn, NULL);
> -        if (IS_NULL(tmp)) {
> -          onig_node_free(qn);
> -          return ONIGERR_MEMORY;
> -        }
> -        tp = &(NODE_CAR(tmp));
> -      }
> -      group = 0;
> -      goto re_entry;
> -    }
> -  }
> -
> -  return r;
> -}
> -
> -static int
> -parse_branch(Node** top, PToken* tok, int term, UChar** src, UChar* end,
> -             ScanEnv* env, int group_head)
> -{
> -  int r;
> -  Node *node, **headp;
> -
> -  *top = NULL;
> -  r = parse_exp(&node, tok, term, src, end, env, group_head);
> -  if (r < 0) {
> -    onig_node_free(node);
> -    return r;
> -  }
> -
> -  if (r == TK_EOT || r == term || r == TK_ALT) {
> -    *top = node;
> -  }
> -  else {
> -    *top  = node_new_list(node, NULL);
> -    if (IS_NULL(*top)) {
> -      onig_node_free(node);
> -      return ONIGERR_MEMORY;
> -    }
> -
> -    headp = &(NODE_CDR(*top));
> -    while (r != TK_EOT && r != term && r != TK_ALT) {
> -      r = parse_exp(&node, tok, term, src, end, env, 0);
> -      if (r < 0) {
> -        onig_node_free(node);
> -        return r;
> -      }
> -
> -      if (NODE_TYPE(node) == NODE_LIST) {
> -        *headp = node;
> -        while (IS_NOT_NULL(NODE_CDR(node))) node = NODE_CDR(node);
> -        headp = &(NODE_CDR(node));
> -      }
> -      else {
> -        *headp = node_new_list(node, NULL);
> -        headp = &(NODE_CDR(*headp));
> -      }
> -    }
> -  }
> -
> -  return r;
> -}
> -
> -/* term_tok: TK_EOT or TK_SUBEXP_CLOSE */
> -static int
> -parse_subexp(Node** top, PToken* tok, int term, UChar** src, UChar*
> end,
> -             ScanEnv* env, int group_head)
> -{
> -  int r;
> -  Node *node, **headp;
> -
> -  *top = NULL;
> -  env->parse_depth++;
> -  if (env->parse_depth > ParseDepthLimit)
> -    return ONIGERR_PARSE_DEPTH_LIMIT_OVER;
> -
> -  r = parse_branch(&node, tok, term, src, end, env, group_head);
> -  if (r < 0) {
> -    onig_node_free(node);
> -    return r;
> -  }
> -
> -  if (r == term) {
> -    *top = node;
> -  }
> -  else if (r == TK_ALT) {
> -    *top  = onig_node_new_alt(node, NULL);
> -    if (IS_NULL(*top)) {
> -      onig_node_free(node);
> -      return ONIGERR_MEMORY;
> -    }
> -
> -    headp = &(NODE_CDR(*top));
> -    while (r == TK_ALT) {
> -      r = fetch_token(tok, src, end, env);
> -      if (r < 0) return r;
> -      r = parse_branch(&node, tok, term, src, end, env, 0);
> -      if (r < 0) {
> -        onig_node_free(node);
> -        return r;
> -      }
> -      *headp = onig_node_new_alt(node, NULL);
> -      if (IS_NULL(*headp)) {
> -        onig_node_free(node);
> -        onig_node_free(*top);
> -        return ONIGERR_MEMORY;
> -      }
> -
> -      headp = &(NODE_CDR(*headp));
> -    }
> -
> -    if (tok->type != (enum TokenSyms )term)
> -      goto err;
> -  }
> -  else {
> -    onig_node_free(node);
> -  err:
> -    if (term == TK_SUBEXP_CLOSE)
> -      return ONIGERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS;
> -    else
> -      return ONIGERR_PARSER_BUG;
> -  }
> -
> -  env->parse_depth--;
> -  return r;
> -}
> -
> -static int
> -parse_regexp(Node** top, UChar** src, UChar* end, ScanEnv* env)
> -{
> -  int r;
> -  PToken tok;
> -
> -  r = fetch_token(&tok, src, end, env);
> -  if (r < 0) return r;
> -  r = parse_subexp(top, &tok, TK_EOT, src, end, env, 0);
> -  if (r < 0) return r;
> -
> -  return 0;
> -}
> -
> -#ifdef USE_CALL
> -static int
> -make_call_zero_body(Node* node, ScanEnv* env, Node** rnode)
> -{
> -  int r;
> -
> -  Node* x = node_new_memory(0 /* 0: is not named */);
> -  CHECK_NULL_RETURN_MEMERR(x);
> -
> -  NODE_BODY(x) = node;
> -  BAG_(x)->m.regnum = 0;
> -  r = scan_env_set_mem_node(env, 0, x);
> -  if (r != 0) {
> -    onig_node_free(x);
> -    return r;
> -  }
> -
> -  *rnode = x;
> -  return 0;
> -}
> -#endif
> -
> -extern int
> -onig_parse_tree(Node** root, const UChar* pattern, const UChar* end,
> -                regex_t* reg, ScanEnv* env)
> -{
> -  int r;
> -  UChar* p;
> -#ifdef USE_CALLOUT
> -  RegexExt* ext;
> -#endif
> -
> -  names_clear(reg);
> -
> -  scan_env_clear(env);
> -  env->options        = reg->options;
> -  env->case_fold_flag = reg->case_fold_flag;
> -  env->enc            = reg->enc;
> -  env->syntax         = reg->syntax;
> -  env->pattern        = (UChar* )pattern;
> -  env->pattern_end    = (UChar* )end;
> -  env->reg            = reg;
> -
> -  *root = NULL;
> -
> -  if (! ONIGENC_IS_VALID_MBC_STRING(env->enc, pattern, end))
> -    return ONIGERR_INVALID_WIDE_CHAR_VALUE;
> -
> -  p = (UChar* )pattern;
> -  r = parse_regexp(root, &p, (UChar* )end, env);
> -
> -#ifdef USE_CALL
> -  if (r != 0) return r;
> -
> -  if (env->has_call_zero != 0) {
> -    Node* zero_node;
> -    r = make_call_zero_body(*root, env, &zero_node);
> -    if (r != 0) return r;
> -
> -    *root = zero_node;
> -  }
> -#endif
> -
> -  reg->num_mem = env->num_mem;
> -
> -#ifdef USE_CALLOUT
> -  ext = reg->extp;
> -  if (IS_NOT_NULL(ext) && ext->callout_num > 0) {
> -    r = setup_ext_callout_list_values(reg);
> -  }
> -#endif
> -
> -  return r;
> -}
> -
> -extern void
> -onig_scan_env_set_error_string(ScanEnv* env, int ecode ARG_UNUSED,
> -                               UChar* arg, UChar* arg_end)
> -{
> -  env->error     = arg;
> -  env->error_end = arg_end;
> -}
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regposerr.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regposerr.c
> deleted file mode 100644
> index 55b01fba4b6b..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regposerr.c
> +++ /dev/null
> @@ -1,108 +0,0 @@
> -
> /**********************************************************
> ************
> -  regposerr.c - Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2019  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -/* Can't include regint.h etc.. for conflict of regex_t.
> -   Define ONIGURUMA_EXPORT here for onigposix.h.
> - */
> -#ifndef ONIGURUMA_EXPORT
> -#define ONIGURUMA_EXPORT
> -#endif
> -
> -//#include "config.h"
> -#include "onigposix.h"
> -
> -//#include <string.h>
> -
> -#if defined(__GNUC__)
> -#  define ARG_UNUSED  __attribute__ ((unused))
> -#else
> -#  define ARG_UNUSED
> -#endif
> -
> -#if defined(_WIN32) && !defined(__GNUC__)
> -#define xsnprintf   sprintf_s
> -#define xstrncpy(dest,src,size)   strncpy_s(dest,size,src,_TRUNCATE)
> -#else
> -#define xsnprintf   snprintf
> -#define xstrncpy    strncpy
> -#endif
> -
> -static char* ESTRING[] = {
> -  NULL,
> -  "failed to match",                         /* REG_NOMATCH    */
> -  "Invalid regular expression",              /* REG_BADPAT     */
> -  "invalid collating element referenced",    /* REG_ECOLLATE   */
> -  "invalid character class type referenced", /* REG_ECTYPE     */
> -  "bad backslash-escape sequence",           /* REG_EESCAPE    */
> -  "invalid back reference number",           /* REG_ESUBREG    */
> -  "imbalanced [ and ]",                      /* REG_EBRACK     */
> -  "imbalanced ( and )",                      /* REG_EPAREN     */
> -  "imbalanced { and }",                      /* REG_EBRACE     */
> -  "invalid repeat range {n,m}",              /* REG_BADBR      */
> -  "invalid range",                           /* REG_ERANGE     */
> -  "Out of memory",                           /* REG_ESPACE     */
> -  "? * + not preceded by valid regular expression", /* REG_BADRPT   */
> -
> -  /* Extended errors */
> -  "internal error",                          /* REG_EONIG_INTERNAL */
> -  "invalid wide char value",                 /* REG_EONIG_BADWC    */
> -  "invalid argument"                         /* REG_EONIG_BADARG   */
> -};
> -
> -//#include <stdio.h>
> -
> -
> -extern size_t
> -regerror(int posix_ecode, const regex_t* reg ARG_UNUSED, char* buf,
> -         size_t size)
> -{
> -  char* s;
> -  char tbuf[35];
> -  size_t len;
> -
> -  if (posix_ecode > 0
> -      && posix_ecode < (int )(sizeof(ESTRING) / sizeof(ESTRING[0]))) {
> -    s = ESTRING[posix_ecode];
> -  }
> -  else if (posix_ecode == 0) {
> -    s = "";
> -  }
> -  else {
> -    sprintf_s(tbuf, sizeof(tbuf), "undefined error code (%d)", posix_ecode);
> -    s = tbuf;
> -  }
> -
> -  len = strlen_s(s, MAX_STRING_SIZE) + 1; /* use strlen() because s is ascii
> encoding. */
> -
> -  if (buf != NULL && size > 0) {
> -    strncpy_s(buf, size, s, size - 1);
> -    buf[size - 1] = '\0';
> -  }
> -  return len;
> -}
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regposix.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regposix.c
> deleted file mode 100644
> index 2bfe073ad094..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regposix.c
> +++ /dev/null
> @@ -1,304 +0,0 @@
> -
> /**********************************************************
> ************
> -  regposix.c - Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2019  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#define regex_t   onig_regex_t
> -#include "regint.h"
> -#undef regex_t
> -
> -#include "onigposix.h"
> -
> -#define ONIG_C(reg)    ((onig_regex_t* )((reg)->onig))
> -#define PONIG_C(reg)   ((onig_regex_t** )(&(reg)->onig))
> -
> -/* #define ENC_STRING_LEN(enc,s,len)    len = strlen(s) */
> -#define ENC_STRING_LEN(enc,s,len) do { \
> -  if (ONIGENC_MBC_MINLEN(enc) == 1) { \
> -    UChar* tmps = (UChar* )(s); \
> -    while (*tmps != 0) tmps++; \
> -    len = (int )(tmps - (UChar* )(s));\
> -  } \
> -  else { \
> -    len = onigenc_str_bytelen_null(enc, (UChar* )s); \
> -  } \
> -} while(0)
> -
> -typedef struct {
> -  int onig_err;
> -  int posix_err;
> -} O2PERR;
> -
> -static int
> -onig2posix_error_code(int code)
> -{
> -  static const O2PERR o2p[] = {
> -    { ONIG_MISMATCH,                                      REG_NOMATCH },
> -    { ONIG_NO_SUPPORT_CONFIG,                             REG_EONIG_INTERNAL },
> -    { ONIG_ABORT,                                         REG_EONIG_INTERNAL },
> -    { ONIGERR_MEMORY,                                     REG_ESPACE  },
> -    { ONIGERR_MATCH_STACK_LIMIT_OVER,
> REG_EONIG_INTERNAL },
> -    { ONIGERR_RETRY_LIMIT_IN_MATCH_OVER,
> REG_EONIG_INTERNAL },
> -    { ONIGERR_TYPE_BUG,                                   REG_EONIG_INTERNAL },
> -    { ONIGERR_PARSER_BUG,                                 REG_EONIG_INTERNAL },
> -    { ONIGERR_STACK_BUG,                                  REG_EONIG_INTERNAL },
> -    { ONIGERR_UNDEFINED_BYTECODE,                         REG_EONIG_INTERNAL },
> -    { ONIGERR_UNEXPECTED_BYTECODE,                        REG_EONIG_INTERNAL },
> -    { ONIGERR_DEFAULT_ENCODING_IS_NOT_SETTED,
> REG_EONIG_BADARG },
> -    { ONIGERR_SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR,
> REG_EONIG_BADARG },
> -    { ONIGERR_FAIL_TO_INITIALIZE,                         REG_EONIG_INTERNAL },
> -    { ONIGERR_INVALID_ARGUMENT,                           REG_EONIG_BADARG },
> -    { ONIGERR_END_PATTERN_AT_LEFT_BRACE,                  REG_EBRACE  },
> -    { ONIGERR_END_PATTERN_AT_LEFT_BRACKET,                REG_EBRACK  },
> -    { ONIGERR_EMPTY_CHAR_CLASS,                           REG_ECTYPE  },
> -    { ONIGERR_PREMATURE_END_OF_CHAR_CLASS,                REG_ECTYPE  },
> -    { ONIGERR_END_PATTERN_AT_ESCAPE,                      REG_EESCAPE },
> -    { ONIGERR_END_PATTERN_AT_META,                        REG_EESCAPE },
> -    { ONIGERR_END_PATTERN_AT_CONTROL,                     REG_EESCAPE },
> -    { ONIGERR_META_CODE_SYNTAX,                           REG_BADPAT  },
> -    { ONIGERR_CONTROL_CODE_SYNTAX,                        REG_BADPAT  },
> -    { ONIGERR_CHAR_CLASS_VALUE_AT_END_OF_RANGE,
> REG_ECTYPE  },
> -    { ONIGERR_CHAR_CLASS_VALUE_AT_START_OF_RANGE,
> REG_ECTYPE  },
> -    { ONIGERR_UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS,
> REG_ECTYPE  },
> -    { ONIGERR_TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED,
> REG_BADRPT  },
> -    { ONIGERR_TARGET_OF_REPEAT_OPERATOR_INVALID,
> REG_BADRPT  },
> -    { ONIGERR_NESTED_REPEAT_OPERATOR,                     REG_BADRPT  },
> -    { ONIGERR_UNMATCHED_CLOSE_PARENTHESIS,                REG_EPAREN  },
> -    { ONIGERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS,
> REG_EPAREN  },
> -    { ONIGERR_END_PATTERN_IN_GROUP,                       REG_BADPAT  },
> -    { ONIGERR_UNDEFINED_GROUP_OPTION,                     REG_BADPAT  },
> -    { ONIGERR_INVALID_POSIX_BRACKET_TYPE,                 REG_BADPAT  },
> -    { ONIGERR_INVALID_LOOK_BEHIND_PATTERN,                REG_BADPAT  },
> -    { ONIGERR_INVALID_REPEAT_RANGE_PATTERN,               REG_BADPAT  },
> -    { ONIGERR_TOO_BIG_NUMBER,                             REG_BADPAT  },
> -    { ONIGERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE,
> REG_BADBR   },
> -    { ONIGERR_UPPER_SMALLER_THAN_LOWER_IN_REPEAT_RANGE,
> REG_BADBR   },
> -    { ONIGERR_EMPTY_RANGE_IN_CHAR_CLASS,                  REG_ECTYPE  },
> -    { ONIGERR_MISMATCH_CODE_LENGTH_IN_CLASS_RANGE,
> REG_ECTYPE  },
> -    { ONIGERR_TOO_MANY_MULTI_BYTE_RANGES,                 REG_ECTYPE  },
> -    { ONIGERR_TOO_SHORT_MULTI_BYTE_STRING,                REG_BADPAT  },
> -    { ONIGERR_TOO_BIG_BACKREF_NUMBER,                     REG_ESUBREG },
> -    { ONIGERR_INVALID_BACKREF,                            REG_ESUBREG },
> -    { ONIGERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED,
> REG_BADPAT  },
> -    { ONIGERR_TOO_BIG_WIDE_CHAR_VALUE,
> REG_EONIG_BADWC },
> -    { ONIGERR_TOO_LONG_WIDE_CHAR_VALUE,
> REG_EONIG_BADWC },
> -    { ONIGERR_INVALID_CODE_POINT_VALUE,
> REG_EONIG_BADWC },
> -    { ONIGERR_EMPTY_GROUP_NAME,                           REG_BADPAT },
> -    { ONIGERR_INVALID_GROUP_NAME,                         REG_BADPAT },
> -    { ONIGERR_INVALID_CHAR_IN_GROUP_NAME,                 REG_BADPAT },
> -    { ONIGERR_UNDEFINED_NAME_REFERENCE,                   REG_BADPAT },
> -    { ONIGERR_UNDEFINED_GROUP_REFERENCE,                  REG_BADPAT },
> -    { ONIGERR_MULTIPLEX_DEFINED_NAME,                     REG_BADPAT },
> -    { ONIGERR_MULTIPLEX_DEFINITION_NAME_CALL,             REG_BADPAT },
> -    { ONIGERR_NEVER_ENDING_RECURSION,                     REG_BADPAT },
> -    { ONIGERR_GROUP_NUMBER_OVER_FOR_CAPTURE_HISTORY,
> REG_BADPAT },
> -    { ONIGERR_INVALID_CHAR_PROPERTY_NAME,                 REG_BADPAT },
> -    { ONIGERR_INVALID_IF_ELSE_SYNTAX,                     REG_BADPAT },
> -    { ONIGERR_INVALID_ABSENT_GROUP_PATTERN,               REG_BADPAT },
> -    { ONIGERR_INVALID_ABSENT_GROUP_GENERATOR_PATTERN,
> REG_BADPAT },
> -    { ONIGERR_INVALID_CALLOUT_PATTERN,                    REG_BADPAT },
> -    { ONIGERR_INVALID_CALLOUT_NAME,                       REG_BADPAT },
> -    { ONIGERR_UNDEFINED_CALLOUT_NAME,                     REG_BADPAT },
> -    { ONIGERR_INVALID_CALLOUT_BODY,                       REG_BADPAT },
> -    { ONIGERR_INVALID_CALLOUT_TAG_NAME,                   REG_BADPAT },
> -    { ONIGERR_INVALID_CALLOUT_ARG,                        REG_BADPAT },
> -    { ONIGERR_NOT_SUPPORTED_ENCODING_COMBINATION,
> REG_EONIG_BADARG },
> -    { ONIGERR_LIBRARY_IS_NOT_INITIALIZED,
> REG_EONIG_INTERNAL }
> -  };
> -
> -  int i;
> -
> -  if (code >= 0) return 0;
> -
> -  for (i = 0; i < (int )(sizeof(o2p) / sizeof(o2p[0])); i++) {
> -    if (code == o2p[i].onig_err)
> -      return o2p[i].posix_err;
> -  }
> -
> -  return REG_EONIG_INTERNAL;  /* but, unknown error code */
> -}
> -
> -extern int
> -regcomp(regex_t* reg, const char* pattern, int posix_options)
> -{
> -  int r, len;
> -  OnigSyntaxType* syntax = OnigDefaultSyntax;
> -  OnigOptionType options;
> -
> -  reg->onig = (void* )0;
> -
> -  if ((posix_options & REG_EXTENDED) == 0)
> -    syntax = ONIG_SYNTAX_POSIX_BASIC;
> -
> -  options = syntax->options;
> -  if ((posix_options & REG_ICASE)   != 0)
> -    ONIG_OPTION_ON(options, ONIG_OPTION_IGNORECASE);
> -  if ((posix_options & REG_NEWLINE) != 0) {
> -    ONIG_OPTION_ON( options, ONIG_OPTION_NEGATE_SINGLELINE);
> -    ONIG_OPTION_OFF(options, ONIG_OPTION_SINGLELINE);
> -  }
> -
> -  reg->comp_options = posix_options;
> -
> -  ENC_STRING_LEN(OnigEncDefaultCharEncoding, pattern, len);
> -  r = onig_new(PONIG_C(reg), (UChar* )pattern, (UChar* )(pattern + len),
> -               options, OnigEncDefaultCharEncoding, syntax,
> -               (OnigErrorInfo* )NULL);
> -  if (r != ONIG_NORMAL) {
> -    return onig2posix_error_code(r);
> -  }
> -
> -  reg->re_nsub = ONIG_C(reg)->num_mem;
> -  return 0;
> -}
> -
> -extern int
> -regexec(regex_t* reg, const char* str, size_t nmatch,
> -        regmatch_t pmatch[], int posix_options)
> -{
> -  int r, i, len;
> -  UChar* end;
> -  regmatch_t* pm;
> -  OnigOptionType options;
> -
> -  options = ONIG_OPTION_POSIX_REGION;
> -  if ((posix_options & REG_NOTBOL) != 0) options |=
> ONIG_OPTION_NOTBOL;
> -  if ((posix_options & REG_NOTEOL) != 0) options |=
> ONIG_OPTION_NOTEOL;
> -
> -  if (nmatch == 0 || (reg->comp_options & REG_NOSUB) != 0) {
> -    pm = (regmatch_t* )NULL;
> -    nmatch = 0;
> -  }
> -  else if ((int )nmatch < ONIG_C(reg)->num_mem + 1) {
> -    pm = (regmatch_t* )xmalloc(sizeof(regmatch_t)
> -                               * (ONIG_C(reg)->num_mem + 1));
> -    if (pm == NULL)
> -      return REG_ESPACE;
> -  }
> -  else {
> -    pm = pmatch;
> -  }
> -
> -  ENC_STRING_LEN(ONIG_C(reg)->enc, str, len);
> -  end = (UChar* )(str + len);
> -  r = onig_search(ONIG_C(reg), (UChar* )str, end, (UChar* )str, end,
> -                  (OnigRegion* )pm, options);
> -
> -  if (r >= 0) {
> -    r = 0; /* Match */
> -    if (pm != pmatch && pm != NULL) {
> -      xmemcpy(pmatch, pm, sizeof(regmatch_t) * nmatch);
> -    }
> -  }
> -  else if (r == ONIG_MISMATCH) {
> -    r = REG_NOMATCH;
> -    for (i = 0; i < (int )nmatch; i++)
> -      pmatch[i].rm_so = pmatch[i].rm_eo = ONIG_REGION_NOTPOS;
> -  }
> -  else {
> -    r = onig2posix_error_code(r);
> -  }
> -
> -  if (pm != pmatch && pm != NULL)
> -    xfree(pm);
> -
> -#if 0
> -  if (reg->re_nsub > nmatch - 1)
> -    reg->re_nsub = (nmatch <= 1 ? 0 : nmatch - 1);
> -#endif
> -
> -  return r;
> -}
> -
> -extern void
> -regfree(regex_t* reg)
> -{
> -  onig_free(ONIG_C(reg));
> -  reg->onig = (void* )0;
> -}
> -
> -
> -extern void
> -reg_set_encoding(int mb_code)
> -{
> -  OnigEncoding enc;
> -
> -  switch (mb_code) {
> -  case REG_POSIX_ENCODING_ASCII:
> -    enc = ONIG_ENCODING_ASCII;
> -    break;
> -  case REG_POSIX_ENCODING_UTF16_LE:
> -    enc = ONIG_ENCODING_UTF16_LE;
> -    break;
> -  }
> -
> -  onig_initialize(&enc, 1);
> -
> -  onigenc_set_default_encoding(enc);
> -}
> -
> -extern int
> -reg_name_to_group_numbers(regex_t* reg,
> -  const unsigned char* name, const unsigned char* name_end, int** nums)
> -{
> -  return onig_name_to_group_numbers(ONIG_C(reg), name, name_end,
> nums);
> -}
> -
> -typedef struct {
> -  int (*func)(const unsigned char*, const unsigned
> char*,int,int*,regex_t*,void*);
> -  regex_t* reg;
> -  void* arg;
> -} i_wrap;
> -
> -static int
> -i_wrapper(const UChar* name, const UChar* name_end, int ng, int* gs,
> -          onig_regex_t* reg ARG_UNUSED, void* arg)
> -{
> -  i_wrap* warg = (i_wrap* )arg;
> -
> -  return (*warg->func)(name, name_end, ng, gs, warg->reg, warg->arg);
> -}
> -
> -extern int
> -reg_foreach_name(regex_t* reg,
> - int (*func)(const unsigned char*, const unsigned
> char*,int,int*,regex_t*,void*),
> - void* arg)
> -{
> -  i_wrap warg;
> -
> -  warg.func = func;
> -  warg.reg  = reg;
> -  warg.arg  = arg;
> -
> -  return onig_foreach_name(ONIG_C(reg), i_wrapper, &warg);
> -}
> -
> -extern int
> -reg_number_of_names(regex_t* reg)
> -{
> -  return onig_number_of_names(ONIG_C(reg));
> -}
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regsyntax.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regsyntax.c
> deleted file mode 100644
> index c9506d49bff3..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regsyntax.c
> +++ /dev/null
> @@ -1,336 +0,0 @@
> -
> /**********************************************************
> ************
> -  regsyntax.c -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2019  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#include "regint.h"
> -
> -OnigSyntaxType OnigSyntaxASIS = {
> -    0
> -  , ONIG_SYN_OP2_INEFFECTIVE_ESCAPE
> -  , 0
> -  , ONIG_OPTION_NONE
> -  ,
> -  {
> -      (OnigCodePoint )'\\'                       /* esc */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar '.'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anytime '*'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* zero or one time
> '?' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* one or more time
> '+' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar anytime
> */
> -  }
> -};
> -
> -OnigSyntaxType OnigSyntaxPosixBasic = {
> -  ( SYN_POSIX_COMMON_OP | ONIG_SYN_OP_ESC_LPAREN_SUBEXP |
> -    ONIG_SYN_OP_ESC_BRACE_INTERVAL )
> -  , 0
> -  , 0
> -  , ( ONIG_OPTION_SINGLELINE | ONIG_OPTION_MULTILINE )
> -  ,
> -  {
> -      (OnigCodePoint )'\\'                       /* esc */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar '.'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anytime '*'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* zero or one time
> '?' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* one or more time
> '+' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar anytime
> */
> -  }
> -};
> -
> -OnigSyntaxType OnigSyntaxPosixExtended = {
> -  ( SYN_POSIX_COMMON_OP | ONIG_SYN_OP_LPAREN_SUBEXP |
> -    ONIG_SYN_OP_BRACE_INTERVAL |
> -    ONIG_SYN_OP_PLUS_ONE_INF | ONIG_SYN_OP_QMARK_ZERO_ONE |
> ONIG_SYN_OP_VBAR_ALT )
> -  , 0
> -  , ( ONIG_SYN_CONTEXT_INDEP_ANCHORS |
> -      ONIG_SYN_CONTEXT_INDEP_REPEAT_OPS |
> ONIG_SYN_CONTEXT_INVALID_REPEAT_OPS |
> -      ONIG_SYN_ALLOW_UNMATCHED_CLOSE_SUBEXP |
> -      ONIG_SYN_ALLOW_DOUBLE_RANGE_OP_IN_CC )
> -  , ( ONIG_OPTION_SINGLELINE | ONIG_OPTION_MULTILINE )
> -  ,
> -  {
> -      (OnigCodePoint )'\\'                       /* esc */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar '.'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anytime '*'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* zero or one time
> '?' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* one or more time
> '+' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar anytime
> */
> -  }
> -};
> -
> -OnigSyntaxType OnigSyntaxEmacs = {
> -  ( ONIG_SYN_OP_DOT_ANYCHAR | ONIG_SYN_OP_BRACKET_CC |
> -    ONIG_SYN_OP_ESC_BRACE_INTERVAL |
> -    ONIG_SYN_OP_ESC_LPAREN_SUBEXP | ONIG_SYN_OP_ESC_VBAR_ALT |
> -    ONIG_SYN_OP_ASTERISK_ZERO_INF | ONIG_SYN_OP_PLUS_ONE_INF |
> -    ONIG_SYN_OP_QMARK_ZERO_ONE |
> ONIG_SYN_OP_DECIMAL_BACKREF |
> -    ONIG_SYN_OP_LINE_ANCHOR | ONIG_SYN_OP_ESC_CONTROL_CHARS )
> -  , ONIG_SYN_OP2_ESC_GNU_BUF_ANCHOR
> -  , ONIG_SYN_ALLOW_EMPTY_RANGE_IN_CC
> -  , ONIG_OPTION_NONE
> -  ,
> -  {
> -      (OnigCodePoint )'\\'                       /* esc */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar '.'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anytime '*'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* zero or one time
> '?' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* one or more time
> '+' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar anytime
> */
> -  }
> -};
> -
> -OnigSyntaxType OnigSyntaxGrep = {
> -  ( ONIG_SYN_OP_DOT_ANYCHAR | ONIG_SYN_OP_BRACKET_CC |
> ONIG_SYN_OP_POSIX_BRACKET |
> -    ONIG_SYN_OP_ESC_BRACE_INTERVAL |
> ONIG_SYN_OP_ESC_LPAREN_SUBEXP |
> -    ONIG_SYN_OP_ESC_VBAR_ALT |
> -    ONIG_SYN_OP_ASTERISK_ZERO_INF |
> ONIG_SYN_OP_ESC_PLUS_ONE_INF |
> -    ONIG_SYN_OP_ESC_QMARK_ZERO_ONE |
> ONIG_SYN_OP_LINE_ANCHOR |
> -    ONIG_SYN_OP_ESC_W_WORD | ONIG_SYN_OP_ESC_B_WORD_BOUND
> |
> -    ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END |
> ONIG_SYN_OP_DECIMAL_BACKREF )
> -  , 0
> -  , ( ONIG_SYN_ALLOW_EMPTY_RANGE_IN_CC |
> ONIG_SYN_NOT_NEWLINE_IN_NEGATIVE_CC )
> -  , ONIG_OPTION_NONE
> -  ,
> -  {
> -      (OnigCodePoint )'\\'                       /* esc */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar '.'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anytime '*'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* zero or one time
> '?' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* one or more time
> '+' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar anytime
> */
> -  }
> -};
> -
> -OnigSyntaxType OnigSyntaxGnuRegex = {
> -  SYN_GNU_REGEX_OP
> -  , 0
> -  , SYN_GNU_REGEX_BV
> -  , ONIG_OPTION_NONE
> -  ,
> -  {
> -      (OnigCodePoint )'\\'                       /* esc */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar '.'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anytime '*'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* zero or one time
> '?' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* one or more time
> '+' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar anytime
> */
> -  }
> -};
> -
> -OnigSyntaxType OnigSyntaxJava = {
> -  (( SYN_GNU_REGEX_OP | ONIG_SYN_OP_QMARK_NON_GREEDY |
> -     ONIG_SYN_OP_ESC_CONTROL_CHARS |
> ONIG_SYN_OP_ESC_C_CONTROL |
> -     ONIG_SYN_OP_ESC_OCTAL3 | ONIG_SYN_OP_ESC_X_HEX2 )
> -   & ~ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END )
> -  , ( ONIG_SYN_OP2_ESC_CAPITAL_Q_QUOTE |
> ONIG_SYN_OP2_QMARK_GROUP_EFFECT |
> -      ONIG_SYN_OP2_OPTION_PERL |
> ONIG_SYN_OP2_PLUS_POSSESSIVE_REPEAT |
> -      ONIG_SYN_OP2_PLUS_POSSESSIVE_INTERVAL |
> ONIG_SYN_OP2_CCLASS_SET_OP |
> -      ONIG_SYN_OP2_ESC_V_VTAB | ONIG_SYN_OP2_ESC_U_HEX4 |
> -      ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY )
> -  , ( SYN_GNU_REGEX_BV |
> ONIG_SYN_DIFFERENT_LEN_ALT_LOOK_BEHIND )
> -  , ONIG_OPTION_SINGLELINE
> -  ,
> -  {
> -      (OnigCodePoint )'\\'                       /* esc */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar '.'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anytime '*'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* zero or one time
> '?' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* one or more time
> '+' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar anytime
> */
> -  }
> -};
> -
> -OnigSyntaxType OnigSyntaxPerl = {
> -  (( SYN_GNU_REGEX_OP | ONIG_SYN_OP_QMARK_NON_GREEDY |
> -     ONIG_SYN_OP_ESC_OCTAL3 | ONIG_SYN_OP_ESC_X_HEX2 |
> -     ONIG_SYN_OP_ESC_X_BRACE_HEX8 |
> ONIG_SYN_OP_ESC_O_BRACE_OCTAL |
> -     ONIG_SYN_OP_ESC_CONTROL_CHARS |
> -     ONIG_SYN_OP_ESC_C_CONTROL )
> -   & ~ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END )
> -  , ( ONIG_SYN_OP2_ESC_CAPITAL_Q_QUOTE |
> -      ONIG_SYN_OP2_QMARK_GROUP_EFFECT |
> ONIG_SYN_OP2_OPTION_PERL |
> -      ONIG_SYN_OP2_PLUS_POSSESSIVE_REPEAT |
> ONIG_SYN_OP2_PLUS_POSSESSIVE_INTERVAL |
> -      ONIG_SYN_OP2_QMARK_LPAREN_IF_ELSE |
> -      ONIG_SYN_OP2_QMARK_TILDE_ABSENT_GROUP |
> -      ONIG_SYN_OP2_QMARK_BRACE_CALLOUT_CONTENTS |
> -      ONIG_SYN_OP2_ASTERISK_CALLOUT_NAME    |
> -      ONIG_SYN_OP2_ESC_X_Y_TEXT_SEGMENT |
> -      ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY |
> -      ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT |
> -      ONIG_SYN_OP2_ESC_CAPITAL_K_KEEP |
> -      ONIG_SYN_OP2_ESC_CAPITAL_R_GENERAL_NEWLINE |
> -      ONIG_SYN_OP2_ESC_CAPITAL_N_O_SUPER_DOT )
> -  , SYN_GNU_REGEX_BV
> -  , ONIG_OPTION_SINGLELINE
> -  ,
> -  {
> -      (OnigCodePoint )'\\'                       /* esc */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar '.'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anytime '*'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* zero or one time
> '?' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* one or more time
> '+' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar anytime
> */
> -  }
> -};
> -
> -/* Perl + named group */
> -OnigSyntaxType OnigSyntaxPerl_NG = {
> -  (( SYN_GNU_REGEX_OP | ONIG_SYN_OP_QMARK_NON_GREEDY |
> -     ONIG_SYN_OP_ESC_OCTAL3 | ONIG_SYN_OP_ESC_X_HEX2 |
> -     ONIG_SYN_OP_ESC_X_BRACE_HEX8 |
> ONIG_SYN_OP_ESC_O_BRACE_OCTAL |
> -     ONIG_SYN_OP_ESC_CONTROL_CHARS |
> -     ONIG_SYN_OP_ESC_C_CONTROL )
> -   & ~ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END )
> -  , ( ONIG_SYN_OP2_ESC_CAPITAL_Q_QUOTE |
> -      ONIG_SYN_OP2_QMARK_GROUP_EFFECT |
> ONIG_SYN_OP2_OPTION_PERL |
> -      ONIG_SYN_OP2_PLUS_POSSESSIVE_REPEAT |
> ONIG_SYN_OP2_PLUS_POSSESSIVE_INTERVAL |
> -      ONIG_SYN_OP2_QMARK_LPAREN_IF_ELSE |
> -      ONIG_SYN_OP2_QMARK_TILDE_ABSENT_GROUP |
> -      ONIG_SYN_OP2_QMARK_BRACE_CALLOUT_CONTENTS |
> -      ONIG_SYN_OP2_ASTERISK_CALLOUT_NAME    |
> -      ONIG_SYN_OP2_ESC_X_Y_TEXT_SEGMENT |
> -      ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY  |
> -      ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT |
> -      ONIG_SYN_OP2_QMARK_LT_NAMED_GROUP       |
> -      ONIG_SYN_OP2_ESC_K_NAMED_BACKREF        |
> -      ONIG_SYN_OP2_ESC_G_SUBEXP_CALL |
> -      ONIG_SYN_OP2_ESC_CAPITAL_K_KEEP |
> -      ONIG_SYN_OP2_ESC_CAPITAL_R_GENERAL_NEWLINE |
> -      ONIG_SYN_OP2_ESC_CAPITAL_N_O_SUPER_DOT |
> -      ONIG_SYN_OP2_QMARK_PERL_SUBEXP_CALL )
> -  , ( SYN_GNU_REGEX_BV |
> -      ONIG_SYN_CAPTURE_ONLY_NAMED_GROUP |
> -      ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME )
> -  , ONIG_OPTION_SINGLELINE
> -  ,
> -  {
> -      (OnigCodePoint )'\\'                       /* esc */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar '.'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anytime '*'  */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* zero or one time
> '?' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* one or more time
> '+' */
> -    , (OnigCodePoint )ONIG_INEFFECTIVE_META_CHAR /* anychar anytime
> */
> -  }
> -};
> -
> -
> -
> -extern int
> -onig_set_default_syntax(OnigSyntaxType* syntax)
> -{
> -  if (IS_NULL(syntax))
> -    syntax = ONIG_SYNTAX_ONIGURUMA;
> -
> -  OnigDefaultSyntax = syntax;
> -  return 0;
> -}
> -
> -extern void
> -onig_copy_syntax(OnigSyntaxType* to, OnigSyntaxType* from)
> -{
> -  *to = *from;
> -}
> -
> -extern void
> -onig_set_syntax_op(OnigSyntaxType* syntax, unsigned int op)
> -{
> -  syntax->op = op;
> -}
> -
> -extern void
> -onig_set_syntax_op2(OnigSyntaxType* syntax, unsigned int op2)
> -{
> -  syntax->op2 = op2;
> -}
> -
> -extern void
> -onig_set_syntax_behavior(OnigSyntaxType* syntax, unsigned int behavior)
> -{
> -  syntax->behavior = behavior;
> -}
> -
> -extern void
> -onig_set_syntax_options(OnigSyntaxType* syntax, OnigOptionType
> options)
> -{
> -  syntax->options = options;
> -}
> -
> -extern unsigned int
> -onig_get_syntax_op(OnigSyntaxType* syntax)
> -{
> -  return syntax->op;
> -}
> -
> -extern unsigned int
> -onig_get_syntax_op2(OnigSyntaxType* syntax)
> -{
> -  return syntax->op2;
> -}
> -
> -extern unsigned int
> -onig_get_syntax_behavior(OnigSyntaxType* syntax)
> -{
> -  return syntax->behavior;
> -}
> -
> -extern OnigOptionType
> -onig_get_syntax_options(OnigSyntaxType* syntax)
> -{
> -  return syntax->options;
> -}
> -
> -#ifdef USE_VARIABLE_META_CHARS
> -extern int onig_set_meta_char(OnigSyntaxType* enc,
> -                              unsigned int what, OnigCodePoint code)
> -{
> -  switch (what) {
> -  case ONIG_META_CHAR_ESCAPE:
> -    enc->meta_char_table.esc = code;
> -    break;
> -  case ONIG_META_CHAR_ANYCHAR:
> -    enc->meta_char_table.anychar = code;
> -    break;
> -  case ONIG_META_CHAR_ANYTIME:
> -    enc->meta_char_table.anytime = code;
> -    break;
> -  case ONIG_META_CHAR_ZERO_OR_ONE_TIME:
> -    enc->meta_char_table.zero_or_one_time = code;
> -    break;
> -  case ONIG_META_CHAR_ONE_OR_MORE_TIME:
> -    enc->meta_char_table.one_or_more_time = code;
> -    break;
> -  case ONIG_META_CHAR_ANYCHAR_ANYTIME:
> -    enc->meta_char_table.anychar_anytime = code;
> -    break;
> -  default:
> -    return ONIGERR_INVALID_ARGUMENT;
> -    break;
> -  }
> -  return 0;
> -}
> -#endif /* USE_VARIABLE_META_CHARS */
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regtrav.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regtrav.c
> deleted file mode 100644
> index fbc71d899fc0..000000000000
> --- a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regtrav.c
> +++ /dev/null
> @@ -1,76 +0,0 @@
> -
> /**********************************************************
> ************
> -  regtrav.c -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2004  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#include "regint.h"
> -
> -#ifdef USE_CAPTURE_HISTORY
> -
> -static int
> -capture_tree_traverse(OnigCaptureTreeNode* node, int at,
> -                      int(*callback_func)(int,int,int,int,int,void*),
> -                      int level, void* arg)
> -{
> -  int r, i;
> -
> -  if (node == (OnigCaptureTreeNode* )0)
> -    return 0;
> -
> -  if ((at & ONIG_TRAVERSE_CALLBACK_AT_FIRST) != 0) {
> -    r = (*callback_func)(node->group, node->beg, node->end,
> -                         level, ONIG_TRAVERSE_CALLBACK_AT_FIRST, arg);
> -    if (r != 0) return r;
> -  }
> -
> -  for (i = 0; i < node->num_childs; i++) {
> -    r = capture_tree_traverse(node->childs[i], at,
> -                              callback_func, level + 1, arg);
> -    if (r != 0) return r;
> -  }
> -
> -  if ((at & ONIG_TRAVERSE_CALLBACK_AT_LAST) != 0) {
> -    r = (*callback_func)(node->group, node->beg, node->end,
> -                         level, ONIG_TRAVERSE_CALLBACK_AT_LAST, arg);
> -    if (r != 0) return r;
> -  }
> -
> -  return 0;
> -}
> -#endif /* USE_CAPTURE_HISTORY */
> -
> -extern int
> -onig_capture_tree_traverse(OnigRegion* region, int at,
> -                  int(*callback_func)(int,int,int,int,int,void*), void* arg)
> -{
> -#ifdef USE_CAPTURE_HISTORY
> -  return capture_tree_traverse(region->history_root, at,
> -                               callback_func, 0, arg);
> -#else
> -  return ONIG_NO_SUPPORT_CONFIG;
> -#endif
> -}
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regversion.
> c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regversion.
> c
> deleted file mode 100644
> index 5e6274f06121..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regversion.
> c
> +++ /dev/null
> @@ -1,57 +0,0 @@
> -
> /**********************************************************
> ************
> -  regversion.c -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2018  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#include "oniguruma.h"
> -#include "regint.h"
> -//#include <stdio.h>
> -
> -extern const char*
> -onig_version(void)
> -{
> -  static char s[12];
> -
> -  sprintf_s(s, sizeof(s), "%d.%d.%d",
> -            ONIGURUMA_VERSION_MAJOR,
> -            ONIGURUMA_VERSION_MINOR,
> -            ONIGURUMA_VERSION_TEENY);
> -  return s;
> -}
> -
> -extern const char*
> -onig_copyright(void)
> -{
> -  static char s[58];
> -
> -  sprintf_s(s, sizeof(s),
> -            "Oniguruma %d.%d.%d : Copyright (C) 2002-2018 K.Kosako",
> -            ONIGURUMA_VERSION_MAJOR,
> -            ONIGURUMA_VERSION_MINOR,
> -            ONIGURUMA_VERSION_TEENY);
> -  return s;
> -}
> diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/st.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/st.c
> deleted file mode 100644
> index 95fe4b0e06e8..000000000000
> --- a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/st.c
> +++ /dev/null
> @@ -1,588 +0,0 @@
> -/* This is a public domain general purpose hash table package written by
> Peter Moore @ UCB. */
> -
> -/* static	char	sccsid[] = "@(#) st.c 5.1 89/12/14 Crucible"; */
> -
> -//#include <stdio.h>
> -//#include <stdlib.h>
> -//#include <string.h>
> -#include "OnigurumaUefiPort.h"
> -
> -#ifdef _WIN32
> -#include <malloc.h>
> -#endif
> -
> -#include "regint.h"
> -#include "st.h"
> -
> -typedef struct st_table_entry st_table_entry;
> -
> -struct st_table_entry {
> -    unsigned int hash;
> -    st_data_t key;
> -    st_data_t record;
> -    st_table_entry *next;
> -};
> -
> -#define ST_DEFAULT_MAX_DENSITY 5
> -#define ST_DEFAULT_INIT_TABLE_SIZE 11
> -
> -    /*
> -     * DEFAULT_MAX_DENSITY is the default for the largest we allow the
> -     * average number of items per bin before increasing the number of
> -     * bins
> -     *
> -     * DEFAULT_INIT_TABLE_SIZE is the default for the number of bins
> -     * allocated initially
> -     *
> -     */
> -
> -static int numcmp(long, long);
> -static int numhash(long);
> -static struct st_hash_type type_numhash = {
> -    numcmp,
> -    numhash,
> -};
> -
> -/* extern int strcmp(const char *, const char *); */
> -static int strhash(const char *);
> -static struct st_hash_type type_strhash = {
> -    strcmp,
> -    strhash,
> -};
> -
> -static void rehash(st_table *);
> -
> -#define alloc(type) (type*)xmalloc((unsigned)sizeof(type))
> -#define Calloc(n,s) (char*)xcalloc((n),(s))
> -
> -#define EQUAL(table,x,y) ((x)==(y) || (*table->type->compare)((x),(y)) ==
> 0)
> -
> -#define do_hash(key,table) (unsigned int)(*(table)->type->hash)((key))
> -#define do_hash_bin(key,table) (do_hash(key, table)%(table)->num_bins)
> -
> -/*
> - * MINSIZE is the minimum size of a dictionary.
> - */
> -
> -#define MINSIZE 8
> -
> -/*
> -Table of prime numbers 2^n+a, 2<=n<=30.
> -*/
> -static const long primes[] = {
> -	8 + 3,
> -	16 + 3,
> -	32 + 5,
> -	64 + 3,
> -	128 + 3,
> -	256 + 27,
> -	512 + 9,
> -	1024 + 9,
> -	2048 + 5,
> -	4096 + 3,
> -	8192 + 27,
> -	16384 + 43,
> -	32768 + 3,
> -	65536 + 45,
> -	131072 + 29,
> -	262144 + 3,
> -	524288 + 21,
> -	1048576 + 7,
> -	2097152 + 17,
> -	4194304 + 15,
> -	8388608 + 9,
> -	16777216 + 43,
> -	33554432 + 35,
> -	67108864 + 15,
> -	134217728 + 29,
> -	268435456 + 3,
> -	536870912 + 11,
> -	1073741824 + 85,
> -	0
> -};
> -
> -static int
> -new_size(size)
> -    int size;
> -{
> -    int i;
> -
> -#if 0
> -    for (i=3; i<31; i++) {
> -      if ((1<<i) > size) return 1<<i;
> -    }
> -    return -1;
> -#else
> -    int newsize;
> -
> -    for (i = 0, newsize = MINSIZE;
> -         i < (int )(sizeof(primes)/sizeof(primes[0]));
> -         i++, newsize <<= 1) {
> -      if (newsize > size) return primes[i];
> -    }
> -    /* Ran out of polynomials */
> -    return -1;			/* should raise exception */
> -#endif
> -}
> -
> -#ifdef HASH_LOG
> -static int collision = 0;
> -static int init_st = 0;
> -
> -static void
> -stat_col(void)
> -{
> -  FILE *f = fopen("/tmp/col", "w");
> -  if (f == 0) return ;
> -
> -  (void) fprintf(f, "collision: %d\n", collision);
> -  (void) fclose(f);
> -}
> -#endif
> -
> -st_table*
> -st_init_table_with_size(type, size)
> -    struct st_hash_type *type;
> -    int size;
> -{
> -  st_table *tbl;
> -
> -#ifdef HASH_LOG
> -  if (init_st == 0) {
> -    init_st = 1;
> -    atexit(stat_col);
> -  }
> -#endif
> -
> -  size = new_size(size);	/* round up to prime number */
> -
> -  tbl = alloc(st_table);
> -  if (tbl == 0) return 0;
> -
> -  tbl->type = type;
> -  tbl->num_entries = 0;
> -  tbl->num_bins = size;
> -  tbl->bins = (st_table_entry **)Calloc(size, sizeof(st_table_entry*));
> -  if (tbl->bins == 0) {
> -    free(tbl);
> -    return 0;
> -  }
> -
> -  return tbl;
> -}
> -
> -st_table*
> -st_init_table(type)
> -    struct st_hash_type *type;
> -{
> -  return st_init_table_with_size(type, 0);
> -}
> -
> -st_table*
> -st_init_numtable(void)
> -{
> -  return st_init_table(&type_numhash);
> -}
> -
> -st_table*
> -st_init_numtable_with_size(size)
> -    int size;
> -{
> -  return st_init_table_with_size(&type_numhash, size);
> -}
> -
> -st_table*
> -st_init_strtable(void)
> -{
> -  return st_init_table(&type_strhash);
> -}
> -
> -st_table*
> -st_init_strtable_with_size(size)
> -    int size;
> -{
> -  return st_init_table_with_size(&type_strhash, size);
> -}
> -
> -void
> -st_free_table(table)
> -    st_table *table;
> -{
> -  register st_table_entry *ptr, *next;
> -  int i;
> -
> -  for(i = 0; i < table->num_bins; i++) {
> -    ptr = table->bins[i];
> -    while (ptr != 0) {
> -	    next = ptr->next;
> -	    free(ptr);
> -	    ptr = next;
> -    }
> -  }
> -  free(table->bins);
> -  free(table);
> -}
> -
> -#define PTR_NOT_EQUAL(table, ptr, hash_val, key) \
> -((ptr) != 0 && (ptr->hash != (hash_val) || !EQUAL((table), (key), (ptr)->key)))
> -
> -#ifdef HASH_LOG
> -#define COLLISION collision++
> -#else
> -#define COLLISION
> -#endif
> -
> -#define FIND_ENTRY(table, ptr, hash_val, bin_pos) do {\
> -    bin_pos = hash_val%(table)->num_bins;\
> -    ptr = (table)->bins[bin_pos];\
> -    if (PTR_NOT_EQUAL(table, ptr, hash_val, key)) {\
> -      COLLISION;\
> -      while (PTR_NOT_EQUAL(table, ptr->next, hash_val, key)) {\
> -        ptr = ptr->next;\
> -      }\
> -      ptr = ptr->next;\
> -    }\
> -} while (0)
> -
> -int
> -st_lookup(table, key, value)
> -     st_table *table;
> -     register st_data_t key;
> -     st_data_t *value;
> -{
> -  unsigned int hash_val, bin_pos;
> -  register st_table_entry *ptr;
> -
> -  hash_val = do_hash(key, table);
> -  FIND_ENTRY(table, ptr, hash_val, bin_pos);
> -
> -  if (ptr == 0) {
> -    return 0;
> -  }
> -  else {
> -    if (value != 0)  *value = ptr->record;
> -    return 1;
> -  }
> -}
> -
> -#define ADD_DIRECT(table, key, value, hash_val, bin_pos, ret) \
> -do {\
> -  st_table_entry *entry;\
> -  if (table->num_entries/(table->num_bins) > ST_DEFAULT_MAX_DENSITY)
> {\
> -    rehash(table);\
> -    bin_pos = hash_val % table->num_bins;\
> -  }\
> -  entry = alloc(st_table_entry);\
> -  if (IS_NULL(entry)) return ret;\
> -  entry->hash = hash_val;\
> -  entry->key = key;\
> -  entry->record = value;\
> -  entry->next = table->bins[bin_pos];\
> -  table->bins[bin_pos] = entry;\
> -  table->num_entries++;\
> -} while (0)
> -
> -int
> -st_insert(table, key, value)
> -     register st_table *table;
> -     register st_data_t key;
> -     st_data_t value;
> -{
> -  unsigned int hash_val, bin_pos;
> -  register st_table_entry *ptr;
> -
> -  hash_val = do_hash(key, table);
> -  FIND_ENTRY(table, ptr, hash_val, bin_pos);
> -
> -  if (ptr == 0) {
> -    ADD_DIRECT(table, key, value, hash_val, bin_pos, ONIGERR_MEMORY);
> -    return 0;
> -  }
> -  else {
> -    ptr->record = value;
> -    return 1;
> -  }
> -}
> -
> -void
> -st_add_direct(table, key, value)
> -     st_table *table;
> -     st_data_t key;
> -     st_data_t value;
> -{
> -  unsigned int hash_val, bin_pos;
> -
> -  hash_val = do_hash(key, table);
> -  bin_pos = hash_val % table->num_bins;
> -  ADD_DIRECT(table, key, value, hash_val, bin_pos,);
> -}
> -
> -static void
> -rehash(table)
> -     register st_table *table;
> -{
> -  register st_table_entry *ptr, *next, **new_bins;
> -  int i, old_num_bins = table->num_bins, new_num_bins;
> -  unsigned int hash_val;
> -
> -  new_num_bins = new_size(old_num_bins+1);
> -  new_bins = (st_table_entry**)Calloc(new_num_bins,
> sizeof(st_table_entry*));
> -  if (new_bins == 0) {
> -    return ;
> -  }
> -
> -  for(i = 0; i < old_num_bins; i++) {
> -    ptr = table->bins[i];
> -    while (ptr != 0) {
> -	    next = ptr->next;
> -	    hash_val = ptr->hash % new_num_bins;
> -	    ptr->next = new_bins[hash_val];
> -	    new_bins[hash_val] = ptr;
> -	    ptr = next;
> -    }
> -  }
> -  free(table->bins);
> -  table->num_bins = new_num_bins;
> -  table->bins = new_bins;
> -}
> -
> -st_table*
> -st_copy(old_table)
> -     st_table *old_table;
> -{
> -  st_table *new_table;
> -  st_table_entry *ptr, *entry;
> -  int i, num_bins = old_table->num_bins;
> -
> -  new_table = alloc(st_table);
> -  if (new_table == 0) {
> -    return 0;
> -  }
> -
> -  *new_table = *old_table;
> -  new_table->bins = (st_table_entry**)
> -    Calloc((unsigned)num_bins, sizeof(st_table_entry*));
> -
> -  if (new_table->bins == 0) {
> -    free(new_table);
> -    return 0;
> -  }
> -
> -  for(i = 0; i < num_bins; i++) {
> -    new_table->bins[i] = 0;
> -    ptr = old_table->bins[i];
> -    while (ptr != 0) {
> -	    entry = alloc(st_table_entry);
> -	    if (entry == 0) {
> -        free(new_table->bins);
> -        free(new_table);
> -        return 0;
> -	    }
> -	    *entry = *ptr;
> -	    entry->next = new_table->bins[i];
> -	    new_table->bins[i] = entry;
> -	    ptr = ptr->next;
> -    }
> -  }
> -  return new_table;
> -}
> -
> -int
> -st_delete(table, key, value)
> -     register st_table *table;
> -     register st_data_t *key;
> -     st_data_t *value;
> -{
> -  unsigned int hash_val;
> -  st_table_entry *tmp;
> -  register st_table_entry *ptr;
> -
> -  hash_val = do_hash_bin(*key, table);
> -  ptr = table->bins[hash_val];
> -
> -  if (ptr == 0) {
> -    if (value != 0) *value = 0;
> -    return 0;
> -  }
> -
> -  if (EQUAL(table, *key, ptr->key)) {
> -    table->bins[hash_val] = ptr->next;
> -    table->num_entries--;
> -    if (value != 0) *value = ptr->record;
> -    *key = ptr->key;
> -    free(ptr);
> -    return 1;
> -  }
> -
> -  for(; ptr->next != 0; ptr = ptr->next) {
> -    if (EQUAL(table, ptr->next->key, *key)) {
> -	    tmp = ptr->next;
> -	    ptr->next = ptr->next->next;
> -	    table->num_entries--;
> -	    if (value != 0) *value = tmp->record;
> -	    *key = tmp->key;
> -	    free(tmp);
> -	    return 1;
> -    }
> -  }
> -
> -  return 0;
> -}
> -
> -int
> -st_delete_safe(table, key, value, never)
> -     register st_table *table;
> -     register st_data_t *key;
> -     st_data_t *value;
> -     st_data_t never;
> -{
> -  unsigned int hash_val;
> -  register st_table_entry *ptr;
> -
> -  hash_val = do_hash_bin(*key, table);
> -  ptr = table->bins[hash_val];
> -
> -  if (ptr == 0) {
> -    if (value != 0) *value = 0;
> -    return 0;
> -  }
> -
> -  for(; ptr != 0; ptr = ptr->next) {
> -    if ((ptr->key != never) && EQUAL(table, ptr->key, *key)) {
> -	    table->num_entries--;
> -	    *key = ptr->key;
> -	    if (value != 0) *value = ptr->record;
> -	    ptr->key = ptr->record = never;
> -	    return 1;
> -    }
> -  }
> -
> -  return 0;
> -}
> -
> -static int
> -#if defined(__GNUC__)
> -delete_never(st_data_t key __attribute__ ((unused)), st_data_t value,
> -	     st_data_t never)
> -#else
> -delete_never(key, value, never)
> -    st_data_t key, value, never;
> -#endif
> -{
> -    if (value == never) return ST_DELETE;
> -    return ST_CONTINUE;
> -}
> -
> -void
> -st_cleanup_safe(table, never)
> -     st_table *table;
> -     st_data_t never;
> -{
> -  int num_entries = table->num_entries;
> -
> -  st_foreach(table, delete_never, never);
> -  table->num_entries = num_entries;
> -}
> -
> -int
> -st_foreach(table, func, arg)
> -     st_table *table;
> -     int (*func)();
> -     st_data_t arg;
> -{
> -  st_table_entry *ptr, *last, *tmp;
> -  enum st_retval retval;
> -  int i;
> -
> -  for(i = 0; i < table->num_bins; i++) {
> -    last = 0;
> -    for(ptr = table->bins[i]; ptr != 0;) {
> -	    retval = (*func)(ptr->key, ptr->record, arg);
> -	    switch (retval) {
> -	    case ST_CHECK:	/* check if hash is modified during iteration
> */
> -        tmp = 0;
> -        if (i < table->num_bins) {
> -          for (tmp = table->bins[i]; tmp; tmp=tmp->next) {
> -            if (tmp == ptr) break;
> -          }
> -        }
> -        if (!tmp) {
> -          /* call func with error notice */
> -          return 1;
> -        }
> -        /* fall through */
> -	    case ST_CONTINUE:
> -        last = ptr;
> -        ptr = ptr->next;
> -        break;
> -	    case ST_STOP:
> -        return 0;
> -	    case ST_DELETE:
> -        tmp = ptr;
> -        if (last == 0) {
> -          table->bins[i] = ptr->next;
> -        }
> -        else {
> -          last->next = ptr->next;
> -        }
> -        ptr = ptr->next;
> -        free(tmp);
> -        table->num_entries--;
> -	    }
> -    }
> -  }
> -  return 0;
> -}
> -
> -static int
> -strhash(string)
> -     register const char *string;
> -{
> -  register int c;
> -
> -#ifdef HASH_ELFHASH
> -  register unsigned int h = 0, g;
> -
> -  while ((c = *string++) != '\0') {
> -    h = ( h << 4 ) + c;
> -    if ( g = h & 0xF0000000 )
> -	    h ^= g >> 24;
> -    h &= ~g;
> -  }
> -  return h;
> -#elif HASH_PERL
> -  register int val = 0;
> -
> -  while ((c = *string++) != '\0') {
> -    val += c;
> -    val += (val << 10);
> -    val ^= (val >> 6);
> -  }
> -  val += (val << 3);
> -  val ^= (val >> 11);
> -
> -  return val + (val << 15);
> -#else
> -  register int val = 0;
> -
> -  while ((c = *string++) != '\0') {
> -    val = val*997 + c;
> -  }
> -
> -  return val + (val>>5);
> -#endif
> -}
> -
> -static int
> -numcmp(x, y)
> -     long x, y;
> -{
> -  return x != y;
> -}
> -
> -static int
> -numhash(n)
> -     long n;
> -{
> -  return n;
> -}
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode.c
> deleted file mode 100644
> index d25209091705..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode.c
> +++ /dev/null
> @@ -1,1152 +0,0 @@
> -
> /**********************************************************
> ************
> -  unicode.c -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2019  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#include "regint.h"
> -
> -struct PoolPropertyNameCtype {
> -  short int name;
> -  short int ctype;
> -};
> -
> -#define ONIGENC_IS_UNICODE_ISO_8859_1_CTYPE(code,ctype) \
> -  ((EncUNICODE_ISO_8859_1_CtypeTable[code] & CTYPE_TO_BIT(ctype)) !=
> 0)
> -
> -static const unsigned short EncUNICODE_ISO_8859_1_CtypeTable[256] = {
> -  0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008,
> -  0x4008, 0x428c, 0x4289, 0x4288, 0x4288, 0x4288, 0x4008, 0x4008,
> -  0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008,
> -  0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008,
> -  0x4284, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0,
> -  0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0,
> -  0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0,
> -  0x78b0, 0x78b0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0,
> -  0x41a0, 0x7ca2, 0x7ca2, 0x7ca2, 0x7ca2, 0x7ca2, 0x7ca2, 0x74a2,
> -  0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2,
> -  0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2,
> -  0x74a2, 0x74a2, 0x74a2, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x51a0,
> -  0x41a0, 0x78e2, 0x78e2, 0x78e2, 0x78e2, 0x78e2, 0x78e2, 0x70e2,
> -  0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2,
> -  0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2,
> -  0x70e2, 0x70e2, 0x70e2, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x4008,
> -  0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0288, 0x0008, 0x0008,
> -  0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
> -  0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
> -  0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
> -  0x0284, 0x01a0, 0x00a0, 0x00a0, 0x00a0, 0x00a0, 0x00a0, 0x00a0,
> -  0x00a0, 0x00a0, 0x30e2, 0x01a0, 0x00a0, 0x00a8, 0x00a0, 0x00a0,
> -  0x00a0, 0x00a0, 0x10a0, 0x10a0, 0x00a0, 0x30e2, 0x00a0, 0x01a0,
> -  0x00a0, 0x10a0, 0x30e2, 0x01a0, 0x10a0, 0x10a0, 0x10a0, 0x01a0,
> -  0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2,
> -  0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2,
> -  0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x00a0,
> -  0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x30e2,
> -  0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2,
> -  0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2,
> -  0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x00a0,
> -  0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2
> -};
> -
> -#include "st.h"
> -
> -#include "unicode_fold_data.c"
> -
> -extern int
> -onigenc_unicode_mbc_case_fold(OnigEncoding enc,
> -    OnigCaseFoldType flag ARG_UNUSED, const UChar** pp, const UChar*
> end,
> -    UChar* fold)
> -{
> -  const struct ByUnfoldKey* buk;
> -
> -  OnigCodePoint code;
> -  int i, len, rlen;
> -  const UChar *p = *pp;
> -
> -  code = ONIGENC_MBC_TO_CODE(enc, p, end);
> -  len = enclen(enc, p);
> -  *pp += len;
> -
> -#ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI
> -  if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) != 0) {
> -    if (code == 0x0130) {
> -      return ONIGENC_CODE_TO_MBC(enc, 0x0069, fold);
> -    }
> -#if 0
> -    if (code == 0x0049) {
> -      return ONIGENC_CODE_TO_MBC(enc, 0x0131, fold);
> -    }
> -#endif
> -  }
> -#endif
> -
> -  buk = onigenc_unicode_unfold_key(code);
> -  if (buk != 0) {
> -    if (buk->fold_len == 1) {
> -      return ONIGENC_CODE_TO_MBC(enc, *FOLDS1_FOLD(buk->index),
> fold);
> -    }
> -    else {
> -      OnigCodePoint* addr;
> -
> -      FOLDS_FOLD_ADDR_BUK(buk, addr);
> -      rlen = 0;
> -      for (i = 0; i < buk->fold_len; i++) {
> -        OnigCodePoint c = addr[i];
> -        len = ONIGENC_CODE_TO_MBC(enc, c, fold);
> -        fold += len;
> -        rlen += len;
> -      }
> -      return rlen;
> -    }
> -  }
> -
> -  for (i = 0; i < len; i++) {
> -    *fold++ = *p++;
> -  }
> -  return len;
> -}
> -
> -static int
> -apply_case_fold1(int from, int to, OnigApplyAllCaseFoldFunc f, void* arg)
> -{
> -  int i, j, k, n, r;
> -
> -  for (i = from; i < to; ) {
> -    OnigCodePoint fold = *FOLDS1_FOLD(i);
> -    n = FOLDS1_UNFOLDS_NUM(i);
> -    for (j = 0; j < n; j++) {
> -      OnigCodePoint unfold = FOLDS1_UNFOLDS(i)[j];
> -
> -      r = (*f)(fold, &unfold, 1, arg);
> -      if (r != 0) return r;
> -      r = (*f)(unfold, &fold, 1, arg);
> -      if (r != 0) return r;
> -
> -      for (k = 0; k < j; k++) {
> -        OnigCodePoint unfold2 = FOLDS1_UNFOLDS(i)[k];
> -        r = (*f)(unfold, &unfold2, 1, arg);
> -        if (r != 0) return r;
> -        r = (*f)(unfold2, &unfold, 1, arg);
> -        if (r != 0) return r;
> -      }
> -    }
> -
> -    i = FOLDS1_NEXT_INDEX(i);
> -  }
> -
> -  return 0;
> -}
> -
> -static int
> -apply_case_fold2(int from, int to, OnigApplyAllCaseFoldFunc f, void* arg)
> -{
> -  int i, j, k, n, r;
> -
> -  for (i = from; i < to; ) {
> -    OnigCodePoint* fold = FOLDS2_FOLD(i);
> -    n = FOLDS2_UNFOLDS_NUM(i);
> -    for (j = 0; j < n; j++) {
> -      OnigCodePoint unfold = FOLDS2_UNFOLDS(i)[j];
> -
> -      r = (*f)(unfold, fold, 2, arg);
> -      if (r != 0) return r;
> -
> -      for (k = 0; k < j; k++) {
> -        OnigCodePoint unfold2 = FOLDS2_UNFOLDS(i)[k];
> -        r = (*f)(unfold, &unfold2, 1, arg);
> -        if (r != 0) return r;
> -        r = (*f)(unfold2, &unfold, 1, arg);
> -        if (r != 0) return r;
> -      }
> -    }
> -
> -    i = FOLDS2_NEXT_INDEX(i);
> -  }
> -
> -  return 0;
> -}
> -
> -static int
> -apply_case_fold3(int from, int to, OnigApplyAllCaseFoldFunc f, void* arg)
> -{
> -  int i, j, k, n, r;
> -
> -  for (i = from; i < to; ) {
> -    OnigCodePoint* fold = FOLDS3_FOLD(i);
> -    n = FOLDS3_UNFOLDS_NUM(i);
> -    for (j = 0; j < n; j++) {
> -      OnigCodePoint unfold = FOLDS3_UNFOLDS(i)[j];
> -
> -      r = (*f)(unfold, fold, 3, arg);
> -      if (r != 0) return r;
> -
> -      for (k = 0; k < j; k++) {
> -        OnigCodePoint unfold2 = FOLDS3_UNFOLDS(i)[k];
> -        r = (*f)(unfold, &unfold2, 1, arg);
> -        if (r != 0) return r;
> -        r = (*f)(unfold2, &unfold, 1, arg);
> -        if (r != 0) return r;
> -      }
> -    }
> -
> -    i = FOLDS3_NEXT_INDEX(i);
> -  }
> -
> -  return 0;
> -}
> -
> -extern int
> -onigenc_unicode_apply_all_case_fold(OnigCaseFoldType flag,
> -                                    OnigApplyAllCaseFoldFunc f, void* arg)
> -{
> -  int r;
> -
> -  r = apply_case_fold1(0, FOLDS1_NORMAL_END_INDEX, f, arg);
> -  if (r != 0) return r;
> -
> -#ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI
> -  if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) != 0) {
> -    code = 0x0131;
> -    r = (*f)(0x0049, &code, 1, arg);
> -    if (r != 0) return r;
> -    code = 0x0049;
> -    r = (*f)(0x0131, &code, 1, arg);
> -    if (r != 0) return r;
> -
> -    code = 0x0130;
> -    r = (*f)(0x0069, &code, 1, arg);
> -    if (r != 0) return r;
> -    code = 0x0069;
> -    r = (*f)(0x0130, &code, 1, arg);
> -    if (r != 0) return r;
> -  }
> -  else {
> -#endif
> -    r = apply_case_fold1(FOLDS1_NORMAL_END_INDEX,
> FOLDS1_END_INDEX, f, arg);
> -    if (r != 0) return r;
> -#ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI
> -  }
> -#endif
> -
> -  if ((flag & INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR) == 0)
> -    return 0;
> -
> -  r = apply_case_fold2(0, FOLDS2_NORMAL_END_INDEX, f, arg);
> -  if (r != 0) return r;
> -
> -#ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI
> -  if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) == 0) {
> -#endif
> -    r = apply_case_fold2(FOLDS2_NORMAL_END_INDEX,
> FOLDS2_END_INDEX, f, arg);
> -    if (r != 0) return r;
> -#ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI
> -  }
> -#endif
> -
> -  r = apply_case_fold3(0, FOLDS3_NORMAL_END_INDEX, f, arg);
> -  if (r != 0) return r;
> -
> -  return 0;
> -}
> -
> -extern int
> -onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc,
> -    OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end,
> -    OnigCaseFoldCodeItem items[])
> -{
> -  int n, m, i, j, k, len;
> -  OnigCodePoint code, codes[3];
> -  const struct ByUnfoldKey* buk;
> -
> -  n = 0;
> -
> -  code = ONIGENC_MBC_TO_CODE(enc, p, end);
> -  len = enclen(enc, p);
> -
> -#ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI
> -  if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) != 0) {
> -    if (code == 0x0049) {
> -      items[0].byte_len = len;
> -      items[0].code_len = 1;
> -      items[0].code[0]  = 0x0131;
> -      return 1;
> -    }
> -    else if (code == 0x0130) {
> -      items[0].byte_len = len;
> -      items[0].code_len = 1;
> -      items[0].code[0]  = 0x0069;
> -      return 1;
> -    }
> -    else if (code == 0x0131) {
> -      items[0].byte_len = len;
> -      items[0].code_len = 1;
> -      items[0].code[0]  = 0x0049;
> -      return 1;
> -    }
> -    else if (code == 0x0069) {
> -      items[0].byte_len = len;
> -      items[0].code_len = 1;
> -      items[0].code[0]  = 0x0130;
> -      return 1;
> -    }
> -  }
> -#endif
> -
> -  buk = onigenc_unicode_unfold_key(code);
> -  if (buk != 0) {
> -    if (buk->fold_len == 1) {
> -      int un;
> -      items[0].byte_len = len;
> -      items[0].code_len = 1;
> -      items[0].code[0]  = *FOLDS1_FOLD(buk->index);
> -      n++;
> -
> -      un = FOLDS1_UNFOLDS_NUM(buk->index);
> -      for (i = 0; i < un; i++) {
> -        OnigCodePoint unfold = FOLDS1_UNFOLDS(buk->index)[i];
> -        if (unfold != code) {
> -          items[n].byte_len = len;
> -          items[n].code_len = 1;
> -          items[n].code[0]  = unfold;
> -          n++;
> -        }
> -      }
> -      code = items[0].code[0]; /* for multi-code to unfold search. */
> -    }
> -    else if ((flag & INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR) != 0) {
> -      OnigCodePoint cs[3][4];
> -      int fn, ncs[3];
> -
> -      if (buk->fold_len == 2) {
> -        m = FOLDS2_UNFOLDS_NUM(buk->index);
> -        for (i = 0; i < m; i++) {
> -          OnigCodePoint unfold = FOLDS2_UNFOLDS(buk->index)[i];
> -          if (unfold == code) continue;
> -
> -          items[n].byte_len = len;
> -          items[n].code_len = 1;
> -          items[n].code[0]  = unfold;
> -          n++;
> -        }
> -
> -        for (fn = 0; fn < 2; fn++) {
> -          int index;
> -          cs[fn][0] = FOLDS2_FOLD(buk->index)[fn];
> -          index = onigenc_unicode_fold1_key(&cs[fn][0]);
> -          if (index >= 0) {
> -            int m = FOLDS1_UNFOLDS_NUM(index);
> -            for (i = 0; i < m; i++) {
> -              cs[fn][i+1] = FOLDS1_UNFOLDS(index)[i];
> -            }
> -            ncs[fn] = m + 1;
> -          }
> -          else
> -            ncs[fn] = 1;
> -        }
> -
> -        for (i = 0; i < ncs[0]; i++) {
> -          for (j = 0; j < ncs[1]; j++) {
> -            items[n].byte_len = len;
> -            items[n].code_len = 2;
> -            items[n].code[0]  = cs[0][i];
> -            items[n].code[1]  = cs[1][j];
> -            n++;
> -          }
> -        }
> -      }
> -      else { /* fold_len == 3 */
> -        m = FOLDS3_UNFOLDS_NUM(buk->index);
> -        for (i = 0; i < m; i++) {
> -          OnigCodePoint unfold = FOLDS3_UNFOLDS(buk->index)[i];
> -          if (unfold == code) continue;
> -
> -          items[n].byte_len = len;
> -          items[n].code_len = 1;
> -          items[n].code[0]  = unfold;
> -          n++;
> -        }
> -
> -        for (fn = 0; fn < 3; fn++) {
> -          int index;
> -          cs[fn][0] = FOLDS3_FOLD(buk->index)[fn];
> -          index = onigenc_unicode_fold1_key(&cs[fn][0]);
> -          if (index >= 0) {
> -            int m = FOLDS1_UNFOLDS_NUM(index);
> -            for (i = 0; i < m; i++) {
> -              cs[fn][i+1] = FOLDS1_UNFOLDS(index)[i];
> -            }
> -            ncs[fn] = m + 1;
> -          }
> -          else
> -            ncs[fn] = 1;
> -        }
> -
> -        for (i = 0; i < ncs[0]; i++) {
> -          for (j = 0; j < ncs[1]; j++) {
> -            for (k = 0; k < ncs[2]; k++) {
> -              items[n].byte_len = len;
> -              items[n].code_len = 3;
> -              items[n].code[0]  = cs[0][i];
> -              items[n].code[1]  = cs[1][j];
> -              items[n].code[2]  = cs[2][k];
> -              n++;
> -            }
> -          }
> -        }
> -      }
> -
> -      /* multi char folded code is not head of another folded multi char */
> -      return n;
> -    }
> -  }
> -  else {
> -    int index = onigenc_unicode_fold1_key(&code);
> -    if (index >= 0) {
> -      int m = FOLDS1_UNFOLDS_NUM(index);
> -      for (i = 0; i < m; i++) {
> -        items[n].byte_len = len;
> -        items[n].code_len = 1;
> -        items[n].code[0]  = FOLDS1_UNFOLDS(index)[i];
> -        n++;
> -      }
> -    }
> -  }
> -
> -  if ((flag & INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR) == 0)
> -    return n;
> -
> -  p += len;
> -  if (p < end) {
> -    int clen;
> -    int index;
> -
> -    codes[0] = code;
> -    code = ONIGENC_MBC_TO_CODE(enc, p, end);
> -
> -    buk = onigenc_unicode_unfold_key(code);
> -    if (buk != 0 && buk->fold_len == 1) {
> -      codes[1] = *FOLDS1_FOLD(buk->index);
> -    }
> -    else
> -      codes[1] = code;
> -
> -    clen = enclen(enc, p);
> -    len += clen;
> -
> -    index = onigenc_unicode_fold2_key(codes);
> -    if (index >= 0) {
> -      m = FOLDS2_UNFOLDS_NUM(index);
> -      for (i = 0; i < m; i++) {
> -        items[n].byte_len = len;
> -        items[n].code_len = 1;
> -        items[n].code[0]  = FOLDS2_UNFOLDS(index)[i];
> -        n++;
> -      }
> -    }
> -
> -    p += clen;
> -    if (p < end) {
> -      code = ONIGENC_MBC_TO_CODE(enc, p, end);
> -      buk = onigenc_unicode_unfold_key(code);
> -      if (buk != 0 && buk->fold_len == 1) {
> -        codes[2] = *FOLDS1_FOLD(buk->index);
> -      }
> -      else
> -        codes[2] = code;
> -
> -      clen = enclen(enc, p);
> -      len += clen;
> -
> -      index = onigenc_unicode_fold3_key(codes);
> -      if (index >= 0) {
> -        m = FOLDS3_UNFOLDS_NUM(index);
> -        for (i = 0; i < m; i++) {
> -          items[n].byte_len = len;
> -          items[n].code_len = 1;
> -          items[n].code[0]  = FOLDS3_UNFOLDS(index)[i];
> -          n++;
> -        }
> -      }
> -    }
> -  }
> -
> -  return n;
> -}
> -
> -#ifdef USE_UNICODE_PROPERTIES
> -#include "unicode_property_data.c"
> -#else
> -#include "unicode_property_data_posix.c"
> -#endif
> -
> -
> -#ifdef USE_UNICODE_WORD_BREAK
> -
> -enum WB_TYPE {
> -  WB_Any = 0,
> -  WB_ALetter,
> -  WB_CR,
> -  WB_Double_Quote,
> -  WB_Extend,
> -  WB_ExtendNumLet,
> -  WB_Format,
> -  WB_Hebrew_Letter,
> -  WB_Katakana,
> -  WB_LF,
> -  WB_MidLetter,
> -  WB_MidNum,
> -  WB_MidNumLet,
> -  WB_Newline,
> -  WB_Numeric,
> -  WB_Regional_Indicator,
> -  WB_Single_Quote,
> -  WB_WSegSpace,
> -  WB_ZWJ,
> -};
> -
> -typedef struct {
> -  OnigCodePoint start;
> -  OnigCodePoint end;
> -  enum WB_TYPE  type;
> -} WB_RANGE_TYPE;
> -
> -#include "unicode_wb_data.c"
> -
> -static enum WB_TYPE
> -wb_get_type(OnigCodePoint code)
> -{
> -  OnigCodePoint low, high, x;
> -  enum WB_TYPE type;
> -
> -  for (low = 0, high = (OnigCodePoint )WB_RANGE_NUM; low < high; ) {
> -    x = (low + high) >> 1;
> -    if (code > WB_RANGES[x].end)
> -      low = x + 1;
> -    else
> -      high = x;
> -  }
> -
> -  type = (low < (OnigCodePoint )WB_RANGE_NUM &&
> -          code >= WB_RANGES[low].start) ?
> -    WB_RANGES[low].type : WB_Any;
> -
> -  return type;
> -}
> -
> -#define IS_WB_IGNORE_TAIL(t)  ((t) == WB_Extend || (t) == WB_Format ||
> (t) == WB_ZWJ)
> -#define IS_WB_AHLetter(t)     ((t) == WB_ALetter || (t) ==
> WB_Hebrew_Letter)
> -#define IS_WB_MidNumLetQ(t)   ((t) == WB_MidNumLet || (t) ==
> WB_Single_Quote)
> -
> -static int
> -wb_get_next_main_code(OnigEncoding enc, UChar* p, const UChar* end,
> -                      OnigCodePoint* rcode, enum WB_TYPE* rtype)
> -{
> -  OnigCodePoint code;
> -  enum WB_TYPE type;
> -
> -  while (TRUE) {
> -    p += enclen(enc, p);
> -    if (p >= end) break;
> -
> -    code = ONIGENC_MBC_TO_CODE(enc, p, end);
> -    type = wb_get_type(code);
> -    if (! IS_WB_IGNORE_TAIL(type)) {
> -      *rcode = code;
> -      *rtype = type;
> -      return 1;
> -    }
> -  }
> -
> -  return 0;
> -}
> -
> -extern int
> -onigenc_wb_is_break_position(OnigEncoding enc, UChar* p, UChar* prev,
> -                             const UChar* start, const UChar* end)
> -{
> -  int r;
> -  UChar* pp;
> -  OnigCodePoint cfrom;
> -  OnigCodePoint cfrom2;
> -  OnigCodePoint cto;
> -  OnigCodePoint cto2;
> -  enum WB_TYPE from;
> -  enum WB_TYPE from2;
> -  enum WB_TYPE to;
> -  enum WB_TYPE to2;
> -
> -  /* WB1: sot / Any */
> -  if (p == start) return TRUE;
> -  /* WB2: Any / eot */
> -  if (p == end)   return TRUE;
> -
> -  if (IS_NULL(prev)) {
> -    prev = onigenc_get_prev_char_head(enc, start, p);
> -    if (IS_NULL(prev)) return TRUE;
> -  }
> -
> -  cfrom = ONIGENC_MBC_TO_CODE(enc, prev, end);
> -  cto   = ONIGENC_MBC_TO_CODE(enc, p, end);
> -
> -  from = wb_get_type(cfrom);
> -  to   = wb_get_type(cto);
> -
> -  /* short cut */
> -  if (from == 0 && to == 0) goto WB999;
> -
> -  /* WB3: CR + LF */
> -  if (from == WB_CR && to == WB_LF) return FALSE;
> -
> -  /* WB3a: (Newline|CR|LF) /  */
> -  if (from == WB_Newline || from == WB_CR || from == WB_LF) return
> TRUE;
> -  /* WB3b: / (Newline|CR|LF) */
> -  if (to == WB_Newline || to == WB_CR || to == WB_LF) return TRUE;
> -
> -  /* WB3c: ZWJ + {Extended_Pictographic} */
> -  if (from == WB_ZWJ) {
> -    if (onigenc_unicode_is_code_ctype(cto,
> PROP_INDEX_EXTENDEDPICTOGRAPHIC))
> -      return FALSE;
> -  }
> -
> -  /* WB3d: WSegSpace + WSegSpace */
> -  if (from == WB_WSegSpace && to == WB_WSegSpace) return FALSE;
> -
> -  /* WB4:  X (Extend|Format|ZWJ)* -> X */
> -  if (IS_WB_IGNORE_TAIL(to)) return FALSE;
> -  if (IS_WB_IGNORE_TAIL(from)) {
> -    while ((pp = onigenc_get_prev_char_head(enc, start, prev)) != NULL) {
> -      prev = pp;
> -      cfrom = ONIGENC_MBC_TO_CODE(enc, prev, end);
> -      from = wb_get_type(cfrom);
> -      if (! IS_WB_IGNORE_TAIL(from))
> -        break;
> -    }
> -  }
> -
> -  if (IS_WB_AHLetter(from)) {
> -    /* WB5: AHLetter + AHLetter */
> -    if (IS_WB_AHLetter(to)) return FALSE;
> -
> -    /* WB6: AHLetter + (MidLetter | MidNumLetQ) AHLetter */
> -    if (to == WB_MidLetter || IS_WB_MidNumLetQ(to)) {
> -      r = wb_get_next_main_code(enc, p, end, &cto2, &to2);
> -      if (r == 1) {
> -        if (IS_WB_AHLetter(to2)) return FALSE;
> -      }
> -    }
> -  }
> -
> -  /* WB7: AHLetter (MidLetter | MidNumLetQ) + AHLetter */
> -  if (from == WB_MidLetter || IS_WB_MidNumLetQ(from)) {
> -    if (IS_WB_AHLetter(to)) {
> -      from2 = WB_Any;
> -      while ((pp = onigenc_get_prev_char_head(enc, start, prev)) != NULL) {
> -        prev = pp;
> -        cfrom2 = ONIGENC_MBC_TO_CODE(enc, prev, end);
> -        from2 = wb_get_type(cfrom2);
> -        if (! IS_WB_IGNORE_TAIL(from2))
> -          break;
> -      }
> -
> -      if (IS_WB_AHLetter(from2)) return FALSE;
> -    }
> -  }
> -
> -  if (from == WB_Hebrew_Letter) {
> -    /* WB7a: Hebrew_Letter + Single_Quote */
> -    if (to == WB_Single_Quote) return FALSE;
> -
> -    /* WB7b: Hebrew_Letter + Double_Quote Hebrew_Letter */
> -    if (to == WB_Double_Quote) {
> -      r = wb_get_next_main_code(enc, p, end, &cto2, &to2);
> -      if (r == 1) {
> -        if (to2 == WB_Hebrew_Letter) return FALSE;
> -      }
> -    }
> -  }
> -
> -  /* WB7c: Hebrew_Letter Double_Quote + Hebrew_Letter */
> -  if (from == WB_Double_Quote) {
> -    if (to == WB_Hebrew_Letter) {
> -      from2 = WB_Any;
> -      while ((pp = onigenc_get_prev_char_head(enc, start, prev)) != NULL) {
> -        prev = pp;
> -        cfrom2 = ONIGENC_MBC_TO_CODE(enc, prev, end);
> -        from2 = wb_get_type(cfrom2);
> -        if (! IS_WB_IGNORE_TAIL(from2))
> -          break;
> -      }
> -
> -      if (from2 == WB_Hebrew_Letter) return FALSE;
> -    }
> -  }
> -
> -  if (to == WB_Numeric) {
> -    /* WB8: Numeric + Numeric */
> -    if (from == WB_Numeric) return FALSE;
> -
> -    /* WB9: AHLetter + Numeric */
> -    if (IS_WB_AHLetter(from)) return FALSE;
> -
> -    /* WB11: Numeric (MidNum | MidNumLetQ) + Numeric */
> -    if (from == WB_MidNum || IS_WB_MidNumLetQ(from)) {
> -      from2 = WB_Any;
> -      while ((pp = onigenc_get_prev_char_head(enc, start, prev)) != NULL) {
> -        prev = pp;
> -        cfrom2 = ONIGENC_MBC_TO_CODE(enc, prev, end);
> -        from2 = wb_get_type(cfrom2);
> -        if (! IS_WB_IGNORE_TAIL(from2))
> -          break;
> -      }
> -
> -      if (from2 == WB_Numeric) return FALSE;
> -    }
> -  }
> -
> -  if (from == WB_Numeric) {
> -    /* WB10: Numeric + AHLetter */
> -    if (IS_WB_AHLetter(to)) return FALSE;
> -
> -    /* WB12: Numeric + (MidNum | MidNumLetQ) Numeric */
> -    if (to == WB_MidNum || IS_WB_MidNumLetQ(to)) {
> -      r = wb_get_next_main_code(enc, p, end, &cto2, &to2);
> -      if (r == 1) {
> -        if (to2 == WB_Numeric) return FALSE;
> -      }
> -    }
> -  }
> -
> -  /* WB13: Katakana + Katakana */
> -  if (from == WB_Katakana && to == WB_Katakana) return FALSE;
> -
> -  /* WB13a: (AHLetter | Numeric | Katakana | ExtendNumLet) +
> ExtendNumLet */
> -  if (IS_WB_AHLetter(from) || from == WB_Numeric || from ==
> WB_Katakana
> -      || from == WB_ExtendNumLet) {
> -    if (to == WB_ExtendNumLet) return FALSE;
> -  }
> -
> -  /* WB13b: ExtendNumLet + (AHLetter | Numeric | Katakana) */
> -  if (from == WB_ExtendNumLet) {
> -    if (IS_WB_AHLetter(to) || to == WB_Numeric || to == WB_Katakana)
> -      return FALSE;
> -  }
> -
> -
> -  /* WB15:   sot (RI RI)* RI + RI */
> -  /* WB16: [^RI] (RI RI)* RI + RI */
> -  if (from == WB_Regional_Indicator && to == WB_Regional_Indicator) {
> -    int n = 0;
> -    while ((prev = onigenc_get_prev_char_head(enc, start, prev)) != NULL) {
> -      cfrom2 = ONIGENC_MBC_TO_CODE(enc, prev, end);
> -      from2  = wb_get_type(cfrom2);
> -      if (from2 != WB_Regional_Indicator)
> -        break;
> -
> -      n++;
> -    }
> -    if ((n % 2) == 0) return FALSE;
> -  }
> -
> - WB999:
> -  /* WB999: Any / Any */
> -  return TRUE;
> -}
> -
> -#endif /* USE_UNICODE_WORD_BREAK */
> -
> -
> -#ifdef USE_UNICODE_EXTENDED_GRAPHEME_CLUSTER
> -
> -enum EGCB_BREAK_TYPE {
> -  EGCB_NOT_BREAK = 0,
> -  EGCB_BREAK     = 1,
> -  EGCB_BREAK_UNDEF_GB11  = 2,
> -  EGCB_BREAK_UNDEF_RI_RI = 3
> -};
> -
> -enum EGCB_TYPE {
> -  EGCB_Other   = 0,
> -  EGCB_CR      = 1,
> -  EGCB_LF      = 2,
> -  EGCB_Control = 3,
> -  EGCB_Extend  = 4,
> -  EGCB_Prepend = 5,
> -  EGCB_Regional_Indicator = 6,
> -  EGCB_SpacingMark = 7,
> -  EGCB_ZWJ         = 8,
> -#if 0
> -  /* obsoleted */
> -  EGCB_E_Base         = 9,
> -  EGCB_E_Base_GAZ     = 10,
> -  EGCB_E_Modifier     = 11,
> -  EGCB_Glue_After_Zwj = 12,
> -#endif
> -  EGCB_L   = 13,
> -  EGCB_LV  = 14,
> -  EGCB_LVT = 15,
> -  EGCB_T   = 16,
> -  EGCB_V   = 17
> -};
> -
> -typedef struct {
> -  OnigCodePoint  start;
> -  OnigCodePoint  end;
> -  enum EGCB_TYPE type;
> -} EGCB_RANGE_TYPE;
> -
> -#include "unicode_egcb_data.c"
> -
> -static enum EGCB_TYPE
> -egcb_get_type(OnigCodePoint code)
> -{
> -  OnigCodePoint low, high, x;
> -  enum EGCB_TYPE type;
> -
> -  for (low = 0, high = (OnigCodePoint )EGCB_RANGE_NUM; low < high; ) {
> -    x = (low + high) >> 1;
> -    if (code > EGCB_RANGES[x].end)
> -      low = x + 1;
> -    else
> -      high = x;
> -  }
> -
> -  type = (low < (OnigCodePoint )EGCB_RANGE_NUM &&
> -          code >= EGCB_RANGES[low].start) ?
> -    EGCB_RANGES[low].type : EGCB_Other;
> -
> -  return type;
> -}
> -
> -#define IS_CONTROL_CR_LF(code)   ((code) <= EGCB_Control && (code) >=
> EGCB_CR)
> -#define IS_HANGUL(code)          ((code) >= EGCB_L)
> -
> -/* GB1 and GB2 are outside of this function. */
> -static enum EGCB_BREAK_TYPE
> -unicode_egcb_is_break_2code(OnigCodePoint from_code, OnigCodePoint
> to_code)
> -{
> -  enum EGCB_TYPE from;
> -  enum EGCB_TYPE to;
> -
> -  from = egcb_get_type(from_code);
> -  to   = egcb_get_type(to_code);
> -
> -  /* short cut */
> -  if (from == 0 && to == 0) goto GB999;
> -
> -  /* GB3 */
> -  if (from == EGCB_CR && to == EGCB_LF) return EGCB_NOT_BREAK;
> -  /* GB4 */
> -  if (IS_CONTROL_CR_LF(from)) return EGCB_BREAK;
> -  /* GB5 */
> -  if (IS_CONTROL_CR_LF(to)) return EGCB_BREAK;
> -
> -  if (IS_HANGUL(from) && IS_HANGUL(to)) {
> -    /* GB6 */
> -    if (from == EGCB_L && to != EGCB_T) return EGCB_NOT_BREAK;
> -    /* GB7 */
> -    if ((from == EGCB_LV || from == EGCB_V)
> -        && (to == EGCB_V || to == EGCB_T)) return EGCB_NOT_BREAK;
> -
> -    /* GB8 */
> -    if ((to == EGCB_T) && (from == EGCB_LVT || from == EGCB_T))
> -      return EGCB_NOT_BREAK;
> -
> -    goto GB999;
> -  }
> -
> -  /* GB9 */
> -  if (to == EGCB_Extend || to == EGCB_ZWJ) return EGCB_NOT_BREAK;
> -
> -  /* GB9a */
> -  if (to == EGCB_SpacingMark) return EGCB_NOT_BREAK;
> -  /* GB9b */
> -  if (from == EGCB_Prepend) return EGCB_NOT_BREAK;
> -
> -  /* GB10 removed */
> -
> -  /* GB11 */
> -  if (from == EGCB_ZWJ) {
> -    if (onigenc_unicode_is_code_ctype(to_code,
> PROP_INDEX_EXTENDEDPICTOGRAPHIC))
> -      return EGCB_BREAK_UNDEF_GB11;
> -
> -    goto GB999;
> -  }
> -
> -  /* GB12, GB13 */
> -  if (from == EGCB_Regional_Indicator && to == EGCB_Regional_Indicator) {
> -    return EGCB_BREAK_UNDEF_RI_RI;
> -  }
> -
> - GB999:
> -  return EGCB_BREAK;
> -}
> -
> -#endif /* USE_UNICODE_EXTENDED_GRAPHEME_CLUSTER */
> -
> -extern int
> -onigenc_egcb_is_break_position(OnigEncoding enc, UChar* p, UChar* prev,
> -                               const UChar* start, const UChar* end)
> -{
> -  OnigCodePoint from;
> -  OnigCodePoint to;
> -#ifdef USE_UNICODE_EXTENDED_GRAPHEME_CLUSTER
> -  enum EGCB_BREAK_TYPE btype;
> -  enum EGCB_TYPE type;
> -#endif
> -
> -  /* GB1 and GB2 */
> -  if (p == start) return 1;
> -  if (p == end)   return 1;
> -
> -  if (IS_NULL(prev)) {
> -    prev = onigenc_get_prev_char_head(enc, start, p);
> -    if (IS_NULL(prev)) return 1;
> -  }
> -
> -  from = ONIGENC_MBC_TO_CODE(enc, prev, end);
> -  to   = ONIGENC_MBC_TO_CODE(enc, p, end);
> -
> -#ifdef USE_UNICODE_EXTENDED_GRAPHEME_CLUSTER
> -  if (! ONIGENC_IS_UNICODE_ENCODING(enc)) {
> -    return from != 0x000d || to != 0x000a;
> -  }
> -
> -  btype = unicode_egcb_is_break_2code(from, to);
> -  switch (btype) {
> -  case EGCB_NOT_BREAK:
> -    return 0;
> -    break;
> -  case EGCB_BREAK:
> -    return 1;
> -    break;
> -
> -  case EGCB_BREAK_UNDEF_GB11:
> -    while ((prev = onigenc_get_prev_char_head(enc, start, prev)) != NULL) {
> -      from = ONIGENC_MBC_TO_CODE(enc, prev, end);
> -      if (onigenc_unicode_is_code_ctype(from,
> PROP_INDEX_EXTENDEDPICTOGRAPHIC))
> -        return 0;
> -
> -      type = egcb_get_type(from);
> -      if (type != EGCB_Extend)
> -        break;
> -    }
> -    break;
> -
> -  case EGCB_BREAK_UNDEF_RI_RI:
> -    {
> -      int n = 0;
> -      while ((prev = onigenc_get_prev_char_head(enc, start, prev)) != NULL) {
> -        from = ONIGENC_MBC_TO_CODE(enc, prev, end);
> -        type = egcb_get_type(from);
> -        if (type != EGCB_Regional_Indicator)
> -          break;
> -
> -        n++;
> -      }
> -      if ((n % 2) == 0) return 0;
> -    }
> -    break;
> -  }
> -
> -  return 1;
> -
> -#else
> -  return from != 0x000d || to != 0x000a;
> -#endif /* USE_UNICODE_EXTENDED_GRAPHEME_CLUSTER */
> -}
> -
> -
> -#define USER_DEFINED_PROPERTY_MAX_NUM  20
> -
> -typedef struct {
> -  int ctype;
> -  OnigCodePoint* ranges;
> -} UserDefinedPropertyValue;
> -
> -static int UserDefinedPropertyNum;
> -static UserDefinedPropertyValue
> -UserDefinedPropertyRanges[USER_DEFINED_PROPERTY_MAX_NUM];
> -static st_table* UserDefinedPropertyTable;
> -
> -extern int
> -onig_unicode_define_user_property(const char* name, OnigCodePoint*
> ranges)
> -{
> -  UserDefinedPropertyValue* e;
> -  int r;
> -  int i;
> -  int n;
> -  int len;
> -  int c;
> -  char* s;
> -  UChar* uname;
> -
> -  if (UserDefinedPropertyNum >= USER_DEFINED_PROPERTY_MAX_NUM)
> -    return ONIGERR_TOO_MANY_USER_DEFINED_OBJECTS;
> -
> -  len = (int )strlen_s(name,MAX_STRING_SIZE);
> -  if (len >= PROPERTY_NAME_MAX_SIZE)
> -    return ONIGERR_TOO_LONG_PROPERTY_NAME;
> -
> -  s = (char* )xmalloc(len + 1);
> -  if (s == 0)
> -    return ONIGERR_MEMORY;
> -
> -  uname = (UChar* )name;
> -  n = 0;
> -  for (i = 0; i < len; i++) {
> -    c = uname[i];
> -    if (c < 0x20 || c >= 0x80) {
> -      xfree(s);
> -      return ONIGERR_INVALID_CHAR_PROPERTY_NAME;
> -    }
> -
> -    if (c != ' ' && c != '-' && c != '_') {
> -      s[n] = c;
> -      n++;
> -    }
> -  }
> -  s[n] = '\0';
> -
> -  if (UserDefinedPropertyTable == 0) {
> -    UserDefinedPropertyTable = onig_st_init_strend_table_with_size(10);
> -    if (IS_NULL(UserDefinedPropertyTable)) {
> -      xfree(s);
> -      return ONIGERR_MEMORY;
> -    }
> -  }
> -
> -  e = UserDefinedPropertyRanges + UserDefinedPropertyNum;
> -  e->ctype = CODE_RANGES_NUM + UserDefinedPropertyNum;
> -  e->ranges = ranges;
> -  r = onig_st_insert_strend(UserDefinedPropertyTable,
> -                            (const UChar* )s, (const UChar* )s + n,
> -                            (hash_data_type )((void* )e));
> -  if (r < 0) return r;
> -
> -  UserDefinedPropertyNum++;
> -  return 0;
> -}
> -
> -extern int
> -onigenc_unicode_is_code_ctype(OnigCodePoint code, unsigned int ctype)
> -{
> -  if (
> -#ifdef USE_UNICODE_PROPERTIES
> -      ctype <= ONIGENC_MAX_STD_CTYPE &&
> -#endif
> -      code < 256) {
> -    return ONIGENC_IS_UNICODE_ISO_8859_1_CTYPE(code, ctype);
> -  }
> -
> -  if (ctype >= CODE_RANGES_NUM) {
> -    int index = ctype - CODE_RANGES_NUM;
> -    if (index < UserDefinedPropertyNum)
> -      return
> onig_is_in_code_range((UChar* )UserDefinedPropertyRanges[index].range
> s, code);
> -    else
> -      return ONIGERR_TYPE_BUG;
> -  }
> -
> -  return onig_is_in_code_range((UChar* )CodeRanges[ctype], code);
> -}
> -
> -
> -extern int
> -onigenc_unicode_ctype_code_range(OnigCtype ctype, const
> OnigCodePoint* ranges[])
> -{
> -  if (ctype >= CODE_RANGES_NUM) {
> -    int index = ctype - CODE_RANGES_NUM;
> -    if (index < UserDefinedPropertyNum) {
> -      *ranges = UserDefinedPropertyRanges[index].ranges;
> -      return 0;
> -    }
> -    else
> -      return ONIGERR_TYPE_BUG;
> -  }
> -
> -  *ranges = CodeRanges[ctype];
> -  return 0;
> -}
> -
> -extern int
> -onigenc_utf16_32_get_ctype_code_range(OnigCtype ctype,
> OnigCodePoint* sb_out,
> -                                      const OnigCodePoint* ranges[])
> -{
> -  *sb_out = 0x00;
> -  return onigenc_unicode_ctype_code_range(ctype, ranges);
> -}
> -
> -extern int
> -onigenc_unicode_property_name_to_ctype(OnigEncoding enc, UChar*
> name, UChar* end)
> -{
> -  int len;
> -  UChar *p;
> -  OnigCodePoint code;
> -  const struct PoolPropertyNameCtype* pc;
> -  char buf[PROPERTY_NAME_MAX_SIZE];
> -
> -  p = name;
> -  len = 0;
> -  while (p < end) {
> -    code = ONIGENC_MBC_TO_CODE(enc, p, end);
> -    if (code >= 0x80)
> -      return ONIGERR_INVALID_CHAR_PROPERTY_NAME;
> -
> -    if (code != ' ' && code != '-' && code != '_') {
> -      buf[len++] = (char )code;
> -      if (len >= PROPERTY_NAME_MAX_SIZE)
> -        return ONIGERR_INVALID_CHAR_PROPERTY_NAME;
> -    }
> -
> -    p += enclen(enc, p);
> -  }
> -
> -  buf[len] = 0;
> -
> -  if (UserDefinedPropertyTable != 0) {
> -    UserDefinedPropertyValue* e;
> -    e = (UserDefinedPropertyValue* )NULL;
> -    onig_st_lookup_strend(UserDefinedPropertyTable,
> -                          (const UChar* )buf, (const UChar* )buf + len,
> -                          (hash_data_type* )((void* )(&e)));
> -    if (e != 0) {
> -      return e->ctype;
> -    }
> -  }
> -
> -  pc = unicode_lookup_property_name(buf, len);
> -  if (pc != 0) {
> -    /* fprintf(stderr, "LOOKUP: %s: %d\n", buf, pc->ctype); */
> -#ifndef USE_UNICODE_PROPERTIES
> -    if (pc->ctype > ONIGENC_MAX_STD_CTYPE)
> -      return ONIGERR_INVALID_CHAR_PROPERTY_NAME;
> -#endif
> -
> -    return (int )pc->ctype;
> -  }
> -
> -  return ONIGERR_INVALID_CHAR_PROPERTY_NAME;
> -}
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_eg
> cb_data.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_eg
> cb_data.c
> deleted file mode 100644
> index 6a7503a4fd21..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_eg
> cb_data.c
> +++ /dev/null
> @@ -1,1374 +0,0 @@
> -/* unicode_egcb_data.c: Generated by make_unicode_egcb_data.py. */
> -/*-
> - * Copyright (c) 2017-2018  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#define GRAPHEME_BREAK_PROPERTY_VERSION  12_1_0
> -
> -/*
> -CR
> -Control
> -Extend
> -L
> -LF
> -LV
> -LVT
> -Prepend
> -Regional_Indicator
> -SpacingMark
> -T
> -V
> -ZWJ
> -*/
> -
> -static int EGCB_RANGE_NUM = 1326;
> -static EGCB_RANGE_TYPE EGCB_RANGES[] = {
> - {0x000000, 0x000009, EGCB_Control },
> - {0x00000a, 0x00000a, EGCB_LF },
> - {0x00000b, 0x00000c, EGCB_Control },
> - {0x00000d, 0x00000d, EGCB_CR },
> - {0x00000e, 0x00001f, EGCB_Control },
> - {0x00007f, 0x00009f, EGCB_Control },
> - {0x0000ad, 0x0000ad, EGCB_Control },
> - {0x000300, 0x00036f, EGCB_Extend },
> - {0x000483, 0x000489, EGCB_Extend },
> - {0x000591, 0x0005bd, EGCB_Extend },
> - {0x0005bf, 0x0005bf, EGCB_Extend },
> - {0x0005c1, 0x0005c2, EGCB_Extend },
> - {0x0005c4, 0x0005c5, EGCB_Extend },
> - {0x0005c7, 0x0005c7, EGCB_Extend },
> - {0x000600, 0x000605, EGCB_Prepend },
> - {0x000610, 0x00061a, EGCB_Extend },
> - {0x00061c, 0x00061c, EGCB_Control },
> - {0x00064b, 0x00065f, EGCB_Extend },
> - {0x000670, 0x000670, EGCB_Extend },
> - {0x0006d6, 0x0006dc, EGCB_Extend },
> - {0x0006dd, 0x0006dd, EGCB_Prepend },
> - {0x0006df, 0x0006e4, EGCB_Extend },
> - {0x0006e7, 0x0006e8, EGCB_Extend },
> - {0x0006ea, 0x0006ed, EGCB_Extend },
> - {0x00070f, 0x00070f, EGCB_Prepend },
> - {0x000711, 0x000711, EGCB_Extend },
> - {0x000730, 0x00074a, EGCB_Extend },
> - {0x0007a6, 0x0007b0, EGCB_Extend },
> - {0x0007eb, 0x0007f3, EGCB_Extend },
> - {0x0007fd, 0x0007fd, EGCB_Extend },
> - {0x000816, 0x000819, EGCB_Extend },
> - {0x00081b, 0x000823, EGCB_Extend },
> - {0x000825, 0x000827, EGCB_Extend },
> - {0x000829, 0x00082d, EGCB_Extend },
> - {0x000859, 0x00085b, EGCB_Extend },
> - {0x0008d3, 0x0008e1, EGCB_Extend },
> - {0x0008e2, 0x0008e2, EGCB_Prepend },
> - {0x0008e3, 0x000902, EGCB_Extend },
> - {0x000903, 0x000903, EGCB_SpacingMark },
> - {0x00093a, 0x00093a, EGCB_Extend },
> - {0x00093b, 0x00093b, EGCB_SpacingMark },
> - {0x00093c, 0x00093c, EGCB_Extend },
> - {0x00093e, 0x000940, EGCB_SpacingMark },
> - {0x000941, 0x000948, EGCB_Extend },
> - {0x000949, 0x00094c, EGCB_SpacingMark },
> - {0x00094d, 0x00094d, EGCB_Extend },
> - {0x00094e, 0x00094f, EGCB_SpacingMark },
> - {0x000951, 0x000957, EGCB_Extend },
> - {0x000962, 0x000963, EGCB_Extend },
> - {0x000981, 0x000981, EGCB_Extend },
> - {0x000982, 0x000983, EGCB_SpacingMark },
> - {0x0009bc, 0x0009bc, EGCB_Extend },
> - {0x0009be, 0x0009be, EGCB_Extend },
> - {0x0009bf, 0x0009c0, EGCB_SpacingMark },
> - {0x0009c1, 0x0009c4, EGCB_Extend },
> - {0x0009c7, 0x0009c8, EGCB_SpacingMark },
> - {0x0009cb, 0x0009cc, EGCB_SpacingMark },
> - {0x0009cd, 0x0009cd, EGCB_Extend },
> - {0x0009d7, 0x0009d7, EGCB_Extend },
> - {0x0009e2, 0x0009e3, EGCB_Extend },
> - {0x0009fe, 0x0009fe, EGCB_Extend },
> - {0x000a01, 0x000a02, EGCB_Extend },
> - {0x000a03, 0x000a03, EGCB_SpacingMark },
> - {0x000a3c, 0x000a3c, EGCB_Extend },
> - {0x000a3e, 0x000a40, EGCB_SpacingMark },
> - {0x000a41, 0x000a42, EGCB_Extend },
> - {0x000a47, 0x000a48, EGCB_Extend },
> - {0x000a4b, 0x000a4d, EGCB_Extend },
> - {0x000a51, 0x000a51, EGCB_Extend },
> - {0x000a70, 0x000a71, EGCB_Extend },
> - {0x000a75, 0x000a75, EGCB_Extend },
> - {0x000a81, 0x000a82, EGCB_Extend },
> - {0x000a83, 0x000a83, EGCB_SpacingMark },
> - {0x000abc, 0x000abc, EGCB_Extend },
> - {0x000abe, 0x000ac0, EGCB_SpacingMark },
> - {0x000ac1, 0x000ac5, EGCB_Extend },
> - {0x000ac7, 0x000ac8, EGCB_Extend },
> - {0x000ac9, 0x000ac9, EGCB_SpacingMark },
> - {0x000acb, 0x000acc, EGCB_SpacingMark },
> - {0x000acd, 0x000acd, EGCB_Extend },
> - {0x000ae2, 0x000ae3, EGCB_Extend },
> - {0x000afa, 0x000aff, EGCB_Extend },
> - {0x000b01, 0x000b01, EGCB_Extend },
> - {0x000b02, 0x000b03, EGCB_SpacingMark },
> - {0x000b3c, 0x000b3c, EGCB_Extend },
> - {0x000b3e, 0x000b3f, EGCB_Extend },
> - {0x000b40, 0x000b40, EGCB_SpacingMark },
> - {0x000b41, 0x000b44, EGCB_Extend },
> - {0x000b47, 0x000b48, EGCB_SpacingMark },
> - {0x000b4b, 0x000b4c, EGCB_SpacingMark },
> - {0x000b4d, 0x000b4d, EGCB_Extend },
> - {0x000b56, 0x000b57, EGCB_Extend },
> - {0x000b62, 0x000b63, EGCB_Extend },
> - {0x000b82, 0x000b82, EGCB_Extend },
> - {0x000bbe, 0x000bbe, EGCB_Extend },
> - {0x000bbf, 0x000bbf, EGCB_SpacingMark },
> - {0x000bc0, 0x000bc0, EGCB_Extend },
> - {0x000bc1, 0x000bc2, EGCB_SpacingMark },
> - {0x000bc6, 0x000bc8, EGCB_SpacingMark },
> - {0x000bca, 0x000bcc, EGCB_SpacingMark },
> - {0x000bcd, 0x000bcd, EGCB_Extend },
> - {0x000bd7, 0x000bd7, EGCB_Extend },
> - {0x000c00, 0x000c00, EGCB_Extend },
> - {0x000c01, 0x000c03, EGCB_SpacingMark },
> - {0x000c04, 0x000c04, EGCB_Extend },
> - {0x000c3e, 0x000c40, EGCB_Extend },
> - {0x000c41, 0x000c44, EGCB_SpacingMark },
> - {0x000c46, 0x000c48, EGCB_Extend },
> - {0x000c4a, 0x000c4d, EGCB_Extend },
> - {0x000c55, 0x000c56, EGCB_Extend },
> - {0x000c62, 0x000c63, EGCB_Extend },
> - {0x000c81, 0x000c81, EGCB_Extend },
> - {0x000c82, 0x000c83, EGCB_SpacingMark },
> - {0x000cbc, 0x000cbc, EGCB_Extend },
> - {0x000cbe, 0x000cbe, EGCB_SpacingMark },
> - {0x000cbf, 0x000cbf, EGCB_Extend },
> - {0x000cc0, 0x000cc1, EGCB_SpacingMark },
> - {0x000cc2, 0x000cc2, EGCB_Extend },
> - {0x000cc3, 0x000cc4, EGCB_SpacingMark },
> - {0x000cc6, 0x000cc6, EGCB_Extend },
> - {0x000cc7, 0x000cc8, EGCB_SpacingMark },
> - {0x000cca, 0x000ccb, EGCB_SpacingMark },
> - {0x000ccc, 0x000ccd, EGCB_Extend },
> - {0x000cd5, 0x000cd6, EGCB_Extend },
> - {0x000ce2, 0x000ce3, EGCB_Extend },
> - {0x000d00, 0x000d01, EGCB_Extend },
> - {0x000d02, 0x000d03, EGCB_SpacingMark },
> - {0x000d3b, 0x000d3c, EGCB_Extend },
> - {0x000d3e, 0x000d3e, EGCB_Extend },
> - {0x000d3f, 0x000d40, EGCB_SpacingMark },
> - {0x000d41, 0x000d44, EGCB_Extend },
> - {0x000d46, 0x000d48, EGCB_SpacingMark },
> - {0x000d4a, 0x000d4c, EGCB_SpacingMark },
> - {0x000d4d, 0x000d4d, EGCB_Extend },
> - {0x000d4e, 0x000d4e, EGCB_Prepend },
> - {0x000d57, 0x000d57, EGCB_Extend },
> - {0x000d62, 0x000d63, EGCB_Extend },
> - {0x000d82, 0x000d83, EGCB_SpacingMark },
> - {0x000dca, 0x000dca, EGCB_Extend },
> - {0x000dcf, 0x000dcf, EGCB_Extend },
> - {0x000dd0, 0x000dd1, EGCB_SpacingMark },
> - {0x000dd2, 0x000dd4, EGCB_Extend },
> - {0x000dd6, 0x000dd6, EGCB_Extend },
> - {0x000dd8, 0x000dde, EGCB_SpacingMark },
> - {0x000ddf, 0x000ddf, EGCB_Extend },
> - {0x000df2, 0x000df3, EGCB_SpacingMark },
> - {0x000e31, 0x000e31, EGCB_Extend },
> - {0x000e33, 0x000e33, EGCB_SpacingMark },
> - {0x000e34, 0x000e3a, EGCB_Extend },
> - {0x000e47, 0x000e4e, EGCB_Extend },
> - {0x000eb1, 0x000eb1, EGCB_Extend },
> - {0x000eb3, 0x000eb3, EGCB_SpacingMark },
> - {0x000eb4, 0x000ebc, EGCB_Extend },
> - {0x000ec8, 0x000ecd, EGCB_Extend },
> - {0x000f18, 0x000f19, EGCB_Extend },
> - {0x000f35, 0x000f35, EGCB_Extend },
> - {0x000f37, 0x000f37, EGCB_Extend },
> - {0x000f39, 0x000f39, EGCB_Extend },
> - {0x000f3e, 0x000f3f, EGCB_SpacingMark },
> - {0x000f71, 0x000f7e, EGCB_Extend },
> - {0x000f7f, 0x000f7f, EGCB_SpacingMark },
> - {0x000f80, 0x000f84, EGCB_Extend },
> - {0x000f86, 0x000f87, EGCB_Extend },
> - {0x000f8d, 0x000f97, EGCB_Extend },
> - {0x000f99, 0x000fbc, EGCB_Extend },
> - {0x000fc6, 0x000fc6, EGCB_Extend },
> - {0x00102d, 0x001030, EGCB_Extend },
> - {0x001031, 0x001031, EGCB_SpacingMark },
> - {0x001032, 0x001037, EGCB_Extend },
> - {0x001039, 0x00103a, EGCB_Extend },
> - {0x00103b, 0x00103c, EGCB_SpacingMark },
> - {0x00103d, 0x00103e, EGCB_Extend },
> - {0x001056, 0x001057, EGCB_SpacingMark },
> - {0x001058, 0x001059, EGCB_Extend },
> - {0x00105e, 0x001060, EGCB_Extend },
> - {0x001071, 0x001074, EGCB_Extend },
> - {0x001082, 0x001082, EGCB_Extend },
> - {0x001084, 0x001084, EGCB_SpacingMark },
> - {0x001085, 0x001086, EGCB_Extend },
> - {0x00108d, 0x00108d, EGCB_Extend },
> - {0x00109d, 0x00109d, EGCB_Extend },
> - {0x001100, 0x00115f, EGCB_L },
> - {0x001160, 0x0011a7, EGCB_V },
> - {0x0011a8, 0x0011ff, EGCB_T },
> - {0x00135d, 0x00135f, EGCB_Extend },
> - {0x001712, 0x001714, EGCB_Extend },
> - {0x001732, 0x001734, EGCB_Extend },
> - {0x001752, 0x001753, EGCB_Extend },
> - {0x001772, 0x001773, EGCB_Extend },
> - {0x0017b4, 0x0017b5, EGCB_Extend },
> - {0x0017b6, 0x0017b6, EGCB_SpacingMark },
> - {0x0017b7, 0x0017bd, EGCB_Extend },
> - {0x0017be, 0x0017c5, EGCB_SpacingMark },
> - {0x0017c6, 0x0017c6, EGCB_Extend },
> - {0x0017c7, 0x0017c8, EGCB_SpacingMark },
> - {0x0017c9, 0x0017d3, EGCB_Extend },
> - {0x0017dd, 0x0017dd, EGCB_Extend },
> - {0x00180b, 0x00180d, EGCB_Extend },
> - {0x00180e, 0x00180e, EGCB_Control },
> - {0x001885, 0x001886, EGCB_Extend },
> - {0x0018a9, 0x0018a9, EGCB_Extend },
> - {0x001920, 0x001922, EGCB_Extend },
> - {0x001923, 0x001926, EGCB_SpacingMark },
> - {0x001927, 0x001928, EGCB_Extend },
> - {0x001929, 0x00192b, EGCB_SpacingMark },
> - {0x001930, 0x001931, EGCB_SpacingMark },
> - {0x001932, 0x001932, EGCB_Extend },
> - {0x001933, 0x001938, EGCB_SpacingMark },
> - {0x001939, 0x00193b, EGCB_Extend },
> - {0x001a17, 0x001a18, EGCB_Extend },
> - {0x001a19, 0x001a1a, EGCB_SpacingMark },
> - {0x001a1b, 0x001a1b, EGCB_Extend },
> - {0x001a55, 0x001a55, EGCB_SpacingMark },
> - {0x001a56, 0x001a56, EGCB_Extend },
> - {0x001a57, 0x001a57, EGCB_SpacingMark },
> - {0x001a58, 0x001a5e, EGCB_Extend },
> - {0x001a60, 0x001a60, EGCB_Extend },
> - {0x001a62, 0x001a62, EGCB_Extend },
> - {0x001a65, 0x001a6c, EGCB_Extend },
> - {0x001a6d, 0x001a72, EGCB_SpacingMark },
> - {0x001a73, 0x001a7c, EGCB_Extend },
> - {0x001a7f, 0x001a7f, EGCB_Extend },
> - {0x001ab0, 0x001abe, EGCB_Extend },
> - {0x001b00, 0x001b03, EGCB_Extend },
> - {0x001b04, 0x001b04, EGCB_SpacingMark },
> - {0x001b34, 0x001b3a, EGCB_Extend },
> - {0x001b3b, 0x001b3b, EGCB_SpacingMark },
> - {0x001b3c, 0x001b3c, EGCB_Extend },
> - {0x001b3d, 0x001b41, EGCB_SpacingMark },
> - {0x001b42, 0x001b42, EGCB_Extend },
> - {0x001b43, 0x001b44, EGCB_SpacingMark },
> - {0x001b6b, 0x001b73, EGCB_Extend },
> - {0x001b80, 0x001b81, EGCB_Extend },
> - {0x001b82, 0x001b82, EGCB_SpacingMark },
> - {0x001ba1, 0x001ba1, EGCB_SpacingMark },
> - {0x001ba2, 0x001ba5, EGCB_Extend },
> - {0x001ba6, 0x001ba7, EGCB_SpacingMark },
> - {0x001ba8, 0x001ba9, EGCB_Extend },
> - {0x001baa, 0x001baa, EGCB_SpacingMark },
> - {0x001bab, 0x001bad, EGCB_Extend },
> - {0x001be6, 0x001be6, EGCB_Extend },
> - {0x001be7, 0x001be7, EGCB_SpacingMark },
> - {0x001be8, 0x001be9, EGCB_Extend },
> - {0x001bea, 0x001bec, EGCB_SpacingMark },
> - {0x001bed, 0x001bed, EGCB_Extend },
> - {0x001bee, 0x001bee, EGCB_SpacingMark },
> - {0x001bef, 0x001bf1, EGCB_Extend },
> - {0x001bf2, 0x001bf3, EGCB_SpacingMark },
> - {0x001c24, 0x001c2b, EGCB_SpacingMark },
> - {0x001c2c, 0x001c33, EGCB_Extend },
> - {0x001c34, 0x001c35, EGCB_SpacingMark },
> - {0x001c36, 0x001c37, EGCB_Extend },
> - {0x001cd0, 0x001cd2, EGCB_Extend },
> - {0x001cd4, 0x001ce0, EGCB_Extend },
> - {0x001ce1, 0x001ce1, EGCB_SpacingMark },
> - {0x001ce2, 0x001ce8, EGCB_Extend },
> - {0x001ced, 0x001ced, EGCB_Extend },
> - {0x001cf4, 0x001cf4, EGCB_Extend },
> - {0x001cf7, 0x001cf7, EGCB_SpacingMark },
> - {0x001cf8, 0x001cf9, EGCB_Extend },
> - {0x001dc0, 0x001df9, EGCB_Extend },
> - {0x001dfb, 0x001dff, EGCB_Extend },
> - {0x00200b, 0x00200b, EGCB_Control },
> - {0x00200c, 0x00200c, EGCB_Extend },
> - {0x00200d, 0x00200d, EGCB_ZWJ },
> - {0x00200e, 0x00200f, EGCB_Control },
> - {0x002028, 0x00202e, EGCB_Control },
> - {0x002060, 0x00206f, EGCB_Control },
> - {0x0020d0, 0x0020f0, EGCB_Extend },
> - {0x002cef, 0x002cf1, EGCB_Extend },
> - {0x002d7f, 0x002d7f, EGCB_Extend },
> - {0x002de0, 0x002dff, EGCB_Extend },
> - {0x00302a, 0x00302f, EGCB_Extend },
> - {0x003099, 0x00309a, EGCB_Extend },
> - {0x00a66f, 0x00a672, EGCB_Extend },
> - {0x00a674, 0x00a67d, EGCB_Extend },
> - {0x00a69e, 0x00a69f, EGCB_Extend },
> - {0x00a6f0, 0x00a6f1, EGCB_Extend },
> - {0x00a802, 0x00a802, EGCB_Extend },
> - {0x00a806, 0x00a806, EGCB_Extend },
> - {0x00a80b, 0x00a80b, EGCB_Extend },
> - {0x00a823, 0x00a824, EGCB_SpacingMark },
> - {0x00a825, 0x00a826, EGCB_Extend },
> - {0x00a827, 0x00a827, EGCB_SpacingMark },
> - {0x00a880, 0x00a881, EGCB_SpacingMark },
> - {0x00a8b4, 0x00a8c3, EGCB_SpacingMark },
> - {0x00a8c4, 0x00a8c5, EGCB_Extend },
> - {0x00a8e0, 0x00a8f1, EGCB_Extend },
> - {0x00a8ff, 0x00a8ff, EGCB_Extend },
> - {0x00a926, 0x00a92d, EGCB_Extend },
> - {0x00a947, 0x00a951, EGCB_Extend },
> - {0x00a952, 0x00a953, EGCB_SpacingMark },
> - {0x00a960, 0x00a97c, EGCB_L },
> - {0x00a980, 0x00a982, EGCB_Extend },
> - {0x00a983, 0x00a983, EGCB_SpacingMark },
> - {0x00a9b3, 0x00a9b3, EGCB_Extend },
> - {0x00a9b4, 0x00a9b5, EGCB_SpacingMark },
> - {0x00a9b6, 0x00a9b9, EGCB_Extend },
> - {0x00a9ba, 0x00a9bb, EGCB_SpacingMark },
> - {0x00a9bc, 0x00a9bd, EGCB_Extend },
> - {0x00a9be, 0x00a9c0, EGCB_SpacingMark },
> - {0x00a9e5, 0x00a9e5, EGCB_Extend },
> - {0x00aa29, 0x00aa2e, EGCB_Extend },
> - {0x00aa2f, 0x00aa30, EGCB_SpacingMark },
> - {0x00aa31, 0x00aa32, EGCB_Extend },
> - {0x00aa33, 0x00aa34, EGCB_SpacingMark },
> - {0x00aa35, 0x00aa36, EGCB_Extend },
> - {0x00aa43, 0x00aa43, EGCB_Extend },
> - {0x00aa4c, 0x00aa4c, EGCB_Extend },
> - {0x00aa4d, 0x00aa4d, EGCB_SpacingMark },
> - {0x00aa7c, 0x00aa7c, EGCB_Extend },
> - {0x00aab0, 0x00aab0, EGCB_Extend },
> - {0x00aab2, 0x00aab4, EGCB_Extend },
> - {0x00aab7, 0x00aab8, EGCB_Extend },
> - {0x00aabe, 0x00aabf, EGCB_Extend },
> - {0x00aac1, 0x00aac1, EGCB_Extend },
> - {0x00aaeb, 0x00aaeb, EGCB_SpacingMark },
> - {0x00aaec, 0x00aaed, EGCB_Extend },
> - {0x00aaee, 0x00aaef, EGCB_SpacingMark },
> - {0x00aaf5, 0x00aaf5, EGCB_SpacingMark },
> - {0x00aaf6, 0x00aaf6, EGCB_Extend },
> - {0x00abe3, 0x00abe4, EGCB_SpacingMark },
> - {0x00abe5, 0x00abe5, EGCB_Extend },
> - {0x00abe6, 0x00abe7, EGCB_SpacingMark },
> - {0x00abe8, 0x00abe8, EGCB_Extend },
> - {0x00abe9, 0x00abea, EGCB_SpacingMark },
> - {0x00abec, 0x00abec, EGCB_SpacingMark },
> - {0x00abed, 0x00abed, EGCB_Extend },
> - {0x00ac00, 0x00ac00, EGCB_LV },
> - {0x00ac01, 0x00ac1b, EGCB_LVT },
> - {0x00ac1c, 0x00ac1c, EGCB_LV },
> - {0x00ac1d, 0x00ac37, EGCB_LVT },
> - {0x00ac38, 0x00ac38, EGCB_LV },
> - {0x00ac39, 0x00ac53, EGCB_LVT },
> - {0x00ac54, 0x00ac54, EGCB_LV },
> - {0x00ac55, 0x00ac6f, EGCB_LVT },
> - {0x00ac70, 0x00ac70, EGCB_LV },
> - {0x00ac71, 0x00ac8b, EGCB_LVT },
> - {0x00ac8c, 0x00ac8c, EGCB_LV },
> - {0x00ac8d, 0x00aca7, EGCB_LVT },
> - {0x00aca8, 0x00aca8, EGCB_LV },
> - {0x00aca9, 0x00acc3, EGCB_LVT },
> - {0x00acc4, 0x00acc4, EGCB_LV },
> - {0x00acc5, 0x00acdf, EGCB_LVT },
> - {0x00ace0, 0x00ace0, EGCB_LV },
> - {0x00ace1, 0x00acfb, EGCB_LVT },
> - {0x00acfc, 0x00acfc, EGCB_LV },
> - {0x00acfd, 0x00ad17, EGCB_LVT },
> - {0x00ad18, 0x00ad18, EGCB_LV },
> - {0x00ad19, 0x00ad33, EGCB_LVT },
> - {0x00ad34, 0x00ad34, EGCB_LV },
> - {0x00ad35, 0x00ad4f, EGCB_LVT },
> - {0x00ad50, 0x00ad50, EGCB_LV },
> - {0x00ad51, 0x00ad6b, EGCB_LVT },
> - {0x00ad6c, 0x00ad6c, EGCB_LV },
> - {0x00ad6d, 0x00ad87, EGCB_LVT },
> - {0x00ad88, 0x00ad88, EGCB_LV },
> - {0x00ad89, 0x00ada3, EGCB_LVT },
> - {0x00ada4, 0x00ada4, EGCB_LV },
> - {0x00ada5, 0x00adbf, EGCB_LVT },
> - {0x00adc0, 0x00adc0, EGCB_LV },
> - {0x00adc1, 0x00addb, EGCB_LVT },
> - {0x00addc, 0x00addc, EGCB_LV },
> - {0x00addd, 0x00adf7, EGCB_LVT },
> - {0x00adf8, 0x00adf8, EGCB_LV },
> - {0x00adf9, 0x00ae13, EGCB_LVT },
> - {0x00ae14, 0x00ae14, EGCB_LV },
> - {0x00ae15, 0x00ae2f, EGCB_LVT },
> - {0x00ae30, 0x00ae30, EGCB_LV },
> - {0x00ae31, 0x00ae4b, EGCB_LVT },
> - {0x00ae4c, 0x00ae4c, EGCB_LV },
> - {0x00ae4d, 0x00ae67, EGCB_LVT },
> - {0x00ae68, 0x00ae68, EGCB_LV },
> - {0x00ae69, 0x00ae83, EGCB_LVT },
> - {0x00ae84, 0x00ae84, EGCB_LV },
> - {0x00ae85, 0x00ae9f, EGCB_LVT },
> - {0x00aea0, 0x00aea0, EGCB_LV },
> - {0x00aea1, 0x00aebb, EGCB_LVT },
> - {0x00aebc, 0x00aebc, EGCB_LV },
> - {0x00aebd, 0x00aed7, EGCB_LVT },
> - {0x00aed8, 0x00aed8, EGCB_LV },
> - {0x00aed9, 0x00aef3, EGCB_LVT },
> - {0x00aef4, 0x00aef4, EGCB_LV },
> - {0x00aef5, 0x00af0f, EGCB_LVT },
> - {0x00af10, 0x00af10, EGCB_LV },
> - {0x00af11, 0x00af2b, EGCB_LVT },
> - {0x00af2c, 0x00af2c, EGCB_LV },
> - {0x00af2d, 0x00af47, EGCB_LVT },
> - {0x00af48, 0x00af48, EGCB_LV },
> - {0x00af49, 0x00af63, EGCB_LVT },
> - {0x00af64, 0x00af64, EGCB_LV },
> - {0x00af65, 0x00af7f, EGCB_LVT },
> - {0x00af80, 0x00af80, EGCB_LV },
> - {0x00af81, 0x00af9b, EGCB_LVT },
> - {0x00af9c, 0x00af9c, EGCB_LV },
> - {0x00af9d, 0x00afb7, EGCB_LVT },
> - {0x00afb8, 0x00afb8, EGCB_LV },
> - {0x00afb9, 0x00afd3, EGCB_LVT },
> - {0x00afd4, 0x00afd4, EGCB_LV },
> - {0x00afd5, 0x00afef, EGCB_LVT },
> - {0x00aff0, 0x00aff0, EGCB_LV },
> - {0x00aff1, 0x00b00b, EGCB_LVT },
> - {0x00b00c, 0x00b00c, EGCB_LV },
> - {0x00b00d, 0x00b027, EGCB_LVT },
> - {0x00b028, 0x00b028, EGCB_LV },
> - {0x00b029, 0x00b043, EGCB_LVT },
> - {0x00b044, 0x00b044, EGCB_LV },
> - {0x00b045, 0x00b05f, EGCB_LVT },
> - {0x00b060, 0x00b060, EGCB_LV },
> - {0x00b061, 0x00b07b, EGCB_LVT },
> - {0x00b07c, 0x00b07c, EGCB_LV },
> - {0x00b07d, 0x00b097, EGCB_LVT },
> - {0x00b098, 0x00b098, EGCB_LV },
> - {0x00b099, 0x00b0b3, EGCB_LVT },
> - {0x00b0b4, 0x00b0b4, EGCB_LV },
> - {0x00b0b5, 0x00b0cf, EGCB_LVT },
> - {0x00b0d0, 0x00b0d0, EGCB_LV },
> - {0x00b0d1, 0x00b0eb, EGCB_LVT },
> - {0x00b0ec, 0x00b0ec, EGCB_LV },
> - {0x00b0ed, 0x00b107, EGCB_LVT },
> - {0x00b108, 0x00b108, EGCB_LV },
> - {0x00b109, 0x00b123, EGCB_LVT },
> - {0x00b124, 0x00b124, EGCB_LV },
> - {0x00b125, 0x00b13f, EGCB_LVT },
> - {0x00b140, 0x00b140, EGCB_LV },
> - {0x00b141, 0x00b15b, EGCB_LVT },
> - {0x00b15c, 0x00b15c, EGCB_LV },
> - {0x00b15d, 0x00b177, EGCB_LVT },
> - {0x00b178, 0x00b178, EGCB_LV },
> - {0x00b179, 0x00b193, EGCB_LVT },
> - {0x00b194, 0x00b194, EGCB_LV },
> - {0x00b195, 0x00b1af, EGCB_LVT },
> - {0x00b1b0, 0x00b1b0, EGCB_LV },
> - {0x00b1b1, 0x00b1cb, EGCB_LVT },
> - {0x00b1cc, 0x00b1cc, EGCB_LV },
> - {0x00b1cd, 0x00b1e7, EGCB_LVT },
> - {0x00b1e8, 0x00b1e8, EGCB_LV },
> - {0x00b1e9, 0x00b203, EGCB_LVT },
> - {0x00b204, 0x00b204, EGCB_LV },
> - {0x00b205, 0x00b21f, EGCB_LVT },
> - {0x00b220, 0x00b220, EGCB_LV },
> - {0x00b221, 0x00b23b, EGCB_LVT },
> - {0x00b23c, 0x00b23c, EGCB_LV },
> - {0x00b23d, 0x00b257, EGCB_LVT },
> - {0x00b258, 0x00b258, EGCB_LV },
> - {0x00b259, 0x00b273, EGCB_LVT },
> - {0x00b274, 0x00b274, EGCB_LV },
> - {0x00b275, 0x00b28f, EGCB_LVT },
> - {0x00b290, 0x00b290, EGCB_LV },
> - {0x00b291, 0x00b2ab, EGCB_LVT },
> - {0x00b2ac, 0x00b2ac, EGCB_LV },
> - {0x00b2ad, 0x00b2c7, EGCB_LVT },
> - {0x00b2c8, 0x00b2c8, EGCB_LV },
> - {0x00b2c9, 0x00b2e3, EGCB_LVT },
> - {0x00b2e4, 0x00b2e4, EGCB_LV },
> - {0x00b2e5, 0x00b2ff, EGCB_LVT },
> - {0x00b300, 0x00b300, EGCB_LV },
> - {0x00b301, 0x00b31b, EGCB_LVT },
> - {0x00b31c, 0x00b31c, EGCB_LV },
> - {0x00b31d, 0x00b337, EGCB_LVT },
> - {0x00b338, 0x00b338, EGCB_LV },
> - {0x00b339, 0x00b353, EGCB_LVT },
> - {0x00b354, 0x00b354, EGCB_LV },
> - {0x00b355, 0x00b36f, EGCB_LVT },
> - {0x00b370, 0x00b370, EGCB_LV },
> - {0x00b371, 0x00b38b, EGCB_LVT },
> - {0x00b38c, 0x00b38c, EGCB_LV },
> - {0x00b38d, 0x00b3a7, EGCB_LVT },
> - {0x00b3a8, 0x00b3a8, EGCB_LV },
> - {0x00b3a9, 0x00b3c3, EGCB_LVT },
> - {0x00b3c4, 0x00b3c4, EGCB_LV },
> - {0x00b3c5, 0x00b3df, EGCB_LVT },
> - {0x00b3e0, 0x00b3e0, EGCB_LV },
> - {0x00b3e1, 0x00b3fb, EGCB_LVT },
> - {0x00b3fc, 0x00b3fc, EGCB_LV },
> - {0x00b3fd, 0x00b417, EGCB_LVT },
> - {0x00b418, 0x00b418, EGCB_LV },
> - {0x00b419, 0x00b433, EGCB_LVT },
> - {0x00b434, 0x00b434, EGCB_LV },
> - {0x00b435, 0x00b44f, EGCB_LVT },
> - {0x00b450, 0x00b450, EGCB_LV },
> - {0x00b451, 0x00b46b, EGCB_LVT },
> - {0x00b46c, 0x00b46c, EGCB_LV },
> - {0x00b46d, 0x00b487, EGCB_LVT },
> - {0x00b488, 0x00b488, EGCB_LV },
> - {0x00b489, 0x00b4a3, EGCB_LVT },
> - {0x00b4a4, 0x00b4a4, EGCB_LV },
> - {0x00b4a5, 0x00b4bf, EGCB_LVT },
> - {0x00b4c0, 0x00b4c0, EGCB_LV },
> - {0x00b4c1, 0x00b4db, EGCB_LVT },
> - {0x00b4dc, 0x00b4dc, EGCB_LV },
> - {0x00b4dd, 0x00b4f7, EGCB_LVT },
> - {0x00b4f8, 0x00b4f8, EGCB_LV },
> - {0x00b4f9, 0x00b513, EGCB_LVT },
> - {0x00b514, 0x00b514, EGCB_LV },
> - {0x00b515, 0x00b52f, EGCB_LVT },
> - {0x00b530, 0x00b530, EGCB_LV },
> - {0x00b531, 0x00b54b, EGCB_LVT },
> - {0x00b54c, 0x00b54c, EGCB_LV },
> - {0x00b54d, 0x00b567, EGCB_LVT },
> - {0x00b568, 0x00b568, EGCB_LV },
> - {0x00b569, 0x00b583, EGCB_LVT },
> - {0x00b584, 0x00b584, EGCB_LV },
> - {0x00b585, 0x00b59f, EGCB_LVT },
> - {0x00b5a0, 0x00b5a0, EGCB_LV },
> - {0x00b5a1, 0x00b5bb, EGCB_LVT },
> - {0x00b5bc, 0x00b5bc, EGCB_LV },
> - {0x00b5bd, 0x00b5d7, EGCB_LVT },
> - {0x00b5d8, 0x00b5d8, EGCB_LV },
> - {0x00b5d9, 0x00b5f3, EGCB_LVT },
> - {0x00b5f4, 0x00b5f4, EGCB_LV },
> - {0x00b5f5, 0x00b60f, EGCB_LVT },
> - {0x00b610, 0x00b610, EGCB_LV },
> - {0x00b611, 0x00b62b, EGCB_LVT },
> - {0x00b62c, 0x00b62c, EGCB_LV },
> - {0x00b62d, 0x00b647, EGCB_LVT },
> - {0x00b648, 0x00b648, EGCB_LV },
> - {0x00b649, 0x00b663, EGCB_LVT },
> - {0x00b664, 0x00b664, EGCB_LV },
> - {0x00b665, 0x00b67f, EGCB_LVT },
> - {0x00b680, 0x00b680, EGCB_LV },
> - {0x00b681, 0x00b69b, EGCB_LVT },
> - {0x00b69c, 0x00b69c, EGCB_LV },
> - {0x00b69d, 0x00b6b7, EGCB_LVT },
> - {0x00b6b8, 0x00b6b8, EGCB_LV },
> - {0x00b6b9, 0x00b6d3, EGCB_LVT },
> - {0x00b6d4, 0x00b6d4, EGCB_LV },
> - {0x00b6d5, 0x00b6ef, EGCB_LVT },
> - {0x00b6f0, 0x00b6f0, EGCB_LV },
> - {0x00b6f1, 0x00b70b, EGCB_LVT },
> - {0x00b70c, 0x00b70c, EGCB_LV },
> - {0x00b70d, 0x00b727, EGCB_LVT },
> - {0x00b728, 0x00b728, EGCB_LV },
> - {0x00b729, 0x00b743, EGCB_LVT },
> - {0x00b744, 0x00b744, EGCB_LV },
> - {0x00b745, 0x00b75f, EGCB_LVT },
> - {0x00b760, 0x00b760, EGCB_LV },
> - {0x00b761, 0x00b77b, EGCB_LVT },
> - {0x00b77c, 0x00b77c, EGCB_LV },
> - {0x00b77d, 0x00b797, EGCB_LVT },
> - {0x00b798, 0x00b798, EGCB_LV },
> - {0x00b799, 0x00b7b3, EGCB_LVT },
> - {0x00b7b4, 0x00b7b4, EGCB_LV },
> - {0x00b7b5, 0x00b7cf, EGCB_LVT },
> - {0x00b7d0, 0x00b7d0, EGCB_LV },
> - {0x00b7d1, 0x00b7eb, EGCB_LVT },
> - {0x00b7ec, 0x00b7ec, EGCB_LV },
> - {0x00b7ed, 0x00b807, EGCB_LVT },
> - {0x00b808, 0x00b808, EGCB_LV },
> - {0x00b809, 0x00b823, EGCB_LVT },
> - {0x00b824, 0x00b824, EGCB_LV },
> - {0x00b825, 0x00b83f, EGCB_LVT },
> - {0x00b840, 0x00b840, EGCB_LV },
> - {0x00b841, 0x00b85b, EGCB_LVT },
> - {0x00b85c, 0x00b85c, EGCB_LV },
> - {0x00b85d, 0x00b877, EGCB_LVT },
> - {0x00b878, 0x00b878, EGCB_LV },
> - {0x00b879, 0x00b893, EGCB_LVT },
> - {0x00b894, 0x00b894, EGCB_LV },
> - {0x00b895, 0x00b8af, EGCB_LVT },
> - {0x00b8b0, 0x00b8b0, EGCB_LV },
> - {0x00b8b1, 0x00b8cb, EGCB_LVT },
> - {0x00b8cc, 0x00b8cc, EGCB_LV },
> - {0x00b8cd, 0x00b8e7, EGCB_LVT },
> - {0x00b8e8, 0x00b8e8, EGCB_LV },
> - {0x00b8e9, 0x00b903, EGCB_LVT },
> - {0x00b904, 0x00b904, EGCB_LV },
> - {0x00b905, 0x00b91f, EGCB_LVT },
> - {0x00b920, 0x00b920, EGCB_LV },
> - {0x00b921, 0x00b93b, EGCB_LVT },
> - {0x00b93c, 0x00b93c, EGCB_LV },
> - {0x00b93d, 0x00b957, EGCB_LVT },
> - {0x00b958, 0x00b958, EGCB_LV },
> - {0x00b959, 0x00b973, EGCB_LVT },
> - {0x00b974, 0x00b974, EGCB_LV },
> - {0x00b975, 0x00b98f, EGCB_LVT },
> - {0x00b990, 0x00b990, EGCB_LV },
> - {0x00b991, 0x00b9ab, EGCB_LVT },
> - {0x00b9ac, 0x00b9ac, EGCB_LV },
> - {0x00b9ad, 0x00b9c7, EGCB_LVT },
> - {0x00b9c8, 0x00b9c8, EGCB_LV },
> - {0x00b9c9, 0x00b9e3, EGCB_LVT },
> - {0x00b9e4, 0x00b9e4, EGCB_LV },
> - {0x00b9e5, 0x00b9ff, EGCB_LVT },
> - {0x00ba00, 0x00ba00, EGCB_LV },
> - {0x00ba01, 0x00ba1b, EGCB_LVT },
> - {0x00ba1c, 0x00ba1c, EGCB_LV },
> - {0x00ba1d, 0x00ba37, EGCB_LVT },
> - {0x00ba38, 0x00ba38, EGCB_LV },
> - {0x00ba39, 0x00ba53, EGCB_LVT },
> - {0x00ba54, 0x00ba54, EGCB_LV },
> - {0x00ba55, 0x00ba6f, EGCB_LVT },
> - {0x00ba70, 0x00ba70, EGCB_LV },
> - {0x00ba71, 0x00ba8b, EGCB_LVT },
> - {0x00ba8c, 0x00ba8c, EGCB_LV },
> - {0x00ba8d, 0x00baa7, EGCB_LVT },
> - {0x00baa8, 0x00baa8, EGCB_LV },
> - {0x00baa9, 0x00bac3, EGCB_LVT },
> - {0x00bac4, 0x00bac4, EGCB_LV },
> - {0x00bac5, 0x00badf, EGCB_LVT },
> - {0x00bae0, 0x00bae0, EGCB_LV },
> - {0x00bae1, 0x00bafb, EGCB_LVT },
> - {0x00bafc, 0x00bafc, EGCB_LV },
> - {0x00bafd, 0x00bb17, EGCB_LVT },
> - {0x00bb18, 0x00bb18, EGCB_LV },
> - {0x00bb19, 0x00bb33, EGCB_LVT },
> - {0x00bb34, 0x00bb34, EGCB_LV },
> - {0x00bb35, 0x00bb4f, EGCB_LVT },
> - {0x00bb50, 0x00bb50, EGCB_LV },
> - {0x00bb51, 0x00bb6b, EGCB_LVT },
> - {0x00bb6c, 0x00bb6c, EGCB_LV },
> - {0x00bb6d, 0x00bb87, EGCB_LVT },
> - {0x00bb88, 0x00bb88, EGCB_LV },
> - {0x00bb89, 0x00bba3, EGCB_LVT },
> - {0x00bba4, 0x00bba4, EGCB_LV },
> - {0x00bba5, 0x00bbbf, EGCB_LVT },
> - {0x00bbc0, 0x00bbc0, EGCB_LV },
> - {0x00bbc1, 0x00bbdb, EGCB_LVT },
> - {0x00bbdc, 0x00bbdc, EGCB_LV },
> - {0x00bbdd, 0x00bbf7, EGCB_LVT },
> - {0x00bbf8, 0x00bbf8, EGCB_LV },
> - {0x00bbf9, 0x00bc13, EGCB_LVT },
> - {0x00bc14, 0x00bc14, EGCB_LV },
> - {0x00bc15, 0x00bc2f, EGCB_LVT },
> - {0x00bc30, 0x00bc30, EGCB_LV },
> - {0x00bc31, 0x00bc4b, EGCB_LVT },
> - {0x00bc4c, 0x00bc4c, EGCB_LV },
> - {0x00bc4d, 0x00bc67, EGCB_LVT },
> - {0x00bc68, 0x00bc68, EGCB_LV },
> - {0x00bc69, 0x00bc83, EGCB_LVT },
> - {0x00bc84, 0x00bc84, EGCB_LV },
> - {0x00bc85, 0x00bc9f, EGCB_LVT },
> - {0x00bca0, 0x00bca0, EGCB_LV },
> - {0x00bca1, 0x00bcbb, EGCB_LVT },
> - {0x00bcbc, 0x00bcbc, EGCB_LV },
> - {0x00bcbd, 0x00bcd7, EGCB_LVT },
> - {0x00bcd8, 0x00bcd8, EGCB_LV },
> - {0x00bcd9, 0x00bcf3, EGCB_LVT },
> - {0x00bcf4, 0x00bcf4, EGCB_LV },
> - {0x00bcf5, 0x00bd0f, EGCB_LVT },
> - {0x00bd10, 0x00bd10, EGCB_LV },
> - {0x00bd11, 0x00bd2b, EGCB_LVT },
> - {0x00bd2c, 0x00bd2c, EGCB_LV },
> - {0x00bd2d, 0x00bd47, EGCB_LVT },
> - {0x00bd48, 0x00bd48, EGCB_LV },
> - {0x00bd49, 0x00bd63, EGCB_LVT },
> - {0x00bd64, 0x00bd64, EGCB_LV },
> - {0x00bd65, 0x00bd7f, EGCB_LVT },
> - {0x00bd80, 0x00bd80, EGCB_LV },
> - {0x00bd81, 0x00bd9b, EGCB_LVT },
> - {0x00bd9c, 0x00bd9c, EGCB_LV },
> - {0x00bd9d, 0x00bdb7, EGCB_LVT },
> - {0x00bdb8, 0x00bdb8, EGCB_LV },
> - {0x00bdb9, 0x00bdd3, EGCB_LVT },
> - {0x00bdd4, 0x00bdd4, EGCB_LV },
> - {0x00bdd5, 0x00bdef, EGCB_LVT },
> - {0x00bdf0, 0x00bdf0, EGCB_LV },
> - {0x00bdf1, 0x00be0b, EGCB_LVT },
> - {0x00be0c, 0x00be0c, EGCB_LV },
> - {0x00be0d, 0x00be27, EGCB_LVT },
> - {0x00be28, 0x00be28, EGCB_LV },
> - {0x00be29, 0x00be43, EGCB_LVT },
> - {0x00be44, 0x00be44, EGCB_LV },
> - {0x00be45, 0x00be5f, EGCB_LVT },
> - {0x00be60, 0x00be60, EGCB_LV },
> - {0x00be61, 0x00be7b, EGCB_LVT },
> - {0x00be7c, 0x00be7c, EGCB_LV },
> - {0x00be7d, 0x00be97, EGCB_LVT },
> - {0x00be98, 0x00be98, EGCB_LV },
> - {0x00be99, 0x00beb3, EGCB_LVT },
> - {0x00beb4, 0x00beb4, EGCB_LV },
> - {0x00beb5, 0x00becf, EGCB_LVT },
> - {0x00bed0, 0x00bed0, EGCB_LV },
> - {0x00bed1, 0x00beeb, EGCB_LVT },
> - {0x00beec, 0x00beec, EGCB_LV },
> - {0x00beed, 0x00bf07, EGCB_LVT },
> - {0x00bf08, 0x00bf08, EGCB_LV },
> - {0x00bf09, 0x00bf23, EGCB_LVT },
> - {0x00bf24, 0x00bf24, EGCB_LV },
> - {0x00bf25, 0x00bf3f, EGCB_LVT },
> - {0x00bf40, 0x00bf40, EGCB_LV },
> - {0x00bf41, 0x00bf5b, EGCB_LVT },
> - {0x00bf5c, 0x00bf5c, EGCB_LV },
> - {0x00bf5d, 0x00bf77, EGCB_LVT },
> - {0x00bf78, 0x00bf78, EGCB_LV },
> - {0x00bf79, 0x00bf93, EGCB_LVT },
> - {0x00bf94, 0x00bf94, EGCB_LV },
> - {0x00bf95, 0x00bfaf, EGCB_LVT },
> - {0x00bfb0, 0x00bfb0, EGCB_LV },
> - {0x00bfb1, 0x00bfcb, EGCB_LVT },
> - {0x00bfcc, 0x00bfcc, EGCB_LV },
> - {0x00bfcd, 0x00bfe7, EGCB_LVT },
> - {0x00bfe8, 0x00bfe8, EGCB_LV },
> - {0x00bfe9, 0x00c003, EGCB_LVT },
> - {0x00c004, 0x00c004, EGCB_LV },
> - {0x00c005, 0x00c01f, EGCB_LVT },
> - {0x00c020, 0x00c020, EGCB_LV },
> - {0x00c021, 0x00c03b, EGCB_LVT },
> - {0x00c03c, 0x00c03c, EGCB_LV },
> - {0x00c03d, 0x00c057, EGCB_LVT },
> - {0x00c058, 0x00c058, EGCB_LV },
> - {0x00c059, 0x00c073, EGCB_LVT },
> - {0x00c074, 0x00c074, EGCB_LV },
> - {0x00c075, 0x00c08f, EGCB_LVT },
> - {0x00c090, 0x00c090, EGCB_LV },
> - {0x00c091, 0x00c0ab, EGCB_LVT },
> - {0x00c0ac, 0x00c0ac, EGCB_LV },
> - {0x00c0ad, 0x00c0c7, EGCB_LVT },
> - {0x00c0c8, 0x00c0c8, EGCB_LV },
> - {0x00c0c9, 0x00c0e3, EGCB_LVT },
> - {0x00c0e4, 0x00c0e4, EGCB_LV },
> - {0x00c0e5, 0x00c0ff, EGCB_LVT },
> - {0x00c100, 0x00c100, EGCB_LV },
> - {0x00c101, 0x00c11b, EGCB_LVT },
> - {0x00c11c, 0x00c11c, EGCB_LV },
> - {0x00c11d, 0x00c137, EGCB_LVT },
> - {0x00c138, 0x00c138, EGCB_LV },
> - {0x00c139, 0x00c153, EGCB_LVT },
> - {0x00c154, 0x00c154, EGCB_LV },
> - {0x00c155, 0x00c16f, EGCB_LVT },
> - {0x00c170, 0x00c170, EGCB_LV },
> - {0x00c171, 0x00c18b, EGCB_LVT },
> - {0x00c18c, 0x00c18c, EGCB_LV },
> - {0x00c18d, 0x00c1a7, EGCB_LVT },
> - {0x00c1a8, 0x00c1a8, EGCB_LV },
> - {0x00c1a9, 0x00c1c3, EGCB_LVT },
> - {0x00c1c4, 0x00c1c4, EGCB_LV },
> - {0x00c1c5, 0x00c1df, EGCB_LVT },
> - {0x00c1e0, 0x00c1e0, EGCB_LV },
> - {0x00c1e1, 0x00c1fb, EGCB_LVT },
> - {0x00c1fc, 0x00c1fc, EGCB_LV },
> - {0x00c1fd, 0x00c217, EGCB_LVT },
> - {0x00c218, 0x00c218, EGCB_LV },
> - {0x00c219, 0x00c233, EGCB_LVT },
> - {0x00c234, 0x00c234, EGCB_LV },
> - {0x00c235, 0x00c24f, EGCB_LVT },
> - {0x00c250, 0x00c250, EGCB_LV },
> - {0x00c251, 0x00c26b, EGCB_LVT },
> - {0x00c26c, 0x00c26c, EGCB_LV },
> - {0x00c26d, 0x00c287, EGCB_LVT },
> - {0x00c288, 0x00c288, EGCB_LV },
> - {0x00c289, 0x00c2a3, EGCB_LVT },
> - {0x00c2a4, 0x00c2a4, EGCB_LV },
> - {0x00c2a5, 0x00c2bf, EGCB_LVT },
> - {0x00c2c0, 0x00c2c0, EGCB_LV },
> - {0x00c2c1, 0x00c2db, EGCB_LVT },
> - {0x00c2dc, 0x00c2dc, EGCB_LV },
> - {0x00c2dd, 0x00c2f7, EGCB_LVT },
> - {0x00c2f8, 0x00c2f8, EGCB_LV },
> - {0x00c2f9, 0x00c313, EGCB_LVT },
> - {0x00c314, 0x00c314, EGCB_LV },
> - {0x00c315, 0x00c32f, EGCB_LVT },
> - {0x00c330, 0x00c330, EGCB_LV },
> - {0x00c331, 0x00c34b, EGCB_LVT },
> - {0x00c34c, 0x00c34c, EGCB_LV },
> - {0x00c34d, 0x00c367, EGCB_LVT },
> - {0x00c368, 0x00c368, EGCB_LV },
> - {0x00c369, 0x00c383, EGCB_LVT },
> - {0x00c384, 0x00c384, EGCB_LV },
> - {0x00c385, 0x00c39f, EGCB_LVT },
> - {0x00c3a0, 0x00c3a0, EGCB_LV },
> - {0x00c3a1, 0x00c3bb, EGCB_LVT },
> - {0x00c3bc, 0x00c3bc, EGCB_LV },
> - {0x00c3bd, 0x00c3d7, EGCB_LVT },
> - {0x00c3d8, 0x00c3d8, EGCB_LV },
> - {0x00c3d9, 0x00c3f3, EGCB_LVT },
> - {0x00c3f4, 0x00c3f4, EGCB_LV },
> - {0x00c3f5, 0x00c40f, EGCB_LVT },
> - {0x00c410, 0x00c410, EGCB_LV },
> - {0x00c411, 0x00c42b, EGCB_LVT },
> - {0x00c42c, 0x00c42c, EGCB_LV },
> - {0x00c42d, 0x00c447, EGCB_LVT },
> - {0x00c448, 0x00c448, EGCB_LV },
> - {0x00c449, 0x00c463, EGCB_LVT },
> - {0x00c464, 0x00c464, EGCB_LV },
> - {0x00c465, 0x00c47f, EGCB_LVT },
> - {0x00c480, 0x00c480, EGCB_LV },
> - {0x00c481, 0x00c49b, EGCB_LVT },
> - {0x00c49c, 0x00c49c, EGCB_LV },
> - {0x00c49d, 0x00c4b7, EGCB_LVT },
> - {0x00c4b8, 0x00c4b8, EGCB_LV },
> - {0x00c4b9, 0x00c4d3, EGCB_LVT },
> - {0x00c4d4, 0x00c4d4, EGCB_LV },
> - {0x00c4d5, 0x00c4ef, EGCB_LVT },
> - {0x00c4f0, 0x00c4f0, EGCB_LV },
> - {0x00c4f1, 0x00c50b, EGCB_LVT },
> - {0x00c50c, 0x00c50c, EGCB_LV },
> - {0x00c50d, 0x00c527, EGCB_LVT },
> - {0x00c528, 0x00c528, EGCB_LV },
> - {0x00c529, 0x00c543, EGCB_LVT },
> - {0x00c544, 0x00c544, EGCB_LV },
> - {0x00c545, 0x00c55f, EGCB_LVT },
> - {0x00c560, 0x00c560, EGCB_LV },
> - {0x00c561, 0x00c57b, EGCB_LVT },
> - {0x00c57c, 0x00c57c, EGCB_LV },
> - {0x00c57d, 0x00c597, EGCB_LVT },
> - {0x00c598, 0x00c598, EGCB_LV },
> - {0x00c599, 0x00c5b3, EGCB_LVT },
> - {0x00c5b4, 0x00c5b4, EGCB_LV },
> - {0x00c5b5, 0x00c5cf, EGCB_LVT },
> - {0x00c5d0, 0x00c5d0, EGCB_LV },
> - {0x00c5d1, 0x00c5eb, EGCB_LVT },
> - {0x00c5ec, 0x00c5ec, EGCB_LV },
> - {0x00c5ed, 0x00c607, EGCB_LVT },
> - {0x00c608, 0x00c608, EGCB_LV },
> - {0x00c609, 0x00c623, EGCB_LVT },
> - {0x00c624, 0x00c624, EGCB_LV },
> - {0x00c625, 0x00c63f, EGCB_LVT },
> - {0x00c640, 0x00c640, EGCB_LV },
> - {0x00c641, 0x00c65b, EGCB_LVT },
> - {0x00c65c, 0x00c65c, EGCB_LV },
> - {0x00c65d, 0x00c677, EGCB_LVT },
> - {0x00c678, 0x00c678, EGCB_LV },
> - {0x00c679, 0x00c693, EGCB_LVT },
> - {0x00c694, 0x00c694, EGCB_LV },
> - {0x00c695, 0x00c6af, EGCB_LVT },
> - {0x00c6b0, 0x00c6b0, EGCB_LV },
> - {0x00c6b1, 0x00c6cb, EGCB_LVT },
> - {0x00c6cc, 0x00c6cc, EGCB_LV },
> - {0x00c6cd, 0x00c6e7, EGCB_LVT },
> - {0x00c6e8, 0x00c6e8, EGCB_LV },
> - {0x00c6e9, 0x00c703, EGCB_LVT },
> - {0x00c704, 0x00c704, EGCB_LV },
> - {0x00c705, 0x00c71f, EGCB_LVT },
> - {0x00c720, 0x00c720, EGCB_LV },
> - {0x00c721, 0x00c73b, EGCB_LVT },
> - {0x00c73c, 0x00c73c, EGCB_LV },
> - {0x00c73d, 0x00c757, EGCB_LVT },
> - {0x00c758, 0x00c758, EGCB_LV },
> - {0x00c759, 0x00c773, EGCB_LVT },
> - {0x00c774, 0x00c774, EGCB_LV },
> - {0x00c775, 0x00c78f, EGCB_LVT },
> - {0x00c790, 0x00c790, EGCB_LV },
> - {0x00c791, 0x00c7ab, EGCB_LVT },
> - {0x00c7ac, 0x00c7ac, EGCB_LV },
> - {0x00c7ad, 0x00c7c7, EGCB_LVT },
> - {0x00c7c8, 0x00c7c8, EGCB_LV },
> - {0x00c7c9, 0x00c7e3, EGCB_LVT },
> - {0x00c7e4, 0x00c7e4, EGCB_LV },
> - {0x00c7e5, 0x00c7ff, EGCB_LVT },
> - {0x00c800, 0x00c800, EGCB_LV },
> - {0x00c801, 0x00c81b, EGCB_LVT },
> - {0x00c81c, 0x00c81c, EGCB_LV },
> - {0x00c81d, 0x00c837, EGCB_LVT },
> - {0x00c838, 0x00c838, EGCB_LV },
> - {0x00c839, 0x00c853, EGCB_LVT },
> - {0x00c854, 0x00c854, EGCB_LV },
> - {0x00c855, 0x00c86f, EGCB_LVT },
> - {0x00c870, 0x00c870, EGCB_LV },
> - {0x00c871, 0x00c88b, EGCB_LVT },
> - {0x00c88c, 0x00c88c, EGCB_LV },
> - {0x00c88d, 0x00c8a7, EGCB_LVT },
> - {0x00c8a8, 0x00c8a8, EGCB_LV },
> - {0x00c8a9, 0x00c8c3, EGCB_LVT },
> - {0x00c8c4, 0x00c8c4, EGCB_LV },
> - {0x00c8c5, 0x00c8df, EGCB_LVT },
> - {0x00c8e0, 0x00c8e0, EGCB_LV },
> - {0x00c8e1, 0x00c8fb, EGCB_LVT },
> - {0x00c8fc, 0x00c8fc, EGCB_LV },
> - {0x00c8fd, 0x00c917, EGCB_LVT },
> - {0x00c918, 0x00c918, EGCB_LV },
> - {0x00c919, 0x00c933, EGCB_LVT },
> - {0x00c934, 0x00c934, EGCB_LV },
> - {0x00c935, 0x00c94f, EGCB_LVT },
> - {0x00c950, 0x00c950, EGCB_LV },
> - {0x00c951, 0x00c96b, EGCB_LVT },
> - {0x00c96c, 0x00c96c, EGCB_LV },
> - {0x00c96d, 0x00c987, EGCB_LVT },
> - {0x00c988, 0x00c988, EGCB_LV },
> - {0x00c989, 0x00c9a3, EGCB_LVT },
> - {0x00c9a4, 0x00c9a4, EGCB_LV },
> - {0x00c9a5, 0x00c9bf, EGCB_LVT },
> - {0x00c9c0, 0x00c9c0, EGCB_LV },
> - {0x00c9c1, 0x00c9db, EGCB_LVT },
> - {0x00c9dc, 0x00c9dc, EGCB_LV },
> - {0x00c9dd, 0x00c9f7, EGCB_LVT },
> - {0x00c9f8, 0x00c9f8, EGCB_LV },
> - {0x00c9f9, 0x00ca13, EGCB_LVT },
> - {0x00ca14, 0x00ca14, EGCB_LV },
> - {0x00ca15, 0x00ca2f, EGCB_LVT },
> - {0x00ca30, 0x00ca30, EGCB_LV },
> - {0x00ca31, 0x00ca4b, EGCB_LVT },
> - {0x00ca4c, 0x00ca4c, EGCB_LV },
> - {0x00ca4d, 0x00ca67, EGCB_LVT },
> - {0x00ca68, 0x00ca68, EGCB_LV },
> - {0x00ca69, 0x00ca83, EGCB_LVT },
> - {0x00ca84, 0x00ca84, EGCB_LV },
> - {0x00ca85, 0x00ca9f, EGCB_LVT },
> - {0x00caa0, 0x00caa0, EGCB_LV },
> - {0x00caa1, 0x00cabb, EGCB_LVT },
> - {0x00cabc, 0x00cabc, EGCB_LV },
> - {0x00cabd, 0x00cad7, EGCB_LVT },
> - {0x00cad8, 0x00cad8, EGCB_LV },
> - {0x00cad9, 0x00caf3, EGCB_LVT },
> - {0x00caf4, 0x00caf4, EGCB_LV },
> - {0x00caf5, 0x00cb0f, EGCB_LVT },
> - {0x00cb10, 0x00cb10, EGCB_LV },
> - {0x00cb11, 0x00cb2b, EGCB_LVT },
> - {0x00cb2c, 0x00cb2c, EGCB_LV },
> - {0x00cb2d, 0x00cb47, EGCB_LVT },
> - {0x00cb48, 0x00cb48, EGCB_LV },
> - {0x00cb49, 0x00cb63, EGCB_LVT },
> - {0x00cb64, 0x00cb64, EGCB_LV },
> - {0x00cb65, 0x00cb7f, EGCB_LVT },
> - {0x00cb80, 0x00cb80, EGCB_LV },
> - {0x00cb81, 0x00cb9b, EGCB_LVT },
> - {0x00cb9c, 0x00cb9c, EGCB_LV },
> - {0x00cb9d, 0x00cbb7, EGCB_LVT },
> - {0x00cbb8, 0x00cbb8, EGCB_LV },
> - {0x00cbb9, 0x00cbd3, EGCB_LVT },
> - {0x00cbd4, 0x00cbd4, EGCB_LV },
> - {0x00cbd5, 0x00cbef, EGCB_LVT },
> - {0x00cbf0, 0x00cbf0, EGCB_LV },
> - {0x00cbf1, 0x00cc0b, EGCB_LVT },
> - {0x00cc0c, 0x00cc0c, EGCB_LV },
> - {0x00cc0d, 0x00cc27, EGCB_LVT },
> - {0x00cc28, 0x00cc28, EGCB_LV },
> - {0x00cc29, 0x00cc43, EGCB_LVT },
> - {0x00cc44, 0x00cc44, EGCB_LV },
> - {0x00cc45, 0x00cc5f, EGCB_LVT },
> - {0x00cc60, 0x00cc60, EGCB_LV },
> - {0x00cc61, 0x00cc7b, EGCB_LVT },
> - {0x00cc7c, 0x00cc7c, EGCB_LV },
> - {0x00cc7d, 0x00cc97, EGCB_LVT },
> - {0x00cc98, 0x00cc98, EGCB_LV },
> - {0x00cc99, 0x00ccb3, EGCB_LVT },
> - {0x00ccb4, 0x00ccb4, EGCB_LV },
> - {0x00ccb5, 0x00cccf, EGCB_LVT },
> - {0x00ccd0, 0x00ccd0, EGCB_LV },
> - {0x00ccd1, 0x00cceb, EGCB_LVT },
> - {0x00ccec, 0x00ccec, EGCB_LV },
> - {0x00cced, 0x00cd07, EGCB_LVT },
> - {0x00cd08, 0x00cd08, EGCB_LV },
> - {0x00cd09, 0x00cd23, EGCB_LVT },
> - {0x00cd24, 0x00cd24, EGCB_LV },
> - {0x00cd25, 0x00cd3f, EGCB_LVT },
> - {0x00cd40, 0x00cd40, EGCB_LV },
> - {0x00cd41, 0x00cd5b, EGCB_LVT },
> - {0x00cd5c, 0x00cd5c, EGCB_LV },
> - {0x00cd5d, 0x00cd77, EGCB_LVT },
> - {0x00cd78, 0x00cd78, EGCB_LV },
> - {0x00cd79, 0x00cd93, EGCB_LVT },
> - {0x00cd94, 0x00cd94, EGCB_LV },
> - {0x00cd95, 0x00cdaf, EGCB_LVT },
> - {0x00cdb0, 0x00cdb0, EGCB_LV },
> - {0x00cdb1, 0x00cdcb, EGCB_LVT },
> - {0x00cdcc, 0x00cdcc, EGCB_LV },
> - {0x00cdcd, 0x00cde7, EGCB_LVT },
> - {0x00cde8, 0x00cde8, EGCB_LV },
> - {0x00cde9, 0x00ce03, EGCB_LVT },
> - {0x00ce04, 0x00ce04, EGCB_LV },
> - {0x00ce05, 0x00ce1f, EGCB_LVT },
> - {0x00ce20, 0x00ce20, EGCB_LV },
> - {0x00ce21, 0x00ce3b, EGCB_LVT },
> - {0x00ce3c, 0x00ce3c, EGCB_LV },
> - {0x00ce3d, 0x00ce57, EGCB_LVT },
> - {0x00ce58, 0x00ce58, EGCB_LV },
> - {0x00ce59, 0x00ce73, EGCB_LVT },
> - {0x00ce74, 0x00ce74, EGCB_LV },
> - {0x00ce75, 0x00ce8f, EGCB_LVT },
> - {0x00ce90, 0x00ce90, EGCB_LV },
> - {0x00ce91, 0x00ceab, EGCB_LVT },
> - {0x00ceac, 0x00ceac, EGCB_LV },
> - {0x00cead, 0x00cec7, EGCB_LVT },
> - {0x00cec8, 0x00cec8, EGCB_LV },
> - {0x00cec9, 0x00cee3, EGCB_LVT },
> - {0x00cee4, 0x00cee4, EGCB_LV },
> - {0x00cee5, 0x00ceff, EGCB_LVT },
> - {0x00cf00, 0x00cf00, EGCB_LV },
> - {0x00cf01, 0x00cf1b, EGCB_LVT },
> - {0x00cf1c, 0x00cf1c, EGCB_LV },
> - {0x00cf1d, 0x00cf37, EGCB_LVT },
> - {0x00cf38, 0x00cf38, EGCB_LV },
> - {0x00cf39, 0x00cf53, EGCB_LVT },
> - {0x00cf54, 0x00cf54, EGCB_LV },
> - {0x00cf55, 0x00cf6f, EGCB_LVT },
> - {0x00cf70, 0x00cf70, EGCB_LV },
> - {0x00cf71, 0x00cf8b, EGCB_LVT },
> - {0x00cf8c, 0x00cf8c, EGCB_LV },
> - {0x00cf8d, 0x00cfa7, EGCB_LVT },
> - {0x00cfa8, 0x00cfa8, EGCB_LV },
> - {0x00cfa9, 0x00cfc3, EGCB_LVT },
> - {0x00cfc4, 0x00cfc4, EGCB_LV },
> - {0x00cfc5, 0x00cfdf, EGCB_LVT },
> - {0x00cfe0, 0x00cfe0, EGCB_LV },
> - {0x00cfe1, 0x00cffb, EGCB_LVT },
> - {0x00cffc, 0x00cffc, EGCB_LV },
> - {0x00cffd, 0x00d017, EGCB_LVT },
> - {0x00d018, 0x00d018, EGCB_LV },
> - {0x00d019, 0x00d033, EGCB_LVT },
> - {0x00d034, 0x00d034, EGCB_LV },
> - {0x00d035, 0x00d04f, EGCB_LVT },
> - {0x00d050, 0x00d050, EGCB_LV },
> - {0x00d051, 0x00d06b, EGCB_LVT },
> - {0x00d06c, 0x00d06c, EGCB_LV },
> - {0x00d06d, 0x00d087, EGCB_LVT },
> - {0x00d088, 0x00d088, EGCB_LV },
> - {0x00d089, 0x00d0a3, EGCB_LVT },
> - {0x00d0a4, 0x00d0a4, EGCB_LV },
> - {0x00d0a5, 0x00d0bf, EGCB_LVT },
> - {0x00d0c0, 0x00d0c0, EGCB_LV },
> - {0x00d0c1, 0x00d0db, EGCB_LVT },
> - {0x00d0dc, 0x00d0dc, EGCB_LV },
> - {0x00d0dd, 0x00d0f7, EGCB_LVT },
> - {0x00d0f8, 0x00d0f8, EGCB_LV },
> - {0x00d0f9, 0x00d113, EGCB_LVT },
> - {0x00d114, 0x00d114, EGCB_LV },
> - {0x00d115, 0x00d12f, EGCB_LVT },
> - {0x00d130, 0x00d130, EGCB_LV },
> - {0x00d131, 0x00d14b, EGCB_LVT },
> - {0x00d14c, 0x00d14c, EGCB_LV },
> - {0x00d14d, 0x00d167, EGCB_LVT },
> - {0x00d168, 0x00d168, EGCB_LV },
> - {0x00d169, 0x00d183, EGCB_LVT },
> - {0x00d184, 0x00d184, EGCB_LV },
> - {0x00d185, 0x00d19f, EGCB_LVT },
> - {0x00d1a0, 0x00d1a0, EGCB_LV },
> - {0x00d1a1, 0x00d1bb, EGCB_LVT },
> - {0x00d1bc, 0x00d1bc, EGCB_LV },
> - {0x00d1bd, 0x00d1d7, EGCB_LVT },
> - {0x00d1d8, 0x00d1d8, EGCB_LV },
> - {0x00d1d9, 0x00d1f3, EGCB_LVT },
> - {0x00d1f4, 0x00d1f4, EGCB_LV },
> - {0x00d1f5, 0x00d20f, EGCB_LVT },
> - {0x00d210, 0x00d210, EGCB_LV },
> - {0x00d211, 0x00d22b, EGCB_LVT },
> - {0x00d22c, 0x00d22c, EGCB_LV },
> - {0x00d22d, 0x00d247, EGCB_LVT },
> - {0x00d248, 0x00d248, EGCB_LV },
> - {0x00d249, 0x00d263, EGCB_LVT },
> - {0x00d264, 0x00d264, EGCB_LV },
> - {0x00d265, 0x00d27f, EGCB_LVT },
> - {0x00d280, 0x00d280, EGCB_LV },
> - {0x00d281, 0x00d29b, EGCB_LVT },
> - {0x00d29c, 0x00d29c, EGCB_LV },
> - {0x00d29d, 0x00d2b7, EGCB_LVT },
> - {0x00d2b8, 0x00d2b8, EGCB_LV },
> - {0x00d2b9, 0x00d2d3, EGCB_LVT },
> - {0x00d2d4, 0x00d2d4, EGCB_LV },
> - {0x00d2d5, 0x00d2ef, EGCB_LVT },
> - {0x00d2f0, 0x00d2f0, EGCB_LV },
> - {0x00d2f1, 0x00d30b, EGCB_LVT },
> - {0x00d30c, 0x00d30c, EGCB_LV },
> - {0x00d30d, 0x00d327, EGCB_LVT },
> - {0x00d328, 0x00d328, EGCB_LV },
> - {0x00d329, 0x00d343, EGCB_LVT },
> - {0x00d344, 0x00d344, EGCB_LV },
> - {0x00d345, 0x00d35f, EGCB_LVT },
> - {0x00d360, 0x00d360, EGCB_LV },
> - {0x00d361, 0x00d37b, EGCB_LVT },
> - {0x00d37c, 0x00d37c, EGCB_LV },
> - {0x00d37d, 0x00d397, EGCB_LVT },
> - {0x00d398, 0x00d398, EGCB_LV },
> - {0x00d399, 0x00d3b3, EGCB_LVT },
> - {0x00d3b4, 0x00d3b4, EGCB_LV },
> - {0x00d3b5, 0x00d3cf, EGCB_LVT },
> - {0x00d3d0, 0x00d3d0, EGCB_LV },
> - {0x00d3d1, 0x00d3eb, EGCB_LVT },
> - {0x00d3ec, 0x00d3ec, EGCB_LV },
> - {0x00d3ed, 0x00d407, EGCB_LVT },
> - {0x00d408, 0x00d408, EGCB_LV },
> - {0x00d409, 0x00d423, EGCB_LVT },
> - {0x00d424, 0x00d424, EGCB_LV },
> - {0x00d425, 0x00d43f, EGCB_LVT },
> - {0x00d440, 0x00d440, EGCB_LV },
> - {0x00d441, 0x00d45b, EGCB_LVT },
> - {0x00d45c, 0x00d45c, EGCB_LV },
> - {0x00d45d, 0x00d477, EGCB_LVT },
> - {0x00d478, 0x00d478, EGCB_LV },
> - {0x00d479, 0x00d493, EGCB_LVT },
> - {0x00d494, 0x00d494, EGCB_LV },
> - {0x00d495, 0x00d4af, EGCB_LVT },
> - {0x00d4b0, 0x00d4b0, EGCB_LV },
> - {0x00d4b1, 0x00d4cb, EGCB_LVT },
> - {0x00d4cc, 0x00d4cc, EGCB_LV },
> - {0x00d4cd, 0x00d4e7, EGCB_LVT },
> - {0x00d4e8, 0x00d4e8, EGCB_LV },
> - {0x00d4e9, 0x00d503, EGCB_LVT },
> - {0x00d504, 0x00d504, EGCB_LV },
> - {0x00d505, 0x00d51f, EGCB_LVT },
> - {0x00d520, 0x00d520, EGCB_LV },
> - {0x00d521, 0x00d53b, EGCB_LVT },
> - {0x00d53c, 0x00d53c, EGCB_LV },
> - {0x00d53d, 0x00d557, EGCB_LVT },
> - {0x00d558, 0x00d558, EGCB_LV },
> - {0x00d559, 0x00d573, EGCB_LVT },
> - {0x00d574, 0x00d574, EGCB_LV },
> - {0x00d575, 0x00d58f, EGCB_LVT },
> - {0x00d590, 0x00d590, EGCB_LV },
> - {0x00d591, 0x00d5ab, EGCB_LVT },
> - {0x00d5ac, 0x00d5ac, EGCB_LV },
> - {0x00d5ad, 0x00d5c7, EGCB_LVT },
> - {0x00d5c8, 0x00d5c8, EGCB_LV },
> - {0x00d5c9, 0x00d5e3, EGCB_LVT },
> - {0x00d5e4, 0x00d5e4, EGCB_LV },
> - {0x00d5e5, 0x00d5ff, EGCB_LVT },
> - {0x00d600, 0x00d600, EGCB_LV },
> - {0x00d601, 0x00d61b, EGCB_LVT },
> - {0x00d61c, 0x00d61c, EGCB_LV },
> - {0x00d61d, 0x00d637, EGCB_LVT },
> - {0x00d638, 0x00d638, EGCB_LV },
> - {0x00d639, 0x00d653, EGCB_LVT },
> - {0x00d654, 0x00d654, EGCB_LV },
> - {0x00d655, 0x00d66f, EGCB_LVT },
> - {0x00d670, 0x00d670, EGCB_LV },
> - {0x00d671, 0x00d68b, EGCB_LVT },
> - {0x00d68c, 0x00d68c, EGCB_LV },
> - {0x00d68d, 0x00d6a7, EGCB_LVT },
> - {0x00d6a8, 0x00d6a8, EGCB_LV },
> - {0x00d6a9, 0x00d6c3, EGCB_LVT },
> - {0x00d6c4, 0x00d6c4, EGCB_LV },
> - {0x00d6c5, 0x00d6df, EGCB_LVT },
> - {0x00d6e0, 0x00d6e0, EGCB_LV },
> - {0x00d6e1, 0x00d6fb, EGCB_LVT },
> - {0x00d6fc, 0x00d6fc, EGCB_LV },
> - {0x00d6fd, 0x00d717, EGCB_LVT },
> - {0x00d718, 0x00d718, EGCB_LV },
> - {0x00d719, 0x00d733, EGCB_LVT },
> - {0x00d734, 0x00d734, EGCB_LV },
> - {0x00d735, 0x00d74f, EGCB_LVT },
> - {0x00d750, 0x00d750, EGCB_LV },
> - {0x00d751, 0x00d76b, EGCB_LVT },
> - {0x00d76c, 0x00d76c, EGCB_LV },
> - {0x00d76d, 0x00d787, EGCB_LVT },
> - {0x00d788, 0x00d788, EGCB_LV },
> - {0x00d789, 0x00d7a3, EGCB_LVT },
> - {0x00d7b0, 0x00d7c6, EGCB_V },
> - {0x00d7cb, 0x00d7fb, EGCB_T },
> - {0x00fb1e, 0x00fb1e, EGCB_Extend },
> - {0x00fe00, 0x00fe0f, EGCB_Extend },
> - {0x00fe20, 0x00fe2f, EGCB_Extend },
> - {0x00feff, 0x00feff, EGCB_Control },
> - {0x00ff9e, 0x00ff9f, EGCB_Extend },
> - {0x00fff0, 0x00fffb, EGCB_Control },
> - {0x0101fd, 0x0101fd, EGCB_Extend },
> - {0x0102e0, 0x0102e0, EGCB_Extend },
> - {0x010376, 0x01037a, EGCB_Extend },
> - {0x010a01, 0x010a03, EGCB_Extend },
> - {0x010a05, 0x010a06, EGCB_Extend },
> - {0x010a0c, 0x010a0f, EGCB_Extend },
> - {0x010a38, 0x010a3a, EGCB_Extend },
> - {0x010a3f, 0x010a3f, EGCB_Extend },
> - {0x010ae5, 0x010ae6, EGCB_Extend },
> - {0x010d24, 0x010d27, EGCB_Extend },
> - {0x010f46, 0x010f50, EGCB_Extend },
> - {0x011000, 0x011000, EGCB_SpacingMark },
> - {0x011001, 0x011001, EGCB_Extend },
> - {0x011002, 0x011002, EGCB_SpacingMark },
> - {0x011038, 0x011046, EGCB_Extend },
> - {0x01107f, 0x011081, EGCB_Extend },
> - {0x011082, 0x011082, EGCB_SpacingMark },
> - {0x0110b0, 0x0110b2, EGCB_SpacingMark },
> - {0x0110b3, 0x0110b6, EGCB_Extend },
> - {0x0110b7, 0x0110b8, EGCB_SpacingMark },
> - {0x0110b9, 0x0110ba, EGCB_Extend },
> - {0x0110bd, 0x0110bd, EGCB_Prepend },
> - {0x0110cd, 0x0110cd, EGCB_Prepend },
> - {0x011100, 0x011102, EGCB_Extend },
> - {0x011127, 0x01112b, EGCB_Extend },
> - {0x01112c, 0x01112c, EGCB_SpacingMark },
> - {0x01112d, 0x011134, EGCB_Extend },
> - {0x011145, 0x011146, EGCB_SpacingMark },
> - {0x011173, 0x011173, EGCB_Extend },
> - {0x011180, 0x011181, EGCB_Extend },
> - {0x011182, 0x011182, EGCB_SpacingMark },
> - {0x0111b3, 0x0111b5, EGCB_SpacingMark },
> - {0x0111b6, 0x0111be, EGCB_Extend },
> - {0x0111bf, 0x0111c0, EGCB_SpacingMark },
> - {0x0111c2, 0x0111c3, EGCB_Prepend },
> - {0x0111c9, 0x0111cc, EGCB_Extend },
> - {0x01122c, 0x01122e, EGCB_SpacingMark },
> - {0x01122f, 0x011231, EGCB_Extend },
> - {0x011232, 0x011233, EGCB_SpacingMark },
> - {0x011234, 0x011234, EGCB_Extend },
> - {0x011235, 0x011235, EGCB_SpacingMark },
> - {0x011236, 0x011237, EGCB_Extend },
> - {0x01123e, 0x01123e, EGCB_Extend },
> - {0x0112df, 0x0112df, EGCB_Extend },
> - {0x0112e0, 0x0112e2, EGCB_SpacingMark },
> - {0x0112e3, 0x0112ea, EGCB_Extend },
> - {0x011300, 0x011301, EGCB_Extend },
> - {0x011302, 0x011303, EGCB_SpacingMark },
> - {0x01133b, 0x01133c, EGCB_Extend },
> - {0x01133e, 0x01133e, EGCB_Extend },
> - {0x01133f, 0x01133f, EGCB_SpacingMark },
> - {0x011340, 0x011340, EGCB_Extend },
> - {0x011341, 0x011344, EGCB_SpacingMark },
> - {0x011347, 0x011348, EGCB_SpacingMark },
> - {0x01134b, 0x01134d, EGCB_SpacingMark },
> - {0x011357, 0x011357, EGCB_Extend },
> - {0x011362, 0x011363, EGCB_SpacingMark },
> - {0x011366, 0x01136c, EGCB_Extend },
> - {0x011370, 0x011374, EGCB_Extend },
> - {0x011435, 0x011437, EGCB_SpacingMark },
> - {0x011438, 0x01143f, EGCB_Extend },
> - {0x011440, 0x011441, EGCB_SpacingMark },
> - {0x011442, 0x011444, EGCB_Extend },
> - {0x011445, 0x011445, EGCB_SpacingMark },
> - {0x011446, 0x011446, EGCB_Extend },
> - {0x01145e, 0x01145e, EGCB_Extend },
> - {0x0114b0, 0x0114b0, EGCB_Extend },
> - {0x0114b1, 0x0114b2, EGCB_SpacingMark },
> - {0x0114b3, 0x0114b8, EGCB_Extend },
> - {0x0114b9, 0x0114b9, EGCB_SpacingMark },
> - {0x0114ba, 0x0114ba, EGCB_Extend },
> - {0x0114bb, 0x0114bc, EGCB_SpacingMark },
> - {0x0114bd, 0x0114bd, EGCB_Extend },
> - {0x0114be, 0x0114be, EGCB_SpacingMark },
> - {0x0114bf, 0x0114c0, EGCB_Extend },
> - {0x0114c1, 0x0114c1, EGCB_SpacingMark },
> - {0x0114c2, 0x0114c3, EGCB_Extend },
> - {0x0115af, 0x0115af, EGCB_Extend },
> - {0x0115b0, 0x0115b1, EGCB_SpacingMark },
> - {0x0115b2, 0x0115b5, EGCB_Extend },
> - {0x0115b8, 0x0115bb, EGCB_SpacingMark },
> - {0x0115bc, 0x0115bd, EGCB_Extend },
> - {0x0115be, 0x0115be, EGCB_SpacingMark },
> - {0x0115bf, 0x0115c0, EGCB_Extend },
> - {0x0115dc, 0x0115dd, EGCB_Extend },
> - {0x011630, 0x011632, EGCB_SpacingMark },
> - {0x011633, 0x01163a, EGCB_Extend },
> - {0x01163b, 0x01163c, EGCB_SpacingMark },
> - {0x01163d, 0x01163d, EGCB_Extend },
> - {0x01163e, 0x01163e, EGCB_SpacingMark },
> - {0x01163f, 0x011640, EGCB_Extend },
> - {0x0116ab, 0x0116ab, EGCB_Extend },
> - {0x0116ac, 0x0116ac, EGCB_SpacingMark },
> - {0x0116ad, 0x0116ad, EGCB_Extend },
> - {0x0116ae, 0x0116af, EGCB_SpacingMark },
> - {0x0116b0, 0x0116b5, EGCB_Extend },
> - {0x0116b6, 0x0116b6, EGCB_SpacingMark },
> - {0x0116b7, 0x0116b7, EGCB_Extend },
> - {0x01171d, 0x01171f, EGCB_Extend },
> - {0x011720, 0x011721, EGCB_SpacingMark },
> - {0x011722, 0x011725, EGCB_Extend },
> - {0x011726, 0x011726, EGCB_SpacingMark },
> - {0x011727, 0x01172b, EGCB_Extend },
> - {0x01182c, 0x01182e, EGCB_SpacingMark },
> - {0x01182f, 0x011837, EGCB_Extend },
> - {0x011838, 0x011838, EGCB_SpacingMark },
> - {0x011839, 0x01183a, EGCB_Extend },
> - {0x0119d1, 0x0119d3, EGCB_SpacingMark },
> - {0x0119d4, 0x0119d7, EGCB_Extend },
> - {0x0119da, 0x0119db, EGCB_Extend },
> - {0x0119dc, 0x0119df, EGCB_SpacingMark },
> - {0x0119e0, 0x0119e0, EGCB_Extend },
> - {0x0119e4, 0x0119e4, EGCB_SpacingMark },
> - {0x011a01, 0x011a0a, EGCB_Extend },
> - {0x011a33, 0x011a38, EGCB_Extend },
> - {0x011a39, 0x011a39, EGCB_SpacingMark },
> - {0x011a3a, 0x011a3a, EGCB_Prepend },
> - {0x011a3b, 0x011a3e, EGCB_Extend },
> - {0x011a47, 0x011a47, EGCB_Extend },
> - {0x011a51, 0x011a56, EGCB_Extend },
> - {0x011a57, 0x011a58, EGCB_SpacingMark },
> - {0x011a59, 0x011a5b, EGCB_Extend },
> - {0x011a84, 0x011a89, EGCB_Prepend },
> - {0x011a8a, 0x011a96, EGCB_Extend },
> - {0x011a97, 0x011a97, EGCB_SpacingMark },
> - {0x011a98, 0x011a99, EGCB_Extend },
> - {0x011c2f, 0x011c2f, EGCB_SpacingMark },
> - {0x011c30, 0x011c36, EGCB_Extend },
> - {0x011c38, 0x011c3d, EGCB_Extend },
> - {0x011c3e, 0x011c3e, EGCB_SpacingMark },
> - {0x011c3f, 0x011c3f, EGCB_Extend },
> - {0x011c92, 0x011ca7, EGCB_Extend },
> - {0x011ca9, 0x011ca9, EGCB_SpacingMark },
> - {0x011caa, 0x011cb0, EGCB_Extend },
> - {0x011cb1, 0x011cb1, EGCB_SpacingMark },
> - {0x011cb2, 0x011cb3, EGCB_Extend },
> - {0x011cb4, 0x011cb4, EGCB_SpacingMark },
> - {0x011cb5, 0x011cb6, EGCB_Extend },
> - {0x011d31, 0x011d36, EGCB_Extend },
> - {0x011d3a, 0x011d3a, EGCB_Extend },
> - {0x011d3c, 0x011d3d, EGCB_Extend },
> - {0x011d3f, 0x011d45, EGCB_Extend },
> - {0x011d46, 0x011d46, EGCB_Prepend },
> - {0x011d47, 0x011d47, EGCB_Extend },
> - {0x011d8a, 0x011d8e, EGCB_SpacingMark },
> - {0x011d90, 0x011d91, EGCB_Extend },
> - {0x011d93, 0x011d94, EGCB_SpacingMark },
> - {0x011d95, 0x011d95, EGCB_Extend },
> - {0x011d96, 0x011d96, EGCB_SpacingMark },
> - {0x011d97, 0x011d97, EGCB_Extend },
> - {0x011ef3, 0x011ef4, EGCB_Extend },
> - {0x011ef5, 0x011ef6, EGCB_SpacingMark },
> - {0x013430, 0x013438, EGCB_Control },
> - {0x016af0, 0x016af4, EGCB_Extend },
> - {0x016b30, 0x016b36, EGCB_Extend },
> - {0x016f4f, 0x016f4f, EGCB_Extend },
> - {0x016f51, 0x016f87, EGCB_SpacingMark },
> - {0x016f8f, 0x016f92, EGCB_Extend },
> - {0x01bc9d, 0x01bc9e, EGCB_Extend },
> - {0x01bca0, 0x01bca3, EGCB_Control },
> - {0x01d165, 0x01d165, EGCB_Extend },
> - {0x01d166, 0x01d166, EGCB_SpacingMark },
> - {0x01d167, 0x01d169, EGCB_Extend },
> - {0x01d16d, 0x01d16d, EGCB_SpacingMark },
> - {0x01d16e, 0x01d172, EGCB_Extend },
> - {0x01d173, 0x01d17a, EGCB_Control },
> - {0x01d17b, 0x01d182, EGCB_Extend },
> - {0x01d185, 0x01d18b, EGCB_Extend },
> - {0x01d1aa, 0x01d1ad, EGCB_Extend },
> - {0x01d242, 0x01d244, EGCB_Extend },
> - {0x01da00, 0x01da36, EGCB_Extend },
> - {0x01da3b, 0x01da6c, EGCB_Extend },
> - {0x01da75, 0x01da75, EGCB_Extend },
> - {0x01da84, 0x01da84, EGCB_Extend },
> - {0x01da9b, 0x01da9f, EGCB_Extend },
> - {0x01daa1, 0x01daaf, EGCB_Extend },
> - {0x01e000, 0x01e006, EGCB_Extend },
> - {0x01e008, 0x01e018, EGCB_Extend },
> - {0x01e01b, 0x01e021, EGCB_Extend },
> - {0x01e023, 0x01e024, EGCB_Extend },
> - {0x01e026, 0x01e02a, EGCB_Extend },
> - {0x01e130, 0x01e136, EGCB_Extend },
> - {0x01e2ec, 0x01e2ef, EGCB_Extend },
> - {0x01e8d0, 0x01e8d6, EGCB_Extend },
> - {0x01e944, 0x01e94a, EGCB_Extend },
> - {0x01f1e6, 0x01f1ff, EGCB_Regional_Indicator },
> - {0x01f3fb, 0x01f3ff, EGCB_Extend },
> - {0x0e0000, 0x0e001f, EGCB_Control },
> - {0x0e0020, 0x0e007f, EGCB_Extend },
> - {0x0e0080, 0x0e00ff, EGCB_Control },
> - {0x0e0100, 0x0e01ef, EGCB_Extend },
> - {0x0e01f0, 0x0e0fff, EGCB_Control }
> -};
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fol
> d1_key.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fo
> ld1_key.c
> deleted file mode 100644
> index 0aa54ee172b2..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fol
> d1_key.c
> +++ /dev/null
> @@ -1,2995 +0,0 @@
> -/* This file was converted by gperf_fold_key_conv.py
> -      from gperf output file. */
> -/* ANSI-C code produced by gperf version 3.1 */
> -/* Command-line: /usr/local/bin/gperf -n -C -T -c -t -j1 -L ANSI-C -F,-1 -N
> onigenc_unicode_fold1_key unicode_fold1_key.gperf  */
> -/* Computed positions: -k'1-3' */
> -
> -
> -
> -/* This gperf source file was generated by make_unicode_fold_data.py */
> -
> -/*-
> - * Copyright (c) 2017-2018  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -//#include <string.h>
> -#include "regenc.h"
> -
> -#define TOTAL_KEYWORDS 1353
> -#define MIN_WORD_LENGTH 3
> -#define MAX_WORD_LENGTH 3
> -#define MIN_HASH_VALUE 3
> -#define MAX_HASH_VALUE 1791
> -/* maximum key range = 1789, duplicates = 0 */
> -
> -#ifdef __GNUC__
> -__inline
> -#else
> -#ifdef __cplusplus
> -inline
> -#endif
> -#endif
> -/*ARGSUSED*/
> -static unsigned int
> -hash(OnigCodePoint codes[])
> -{
> -  static const unsigned short asso_values[] =
> -    {
> -         4,    2,  147,   16,    1,   13, 1228,  725, 1224,  638,
> -      1204,   95,    9,   82, 1403,   80,    8,   68, 1391,    6,
> -      1203,  602, 1200,  320,  151,   67, 1385,   61, 1384,  158,
> -         0,   11, 1252,    3,  733,  278,   23,  425,  660,  424,
> -       640,   20,  635,  105,    5,   29,  916,   34,  630,    0,
> -       906, 1378,  899, 1377,  470, 1363,  623,  902,  610,  230,
> -      1193, 1358, 1190,  779,  986, 1336,  890,  883,  456,  597,
> -       285,  158,  590,  477,  583,   42,  576, 1447,  447, 1440,
> -       440, 1353,  426, 1429,  400, 1417,  327, 1407,  567, 1389,
> -       386, 1207,  458,  724,  854,  979, 1016,   66,  232,  413,
> -       204, 1431,  226, 1317,  190, 1167,  379, 1319,  198, 1270,
> -       175,  209,  561,  362,  528, 1323,  257, 1099,  240, 1309,
> -       508, 1172,  484, 1306,  699,  865,  850,  488,  679,  755,
> -       420,  639, 1149,  105,  691,  789, 1125,   46,  809,  652,
> -      1293,    3, 1262,  166, 1426,    0, 1424, 1792, 1220,  460,
> -       706,    1,  367, 1792, 1341, 1792, 1151,   56, 1235, 1792,
> -       384,  345,  965,   40, 1168,   33,  218,  180, 1159,   20,
> -      1296,  276, 1243,   14, 1401,  777, 1142,  682, 1284,  129,
> -      1135,  610, 1181,  871, 1123,  858, 1042,  510,  842,  499,
> -       999,  346,  830,    0,  823, 1288, 1115,  768,  732, 1272,
> -      1101, 1098, 1082, 1270,  811,  177, 1078, 1074, 1061, 1058,
> -      1050,  789,  353, 1018,  548, 1006,  517,  988,  334,  765,
> -       166,  753,  138,  743,  100,  969,   87,  720,   49,  975,
> -        75,  965,   62,  411,  126,  955,  113, 1262,  317,  943,
> -       304,  679,  293, 1252,  714,  937,  275,  490,  263,  469,
> -       395, 1345,  931,  208,  921,   80,  542,   11,  246
> -    };
> -  return asso_values[(unsigned char)onig_codes_byte_at(codes, 2)+3] +
> asso_values[(unsigned char)onig_codes_byte_at(codes, 1)] +
> asso_values[(unsigned char)onig_codes_byte_at(codes, 0)];
> -}
> -
> -int
> -onigenc_unicode_fold1_key(OnigCodePoint codes[])
> -{
> -  static const short int wordlist[] =
> -    {
> -      -1, -1, -1,
> -
> -      3429,
> -
> -      1906,
> -
> -      1867,
> -
> -      210,
> -
> -      171,
> -
> -      3414,
> -
> -      1927,
> -
> -      1690,
> -
> -      231,
> -
> -      1885,
> -
> -      1879,
> -
> -      189,
> -
> -      183,
> -
> -      2240,
> -
> -      1315,
> -
> -      1276,
> -
> -      165,
> -
> -      792,
> -
> -      2261,
> -
> -      1336,
> -
> -      1594,
> -
> -      1630,
> -
> -      1294,
> -
> -      1288,
> -
> -      1915,
> -
> -      2243,
> -
> -      219,
> -
> -      1618,
> -
> -      2237,
> -
> -      3417,
> -
> -      2981,
> -
> -      2903,
> -
> -      2297,
> -
> -      2990,
> -
> -      3423,
> -
> -      2282,
> -
> -      2948,
> -
> -      1324,
> -
> -      2939,
> -
> -      2927,
> -
> -      1606,
> -
> -      2984,
> -
> -      3507,
> -
> -      2906,
> -
> -      974,
> -
> -      273,
> -
> -      2900,
> -
> -      1600,
> -
> -      2648,
> -
> -      3558,
> -
> -      2189,
> -
> -      1228,
> -
> -      459,
> -
> -      2999,
> -
> -      80,
> -
> -      2885,
> -
> -      1795,
> -
> -      3738,
> -
> -      1513,
> -
> -      378,
> -
> -      1459,
> -
> -      2438,
> -
> -      3570,
> -
> -      2195,
> -
> -      1234,
> -
> -      465,
> -
> -      860,
> -
> -      92,
> -
> -      1041,
> -
> -      1807,
> -
> -      3750,
> -
> -      1525,
> -
> -      2714,
> -
> -      2549,
> -
> -      2441,
> -
> -      3564,
> -
> -      2192,
> -
> -      1231,
> -
> -      462,
> -
> -      866,
> -
> -      86,
> -
> -      2888,
> -
> -      1801,
> -
> -      3744,
> -
> -      1519,
> -
> -      159,
> -
> -      2561,
> -
> -      3552,
> -
> -      2186,
> -
> -      1225,
> -
> -      456,
> -
> -      2972,
> -
> -      863,
> -
> -      2882,
> -
> -      1789,
> -
> -      3732,
> -
> -      1507,
> -
> -      2966,
> -
> -      2942,
> -
> -      2555,
> -
> -      3546,
> -
> -      2183,
> -
> -      1222,
> -
> -      453,
> -
> -      857,
> -
> -      3411,
> -
> -      2879,
> -
> -      1783,
> -
> -      3726,
> -
> -      1501,
> -
> -      2936,
> -
> -      2543,
> -
> -      2930,
> -
> -      3582,
> -
> -      2201,
> -
> -      1240,
> -
> -      471,
> -
> -      854,
> -
> -      105,
> -
> -      1447,
> -
> -      1819,
> -
> -      3762,
> -
> -      1537,
> -
> -      3354,
> -
> -      2537,
> -
> -      2924,
> -
> -      3576,
> -
> -      2198,
> -
> -      1237,
> -
> -      468,
> -
> -      872,
> -
> -      99,
> -
> -      399,
> -
> -      1813,
> -
> -      3756,
> -
> -      1531,
> -
> -      1648,
> -
> -      2573,
> -
> -      3540,
> -
> -      2180,
> -
> -      1219,
> -
> -      2423,
> -      -1,
> -
> -      869,
> -
> -      2876,
> -
> -      1777,
> -
> -      3720,
> -
> -      1495,
> -
> -      541,
> -
> -      502,
> -
> -      2567,
> -
> -      697,
> -
> -      1897,
> -
> -      559,
> -
> -      201,
> -
> -      851,
> -
> -      520,
> -
> -      514,
> -
> -      3495,
> -
> -      1864,
> -
> -      962,
> -
> -      267,
> -
> -      2531,
> -
> -      2276,
> -
> -      2636,
> -
> -      1306,
> -
> -      3534,
> -
> -      2177,
> -
> -      1216,
> -
> -      366,
> -
> -      2339,
> -      -1,
> -
> -      2873,
> -
> -      1771,
> -
> -      3714,
> -
> -      1489,
> -
> -      2027,
> -
> -      1063,
> -
> -      324,
> -
> -      1192,
> -
> -      27,
> -
> -      2963,
> -
> -      3276,
> -
> -      848,
> -
> -      1726,
> -
> -      3669,
> -
> -      3141,
> -
> -      1612,
> -
> -      2978,
> -
> -      1378,
> -
> -      2525,
> -
> -      2018,
> -
> -      1054,
> -
> -      315,
> -
> -      830,
> -
> -      12,
> -
> -      2720,
> -      -1, -1,
> -
> -      2024,
> -
> -      1060,
> -
> -      321,
> -
> -      2372,
> -
> -      4086,
> -
> -      1360,
> -
> -      2011,
> -
> -      1047,
> -
> -      309,
> -
> -      3633,
> -
> -      0,
> -
> -      2717,
> -      -1,
> -
> -      1372,
> -
> -      153,
> -
> -      31,
> -
> -      2732,
> -
> -      2360,
> -
> -      1588,
> -
> -      1348,
> -
> -      2096,
> -
> -      1135,
> -
> -      387,
> -      -1,
> -
> -      1381,
> -
> -      2792,
> -
> -      1609,
> -      -1,
> -
> -      2015,
> -
> -      1050,
> -
> -      312,
> -
> -      3459,
> -
> -      6,
> -
> -      922,
> -
> -      2008,
> -
> -      1044,
> -
> -      306,
> -
> -      2600,
> -
> -      3885,
> -
> -      2366,
> -
> -      3342,
> -
> -      1354,
> -
> -      2039,
> -
> -      1075,
> -
> -      336,
> -
> -      2456,
> -
> -      52,
> -
> -      2735,
> -
> -      2234,
> -
> -      1273,
> -
> -      499,
> -
> -      3879,
> -
> -      168,
> -
> -      2390,
> -
> -      682,
> -
> -      1402,
> -
> -      1597,
> -      -1,
> -
> -      718,
> -
> -      2036,
> -
> -      1072,
> -
> -      333,
> -
> -      2450,
> -
> -      46,
> -
> -      3618,
> -
> -      2219,
> -
> -      1258,
> -
> -      487,
> -      -1,
> -
> -      141,
> -
> -      2384,
> -
> -      1855,
> -
> -      1396,
> -
> -      1573,
> -      -1,
> -
> -      715,
> -
> -      3612,
> -
> -      2216,
> -
> -      1255,
> -
> -      483,
> -
> -      393,
> -
> -      135,
> -
> -      2897,
> -
> -      1849,
> -
> -      1624,
> -
> -      1567,
> -
> -      3492,
> -
> -      1966,
> -
> -      959,
> -
> -      3873,
> -      -1,
> -
> -      2279,
> -
> -      2633,
> -
> -      887,
> -
> -      3600,
> -
> -      2210,
> -
> -      1249,
> -
> -      480,
> -
> -      2336,
> -
> -      123,
> -
> -      532,
> -
> -      1837,
> -
> -      3780,
> -
> -      1555,
> -      -1,
> -
> -      3594,
> -
> -      2207,
> -
> -      1246,
> -
> -      477,
> -
> -      2996,
> -
> -      117,
> -
> -      881,
> -
> -      1831,
> -
> -      3774,
> -
> -      1549,
> -
> -      703,
> -      -1,
> -
> -      3867,
> -
> -      3588,
> -
> -      2204,
> -
> -      1243,
> -
> -      474,
> -
> -      878,
> -
> -      111,
> -
> -      658,
> -
> -      1825,
> -
> -      3768,
> -
> -      1543,
> -
> -      3822,
> -
> -      1990,
> -
> -      1008,
> -
> -      288,
> -      -1,
> -
> -      2273,
> -
> -      2681,
> -
> -      875,
> -
> -      2174,
> -
> -      1213,
> -      -1,
> -
> -      643,
> -
> -      2348,
> -
> -      2870,
> -
> -      1765,
> -
> -      3708,
> -
> -      1483,
> -      -1, -1,
> -
> -      652,
> -
> -      3267,
> -
> -      381,
> -
> -      3921,
> -
> -      2960,
> -
> -      845,
> -
> -      637,
> -
> -      1684,
> -
> -      2165,
> -
> -      1204,
> -
> -      3237,
> -
> -      661,
> -
> -      2519,
> -
> -      2861,
> -
> -      1747,
> -
> -      3690,
> -
> -      1465,
> -
> -      785,
> -
> -      3903,
> -
> -      2432,
> -
> -      3339,
> -
> -      37,
> -
> -      2090,
> -
> -      1114,
> -
> -      372,
> -
> -      3228,
> -
> -      3915,
> -
> -      2771,
> -
> -      640,
> -      -1,
> -
> -      1387,
> -
> -      2501,
> -
> -      3891,
> -
> -      3234,
> -
> -      2021,
> -
> -      1057,
> -
> -      318,
> -
> -      3924,
> -
> -      18,
> -
> -      3222,
> -
> -      1126,
> -
> -      1996,
> -
> -      1020,
> -
> -      294,
> -
> -      2783,
> -
> -      2378,
> -
> -      2693,
> -
> -      1366,
> -
> -      3084,
> -
> -      3624,
> -
> -      2222,
> -
> -      1261,
> -
> -      2354,
> -
> -      3297,
> -
> -      3897,
> -
> -      1987,
> -
> -      1002,
> -
> -      285,
> -
> -      1579,
> -
> -      667,
> -
> -      2675,
> -
> -      3225,
> -
> -      3387,
> -
> -      3075,
> -
> -      4020,
> -
> -      3573,
> -
> -      2345,
> -
> -      3219,
> -
> -      3945,
> -
> -      4005,
> -
> -      96,
> -
> -      3081,
> -
> -      1810,
> -
> -      3753,
> -
> -      1528,
> -
> -      2057,
> -
> -      1093,
> -
> -      3069,
> -
> -      2492,
> -
> -      2357,
> -
> -      3528,
> -
> -      1984,
> -
> -      996,
> -
> -      282,
> -
> -      3996,
> -
> -      3939,
> -
> -      2669,
> -      -1,
> -
> -      1438,
> -
> -      2564,
> -
> -      2291,
> -
> -      2285,
> -      -1,
> -
> -      4008,
> -
> -      3522,
> -
> -      1981,
> -
> -      990,
> -
> -      279,
> -
> -      4014,
> -
> -      3072,
> -
> -      2663,
> -
> -      3516,
> -
> -      1978,
> -
> -      984,
> -
> -      276,
> -
> -      3066,
> -      -1,
> -
> -      2657,
> -
> -      3008,
> -
> -      3002,
> -
> -      3486,
> -
> -      1963,
> -
> -      950,
> -
> -      1999,
> -
> -      1026,
> -
> -      297,
> -
> -      2627,
> -
> -      369,
> -
> -      2699,
> -      -1,
> -
> -      3177,
> -
> -      3399,
> -
> -      2330,
> -
> -      3621,
> -
> -      3444,
> -
> -      1942,
> -
> -      906,
> -
> -      243,
> -
> -      144,
> -
> -      613,
> -
> -      2585,
> -
> -      3501,
> -
> -      1576,
> -
> -      968,
> -
> -      270,
> -
> -      3381,
> -
> -      2312,
> -
> -      2642,
> -
> -      3861,
> -
> -      2045,
> -
> -      1081,
> -
> -      342,
> -
> -      2468,
> -
> -      65,
> -
> -      3615,
> -
> -      348,
> -
> -      2483,
> -
> -      712,
> -      -1,
> -
> -      138,
> -
> -      2402,
> -
> -      1852,
> -
> -      1414,
> -
> -      1570,
> -
> -      2417,
> -
> -      721,
> -
> -      1429,
> -
> -      3843,
> -
> -      3023,
> -
> -      727,
> -
> -      1678,
> -
> -      3375,
> -
> -      3201,
> -
> -      2042,
> -
> -      1078,
> -
> -      339,
> -
> -      2462,
> -
> -      59,
> -      -1,
> -
> -      4002,
> -
> -      778,
> -
> -      1672,
> -
> -      2171,
> -
> -      1210,
> -
> -      2396,
> -
> -      3369,
> -
> -      1408,
> -
> -      2867,
> -
> -      1759,
> -
> -      3702,
> -
> -      1477,
> -
> -      768,
> -
> -      3363,
> -
> -      2033,
> -
> -      1069,
> -
> -      330,
> -
> -      709,
> -
> -      40,
> -
> -      622,
> -      -1,
> -
> -      3930,
> -
> -      3333,
> -      -1,
> -
> -      3405,
> -      -1,
> -
> -      2513,
> -
> -      1390,
> -
> -      2231,
> -
> -      1270,
> -
> -      496,
> -
> -      3048,
> -
> -      162,
> -
> -      607,
> -
> -      2168,
> -
> -      1207,
> -
> -      1591,
> -      -1,
> -
> -      3909,
> -
> -      2864,
> -
> -      1753,
> -
> -      3696,
> -
> -      1471,
> -
> -      3348,
> -      -1,
> -
> -      3231,
> -
> -      634,
> -
> -      2030,
> -
> -      1066,
> -
> -      327,
> -
> -      3288,
> -
> -      34,
> -
> -      3207,
> -
> -      1993,
> -
> -      1014,
> -
> -      291,
> -      -1,
> -
> -      2507,
> -
> -      2687,
> -
> -      601,
> -
> -      1384,
> -
> -      3510,
> -
> -      1975,
> -
> -      977,
> -
> -      2351,
> -      -1,
> -
> -      3198,
> -
> -      2651,
> -
> -      3504,
> -
> -      1972,
> -
> -      971,
> -
> -      3120,
> -
> -      3888,
> -
> -      598,
> -
> -      2645,
> -
> -      3498,
> -
> -      1969,
> -
> -      965,
> -      -1,
> -
> -      3981,
> -
> -      595,
> -
> -      2639,
> -
> -      3489,
> -
> -      3078,
> -
> -      954,
> -
> -      264,
> -
> -      3252,
> -
> -      2342,
> -
> -      2630,
> -
> -      3330,
> -
> -      3054,
> -
> -      625,
> -
> -      3195,
> -
> -      706,
> -
> -      2333,
> -
> -      3456,
> -
> -      1948,
> -
> -      919,
> -
> -      249,
> -
> -      2267,
> -      -1,
> -
> -      2597,
> -
> -      1654,
> -
> -      574,
> -
> -      3045,
> -      -1,
> -
> -      3192,
> -
> -      2324,
> -
> -      3450,
> -
> -      1945,
> -
> -      913,
> -
> -      246,
> -
> -      748,
> -
> -      3189,
> -
> -      2591,
> -
> -      3426,
> -
> -      1933,
> -
> -      2954,
> -
> -      237,
> -      -1,
> -
> -      2318,
> -
> -      1924,
> -
> -      3174,
> -
> -      228,
> -
> -      3210,
> -
> -      4050,
> -
> -      1921,
> -
> -      354,
> -
> -      225,
> -
> -      1342,
> -
> -      3042,
> -      -1,
> -
> -      2300,
> -
> -      3393,
> -
> -      1333,
> -
> -      2255,
> -
> -      3153,
> -
> -      2294,
> -
> -      1441,
> -
> -      1330,
> -
> -      363,
> -
> -      673,
> -
> -      3357,
> -
> -      3957,
> -
> -      3039,
> -
> -      3017,
> -
> -      1918,
> -
> -      3972,
> -
> -      222,
> -
> -      3351,
> -
> -      3014,
> -
> -      3035,
> -
> -      3855,
> -
> -      2918,
> -
> -      3249,
> -
> -      3011,
> -
> -      3345,
> -
> -      2288,
> -      -1,
> -
> -      1327,
> -
> -      3020,
> -
> -      664,
> -
> -      3057,
> -
> -      3336,
> -
> -      3597,
> -
> -      2054,
> -
> -      1090,
> -
> -      3951,
> -
> -      2486,
> -
> -      120,
> -
> -      2894,
> -
> -      1834,
> -
> -      3777,
> -
> -      1552,
> -
> -      1642,
> -
> -      3005,
> -
> -      2420,
> -
> -      2063,
> -
> -      1432,
> -
> -      357,
> -
> -      4083,
> -
> -      730,
> -
> -      2744,
> -
> -      3849,
> -
> -      739,
> -
> -      2048,
> -
> -      1084,
> -
> -      3933,
> -
> -      2474,
> -
> -      71,
> -
> -      1450,
> -      -1,
> -
> -      2087,
> -
> -      1111,
> -
> -      3243,
> -      -1,
> -
> -      2408,
> -
> -      2768,
> -
> -      1420,
> -
> -      3606,
> -
> -      2213,
> -
> -      1252,
> -      -1, -1,
> -
> -      129,
> -
> -      3555,
> -
> -      1843,
> -
> -      3786,
> -
> -      1561,
> -
> -      592,
> -
> -      77,
> -
> -      1029,
> -
> -      1792,
> -
> -      3735,
> -
> -      1510,
> -
> -      2702,
> -
> -      589,
> -
> -      2435,
> -
> -      2144,
> -
> -      1912,
> -
> -      3927,
> -
> -      216,
> -
> -      2249,
> -
> -      2840,
> -
> -      1705,
> -
> -      3648,
> -      -1,
> -
> -      3240,
> -
> -      3543,
> -
> -      2546,
> -
> -      586,
> -
> -      450,
> -
> -      1321,
> -
> -      3204,
> -
> -      806,
> -
> -      1780,
> -
> -      3723,
> -
> -      1498,
> -
> -      3537,
> -      -1,
> -
> -      2912,
> -
> -      447,
> -
> -      3186,
> -
> -      351,
> -
> -      2489,
> -
> -      1774,
> -
> -      3717,
> -
> -      1492,
> -
> -      2993,
> -
> -      3183,
> -
> -      3531,
> -      -1,
> -
> -      2534,
> -
> -      444,
> -
> -      1435,
> -
> -      1180,
> -
> -      3180,
> -
> -      1768,
> -
> -      3711,
> -
> -      1486,
> -
> -      1702,
> -
> -      3645,
> -
> -      2528,
> -
> -      565,
> -
> -      3471,
> -
> -      3087,
> -
> -      934,
> -
> -      255,
> -
> -      556,
> -
> -      1636,
> -
> -      2612,
> -
> -      3051,
> -
> -      679,
> -
> -      553,
> -
> -      2522,
> -      -1,
> -
> -      3159,
> -
> -      432,
> -
> -      2495,
> -
> -      733,
> -
> -      3032,
> -
> -      1744,
> -
> -      3687,
> -
> -      1462,
> -      -1,
> -
> -      691,
> -
> -      2429,
> -
> -      3029,
> -
> -      1453,
> -
> -      3156,
> -
> -      3408,
> -      -1, -1,
> -
> -      550,
> -
> -      3026,
> -
> -      2069,
> -
> -      3147,
> -
> -      2153,
> -
> -      2498,
> -
> -      421,
> -
> -      2750,
> -
> -      3138,
> -
> -      2849,
> -
> -      1723,
> -
> -      3666,
> -      -1,
> -
> -      3135,
> -      -1, -1,
> -
> -      2138,
> -
> -      1177,
> -
> -      414,
> -
> -      676,
> -
> -      826,
> -
> -      2834,
> -
> -      1693,
> -
> -      2135,
> -
> -      1174,
> -
> -      411,
> -
> -      3990,
> -
> -      3984,
> -
> -      2831,
> -
> -      1687,
> -
> -      1861,
> -
> -      685,
> -
> -      795,
> -
> -      3132,
> -      -1,
> -
> -      2129,
> -
> -      1168,
> -
> -      408,
> -      -1,
> -
> -      789,
> -
> -      2825,
> -
> -      1675,
> -      -1,
> -
> -      2051,
> -
> -      1087,
> -
> -      3975,
> -
> -      2480,
> -
> -      2002,
> -
> -      1032,
> -
> -      300,
> -
> -      1858,
> -
> -      773,
> -
> -      2705,
> -
> -      405,
> -
> -      2414,
> -      -1,
> -
> -      1426,
> -
> -      1666,
> -
> -      4077,
> -
> -      724,
> -
> -      345,
> -
> -      2477,
> -
> -      74,
> -      -1,
> -
> -      3258,
> -
> -      3963,
> -
> -      402,
> -
> -      762,
> -      -1,
> -
> -      2411,
> -
> -      1660,
> -
> -      1423,
> -
> -      4035,
> -
> -      547,
> -
> -      3801,
> -
> -      3483,
> -      -1,
> -
> -      947,
> -
> -      261,
> -
> -      3273,
> -
> -      755,
> -
> -      2624,
> -
> -      3480,
> -
> -      1960,
> -
> -      944,
> -
> -      3876,
> -      -1,
> -
> -      2327,
> -
> -      2621,
> -      -1, -1,
> -
> -      3438,
> -
> -      1939,
> -
> -      899,
> -
> -      3453,
> -
> -      3870,
> -
> -      916,
> -
> -      2579,
> -
> -      3432,
> -
> -      1936,
> -
> -      2594,
> -
> -      240,
> -
> -      3093,
> -
> -      2306,
> -      -1,
> -
> -      3327,
> -
> -      2321,
> -
> -      3864,
> -
> -      3420,
> -
> -      1930,
> -
> -      3798,
> -
> -      234,
> -
> -      1345,
> -
> -      3636,
> -
> -      2228,
> -
> -      1267,
> -
> -      493,
> -
> -      3117,
> -
> -      156,
> -
> -      577,
> -      -1,
> -
> -      3978,
> -
> -      1339,
> -
> -      3630,
> -
> -      2225,
> -
> -      1264,
> -
> -      490,
> -      -1,
> -
> -      150,
> -
> -      3609,
> -
> -      893,
> -
> -      3840,
> -
> -      1585,
> -      -1,
> -
> -      132,
> -
> -      3591,
> -
> -      1846,
> -
> -      3789,
> -
> -      1564,
> -      -1,
> -
> -      114,
> -
> -      2891,
> -
> -      1828,
> -
> -      3771,
> -
> -      1546,
> -      -1,
> -
> -      884,
> -
> -      3579,
> -      -1,
> -
> -      688,
> -      -1, -1,
> -
> -      102,
> -
> -      3819,
> -
> -      1816,
> -
> -      3759,
> -
> -      1534,
> -
> -      3567,
> -      -1,
> -
> -      1129,
> -      -1,
> -
> -      3549,
> -
> -      89,
> -
> -      2786,
> -
> -      1804,
> -
> -      3747,
> -
> -      1522,
> -
> -      3561,
> -
> -      1786,
> -
> -      3729,
> -
> -      1504,
> -
> -      2570,
> -
> -      83,
> -
> -      1035,
> -
> -      1798,
> -
> -      3741,
> -
> -      1516,
> -
> -      2708,
> -
> -      3474,
> -
> -      1957,
> -
> -      937,
> -
> -      2558,
> -
> -      3264,
> -
> -      441,
> -
> -      2615,
> -
> -      2540,
> -      -1,
> -
> -      1762,
> -
> -      3705,
> -
> -      1480,
> -      -1,
> -
> -      2552,
> -
> -      2132,
> -
> -      1171,
> -
> -      628,
> -      -1,
> -
> -      3324,
> -
> -      2828,
> -
> -      1681,
> -
> -      4080,
> -      -1,
> -
> -      438,
> -      -1,
> -
> -      3321,
> -
> -      2516,
> -
> -      1756,
> -
> -      3699,
> -
> -      1474,
> -
> -      782,
> -
> -      2005,
> -
> -      1038,
> -
> -      303,
> -
> -      4047,
> -
> -      435,
> -
> -      2711,
> -
> -      3315,
> -
> -      3969,
> -
> -      1750,
> -
> -      3693,
> -
> -      1468,
> -
> -      3099,
> -      -1,
> -
> -      2510,
> -
> -      583,
> -      -1,
> -
> -      4041,
> -      -1,
> -
> -      3213,
> -      -1, -1,
> -
> -      580,
> -
> -      3966,
> -
> -      4017,
> -      -1,
> -
> -      2504,
> -
> -      2126,
> -
> -      1165,
> -
> -      3999,
> -
> -      3246,
> -
> -      571,
> -
> -      2822,
> -
> -      1669,
> -
> -      3993,
> -
> -      2162,
> -
> -      1201,
> -      -1,
> -
> -      568,
> -      -1,
> -
> -      2858,
> -
> -      1741,
> -
> -      3684,
> -
> -      765,
> -
> -      1198,
> -
> -      429,
> -
> -      2159,
> -      -1,
> -
> -      562,
> -
> -      1738,
> -
> -      3681,
> -
> -      2855,
> -
> -      1735,
> -
> -      3678,
> -
> -      3987,
> -
> -      3171,
> -      -1,
> -
> -      3060,
> -      -1,
> -
> -      842,
> -
> -      1195,
> -
> -      425,
> -
> -      839,
> -
> -      2156,
> -      -1,
> -
> -      1732,
> -
> -      3675,
> -
> -      2150,
> -
> -      2852,
> -
> -      1729,
> -
> -      3672,
> -
> -      3150,
> -
> -      2846,
> -
> -      1717,
> -
> -      3660,
> -
> -      836,
> -      -1, -1, -1,
> -
> -      833,
> -      -1,
> -
> -      3144,
> -      -1,
> -
> -      820,
> -
> -      1186,
> -
> -      417,
> -
> -      2147,
> -
> -      2453,
> -
> -      49,
> -
> -      1714,
> -
> -      3657,
> -
> -      2843,
> -
> -      1711,
> -
> -      3654,
> -      -1,
> -
> -      2387,
> -      -1,
> -
> -      1399,
> -      -1,
> -
> -      816,
> -
> -      2141,
> -      -1,
> -
> -      813,
> -
> -      3882,
> -      -1,
> -
> -      2837,
> -
> -      1699,
> -
> -      3642,
> -
> -      2123,
> -
> -      1162,
> -
> -      2066,
> -
> -      631,
> -
> -      360,
> -
> -      2819,
> -
> -      1663,
> -
> -      2747,
> -
> -      802,
> -      -1, -1, -1,
> -
> -      2117,
> -
> -      1156,
> -
> -      3858,
> -
> -      1456,
> -
> -      758,
> -
> -      2813,
> -
> -      1651,
> -
> -      2111,
> -
> -      1150,
> -
> -      396,
> -
> -      3291,
> -
> -      2426,
> -
> -      2807,
> -
> -      1639,
> -
> -      2060,
> -
> -      1096,
> -
> -      745,
> -
> -      1120,
> -
> -      375,
> -
> -      2741,
> -
> -      3852,
> -
> -      2777,
> -      -1,
> -
> -      736,
> -
> -      2099,
> -
> -      1138,
> -
> -      390,
> -
> -      1444,
> -      -1,
> -
> -      2795,
> -
> -      1615,
> -
> -      3168,
> -
> -      3846,
> -
> -      2093,
> -
> -      1132,
> -
> -      384,
> -
> -      15,
> -
> -      2723,
> -
> -      2789,
> -
> -      1603,
> -
> -      2465,
> -
> -      62,
> -
> -      2738,
> -
> -      2375,
> -
> -      3318,
> -
> -      1363,
> -
> -      2120,
> -
> -      1159,
> -
> -      2399,
> -      -1,
> -
> -      1411,
> -
> -      2816,
> -
> -      1657,
> -
> -      4062,
> -
> -      3468,
> -
> -      1954,
> -
> -      931,
> -
> -      3462,
> -
> -      1951,
> -
> -      925,
> -
> -      2609,
> -
> -      3216,
> -
> -      752,
> -
> -      2603,
> -
> -      3837,
> -
> -      1894,
> -      -1,
> -
> -      198,
> -
> -      1891,
> -
> -      1876,
> -
> -      195,
> -
> -      180,
> -
> -      3834,
> -
> -      1023,
> -      -1,
> -
> -      3831,
> -
> -      2270,
> -
> -      2696,
> -
> -      1303,
> -
> -      2264,
> -
> -      2258,
> -
> -      1300,
> -
> -      1285,
> -      -1, -1,
> -
> -      2084,
> -
> -      1108,
> -
> -      3312,
> -
> -      3828,
> -
> -      1873,
> -
> -      2765,
> -
> -      177,
> -
> -      3825,
> -
> -      1870,
> -
> -      2957,
> -
> -      174,
> -
> -      3813,
> -
> -      2951,
> -
> -      2921,
> -
> -      3063,
> -
> -      2252,
> -
> -      1123,
> -
> -      1282,
> -      -1,
> -
> -      2246,
> -
> -      2780,
> -
> -      1279,
> -      -1,
> -
> -      2105,
> -
> -      1144,
> -      -1,
> -
> -      670,
> -
> -      3810,
> -
> -      2801,
> -
> -      1627,
> -
> -      3807,
> -
> -      3603,
> -
> -      1909,
> -
> -      2915,
> -
> -      213,
> -      -1,
> -
> -      126,
> -
> -      2909,
> -
> -      1840,
> -
> -      3783,
> -
> -      1558,
> -
> -      3585,
> -
> -      2075,
> -
> -      1099,
> -
> -      3795,
> -
> -      1318,
> -
> -      108,
> -
> -      2756,
> -
> -      1822,
> -
> -      3765,
> -
> -      1540,
> -
> -      1189,
> -
> -      3942,
> -
> -      1183,
> -
> -      24,
> -
> -      2729,
> -
> -      1720,
> -
> -      3663,
> -
> -      1708,
> -
> -      3651,
> -      -1,
> -
> -      2987,
> -      -1,
> -
> -      1375,
> -
> -      2114,
> -
> -      1153,
> -
> -      823,
> -
> -      3402,
> -
> -      810,
> -
> -      2810,
> -
> -      1645,
> -      -1,
> -
> -      4074,
> -
> -      2072,
> -
> -      1696,
> -
> -      3639,
> -
> -      2102,
> -
> -      1141,
> -
> -      2753,
> -
> -      4071,
> -
> -      742,
> -
> -      2798,
> -
> -      1621,
> -
> -      3309,
> -
> -      798,
> -
> -      3261,
> -      -1, -1,
> -
> -      4029,
> -
> -      2471,
> -
> -      68,
> -
> -      4044,
> -
> -      2459,
> -
> -      56,
> -
> -      646,
> -
> -      4023,
> -      -1,
> -
> -      2405,
> -      -1,
> -
> -      1417,
> -
> -      2393,
> -
> -      9,
> -
> -      1405,
> -
> -      21,
> -
> -      2726,
> -
> -      4011,
> -
> -      2447,
> -
> -      43,
> -
> -      2369,
> -
> -      3255,
> -
> -      1357,
> -
> -      3282,
> -
> -      1369,
> -      -1,
> -
> -      2381,
> -
> -      3477,
> -
> -      1393,
> -
> -      940,
> -
> -      258,
> -
> -      3300,
> -
> -      3906,
> -
> -      2618,
> -
> -      1117,
> -
> -      3096,
> -
> -      3627,
> -
> -      3954,
> -
> -      2774,
> -
> -      529,
> -
> -      3294,
> -
> -      147,
> -
> -      526,
> -
> -      511,
> -
> -      3525,
> -
> -      1582,
> -
> -      993,
> -      -1,
> -
> -      2444,
> -
> -      3465,
> -
> -      2666,
> -
> -      928,
> -
> -      252,
> -
> -      890,
> -
> -      3447,
> -
> -      2606,
> -
> -      909,
> -      -1, -1,
> -
> -      3090,
> -
> -      2588,
> -
> -      3126,
> -
> -      3165,
> -
> -      508,
> -      -1,
> -
> -      3162,
> -
> -      2315,
> -
> -      505,
> -
> -      3441,
> -
> -      3435,
> -
> -      902,
> -
> -      896,
> -      -1, -1,
> -
> -      2582,
> -
> -      2576,
> -
> -      1903,
> -
> -      1900,
> -
> -      207,
> -
> -      204,
> -
> -      2309,
> -
> -      2303,
> -
> -      1017,
> -
> -      1888,
> -      -1,
> -
> -      192,
> -
> -      2690,
> -
> -      4065,
> -      -1,
> -
> -      1312,
> -
> -      1309,
> -
> -      544,
> -
> -      3270,
> -
> -      2108,
> -
> -      1147,
> -
> -      1882,
> -
> -      1297,
> -
> -      186,
> -
> -      2804,
> -
> -      1633,
> -
> -      1011,
> -
> -      700,
> -      -1, -1,
> -
> -      2684,
> -
> -      2975,
> -
> -      2969,
> -
> -      3285,
> -
> -      1291,
> -
> -      655,
> -
> -      1005,
> -
> -      3816,
> -
> -      2945,
> -
> -      3804,
> -
> -      2678,
> -
> -      3306,
> -
> -      2081,
> -
> -      1105,
> -
> -      2078,
> -
> -      1102,
> -      -1,
> -
> -      2762,
> -
> -      999,
> -
> -      2759,
> -
> -      2933,
> -
> -      3372,
> -
> -      2672,
> -
> -      3,
> -      -1,
> -
> -      3792,
> -
> -      3114,
> -
> -      3519,
> -
> -      694,
> -
> -      987,
> -
> -      2363,
> -
> -      3918,
> -
> -      1351,
> -
> -      2660,
> -
> -      3513,
> -      -1,
> -
> -      980,
> -      -1, -1, -1,
> -
> -      2654,
> -
> -      3129,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -
> -      649,
> -      -1, -1,
> -
> -      3396,
> -      -1, -1, -1, -1, -1, -1,
> -
> -      3303,
> -      -1, -1,
> -
> -      3960,
> -
> -      3105,
> -      -1,
> -
> -      3948,
> -      -1, -1, -1, -1,
> -
> -      3390,
> -      -1, -1,
> -
> -      3900,
> -      -1,
> -
> -      3912,
> -      -1, -1, -1,
> -
> -      3936,
> -
> -      3384,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1,
> -
> -      3378,
> -      -1,
> -
> -      3102,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1,
> -
> -      3366,
> -
> -      3279,
> -      -1, -1, -1, -1, -1,
> -
> -      3360,
> -      -1, -1, -1,
> -
> -      538,
> -
> -      535,
> -      -1, -1, -1,
> -
> -      619,
> -      -1,
> -
> -      523,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1,
> -
> -      517,
> -      -1, -1, -1,
> -
> -      616,
> -      -1, -1, -1, -1,
> -
> -      3123,
> -      -1, -1, -1, -1,
> -
> -      610,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1,
> -
> -      604,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1,
> -
> -      4059,
> -      -1, -1,
> -
> -      4053,
> -      -1,
> -
> -      3894,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1,
> -
> -      3111,
> -      -1,
> -
> -      3108,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1,
> -
> -      4068,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1,
> -
> -      4056,
> -      -1, -1, -1, -1,
> -
> -      4038,
> -      -1, -1, -1, -1, -1, -1,
> -      -1, -1, -1, -1, -1, -1,
> -      -1,
> -
> -      4032,
> -
> -      4026
> -    };
> -
> -    int key = hash(codes);
> -    if (key <= MAX_HASH_VALUE) {
> -      int index = wordlist[key];
> -      if (index >= 0 && onig_codes_cmp(codes, OnigUnicodeFolds1 + index, 1)
> == 0) {
> -        return index;
> -      }
> -    }
> -
> -  return -1;
> -}
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fol
> d2_key.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fo
> ld2_key.c
> deleted file mode 100644
> index 44f8cb660071..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fol
> d2_key.c
> +++ /dev/null
> @@ -1,222 +0,0 @@
> -/* This file was converted by gperf_fold_key_conv.py
> -      from gperf output file. */
> -/* ANSI-C code produced by gperf version 3.1 */
> -/* Command-line: /usr/local/bin/gperf -n -C -T -c -t -j1 -L ANSI-C -F,-1 -N
> onigenc_unicode_fold2_key unicode_fold2_key.gperf  */
> -/* Computed positions: -k'3,6' */
> -
> -
> -
> -/* This gperf source file was generated by make_unicode_fold_data.py */
> -
> -/*-
> - * Copyright (c) 2017-2018  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -//#include <string.h>
> -#include "regenc.h"
> -
> -#define TOTAL_KEYWORDS 59
> -#define MIN_WORD_LENGTH 6
> -#define MAX_WORD_LENGTH 6
> -#define MIN_HASH_VALUE 0
> -#define MAX_HASH_VALUE 58
> -/* maximum key range = 59, duplicates = 0 */
> -
> -#ifdef __GNUC__
> -__inline
> -#else
> -#ifdef __cplusplus
> -inline
> -#endif
> -#endif
> -/*ARGSUSED*/
> -static unsigned int
> -hash(OnigCodePoint codes[])
> -{
> -  static const unsigned char asso_values[] =
> -    {
> -      58, 57, 56, 55, 54, 53, 52, 16, 50, 59,
> -      15, 59, 25, 59, 59, 59, 59, 59, 59,  3,
> -      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
> -      59, 59, 49, 48, 47, 46, 45, 44, 43, 42,
> -      59, 59, 59, 59, 59, 59, 59, 59, 59, 21,
> -      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
> -      59, 59, 59, 59, 59, 59,  2, 59, 59, 59,
> -      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
> -      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
> -      59, 59, 59, 59, 59, 59, 40, 20, 39, 38,
> -      37, 14,  5, 36, 20,  7, 25, 34, 29, 32,
> -      16, 59, 31, 59, 59,  2,  1, 59, 25, 15,
> -      59, 14, 59, 59, 28, 59,  2, 59, 59, 59,
> -      11, 59, 59, 59, 59, 59, 59, 59, 59, 59,
> -      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
> -      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
> -      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
> -      59, 59, 24, 59, 22, 59, 59, 11, 59, 59,
> -      59, 59, 59,  7, 59,  0, 59, 59, 16, 59,
> -       1, 59, 59, 16, 59, 59, 59, 15, 59, 59,
> -      59,  6, 59, 59, 59, 59,  0, 59, 59, 59,
> -      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
> -      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
> -      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
> -      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
> -      59, 59, 59, 59, 59, 59
> -    };
> -  return asso_values[(unsigned char)onig_codes_byte_at(codes, 5)] +
> asso_values[(unsigned char)onig_codes_byte_at(codes, 2)];
> -}
> -
> -int
> -onigenc_unicode_fold2_key(OnigCodePoint codes[])
> -{
> -  static const short int wordlist[] =
> -    {
> -
> -      101,
> -
> -      253,
> -
> -      76,
> -
> -      29,
> -
> -      24,
> -
> -      239,
> -
> -      96,
> -
> -      71,
> -
> -      92,
> -
> -      67,
> -
> -      4,
> -
> -      62,
> -
> -      8,
> -
> -      58,
> -
> -      234,
> -
> -      109,
> -
> -      164,
> -
> -      88,
> -
> -      84,
> -
> -      80,
> -
> -      214,
> -
> -      0,
> -
> -      54,
> -
> -      261,
> -
> -      50,
> -
> -      105,
> -
> -      121,
> -
> -      125,
> -
> -      257,
> -
> -      42,
> -
> -      38,
> -
> -      249,
> -
> -      46,
> -
> -      117,
> -
> -      12,
> -
> -      113,
> -
> -      244,
> -
> -      229,
> -
> -      224,
> -
> -      219,
> -
> -      209,
> -
> -      16,
> -
> -      204,
> -
> -      199,
> -
> -      194,
> -
> -      189,
> -
> -      184,
> -
> -      179,
> -
> -      174,
> -
> -      169,
> -
> -      20,
> -
> -      34,
> -
> -      159,
> -
> -      154,
> -
> -      149,
> -
> -      144,
> -
> -      139,
> -
> -      134,
> -
> -      129
> -    };
> -
> -    int key = hash(codes);
> -    if (key <= MAX_HASH_VALUE) {
> -      int index = wordlist[key];
> -      if (index >= 0 && onig_codes_cmp(codes, OnigUnicodeFolds2 + index, 2)
> == 0)
> -        return index;
> -    }
> -
> -  return -1;
> -}
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fol
> d3_key.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fo
> ld3_key.c
> deleted file mode 100644
> index b36500b135e6..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fol
> d3_key.c
> +++ /dev/null
> @@ -1,133 +0,0 @@
> -/* This file was converted by gperf_fold_key_conv.py
> -      from gperf output file. */
> -/* ANSI-C code produced by gperf version 3.1 */
> -/* Command-line: /usr/local/bin/gperf -n -C -T -c -t -j1 -L ANSI-C -F,-1 -N
> onigenc_unicode_fold3_key unicode_fold3_key.gperf  */
> -/* Computed positions: -k'3,6,9' */
> -
> -
> -
> -/* This gperf source file was generated by make_unicode_fold_data.py */
> -
> -/*-
> - * Copyright (c) 2017-2018  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -//#include <string.h>
> -#include "regenc.h"
> -
> -#define TOTAL_KEYWORDS 14
> -#define MIN_WORD_LENGTH 9
> -#define MAX_WORD_LENGTH 9
> -#define MIN_HASH_VALUE 0
> -#define MAX_HASH_VALUE 13
> -/* maximum key range = 14, duplicates = 0 */
> -
> -#ifdef __GNUC__
> -__inline
> -#else
> -#ifdef __cplusplus
> -inline
> -#endif
> -#endif
> -/*ARGSUSED*/
> -static unsigned int
> -hash(OnigCodePoint codes[])
> -{
> -  static const unsigned char asso_values[] =
> -    {
> -       6,  3, 14, 14, 14, 14, 14, 14,  1, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14,  0,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14,  0, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14,  4, 14, 14,  5, 14, 14,  4, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 10, 14, 14,
> -      14, 14, 14,  9, 14,  1, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14,  0, 14, 14,
> -      14,  8, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
> -      14, 14, 14, 14, 14, 14
> -    };
> -  return asso_values[(unsigned char)onig_codes_byte_at(codes, 8)] +
> asso_values[(unsigned char)onig_codes_byte_at(codes, 5)] +
> asso_values[(unsigned char)onig_codes_byte_at(codes, 2)];
> -}
> -
> -int
> -onigenc_unicode_fold3_key(OnigCodePoint codes[])
> -{
> -  static const short int wordlist[] =
> -    {
> -
> -      62,
> -
> -      47,
> -
> -      31,
> -
> -      57,
> -
> -      41,
> -
> -      25,
> -
> -      52,
> -
> -      36,
> -
> -      20,
> -
> -      67,
> -
> -      15,
> -
> -      10,
> -
> -      5,
> -
> -      0
> -    };
> -
> -    int key = hash(codes);
> -    if (key <= MAX_HASH_VALUE) {
> -      int index = wordlist[key];
> -      if (index >= 0 && onig_codes_cmp(codes, OnigUnicodeFolds3 + index, 3)
> == 0) {
> -        return index;
> -      }
> -    }
> -
> -  return -1;
> -}
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fol
> d_data.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fo
> ld_data.c
> deleted file mode 100644
> index 400975b523e5..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_fol
> d_data.c
> +++ /dev/null
> @@ -1,1522 +0,0 @@
> -/* This file was generated by make_unicode_fold_data.py. */
> -#include "regenc.h"
> -
> -#define UNICODE_CASEFOLD_VERSION  12_1_0
> -
> -
> -OnigCodePoint OnigUnicodeFolds1[] = {
> - /*   0*/    0x0061,  1,   0x0041, /* LATIN CAPITAL LETTER A */
> - /*   3*/    0x0062,  1,   0x0042, /* LATIN CAPITAL LETTER B */
> - /*   6*/    0x0063,  1,   0x0043, /* LATIN CAPITAL LETTER C */
> - /*   9*/    0x0064,  1,   0x0044, /* LATIN CAPITAL LETTER D */
> - /*  12*/    0x0065,  1,   0x0045, /* LATIN CAPITAL LETTER E */
> - /*  15*/    0x0066,  1,   0x0046, /* LATIN CAPITAL LETTER F */
> - /*  18*/    0x0067,  1,   0x0047, /* LATIN CAPITAL LETTER G */
> - /*  21*/    0x0068,  1,   0x0048, /* LATIN CAPITAL LETTER H */
> - /*  24*/    0x006a,  1,   0x004a, /* LATIN CAPITAL LETTER J */
> - /*  27*/    0x006b,  2,   0x004b,   0x212a, /* LATIN CAPITAL LETTER K */
> - /*  31*/    0x006c,  1,   0x004c, /* LATIN CAPITAL LETTER L */
> - /*  34*/    0x006d,  1,   0x004d, /* LATIN CAPITAL LETTER M */
> - /*  37*/    0x006e,  1,   0x004e, /* LATIN CAPITAL LETTER N */
> - /*  40*/    0x006f,  1,   0x004f, /* LATIN CAPITAL LETTER O */
> - /*  43*/    0x0070,  1,   0x0050, /* LATIN CAPITAL LETTER P */
> - /*  46*/    0x0071,  1,   0x0051, /* LATIN CAPITAL LETTER Q */
> - /*  49*/    0x0072,  1,   0x0052, /* LATIN CAPITAL LETTER R */
> - /*  52*/    0x0073,  2,   0x0053,   0x017f, /* LATIN CAPITAL LETTER S */
> - /*  56*/    0x0074,  1,   0x0054, /* LATIN CAPITAL LETTER T */
> - /*  59*/    0x0075,  1,   0x0055, /* LATIN CAPITAL LETTER U */
> - /*  62*/    0x0076,  1,   0x0056, /* LATIN CAPITAL LETTER V */
> - /*  65*/    0x0077,  1,   0x0057, /* LATIN CAPITAL LETTER W */
> - /*  68*/    0x0078,  1,   0x0058, /* LATIN CAPITAL LETTER X */
> - /*  71*/    0x0079,  1,   0x0059, /* LATIN CAPITAL LETTER Y */
> - /*  74*/    0x007a,  1,   0x005a, /* LATIN CAPITAL LETTER Z */
> - /*  77*/    0x00e0,  1,   0x00c0, /* LATIN CAPITAL LETTER A WITH GRAVE */
> - /*  80*/    0x00e1,  1,   0x00c1, /* LATIN CAPITAL LETTER A WITH ACUTE */
> - /*  83*/    0x00e2,  1,   0x00c2, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
> - /*  86*/    0x00e3,  1,   0x00c3, /* LATIN CAPITAL LETTER A WITH TILDE */
> - /*  89*/    0x00e4,  1,   0x00c4, /* LATIN CAPITAL LETTER A WITH DIAER.. */
> - /*  92*/    0x00e5,  2,   0x00c5,   0x212b, /* LATIN CAPITAL LETTER A WITH
> RING .. */
> - /*  96*/    0x00e6,  1,   0x00c6, /* LATIN CAPITAL LETTER AE */
> - /*  99*/    0x00e7,  1,   0x00c7, /* LATIN CAPITAL LETTER C WITH CEDIL.. */
> - /* 102*/    0x00e8,  1,   0x00c8, /* LATIN CAPITAL LETTER E WITH GRAVE */
> - /* 105*/    0x00e9,  1,   0x00c9, /* LATIN CAPITAL LETTER E WITH ACUTE */
> - /* 108*/    0x00ea,  1,   0x00ca, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
> - /* 111*/    0x00eb,  1,   0x00cb, /* LATIN CAPITAL LETTER E WITH DIAER.. */
> - /* 114*/    0x00ec,  1,   0x00cc, /* LATIN CAPITAL LETTER I WITH GRAVE */
> - /* 117*/    0x00ed,  1,   0x00cd, /* LATIN CAPITAL LETTER I WITH ACUTE */
> - /* 120*/    0x00ee,  1,   0x00ce, /* LATIN CAPITAL LETTER I WITH CIRCU.. */
> - /* 123*/    0x00ef,  1,   0x00cf, /* LATIN CAPITAL LETTER I WITH DIAER.. */
> - /* 126*/    0x00f0,  1,   0x00d0, /* LATIN CAPITAL LETTER ETH */
> - /* 129*/    0x00f1,  1,   0x00d1, /* LATIN CAPITAL LETTER N WITH TILDE */
> - /* 132*/    0x00f2,  1,   0x00d2, /* LATIN CAPITAL LETTER O WITH GRAVE */
> - /* 135*/    0x00f3,  1,   0x00d3, /* LATIN CAPITAL LETTER O WITH ACUTE */
> - /* 138*/    0x00f4,  1,   0x00d4, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
> - /* 141*/    0x00f5,  1,   0x00d5, /* LATIN CAPITAL LETTER O WITH TILDE */
> - /* 144*/    0x00f6,  1,   0x00d6, /* LATIN CAPITAL LETTER O WITH DIAER.. */
> - /* 147*/    0x00f8,  1,   0x00d8, /* LATIN CAPITAL LETTER O WITH STROKE */
> - /* 150*/    0x00f9,  1,   0x00d9, /* LATIN CAPITAL LETTER U WITH GRAVE */
> - /* 153*/    0x00fa,  1,   0x00da, /* LATIN CAPITAL LETTER U WITH ACUTE */
> - /* 156*/    0x00fb,  1,   0x00db, /* LATIN CAPITAL LETTER U WITH CIRCU.. */
> - /* 159*/    0x00fc,  1,   0x00dc, /* LATIN CAPITAL LETTER U WITH DIAER.. */
> - /* 162*/    0x00fd,  1,   0x00dd, /* LATIN CAPITAL LETTER Y WITH ACUTE */
> - /* 165*/    0x00fe,  1,   0x00de, /* LATIN CAPITAL LETTER THORN */
> - /* 168*/    0x00ff,  1,   0x0178, /* LATIN CAPITAL LETTER Y WITH DIAER.. */
> - /* 171*/    0x0101,  1,   0x0100, /* LATIN CAPITAL LETTER A WITH MACRON
> */
> - /* 174*/    0x0103,  1,   0x0102, /* LATIN CAPITAL LETTER A WITH BREVE */
> - /* 177*/    0x0105,  1,   0x0104, /* LATIN CAPITAL LETTER A WITH OGONEK */
> - /* 180*/    0x0107,  1,   0x0106, /* LATIN CAPITAL LETTER C WITH ACUTE */
> - /* 183*/    0x0109,  1,   0x0108, /* LATIN CAPITAL LETTER C WITH CIRCU.. */
> - /* 186*/    0x010b,  1,   0x010a, /* LATIN CAPITAL LETTER C WITH DOT A.. */
> - /* 189*/    0x010d,  1,   0x010c, /* LATIN CAPITAL LETTER C WITH CARON */
> - /* 192*/    0x010f,  1,   0x010e, /* LATIN CAPITAL LETTER D WITH CARON */
> - /* 195*/    0x0111,  1,   0x0110, /* LATIN CAPITAL LETTER D WITH STROKE */
> - /* 198*/    0x0113,  1,   0x0112, /* LATIN CAPITAL LETTER E WITH MACRON */
> - /* 201*/    0x0115,  1,   0x0114, /* LATIN CAPITAL LETTER E WITH BREVE */
> - /* 204*/    0x0117,  1,   0x0116, /* LATIN CAPITAL LETTER E WITH DOT A.. */
> - /* 207*/    0x0119,  1,   0x0118, /* LATIN CAPITAL LETTER E WITH OGONEK */
> - /* 210*/    0x011b,  1,   0x011a, /* LATIN CAPITAL LETTER E WITH CARON */
> - /* 213*/    0x011d,  1,   0x011c, /* LATIN CAPITAL LETTER G WITH CIRCU.. */
> - /* 216*/    0x011f,  1,   0x011e, /* LATIN CAPITAL LETTER G WITH BREVE */
> - /* 219*/    0x0121,  1,   0x0120, /* LATIN CAPITAL LETTER G WITH DOT A.. */
> - /* 222*/    0x0123,  1,   0x0122, /* LATIN CAPITAL LETTER G WITH CEDIL.. */
> - /* 225*/    0x0125,  1,   0x0124, /* LATIN CAPITAL LETTER H WITH CIRCU.. */
> - /* 228*/    0x0127,  1,   0x0126, /* LATIN CAPITAL LETTER H WITH STROKE */
> - /* 231*/    0x0129,  1,   0x0128, /* LATIN CAPITAL LETTER I WITH TILDE */
> - /* 234*/    0x012b,  1,   0x012a, /* LATIN CAPITAL LETTER I WITH MACRON */
> - /* 237*/    0x012d,  1,   0x012c, /* LATIN CAPITAL LETTER I WITH BREVE */
> - /* 240*/    0x012f,  1,   0x012e, /* LATIN CAPITAL LETTER I WITH OGONEK */
> - /* 243*/    0x0133,  1,   0x0132, /* LATIN CAPITAL LIGATURE IJ */
> - /* 246*/    0x0135,  1,   0x0134, /* LATIN CAPITAL LETTER J WITH CIRCU.. */
> - /* 249*/    0x0137,  1,   0x0136, /* LATIN CAPITAL LETTER K WITH CEDIL.. */
> - /* 252*/    0x013a,  1,   0x0139, /* LATIN CAPITAL LETTER L WITH ACUTE */
> - /* 255*/    0x013c,  1,   0x013b, /* LATIN CAPITAL LETTER L WITH CEDIL.. */
> - /* 258*/    0x013e,  1,   0x013d, /* LATIN CAPITAL LETTER L WITH CARON */
> - /* 261*/    0x0140,  1,   0x013f, /* LATIN CAPITAL LETTER L WITH MIDDL.. */
> - /* 264*/    0x0142,  1,   0x0141, /* LATIN CAPITAL LETTER L WITH STROKE */
> - /* 267*/    0x0144,  1,   0x0143, /* LATIN CAPITAL LETTER N WITH ACUTE */
> - /* 270*/    0x0146,  1,   0x0145, /* LATIN CAPITAL LETTER N WITH CEDIL.. */
> - /* 273*/    0x0148,  1,   0x0147, /* LATIN CAPITAL LETTER N WITH CARON */
> - /* 276*/    0x014b,  1,   0x014a, /* LATIN CAPITAL LETTER ENG */
> - /* 279*/    0x014d,  1,   0x014c, /* LATIN CAPITAL LETTER O WITH MACRON
> */
> - /* 282*/    0x014f,  1,   0x014e, /* LATIN CAPITAL LETTER O WITH BREVE */
> - /* 285*/    0x0151,  1,   0x0150, /* LATIN CAPITAL LETTER O WITH DOUBL.. */
> - /* 288*/    0x0153,  1,   0x0152, /* LATIN CAPITAL LIGATURE OE */
> - /* 291*/    0x0155,  1,   0x0154, /* LATIN CAPITAL LETTER R WITH ACUTE */
> - /* 294*/    0x0157,  1,   0x0156, /* LATIN CAPITAL LETTER R WITH CEDIL.. */
> - /* 297*/    0x0159,  1,   0x0158, /* LATIN CAPITAL LETTER R WITH CARON */
> - /* 300*/    0x015b,  1,   0x015a, /* LATIN CAPITAL LETTER S WITH ACUTE */
> - /* 303*/    0x015d,  1,   0x015c, /* LATIN CAPITAL LETTER S WITH CIRCU.. */
> - /* 306*/    0x015f,  1,   0x015e, /* LATIN CAPITAL LETTER S WITH CEDIL.. */
> - /* 309*/    0x0161,  1,   0x0160, /* LATIN CAPITAL LETTER S WITH CARON */
> - /* 312*/    0x0163,  1,   0x0162, /* LATIN CAPITAL LETTER T WITH CEDIL.. */
> - /* 315*/    0x0165,  1,   0x0164, /* LATIN CAPITAL LETTER T WITH CARON */
> - /* 318*/    0x0167,  1,   0x0166, /* LATIN CAPITAL LETTER T WITH STROKE */
> - /* 321*/    0x0169,  1,   0x0168, /* LATIN CAPITAL LETTER U WITH TILDE */
> - /* 324*/    0x016b,  1,   0x016a, /* LATIN CAPITAL LETTER U WITH MACRON
> */
> - /* 327*/    0x016d,  1,   0x016c, /* LATIN CAPITAL LETTER U WITH BREVE */
> - /* 330*/    0x016f,  1,   0x016e, /* LATIN CAPITAL LETTER U WITH RING .. */
> - /* 333*/    0x0171,  1,   0x0170, /* LATIN CAPITAL LETTER U WITH DOUBL.. */
> - /* 336*/    0x0173,  1,   0x0172, /* LATIN CAPITAL LETTER U WITH OGONEK */
> - /* 339*/    0x0175,  1,   0x0174, /* LATIN CAPITAL LETTER W WITH CIRCU.. */
> - /* 342*/    0x0177,  1,   0x0176, /* LATIN CAPITAL LETTER Y WITH CIRCU.. */
> - /* 345*/    0x017a,  1,   0x0179, /* LATIN CAPITAL LETTER Z WITH ACUTE */
> - /* 348*/    0x017c,  1,   0x017b, /* LATIN CAPITAL LETTER Z WITH DOT A.. */
> - /* 351*/    0x017e,  1,   0x017d, /* LATIN CAPITAL LETTER Z WITH CARON */
> - /* 354*/    0x0180,  1,   0x0243, /* LATIN CAPITAL LETTER B WITH STROKE */
> - /* 357*/    0x0183,  1,   0x0182, /* LATIN CAPITAL LETTER B WITH TOPBAR */
> - /* 360*/    0x0185,  1,   0x0184, /* LATIN CAPITAL LETTER TONE SIX */
> - /* 363*/    0x0188,  1,   0x0187, /* LATIN CAPITAL LETTER C WITH HOOK */
> - /* 366*/    0x018c,  1,   0x018b, /* LATIN CAPITAL LETTER D WITH TOPBAR */
> - /* 369*/    0x0192,  1,   0x0191, /* LATIN CAPITAL LETTER F WITH HOOK */
> - /* 372*/    0x0195,  1,   0x01f6, /* LATIN CAPITAL LETTER HWAIR */
> - /* 375*/    0x0199,  1,   0x0198, /* LATIN CAPITAL LETTER K WITH HOOK */
> - /* 378*/    0x019a,  1,   0x023d, /* LATIN CAPITAL LETTER L WITH BAR */
> - /* 381*/    0x019e,  1,   0x0220, /* LATIN CAPITAL LETTER N WITH LONG .. */
> - /* 384*/    0x01a1,  1,   0x01a0, /* LATIN CAPITAL LETTER O WITH HORN */
> - /* 387*/    0x01a3,  1,   0x01a2, /* LATIN CAPITAL LETTER OI */
> - /* 390*/    0x01a5,  1,   0x01a4, /* LATIN CAPITAL LETTER P WITH HOOK */
> - /* 393*/    0x01a8,  1,   0x01a7, /* LATIN CAPITAL LETTER TONE TWO */
> - /* 396*/    0x01ad,  1,   0x01ac, /* LATIN CAPITAL LETTER T WITH HOOK */
> - /* 399*/    0x01b0,  1,   0x01af, /* LATIN CAPITAL LETTER U WITH HORN */
> - /* 402*/    0x01b4,  1,   0x01b3, /* LATIN CAPITAL LETTER Y WITH HOOK */
> - /* 405*/    0x01b6,  1,   0x01b5, /* LATIN CAPITAL LETTER Z WITH STROKE */
> - /* 408*/    0x01b9,  1,   0x01b8, /* LATIN CAPITAL LETTER EZH REVERSED */
> - /* 411*/    0x01bd,  1,   0x01bc, /* LATIN CAPITAL LETTER TONE FIVE */
> - /* 414*/    0x01bf,  1,   0x01f7, /* LATIN CAPITAL LETTER WYNN */
> - /* 417*/    0x01c6,  2,   0x01c4,   0x01c5, /* LATIN CAPITAL LETTER DZ WITH
> CARON */
> - /* 421*/    0x01c9,  2,   0x01c7,   0x01c8, /* LATIN CAPITAL LETTER LJ */
> - /* 425*/    0x01cc,  2,   0x01ca,   0x01cb, /* LATIN CAPITAL LETTER NJ */
> - /* 429*/    0x01ce,  1,   0x01cd, /* LATIN CAPITAL LETTER A WITH CARON */
> - /* 432*/    0x01d0,  1,   0x01cf, /* LATIN CAPITAL LETTER I WITH CARON */
> - /* 435*/    0x01d2,  1,   0x01d1, /* LATIN CAPITAL LETTER O WITH CARON */
> - /* 438*/    0x01d4,  1,   0x01d3, /* LATIN CAPITAL LETTER U WITH CARON */
> - /* 441*/    0x01d6,  1,   0x01d5, /* LATIN CAPITAL LETTER U WITH DIAER.. */
> - /* 444*/    0x01d8,  1,   0x01d7, /* LATIN CAPITAL LETTER U WITH DIAER.. */
> - /* 447*/    0x01da,  1,   0x01d9, /* LATIN CAPITAL LETTER U WITH DIAER.. */
> - /* 450*/    0x01dc,  1,   0x01db, /* LATIN CAPITAL LETTER U WITH DIAER.. */
> - /* 453*/    0x01dd,  1,   0x018e, /* LATIN CAPITAL LETTER REVERSED E */
> - /* 456*/    0x01df,  1,   0x01de, /* LATIN CAPITAL LETTER A WITH DIAER.. */
> - /* 459*/    0x01e1,  1,   0x01e0, /* LATIN CAPITAL LETTER A WITH DOT A.. */
> - /* 462*/    0x01e3,  1,   0x01e2, /* LATIN CAPITAL LETTER AE WITH MACR.. */
> - /* 465*/    0x01e5,  1,   0x01e4, /* LATIN CAPITAL LETTER G WITH STROKE */
> - /* 468*/    0x01e7,  1,   0x01e6, /* LATIN CAPITAL LETTER G WITH CARON */
> - /* 471*/    0x01e9,  1,   0x01e8, /* LATIN CAPITAL LETTER K WITH CARON */
> - /* 474*/    0x01eb,  1,   0x01ea, /* LATIN CAPITAL LETTER O WITH OGONEK
> */
> - /* 477*/    0x01ed,  1,   0x01ec, /* LATIN CAPITAL LETTER O WITH OGONE..
> */
> - /* 480*/    0x01ef,  1,   0x01ee, /* LATIN CAPITAL LETTER EZH WITH CAR.. */
> - /* 483*/    0x01f3,  2,   0x01f1,   0x01f2, /* LATIN CAPITAL LETTER DZ */
> - /* 487*/    0x01f5,  1,   0x01f4, /* LATIN CAPITAL LETTER G WITH ACUTE */
> - /* 490*/    0x01f9,  1,   0x01f8, /* LATIN CAPITAL LETTER N WITH GRAVE */
> - /* 493*/    0x01fb,  1,   0x01fa, /* LATIN CAPITAL LETTER A WITH RING .. */
> - /* 496*/    0x01fd,  1,   0x01fc, /* LATIN CAPITAL LETTER AE WITH ACUTE */
> - /* 499*/    0x01ff,  1,   0x01fe, /* LATIN CAPITAL LETTER O WITH STROK.. */
> - /* 502*/    0x0201,  1,   0x0200, /* LATIN CAPITAL LETTER A WITH DOUBL.. */
> - /* 505*/    0x0203,  1,   0x0202, /* LATIN CAPITAL LETTER A WITH INVER.. */
> - /* 508*/    0x0205,  1,   0x0204, /* LATIN CAPITAL LETTER E WITH DOUBL.. */
> - /* 511*/    0x0207,  1,   0x0206, /* LATIN CAPITAL LETTER E WITH INVER.. */
> - /* 514*/    0x0209,  1,   0x0208, /* LATIN CAPITAL LETTER I WITH DOUBL.. */
> - /* 517*/    0x020b,  1,   0x020a, /* LATIN CAPITAL LETTER I WITH INVER.. */
> - /* 520*/    0x020d,  1,   0x020c, /* LATIN CAPITAL LETTER O WITH DOUBL.. */
> - /* 523*/    0x020f,  1,   0x020e, /* LATIN CAPITAL LETTER O WITH INVER.. */
> - /* 526*/    0x0211,  1,   0x0210, /* LATIN CAPITAL LETTER R WITH DOUBL.. */
> - /* 529*/    0x0213,  1,   0x0212, /* LATIN CAPITAL LETTER R WITH INVER.. */
> - /* 532*/    0x0215,  1,   0x0214, /* LATIN CAPITAL LETTER U WITH DOUBL.. */
> - /* 535*/    0x0217,  1,   0x0216, /* LATIN CAPITAL LETTER U WITH INVER.. */
> - /* 538*/    0x0219,  1,   0x0218, /* LATIN CAPITAL LETTER S WITH COMMA..
> */
> - /* 541*/    0x021b,  1,   0x021a, /* LATIN CAPITAL LETTER T WITH COMMA..
> */
> - /* 544*/    0x021d,  1,   0x021c, /* LATIN CAPITAL LETTER YOGH */
> - /* 547*/    0x021f,  1,   0x021e, /* LATIN CAPITAL LETTER H WITH CARON */
> - /* 550*/    0x0223,  1,   0x0222, /* LATIN CAPITAL LETTER OU */
> - /* 553*/    0x0225,  1,   0x0224, /* LATIN CAPITAL LETTER Z WITH HOOK */
> - /* 556*/    0x0227,  1,   0x0226, /* LATIN CAPITAL LETTER A WITH DOT A.. */
> - /* 559*/    0x0229,  1,   0x0228, /* LATIN CAPITAL LETTER E WITH CEDIL.. */
> - /* 562*/    0x022b,  1,   0x022a, /* LATIN CAPITAL LETTER O WITH DIAER.. */
> - /* 565*/    0x022d,  1,   0x022c, /* LATIN CAPITAL LETTER O WITH TILDE.. */
> - /* 568*/    0x022f,  1,   0x022e, /* LATIN CAPITAL LETTER O WITH DOT A.. */
> - /* 571*/    0x0231,  1,   0x0230, /* LATIN CAPITAL LETTER O WITH DOT A.. */
> - /* 574*/    0x0233,  1,   0x0232, /* LATIN CAPITAL LETTER Y WITH MACRON */
> - /* 577*/    0x023c,  1,   0x023b, /* LATIN CAPITAL LETTER C WITH STROKE */
> - /* 580*/    0x023f,  1,   0x2c7e, /* LATIN CAPITAL LETTER S WITH SWASH.. */
> - /* 583*/    0x0240,  1,   0x2c7f, /* LATIN CAPITAL LETTER Z WITH SWASH.. */
> - /* 586*/    0x0242,  1,   0x0241, /* LATIN CAPITAL LETTER GLOTTAL STOP */
> - /* 589*/    0x0247,  1,   0x0246, /* LATIN CAPITAL LETTER E WITH STROKE */
> - /* 592*/    0x0249,  1,   0x0248, /* LATIN CAPITAL LETTER J WITH STROKE */
> - /* 595*/    0x024b,  1,   0x024a, /* LATIN CAPITAL LETTER SMALL Q WITH.. */
> - /* 598*/    0x024d,  1,   0x024c, /* LATIN CAPITAL LETTER R WITH STROKE */
> - /* 601*/    0x024f,  1,   0x024e, /* LATIN CAPITAL LETTER Y WITH STROKE */
> - /* 604*/    0x0250,  1,   0x2c6f, /* LATIN CAPITAL LETTER TURNED A */
> - /* 607*/    0x0251,  1,   0x2c6d, /* LATIN CAPITAL LETTER ALPHA */
> - /* 610*/    0x0252,  1,   0x2c70, /* LATIN CAPITAL LETTER TURNED ALPHA */
> - /* 613*/    0x0253,  1,   0x0181, /* LATIN CAPITAL LETTER B WITH HOOK */
> - /* 616*/    0x0254,  1,   0x0186, /* LATIN CAPITAL LETTER OPEN O */
> - /* 619*/    0x0256,  1,   0x0189, /* LATIN CAPITAL LETTER AFRICAN D */
> - /* 622*/    0x0257,  1,   0x018a, /* LATIN CAPITAL LETTER D WITH HOOK */
> - /* 625*/    0x0259,  1,   0x018f, /* LATIN CAPITAL LETTER SCHWA */
> - /* 628*/    0x025b,  1,   0x0190, /* LATIN CAPITAL LETTER OPEN E */
> - /* 631*/    0x025c,  1,   0xa7ab, /* LATIN CAPITAL LETTER REVERSED OPE.. */
> - /* 634*/    0x0260,  1,   0x0193, /* LATIN CAPITAL LETTER G WITH HOOK */
> - /* 637*/    0x0261,  1,   0xa7ac, /* LATIN CAPITAL LETTER SCRIPT G */
> - /* 640*/    0x0263,  1,   0x0194, /* LATIN CAPITAL LETTER GAMMA */
> - /* 643*/    0x0265,  1,   0xa78d, /* LATIN CAPITAL LETTER TURNED H */
> - /* 646*/    0x0266,  1,   0xa7aa, /* LATIN CAPITAL LETTER H WITH HOOK */
> - /* 649*/    0x0268,  1,   0x0197, /* LATIN CAPITAL LETTER I WITH STROKE */
> - /* 652*/    0x0269,  1,   0x0196, /* LATIN CAPITAL LETTER IOTA */
> - /* 655*/    0x026a,  1,   0xa7ae, /* LATIN CAPITAL LETTER SMALL CAPITA.. */
> - /* 658*/    0x026b,  1,   0x2c62, /* LATIN CAPITAL LETTER L WITH MIDDL.. */
> - /* 661*/    0x026c,  1,   0xa7ad, /* LATIN CAPITAL LETTER L WITH BELT */
> - /* 664*/    0x026f,  1,   0x019c, /* LATIN CAPITAL LETTER TURNED M */
> - /* 667*/    0x0271,  1,   0x2c6e, /* LATIN CAPITAL LETTER M WITH HOOK */
> - /* 670*/    0x0272,  1,   0x019d, /* LATIN CAPITAL LETTER N WITH LEFT .. */
> - /* 673*/    0x0275,  1,   0x019f, /* LATIN CAPITAL LETTER O WITH MIDDL.. */
> - /* 676*/    0x027d,  1,   0x2c64, /* LATIN CAPITAL LETTER R WITH TAIL */
> - /* 679*/    0x0280,  1,   0x01a6, /* LATIN LETTER YR */
> - /* 682*/    0x0282,  1,   0xa7c5, /* LATIN CAPITAL LETTER S WITH HOOK */
> - /* 685*/    0x0283,  1,   0x01a9, /* LATIN CAPITAL LETTER ESH */
> - /* 688*/    0x0287,  1,   0xa7b1, /* LATIN CAPITAL LETTER TURNED T */
> - /* 691*/    0x0288,  1,   0x01ae, /* LATIN CAPITAL LETTER T WITH RETRO.. */
> - /* 694*/    0x0289,  1,   0x0244, /* LATIN CAPITAL LETTER U BAR */
> - /* 697*/    0x028a,  1,   0x01b1, /* LATIN CAPITAL LETTER UPSILON */
> - /* 700*/    0x028b,  1,   0x01b2, /* LATIN CAPITAL LETTER V WITH HOOK */
> - /* 703*/    0x028c,  1,   0x0245, /* LATIN CAPITAL LETTER TURNED V */
> - /* 706*/    0x0292,  1,   0x01b7, /* LATIN CAPITAL LETTER EZH */
> - /* 709*/    0x029d,  1,   0xa7b2, /* LATIN CAPITAL LETTER J WITH CROSS.. */
> - /* 712*/    0x029e,  1,   0xa7b0, /* LATIN CAPITAL LETTER TURNED K */
> - /* 715*/    0x0371,  1,   0x0370, /* GREEK CAPITAL LETTER HETA */
> - /* 718*/    0x0373,  1,   0x0372, /* GREEK CAPITAL LETTER ARCHAIC SAMPI */
> - /* 721*/    0x0377,  1,   0x0376, /* GREEK CAPITAL LETTER PAMPHYLIAN D..
> */
> - /* 724*/    0x037b,  1,   0x03fd, /* GREEK CAPITAL REVERSED LUNATE SIG.. */
> - /* 727*/    0x037c,  1,   0x03fe, /* GREEK CAPITAL DOTTED LUNATE SIGMA..
> */
> - /* 730*/    0x037d,  1,   0x03ff, /* GREEK CAPITAL REVERSED DOTTED LUN..
> */
> - /* 733*/    0x03ac,  1,   0x0386, /* GREEK CAPITAL LETTER ALPHA WITH T.. */
> - /* 736*/    0x03ad,  1,   0x0388, /* GREEK CAPITAL LETTER EPSILON WITH.. */
> - /* 739*/    0x03ae,  1,   0x0389, /* GREEK CAPITAL LETTER ETA WITH TON.. */
> - /* 742*/    0x03af,  1,   0x038a, /* GREEK CAPITAL LETTER IOTA WITH TO.. */
> - /* 745*/    0x03b1,  1,   0x0391, /* GREEK CAPITAL LETTER ALPHA */
> - /* 748*/    0x03b2,  2,   0x0392,   0x03d0, /* GREEK CAPITAL LETTER BETA */
> - /* 752*/    0x03b3,  1,   0x0393, /* GREEK CAPITAL LETTER GAMMA */
> - /* 755*/    0x03b4,  1,   0x0394, /* GREEK CAPITAL LETTER DELTA */
> - /* 758*/    0x03b5,  2,   0x0395,   0x03f5, /* GREEK CAPITAL LETTER EPSILON
> */
> - /* 762*/    0x03b6,  1,   0x0396, /* GREEK CAPITAL LETTER ZETA */
> - /* 765*/    0x03b7,  1,   0x0397, /* GREEK CAPITAL LETTER ETA */
> - /* 768*/    0x03b8,  3,   0x0398,   0x03d1,   0x03f4, /* GREEK CAPITAL LETTER
> THETA */
> - /* 773*/    0x03b9,  3,   0x0345,   0x0399,   0x1fbe, /* COMBINING GREEK
> YPOGEGRAMMENI */
> - /* 778*/    0x03ba,  2,   0x039a,   0x03f0, /* GREEK CAPITAL LETTER KAPPA */
> - /* 782*/    0x03bb,  1,   0x039b, /* GREEK CAPITAL LETTER LAMDA */
> - /* 785*/    0x03bc,  2,   0x00b5,   0x039c, /* MICRO SIGN */
> - /* 789*/    0x03bd,  1,   0x039d, /* GREEK CAPITAL LETTER NU */
> - /* 792*/    0x03be,  1,   0x039e, /* GREEK CAPITAL LETTER XI */
> - /* 795*/    0x03bf,  1,   0x039f, /* GREEK CAPITAL LETTER OMICRON */
> - /* 798*/    0x03c0,  2,   0x03a0,   0x03d6, /* GREEK CAPITAL LETTER PI */
> - /* 802*/    0x03c1,  2,   0x03a1,   0x03f1, /* GREEK CAPITAL LETTER RHO */
> - /* 806*/    0x03c3,  2,   0x03a3,   0x03c2, /* GREEK CAPITAL LETTER SIGMA */
> - /* 810*/    0x03c4,  1,   0x03a4, /* GREEK CAPITAL LETTER TAU */
> - /* 813*/    0x03c5,  1,   0x03a5, /* GREEK CAPITAL LETTER UPSILON */
> - /* 816*/    0x03c6,  2,   0x03a6,   0x03d5, /* GREEK CAPITAL LETTER PHI */
> - /* 820*/    0x03c7,  1,   0x03a7, /* GREEK CAPITAL LETTER CHI */
> - /* 823*/    0x03c8,  1,   0x03a8, /* GREEK CAPITAL LETTER PSI */
> - /* 826*/    0x03c9,  2,   0x03a9,   0x2126, /* GREEK CAPITAL LETTER OMEGA
> */
> - /* 830*/    0x03ca,  1,   0x03aa, /* GREEK CAPITAL LETTER IOTA WITH DI.. */
> - /* 833*/    0x03cb,  1,   0x03ab, /* GREEK CAPITAL LETTER UPSILON WITH.. */
> - /* 836*/    0x03cc,  1,   0x038c, /* GREEK CAPITAL LETTER OMICRON WITH..
> */
> - /* 839*/    0x03cd,  1,   0x038e, /* GREEK CAPITAL LETTER UPSILON WITH.. */
> - /* 842*/    0x03ce,  1,   0x038f, /* GREEK CAPITAL LETTER OMEGA WITH T.. */
> - /* 845*/    0x03d7,  1,   0x03cf, /* GREEK CAPITAL KAI SYMBOL */
> - /* 848*/    0x03d9,  1,   0x03d8, /* GREEK LETTER ARCHAIC KOPPA */
> - /* 851*/    0x03db,  1,   0x03da, /* GREEK LETTER STIGMA */
> - /* 854*/    0x03dd,  1,   0x03dc, /* GREEK LETTER DIGAMMA */
> - /* 857*/    0x03df,  1,   0x03de, /* GREEK LETTER KOPPA */
> - /* 860*/    0x03e1,  1,   0x03e0, /* GREEK LETTER SAMPI */
> - /* 863*/    0x03e3,  1,   0x03e2, /* COPTIC CAPITAL LETTER SHEI */
> - /* 866*/    0x03e5,  1,   0x03e4, /* COPTIC CAPITAL LETTER FEI */
> - /* 869*/    0x03e7,  1,   0x03e6, /* COPTIC CAPITAL LETTER KHEI */
> - /* 872*/    0x03e9,  1,   0x03e8, /* COPTIC CAPITAL LETTER HORI */
> - /* 875*/    0x03eb,  1,   0x03ea, /* COPTIC CAPITAL LETTER GANGIA */
> - /* 878*/    0x03ed,  1,   0x03ec, /* COPTIC CAPITAL LETTER SHIMA */
> - /* 881*/    0x03ef,  1,   0x03ee, /* COPTIC CAPITAL LETTER DEI */
> - /* 884*/    0x03f2,  1,   0x03f9, /* GREEK CAPITAL LUNATE SIGMA SYMBOL */
> - /* 887*/    0x03f3,  1,   0x037f, /* GREEK CAPITAL LETTER YOT */
> - /* 890*/    0x03f8,  1,   0x03f7, /* GREEK CAPITAL LETTER SHO */
> - /* 893*/    0x03fb,  1,   0x03fa, /* GREEK CAPITAL LETTER SAN */
> - /* 896*/    0x0430,  1,   0x0410, /* CYRILLIC CAPITAL LETTER A */
> - /* 899*/    0x0431,  1,   0x0411, /* CYRILLIC CAPITAL LETTER BE */
> - /* 902*/    0x0432,  2,   0x0412,   0x1c80, /* CYRILLIC CAPITAL LETTER VE */
> - /* 906*/    0x0433,  1,   0x0413, /* CYRILLIC CAPITAL LETTER GHE */
> - /* 909*/    0x0434,  2,   0x0414,   0x1c81, /* CYRILLIC CAPITAL LETTER DE */
> - /* 913*/    0x0435,  1,   0x0415, /* CYRILLIC CAPITAL LETTER IE */
> - /* 916*/    0x0436,  1,   0x0416, /* CYRILLIC CAPITAL LETTER ZHE */
> - /* 919*/    0x0437,  1,   0x0417, /* CYRILLIC CAPITAL LETTER ZE */
> - /* 922*/    0x0438,  1,   0x0418, /* CYRILLIC CAPITAL LETTER I */
> - /* 925*/    0x0439,  1,   0x0419, /* CYRILLIC CAPITAL LETTER SHORT I */
> - /* 928*/    0x043a,  1,   0x041a, /* CYRILLIC CAPITAL LETTER KA */
> - /* 931*/    0x043b,  1,   0x041b, /* CYRILLIC CAPITAL LETTER EL */
> - /* 934*/    0x043c,  1,   0x041c, /* CYRILLIC CAPITAL LETTER EM */
> - /* 937*/    0x043d,  1,   0x041d, /* CYRILLIC CAPITAL LETTER EN */
> - /* 940*/    0x043e,  2,   0x041e,   0x1c82, /* CYRILLIC CAPITAL LETTER O */
> - /* 944*/    0x043f,  1,   0x041f, /* CYRILLIC CAPITAL LETTER PE */
> - /* 947*/    0x0440,  1,   0x0420, /* CYRILLIC CAPITAL LETTER ER */
> - /* 950*/    0x0441,  2,   0x0421,   0x1c83, /* CYRILLIC CAPITAL LETTER ES */
> - /* 954*/    0x0442,  3,   0x0422,   0x1c84,   0x1c85, /* CYRILLIC CAPITAL LETTER
> TE */
> - /* 959*/    0x0443,  1,   0x0423, /* CYRILLIC CAPITAL LETTER U */
> - /* 962*/    0x0444,  1,   0x0424, /* CYRILLIC CAPITAL LETTER EF */
> - /* 965*/    0x0445,  1,   0x0425, /* CYRILLIC CAPITAL LETTER HA */
> - /* 968*/    0x0446,  1,   0x0426, /* CYRILLIC CAPITAL LETTER TSE */
> - /* 971*/    0x0447,  1,   0x0427, /* CYRILLIC CAPITAL LETTER CHE */
> - /* 974*/    0x0448,  1,   0x0428, /* CYRILLIC CAPITAL LETTER SHA */
> - /* 977*/    0x0449,  1,   0x0429, /* CYRILLIC CAPITAL LETTER SHCHA */
> - /* 980*/    0x044a,  2,   0x042a,   0x1c86, /* CYRILLIC CAPITAL LETTER HARD
> SIGN */
> - /* 984*/    0x044b,  1,   0x042b, /* CYRILLIC CAPITAL LETTER YERU */
> - /* 987*/    0x044c,  1,   0x042c, /* CYRILLIC CAPITAL LETTER SOFT SIGN */
> - /* 990*/    0x044d,  1,   0x042d, /* CYRILLIC CAPITAL LETTER E */
> - /* 993*/    0x044e,  1,   0x042e, /* CYRILLIC CAPITAL LETTER YU */
> - /* 996*/    0x044f,  1,   0x042f, /* CYRILLIC CAPITAL LETTER YA */
> - /* 999*/    0x0450,  1,   0x0400, /* CYRILLIC CAPITAL LETTER IE WITH G.. */
> - /*1002*/    0x0451,  1,   0x0401, /* CYRILLIC CAPITAL LETTER IO */
> - /*1005*/    0x0452,  1,   0x0402, /* CYRILLIC CAPITAL LETTER DJE */
> - /*1008*/    0x0453,  1,   0x0403, /* CYRILLIC CAPITAL LETTER GJE */
> - /*1011*/    0x0454,  1,   0x0404, /* CYRILLIC CAPITAL LETTER UKRAINIAN.. */
> - /*1014*/    0x0455,  1,   0x0405, /* CYRILLIC CAPITAL LETTER DZE */
> - /*1017*/    0x0456,  1,   0x0406, /* CYRILLIC CAPITAL LETTER BYELORUSS.. */
> - /*1020*/    0x0457,  1,   0x0407, /* CYRILLIC CAPITAL LETTER YI */
> - /*1023*/    0x0458,  1,   0x0408, /* CYRILLIC CAPITAL LETTER JE */
> - /*1026*/    0x0459,  1,   0x0409, /* CYRILLIC CAPITAL LETTER LJE */
> - /*1029*/    0x045a,  1,   0x040a, /* CYRILLIC CAPITAL LETTER NJE */
> - /*1032*/    0x045b,  1,   0x040b, /* CYRILLIC CAPITAL LETTER TSHE */
> - /*1035*/    0x045c,  1,   0x040c, /* CYRILLIC CAPITAL LETTER KJE */
> - /*1038*/    0x045d,  1,   0x040d, /* CYRILLIC CAPITAL LETTER I WITH GR.. */
> - /*1041*/    0x045e,  1,   0x040e, /* CYRILLIC CAPITAL LETTER SHORT U */
> - /*1044*/    0x045f,  1,   0x040f, /* CYRILLIC CAPITAL LETTER DZHE */
> - /*1047*/    0x0461,  1,   0x0460, /* CYRILLIC CAPITAL LETTER OMEGA */
> - /*1050*/    0x0463,  2,   0x0462,   0x1c87, /* CYRILLIC CAPITAL LETTER YAT */
> - /*1054*/    0x0465,  1,   0x0464, /* CYRILLIC CAPITAL LETTER IOTIFIED E */
> - /*1057*/    0x0467,  1,   0x0466, /* CYRILLIC CAPITAL LETTER LITTLE YUS */
> - /*1060*/    0x0469,  1,   0x0468, /* CYRILLIC CAPITAL LETTER IOTIFIED .. */
> - /*1063*/    0x046b,  1,   0x046a, /* CYRILLIC CAPITAL LETTER BIG YUS */
> - /*1066*/    0x046d,  1,   0x046c, /* CYRILLIC CAPITAL LETTER IOTIFIED .. */
> - /*1069*/    0x046f,  1,   0x046e, /* CYRILLIC CAPITAL LETTER KSI */
> - /*1072*/    0x0471,  1,   0x0470, /* CYRILLIC CAPITAL LETTER PSI */
> - /*1075*/    0x0473,  1,   0x0472, /* CYRILLIC CAPITAL LETTER FITA */
> - /*1078*/    0x0475,  1,   0x0474, /* CYRILLIC CAPITAL LETTER IZHITSA */
> - /*1081*/    0x0477,  1,   0x0476, /* CYRILLIC CAPITAL LETTER IZHITSA W.. */
> - /*1084*/    0x0479,  1,   0x0478, /* CYRILLIC CAPITAL LETTER UK */
> - /*1087*/    0x047b,  1,   0x047a, /* CYRILLIC CAPITAL LETTER ROUND OME..
> */
> - /*1090*/    0x047d,  1,   0x047c, /* CYRILLIC CAPITAL LETTER OMEGA WIT.. */
> - /*1093*/    0x047f,  1,   0x047e, /* CYRILLIC CAPITAL LETTER OT */
> - /*1096*/    0x0481,  1,   0x0480, /* CYRILLIC CAPITAL LETTER KOPPA */
> - /*1099*/    0x048b,  1,   0x048a, /* CYRILLIC CAPITAL LETTER SHORT I W.. */
> - /*1102*/    0x048d,  1,   0x048c, /* CYRILLIC CAPITAL LETTER SEMISOFT .. */
> - /*1105*/    0x048f,  1,   0x048e, /* CYRILLIC CAPITAL LETTER ER WITH T.. */
> - /*1108*/    0x0491,  1,   0x0490, /* CYRILLIC CAPITAL LETTER GHE WITH .. */
> - /*1111*/    0x0493,  1,   0x0492, /* CYRILLIC CAPITAL LETTER GHE WITH .. */
> - /*1114*/    0x0495,  1,   0x0494, /* CYRILLIC CAPITAL LETTER GHE WITH .. */
> - /*1117*/    0x0497,  1,   0x0496, /* CYRILLIC CAPITAL LETTER ZHE WITH .. */
> - /*1120*/    0x0499,  1,   0x0498, /* CYRILLIC CAPITAL LETTER ZE WITH D.. */
> - /*1123*/    0x049b,  1,   0x049a, /* CYRILLIC CAPITAL LETTER KA WITH D.. */
> - /*1126*/    0x049d,  1,   0x049c, /* CYRILLIC CAPITAL LETTER KA WITH V.. */
> - /*1129*/    0x049f,  1,   0x049e, /* CYRILLIC CAPITAL LETTER KA WITH S.. */
> - /*1132*/    0x04a1,  1,   0x04a0, /* CYRILLIC CAPITAL LETTER BASHKIR KA */
> - /*1135*/    0x04a3,  1,   0x04a2, /* CYRILLIC CAPITAL LETTER EN WITH D.. */
> - /*1138*/    0x04a5,  1,   0x04a4, /* CYRILLIC CAPITAL LIGATURE EN GHE */
> - /*1141*/    0x04a7,  1,   0x04a6, /* CYRILLIC CAPITAL LETTER PE WITH M.. */
> - /*1144*/    0x04a9,  1,   0x04a8, /* CYRILLIC CAPITAL LETTER ABKHASIAN.. */
> - /*1147*/    0x04ab,  1,   0x04aa, /* CYRILLIC CAPITAL LETTER ES WITH D.. */
> - /*1150*/    0x04ad,  1,   0x04ac, /* CYRILLIC CAPITAL LETTER TE WITH D.. */
> - /*1153*/    0x04af,  1,   0x04ae, /* CYRILLIC CAPITAL LETTER STRAIGHT U */
> - /*1156*/    0x04b1,  1,   0x04b0, /* CYRILLIC CAPITAL LETTER STRAIGHT .. */
> - /*1159*/    0x04b3,  1,   0x04b2, /* CYRILLIC CAPITAL LETTER HA WITH D.. */
> - /*1162*/    0x04b5,  1,   0x04b4, /* CYRILLIC CAPITAL LIGATURE TE TSE */
> - /*1165*/    0x04b7,  1,   0x04b6, /* CYRILLIC CAPITAL LETTER CHE WITH .. */
> - /*1168*/    0x04b9,  1,   0x04b8, /* CYRILLIC CAPITAL LETTER CHE WITH .. */
> - /*1171*/    0x04bb,  1,   0x04ba, /* CYRILLIC CAPITAL LETTER SHHA */
> - /*1174*/    0x04bd,  1,   0x04bc, /* CYRILLIC CAPITAL LETTER ABKHASIAN.. */
> - /*1177*/    0x04bf,  1,   0x04be, /* CYRILLIC CAPITAL LETTER ABKHASIAN.. */
> - /*1180*/    0x04c2,  1,   0x04c1, /* CYRILLIC CAPITAL LETTER ZHE WITH .. */
> - /*1183*/    0x04c4,  1,   0x04c3, /* CYRILLIC CAPITAL LETTER KA WITH H.. */
> - /*1186*/    0x04c6,  1,   0x04c5, /* CYRILLIC CAPITAL LETTER EL WITH T.. */
> - /*1189*/    0x04c8,  1,   0x04c7, /* CYRILLIC CAPITAL LETTER EN WITH H.. */
> - /*1192*/    0x04ca,  1,   0x04c9, /* CYRILLIC CAPITAL LETTER EN WITH T.. */
> - /*1195*/    0x04cc,  1,   0x04cb, /* CYRILLIC CAPITAL LETTER KHAKASSIA.. */
> - /*1198*/    0x04ce,  1,   0x04cd, /* CYRILLIC CAPITAL LETTER EM WITH T.. */
> - /*1201*/    0x04cf,  1,   0x04c0, /* CYRILLIC LETTER PALOCHKA */
> - /*1204*/    0x04d1,  1,   0x04d0, /* CYRILLIC CAPITAL LETTER A WITH BR.. */
> - /*1207*/    0x04d3,  1,   0x04d2, /* CYRILLIC CAPITAL LETTER A WITH DI.. */
> - /*1210*/    0x04d5,  1,   0x04d4, /* CYRILLIC CAPITAL LIGATURE A IE */
> - /*1213*/    0x04d7,  1,   0x04d6, /* CYRILLIC CAPITAL LETTER IE WITH B.. */
> - /*1216*/    0x04d9,  1,   0x04d8, /* CYRILLIC CAPITAL LETTER SCHWA */
> - /*1219*/    0x04db,  1,   0x04da, /* CYRILLIC CAPITAL LETTER SCHWA WIT.. */
> - /*1222*/    0x04dd,  1,   0x04dc, /* CYRILLIC CAPITAL LETTER ZHE WITH .. */
> - /*1225*/    0x04df,  1,   0x04de, /* CYRILLIC CAPITAL LETTER ZE WITH D.. */
> - /*1228*/    0x04e1,  1,   0x04e0, /* CYRILLIC CAPITAL LETTER ABKHASIAN.. */
> - /*1231*/    0x04e3,  1,   0x04e2, /* CYRILLIC CAPITAL LETTER I WITH MA.. */
> - /*1234*/    0x04e5,  1,   0x04e4, /* CYRILLIC CAPITAL LETTER I WITH DI.. */
> - /*1237*/    0x04e7,  1,   0x04e6, /* CYRILLIC CAPITAL LETTER O WITH DI.. */
> - /*1240*/    0x04e9,  1,   0x04e8, /* CYRILLIC CAPITAL LETTER BARRED O */
> - /*1243*/    0x04eb,  1,   0x04ea, /* CYRILLIC CAPITAL LETTER BARRED O .. */
> - /*1246*/    0x04ed,  1,   0x04ec, /* CYRILLIC CAPITAL LETTER E WITH DI.. */
> - /*1249*/    0x04ef,  1,   0x04ee, /* CYRILLIC CAPITAL LETTER U WITH MA.. */
> - /*1252*/    0x04f1,  1,   0x04f0, /* CYRILLIC CAPITAL LETTER U WITH DI.. */
> - /*1255*/    0x04f3,  1,   0x04f2, /* CYRILLIC CAPITAL LETTER U WITH DO.. */
> - /*1258*/    0x04f5,  1,   0x04f4, /* CYRILLIC CAPITAL LETTER CHE WITH .. */
> - /*1261*/    0x04f7,  1,   0x04f6, /* CYRILLIC CAPITAL LETTER GHE WITH .. */
> - /*1264*/    0x04f9,  1,   0x04f8, /* CYRILLIC CAPITAL LETTER YERU WITH.. */
> - /*1267*/    0x04fb,  1,   0x04fa, /* CYRILLIC CAPITAL LETTER GHE WITH .. */
> - /*1270*/    0x04fd,  1,   0x04fc, /* CYRILLIC CAPITAL LETTER HA WITH H.. */
> - /*1273*/    0x04ff,  1,   0x04fe, /* CYRILLIC CAPITAL LETTER HA WITH S.. */
> - /*1276*/    0x0501,  1,   0x0500, /* CYRILLIC CAPITAL LETTER KOMI DE */
> - /*1279*/    0x0503,  1,   0x0502, /* CYRILLIC CAPITAL LETTER KOMI DJE */
> - /*1282*/    0x0505,  1,   0x0504, /* CYRILLIC CAPITAL LETTER KOMI ZJE */
> - /*1285*/    0x0507,  1,   0x0506, /* CYRILLIC CAPITAL LETTER KOMI DZJE */
> - /*1288*/    0x0509,  1,   0x0508, /* CYRILLIC CAPITAL LETTER KOMI LJE */
> - /*1291*/    0x050b,  1,   0x050a, /* CYRILLIC CAPITAL LETTER KOMI NJE */
> - /*1294*/    0x050d,  1,   0x050c, /* CYRILLIC CAPITAL LETTER KOMI SJE */
> - /*1297*/    0x050f,  1,   0x050e, /* CYRILLIC CAPITAL LETTER KOMI TJE */
> - /*1300*/    0x0511,  1,   0x0510, /* CYRILLIC CAPITAL LETTER REVERSED .. */
> - /*1303*/    0x0513,  1,   0x0512, /* CYRILLIC CAPITAL LETTER EL WITH H.. */
> - /*1306*/    0x0515,  1,   0x0514, /* CYRILLIC CAPITAL LETTER LHA */
> - /*1309*/    0x0517,  1,   0x0516, /* CYRILLIC CAPITAL LETTER RHA */
> - /*1312*/    0x0519,  1,   0x0518, /* CYRILLIC CAPITAL LETTER YAE */
> - /*1315*/    0x051b,  1,   0x051a, /* CYRILLIC CAPITAL LETTER QA */
> - /*1318*/    0x051d,  1,   0x051c, /* CYRILLIC CAPITAL LETTER WE */
> - /*1321*/    0x051f,  1,   0x051e, /* CYRILLIC CAPITAL LETTER ALEUT KA */
> - /*1324*/    0x0521,  1,   0x0520, /* CYRILLIC CAPITAL LETTER EL WITH M.. */
> - /*1327*/    0x0523,  1,   0x0522, /* CYRILLIC CAPITAL LETTER EN WITH M.. */
> - /*1330*/    0x0525,  1,   0x0524, /* CYRILLIC CAPITAL LETTER PE WITH D.. */
> - /*1333*/    0x0527,  1,   0x0526, /* CYRILLIC CAPITAL LETTER SHHA WITH.. */
> - /*1336*/    0x0529,  1,   0x0528, /* CYRILLIC CAPITAL LETTER EN WITH L.. */
> - /*1339*/    0x052b,  1,   0x052a, /* CYRILLIC CAPITAL LETTER DZZHE */
> - /*1342*/    0x052d,  1,   0x052c, /* CYRILLIC CAPITAL LETTER DCHE */
> - /*1345*/    0x052f,  1,   0x052e, /* CYRILLIC CAPITAL LETTER EL WITH D.. */
> - /*1348*/    0x0561,  1,   0x0531, /* ARMENIAN CAPITAL LETTER AYB */
> - /*1351*/    0x0562,  1,   0x0532, /* ARMENIAN CAPITAL LETTER BEN */
> - /*1354*/    0x0563,  1,   0x0533, /* ARMENIAN CAPITAL LETTER GIM */
> - /*1357*/    0x0564,  1,   0x0534, /* ARMENIAN CAPITAL LETTER DA */
> - /*1360*/    0x0565,  1,   0x0535, /* ARMENIAN CAPITAL LETTER ECH */
> - /*1363*/    0x0566,  1,   0x0536, /* ARMENIAN CAPITAL LETTER ZA */
> - /*1366*/    0x0567,  1,   0x0537, /* ARMENIAN CAPITAL LETTER EH */
> - /*1369*/    0x0568,  1,   0x0538, /* ARMENIAN CAPITAL LETTER ET */
> - /*1372*/    0x0569,  1,   0x0539, /* ARMENIAN CAPITAL LETTER TO */
> - /*1375*/    0x056a,  1,   0x053a, /* ARMENIAN CAPITAL LETTER ZHE */
> - /*1378*/    0x056b,  1,   0x053b, /* ARMENIAN CAPITAL LETTER INI */
> - /*1381*/    0x056c,  1,   0x053c, /* ARMENIAN CAPITAL LETTER LIWN */
> - /*1384*/    0x056d,  1,   0x053d, /* ARMENIAN CAPITAL LETTER XEH */
> - /*1387*/    0x056e,  1,   0x053e, /* ARMENIAN CAPITAL LETTER CA */
> - /*1390*/    0x056f,  1,   0x053f, /* ARMENIAN CAPITAL LETTER KEN */
> - /*1393*/    0x0570,  1,   0x0540, /* ARMENIAN CAPITAL LETTER HO */
> - /*1396*/    0x0571,  1,   0x0541, /* ARMENIAN CAPITAL LETTER JA */
> - /*1399*/    0x0572,  1,   0x0542, /* ARMENIAN CAPITAL LETTER GHAD */
> - /*1402*/    0x0573,  1,   0x0543, /* ARMENIAN CAPITAL LETTER CHEH */
> - /*1405*/    0x0574,  1,   0x0544, /* ARMENIAN CAPITAL LETTER MEN */
> - /*1408*/    0x0575,  1,   0x0545, /* ARMENIAN CAPITAL LETTER YI */
> - /*1411*/    0x0576,  1,   0x0546, /* ARMENIAN CAPITAL LETTER NOW */
> - /*1414*/    0x0577,  1,   0x0547, /* ARMENIAN CAPITAL LETTER SHA */
> - /*1417*/    0x0578,  1,   0x0548, /* ARMENIAN CAPITAL LETTER VO */
> - /*1420*/    0x0579,  1,   0x0549, /* ARMENIAN CAPITAL LETTER CHA */
> - /*1423*/    0x057a,  1,   0x054a, /* ARMENIAN CAPITAL LETTER PEH */
> - /*1426*/    0x057b,  1,   0x054b, /* ARMENIAN CAPITAL LETTER JHEH */
> - /*1429*/    0x057c,  1,   0x054c, /* ARMENIAN CAPITAL LETTER RA */
> - /*1432*/    0x057d,  1,   0x054d, /* ARMENIAN CAPITAL LETTER SEH */
> - /*1435*/    0x057e,  1,   0x054e, /* ARMENIAN CAPITAL LETTER VEW */
> - /*1438*/    0x057f,  1,   0x054f, /* ARMENIAN CAPITAL LETTER TIWN */
> - /*1441*/    0x0580,  1,   0x0550, /* ARMENIAN CAPITAL LETTER REH */
> - /*1444*/    0x0581,  1,   0x0551, /* ARMENIAN CAPITAL LETTER CO */
> - /*1447*/    0x0582,  1,   0x0552, /* ARMENIAN CAPITAL LETTER YIWN */
> - /*1450*/    0x0583,  1,   0x0553, /* ARMENIAN CAPITAL LETTER PIWR */
> - /*1453*/    0x0584,  1,   0x0554, /* ARMENIAN CAPITAL LETTER KEH */
> - /*1456*/    0x0585,  1,   0x0555, /* ARMENIAN CAPITAL LETTER OH */
> - /*1459*/    0x0586,  1,   0x0556, /* ARMENIAN CAPITAL LETTER FEH */
> - /*1462*/    0x10d0,  1,   0x1c90, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1465*/    0x10d1,  1,   0x1c91, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1468*/    0x10d2,  1,   0x1c92, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1471*/    0x10d3,  1,   0x1c93, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1474*/    0x10d4,  1,   0x1c94, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1477*/    0x10d5,  1,   0x1c95, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1480*/    0x10d6,  1,   0x1c96, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1483*/    0x10d7,  1,   0x1c97, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1486*/    0x10d8,  1,   0x1c98, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1489*/    0x10d9,  1,   0x1c99, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1492*/    0x10da,  1,   0x1c9a, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1495*/    0x10db,  1,   0x1c9b, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1498*/    0x10dc,  1,   0x1c9c, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1501*/    0x10dd,  1,   0x1c9d, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1504*/    0x10de,  1,   0x1c9e, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1507*/    0x10df,  1,   0x1c9f, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1510*/    0x10e0,  1,   0x1ca0, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1513*/    0x10e1,  1,   0x1ca1, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1516*/    0x10e2,  1,   0x1ca2, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1519*/    0x10e3,  1,   0x1ca3, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1522*/    0x10e4,  1,   0x1ca4, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1525*/    0x10e5,  1,   0x1ca5, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1528*/    0x10e6,  1,   0x1ca6, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1531*/    0x10e7,  1,   0x1ca7, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1534*/    0x10e8,  1,   0x1ca8, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1537*/    0x10e9,  1,   0x1ca9, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1540*/    0x10ea,  1,   0x1caa, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1543*/    0x10eb,  1,   0x1cab, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1546*/    0x10ec,  1,   0x1cac, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1549*/    0x10ed,  1,   0x1cad, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1552*/    0x10ee,  1,   0x1cae, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1555*/    0x10ef,  1,   0x1caf, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1558*/    0x10f0,  1,   0x1cb0, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1561*/    0x10f1,  1,   0x1cb1, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1564*/    0x10f2,  1,   0x1cb2, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1567*/    0x10f3,  1,   0x1cb3, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1570*/    0x10f4,  1,   0x1cb4, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1573*/    0x10f5,  1,   0x1cb5, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1576*/    0x10f6,  1,   0x1cb6, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1579*/    0x10f7,  1,   0x1cb7, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1582*/    0x10f8,  1,   0x1cb8, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1585*/    0x10f9,  1,   0x1cb9, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1588*/    0x10fa,  1,   0x1cba, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1591*/    0x10fd,  1,   0x1cbd, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1594*/    0x10fe,  1,   0x1cbe, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1597*/    0x10ff,  1,   0x1cbf, /* GEORGIAN MTAVRULI CAPITAL LETTER ..
> */
> - /*1600*/    0x13a0,  1,   0xab70, /* CHEROKEE SMALL LETTER A */
> - /*1603*/    0x13a1,  1,   0xab71, /* CHEROKEE SMALL LETTER E */
> - /*1606*/    0x13a2,  1,   0xab72, /* CHEROKEE SMALL LETTER I */
> - /*1609*/    0x13a3,  1,   0xab73, /* CHEROKEE SMALL LETTER O */
> - /*1612*/    0x13a4,  1,   0xab74, /* CHEROKEE SMALL LETTER U */
> - /*1615*/    0x13a5,  1,   0xab75, /* CHEROKEE SMALL LETTER V */
> - /*1618*/    0x13a6,  1,   0xab76, /* CHEROKEE SMALL LETTER GA */
> - /*1621*/    0x13a7,  1,   0xab77, /* CHEROKEE SMALL LETTER KA */
> - /*1624*/    0x13a8,  1,   0xab78, /* CHEROKEE SMALL LETTER GE */
> - /*1627*/    0x13a9,  1,   0xab79, /* CHEROKEE SMALL LETTER GI */
> - /*1630*/    0x13aa,  1,   0xab7a, /* CHEROKEE SMALL LETTER GO */
> - /*1633*/    0x13ab,  1,   0xab7b, /* CHEROKEE SMALL LETTER GU */
> - /*1636*/    0x13ac,  1,   0xab7c, /* CHEROKEE SMALL LETTER GV */
> - /*1639*/    0x13ad,  1,   0xab7d, /* CHEROKEE SMALL LETTER HA */
> - /*1642*/    0x13ae,  1,   0xab7e, /* CHEROKEE SMALL LETTER HE */
> - /*1645*/    0x13af,  1,   0xab7f, /* CHEROKEE SMALL LETTER HI */
> - /*1648*/    0x13b0,  1,   0xab80, /* CHEROKEE SMALL LETTER HO */
> - /*1651*/    0x13b1,  1,   0xab81, /* CHEROKEE SMALL LETTER HU */
> - /*1654*/    0x13b2,  1,   0xab82, /* CHEROKEE SMALL LETTER HV */
> - /*1657*/    0x13b3,  1,   0xab83, /* CHEROKEE SMALL LETTER LA */
> - /*1660*/    0x13b4,  1,   0xab84, /* CHEROKEE SMALL LETTER LE */
> - /*1663*/    0x13b5,  1,   0xab85, /* CHEROKEE SMALL LETTER LI */
> - /*1666*/    0x13b6,  1,   0xab86, /* CHEROKEE SMALL LETTER LO */
> - /*1669*/    0x13b7,  1,   0xab87, /* CHEROKEE SMALL LETTER LU */
> - /*1672*/    0x13b8,  1,   0xab88, /* CHEROKEE SMALL LETTER LV */
> - /*1675*/    0x13b9,  1,   0xab89, /* CHEROKEE SMALL LETTER MA */
> - /*1678*/    0x13ba,  1,   0xab8a, /* CHEROKEE SMALL LETTER ME */
> - /*1681*/    0x13bb,  1,   0xab8b, /* CHEROKEE SMALL LETTER MI */
> - /*1684*/    0x13bc,  1,   0xab8c, /* CHEROKEE SMALL LETTER MO */
> - /*1687*/    0x13bd,  1,   0xab8d, /* CHEROKEE SMALL LETTER MU */
> - /*1690*/    0x13be,  1,   0xab8e, /* CHEROKEE SMALL LETTER NA */
> - /*1693*/    0x13bf,  1,   0xab8f, /* CHEROKEE SMALL LETTER HNA */
> - /*1696*/    0x13c0,  1,   0xab90, /* CHEROKEE SMALL LETTER NAH */
> - /*1699*/    0x13c1,  1,   0xab91, /* CHEROKEE SMALL LETTER NE */
> - /*1702*/    0x13c2,  1,   0xab92, /* CHEROKEE SMALL LETTER NI */
> - /*1705*/    0x13c3,  1,   0xab93, /* CHEROKEE SMALL LETTER NO */
> - /*1708*/    0x13c4,  1,   0xab94, /* CHEROKEE SMALL LETTER NU */
> - /*1711*/    0x13c5,  1,   0xab95, /* CHEROKEE SMALL LETTER NV */
> - /*1714*/    0x13c6,  1,   0xab96, /* CHEROKEE SMALL LETTER QUA */
> - /*1717*/    0x13c7,  1,   0xab97, /* CHEROKEE SMALL LETTER QUE */
> - /*1720*/    0x13c8,  1,   0xab98, /* CHEROKEE SMALL LETTER QUI */
> - /*1723*/    0x13c9,  1,   0xab99, /* CHEROKEE SMALL LETTER QUO */
> - /*1726*/    0x13ca,  1,   0xab9a, /* CHEROKEE SMALL LETTER QUU */
> - /*1729*/    0x13cb,  1,   0xab9b, /* CHEROKEE SMALL LETTER QUV */
> - /*1732*/    0x13cc,  1,   0xab9c, /* CHEROKEE SMALL LETTER SA */
> - /*1735*/    0x13cd,  1,   0xab9d, /* CHEROKEE SMALL LETTER S */
> - /*1738*/    0x13ce,  1,   0xab9e, /* CHEROKEE SMALL LETTER SE */
> - /*1741*/    0x13cf,  1,   0xab9f, /* CHEROKEE SMALL LETTER SI */
> - /*1744*/    0x13d0,  1,   0xaba0, /* CHEROKEE SMALL LETTER SO */
> - /*1747*/    0x13d1,  1,   0xaba1, /* CHEROKEE SMALL LETTER SU */
> - /*1750*/    0x13d2,  1,   0xaba2, /* CHEROKEE SMALL LETTER SV */
> - /*1753*/    0x13d3,  1,   0xaba3, /* CHEROKEE SMALL LETTER DA */
> - /*1756*/    0x13d4,  1,   0xaba4, /* CHEROKEE SMALL LETTER TA */
> - /*1759*/    0x13d5,  1,   0xaba5, /* CHEROKEE SMALL LETTER DE */
> - /*1762*/    0x13d6,  1,   0xaba6, /* CHEROKEE SMALL LETTER TE */
> - /*1765*/    0x13d7,  1,   0xaba7, /* CHEROKEE SMALL LETTER DI */
> - /*1768*/    0x13d8,  1,   0xaba8, /* CHEROKEE SMALL LETTER TI */
> - /*1771*/    0x13d9,  1,   0xaba9, /* CHEROKEE SMALL LETTER DO */
> - /*1774*/    0x13da,  1,   0xabaa, /* CHEROKEE SMALL LETTER DU */
> - /*1777*/    0x13db,  1,   0xabab, /* CHEROKEE SMALL LETTER DV */
> - /*1780*/    0x13dc,  1,   0xabac, /* CHEROKEE SMALL LETTER DLA */
> - /*1783*/    0x13dd,  1,   0xabad, /* CHEROKEE SMALL LETTER TLA */
> - /*1786*/    0x13de,  1,   0xabae, /* CHEROKEE SMALL LETTER TLE */
> - /*1789*/    0x13df,  1,   0xabaf, /* CHEROKEE SMALL LETTER TLI */
> - /*1792*/    0x13e0,  1,   0xabb0, /* CHEROKEE SMALL LETTER TLO */
> - /*1795*/    0x13e1,  1,   0xabb1, /* CHEROKEE SMALL LETTER TLU */
> - /*1798*/    0x13e2,  1,   0xabb2, /* CHEROKEE SMALL LETTER TLV */
> - /*1801*/    0x13e3,  1,   0xabb3, /* CHEROKEE SMALL LETTER TSA */
> - /*1804*/    0x13e4,  1,   0xabb4, /* CHEROKEE SMALL LETTER TSE */
> - /*1807*/    0x13e5,  1,   0xabb5, /* CHEROKEE SMALL LETTER TSI */
> - /*1810*/    0x13e6,  1,   0xabb6, /* CHEROKEE SMALL LETTER TSO */
> - /*1813*/    0x13e7,  1,   0xabb7, /* CHEROKEE SMALL LETTER TSU */
> - /*1816*/    0x13e8,  1,   0xabb8, /* CHEROKEE SMALL LETTER TSV */
> - /*1819*/    0x13e9,  1,   0xabb9, /* CHEROKEE SMALL LETTER WA */
> - /*1822*/    0x13ea,  1,   0xabba, /* CHEROKEE SMALL LETTER WE */
> - /*1825*/    0x13eb,  1,   0xabbb, /* CHEROKEE SMALL LETTER WI */
> - /*1828*/    0x13ec,  1,   0xabbc, /* CHEROKEE SMALL LETTER WO */
> - /*1831*/    0x13ed,  1,   0xabbd, /* CHEROKEE SMALL LETTER WU */
> - /*1834*/    0x13ee,  1,   0xabbe, /* CHEROKEE SMALL LETTER WV */
> - /*1837*/    0x13ef,  1,   0xabbf, /* CHEROKEE SMALL LETTER YA */
> - /*1840*/    0x13f0,  1,   0x13f8, /* CHEROKEE SMALL LETTER YE */
> - /*1843*/    0x13f1,  1,   0x13f9, /* CHEROKEE SMALL LETTER YI */
> - /*1846*/    0x13f2,  1,   0x13fa, /* CHEROKEE SMALL LETTER YO */
> - /*1849*/    0x13f3,  1,   0x13fb, /* CHEROKEE SMALL LETTER YU */
> - /*1852*/    0x13f4,  1,   0x13fc, /* CHEROKEE SMALL LETTER YV */
> - /*1855*/    0x13f5,  1,   0x13fd, /* CHEROKEE SMALL LETTER MV */
> - /*1858*/    0x1d79,  1,   0xa77d, /* LATIN CAPITAL LETTER INSULAR G */
> - /*1861*/    0x1d7d,  1,   0x2c63, /* LATIN CAPITAL LETTER P WITH STROKE */
> - /*1864*/    0x1d8e,  1,   0xa7c6, /* LATIN CAPITAL LETTER Z WITH PALAT.. */
> - /*1867*/    0x1e01,  1,   0x1e00, /* LATIN CAPITAL LETTER A WITH RING .. */
> - /*1870*/    0x1e03,  1,   0x1e02, /* LATIN CAPITAL LETTER B WITH DOT A.. */
> - /*1873*/    0x1e05,  1,   0x1e04, /* LATIN CAPITAL LETTER B WITH DOT B.. */
> - /*1876*/    0x1e07,  1,   0x1e06, /* LATIN CAPITAL LETTER B WITH LINE .. */
> - /*1879*/    0x1e09,  1,   0x1e08, /* LATIN CAPITAL LETTER C WITH CEDIL.. */
> - /*1882*/    0x1e0b,  1,   0x1e0a, /* LATIN CAPITAL LETTER D WITH DOT A.. */
> - /*1885*/    0x1e0d,  1,   0x1e0c, /* LATIN CAPITAL LETTER D WITH DOT B.. */
> - /*1888*/    0x1e0f,  1,   0x1e0e, /* LATIN CAPITAL LETTER D WITH LINE .. */
> - /*1891*/    0x1e11,  1,   0x1e10, /* LATIN CAPITAL LETTER D WITH CEDIL.. */
> - /*1894*/    0x1e13,  1,   0x1e12, /* LATIN CAPITAL LETTER D WITH CIRCU.. */
> - /*1897*/    0x1e15,  1,   0x1e14, /* LATIN CAPITAL LETTER E WITH MACRO..
> */
> - /*1900*/    0x1e17,  1,   0x1e16, /* LATIN CAPITAL LETTER E WITH MACRO..
> */
> - /*1903*/    0x1e19,  1,   0x1e18, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
> - /*1906*/    0x1e1b,  1,   0x1e1a, /* LATIN CAPITAL LETTER E WITH TILDE.. */
> - /*1909*/    0x1e1d,  1,   0x1e1c, /* LATIN CAPITAL LETTER E WITH CEDIL.. */
> - /*1912*/    0x1e1f,  1,   0x1e1e, /* LATIN CAPITAL LETTER F WITH DOT A.. */
> - /*1915*/    0x1e21,  1,   0x1e20, /* LATIN CAPITAL LETTER G WITH MACRON
> */
> - /*1918*/    0x1e23,  1,   0x1e22, /* LATIN CAPITAL LETTER H WITH DOT A.. */
> - /*1921*/    0x1e25,  1,   0x1e24, /* LATIN CAPITAL LETTER H WITH DOT B.. */
> - /*1924*/    0x1e27,  1,   0x1e26, /* LATIN CAPITAL LETTER H WITH DIAER.. */
> - /*1927*/    0x1e29,  1,   0x1e28, /* LATIN CAPITAL LETTER H WITH CEDIL.. */
> - /*1930*/    0x1e2b,  1,   0x1e2a, /* LATIN CAPITAL LETTER H WITH BREVE.. */
> - /*1933*/    0x1e2d,  1,   0x1e2c, /* LATIN CAPITAL LETTER I WITH TILDE.. */
> - /*1936*/    0x1e2f,  1,   0x1e2e, /* LATIN CAPITAL LETTER I WITH DIAER.. */
> - /*1939*/    0x1e31,  1,   0x1e30, /* LATIN CAPITAL LETTER K WITH ACUTE */
> - /*1942*/    0x1e33,  1,   0x1e32, /* LATIN CAPITAL LETTER K WITH DOT B.. */
> - /*1945*/    0x1e35,  1,   0x1e34, /* LATIN CAPITAL LETTER K WITH LINE .. */
> - /*1948*/    0x1e37,  1,   0x1e36, /* LATIN CAPITAL LETTER L WITH DOT B.. */
> - /*1951*/    0x1e39,  1,   0x1e38, /* LATIN CAPITAL LETTER L WITH DOT B.. */
> - /*1954*/    0x1e3b,  1,   0x1e3a, /* LATIN CAPITAL LETTER L WITH LINE .. */
> - /*1957*/    0x1e3d,  1,   0x1e3c, /* LATIN CAPITAL LETTER L WITH CIRCU.. */
> - /*1960*/    0x1e3f,  1,   0x1e3e, /* LATIN CAPITAL LETTER M WITH ACUTE */
> - /*1963*/    0x1e41,  1,   0x1e40, /* LATIN CAPITAL LETTER M WITH DOT A.. */
> - /*1966*/    0x1e43,  1,   0x1e42, /* LATIN CAPITAL LETTER M WITH DOT B.. */
> - /*1969*/    0x1e45,  1,   0x1e44, /* LATIN CAPITAL LETTER N WITH DOT A.. */
> - /*1972*/    0x1e47,  1,   0x1e46, /* LATIN CAPITAL LETTER N WITH DOT B.. */
> - /*1975*/    0x1e49,  1,   0x1e48, /* LATIN CAPITAL LETTER N WITH LINE .. */
> - /*1978*/    0x1e4b,  1,   0x1e4a, /* LATIN CAPITAL LETTER N WITH CIRCU.. */
> - /*1981*/    0x1e4d,  1,   0x1e4c, /* LATIN CAPITAL LETTER O WITH TILDE.. */
> - /*1984*/    0x1e4f,  1,   0x1e4e, /* LATIN CAPITAL LETTER O WITH TILDE.. */
> - /*1987*/    0x1e51,  1,   0x1e50, /* LATIN CAPITAL LETTER O WITH MACRO..
> */
> - /*1990*/    0x1e53,  1,   0x1e52, /* LATIN CAPITAL LETTER O WITH MACRO..
> */
> - /*1993*/    0x1e55,  1,   0x1e54, /* LATIN CAPITAL LETTER P WITH ACUTE */
> - /*1996*/    0x1e57,  1,   0x1e56, /* LATIN CAPITAL LETTER P WITH DOT A.. */
> - /*1999*/    0x1e59,  1,   0x1e58, /* LATIN CAPITAL LETTER R WITH DOT A.. */
> - /*2002*/    0x1e5b,  1,   0x1e5a, /* LATIN CAPITAL LETTER R WITH DOT B.. */
> - /*2005*/    0x1e5d,  1,   0x1e5c, /* LATIN CAPITAL LETTER R WITH DOT B.. */
> - /*2008*/    0x1e5f,  1,   0x1e5e, /* LATIN CAPITAL LETTER R WITH LINE .. */
> - /*2011*/    0x1e61,  2,   0x1e60,   0x1e9b, /* LATIN CAPITAL LETTER S WITH
> DOT A.. */
> - /*2015*/    0x1e63,  1,   0x1e62, /* LATIN CAPITAL LETTER S WITH DOT B.. */
> - /*2018*/    0x1e65,  1,   0x1e64, /* LATIN CAPITAL LETTER S WITH ACUTE.. */
> - /*2021*/    0x1e67,  1,   0x1e66, /* LATIN CAPITAL LETTER S WITH CARON.. */
> - /*2024*/    0x1e69,  1,   0x1e68, /* LATIN CAPITAL LETTER S WITH DOT B.. */
> - /*2027*/    0x1e6b,  1,   0x1e6a, /* LATIN CAPITAL LETTER T WITH DOT A.. */
> - /*2030*/    0x1e6d,  1,   0x1e6c, /* LATIN CAPITAL LETTER T WITH DOT B.. */
> - /*2033*/    0x1e6f,  1,   0x1e6e, /* LATIN CAPITAL LETTER T WITH LINE .. */
> - /*2036*/    0x1e71,  1,   0x1e70, /* LATIN CAPITAL LETTER T WITH CIRCU.. */
> - /*2039*/    0x1e73,  1,   0x1e72, /* LATIN CAPITAL LETTER U WITH DIAER.. */
> - /*2042*/    0x1e75,  1,   0x1e74, /* LATIN CAPITAL LETTER U WITH TILDE.. */
> - /*2045*/    0x1e77,  1,   0x1e76, /* LATIN CAPITAL LETTER U WITH CIRCU.. */
> - /*2048*/    0x1e79,  1,   0x1e78, /* LATIN CAPITAL LETTER U WITH TILDE.. */
> - /*2051*/    0x1e7b,  1,   0x1e7a, /* LATIN CAPITAL LETTER U WITH MACRO..
> */
> - /*2054*/    0x1e7d,  1,   0x1e7c, /* LATIN CAPITAL LETTER V WITH TILDE */
> - /*2057*/    0x1e7f,  1,   0x1e7e, /* LATIN CAPITAL LETTER V WITH DOT B.. */
> - /*2060*/    0x1e81,  1,   0x1e80, /* LATIN CAPITAL LETTER W WITH GRAVE */
> - /*2063*/    0x1e83,  1,   0x1e82, /* LATIN CAPITAL LETTER W WITH ACUTE */
> - /*2066*/    0x1e85,  1,   0x1e84, /* LATIN CAPITAL LETTER W WITH DIAER.. */
> - /*2069*/    0x1e87,  1,   0x1e86, /* LATIN CAPITAL LETTER W WITH DOT A.. */
> - /*2072*/    0x1e89,  1,   0x1e88, /* LATIN CAPITAL LETTER W WITH DOT B.. */
> - /*2075*/    0x1e8b,  1,   0x1e8a, /* LATIN CAPITAL LETTER X WITH DOT A.. */
> - /*2078*/    0x1e8d,  1,   0x1e8c, /* LATIN CAPITAL LETTER X WITH DIAER.. */
> - /*2081*/    0x1e8f,  1,   0x1e8e, /* LATIN CAPITAL LETTER Y WITH DOT A.. */
> - /*2084*/    0x1e91,  1,   0x1e90, /* LATIN CAPITAL LETTER Z WITH CIRCU.. */
> - /*2087*/    0x1e93,  1,   0x1e92, /* LATIN CAPITAL LETTER Z WITH DOT B.. */
> - /*2090*/    0x1e95,  1,   0x1e94, /* LATIN CAPITAL LETTER Z WITH LINE .. */
> - /*2093*/    0x1ea1,  1,   0x1ea0, /* LATIN CAPITAL LETTER A WITH DOT B.. */
> - /*2096*/    0x1ea3,  1,   0x1ea2, /* LATIN CAPITAL LETTER A WITH HOOK .. */
> - /*2099*/    0x1ea5,  1,   0x1ea4, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
> - /*2102*/    0x1ea7,  1,   0x1ea6, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
> - /*2105*/    0x1ea9,  1,   0x1ea8, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
> - /*2108*/    0x1eab,  1,   0x1eaa, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
> - /*2111*/    0x1ead,  1,   0x1eac, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
> - /*2114*/    0x1eaf,  1,   0x1eae, /* LATIN CAPITAL LETTER A WITH BREVE.. */
> - /*2117*/    0x1eb1,  1,   0x1eb0, /* LATIN CAPITAL LETTER A WITH BREVE.. */
> - /*2120*/    0x1eb3,  1,   0x1eb2, /* LATIN CAPITAL LETTER A WITH BREVE.. */
> - /*2123*/    0x1eb5,  1,   0x1eb4, /* LATIN CAPITAL LETTER A WITH BREVE.. */
> - /*2126*/    0x1eb7,  1,   0x1eb6, /* LATIN CAPITAL LETTER A WITH BREVE.. */
> - /*2129*/    0x1eb9,  1,   0x1eb8, /* LATIN CAPITAL LETTER E WITH DOT B.. */
> - /*2132*/    0x1ebb,  1,   0x1eba, /* LATIN CAPITAL LETTER E WITH HOOK .. */
> - /*2135*/    0x1ebd,  1,   0x1ebc, /* LATIN CAPITAL LETTER E WITH TILDE */
> - /*2138*/    0x1ebf,  1,   0x1ebe, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
> - /*2141*/    0x1ec1,  1,   0x1ec0, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
> - /*2144*/    0x1ec3,  1,   0x1ec2, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
> - /*2147*/    0x1ec5,  1,   0x1ec4, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
> - /*2150*/    0x1ec7,  1,   0x1ec6, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
> - /*2153*/    0x1ec9,  1,   0x1ec8, /* LATIN CAPITAL LETTER I WITH HOOK .. */
> - /*2156*/    0x1ecb,  1,   0x1eca, /* LATIN CAPITAL LETTER I WITH DOT B.. */
> - /*2159*/    0x1ecd,  1,   0x1ecc, /* LATIN CAPITAL LETTER O WITH DOT B.. */
> - /*2162*/    0x1ecf,  1,   0x1ece, /* LATIN CAPITAL LETTER O WITH HOOK .. */
> - /*2165*/    0x1ed1,  1,   0x1ed0, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
> - /*2168*/    0x1ed3,  1,   0x1ed2, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
> - /*2171*/    0x1ed5,  1,   0x1ed4, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
> - /*2174*/    0x1ed7,  1,   0x1ed6, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
> - /*2177*/    0x1ed9,  1,   0x1ed8, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
> - /*2180*/    0x1edb,  1,   0x1eda, /* LATIN CAPITAL LETTER O WITH HORN ..
> */
> - /*2183*/    0x1edd,  1,   0x1edc, /* LATIN CAPITAL LETTER O WITH HORN .. */
> - /*2186*/    0x1edf,  1,   0x1ede, /* LATIN CAPITAL LETTER O WITH HORN .. */
> - /*2189*/    0x1ee1,  1,   0x1ee0, /* LATIN CAPITAL LETTER O WITH HORN .. */
> - /*2192*/    0x1ee3,  1,   0x1ee2, /* LATIN CAPITAL LETTER O WITH HORN .. */
> - /*2195*/    0x1ee5,  1,   0x1ee4, /* LATIN CAPITAL LETTER U WITH DOT B.. */
> - /*2198*/    0x1ee7,  1,   0x1ee6, /* LATIN CAPITAL LETTER U WITH HOOK .. */
> - /*2201*/    0x1ee9,  1,   0x1ee8, /* LATIN CAPITAL LETTER U WITH HORN .. */
> - /*2204*/    0x1eeb,  1,   0x1eea, /* LATIN CAPITAL LETTER U WITH HORN ..
> */
> - /*2207*/    0x1eed,  1,   0x1eec, /* LATIN CAPITAL LETTER U WITH HORN .. */
> - /*2210*/    0x1eef,  1,   0x1eee, /* LATIN CAPITAL LETTER U WITH HORN .. */
> - /*2213*/    0x1ef1,  1,   0x1ef0, /* LATIN CAPITAL LETTER U WITH HORN .. */
> - /*2216*/    0x1ef3,  1,   0x1ef2, /* LATIN CAPITAL LETTER Y WITH GRAVE */
> - /*2219*/    0x1ef5,  1,   0x1ef4, /* LATIN CAPITAL LETTER Y WITH DOT B.. */
> - /*2222*/    0x1ef7,  1,   0x1ef6, /* LATIN CAPITAL LETTER Y WITH HOOK .. */
> - /*2225*/    0x1ef9,  1,   0x1ef8, /* LATIN CAPITAL LETTER Y WITH TILDE */
> - /*2228*/    0x1efb,  1,   0x1efa, /* LATIN CAPITAL LETTER MIDDLE-WELSH..
> */
> - /*2231*/    0x1efd,  1,   0x1efc, /* LATIN CAPITAL LETTER MIDDLE-WELSH.. */
> - /*2234*/    0x1eff,  1,   0x1efe, /* LATIN CAPITAL LETTER Y WITH LOOP */
> - /*2237*/    0x1f00,  1,   0x1f08, /* GREEK CAPITAL LETTER ALPHA WITH P.. */
> - /*2240*/    0x1f01,  1,   0x1f09, /* GREEK CAPITAL LETTER ALPHA WITH D.. */
> - /*2243*/    0x1f02,  1,   0x1f0a, /* GREEK CAPITAL LETTER ALPHA WITH P.. */
> - /*2246*/    0x1f03,  1,   0x1f0b, /* GREEK CAPITAL LETTER ALPHA WITH D.. */
> - /*2249*/    0x1f04,  1,   0x1f0c, /* GREEK CAPITAL LETTER ALPHA WITH P.. */
> - /*2252*/    0x1f05,  1,   0x1f0d, /* GREEK CAPITAL LETTER ALPHA WITH D.. */
> - /*2255*/    0x1f06,  1,   0x1f0e, /* GREEK CAPITAL LETTER ALPHA WITH P.. */
> - /*2258*/    0x1f07,  1,   0x1f0f, /* GREEK CAPITAL LETTER ALPHA WITH D.. */
> - /*2261*/    0x1f10,  1,   0x1f18, /* GREEK CAPITAL LETTER EPSILON WITH.. */
> - /*2264*/    0x1f11,  1,   0x1f19, /* GREEK CAPITAL LETTER EPSILON WITH.. */
> - /*2267*/    0x1f12,  1,   0x1f1a, /* GREEK CAPITAL LETTER EPSILON WITH.. */
> - /*2270*/    0x1f13,  1,   0x1f1b, /* GREEK CAPITAL LETTER EPSILON WITH.. */
> - /*2273*/    0x1f14,  1,   0x1f1c, /* GREEK CAPITAL LETTER EPSILON WITH.. */
> - /*2276*/    0x1f15,  1,   0x1f1d, /* GREEK CAPITAL LETTER EPSILON WITH.. */
> - /*2279*/    0x1f20,  1,   0x1f28, /* GREEK CAPITAL LETTER ETA WITH PSI.. */
> - /*2282*/    0x1f21,  1,   0x1f29, /* GREEK CAPITAL LETTER ETA WITH DAS.. */
> - /*2285*/    0x1f22,  1,   0x1f2a, /* GREEK CAPITAL LETTER ETA WITH PSI.. */
> - /*2288*/    0x1f23,  1,   0x1f2b, /* GREEK CAPITAL LETTER ETA WITH DAS.. */
> - /*2291*/    0x1f24,  1,   0x1f2c, /* GREEK CAPITAL LETTER ETA WITH PSI.. */
> - /*2294*/    0x1f25,  1,   0x1f2d, /* GREEK CAPITAL LETTER ETA WITH DAS.. */
> - /*2297*/    0x1f26,  1,   0x1f2e, /* GREEK CAPITAL LETTER ETA WITH PSI.. */
> - /*2300*/    0x1f27,  1,   0x1f2f, /* GREEK CAPITAL LETTER ETA WITH DAS.. */
> - /*2303*/    0x1f30,  1,   0x1f38, /* GREEK CAPITAL LETTER IOTA WITH PS.. */
> - /*2306*/    0x1f31,  1,   0x1f39, /* GREEK CAPITAL LETTER IOTA WITH DA.. */
> - /*2309*/    0x1f32,  1,   0x1f3a, /* GREEK CAPITAL LETTER IOTA WITH PS.. */
> - /*2312*/    0x1f33,  1,   0x1f3b, /* GREEK CAPITAL LETTER IOTA WITH DA.. */
> - /*2315*/    0x1f34,  1,   0x1f3c, /* GREEK CAPITAL LETTER IOTA WITH PS.. */
> - /*2318*/    0x1f35,  1,   0x1f3d, /* GREEK CAPITAL LETTER IOTA WITH DA.. */
> - /*2321*/    0x1f36,  1,   0x1f3e, /* GREEK CAPITAL LETTER IOTA WITH PS.. */
> - /*2324*/    0x1f37,  1,   0x1f3f, /* GREEK CAPITAL LETTER IOTA WITH DA.. */
> - /*2327*/    0x1f40,  1,   0x1f48, /* GREEK CAPITAL LETTER OMICRON WITH..
> */
> - /*2330*/    0x1f41,  1,   0x1f49, /* GREEK CAPITAL LETTER OMICRON WITH..
> */
> - /*2333*/    0x1f42,  1,   0x1f4a, /* GREEK CAPITAL LETTER OMICRON WITH..
> */
> - /*2336*/    0x1f43,  1,   0x1f4b, /* GREEK CAPITAL LETTER OMICRON WITH..
> */
> - /*2339*/    0x1f44,  1,   0x1f4c, /* GREEK CAPITAL LETTER OMICRON WITH..
> */
> - /*2342*/    0x1f45,  1,   0x1f4d, /* GREEK CAPITAL LETTER OMICRON WITH..
> */
> - /*2345*/    0x1f51,  1,   0x1f59, /* GREEK CAPITAL LETTER UPSILON WITH.. */
> - /*2348*/    0x1f53,  1,   0x1f5b, /* GREEK CAPITAL LETTER UPSILON WITH.. */
> - /*2351*/    0x1f55,  1,   0x1f5d, /* GREEK CAPITAL LETTER UPSILON WITH.. */
> - /*2354*/    0x1f57,  1,   0x1f5f, /* GREEK CAPITAL LETTER UPSILON WITH.. */
> - /*2357*/    0x1f60,  1,   0x1f68, /* GREEK CAPITAL LETTER OMEGA WITH P..
> */
> - /*2360*/    0x1f61,  1,   0x1f69, /* GREEK CAPITAL LETTER OMEGA WITH D..
> */
> - /*2363*/    0x1f62,  1,   0x1f6a, /* GREEK CAPITAL LETTER OMEGA WITH P..
> */
> - /*2366*/    0x1f63,  1,   0x1f6b, /* GREEK CAPITAL LETTER OMEGA WITH D..
> */
> - /*2369*/    0x1f64,  1,   0x1f6c, /* GREEK CAPITAL LETTER OMEGA WITH P..
> */
> - /*2372*/    0x1f65,  1,   0x1f6d, /* GREEK CAPITAL LETTER OMEGA WITH D..
> */
> - /*2375*/    0x1f66,  1,   0x1f6e, /* GREEK CAPITAL LETTER OMEGA WITH P..
> */
> - /*2378*/    0x1f67,  1,   0x1f6f, /* GREEK CAPITAL LETTER OMEGA WITH D..
> */
> - /*2381*/    0x1f70,  1,   0x1fba, /* GREEK CAPITAL LETTER ALPHA WITH V.. */
> - /*2384*/    0x1f71,  1,   0x1fbb, /* GREEK CAPITAL LETTER ALPHA WITH O.. */
> - /*2387*/    0x1f72,  1,   0x1fc8, /* GREEK CAPITAL LETTER EPSILON WITH.. */
> - /*2390*/    0x1f73,  1,   0x1fc9, /* GREEK CAPITAL LETTER EPSILON WITH.. */
> - /*2393*/    0x1f74,  1,   0x1fca, /* GREEK CAPITAL LETTER ETA WITH VAR.. */
> - /*2396*/    0x1f75,  1,   0x1fcb, /* GREEK CAPITAL LETTER ETA WITH OXIA */
> - /*2399*/    0x1f76,  1,   0x1fda, /* GREEK CAPITAL LETTER IOTA WITH VA.. */
> - /*2402*/    0x1f77,  1,   0x1fdb, /* GREEK CAPITAL LETTER IOTA WITH OX.. */
> - /*2405*/    0x1f78,  1,   0x1ff8, /* GREEK CAPITAL LETTER OMICRON WITH..
> */
> - /*2408*/    0x1f79,  1,   0x1ff9, /* GREEK CAPITAL LETTER OMICRON WITH..
> */
> - /*2411*/    0x1f7a,  1,   0x1fea, /* GREEK CAPITAL LETTER UPSILON WITH.. */
> - /*2414*/    0x1f7b,  1,   0x1feb, /* GREEK CAPITAL LETTER UPSILON WITH..
> */
> - /*2417*/    0x1f7c,  1,   0x1ffa, /* GREEK CAPITAL LETTER OMEGA WITH V..
> */
> - /*2420*/    0x1f7d,  1,   0x1ffb, /* GREEK CAPITAL LETTER OMEGA WITH O..
> */
> - /*2423*/    0x1fb0,  1,   0x1fb8, /* GREEK CAPITAL LETTER ALPHA WITH V.. */
> - /*2426*/    0x1fb1,  1,   0x1fb9, /* GREEK CAPITAL LETTER ALPHA WITH M..
> */
> - /*2429*/    0x1fd0,  1,   0x1fd8, /* GREEK CAPITAL LETTER IOTA WITH VR.. */
> - /*2432*/    0x1fd1,  1,   0x1fd9, /* GREEK CAPITAL LETTER IOTA WITH MA.. */
> - /*2435*/    0x1fe0,  1,   0x1fe8, /* GREEK CAPITAL LETTER UPSILON WITH.. */
> - /*2438*/    0x1fe1,  1,   0x1fe9, /* GREEK CAPITAL LETTER UPSILON WITH.. */
> - /*2441*/    0x1fe5,  1,   0x1fec, /* GREEK CAPITAL LETTER RHO WITH DAS.. */
> - /*2444*/    0x214e,  1,   0x2132, /* TURNED CAPITAL F */
> - /*2447*/    0x2170,  1,   0x2160, /* ROMAN NUMERAL ONE */
> - /*2450*/    0x2171,  1,   0x2161, /* ROMAN NUMERAL TWO */
> - /*2453*/    0x2172,  1,   0x2162, /* ROMAN NUMERAL THREE */
> - /*2456*/    0x2173,  1,   0x2163, /* ROMAN NUMERAL FOUR */
> - /*2459*/    0x2174,  1,   0x2164, /* ROMAN NUMERAL FIVE */
> - /*2462*/    0x2175,  1,   0x2165, /* ROMAN NUMERAL SIX */
> - /*2465*/    0x2176,  1,   0x2166, /* ROMAN NUMERAL SEVEN */
> - /*2468*/    0x2177,  1,   0x2167, /* ROMAN NUMERAL EIGHT */
> - /*2471*/    0x2178,  1,   0x2168, /* ROMAN NUMERAL NINE */
> - /*2474*/    0x2179,  1,   0x2169, /* ROMAN NUMERAL TEN */
> - /*2477*/    0x217a,  1,   0x216a, /* ROMAN NUMERAL ELEVEN */
> - /*2480*/    0x217b,  1,   0x216b, /* ROMAN NUMERAL TWELVE */
> - /*2483*/    0x217c,  1,   0x216c, /* ROMAN NUMERAL FIFTY */
> - /*2486*/    0x217d,  1,   0x216d, /* ROMAN NUMERAL ONE HUNDRED */
> - /*2489*/    0x217e,  1,   0x216e, /* ROMAN NUMERAL FIVE HUNDRED */
> - /*2492*/    0x217f,  1,   0x216f, /* ROMAN NUMERAL ONE THOUSAND */
> - /*2495*/    0x2184,  1,   0x2183, /* ROMAN NUMERAL REVERSED ONE
> HUNDRED */
> - /*2498*/    0x24d0,  1,   0x24b6, /* CIRCLED LATIN CAPITAL LETTER A */
> - /*2501*/    0x24d1,  1,   0x24b7, /* CIRCLED LATIN CAPITAL LETTER B */
> - /*2504*/    0x24d2,  1,   0x24b8, /* CIRCLED LATIN CAPITAL LETTER C */
> - /*2507*/    0x24d3,  1,   0x24b9, /* CIRCLED LATIN CAPITAL LETTER D */
> - /*2510*/    0x24d4,  1,   0x24ba, /* CIRCLED LATIN CAPITAL LETTER E */
> - /*2513*/    0x24d5,  1,   0x24bb, /* CIRCLED LATIN CAPITAL LETTER F */
> - /*2516*/    0x24d6,  1,   0x24bc, /* CIRCLED LATIN CAPITAL LETTER G */
> - /*2519*/    0x24d7,  1,   0x24bd, /* CIRCLED LATIN CAPITAL LETTER H */
> - /*2522*/    0x24d8,  1,   0x24be, /* CIRCLED LATIN CAPITAL LETTER I */
> - /*2525*/    0x24d9,  1,   0x24bf, /* CIRCLED LATIN CAPITAL LETTER J */
> - /*2528*/    0x24da,  1,   0x24c0, /* CIRCLED LATIN CAPITAL LETTER K */
> - /*2531*/    0x24db,  1,   0x24c1, /* CIRCLED LATIN CAPITAL LETTER L */
> - /*2534*/    0x24dc,  1,   0x24c2, /* CIRCLED LATIN CAPITAL LETTER M */
> - /*2537*/    0x24dd,  1,   0x24c3, /* CIRCLED LATIN CAPITAL LETTER N */
> - /*2540*/    0x24de,  1,   0x24c4, /* CIRCLED LATIN CAPITAL LETTER O */
> - /*2543*/    0x24df,  1,   0x24c5, /* CIRCLED LATIN CAPITAL LETTER P */
> - /*2546*/    0x24e0,  1,   0x24c6, /* CIRCLED LATIN CAPITAL LETTER Q */
> - /*2549*/    0x24e1,  1,   0x24c7, /* CIRCLED LATIN CAPITAL LETTER R */
> - /*2552*/    0x24e2,  1,   0x24c8, /* CIRCLED LATIN CAPITAL LETTER S */
> - /*2555*/    0x24e3,  1,   0x24c9, /* CIRCLED LATIN CAPITAL LETTER T */
> - /*2558*/    0x24e4,  1,   0x24ca, /* CIRCLED LATIN CAPITAL LETTER U */
> - /*2561*/    0x24e5,  1,   0x24cb, /* CIRCLED LATIN CAPITAL LETTER V */
> - /*2564*/    0x24e6,  1,   0x24cc, /* CIRCLED LATIN CAPITAL LETTER W */
> - /*2567*/    0x24e7,  1,   0x24cd, /* CIRCLED LATIN CAPITAL LETTER X */
> - /*2570*/    0x24e8,  1,   0x24ce, /* CIRCLED LATIN CAPITAL LETTER Y */
> - /*2573*/    0x24e9,  1,   0x24cf, /* CIRCLED LATIN CAPITAL LETTER Z */
> - /*2576*/    0x2c30,  1,   0x2c00, /* GLAGOLITIC CAPITAL LETTER AZU */
> - /*2579*/    0x2c31,  1,   0x2c01, /* GLAGOLITIC CAPITAL LETTER BUKY */
> - /*2582*/    0x2c32,  1,   0x2c02, /* GLAGOLITIC CAPITAL LETTER VEDE */
> - /*2585*/    0x2c33,  1,   0x2c03, /* GLAGOLITIC CAPITAL LETTER GLAGOLI */
> - /*2588*/    0x2c34,  1,   0x2c04, /* GLAGOLITIC CAPITAL LETTER DOBRO */
> - /*2591*/    0x2c35,  1,   0x2c05, /* GLAGOLITIC CAPITAL LETTER YESTU */
> - /*2594*/    0x2c36,  1,   0x2c06, /* GLAGOLITIC CAPITAL LETTER ZHIVETE */
> - /*2597*/    0x2c37,  1,   0x2c07, /* GLAGOLITIC CAPITAL LETTER DZELO */
> - /*2600*/    0x2c38,  1,   0x2c08, /* GLAGOLITIC CAPITAL LETTER ZEMLJA */
> - /*2603*/    0x2c39,  1,   0x2c09, /* GLAGOLITIC CAPITAL LETTER IZHE */
> - /*2606*/    0x2c3a,  1,   0x2c0a, /* GLAGOLITIC CAPITAL LETTER INITIAL.. */
> - /*2609*/    0x2c3b,  1,   0x2c0b, /* GLAGOLITIC CAPITAL LETTER I */
> - /*2612*/    0x2c3c,  1,   0x2c0c, /* GLAGOLITIC CAPITAL LETTER DJERVI */
> - /*2615*/    0x2c3d,  1,   0x2c0d, /* GLAGOLITIC CAPITAL LETTER KAKO */
> - /*2618*/    0x2c3e,  1,   0x2c0e, /* GLAGOLITIC CAPITAL LETTER LJUDIJE */
> - /*2621*/    0x2c3f,  1,   0x2c0f, /* GLAGOLITIC CAPITAL LETTER MYSLITE */
> - /*2624*/    0x2c40,  1,   0x2c10, /* GLAGOLITIC CAPITAL LETTER NASHI */
> - /*2627*/    0x2c41,  1,   0x2c11, /* GLAGOLITIC CAPITAL LETTER ONU */
> - /*2630*/    0x2c42,  1,   0x2c12, /* GLAGOLITIC CAPITAL LETTER POKOJI */
> - /*2633*/    0x2c43,  1,   0x2c13, /* GLAGOLITIC CAPITAL LETTER RITSI */
> - /*2636*/    0x2c44,  1,   0x2c14, /* GLAGOLITIC CAPITAL LETTER SLOVO */
> - /*2639*/    0x2c45,  1,   0x2c15, /* GLAGOLITIC CAPITAL LETTER TVRIDO */
> - /*2642*/    0x2c46,  1,   0x2c16, /* GLAGOLITIC CAPITAL LETTER UKU */
> - /*2645*/    0x2c47,  1,   0x2c17, /* GLAGOLITIC CAPITAL LETTER FRITU */
> - /*2648*/    0x2c48,  1,   0x2c18, /* GLAGOLITIC CAPITAL LETTER HERU */
> - /*2651*/    0x2c49,  1,   0x2c19, /* GLAGOLITIC CAPITAL LETTER OTU */
> - /*2654*/    0x2c4a,  1,   0x2c1a, /* GLAGOLITIC CAPITAL LETTER PE */
> - /*2657*/    0x2c4b,  1,   0x2c1b, /* GLAGOLITIC CAPITAL LETTER SHTA */
> - /*2660*/    0x2c4c,  1,   0x2c1c, /* GLAGOLITIC CAPITAL LETTER TSI */
> - /*2663*/    0x2c4d,  1,   0x2c1d, /* GLAGOLITIC CAPITAL LETTER CHRIVI */
> - /*2666*/    0x2c4e,  1,   0x2c1e, /* GLAGOLITIC CAPITAL LETTER SHA */
> - /*2669*/    0x2c4f,  1,   0x2c1f, /* GLAGOLITIC CAPITAL LETTER YERU */
> - /*2672*/    0x2c50,  1,   0x2c20, /* GLAGOLITIC CAPITAL LETTER YERI */
> - /*2675*/    0x2c51,  1,   0x2c21, /* GLAGOLITIC CAPITAL LETTER YATI */
> - /*2678*/    0x2c52,  1,   0x2c22, /* GLAGOLITIC CAPITAL LETTER SPIDERY.. */
> - /*2681*/    0x2c53,  1,   0x2c23, /* GLAGOLITIC CAPITAL LETTER YU */
> - /*2684*/    0x2c54,  1,   0x2c24, /* GLAGOLITIC CAPITAL LETTER SMALL Y.. */
> - /*2687*/    0x2c55,  1,   0x2c25, /* GLAGOLITIC CAPITAL LETTER SMALL Y.. */
> - /*2690*/    0x2c56,  1,   0x2c26, /* GLAGOLITIC CAPITAL LETTER YO */
> - /*2693*/    0x2c57,  1,   0x2c27, /* GLAGOLITIC CAPITAL LETTER IOTATED.. */
> - /*2696*/    0x2c58,  1,   0x2c28, /* GLAGOLITIC CAPITAL LETTER BIG YUS */
> - /*2699*/    0x2c59,  1,   0x2c29, /* GLAGOLITIC CAPITAL LETTER IOTATED.. */
> - /*2702*/    0x2c5a,  1,   0x2c2a, /* GLAGOLITIC CAPITAL LETTER FITA */
> - /*2705*/    0x2c5b,  1,   0x2c2b, /* GLAGOLITIC CAPITAL LETTER IZHITSA */
> - /*2708*/    0x2c5c,  1,   0x2c2c, /* GLAGOLITIC CAPITAL LETTER SHTAPIC */
> - /*2711*/    0x2c5d,  1,   0x2c2d, /* GLAGOLITIC CAPITAL LETTER TROKUTA..
> */
> - /*2714*/    0x2c5e,  1,   0x2c2e, /* GLAGOLITIC CAPITAL LETTER LATINAT.. */
> - /*2717*/    0x2c61,  1,   0x2c60, /* LATIN CAPITAL LETTER L WITH DOUBL.. */
> - /*2720*/    0x2c65,  1,   0x023a, /* LATIN CAPITAL LETTER A WITH STROKE */
> - /*2723*/    0x2c66,  1,   0x023e, /* LATIN CAPITAL LETTER T WITH DIAGO.. */
> - /*2726*/    0x2c68,  1,   0x2c67, /* LATIN CAPITAL LETTER H WITH DESCE.. */
> - /*2729*/    0x2c6a,  1,   0x2c69, /* LATIN CAPITAL LETTER K WITH DESCE.. */
> - /*2732*/    0x2c6c,  1,   0x2c6b, /* LATIN CAPITAL LETTER Z WITH DESCE.. */
> - /*2735*/    0x2c73,  1,   0x2c72, /* LATIN CAPITAL LETTER W WITH HOOK */
> - /*2738*/    0x2c76,  1,   0x2c75, /* LATIN CAPITAL LETTER HALF H */
> - /*2741*/    0x2c81,  1,   0x2c80, /* COPTIC CAPITAL LETTER ALFA */
> - /*2744*/    0x2c83,  1,   0x2c82, /* COPTIC CAPITAL LETTER VIDA */
> - /*2747*/    0x2c85,  1,   0x2c84, /* COPTIC CAPITAL LETTER GAMMA */
> - /*2750*/    0x2c87,  1,   0x2c86, /* COPTIC CAPITAL LETTER DALDA */
> - /*2753*/    0x2c89,  1,   0x2c88, /* COPTIC CAPITAL LETTER EIE */
> - /*2756*/    0x2c8b,  1,   0x2c8a, /* COPTIC CAPITAL LETTER SOU */
> - /*2759*/    0x2c8d,  1,   0x2c8c, /* COPTIC CAPITAL LETTER ZATA */
> - /*2762*/    0x2c8f,  1,   0x2c8e, /* COPTIC CAPITAL LETTER HATE */
> - /*2765*/    0x2c91,  1,   0x2c90, /* COPTIC CAPITAL LETTER THETHE */
> - /*2768*/    0x2c93,  1,   0x2c92, /* COPTIC CAPITAL LETTER IAUDA */
> - /*2771*/    0x2c95,  1,   0x2c94, /* COPTIC CAPITAL LETTER KAPA */
> - /*2774*/    0x2c97,  1,   0x2c96, /* COPTIC CAPITAL LETTER LAULA */
> - /*2777*/    0x2c99,  1,   0x2c98, /* COPTIC CAPITAL LETTER MI */
> - /*2780*/    0x2c9b,  1,   0x2c9a, /* COPTIC CAPITAL LETTER NI */
> - /*2783*/    0x2c9d,  1,   0x2c9c, /* COPTIC CAPITAL LETTER KSI */
> - /*2786*/    0x2c9f,  1,   0x2c9e, /* COPTIC CAPITAL LETTER O */
> - /*2789*/    0x2ca1,  1,   0x2ca0, /* COPTIC CAPITAL LETTER PI */
> - /*2792*/    0x2ca3,  1,   0x2ca2, /* COPTIC CAPITAL LETTER RO */
> - /*2795*/    0x2ca5,  1,   0x2ca4, /* COPTIC CAPITAL LETTER SIMA */
> - /*2798*/    0x2ca7,  1,   0x2ca6, /* COPTIC CAPITAL LETTER TAU */
> - /*2801*/    0x2ca9,  1,   0x2ca8, /* COPTIC CAPITAL LETTER UA */
> - /*2804*/    0x2cab,  1,   0x2caa, /* COPTIC CAPITAL LETTER FI */
> - /*2807*/    0x2cad,  1,   0x2cac, /* COPTIC CAPITAL LETTER KHI */
> - /*2810*/    0x2caf,  1,   0x2cae, /* COPTIC CAPITAL LETTER PSI */
> - /*2813*/    0x2cb1,  1,   0x2cb0, /* COPTIC CAPITAL LETTER OOU */
> - /*2816*/    0x2cb3,  1,   0x2cb2, /* COPTIC CAPITAL LETTER DIALECT-P A.. */
> - /*2819*/    0x2cb5,  1,   0x2cb4, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
> - /*2822*/    0x2cb7,  1,   0x2cb6, /* COPTIC CAPITAL LETTER CRYPTOGRAMM..
> */
> - /*2825*/    0x2cb9,  1,   0x2cb8, /* COPTIC CAPITAL LETTER DIALECT-P K.. */
> - /*2828*/    0x2cbb,  1,   0x2cba, /* COPTIC CAPITAL LETTER DIALECT-P NI */
> - /*2831*/    0x2cbd,  1,   0x2cbc, /* COPTIC CAPITAL LETTER CRYPTOGRAMM..
> */
> - /*2834*/    0x2cbf,  1,   0x2cbe, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
> - /*2837*/    0x2cc1,  1,   0x2cc0, /* COPTIC CAPITAL LETTER SAMPI */
> - /*2840*/    0x2cc3,  1,   0x2cc2, /* COPTIC CAPITAL LETTER CROSSED SHEI */
> - /*2843*/    0x2cc5,  1,   0x2cc4, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
> - /*2846*/    0x2cc7,  1,   0x2cc6, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
> - /*2849*/    0x2cc9,  1,   0x2cc8, /* COPTIC CAPITAL LETTER AKHMIMIC KH.. */
> - /*2852*/    0x2ccb,  1,   0x2cca, /* COPTIC CAPITAL LETTER DIALECT-P H.. */
> - /*2855*/    0x2ccd,  1,   0x2ccc, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
> - /*2858*/    0x2ccf,  1,   0x2cce, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
> - /*2861*/    0x2cd1,  1,   0x2cd0, /* COPTIC CAPITAL LETTER L-SHAPED HA */
> - /*2864*/    0x2cd3,  1,   0x2cd2, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
> - /*2867*/    0x2cd5,  1,   0x2cd4, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
> - /*2870*/    0x2cd7,  1,   0x2cd6, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
> - /*2873*/    0x2cd9,  1,   0x2cd8, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
> - /*2876*/    0x2cdb,  1,   0x2cda, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
> - /*2879*/    0x2cdd,  1,   0x2cdc, /* COPTIC CAPITAL LETTER OLD NUBIAN .. */
> - /*2882*/    0x2cdf,  1,   0x2cde, /* COPTIC CAPITAL LETTER OLD NUBIAN .. */
> - /*2885*/    0x2ce1,  1,   0x2ce0, /* COPTIC CAPITAL LETTER OLD NUBIAN .. */
> - /*2888*/    0x2ce3,  1,   0x2ce2, /* COPTIC CAPITAL LETTER OLD NUBIAN .. */
> - /*2891*/    0x2cec,  1,   0x2ceb, /* COPTIC CAPITAL LETTER CRYPTOGRAMM..
> */
> - /*2894*/    0x2cee,  1,   0x2ced, /* COPTIC CAPITAL LETTER CRYPTOGRAMM..
> */
> - /*2897*/    0x2cf3,  1,   0x2cf2, /* COPTIC CAPITAL LETTER BOHAIRIC KH.. */
> - /*2900*/    0x2d00,  1,   0x10a0, /* GEORGIAN CAPITAL LETTER AN */
> - /*2903*/    0x2d01,  1,   0x10a1, /* GEORGIAN CAPITAL LETTER BAN */
> - /*2906*/    0x2d02,  1,   0x10a2, /* GEORGIAN CAPITAL LETTER GAN */
> - /*2909*/    0x2d03,  1,   0x10a3, /* GEORGIAN CAPITAL LETTER DON */
> - /*2912*/    0x2d04,  1,   0x10a4, /* GEORGIAN CAPITAL LETTER EN */
> - /*2915*/    0x2d05,  1,   0x10a5, /* GEORGIAN CAPITAL LETTER VIN */
> - /*2918*/    0x2d06,  1,   0x10a6, /* GEORGIAN CAPITAL LETTER ZEN */
> - /*2921*/    0x2d07,  1,   0x10a7, /* GEORGIAN CAPITAL LETTER TAN */
> - /*2924*/    0x2d08,  1,   0x10a8, /* GEORGIAN CAPITAL LETTER IN */
> - /*2927*/    0x2d09,  1,   0x10a9, /* GEORGIAN CAPITAL LETTER KAN */
> - /*2930*/    0x2d0a,  1,   0x10aa, /* GEORGIAN CAPITAL LETTER LAS */
> - /*2933*/    0x2d0b,  1,   0x10ab, /* GEORGIAN CAPITAL LETTER MAN */
> - /*2936*/    0x2d0c,  1,   0x10ac, /* GEORGIAN CAPITAL LETTER NAR */
> - /*2939*/    0x2d0d,  1,   0x10ad, /* GEORGIAN CAPITAL LETTER ON */
> - /*2942*/    0x2d0e,  1,   0x10ae, /* GEORGIAN CAPITAL LETTER PAR */
> - /*2945*/    0x2d0f,  1,   0x10af, /* GEORGIAN CAPITAL LETTER ZHAR */
> - /*2948*/    0x2d10,  1,   0x10b0, /* GEORGIAN CAPITAL LETTER RAE */
> - /*2951*/    0x2d11,  1,   0x10b1, /* GEORGIAN CAPITAL LETTER SAN */
> - /*2954*/    0x2d12,  1,   0x10b2, /* GEORGIAN CAPITAL LETTER TAR */
> - /*2957*/    0x2d13,  1,   0x10b3, /* GEORGIAN CAPITAL LETTER UN */
> - /*2960*/    0x2d14,  1,   0x10b4, /* GEORGIAN CAPITAL LETTER PHAR */
> - /*2963*/    0x2d15,  1,   0x10b5, /* GEORGIAN CAPITAL LETTER KHAR */
> - /*2966*/    0x2d16,  1,   0x10b6, /* GEORGIAN CAPITAL LETTER GHAN */
> - /*2969*/    0x2d17,  1,   0x10b7, /* GEORGIAN CAPITAL LETTER QAR */
> - /*2972*/    0x2d18,  1,   0x10b8, /* GEORGIAN CAPITAL LETTER SHIN */
> - /*2975*/    0x2d19,  1,   0x10b9, /* GEORGIAN CAPITAL LETTER CHIN */
> - /*2978*/    0x2d1a,  1,   0x10ba, /* GEORGIAN CAPITAL LETTER CAN */
> - /*2981*/    0x2d1b,  1,   0x10bb, /* GEORGIAN CAPITAL LETTER JIL */
> - /*2984*/    0x2d1c,  1,   0x10bc, /* GEORGIAN CAPITAL LETTER CIL */
> - /*2987*/    0x2d1d,  1,   0x10bd, /* GEORGIAN CAPITAL LETTER CHAR */
> - /*2990*/    0x2d1e,  1,   0x10be, /* GEORGIAN CAPITAL LETTER XAN */
> - /*2993*/    0x2d1f,  1,   0x10bf, /* GEORGIAN CAPITAL LETTER JHAN */
> - /*2996*/    0x2d20,  1,   0x10c0, /* GEORGIAN CAPITAL LETTER HAE */
> - /*2999*/    0x2d21,  1,   0x10c1, /* GEORGIAN CAPITAL LETTER HE */
> - /*3002*/    0x2d22,  1,   0x10c2, /* GEORGIAN CAPITAL LETTER HIE */
> - /*3005*/    0x2d23,  1,   0x10c3, /* GEORGIAN CAPITAL LETTER WE */
> - /*3008*/    0x2d24,  1,   0x10c4, /* GEORGIAN CAPITAL LETTER HAR */
> - /*3011*/    0x2d25,  1,   0x10c5, /* GEORGIAN CAPITAL LETTER HOE */
> - /*3014*/    0x2d27,  1,   0x10c7, /* GEORGIAN CAPITAL LETTER YN */
> - /*3017*/    0x2d2d,  1,   0x10cd, /* GEORGIAN CAPITAL LETTER AEN */
> - /*3020*/    0xa641,  1,   0xa640, /* CYRILLIC CAPITAL LETTER ZEMLYA */
> - /*3023*/    0xa643,  1,   0xa642, /* CYRILLIC CAPITAL LETTER DZELO */
> - /*3026*/    0xa645,  1,   0xa644, /* CYRILLIC CAPITAL LETTER REVERSED .. */
> - /*3029*/    0xa647,  1,   0xa646, /* CYRILLIC CAPITAL LETTER IOTA */
> - /*3032*/    0xa649,  1,   0xa648, /* CYRILLIC CAPITAL LETTER DJERV */
> - /*3035*/    0xa64b,  2,   0x1c88,   0xa64a, /* CYRILLIC SMALL LETTER
> UNBLENDED UK */
> - /*3039*/    0xa64d,  1,   0xa64c, /* CYRILLIC CAPITAL LETTER BROAD OME.. */
> - /*3042*/    0xa64f,  1,   0xa64e, /* CYRILLIC CAPITAL LETTER NEUTRAL Y.. */
> - /*3045*/    0xa651,  1,   0xa650, /* CYRILLIC CAPITAL LETTER YERU WITH.. */
> - /*3048*/    0xa653,  1,   0xa652, /* CYRILLIC CAPITAL LETTER IOTIFIED .. */
> - /*3051*/    0xa655,  1,   0xa654, /* CYRILLIC CAPITAL LETTER REVERSED .. */
> - /*3054*/    0xa657,  1,   0xa656, /* CYRILLIC CAPITAL LETTER IOTIFIED A */
> - /*3057*/    0xa659,  1,   0xa658, /* CYRILLIC CAPITAL LETTER CLOSED LI.. */
> - /*3060*/    0xa65b,  1,   0xa65a, /* CYRILLIC CAPITAL LETTER BLENDED Y.. */
> - /*3063*/    0xa65d,  1,   0xa65c, /* CYRILLIC CAPITAL LETTER IOTIFIED .. */
> - /*3066*/    0xa65f,  1,   0xa65e, /* CYRILLIC CAPITAL LETTER YN */
> - /*3069*/    0xa661,  1,   0xa660, /* CYRILLIC CAPITAL LETTER REVERSED .. */
> - /*3072*/    0xa663,  1,   0xa662, /* CYRILLIC CAPITAL LETTER SOFT DE */
> - /*3075*/    0xa665,  1,   0xa664, /* CYRILLIC CAPITAL LETTER SOFT EL */
> - /*3078*/    0xa667,  1,   0xa666, /* CYRILLIC CAPITAL LETTER SOFT EM */
> - /*3081*/    0xa669,  1,   0xa668, /* CYRILLIC CAPITAL LETTER MONOCULAR..
> */
> - /*3084*/    0xa66b,  1,   0xa66a, /* CYRILLIC CAPITAL LETTER BINOCULAR.. */
> - /*3087*/    0xa66d,  1,   0xa66c, /* CYRILLIC CAPITAL LETTER DOUBLE MO.. */
> - /*3090*/    0xa681,  1,   0xa680, /* CYRILLIC CAPITAL LETTER DWE */
> - /*3093*/    0xa683,  1,   0xa682, /* CYRILLIC CAPITAL LETTER DZWE */
> - /*3096*/    0xa685,  1,   0xa684, /* CYRILLIC CAPITAL LETTER ZHWE */
> - /*3099*/    0xa687,  1,   0xa686, /* CYRILLIC CAPITAL LETTER CCHE */
> - /*3102*/    0xa689,  1,   0xa688, /* CYRILLIC CAPITAL LETTER DZZE */
> - /*3105*/    0xa68b,  1,   0xa68a, /* CYRILLIC CAPITAL LETTER TE WITH M.. */
> - /*3108*/    0xa68d,  1,   0xa68c, /* CYRILLIC CAPITAL LETTER TWE */
> - /*3111*/    0xa68f,  1,   0xa68e, /* CYRILLIC CAPITAL LETTER TSWE */
> - /*3114*/    0xa691,  1,   0xa690, /* CYRILLIC CAPITAL LETTER TSSE */
> - /*3117*/    0xa693,  1,   0xa692, /* CYRILLIC CAPITAL LETTER TCHE */
> - /*3120*/    0xa695,  1,   0xa694, /* CYRILLIC CAPITAL LETTER HWE */
> - /*3123*/    0xa697,  1,   0xa696, /* CYRILLIC CAPITAL LETTER SHWE */
> - /*3126*/    0xa699,  1,   0xa698, /* CYRILLIC CAPITAL LETTER DOUBLE O */
> - /*3129*/    0xa69b,  1,   0xa69a, /* CYRILLIC CAPITAL LETTER CROSSED O */
> - /*3132*/    0xa723,  1,   0xa722, /* LATIN CAPITAL LETTER EGYPTOLOGICA..
> */
> - /*3135*/    0xa725,  1,   0xa724, /* LATIN CAPITAL LETTER EGYPTOLOGICA..
> */
> - /*3138*/    0xa727,  1,   0xa726, /* LATIN CAPITAL LETTER HENG */
> - /*3141*/    0xa729,  1,   0xa728, /* LATIN CAPITAL LETTER TZ */
> - /*3144*/    0xa72b,  1,   0xa72a, /* LATIN CAPITAL LETTER TRESILLO */
> - /*3147*/    0xa72d,  1,   0xa72c, /* LATIN CAPITAL LETTER CUATRILLO */
> - /*3150*/    0xa72f,  1,   0xa72e, /* LATIN CAPITAL LETTER CUATRILLO WI.. */
> - /*3153*/    0xa733,  1,   0xa732, /* LATIN CAPITAL LETTER AA */
> - /*3156*/    0xa735,  1,   0xa734, /* LATIN CAPITAL LETTER AO */
> - /*3159*/    0xa737,  1,   0xa736, /* LATIN CAPITAL LETTER AU */
> - /*3162*/    0xa739,  1,   0xa738, /* LATIN CAPITAL LETTER AV */
> - /*3165*/    0xa73b,  1,   0xa73a, /* LATIN CAPITAL LETTER AV WITH HORI.. */
> - /*3168*/    0xa73d,  1,   0xa73c, /* LATIN CAPITAL LETTER AY */
> - /*3171*/    0xa73f,  1,   0xa73e, /* LATIN CAPITAL LETTER REVERSED C W.. */
> - /*3174*/    0xa741,  1,   0xa740, /* LATIN CAPITAL LETTER K WITH STROKE */
> - /*3177*/    0xa743,  1,   0xa742, /* LATIN CAPITAL LETTER K WITH DIAGO.. */
> - /*3180*/    0xa745,  1,   0xa744, /* LATIN CAPITAL LETTER K WITH STROK.. */
> - /*3183*/    0xa747,  1,   0xa746, /* LATIN CAPITAL LETTER BROKEN L */
> - /*3186*/    0xa749,  1,   0xa748, /* LATIN CAPITAL LETTER L WITH HIGH .. */
> - /*3189*/    0xa74b,  1,   0xa74a, /* LATIN CAPITAL LETTER O WITH LONG .. */
> - /*3192*/    0xa74d,  1,   0xa74c, /* LATIN CAPITAL LETTER O WITH LOOP */
> - /*3195*/    0xa74f,  1,   0xa74e, /* LATIN CAPITAL LETTER OO */
> - /*3198*/    0xa751,  1,   0xa750, /* LATIN CAPITAL LETTER P WITH STROK.. */
> - /*3201*/    0xa753,  1,   0xa752, /* LATIN CAPITAL LETTER P WITH FLOUR.. */
> - /*3204*/    0xa755,  1,   0xa754, /* LATIN CAPITAL LETTER P WITH SQUIR.. */
> - /*3207*/    0xa757,  1,   0xa756, /* LATIN CAPITAL LETTER Q WITH STROK.. */
> - /*3210*/    0xa759,  1,   0xa758, /* LATIN CAPITAL LETTER Q WITH DIAGO.. */
> - /*3213*/    0xa75b,  1,   0xa75a, /* LATIN CAPITAL LETTER R ROTUNDA */
> - /*3216*/    0xa75d,  1,   0xa75c, /* LATIN CAPITAL LETTER RUM ROTUNDA */
> - /*3219*/    0xa75f,  1,   0xa75e, /* LATIN CAPITAL LETTER V WITH DIAGO.. */
> - /*3222*/    0xa761,  1,   0xa760, /* LATIN CAPITAL LETTER VY */
> - /*3225*/    0xa763,  1,   0xa762, /* LATIN CAPITAL LETTER VISIGOTHIC Z */
> - /*3228*/    0xa765,  1,   0xa764, /* LATIN CAPITAL LETTER THORN WITH S.. */
> - /*3231*/    0xa767,  1,   0xa766, /* LATIN CAPITAL LETTER THORN WITH S.. */
> - /*3234*/    0xa769,  1,   0xa768, /* LATIN CAPITAL LETTER VEND */
> - /*3237*/    0xa76b,  1,   0xa76a, /* LATIN CAPITAL LETTER ET */
> - /*3240*/    0xa76d,  1,   0xa76c, /* LATIN CAPITAL LETTER IS */
> - /*3243*/    0xa76f,  1,   0xa76e, /* LATIN CAPITAL LETTER CON */
> - /*3246*/    0xa77a,  1,   0xa779, /* LATIN CAPITAL LETTER INSULAR D */
> - /*3249*/    0xa77c,  1,   0xa77b, /* LATIN CAPITAL LETTER INSULAR F */
> - /*3252*/    0xa77f,  1,   0xa77e, /* LATIN CAPITAL LETTER TURNED INSUL.. */
> - /*3255*/    0xa781,  1,   0xa780, /* LATIN CAPITAL LETTER TURNED L */
> - /*3258*/    0xa783,  1,   0xa782, /* LATIN CAPITAL LETTER INSULAR R */
> - /*3261*/    0xa785,  1,   0xa784, /* LATIN CAPITAL LETTER INSULAR S */
> - /*3264*/    0xa787,  1,   0xa786, /* LATIN CAPITAL LETTER INSULAR T */
> - /*3267*/    0xa78c,  1,   0xa78b, /* LATIN CAPITAL LETTER SALTILLO */
> - /*3270*/    0xa791,  1,   0xa790, /* LATIN CAPITAL LETTER N WITH DESCE.. */
> - /*3273*/    0xa793,  1,   0xa792, /* LATIN CAPITAL LETTER C WITH BAR */
> - /*3276*/    0xa794,  1,   0xa7c4, /* LATIN CAPITAL LETTER C WITH PALAT.. */
> - /*3279*/    0xa797,  1,   0xa796, /* LATIN CAPITAL LETTER B WITH FLOUR.. */
> - /*3282*/    0xa799,  1,   0xa798, /* LATIN CAPITAL LETTER F WITH STROKE */
> - /*3285*/    0xa79b,  1,   0xa79a, /* LATIN CAPITAL LETTER VOLAPUK AE */
> - /*3288*/    0xa79d,  1,   0xa79c, /* LATIN CAPITAL LETTER VOLAPUK OE */
> - /*3291*/    0xa79f,  1,   0xa79e, /* LATIN CAPITAL LETTER VOLAPUK UE */
> - /*3294*/    0xa7a1,  1,   0xa7a0, /* LATIN CAPITAL LETTER G WITH OBLIQ.. */
> - /*3297*/    0xa7a3,  1,   0xa7a2, /* LATIN CAPITAL LETTER K WITH OBLIQ.. */
> - /*3300*/    0xa7a5,  1,   0xa7a4, /* LATIN CAPITAL LETTER N WITH OBLIQ.. */
> - /*3303*/    0xa7a7,  1,   0xa7a6, /* LATIN CAPITAL LETTER R WITH OBLIQ.. */
> - /*3306*/    0xa7a9,  1,   0xa7a8, /* LATIN CAPITAL LETTER S WITH OBLIQ.. */
> - /*3309*/    0xa7b5,  1,   0xa7b4, /* LATIN CAPITAL LETTER BETA */
> - /*3312*/    0xa7b7,  1,   0xa7b6, /* LATIN CAPITAL LETTER OMEGA */
> - /*3315*/    0xa7b9,  1,   0xa7b8, /* LATIN CAPITAL LETTER U WITH STROKE */
> - /*3318*/    0xa7bb,  1,   0xa7ba, /* LATIN CAPITAL LETTER GLOTTAL A */
> - /*3321*/    0xa7bd,  1,   0xa7bc, /* LATIN CAPITAL LETTER GLOTTAL I */
> - /*3324*/    0xa7bf,  1,   0xa7be, /* LATIN CAPITAL LETTER GLOTTAL U */
> - /*3327*/    0xa7c3,  1,   0xa7c2, /* LATIN CAPITAL LETTER ANGLICANA W */
> - /*3330*/    0xab53,  1,   0xa7b3, /* LATIN CAPITAL LETTER CHI */
> - /*3333*/    0xff41,  1,   0xff21, /* FULLWIDTH LATIN CAPITAL LETTER A */
> - /*3336*/    0xff42,  1,   0xff22, /* FULLWIDTH LATIN CAPITAL LETTER B */
> - /*3339*/    0xff43,  1,   0xff23, /* FULLWIDTH LATIN CAPITAL LETTER C */
> - /*3342*/    0xff44,  1,   0xff24, /* FULLWIDTH LATIN CAPITAL LETTER D */
> - /*3345*/    0xff45,  1,   0xff25, /* FULLWIDTH LATIN CAPITAL LETTER E */
> - /*3348*/    0xff46,  1,   0xff26, /* FULLWIDTH LATIN CAPITAL LETTER F */
> - /*3351*/    0xff47,  1,   0xff27, /* FULLWIDTH LATIN CAPITAL LETTER G */
> - /*3354*/    0xff48,  1,   0xff28, /* FULLWIDTH LATIN CAPITAL LETTER H */
> - /*3357*/    0xff49,  1,   0xff29, /* FULLWIDTH LATIN CAPITAL LETTER I */
> - /*3360*/    0xff4a,  1,   0xff2a, /* FULLWIDTH LATIN CAPITAL LETTER J */
> - /*3363*/    0xff4b,  1,   0xff2b, /* FULLWIDTH LATIN CAPITAL LETTER K */
> - /*3366*/    0xff4c,  1,   0xff2c, /* FULLWIDTH LATIN CAPITAL LETTER L */
> - /*3369*/    0xff4d,  1,   0xff2d, /* FULLWIDTH LATIN CAPITAL LETTER M */
> - /*3372*/    0xff4e,  1,   0xff2e, /* FULLWIDTH LATIN CAPITAL LETTER N */
> - /*3375*/    0xff4f,  1,   0xff2f, /* FULLWIDTH LATIN CAPITAL LETTER O */
> - /*3378*/    0xff50,  1,   0xff30, /* FULLWIDTH LATIN CAPITAL LETTER P */
> - /*3381*/    0xff51,  1,   0xff31, /* FULLWIDTH LATIN CAPITAL LETTER Q */
> - /*3384*/    0xff52,  1,   0xff32, /* FULLWIDTH LATIN CAPITAL LETTER R */
> - /*3387*/    0xff53,  1,   0xff33, /* FULLWIDTH LATIN CAPITAL LETTER S */
> - /*3390*/    0xff54,  1,   0xff34, /* FULLWIDTH LATIN CAPITAL LETTER T */
> - /*3393*/    0xff55,  1,   0xff35, /* FULLWIDTH LATIN CAPITAL LETTER U */
> - /*3396*/    0xff56,  1,   0xff36, /* FULLWIDTH LATIN CAPITAL LETTER V */
> - /*3399*/    0xff57,  1,   0xff37, /* FULLWIDTH LATIN CAPITAL LETTER W */
> - /*3402*/    0xff58,  1,   0xff38, /* FULLWIDTH LATIN CAPITAL LETTER X */
> - /*3405*/    0xff59,  1,   0xff39, /* FULLWIDTH LATIN CAPITAL LETTER Y */
> - /*3408*/    0xff5a,  1,   0xff3a, /* FULLWIDTH LATIN CAPITAL LETTER Z */
> - /*3411*/  0x010428,  1, 0x010400, /* DESERET CAPITAL LETTER LONG I */
> - /*3414*/  0x010429,  1, 0x010401, /* DESERET CAPITAL LETTER LONG E */
> - /*3417*/  0x01042a,  1, 0x010402, /* DESERET CAPITAL LETTER LONG A */
> - /*3420*/  0x01042b,  1, 0x010403, /* DESERET CAPITAL LETTER LONG AH */
> - /*3423*/  0x01042c,  1, 0x010404, /* DESERET CAPITAL LETTER LONG O */
> - /*3426*/  0x01042d,  1, 0x010405, /* DESERET CAPITAL LETTER LONG OO */
> - /*3429*/  0x01042e,  1, 0x010406, /* DESERET CAPITAL LETTER SHORT I */
> - /*3432*/  0x01042f,  1, 0x010407, /* DESERET CAPITAL LETTER SHORT E */
> - /*3435*/  0x010430,  1, 0x010408, /* DESERET CAPITAL LETTER SHORT A */
> - /*3438*/  0x010431,  1, 0x010409, /* DESERET CAPITAL LETTER SHORT AH */
> - /*3441*/  0x010432,  1, 0x01040a, /* DESERET CAPITAL LETTER SHORT O */
> - /*3444*/  0x010433,  1, 0x01040b, /* DESERET CAPITAL LETTER SHORT OO */
> - /*3447*/  0x010434,  1, 0x01040c, /* DESERET CAPITAL LETTER AY */
> - /*3450*/  0x010435,  1, 0x01040d, /* DESERET CAPITAL LETTER OW */
> - /*3453*/  0x010436,  1, 0x01040e, /* DESERET CAPITAL LETTER WU */
> - /*3456*/  0x010437,  1, 0x01040f, /* DESERET CAPITAL LETTER YEE */
> - /*3459*/  0x010438,  1, 0x010410, /* DESERET CAPITAL LETTER H */
> - /*3462*/  0x010439,  1, 0x010411, /* DESERET CAPITAL LETTER PEE */
> - /*3465*/  0x01043a,  1, 0x010412, /* DESERET CAPITAL LETTER BEE */
> - /*3468*/  0x01043b,  1, 0x010413, /* DESERET CAPITAL LETTER TEE */
> - /*3471*/  0x01043c,  1, 0x010414, /* DESERET CAPITAL LETTER DEE */
> - /*3474*/  0x01043d,  1, 0x010415, /* DESERET CAPITAL LETTER CHEE */
> - /*3477*/  0x01043e,  1, 0x010416, /* DESERET CAPITAL LETTER JEE */
> - /*3480*/  0x01043f,  1, 0x010417, /* DESERET CAPITAL LETTER KAY */
> - /*3483*/  0x010440,  1, 0x010418, /* DESERET CAPITAL LETTER GAY */
> - /*3486*/  0x010441,  1, 0x010419, /* DESERET CAPITAL LETTER EF */
> - /*3489*/  0x010442,  1, 0x01041a, /* DESERET CAPITAL LETTER VEE */
> - /*3492*/  0x010443,  1, 0x01041b, /* DESERET CAPITAL LETTER ETH */
> - /*3495*/  0x010444,  1, 0x01041c, /* DESERET CAPITAL LETTER THEE */
> - /*3498*/  0x010445,  1, 0x01041d, /* DESERET CAPITAL LETTER ES */
> - /*3501*/  0x010446,  1, 0x01041e, /* DESERET CAPITAL LETTER ZEE */
> - /*3504*/  0x010447,  1, 0x01041f, /* DESERET CAPITAL LETTER ESH */
> - /*3507*/  0x010448,  1, 0x010420, /* DESERET CAPITAL LETTER ZHEE */
> - /*3510*/  0x010449,  1, 0x010421, /* DESERET CAPITAL LETTER ER */
> - /*3513*/  0x01044a,  1, 0x010422, /* DESERET CAPITAL LETTER EL */
> - /*3516*/  0x01044b,  1, 0x010423, /* DESERET CAPITAL LETTER EM */
> - /*3519*/  0x01044c,  1, 0x010424, /* DESERET CAPITAL LETTER EN */
> - /*3522*/  0x01044d,  1, 0x010425, /* DESERET CAPITAL LETTER ENG */
> - /*3525*/  0x01044e,  1, 0x010426, /* DESERET CAPITAL LETTER OI */
> - /*3528*/  0x01044f,  1, 0x010427, /* DESERET CAPITAL LETTER EW */
> - /*3531*/  0x0104d8,  1, 0x0104b0, /* OSAGE CAPITAL LETTER A */
> - /*3534*/  0x0104d9,  1, 0x0104b1, /* OSAGE CAPITAL LETTER AI */
> - /*3537*/  0x0104da,  1, 0x0104b2, /* OSAGE CAPITAL LETTER AIN */
> - /*3540*/  0x0104db,  1, 0x0104b3, /* OSAGE CAPITAL LETTER AH */
> - /*3543*/  0x0104dc,  1, 0x0104b4, /* OSAGE CAPITAL LETTER BRA */
> - /*3546*/  0x0104dd,  1, 0x0104b5, /* OSAGE CAPITAL LETTER CHA */
> - /*3549*/  0x0104de,  1, 0x0104b6, /* OSAGE CAPITAL LETTER EHCHA */
> - /*3552*/  0x0104df,  1, 0x0104b7, /* OSAGE CAPITAL LETTER E */
> - /*3555*/  0x0104e0,  1, 0x0104b8, /* OSAGE CAPITAL LETTER EIN */
> - /*3558*/  0x0104e1,  1, 0x0104b9, /* OSAGE CAPITAL LETTER HA */
> - /*3561*/  0x0104e2,  1, 0x0104ba, /* OSAGE CAPITAL LETTER HYA */
> - /*3564*/  0x0104e3,  1, 0x0104bb, /* OSAGE CAPITAL LETTER I */
> - /*3567*/  0x0104e4,  1, 0x0104bc, /* OSAGE CAPITAL LETTER KA */
> - /*3570*/  0x0104e5,  1, 0x0104bd, /* OSAGE CAPITAL LETTER EHKA */
> - /*3573*/  0x0104e6,  1, 0x0104be, /* OSAGE CAPITAL LETTER KYA */
> - /*3576*/  0x0104e7,  1, 0x0104bf, /* OSAGE CAPITAL LETTER LA */
> - /*3579*/  0x0104e8,  1, 0x0104c0, /* OSAGE CAPITAL LETTER MA */
> - /*3582*/  0x0104e9,  1, 0x0104c1, /* OSAGE CAPITAL LETTER NA */
> - /*3585*/  0x0104ea,  1, 0x0104c2, /* OSAGE CAPITAL LETTER O */
> - /*3588*/  0x0104eb,  1, 0x0104c3, /* OSAGE CAPITAL LETTER OIN */
> - /*3591*/  0x0104ec,  1, 0x0104c4, /* OSAGE CAPITAL LETTER PA */
> - /*3594*/  0x0104ed,  1, 0x0104c5, /* OSAGE CAPITAL LETTER EHPA */
> - /*3597*/  0x0104ee,  1, 0x0104c6, /* OSAGE CAPITAL LETTER SA */
> - /*3600*/  0x0104ef,  1, 0x0104c7, /* OSAGE CAPITAL LETTER SHA */
> - /*3603*/  0x0104f0,  1, 0x0104c8, /* OSAGE CAPITAL LETTER TA */
> - /*3606*/  0x0104f1,  1, 0x0104c9, /* OSAGE CAPITAL LETTER EHTA */
> - /*3609*/  0x0104f2,  1, 0x0104ca, /* OSAGE CAPITAL LETTER TSA */
> - /*3612*/  0x0104f3,  1, 0x0104cb, /* OSAGE CAPITAL LETTER EHTSA */
> - /*3615*/  0x0104f4,  1, 0x0104cc, /* OSAGE CAPITAL LETTER TSHA */
> - /*3618*/  0x0104f5,  1, 0x0104cd, /* OSAGE CAPITAL LETTER DHA */
> - /*3621*/  0x0104f6,  1, 0x0104ce, /* OSAGE CAPITAL LETTER U */
> - /*3624*/  0x0104f7,  1, 0x0104cf, /* OSAGE CAPITAL LETTER WA */
> - /*3627*/  0x0104f8,  1, 0x0104d0, /* OSAGE CAPITAL LETTER KHA */
> - /*3630*/  0x0104f9,  1, 0x0104d1, /* OSAGE CAPITAL LETTER GHA */
> - /*3633*/  0x0104fa,  1, 0x0104d2, /* OSAGE CAPITAL LETTER ZA */
> - /*3636*/  0x0104fb,  1, 0x0104d3, /* OSAGE CAPITAL LETTER ZHA */
> - /*3639*/  0x010cc0,  1, 0x010c80, /* OLD HUNGARIAN CAPITAL LETTER A */
> - /*3642*/  0x010cc1,  1, 0x010c81, /* OLD HUNGARIAN CAPITAL LETTER AA
> */
> - /*3645*/  0x010cc2,  1, 0x010c82, /* OLD HUNGARIAN CAPITAL LETTER EB */
> - /*3648*/  0x010cc3,  1, 0x010c83, /* OLD HUNGARIAN CAPITAL LETTER AMB
> */
> - /*3651*/  0x010cc4,  1, 0x010c84, /* OLD HUNGARIAN CAPITAL LETTER EC */
> - /*3654*/  0x010cc5,  1, 0x010c85, /* OLD HUNGARIAN CAPITAL LETTER ENC
> */
> - /*3657*/  0x010cc6,  1, 0x010c86, /* OLD HUNGARIAN CAPITAL LETTER ECS
> */
> - /*3660*/  0x010cc7,  1, 0x010c87, /* OLD HUNGARIAN CAPITAL LETTER ED */
> - /*3663*/  0x010cc8,  1, 0x010c88, /* OLD HUNGARIAN CAPITAL LETTER AND
> */
> - /*3666*/  0x010cc9,  1, 0x010c89, /* OLD HUNGARIAN CAPITAL LETTER E */
> - /*3669*/  0x010cca,  1, 0x010c8a, /* OLD HUNGARIAN CAPITAL LETTER
> CLOS.. */
> - /*3672*/  0x010ccb,  1, 0x010c8b, /* OLD HUNGARIAN CAPITAL LETTER EE */
> - /*3675*/  0x010ccc,  1, 0x010c8c, /* OLD HUNGARIAN CAPITAL LETTER EF */
> - /*3678*/  0x010ccd,  1, 0x010c8d, /* OLD HUNGARIAN CAPITAL LETTER EG
> */
> - /*3681*/  0x010cce,  1, 0x010c8e, /* OLD HUNGARIAN CAPITAL LETTER EGY
> */
> - /*3684*/  0x010ccf,  1, 0x010c8f, /* OLD HUNGARIAN CAPITAL LETTER EH */
> - /*3687*/  0x010cd0,  1, 0x010c90, /* OLD HUNGARIAN CAPITAL LETTER I */
> - /*3690*/  0x010cd1,  1, 0x010c91, /* OLD HUNGARIAN CAPITAL LETTER II */
> - /*3693*/  0x010cd2,  1, 0x010c92, /* OLD HUNGARIAN CAPITAL LETTER EJ */
> - /*3696*/  0x010cd3,  1, 0x010c93, /* OLD HUNGARIAN CAPITAL LETTER EK */
> - /*3699*/  0x010cd4,  1, 0x010c94, /* OLD HUNGARIAN CAPITAL LETTER AK
> */
> - /*3702*/  0x010cd5,  1, 0x010c95, /* OLD HUNGARIAN CAPITAL LETTER UNK
> */
> - /*3705*/  0x010cd6,  1, 0x010c96, /* OLD HUNGARIAN CAPITAL LETTER EL */
> - /*3708*/  0x010cd7,  1, 0x010c97, /* OLD HUNGARIAN CAPITAL LETTER ELY
> */
> - /*3711*/  0x010cd8,  1, 0x010c98, /* OLD HUNGARIAN CAPITAL LETTER EM
> */
> - /*3714*/  0x010cd9,  1, 0x010c99, /* OLD HUNGARIAN CAPITAL LETTER EN
> */
> - /*3717*/  0x010cda,  1, 0x010c9a, /* OLD HUNGARIAN CAPITAL LETTER ENY
> */
> - /*3720*/  0x010cdb,  1, 0x010c9b, /* OLD HUNGARIAN CAPITAL LETTER O */
> - /*3723*/  0x010cdc,  1, 0x010c9c, /* OLD HUNGARIAN CAPITAL LETTER OO
> */
> - /*3726*/  0x010cdd,  1, 0x010c9d, /* OLD HUNGARIAN CAPITAL LETTER
> NIKO.. */
> - /*3729*/  0x010cde,  1, 0x010c9e, /* OLD HUNGARIAN CAPITAL LETTER
> RUDI.. */
> - /*3732*/  0x010cdf,  1, 0x010c9f, /* OLD HUNGARIAN CAPITAL LETTER OEE
> */
> - /*3735*/  0x010ce0,  1, 0x010ca0, /* OLD HUNGARIAN CAPITAL LETTER EP */
> - /*3738*/  0x010ce1,  1, 0x010ca1, /* OLD HUNGARIAN CAPITAL LETTER EMP
> */
> - /*3741*/  0x010ce2,  1, 0x010ca2, /* OLD HUNGARIAN CAPITAL LETTER ER */
> - /*3744*/  0x010ce3,  1, 0x010ca3, /* OLD HUNGARIAN CAPITAL LETTER
> SHOR.. */
> - /*3747*/  0x010ce4,  1, 0x010ca4, /* OLD HUNGARIAN CAPITAL LETTER ES */
> - /*3750*/  0x010ce5,  1, 0x010ca5, /* OLD HUNGARIAN CAPITAL LETTER ESZ
> */
> - /*3753*/  0x010ce6,  1, 0x010ca6, /* OLD HUNGARIAN CAPITAL LETTER ET */
> - /*3756*/  0x010ce7,  1, 0x010ca7, /* OLD HUNGARIAN CAPITAL LETTER ENT
> */
> - /*3759*/  0x010ce8,  1, 0x010ca8, /* OLD HUNGARIAN CAPITAL LETTER ETY
> */
> - /*3762*/  0x010ce9,  1, 0x010ca9, /* OLD HUNGARIAN CAPITAL LETTER ECH
> */
> - /*3765*/  0x010cea,  1, 0x010caa, /* OLD HUNGARIAN CAPITAL LETTER U */
> - /*3768*/  0x010ceb,  1, 0x010cab, /* OLD HUNGARIAN CAPITAL LETTER UU
> */
> - /*3771*/  0x010cec,  1, 0x010cac, /* OLD HUNGARIAN CAPITAL LETTER
> NIKO.. */
> - /*3774*/  0x010ced,  1, 0x010cad, /* OLD HUNGARIAN CAPITAL LETTER
> RUDI.. */
> - /*3777*/  0x010cee,  1, 0x010cae, /* OLD HUNGARIAN CAPITAL LETTER EV
> */
> - /*3780*/  0x010cef,  1, 0x010caf, /* OLD HUNGARIAN CAPITAL LETTER EZ */
> - /*3783*/  0x010cf0,  1, 0x010cb0, /* OLD HUNGARIAN CAPITAL LETTER EZS
> */
> - /*3786*/  0x010cf1,  1, 0x010cb1, /* OLD HUNGARIAN CAPITAL LETTER ENT-..
> */
> - /*3789*/  0x010cf2,  1, 0x010cb2, /* OLD HUNGARIAN CAPITAL LETTER US */
> - /*3792*/  0x0118c0,  1, 0x0118a0, /* WARANG CITI CAPITAL LETTER NGAA
> */
> - /*3795*/  0x0118c1,  1, 0x0118a1, /* WARANG CITI CAPITAL LETTER A */
> - /*3798*/  0x0118c2,  1, 0x0118a2, /* WARANG CITI CAPITAL LETTER WI */
> - /*3801*/  0x0118c3,  1, 0x0118a3, /* WARANG CITI CAPITAL LETTER YU */
> - /*3804*/  0x0118c4,  1, 0x0118a4, /* WARANG CITI CAPITAL LETTER YA */
> - /*3807*/  0x0118c5,  1, 0x0118a5, /* WARANG CITI CAPITAL LETTER YO */
> - /*3810*/  0x0118c6,  1, 0x0118a6, /* WARANG CITI CAPITAL LETTER II */
> - /*3813*/  0x0118c7,  1, 0x0118a7, /* WARANG CITI CAPITAL LETTER UU */
> - /*3816*/  0x0118c8,  1, 0x0118a8, /* WARANG CITI CAPITAL LETTER E */
> - /*3819*/  0x0118c9,  1, 0x0118a9, /* WARANG CITI CAPITAL LETTER O */
> - /*3822*/  0x0118ca,  1, 0x0118aa, /* WARANG CITI CAPITAL LETTER ANG */
> - /*3825*/  0x0118cb,  1, 0x0118ab, /* WARANG CITI CAPITAL LETTER GA */
> - /*3828*/  0x0118cc,  1, 0x0118ac, /* WARANG CITI CAPITAL LETTER KO */
> - /*3831*/  0x0118cd,  1, 0x0118ad, /* WARANG CITI CAPITAL LETTER ENY */
> - /*3834*/  0x0118ce,  1, 0x0118ae, /* WARANG CITI CAPITAL LETTER YUJ */
> - /*3837*/  0x0118cf,  1, 0x0118af, /* WARANG CITI CAPITAL LETTER UC */
> - /*3840*/  0x0118d0,  1, 0x0118b0, /* WARANG CITI CAPITAL LETTER ENN */
> - /*3843*/  0x0118d1,  1, 0x0118b1, /* WARANG CITI CAPITAL LETTER ODD */
> - /*3846*/  0x0118d2,  1, 0x0118b2, /* WARANG CITI CAPITAL LETTER TTE */
> - /*3849*/  0x0118d3,  1, 0x0118b3, /* WARANG CITI CAPITAL LETTER NUNG
> */
> - /*3852*/  0x0118d4,  1, 0x0118b4, /* WARANG CITI CAPITAL LETTER DA */
> - /*3855*/  0x0118d5,  1, 0x0118b5, /* WARANG CITI CAPITAL LETTER AT */
> - /*3858*/  0x0118d6,  1, 0x0118b6, /* WARANG CITI CAPITAL LETTER AM */
> - /*3861*/  0x0118d7,  1, 0x0118b7, /* WARANG CITI CAPITAL LETTER BU */
> - /*3864*/  0x0118d8,  1, 0x0118b8, /* WARANG CITI CAPITAL LETTER PU */
> - /*3867*/  0x0118d9,  1, 0x0118b9, /* WARANG CITI CAPITAL LETTER HIYO */
> - /*3870*/  0x0118da,  1, 0x0118ba, /* WARANG CITI CAPITAL LETTER HOLO
> */
> - /*3873*/  0x0118db,  1, 0x0118bb, /* WARANG CITI CAPITAL LETTER HORR
> */
> - /*3876*/  0x0118dc,  1, 0x0118bc, /* WARANG CITI CAPITAL LETTER HAR */
> - /*3879*/  0x0118dd,  1, 0x0118bd, /* WARANG CITI CAPITAL LETTER SSUU
> */
> - /*3882*/  0x0118de,  1, 0x0118be, /* WARANG CITI CAPITAL LETTER SII */
> - /*3885*/  0x0118df,  1, 0x0118bf, /* WARANG CITI CAPITAL LETTER VIYO */
> - /*3888*/  0x016e60,  1, 0x016e40, /* MEDEFAIDRIN CAPITAL LETTER M */
> - /*3891*/  0x016e61,  1, 0x016e41, /* MEDEFAIDRIN CAPITAL LETTER S */
> - /*3894*/  0x016e62,  1, 0x016e42, /* MEDEFAIDRIN CAPITAL LETTER V */
> - /*3897*/  0x016e63,  1, 0x016e43, /* MEDEFAIDRIN CAPITAL LETTER W */
> - /*3900*/  0x016e64,  1, 0x016e44, /* MEDEFAIDRIN CAPITAL LETTER ATIU */
> - /*3903*/  0x016e65,  1, 0x016e45, /* MEDEFAIDRIN CAPITAL LETTER Z */
> - /*3906*/  0x016e66,  1, 0x016e46, /* MEDEFAIDRIN CAPITAL LETTER KP */
> - /*3909*/  0x016e67,  1, 0x016e47, /* MEDEFAIDRIN CAPITAL LETTER P */
> - /*3912*/  0x016e68,  1, 0x016e48, /* MEDEFAIDRIN CAPITAL LETTER T */
> - /*3915*/  0x016e69,  1, 0x016e49, /* MEDEFAIDRIN CAPITAL LETTER G */
> - /*3918*/  0x016e6a,  1, 0x016e4a, /* MEDEFAIDRIN CAPITAL LETTER F */
> - /*3921*/  0x016e6b,  1, 0x016e4b, /* MEDEFAIDRIN CAPITAL LETTER I */
> - /*3924*/  0x016e6c,  1, 0x016e4c, /* MEDEFAIDRIN CAPITAL LETTER K */
> - /*3927*/  0x016e6d,  1, 0x016e4d, /* MEDEFAIDRIN CAPITAL LETTER A */
> - /*3930*/  0x016e6e,  1, 0x016e4e, /* MEDEFAIDRIN CAPITAL LETTER J */
> - /*3933*/  0x016e6f,  1, 0x016e4f, /* MEDEFAIDRIN CAPITAL LETTER E */
> - /*3936*/  0x016e70,  1, 0x016e50, /* MEDEFAIDRIN CAPITAL LETTER B */
> - /*3939*/  0x016e71,  1, 0x016e51, /* MEDEFAIDRIN CAPITAL LETTER C */
> - /*3942*/  0x016e72,  1, 0x016e52, /* MEDEFAIDRIN CAPITAL LETTER U */
> - /*3945*/  0x016e73,  1, 0x016e53, /* MEDEFAIDRIN CAPITAL LETTER YU */
> - /*3948*/  0x016e74,  1, 0x016e54, /* MEDEFAIDRIN CAPITAL LETTER L */
> - /*3951*/  0x016e75,  1, 0x016e55, /* MEDEFAIDRIN CAPITAL LETTER Q */
> - /*3954*/  0x016e76,  1, 0x016e56, /* MEDEFAIDRIN CAPITAL LETTER HP */
> - /*3957*/  0x016e77,  1, 0x016e57, /* MEDEFAIDRIN CAPITAL LETTER NY */
> - /*3960*/  0x016e78,  1, 0x016e58, /* MEDEFAIDRIN CAPITAL LETTER X */
> - /*3963*/  0x016e79,  1, 0x016e59, /* MEDEFAIDRIN CAPITAL LETTER D */
> - /*3966*/  0x016e7a,  1, 0x016e5a, /* MEDEFAIDRIN CAPITAL LETTER OE */
> - /*3969*/  0x016e7b,  1, 0x016e5b, /* MEDEFAIDRIN CAPITAL LETTER N */
> - /*3972*/  0x016e7c,  1, 0x016e5c, /* MEDEFAIDRIN CAPITAL LETTER R */
> - /*3975*/  0x016e7d,  1, 0x016e5d, /* MEDEFAIDRIN CAPITAL LETTER O */
> - /*3978*/  0x016e7e,  1, 0x016e5e, /* MEDEFAIDRIN CAPITAL LETTER AI */
> - /*3981*/  0x016e7f,  1, 0x016e5f, /* MEDEFAIDRIN CAPITAL LETTER Y */
> - /*3984*/  0x01e922,  1, 0x01e900, /* ADLAM CAPITAL LETTER ALIF */
> - /*3987*/  0x01e923,  1, 0x01e901, /* ADLAM CAPITAL LETTER DAALI */
> - /*3990*/  0x01e924,  1, 0x01e902, /* ADLAM CAPITAL LETTER LAAM */
> - /*3993*/  0x01e925,  1, 0x01e903, /* ADLAM CAPITAL LETTER MIIM */
> - /*3996*/  0x01e926,  1, 0x01e904, /* ADLAM CAPITAL LETTER BA */
> - /*3999*/  0x01e927,  1, 0x01e905, /* ADLAM CAPITAL LETTER SINNYIIYHE */
> - /*4002*/  0x01e928,  1, 0x01e906, /* ADLAM CAPITAL LETTER PE */
> - /*4005*/  0x01e929,  1, 0x01e907, /* ADLAM CAPITAL LETTER BHE */
> - /*4008*/  0x01e92a,  1, 0x01e908, /* ADLAM CAPITAL LETTER RA */
> - /*4011*/  0x01e92b,  1, 0x01e909, /* ADLAM CAPITAL LETTER E */
> - /*4014*/  0x01e92c,  1, 0x01e90a, /* ADLAM CAPITAL LETTER FA */
> - /*4017*/  0x01e92d,  1, 0x01e90b, /* ADLAM CAPITAL LETTER I */
> - /*4020*/  0x01e92e,  1, 0x01e90c, /* ADLAM CAPITAL LETTER O */
> - /*4023*/  0x01e92f,  1, 0x01e90d, /* ADLAM CAPITAL LETTER DHA */
> - /*4026*/  0x01e930,  1, 0x01e90e, /* ADLAM CAPITAL LETTER YHE */
> - /*4029*/  0x01e931,  1, 0x01e90f, /* ADLAM CAPITAL LETTER WAW */
> - /*4032*/  0x01e932,  1, 0x01e910, /* ADLAM CAPITAL LETTER NUN */
> - /*4035*/  0x01e933,  1, 0x01e911, /* ADLAM CAPITAL LETTER KAF */
> - /*4038*/  0x01e934,  1, 0x01e912, /* ADLAM CAPITAL LETTER YA */
> - /*4041*/  0x01e935,  1, 0x01e913, /* ADLAM CAPITAL LETTER U */
> - /*4044*/  0x01e936,  1, 0x01e914, /* ADLAM CAPITAL LETTER JIIM */
> - /*4047*/  0x01e937,  1, 0x01e915, /* ADLAM CAPITAL LETTER CHI */
> - /*4050*/  0x01e938,  1, 0x01e916, /* ADLAM CAPITAL LETTER HA */
> - /*4053*/  0x01e939,  1, 0x01e917, /* ADLAM CAPITAL LETTER QAAF */
> - /*4056*/  0x01e93a,  1, 0x01e918, /* ADLAM CAPITAL LETTER GA */
> - /*4059*/  0x01e93b,  1, 0x01e919, /* ADLAM CAPITAL LETTER NYA */
> - /*4062*/  0x01e93c,  1, 0x01e91a, /* ADLAM CAPITAL LETTER TU */
> - /*4065*/  0x01e93d,  1, 0x01e91b, /* ADLAM CAPITAL LETTER NHA */
> - /*4068*/  0x01e93e,  1, 0x01e91c, /* ADLAM CAPITAL LETTER VA */
> - /*4071*/  0x01e93f,  1, 0x01e91d, /* ADLAM CAPITAL LETTER KHA */
> - /*4074*/  0x01e940,  1, 0x01e91e, /* ADLAM CAPITAL LETTER GBE */
> - /*4077*/  0x01e941,  1, 0x01e91f, /* ADLAM CAPITAL LETTER ZAL */
> - /*4080*/  0x01e942,  1, 0x01e920, /* ADLAM CAPITAL LETTER KPO */
> - /*4083*/  0x01e943,  1, 0x01e921, /* ADLAM CAPITAL LETTER SHA */
> -#define FOLDS1_NORMAL_END_INDEX   4086
> - /* ----- LOCALE ----- */
> - /*4086*/    0x0069,  1,   0x0049, /* LATIN CAPITAL LETTER I */
> -#define FOLDS1_END_INDEX   4089
> -};
> -
> -OnigCodePoint OnigUnicodeFolds2[] = {
> - /* LATIN SMALL LETTER A WITH RIGHT HALF RING */
> - /*   0*/    0x0061,   0x02be,  1,   0x1e9a,
> - /* LATIN SMALL LIGATURE FF */
> - /*   4*/    0x0066,   0x0066,  1,   0xfb00,
> - /* LATIN SMALL LIGATURE FI */
> - /*   8*/    0x0066,   0x0069,  1,   0xfb01,
> - /* LATIN SMALL LIGATURE FL */
> - /*  12*/    0x0066,   0x006c,  1,   0xfb02,
> - /* LATIN SMALL LETTER H WITH LINE BELOW */
> - /*  16*/    0x0068,   0x0331,  1,   0x1e96,
> - /* LATIN SMALL LETTER J WITH CARON */
> - /*  20*/    0x006a,   0x030c,  1,   0x01f0,
> - /* LATIN SMALL LETTER SHARP S */
> - /*  24*/    0x0073,   0x0073,  2,   0x00df,   0x1e9e,
> - /* LATIN SMALL LIGATURE LONG S T */
> - /*  29*/    0x0073,   0x0074,  2,   0xfb05,   0xfb06,
> - /* LATIN SMALL LETTER T WITH DIAERESIS */
> - /*  34*/    0x0074,   0x0308,  1,   0x1e97,
> - /* LATIN SMALL LETTER W WITH RING ABOVE */
> - /*  38*/    0x0077,   0x030a,  1,   0x1e98,
> - /* LATIN SMALL LETTER Y WITH RING ABOVE */
> - /*  42*/    0x0079,   0x030a,  1,   0x1e99,
> - /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */
> - /*  46*/    0x02bc,   0x006e,  1,   0x0149,
> - /* GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI */
> - /*  50*/    0x03ac,   0x03b9,  1,   0x1fb4,
> - /* GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI */
> - /*  54*/    0x03ae,   0x03b9,  1,   0x1fc4,
> - /* GREEK SMALL LETTER ALPHA WITH PERISPOMENI */
> - /*  58*/    0x03b1,   0x0342,  1,   0x1fb6,
> - /* GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI */
> - /*  62*/    0x03b1,   0x03b9,  2,   0x1fb3,   0x1fbc,
> - /* GREEK SMALL LETTER ETA WITH PERISPOMENI */
> - /*  67*/    0x03b7,   0x0342,  1,   0x1fc6,
> - /* GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI */
> - /*  71*/    0x03b7,   0x03b9,  2,   0x1fc3,   0x1fcc,
> - /* GREEK SMALL LETTER IOTA WITH PERISPOMENI */
> - /*  76*/    0x03b9,   0x0342,  1,   0x1fd6,
> - /* GREEK SMALL LETTER RHO WITH PSILI */
> - /*  80*/    0x03c1,   0x0313,  1,   0x1fe4,
> - /* GREEK SMALL LETTER UPSILON WITH PSILI */
> - /*  84*/    0x03c5,   0x0313,  1,   0x1f50,
> - /* GREEK SMALL LETTER UPSILON WITH PERISPOMENI */
> - /*  88*/    0x03c5,   0x0342,  1,   0x1fe6,
> - /* GREEK SMALL LETTER OMEGA WITH PERISPOMENI */
> - /*  92*/    0x03c9,   0x0342,  1,   0x1ff6,
> - /* GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI */
> - /*  96*/    0x03c9,   0x03b9,  2,   0x1ff3,   0x1ffc,
> - /* GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI */
> - /* 101*/    0x03ce,   0x03b9,  1,   0x1ff4,
> - /* ARMENIAN SMALL LIGATURE ECH YIWN */
> - /* 105*/    0x0565,   0x0582,  1,   0x0587,
> - /* ARMENIAN SMALL LIGATURE MEN ECH */
> - /* 109*/    0x0574,   0x0565,  1,   0xfb14,
> - /* ARMENIAN SMALL LIGATURE MEN INI */
> - /* 113*/    0x0574,   0x056b,  1,   0xfb15,
> - /* ARMENIAN SMALL LIGATURE MEN XEH */
> - /* 117*/    0x0574,   0x056d,  1,   0xfb17,
> - /* ARMENIAN SMALL LIGATURE MEN NOW */
> - /* 121*/    0x0574,   0x0576,  1,   0xfb13,
> - /* ARMENIAN SMALL LIGATURE VEW NOW */
> - /* 125*/    0x057e,   0x0576,  1,   0xfb16,
> - /* GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI */
> - /* 129*/    0x1f00,   0x03b9,  2,   0x1f80,   0x1f88,
> - /* GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI */
> - /* 134*/    0x1f01,   0x03b9,  2,   0x1f81,   0x1f89,
> - /* GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND
> YPOGEGRAMMENI */
> - /* 139*/    0x1f02,   0x03b9,  2,   0x1f82,   0x1f8a,
> - /* GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND
> YPOGEGRAMMENI */
> - /* 144*/    0x1f03,   0x03b9,  2,   0x1f83,   0x1f8b,
> - /* GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND
> YPOGEGRAMMENI */
> - /* 149*/    0x1f04,   0x03b9,  2,   0x1f84,   0x1f8c,
> - /* GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND
> YPOGEGRAMMENI */
> - /* 154*/    0x1f05,   0x03b9,  2,   0x1f85,   0x1f8d,
> - /* GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND
> YPOGEGRAMMENI */
> - /* 159*/    0x1f06,   0x03b9,  2,   0x1f86,   0x1f8e,
> - /* GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND
> YPOGEGRAMMENI */
> - /* 164*/    0x1f07,   0x03b9,  2,   0x1f87,   0x1f8f,
> - /* GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI */
> - /* 169*/    0x1f20,   0x03b9,  2,   0x1f90,   0x1f98,
> - /* GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI */
> - /* 174*/    0x1f21,   0x03b9,  2,   0x1f91,   0x1f99,
> - /* GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND
> YPOGEGRAMMENI */
> - /* 179*/    0x1f22,   0x03b9,  2,   0x1f92,   0x1f9a,
> - /* GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND
> YPOGEGRAMMENI */
> - /* 184*/    0x1f23,   0x03b9,  2,   0x1f93,   0x1f9b,
> - /* GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
> */
> - /* 189*/    0x1f24,   0x03b9,  2,   0x1f94,   0x1f9c,
> - /* GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND
> YPOGEGRAMMENI */
> - /* 194*/    0x1f25,   0x03b9,  2,   0x1f95,   0x1f9d,
> - /* GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND
> YPOGEGRAMMENI */
> - /* 199*/    0x1f26,   0x03b9,  2,   0x1f96,   0x1f9e,
> - /* GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND
> YPOGEGRAMMENI */
> - /* 204*/    0x1f27,   0x03b9,  2,   0x1f97,   0x1f9f,
> - /* GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI */
> - /* 209*/    0x1f60,   0x03b9,  2,   0x1fa0,   0x1fa8,
> - /* GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI */
> - /* 214*/    0x1f61,   0x03b9,  2,   0x1fa1,   0x1fa9,
> - /* GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND
> YPOGEGRAMMENI */
> - /* 219*/    0x1f62,   0x03b9,  2,   0x1fa2,   0x1faa,
> - /* GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND
> YPOGEGRAMMENI */
> - /* 224*/    0x1f63,   0x03b9,  2,   0x1fa3,   0x1fab,
> - /* GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND
> YPOGEGRAMMENI */
> - /* 229*/    0x1f64,   0x03b9,  2,   0x1fa4,   0x1fac,
> - /* GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND
> YPOGEGRAMMENI */
> - /* 234*/    0x1f65,   0x03b9,  2,   0x1fa5,   0x1fad,
> - /* GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND
> YPOGEGRAMMENI */
> - /* 239*/    0x1f66,   0x03b9,  2,   0x1fa6,   0x1fae,
> - /* GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND
> YPOGEGRAMMENI */
> - /* 244*/    0x1f67,   0x03b9,  2,   0x1fa7,   0x1faf,
> - /* GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI */
> - /* 249*/    0x1f70,   0x03b9,  1,   0x1fb2,
> - /* GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI */
> - /* 253*/    0x1f74,   0x03b9,  1,   0x1fc2,
> - /* GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI */
> - /* 257*/    0x1f7c,   0x03b9,  1,   0x1ff2,
> -#define FOLDS2_NORMAL_END_INDEX   261
> - /* ----- LOCALE ----- */
> - /* LATIN CAPITAL LETTER I WITH DOT ABOVE */
> - /* 261*/    0x0069,   0x0307,  1,   0x0130,
> -#define FOLDS2_END_INDEX   265
> -};
> -
> -OnigCodePoint OnigUnicodeFolds3[] = {
> - /* LATIN SMALL LIGATURE FFI */
> - /*   0*/    0x0066,   0x0066,   0x0069,  1,   0xfb03,
> - /* LATIN SMALL LIGATURE FFL */
> - /*   5*/    0x0066,   0x0066,   0x006c,  1,   0xfb04,
> - /* GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND
> YPOGEGRAMMENI */
> - /*  10*/    0x03b1,   0x0342,   0x03b9,  1,   0x1fb7,
> - /* GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
> */
> - /*  15*/    0x03b7,   0x0342,   0x03b9,  1,   0x1fc7,
> - /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA */
> - /*  20*/    0x03b9,   0x0308,   0x0300,  1,   0x1fd2,
> - /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */
> - /*  25*/    0x03b9,   0x0308,   0x0301,  2,   0x0390,   0x1fd3,
> - /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI */
> - /*  31*/    0x03b9,   0x0308,   0x0342,  1,   0x1fd7,
> - /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA */
> - /*  36*/    0x03c5,   0x0308,   0x0300,  1,   0x1fe2,
> - /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */
> - /*  41*/    0x03c5,   0x0308,   0x0301,  2,   0x03b0,   0x1fe3,
> - /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI */
> - /*  47*/    0x03c5,   0x0308,   0x0342,  1,   0x1fe7,
> - /* GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA */
> - /*  52*/    0x03c5,   0x0313,   0x0300,  1,   0x1f52,
> - /* GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA */
> - /*  57*/    0x03c5,   0x0313,   0x0301,  1,   0x1f54,
> - /* GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI */
> - /*  62*/    0x03c5,   0x0313,   0x0342,  1,   0x1f56,
> - /* GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND
> YPOGEGRAMMENI */
> - /*  67*/    0x03c9,   0x0342,   0x03b9,  1,   0x1ff7,
> -#define FOLDS3_NORMAL_END_INDEX   72
> - /* ----- LOCALE ----- */
> -#define FOLDS3_END_INDEX   72
> -};
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_pr
> operty_data.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_pr
> operty_data.c
> deleted file mode 100644
> index b06997b83125..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_pr
> operty_data.c
> +++ /dev/null
> @@ -1,30388 +0,0 @@
> -/* ANSI-C code produced by gperf version 3.1 */
> -/* Command-line: /usr/local/bin/gperf -T -C -c -t -j1 -L ANSI-C --ignore-case -
> -pic -Q unicode_prop_name_pool -N unicode_lookup_property_name --
> output-file gperf1.tmp unicode_property_data.gperf  */
> -/* Computed positions: -k'1-3,5-6,12,16,$' */
> -
> -#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
> -      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
> -      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
> -      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
> -      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
> -      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
> -      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
> -      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
> -      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
> -      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
> -      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
> -      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
> -      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
> -      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
> -      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
> -      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
> -      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
> -      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
> -      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
> -      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
> -      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
> -      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
> -      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
> -/* The character set is not based on ISO-646.  */
> -#error "gperf generated tables don't work with this execution character set.
> Please report a bug to <bug-gperf@gnu.org>."
> -#endif
> -
> -
> -
> -/* Generated by make_unicode_property_data.py. */
> -
> -
> -/* PROPERTY: 'NEWLINE': POSIX [[:NEWLINE:]] */
> -static const OnigCodePoint
> -CR_NEWLINE[] = { 1,
> -0x000a, 0x000a,
> -}; /* END of CR_NEWLINE */
> -
> -/* PROPERTY: 'Alpha': POSIX [[:Alpha:]] */
> -static const OnigCodePoint
> -CR_Alpha[] = { 679,
> -0x0041, 0x005a,
> -0x0061, 0x007a,
> -0x00aa, 0x00aa,
> -0x00b5, 0x00b5,
> -0x00ba, 0x00ba,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00f6,
> -0x00f8, 0x02c1,
> -0x02c6, 0x02d1,
> -0x02e0, 0x02e4,
> -0x02ec, 0x02ec,
> -0x02ee, 0x02ee,
> -0x0345, 0x0345,
> -0x0370, 0x0374,
> -0x0376, 0x0377,
> -0x037a, 0x037d,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x03f5,
> -0x03f7, 0x0481,
> -0x048a, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x0559,
> -0x0560, 0x0588,
> -0x05b0, 0x05bd,
> -0x05bf, 0x05bf,
> -0x05c1, 0x05c2,
> -0x05c4, 0x05c5,
> -0x05c7, 0x05c7,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f2,
> -0x0610, 0x061a,
> -0x0620, 0x0657,
> -0x0659, 0x065f,
> -0x066e, 0x06d3,
> -0x06d5, 0x06dc,
> -0x06e1, 0x06e8,
> -0x06ed, 0x06ef,
> -0x06fa, 0x06fc,
> -0x06ff, 0x06ff,
> -0x0710, 0x073f,
> -0x074d, 0x07b1,
> -0x07ca, 0x07ea,
> -0x07f4, 0x07f5,
> -0x07fa, 0x07fa,
> -0x0800, 0x0817,
> -0x081a, 0x082c,
> -0x0840, 0x0858,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x08d4, 0x08df,
> -0x08e3, 0x08e9,
> -0x08f0, 0x093b,
> -0x093d, 0x094c,
> -0x094e, 0x0950,
> -0x0955, 0x0963,
> -0x0971, 0x0983,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bd, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09cc,
> -0x09ce, 0x09ce,
> -0x09d7, 0x09d7,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e3,
> -0x09f0, 0x09f1,
> -0x09fc, 0x09fc,
> -0x0a01, 0x0a03,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4c,
> -0x0a51, 0x0a51,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a70, 0x0a75,
> -0x0a81, 0x0a83,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abd, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acc,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae3,
> -0x0af9, 0x0afc,
> -0x0b01, 0x0b03,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3d, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4c,
> -0x0b56, 0x0b57,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b63,
> -0x0b71, 0x0b71,
> -0x0b82, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcc,
> -0x0bd0, 0x0bd0,
> -0x0bd7, 0x0bd7,
> -0x0c00, 0x0c03,
> -0x0c05, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4c,
> -0x0c55, 0x0c56,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c63,
> -0x0c80, 0x0c83,
> -0x0c85, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbd, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccc,
> -0x0cd5, 0x0cd6,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce3,
> -0x0cf1, 0x0cf2,
> -0x0d00, 0x0d03,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d3a,
> -0x0d3d, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4c,
> -0x0d4e, 0x0d4e,
> -0x0d54, 0x0d57,
> -0x0d5f, 0x0d63,
> -0x0d7a, 0x0d7f,
> -0x0d82, 0x0d83,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0df2, 0x0df3,
> -0x0e01, 0x0e3a,
> -0x0e40, 0x0e46,
> -0x0e4d, 0x0e4d,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0eb9,
> -0x0ebb, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0ecd, 0x0ecd,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f00,
> -0x0f40, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f71, 0x0f81,
> -0x0f88, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x1000, 0x1036,
> -0x1038, 0x1038,
> -0x103b, 0x103f,
> -0x1050, 0x108f,
> -0x109a, 0x109d,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x10fa,
> -0x10fc, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x1380, 0x138f,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1401, 0x166c,
> -0x166f, 0x167f,
> -0x1681, 0x169a,
> -0x16a0, 0x16ea,
> -0x16ee, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1713,
> -0x1720, 0x1733,
> -0x1740, 0x1753,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1772, 0x1773,
> -0x1780, 0x17b3,
> -0x17b6, 0x17c8,
> -0x17d7, 0x17d7,
> -0x17dc, 0x17dc,
> -0x1820, 0x1878,
> -0x1880, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1920, 0x192b,
> -0x1930, 0x1938,
> -0x1950, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x1a00, 0x1a1b,
> -0x1a20, 0x1a5e,
> -0x1a61, 0x1a74,
> -0x1aa7, 0x1aa7,
> -0x1b00, 0x1b33,
> -0x1b35, 0x1b43,
> -0x1b45, 0x1b4b,
> -0x1b80, 0x1ba9,
> -0x1bac, 0x1baf,
> -0x1bba, 0x1be5,
> -0x1be7, 0x1bf1,
> -0x1c00, 0x1c36,
> -0x1c4d, 0x1c4f,
> -0x1c5a, 0x1c7d,
> -0x1c80, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1ce9, 0x1cec,
> -0x1cee, 0x1cf3,
> -0x1cf5, 0x1cf6,
> -0x1cfa, 0x1cfa,
> -0x1d00, 0x1dbf,
> -0x1de7, 0x1df4,
> -0x1e00, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fbc,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fcc,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fe0, 0x1fec,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffc,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210a, 0x2113,
> -0x2115, 0x2115,
> -0x2119, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x212d,
> -0x212f, 0x2139,
> -0x213c, 0x213f,
> -0x2145, 0x2149,
> -0x214e, 0x214e,
> -0x2160, 0x2188,
> -0x24b6, 0x24e9,
> -0x2c00, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2ce4,
> -0x2ceb, 0x2cee,
> -0x2cf2, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d6f,
> -0x2d80, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x2de0, 0x2dff,
> -0x2e2f, 0x2e2f,
> -0x3005, 0x3007,
> -0x3021, 0x3029,
> -0x3031, 0x3035,
> -0x3038, 0x303c,
> -0x3041, 0x3096,
> -0x309d, 0x309f,
> -0x30a1, 0x30fa,
> -0x30fc, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x31a0, 0x31ba,
> -0x31f0, 0x31ff,
> -0x3400, 0x4db5,
> -0x4e00, 0x9fef,
> -0xa000, 0xa48c,
> -0xa4d0, 0xa4fd,
> -0xa500, 0xa60c,
> -0xa610, 0xa61f,
> -0xa62a, 0xa62b,
> -0xa640, 0xa66e,
> -0xa674, 0xa67b,
> -0xa67f, 0xa6ef,
> -0xa717, 0xa71f,
> -0xa722, 0xa788,
> -0xa78b, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa805,
> -0xa807, 0xa827,
> -0xa840, 0xa873,
> -0xa880, 0xa8c3,
> -0xa8c5, 0xa8c5,
> -0xa8f2, 0xa8f7,
> -0xa8fb, 0xa8fb,
> -0xa8fd, 0xa8ff,
> -0xa90a, 0xa92a,
> -0xa930, 0xa952,
> -0xa960, 0xa97c,
> -0xa980, 0xa9b2,
> -0xa9b4, 0xa9bf,
> -0xa9cf, 0xa9cf,
> -0xa9e0, 0xa9ef,
> -0xa9fa, 0xa9fe,
> -0xaa00, 0xaa36,
> -0xaa40, 0xaa4d,
> -0xaa60, 0xaa76,
> -0xaa7a, 0xaabe,
> -0xaac0, 0xaac0,
> -0xaac2, 0xaac2,
> -0xaadb, 0xaadd,
> -0xaae0, 0xaaef,
> -0xaaf2, 0xaaf5,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab5a,
> -0xab5c, 0xab67,
> -0xab70, 0xabea,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xf900, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb28,
> -0xfb2a, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbb1,
> -0xfbd3, 0xfd3d,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfb,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xff21, 0xff3a,
> -0xff41, 0xff5a,
> -0xff66, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10140, 0x10174,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x10300, 0x1031f,
> -0x1032d, 0x1034a,
> -0x10350, 0x1037a,
> -0x10380, 0x1039d,
> -0x103a0, 0x103c3,
> -0x103c8, 0x103cf,
> -0x103d1, 0x103d5,
> -0x10400, 0x1049d,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10860, 0x10876,
> -0x10880, 0x1089e,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x10900, 0x10915,
> -0x10920, 0x10939,
> -0x10980, 0x109b7,
> -0x109be, 0x109bf,
> -0x10a00, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a60, 0x10a7c,
> -0x10a80, 0x10a9c,
> -0x10ac0, 0x10ac7,
> -0x10ac9, 0x10ae4,
> -0x10b00, 0x10b35,
> -0x10b40, 0x10b55,
> -0x10b60, 0x10b72,
> -0x10b80, 0x10b91,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10d00, 0x10d27,
> -0x10f00, 0x10f1c,
> -0x10f27, 0x10f27,
> -0x10f30, 0x10f45,
> -0x10fe0, 0x10ff6,
> -0x11000, 0x11045,
> -0x11082, 0x110b8,
> -0x110d0, 0x110e8,
> -0x11100, 0x11132,
> -0x11144, 0x11146,
> -0x11150, 0x11172,
> -0x11176, 0x11176,
> -0x11180, 0x111bf,
> -0x111c1, 0x111c4,
> -0x111da, 0x111da,
> -0x111dc, 0x111dc,
> -0x11200, 0x11211,
> -0x11213, 0x11234,
> -0x11237, 0x11237,
> -0x1123e, 0x1123e,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a8,
> -0x112b0, 0x112e8,
> -0x11300, 0x11303,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133d, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134c,
> -0x11350, 0x11350,
> -0x11357, 0x11357,
> -0x1135d, 0x11363,
> -0x11400, 0x11441,
> -0x11443, 0x11445,
> -0x11447, 0x1144a,
> -0x1145f, 0x1145f,
> -0x11480, 0x114c1,
> -0x114c4, 0x114c5,
> -0x114c7, 0x114c7,
> -0x11580, 0x115b5,
> -0x115b8, 0x115be,
> -0x115d8, 0x115dd,
> -0x11600, 0x1163e,
> -0x11640, 0x11640,
> -0x11644, 0x11644,
> -0x11680, 0x116b5,
> -0x116b8, 0x116b8,
> -0x11700, 0x1171a,
> -0x1171d, 0x1172a,
> -0x11800, 0x11838,
> -0x118a0, 0x118df,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d7,
> -0x119da, 0x119df,
> -0x119e1, 0x119e1,
> -0x119e3, 0x119e4,
> -0x11a00, 0x11a32,
> -0x11a35, 0x11a3e,
> -0x11a50, 0x11a97,
> -0x11a9d, 0x11a9d,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c36,
> -0x11c38, 0x11c3e,
> -0x11c40, 0x11c40,
> -0x11c72, 0x11c8f,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d41,
> -0x11d43, 0x11d43,
> -0x11d46, 0x11d47,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d96,
> -0x11d98, 0x11d98,
> -0x11ee0, 0x11ef6,
> -0x12000, 0x12399,
> -0x12400, 0x1246e,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16ad0, 0x16aed,
> -0x16b00, 0x16b2f,
> -0x16b40, 0x16b43,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e7f,
> -0x16f00, 0x16f4a,
> -0x16f4f, 0x16f87,
> -0x16f8f, 0x16f9f,
> -0x16fe0, 0x16fe1,
> -0x16fe3, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1bc9e, 0x1bc9e,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d6c0,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6fa,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d734,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d76e,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d7a8,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7cb,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e100, 0x1e12c,
> -0x1e137, 0x1e13d,
> -0x1e14e, 0x1e14e,
> -0x1e2c0, 0x1e2eb,
> -0x1e800, 0x1e8c4,
> -0x1e900, 0x1e943,
> -0x1e947, 0x1e947,
> -0x1e94b, 0x1e94b,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x1f130, 0x1f149,
> -0x1f150, 0x1f169,
> -0x1f170, 0x1f189,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -}; /* END of CR_Alpha */
> -
> -/* PROPERTY: 'Blank': POSIX [[:Blank:]] */
> -static const OnigCodePoint
> -CR_Blank[] = { 8,
> -0x0009, 0x0009,
> -0x0020, 0x0020,
> -0x00a0, 0x00a0,
> -0x1680, 0x1680,
> -0x2000, 0x200a,
> -0x202f, 0x202f,
> -0x205f, 0x205f,
> -0x3000, 0x3000,
> -}; /* END of CR_Blank */
> -
> -/* PROPERTY: 'Cntrl': POSIX [[:Cntrl:]] */
> -static const OnigCodePoint
> -CR_Cntrl[] = { 2,
> -0x0000, 0x001f,
> -0x007f, 0x009f,
> -}; /* END of CR_Cntrl */
> -
> -/* PROPERTY: 'Digit': POSIX [[:Digit:]] */
> -static const OnigCodePoint
> -CR_Digit[] = { 59,
> -0x0030, 0x0039,
> -0x0660, 0x0669,
> -0x06f0, 0x06f9,
> -0x07c0, 0x07c9,
> -0x0966, 0x096f,
> -0x09e6, 0x09ef,
> -0x0a66, 0x0a6f,
> -0x0ae6, 0x0aef,
> -0x0b66, 0x0b6f,
> -0x0be6, 0x0bef,
> -0x0c66, 0x0c6f,
> -0x0ce6, 0x0cef,
> -0x0d66, 0x0d6f,
> -0x0de6, 0x0def,
> -0x0e50, 0x0e59,
> -0x0ed0, 0x0ed9,
> -0x0f20, 0x0f29,
> -0x1040, 0x1049,
> -0x1090, 0x1099,
> -0x17e0, 0x17e9,
> -0x1810, 0x1819,
> -0x1946, 0x194f,
> -0x19d0, 0x19d9,
> -0x1a80, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1b50, 0x1b59,
> -0x1bb0, 0x1bb9,
> -0x1c40, 0x1c49,
> -0x1c50, 0x1c59,
> -0xa620, 0xa629,
> -0xa8d0, 0xa8d9,
> -0xa900, 0xa909,
> -0xa9d0, 0xa9d9,
> -0xa9f0, 0xa9f9,
> -0xaa50, 0xaa59,
> -0xabf0, 0xabf9,
> -0xff10, 0xff19,
> -0x104a0, 0x104a9,
> -0x10d30, 0x10d39,
> -0x11066, 0x1106f,
> -0x110f0, 0x110f9,
> -0x11136, 0x1113f,
> -0x111d0, 0x111d9,
> -0x112f0, 0x112f9,
> -0x11450, 0x11459,
> -0x114d0, 0x114d9,
> -0x11650, 0x11659,
> -0x116c0, 0x116c9,
> -0x11730, 0x11739,
> -0x118e0, 0x118e9,
> -0x11c50, 0x11c59,
> -0x11d50, 0x11d59,
> -0x11da0, 0x11da9,
> -0x16a60, 0x16a69,
> -0x16b50, 0x16b59,
> -0x1d7ce, 0x1d7ff,
> -0x1e140, 0x1e149,
> -0x1e2f0, 0x1e2f9,
> -0x1e950, 0x1e959,
> -}; /* END of CR_Digit */
> -
> -/* PROPERTY: 'Graph': POSIX [[:Graph:]] */
> -static const OnigCodePoint
> -CR_Graph[] = { 671,
> -0x0021, 0x007e,
> -0x00a1, 0x0377,
> -0x037a, 0x037f,
> -0x0384, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x058a,
> -0x058d, 0x058f,
> -0x0591, 0x05c7,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f4,
> -0x0600, 0x061c,
> -0x061e, 0x070d,
> -0x070f, 0x074a,
> -0x074d, 0x07b1,
> -0x07c0, 0x07fa,
> -0x07fd, 0x082d,
> -0x0830, 0x083e,
> -0x0840, 0x085b,
> -0x085e, 0x085e,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x08d3, 0x0983,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bc, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09ce,
> -0x09d7, 0x09d7,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e3,
> -0x09e6, 0x09fe,
> -0x0a01, 0x0a03,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a3c, 0x0a3c,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4d,
> -0x0a51, 0x0a51,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a66, 0x0a76,
> -0x0a81, 0x0a83,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abc, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acd,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae3,
> -0x0ae6, 0x0af1,
> -0x0af9, 0x0aff,
> -0x0b01, 0x0b03,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3c, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4d,
> -0x0b56, 0x0b57,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b63,
> -0x0b66, 0x0b77,
> -0x0b82, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcd,
> -0x0bd0, 0x0bd0,
> -0x0bd7, 0x0bd7,
> -0x0be6, 0x0bfa,
> -0x0c00, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4d,
> -0x0c55, 0x0c56,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c63,
> -0x0c66, 0x0c6f,
> -0x0c77, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbc, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccd,
> -0x0cd5, 0x0cd6,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce3,
> -0x0ce6, 0x0cef,
> -0x0cf1, 0x0cf2,
> -0x0d00, 0x0d03,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4f,
> -0x0d54, 0x0d63,
> -0x0d66, 0x0d7f,
> -0x0d82, 0x0d83,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0dca, 0x0dca,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0de6, 0x0def,
> -0x0df2, 0x0df4,
> -0x0e01, 0x0e3a,
> -0x0e3f, 0x0e5b,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0ec8, 0x0ecd,
> -0x0ed0, 0x0ed9,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f71, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x0fbe, 0x0fcc,
> -0x0fce, 0x0fda,
> -0x1000, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x135d, 0x137c,
> -0x1380, 0x1399,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1400, 0x167f,
> -0x1681, 0x169c,
> -0x16a0, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1714,
> -0x1720, 0x1736,
> -0x1740, 0x1753,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1772, 0x1773,
> -0x1780, 0x17dd,
> -0x17e0, 0x17e9,
> -0x17f0, 0x17f9,
> -0x1800, 0x180e,
> -0x1810, 0x1819,
> -0x1820, 0x1878,
> -0x1880, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1920, 0x192b,
> -0x1930, 0x193b,
> -0x1940, 0x1940,
> -0x1944, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x19d0, 0x19da,
> -0x19de, 0x1a1b,
> -0x1a1e, 0x1a5e,
> -0x1a60, 0x1a7c,
> -0x1a7f, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1aa0, 0x1aad,
> -0x1ab0, 0x1abe,
> -0x1b00, 0x1b4b,
> -0x1b50, 0x1b7c,
> -0x1b80, 0x1bf3,
> -0x1bfc, 0x1c37,
> -0x1c3b, 0x1c49,
> -0x1c4d, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cc7,
> -0x1cd0, 0x1cfa,
> -0x1d00, 0x1df9,
> -0x1dfb, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fc4,
> -0x1fc6, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fdd, 0x1fef,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffe,
> -0x200b, 0x2027,
> -0x202a, 0x202e,
> -0x2030, 0x205e,
> -0x2060, 0x2064,
> -0x2066, 0x2071,
> -0x2074, 0x208e,
> -0x2090, 0x209c,
> -0x20a0, 0x20bf,
> -0x20d0, 0x20f0,
> -0x2100, 0x218b,
> -0x2190, 0x2426,
> -0x2440, 0x244a,
> -0x2460, 0x2b73,
> -0x2b76, 0x2b95,
> -0x2b98, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2cf3,
> -0x2cf9, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d70,
> -0x2d7f, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x2de0, 0x2e4f,
> -0x2e80, 0x2e99,
> -0x2e9b, 0x2ef3,
> -0x2f00, 0x2fd5,
> -0x2ff0, 0x2ffb,
> -0x3001, 0x303f,
> -0x3041, 0x3096,
> -0x3099, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x3190, 0x31ba,
> -0x31c0, 0x31e3,
> -0x31f0, 0x321e,
> -0x3220, 0x4db5,
> -0x4dc0, 0x9fef,
> -0xa000, 0xa48c,
> -0xa490, 0xa4c6,
> -0xa4d0, 0xa62b,
> -0xa640, 0xa6f7,
> -0xa700, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa82b,
> -0xa830, 0xa839,
> -0xa840, 0xa877,
> -0xa880, 0xa8c5,
> -0xa8ce, 0xa8d9,
> -0xa8e0, 0xa953,
> -0xa95f, 0xa97c,
> -0xa980, 0xa9cd,
> -0xa9cf, 0xa9d9,
> -0xa9de, 0xa9fe,
> -0xaa00, 0xaa36,
> -0xaa40, 0xaa4d,
> -0xaa50, 0xaa59,
> -0xaa5c, 0xaac2,
> -0xaadb, 0xaaf6,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab67,
> -0xab70, 0xabed,
> -0xabf0, 0xabf9,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xe000, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbc1,
> -0xfbd3, 0xfd3f,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfd,
> -0xfe00, 0xfe19,
> -0xfe20, 0xfe52,
> -0xfe54, 0xfe66,
> -0xfe68, 0xfe6b,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xfeff, 0xfeff,
> -0xff01, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0xffe0, 0xffe6,
> -0xffe8, 0xffee,
> -0xfff9, 0xfffd,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10100, 0x10102,
> -0x10107, 0x10133,
> -0x10137, 0x1018e,
> -0x10190, 0x1019b,
> -0x101a0, 0x101a0,
> -0x101d0, 0x101fd,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x102e0, 0x102fb,
> -0x10300, 0x10323,
> -0x1032d, 0x1034a,
> -0x10350, 0x1037a,
> -0x10380, 0x1039d,
> -0x1039f, 0x103c3,
> -0x103c8, 0x103d5,
> -0x10400, 0x1049d,
> -0x104a0, 0x104a9,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x1056f, 0x1056f,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10857, 0x1089e,
> -0x108a7, 0x108af,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x108fb, 0x1091b,
> -0x1091f, 0x10939,
> -0x1093f, 0x1093f,
> -0x10980, 0x109b7,
> -0x109bc, 0x109cf,
> -0x109d2, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a38, 0x10a3a,
> -0x10a3f, 0x10a48,
> -0x10a50, 0x10a58,
> -0x10a60, 0x10a9f,
> -0x10ac0, 0x10ae6,
> -0x10aeb, 0x10af6,
> -0x10b00, 0x10b35,
> -0x10b39, 0x10b55,
> -0x10b58, 0x10b72,
> -0x10b78, 0x10b91,
> -0x10b99, 0x10b9c,
> -0x10ba9, 0x10baf,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10cfa, 0x10d27,
> -0x10d30, 0x10d39,
> -0x10e60, 0x10e7e,
> -0x10f00, 0x10f27,
> -0x10f30, 0x10f59,
> -0x10fe0, 0x10ff6,
> -0x11000, 0x1104d,
> -0x11052, 0x1106f,
> -0x1107f, 0x110c1,
> -0x110cd, 0x110cd,
> -0x110d0, 0x110e8,
> -0x110f0, 0x110f9,
> -0x11100, 0x11134,
> -0x11136, 0x11146,
> -0x11150, 0x11176,
> -0x11180, 0x111cd,
> -0x111d0, 0x111df,
> -0x111e1, 0x111f4,
> -0x11200, 0x11211,
> -0x11213, 0x1123e,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a9,
> -0x112b0, 0x112ea,
> -0x112f0, 0x112f9,
> -0x11300, 0x11303,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133b, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134d,
> -0x11350, 0x11350,
> -0x11357, 0x11357,
> -0x1135d, 0x11363,
> -0x11366, 0x1136c,
> -0x11370, 0x11374,
> -0x11400, 0x11459,
> -0x1145b, 0x1145b,
> -0x1145d, 0x1145f,
> -0x11480, 0x114c7,
> -0x114d0, 0x114d9,
> -0x11580, 0x115b5,
> -0x115b8, 0x115dd,
> -0x11600, 0x11644,
> -0x11650, 0x11659,
> -0x11660, 0x1166c,
> -0x11680, 0x116b8,
> -0x116c0, 0x116c9,
> -0x11700, 0x1171a,
> -0x1171d, 0x1172b,
> -0x11730, 0x1173f,
> -0x11800, 0x1183b,
> -0x118a0, 0x118f2,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d7,
> -0x119da, 0x119e4,
> -0x11a00, 0x11a47,
> -0x11a50, 0x11aa2,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c36,
> -0x11c38, 0x11c45,
> -0x11c50, 0x11c6c,
> -0x11c70, 0x11c8f,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d47,
> -0x11d50, 0x11d59,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d98,
> -0x11da0, 0x11da9,
> -0x11ee0, 0x11ef8,
> -0x11fc0, 0x11ff1,
> -0x11fff, 0x12399,
> -0x12400, 0x1246e,
> -0x12470, 0x12474,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x13430, 0x13438,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16a60, 0x16a69,
> -0x16a6e, 0x16a6f,
> -0x16ad0, 0x16aed,
> -0x16af0, 0x16af5,
> -0x16b00, 0x16b45,
> -0x16b50, 0x16b59,
> -0x16b5b, 0x16b61,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e9a,
> -0x16f00, 0x16f4a,
> -0x16f4f, 0x16f87,
> -0x16f8f, 0x16f9f,
> -0x16fe0, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1bc9c, 0x1bca3,
> -0x1d000, 0x1d0f5,
> -0x1d100, 0x1d126,
> -0x1d129, 0x1d1e8,
> -0x1d200, 0x1d245,
> -0x1d2e0, 0x1d2f3,
> -0x1d300, 0x1d356,
> -0x1d360, 0x1d378,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d7cb,
> -0x1d7ce, 0x1da8b,
> -0x1da9b, 0x1da9f,
> -0x1daa1, 0x1daaf,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e100, 0x1e12c,
> -0x1e130, 0x1e13d,
> -0x1e140, 0x1e149,
> -0x1e14e, 0x1e14f,
> -0x1e2c0, 0x1e2f9,
> -0x1e2ff, 0x1e2ff,
> -0x1e800, 0x1e8c4,
> -0x1e8c7, 0x1e8d6,
> -0x1e900, 0x1e94b,
> -0x1e950, 0x1e959,
> -0x1e95e, 0x1e95f,
> -0x1ec71, 0x1ecb4,
> -0x1ed01, 0x1ed3d,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x1eef0, 0x1eef1,
> -0x1f000, 0x1f02b,
> -0x1f030, 0x1f093,
> -0x1f0a0, 0x1f0ae,
> -0x1f0b1, 0x1f0bf,
> -0x1f0c1, 0x1f0cf,
> -0x1f0d1, 0x1f0f5,
> -0x1f100, 0x1f10c,
> -0x1f110, 0x1f16c,
> -0x1f170, 0x1f1ac,
> -0x1f1e6, 0x1f202,
> -0x1f210, 0x1f23b,
> -0x1f240, 0x1f248,
> -0x1f250, 0x1f251,
> -0x1f260, 0x1f265,
> -0x1f300, 0x1f6d5,
> -0x1f6e0, 0x1f6ec,
> -0x1f6f0, 0x1f6fa,
> -0x1f700, 0x1f773,
> -0x1f780, 0x1f7d8,
> -0x1f7e0, 0x1f7eb,
> -0x1f800, 0x1f80b,
> -0x1f810, 0x1f847,
> -0x1f850, 0x1f859,
> -0x1f860, 0x1f887,
> -0x1f890, 0x1f8ad,
> -0x1f900, 0x1f90b,
> -0x1f90d, 0x1f971,
> -0x1f973, 0x1f976,
> -0x1f97a, 0x1f9a2,
> -0x1f9a5, 0x1f9aa,
> -0x1f9ae, 0x1f9ca,
> -0x1f9cd, 0x1fa53,
> -0x1fa60, 0x1fa6d,
> -0x1fa70, 0x1fa73,
> -0x1fa78, 0x1fa7a,
> -0x1fa80, 0x1fa82,
> -0x1fa90, 0x1fa95,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -0xe0001, 0xe0001,
> -0xe0020, 0xe007f,
> -0xe0100, 0xe01ef,
> -0xf0000, 0xffffd,
> -0x100000, 0x10fffd,
> -}; /* END of CR_Graph */
> -
> -/* PROPERTY: 'Lower': POSIX [[:Lower:]] */
> -static const OnigCodePoint
> -CR_Lower[] = { 649,
> -0x0061, 0x007a,
> -0x00aa, 0x00aa,
> -0x00b5, 0x00b5,
> -0x00ba, 0x00ba,
> -0x00df, 0x00f6,
> -0x00f8, 0x00ff,
> -0x0101, 0x0101,
> -0x0103, 0x0103,
> -0x0105, 0x0105,
> -0x0107, 0x0107,
> -0x0109, 0x0109,
> -0x010b, 0x010b,
> -0x010d, 0x010d,
> -0x010f, 0x010f,
> -0x0111, 0x0111,
> -0x0113, 0x0113,
> -0x0115, 0x0115,
> -0x0117, 0x0117,
> -0x0119, 0x0119,
> -0x011b, 0x011b,
> -0x011d, 0x011d,
> -0x011f, 0x011f,
> -0x0121, 0x0121,
> -0x0123, 0x0123,
> -0x0125, 0x0125,
> -0x0127, 0x0127,
> -0x0129, 0x0129,
> -0x012b, 0x012b,
> -0x012d, 0x012d,
> -0x012f, 0x012f,
> -0x0131, 0x0131,
> -0x0133, 0x0133,
> -0x0135, 0x0135,
> -0x0137, 0x0138,
> -0x013a, 0x013a,
> -0x013c, 0x013c,
> -0x013e, 0x013e,
> -0x0140, 0x0140,
> -0x0142, 0x0142,
> -0x0144, 0x0144,
> -0x0146, 0x0146,
> -0x0148, 0x0149,
> -0x014b, 0x014b,
> -0x014d, 0x014d,
> -0x014f, 0x014f,
> -0x0151, 0x0151,
> -0x0153, 0x0153,
> -0x0155, 0x0155,
> -0x0157, 0x0157,
> -0x0159, 0x0159,
> -0x015b, 0x015b,
> -0x015d, 0x015d,
> -0x015f, 0x015f,
> -0x0161, 0x0161,
> -0x0163, 0x0163,
> -0x0165, 0x0165,
> -0x0167, 0x0167,
> -0x0169, 0x0169,
> -0x016b, 0x016b,
> -0x016d, 0x016d,
> -0x016f, 0x016f,
> -0x0171, 0x0171,
> -0x0173, 0x0173,
> -0x0175, 0x0175,
> -0x0177, 0x0177,
> -0x017a, 0x017a,
> -0x017c, 0x017c,
> -0x017e, 0x0180,
> -0x0183, 0x0183,
> -0x0185, 0x0185,
> -0x0188, 0x0188,
> -0x018c, 0x018d,
> -0x0192, 0x0192,
> -0x0195, 0x0195,
> -0x0199, 0x019b,
> -0x019e, 0x019e,
> -0x01a1, 0x01a1,
> -0x01a3, 0x01a3,
> -0x01a5, 0x01a5,
> -0x01a8, 0x01a8,
> -0x01aa, 0x01ab,
> -0x01ad, 0x01ad,
> -0x01b0, 0x01b0,
> -0x01b4, 0x01b4,
> -0x01b6, 0x01b6,
> -0x01b9, 0x01ba,
> -0x01bd, 0x01bf,
> -0x01c6, 0x01c6,
> -0x01c9, 0x01c9,
> -0x01cc, 0x01cc,
> -0x01ce, 0x01ce,
> -0x01d0, 0x01d0,
> -0x01d2, 0x01d2,
> -0x01d4, 0x01d4,
> -0x01d6, 0x01d6,
> -0x01d8, 0x01d8,
> -0x01da, 0x01da,
> -0x01dc, 0x01dd,
> -0x01df, 0x01df,
> -0x01e1, 0x01e1,
> -0x01e3, 0x01e3,
> -0x01e5, 0x01e5,
> -0x01e7, 0x01e7,
> -0x01e9, 0x01e9,
> -0x01eb, 0x01eb,
> -0x01ed, 0x01ed,
> -0x01ef, 0x01f0,
> -0x01f3, 0x01f3,
> -0x01f5, 0x01f5,
> -0x01f9, 0x01f9,
> -0x01fb, 0x01fb,
> -0x01fd, 0x01fd,
> -0x01ff, 0x01ff,
> -0x0201, 0x0201,
> -0x0203, 0x0203,
> -0x0205, 0x0205,
> -0x0207, 0x0207,
> -0x0209, 0x0209,
> -0x020b, 0x020b,
> -0x020d, 0x020d,
> -0x020f, 0x020f,
> -0x0211, 0x0211,
> -0x0213, 0x0213,
> -0x0215, 0x0215,
> -0x0217, 0x0217,
> -0x0219, 0x0219,
> -0x021b, 0x021b,
> -0x021d, 0x021d,
> -0x021f, 0x021f,
> -0x0221, 0x0221,
> -0x0223, 0x0223,
> -0x0225, 0x0225,
> -0x0227, 0x0227,
> -0x0229, 0x0229,
> -0x022b, 0x022b,
> -0x022d, 0x022d,
> -0x022f, 0x022f,
> -0x0231, 0x0231,
> -0x0233, 0x0239,
> -0x023c, 0x023c,
> -0x023f, 0x0240,
> -0x0242, 0x0242,
> -0x0247, 0x0247,
> -0x0249, 0x0249,
> -0x024b, 0x024b,
> -0x024d, 0x024d,
> -0x024f, 0x0293,
> -0x0295, 0x02b8,
> -0x02c0, 0x02c1,
> -0x02e0, 0x02e4,
> -0x0345, 0x0345,
> -0x0371, 0x0371,
> -0x0373, 0x0373,
> -0x0377, 0x0377,
> -0x037a, 0x037d,
> -0x0390, 0x0390,
> -0x03ac, 0x03ce,
> -0x03d0, 0x03d1,
> -0x03d5, 0x03d7,
> -0x03d9, 0x03d9,
> -0x03db, 0x03db,
> -0x03dd, 0x03dd,
> -0x03df, 0x03df,
> -0x03e1, 0x03e1,
> -0x03e3, 0x03e3,
> -0x03e5, 0x03e5,
> -0x03e7, 0x03e7,
> -0x03e9, 0x03e9,
> -0x03eb, 0x03eb,
> -0x03ed, 0x03ed,
> -0x03ef, 0x03f3,
> -0x03f5, 0x03f5,
> -0x03f8, 0x03f8,
> -0x03fb, 0x03fc,
> -0x0430, 0x045f,
> -0x0461, 0x0461,
> -0x0463, 0x0463,
> -0x0465, 0x0465,
> -0x0467, 0x0467,
> -0x0469, 0x0469,
> -0x046b, 0x046b,
> -0x046d, 0x046d,
> -0x046f, 0x046f,
> -0x0471, 0x0471,
> -0x0473, 0x0473,
> -0x0475, 0x0475,
> -0x0477, 0x0477,
> -0x0479, 0x0479,
> -0x047b, 0x047b,
> -0x047d, 0x047d,
> -0x047f, 0x047f,
> -0x0481, 0x0481,
> -0x048b, 0x048b,
> -0x048d, 0x048d,
> -0x048f, 0x048f,
> -0x0491, 0x0491,
> -0x0493, 0x0493,
> -0x0495, 0x0495,
> -0x0497, 0x0497,
> -0x0499, 0x0499,
> -0x049b, 0x049b,
> -0x049d, 0x049d,
> -0x049f, 0x049f,
> -0x04a1, 0x04a1,
> -0x04a3, 0x04a3,
> -0x04a5, 0x04a5,
> -0x04a7, 0x04a7,
> -0x04a9, 0x04a9,
> -0x04ab, 0x04ab,
> -0x04ad, 0x04ad,
> -0x04af, 0x04af,
> -0x04b1, 0x04b1,
> -0x04b3, 0x04b3,
> -0x04b5, 0x04b5,
> -0x04b7, 0x04b7,
> -0x04b9, 0x04b9,
> -0x04bb, 0x04bb,
> -0x04bd, 0x04bd,
> -0x04bf, 0x04bf,
> -0x04c2, 0x04c2,
> -0x04c4, 0x04c4,
> -0x04c6, 0x04c6,
> -0x04c8, 0x04c8,
> -0x04ca, 0x04ca,
> -0x04cc, 0x04cc,
> -0x04ce, 0x04cf,
> -0x04d1, 0x04d1,
> -0x04d3, 0x04d3,
> -0x04d5, 0x04d5,
> -0x04d7, 0x04d7,
> -0x04d9, 0x04d9,
> -0x04db, 0x04db,
> -0x04dd, 0x04dd,
> -0x04df, 0x04df,
> -0x04e1, 0x04e1,
> -0x04e3, 0x04e3,
> -0x04e5, 0x04e5,
> -0x04e7, 0x04e7,
> -0x04e9, 0x04e9,
> -0x04eb, 0x04eb,
> -0x04ed, 0x04ed,
> -0x04ef, 0x04ef,
> -0x04f1, 0x04f1,
> -0x04f3, 0x04f3,
> -0x04f5, 0x04f5,
> -0x04f7, 0x04f7,
> -0x04f9, 0x04f9,
> -0x04fb, 0x04fb,
> -0x04fd, 0x04fd,
> -0x04ff, 0x04ff,
> -0x0501, 0x0501,
> -0x0503, 0x0503,
> -0x0505, 0x0505,
> -0x0507, 0x0507,
> -0x0509, 0x0509,
> -0x050b, 0x050b,
> -0x050d, 0x050d,
> -0x050f, 0x050f,
> -0x0511, 0x0511,
> -0x0513, 0x0513,
> -0x0515, 0x0515,
> -0x0517, 0x0517,
> -0x0519, 0x0519,
> -0x051b, 0x051b,
> -0x051d, 0x051d,
> -0x051f, 0x051f,
> -0x0521, 0x0521,
> -0x0523, 0x0523,
> -0x0525, 0x0525,
> -0x0527, 0x0527,
> -0x0529, 0x0529,
> -0x052b, 0x052b,
> -0x052d, 0x052d,
> -0x052f, 0x052f,
> -0x0560, 0x0588,
> -0x10d0, 0x10fa,
> -0x10fd, 0x10ff,
> -0x13f8, 0x13fd,
> -0x1c80, 0x1c88,
> -0x1d00, 0x1dbf,
> -0x1e01, 0x1e01,
> -0x1e03, 0x1e03,
> -0x1e05, 0x1e05,
> -0x1e07, 0x1e07,
> -0x1e09, 0x1e09,
> -0x1e0b, 0x1e0b,
> -0x1e0d, 0x1e0d,
> -0x1e0f, 0x1e0f,
> -0x1e11, 0x1e11,
> -0x1e13, 0x1e13,
> -0x1e15, 0x1e15,
> -0x1e17, 0x1e17,
> -0x1e19, 0x1e19,
> -0x1e1b, 0x1e1b,
> -0x1e1d, 0x1e1d,
> -0x1e1f, 0x1e1f,
> -0x1e21, 0x1e21,
> -0x1e23, 0x1e23,
> -0x1e25, 0x1e25,
> -0x1e27, 0x1e27,
> -0x1e29, 0x1e29,
> -0x1e2b, 0x1e2b,
> -0x1e2d, 0x1e2d,
> -0x1e2f, 0x1e2f,
> -0x1e31, 0x1e31,
> -0x1e33, 0x1e33,
> -0x1e35, 0x1e35,
> -0x1e37, 0x1e37,
> -0x1e39, 0x1e39,
> -0x1e3b, 0x1e3b,
> -0x1e3d, 0x1e3d,
> -0x1e3f, 0x1e3f,
> -0x1e41, 0x1e41,
> -0x1e43, 0x1e43,
> -0x1e45, 0x1e45,
> -0x1e47, 0x1e47,
> -0x1e49, 0x1e49,
> -0x1e4b, 0x1e4b,
> -0x1e4d, 0x1e4d,
> -0x1e4f, 0x1e4f,
> -0x1e51, 0x1e51,
> -0x1e53, 0x1e53,
> -0x1e55, 0x1e55,
> -0x1e57, 0x1e57,
> -0x1e59, 0x1e59,
> -0x1e5b, 0x1e5b,
> -0x1e5d, 0x1e5d,
> -0x1e5f, 0x1e5f,
> -0x1e61, 0x1e61,
> -0x1e63, 0x1e63,
> -0x1e65, 0x1e65,
> -0x1e67, 0x1e67,
> -0x1e69, 0x1e69,
> -0x1e6b, 0x1e6b,
> -0x1e6d, 0x1e6d,
> -0x1e6f, 0x1e6f,
> -0x1e71, 0x1e71,
> -0x1e73, 0x1e73,
> -0x1e75, 0x1e75,
> -0x1e77, 0x1e77,
> -0x1e79, 0x1e79,
> -0x1e7b, 0x1e7b,
> -0x1e7d, 0x1e7d,
> -0x1e7f, 0x1e7f,
> -0x1e81, 0x1e81,
> -0x1e83, 0x1e83,
> -0x1e85, 0x1e85,
> -0x1e87, 0x1e87,
> -0x1e89, 0x1e89,
> -0x1e8b, 0x1e8b,
> -0x1e8d, 0x1e8d,
> -0x1e8f, 0x1e8f,
> -0x1e91, 0x1e91,
> -0x1e93, 0x1e93,
> -0x1e95, 0x1e9d,
> -0x1e9f, 0x1e9f,
> -0x1ea1, 0x1ea1,
> -0x1ea3, 0x1ea3,
> -0x1ea5, 0x1ea5,
> -0x1ea7, 0x1ea7,
> -0x1ea9, 0x1ea9,
> -0x1eab, 0x1eab,
> -0x1ead, 0x1ead,
> -0x1eaf, 0x1eaf,
> -0x1eb1, 0x1eb1,
> -0x1eb3, 0x1eb3,
> -0x1eb5, 0x1eb5,
> -0x1eb7, 0x1eb7,
> -0x1eb9, 0x1eb9,
> -0x1ebb, 0x1ebb,
> -0x1ebd, 0x1ebd,
> -0x1ebf, 0x1ebf,
> -0x1ec1, 0x1ec1,
> -0x1ec3, 0x1ec3,
> -0x1ec5, 0x1ec5,
> -0x1ec7, 0x1ec7,
> -0x1ec9, 0x1ec9,
> -0x1ecb, 0x1ecb,
> -0x1ecd, 0x1ecd,
> -0x1ecf, 0x1ecf,
> -0x1ed1, 0x1ed1,
> -0x1ed3, 0x1ed3,
> -0x1ed5, 0x1ed5,
> -0x1ed7, 0x1ed7,
> -0x1ed9, 0x1ed9,
> -0x1edb, 0x1edb,
> -0x1edd, 0x1edd,
> -0x1edf, 0x1edf,
> -0x1ee1, 0x1ee1,
> -0x1ee3, 0x1ee3,
> -0x1ee5, 0x1ee5,
> -0x1ee7, 0x1ee7,
> -0x1ee9, 0x1ee9,
> -0x1eeb, 0x1eeb,
> -0x1eed, 0x1eed,
> -0x1eef, 0x1eef,
> -0x1ef1, 0x1ef1,
> -0x1ef3, 0x1ef3,
> -0x1ef5, 0x1ef5,
> -0x1ef7, 0x1ef7,
> -0x1ef9, 0x1ef9,
> -0x1efb, 0x1efb,
> -0x1efd, 0x1efd,
> -0x1eff, 0x1f07,
> -0x1f10, 0x1f15,
> -0x1f20, 0x1f27,
> -0x1f30, 0x1f37,
> -0x1f40, 0x1f45,
> -0x1f50, 0x1f57,
> -0x1f60, 0x1f67,
> -0x1f70, 0x1f7d,
> -0x1f80, 0x1f87,
> -0x1f90, 0x1f97,
> -0x1fa0, 0x1fa7,
> -0x1fb0, 0x1fb4,
> -0x1fb6, 0x1fb7,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fc7,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fd7,
> -0x1fe0, 0x1fe7,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ff7,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x210a, 0x210a,
> -0x210e, 0x210f,
> -0x2113, 0x2113,
> -0x212f, 0x212f,
> -0x2134, 0x2134,
> -0x2139, 0x2139,
> -0x213c, 0x213d,
> -0x2146, 0x2149,
> -0x214e, 0x214e,
> -0x2170, 0x217f,
> -0x2184, 0x2184,
> -0x24d0, 0x24e9,
> -0x2c30, 0x2c5e,
> -0x2c61, 0x2c61,
> -0x2c65, 0x2c66,
> -0x2c68, 0x2c68,
> -0x2c6a, 0x2c6a,
> -0x2c6c, 0x2c6c,
> -0x2c71, 0x2c71,
> -0x2c73, 0x2c74,
> -0x2c76, 0x2c7d,
> -0x2c81, 0x2c81,
> -0x2c83, 0x2c83,
> -0x2c85, 0x2c85,
> -0x2c87, 0x2c87,
> -0x2c89, 0x2c89,
> -0x2c8b, 0x2c8b,
> -0x2c8d, 0x2c8d,
> -0x2c8f, 0x2c8f,
> -0x2c91, 0x2c91,
> -0x2c93, 0x2c93,
> -0x2c95, 0x2c95,
> -0x2c97, 0x2c97,
> -0x2c99, 0x2c99,
> -0x2c9b, 0x2c9b,
> -0x2c9d, 0x2c9d,
> -0x2c9f, 0x2c9f,
> -0x2ca1, 0x2ca1,
> -0x2ca3, 0x2ca3,
> -0x2ca5, 0x2ca5,
> -0x2ca7, 0x2ca7,
> -0x2ca9, 0x2ca9,
> -0x2cab, 0x2cab,
> -0x2cad, 0x2cad,
> -0x2caf, 0x2caf,
> -0x2cb1, 0x2cb1,
> -0x2cb3, 0x2cb3,
> -0x2cb5, 0x2cb5,
> -0x2cb7, 0x2cb7,
> -0x2cb9, 0x2cb9,
> -0x2cbb, 0x2cbb,
> -0x2cbd, 0x2cbd,
> -0x2cbf, 0x2cbf,
> -0x2cc1, 0x2cc1,
> -0x2cc3, 0x2cc3,
> -0x2cc5, 0x2cc5,
> -0x2cc7, 0x2cc7,
> -0x2cc9, 0x2cc9,
> -0x2ccb, 0x2ccb,
> -0x2ccd, 0x2ccd,
> -0x2ccf, 0x2ccf,
> -0x2cd1, 0x2cd1,
> -0x2cd3, 0x2cd3,
> -0x2cd5, 0x2cd5,
> -0x2cd7, 0x2cd7,
> -0x2cd9, 0x2cd9,
> -0x2cdb, 0x2cdb,
> -0x2cdd, 0x2cdd,
> -0x2cdf, 0x2cdf,
> -0x2ce1, 0x2ce1,
> -0x2ce3, 0x2ce4,
> -0x2cec, 0x2cec,
> -0x2cee, 0x2cee,
> -0x2cf3, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0xa641, 0xa641,
> -0xa643, 0xa643,
> -0xa645, 0xa645,
> -0xa647, 0xa647,
> -0xa649, 0xa649,
> -0xa64b, 0xa64b,
> -0xa64d, 0xa64d,
> -0xa64f, 0xa64f,
> -0xa651, 0xa651,
> -0xa653, 0xa653,
> -0xa655, 0xa655,
> -0xa657, 0xa657,
> -0xa659, 0xa659,
> -0xa65b, 0xa65b,
> -0xa65d, 0xa65d,
> -0xa65f, 0xa65f,
> -0xa661, 0xa661,
> -0xa663, 0xa663,
> -0xa665, 0xa665,
> -0xa667, 0xa667,
> -0xa669, 0xa669,
> -0xa66b, 0xa66b,
> -0xa66d, 0xa66d,
> -0xa681, 0xa681,
> -0xa683, 0xa683,
> -0xa685, 0xa685,
> -0xa687, 0xa687,
> -0xa689, 0xa689,
> -0xa68b, 0xa68b,
> -0xa68d, 0xa68d,
> -0xa68f, 0xa68f,
> -0xa691, 0xa691,
> -0xa693, 0xa693,
> -0xa695, 0xa695,
> -0xa697, 0xa697,
> -0xa699, 0xa699,
> -0xa69b, 0xa69d,
> -0xa723, 0xa723,
> -0xa725, 0xa725,
> -0xa727, 0xa727,
> -0xa729, 0xa729,
> -0xa72b, 0xa72b,
> -0xa72d, 0xa72d,
> -0xa72f, 0xa731,
> -0xa733, 0xa733,
> -0xa735, 0xa735,
> -0xa737, 0xa737,
> -0xa739, 0xa739,
> -0xa73b, 0xa73b,
> -0xa73d, 0xa73d,
> -0xa73f, 0xa73f,
> -0xa741, 0xa741,
> -0xa743, 0xa743,
> -0xa745, 0xa745,
> -0xa747, 0xa747,
> -0xa749, 0xa749,
> -0xa74b, 0xa74b,
> -0xa74d, 0xa74d,
> -0xa74f, 0xa74f,
> -0xa751, 0xa751,
> -0xa753, 0xa753,
> -0xa755, 0xa755,
> -0xa757, 0xa757,
> -0xa759, 0xa759,
> -0xa75b, 0xa75b,
> -0xa75d, 0xa75d,
> -0xa75f, 0xa75f,
> -0xa761, 0xa761,
> -0xa763, 0xa763,
> -0xa765, 0xa765,
> -0xa767, 0xa767,
> -0xa769, 0xa769,
> -0xa76b, 0xa76b,
> -0xa76d, 0xa76d,
> -0xa76f, 0xa778,
> -0xa77a, 0xa77a,
> -0xa77c, 0xa77c,
> -0xa77f, 0xa77f,
> -0xa781, 0xa781,
> -0xa783, 0xa783,
> -0xa785, 0xa785,
> -0xa787, 0xa787,
> -0xa78c, 0xa78c,
> -0xa78e, 0xa78e,
> -0xa791, 0xa791,
> -0xa793, 0xa795,
> -0xa797, 0xa797,
> -0xa799, 0xa799,
> -0xa79b, 0xa79b,
> -0xa79d, 0xa79d,
> -0xa79f, 0xa79f,
> -0xa7a1, 0xa7a1,
> -0xa7a3, 0xa7a3,
> -0xa7a5, 0xa7a5,
> -0xa7a7, 0xa7a7,
> -0xa7a9, 0xa7a9,
> -0xa7af, 0xa7af,
> -0xa7b5, 0xa7b5,
> -0xa7b7, 0xa7b7,
> -0xa7b9, 0xa7b9,
> -0xa7bb, 0xa7bb,
> -0xa7bd, 0xa7bd,
> -0xa7bf, 0xa7bf,
> -0xa7c3, 0xa7c3,
> -0xa7f8, 0xa7fa,
> -0xab30, 0xab5a,
> -0xab5c, 0xab67,
> -0xab70, 0xabbf,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xff41, 0xff5a,
> -0x10428, 0x1044f,
> -0x104d8, 0x104fb,
> -0x10cc0, 0x10cf2,
> -0x118c0, 0x118df,
> -0x16e60, 0x16e7f,
> -0x1d41a, 0x1d433,
> -0x1d44e, 0x1d454,
> -0x1d456, 0x1d467,
> -0x1d482, 0x1d49b,
> -0x1d4b6, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d4cf,
> -0x1d4ea, 0x1d503,
> -0x1d51e, 0x1d537,
> -0x1d552, 0x1d56b,
> -0x1d586, 0x1d59f,
> -0x1d5ba, 0x1d5d3,
> -0x1d5ee, 0x1d607,
> -0x1d622, 0x1d63b,
> -0x1d656, 0x1d66f,
> -0x1d68a, 0x1d6a5,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6e1,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d71b,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d755,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d78f,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7c9,
> -0x1d7cb, 0x1d7cb,
> -0x1e922, 0x1e943,
> -}; /* END of CR_Lower */
> -
> -/* PROPERTY: 'Print': POSIX [[:Print:]] */
> -static const OnigCodePoint
> -CR_Print[] = { 668,
> -0x0020, 0x007e,
> -0x00a0, 0x0377,
> -0x037a, 0x037f,
> -0x0384, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x058a,
> -0x058d, 0x058f,
> -0x0591, 0x05c7,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f4,
> -0x0600, 0x061c,
> -0x061e, 0x070d,
> -0x070f, 0x074a,
> -0x074d, 0x07b1,
> -0x07c0, 0x07fa,
> -0x07fd, 0x082d,
> -0x0830, 0x083e,
> -0x0840, 0x085b,
> -0x085e, 0x085e,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x08d3, 0x0983,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bc, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09ce,
> -0x09d7, 0x09d7,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e3,
> -0x09e6, 0x09fe,
> -0x0a01, 0x0a03,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a3c, 0x0a3c,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4d,
> -0x0a51, 0x0a51,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a66, 0x0a76,
> -0x0a81, 0x0a83,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abc, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acd,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae3,
> -0x0ae6, 0x0af1,
> -0x0af9, 0x0aff,
> -0x0b01, 0x0b03,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3c, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4d,
> -0x0b56, 0x0b57,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b63,
> -0x0b66, 0x0b77,
> -0x0b82, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcd,
> -0x0bd0, 0x0bd0,
> -0x0bd7, 0x0bd7,
> -0x0be6, 0x0bfa,
> -0x0c00, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4d,
> -0x0c55, 0x0c56,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c63,
> -0x0c66, 0x0c6f,
> -0x0c77, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbc, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccd,
> -0x0cd5, 0x0cd6,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce3,
> -0x0ce6, 0x0cef,
> -0x0cf1, 0x0cf2,
> -0x0d00, 0x0d03,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4f,
> -0x0d54, 0x0d63,
> -0x0d66, 0x0d7f,
> -0x0d82, 0x0d83,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0dca, 0x0dca,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0de6, 0x0def,
> -0x0df2, 0x0df4,
> -0x0e01, 0x0e3a,
> -0x0e3f, 0x0e5b,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0ec8, 0x0ecd,
> -0x0ed0, 0x0ed9,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f71, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x0fbe, 0x0fcc,
> -0x0fce, 0x0fda,
> -0x1000, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x135d, 0x137c,
> -0x1380, 0x1399,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1400, 0x169c,
> -0x16a0, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1714,
> -0x1720, 0x1736,
> -0x1740, 0x1753,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1772, 0x1773,
> -0x1780, 0x17dd,
> -0x17e0, 0x17e9,
> -0x17f0, 0x17f9,
> -0x1800, 0x180e,
> -0x1810, 0x1819,
> -0x1820, 0x1878,
> -0x1880, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1920, 0x192b,
> -0x1930, 0x193b,
> -0x1940, 0x1940,
> -0x1944, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x19d0, 0x19da,
> -0x19de, 0x1a1b,
> -0x1a1e, 0x1a5e,
> -0x1a60, 0x1a7c,
> -0x1a7f, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1aa0, 0x1aad,
> -0x1ab0, 0x1abe,
> -0x1b00, 0x1b4b,
> -0x1b50, 0x1b7c,
> -0x1b80, 0x1bf3,
> -0x1bfc, 0x1c37,
> -0x1c3b, 0x1c49,
> -0x1c4d, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cc7,
> -0x1cd0, 0x1cfa,
> -0x1d00, 0x1df9,
> -0x1dfb, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fc4,
> -0x1fc6, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fdd, 0x1fef,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffe,
> -0x2000, 0x2027,
> -0x202a, 0x2064,
> -0x2066, 0x2071,
> -0x2074, 0x208e,
> -0x2090, 0x209c,
> -0x20a0, 0x20bf,
> -0x20d0, 0x20f0,
> -0x2100, 0x218b,
> -0x2190, 0x2426,
> -0x2440, 0x244a,
> -0x2460, 0x2b73,
> -0x2b76, 0x2b95,
> -0x2b98, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2cf3,
> -0x2cf9, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d70,
> -0x2d7f, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x2de0, 0x2e4f,
> -0x2e80, 0x2e99,
> -0x2e9b, 0x2ef3,
> -0x2f00, 0x2fd5,
> -0x2ff0, 0x2ffb,
> -0x3000, 0x303f,
> -0x3041, 0x3096,
> -0x3099, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x3190, 0x31ba,
> -0x31c0, 0x31e3,
> -0x31f0, 0x321e,
> -0x3220, 0x4db5,
> -0x4dc0, 0x9fef,
> -0xa000, 0xa48c,
> -0xa490, 0xa4c6,
> -0xa4d0, 0xa62b,
> -0xa640, 0xa6f7,
> -0xa700, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa82b,
> -0xa830, 0xa839,
> -0xa840, 0xa877,
> -0xa880, 0xa8c5,
> -0xa8ce, 0xa8d9,
> -0xa8e0, 0xa953,
> -0xa95f, 0xa97c,
> -0xa980, 0xa9cd,
> -0xa9cf, 0xa9d9,
> -0xa9de, 0xa9fe,
> -0xaa00, 0xaa36,
> -0xaa40, 0xaa4d,
> -0xaa50, 0xaa59,
> -0xaa5c, 0xaac2,
> -0xaadb, 0xaaf6,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab67,
> -0xab70, 0xabed,
> -0xabf0, 0xabf9,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xe000, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbc1,
> -0xfbd3, 0xfd3f,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfd,
> -0xfe00, 0xfe19,
> -0xfe20, 0xfe52,
> -0xfe54, 0xfe66,
> -0xfe68, 0xfe6b,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xfeff, 0xfeff,
> -0xff01, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0xffe0, 0xffe6,
> -0xffe8, 0xffee,
> -0xfff9, 0xfffd,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10100, 0x10102,
> -0x10107, 0x10133,
> -0x10137, 0x1018e,
> -0x10190, 0x1019b,
> -0x101a0, 0x101a0,
> -0x101d0, 0x101fd,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x102e0, 0x102fb,
> -0x10300, 0x10323,
> -0x1032d, 0x1034a,
> -0x10350, 0x1037a,
> -0x10380, 0x1039d,
> -0x1039f, 0x103c3,
> -0x103c8, 0x103d5,
> -0x10400, 0x1049d,
> -0x104a0, 0x104a9,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x1056f, 0x1056f,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10857, 0x1089e,
> -0x108a7, 0x108af,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x108fb, 0x1091b,
> -0x1091f, 0x10939,
> -0x1093f, 0x1093f,
> -0x10980, 0x109b7,
> -0x109bc, 0x109cf,
> -0x109d2, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a38, 0x10a3a,
> -0x10a3f, 0x10a48,
> -0x10a50, 0x10a58,
> -0x10a60, 0x10a9f,
> -0x10ac0, 0x10ae6,
> -0x10aeb, 0x10af6,
> -0x10b00, 0x10b35,
> -0x10b39, 0x10b55,
> -0x10b58, 0x10b72,
> -0x10b78, 0x10b91,
> -0x10b99, 0x10b9c,
> -0x10ba9, 0x10baf,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10cfa, 0x10d27,
> -0x10d30, 0x10d39,
> -0x10e60, 0x10e7e,
> -0x10f00, 0x10f27,
> -0x10f30, 0x10f59,
> -0x10fe0, 0x10ff6,
> -0x11000, 0x1104d,
> -0x11052, 0x1106f,
> -0x1107f, 0x110c1,
> -0x110cd, 0x110cd,
> -0x110d0, 0x110e8,
> -0x110f0, 0x110f9,
> -0x11100, 0x11134,
> -0x11136, 0x11146,
> -0x11150, 0x11176,
> -0x11180, 0x111cd,
> -0x111d0, 0x111df,
> -0x111e1, 0x111f4,
> -0x11200, 0x11211,
> -0x11213, 0x1123e,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a9,
> -0x112b0, 0x112ea,
> -0x112f0, 0x112f9,
> -0x11300, 0x11303,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133b, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134d,
> -0x11350, 0x11350,
> -0x11357, 0x11357,
> -0x1135d, 0x11363,
> -0x11366, 0x1136c,
> -0x11370, 0x11374,
> -0x11400, 0x11459,
> -0x1145b, 0x1145b,
> -0x1145d, 0x1145f,
> -0x11480, 0x114c7,
> -0x114d0, 0x114d9,
> -0x11580, 0x115b5,
> -0x115b8, 0x115dd,
> -0x11600, 0x11644,
> -0x11650, 0x11659,
> -0x11660, 0x1166c,
> -0x11680, 0x116b8,
> -0x116c0, 0x116c9,
> -0x11700, 0x1171a,
> -0x1171d, 0x1172b,
> -0x11730, 0x1173f,
> -0x11800, 0x1183b,
> -0x118a0, 0x118f2,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d7,
> -0x119da, 0x119e4,
> -0x11a00, 0x11a47,
> -0x11a50, 0x11aa2,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c36,
> -0x11c38, 0x11c45,
> -0x11c50, 0x11c6c,
> -0x11c70, 0x11c8f,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d47,
> -0x11d50, 0x11d59,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d98,
> -0x11da0, 0x11da9,
> -0x11ee0, 0x11ef8,
> -0x11fc0, 0x11ff1,
> -0x11fff, 0x12399,
> -0x12400, 0x1246e,
> -0x12470, 0x12474,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x13430, 0x13438,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16a60, 0x16a69,
> -0x16a6e, 0x16a6f,
> -0x16ad0, 0x16aed,
> -0x16af0, 0x16af5,
> -0x16b00, 0x16b45,
> -0x16b50, 0x16b59,
> -0x16b5b, 0x16b61,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e9a,
> -0x16f00, 0x16f4a,
> -0x16f4f, 0x16f87,
> -0x16f8f, 0x16f9f,
> -0x16fe0, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1bc9c, 0x1bca3,
> -0x1d000, 0x1d0f5,
> -0x1d100, 0x1d126,
> -0x1d129, 0x1d1e8,
> -0x1d200, 0x1d245,
> -0x1d2e0, 0x1d2f3,
> -0x1d300, 0x1d356,
> -0x1d360, 0x1d378,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d7cb,
> -0x1d7ce, 0x1da8b,
> -0x1da9b, 0x1da9f,
> -0x1daa1, 0x1daaf,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e100, 0x1e12c,
> -0x1e130, 0x1e13d,
> -0x1e140, 0x1e149,
> -0x1e14e, 0x1e14f,
> -0x1e2c0, 0x1e2f9,
> -0x1e2ff, 0x1e2ff,
> -0x1e800, 0x1e8c4,
> -0x1e8c7, 0x1e8d6,
> -0x1e900, 0x1e94b,
> -0x1e950, 0x1e959,
> -0x1e95e, 0x1e95f,
> -0x1ec71, 0x1ecb4,
> -0x1ed01, 0x1ed3d,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x1eef0, 0x1eef1,
> -0x1f000, 0x1f02b,
> -0x1f030, 0x1f093,
> -0x1f0a0, 0x1f0ae,
> -0x1f0b1, 0x1f0bf,
> -0x1f0c1, 0x1f0cf,
> -0x1f0d1, 0x1f0f5,
> -0x1f100, 0x1f10c,
> -0x1f110, 0x1f16c,
> -0x1f170, 0x1f1ac,
> -0x1f1e6, 0x1f202,
> -0x1f210, 0x1f23b,
> -0x1f240, 0x1f248,
> -0x1f250, 0x1f251,
> -0x1f260, 0x1f265,
> -0x1f300, 0x1f6d5,
> -0x1f6e0, 0x1f6ec,
> -0x1f6f0, 0x1f6fa,
> -0x1f700, 0x1f773,
> -0x1f780, 0x1f7d8,
> -0x1f7e0, 0x1f7eb,
> -0x1f800, 0x1f80b,
> -0x1f810, 0x1f847,
> -0x1f850, 0x1f859,
> -0x1f860, 0x1f887,
> -0x1f890, 0x1f8ad,
> -0x1f900, 0x1f90b,
> -0x1f90d, 0x1f971,
> -0x1f973, 0x1f976,
> -0x1f97a, 0x1f9a2,
> -0x1f9a5, 0x1f9aa,
> -0x1f9ae, 0x1f9ca,
> -0x1f9cd, 0x1fa53,
> -0x1fa60, 0x1fa6d,
> -0x1fa70, 0x1fa73,
> -0x1fa78, 0x1fa7a,
> -0x1fa80, 0x1fa82,
> -0x1fa90, 0x1fa95,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -0xe0001, 0xe0001,
> -0xe0020, 0xe007f,
> -0xe0100, 0xe01ef,
> -0xf0000, 0xffffd,
> -0x100000, 0x10fffd,
> -}; /* END of CR_Print */
> -
> -/* PROPERTY: 'Punct': POSIX [[:Punct:]] */
> -static const OnigCodePoint
> -CR_Punct[] = { 182,
> -0x0021, 0x0023,
> -0x0025, 0x002a,
> -0x002c, 0x002f,
> -0x003a, 0x003b,
> -0x003f, 0x0040,
> -0x005b, 0x005d,
> -0x005f, 0x005f,
> -0x007b, 0x007b,
> -0x007d, 0x007d,
> -0x00a1, 0x00a1,
> -0x00a7, 0x00a7,
> -0x00ab, 0x00ab,
> -0x00b6, 0x00b7,
> -0x00bb, 0x00bb,
> -0x00bf, 0x00bf,
> -0x037e, 0x037e,
> -0x0387, 0x0387,
> -0x055a, 0x055f,
> -0x0589, 0x058a,
> -0x05be, 0x05be,
> -0x05c0, 0x05c0,
> -0x05c3, 0x05c3,
> -0x05c6, 0x05c6,
> -0x05f3, 0x05f4,
> -0x0609, 0x060a,
> -0x060c, 0x060d,
> -0x061b, 0x061b,
> -0x061e, 0x061f,
> -0x066a, 0x066d,
> -0x06d4, 0x06d4,
> -0x0700, 0x070d,
> -0x07f7, 0x07f9,
> -0x0830, 0x083e,
> -0x085e, 0x085e,
> -0x0964, 0x0965,
> -0x0970, 0x0970,
> -0x09fd, 0x09fd,
> -0x0a76, 0x0a76,
> -0x0af0, 0x0af0,
> -0x0c77, 0x0c77,
> -0x0c84, 0x0c84,
> -0x0df4, 0x0df4,
> -0x0e4f, 0x0e4f,
> -0x0e5a, 0x0e5b,
> -0x0f04, 0x0f12,
> -0x0f14, 0x0f14,
> -0x0f3a, 0x0f3d,
> -0x0f85, 0x0f85,
> -0x0fd0, 0x0fd4,
> -0x0fd9, 0x0fda,
> -0x104a, 0x104f,
> -0x10fb, 0x10fb,
> -0x1360, 0x1368,
> -0x1400, 0x1400,
> -0x166e, 0x166e,
> -0x169b, 0x169c,
> -0x16eb, 0x16ed,
> -0x1735, 0x1736,
> -0x17d4, 0x17d6,
> -0x17d8, 0x17da,
> -0x1800, 0x180a,
> -0x1944, 0x1945,
> -0x1a1e, 0x1a1f,
> -0x1aa0, 0x1aa6,
> -0x1aa8, 0x1aad,
> -0x1b5a, 0x1b60,
> -0x1bfc, 0x1bff,
> -0x1c3b, 0x1c3f,
> -0x1c7e, 0x1c7f,
> -0x1cc0, 0x1cc7,
> -0x1cd3, 0x1cd3,
> -0x2010, 0x2027,
> -0x2030, 0x2043,
> -0x2045, 0x2051,
> -0x2053, 0x205e,
> -0x207d, 0x207e,
> -0x208d, 0x208e,
> -0x2308, 0x230b,
> -0x2329, 0x232a,
> -0x2768, 0x2775,
> -0x27c5, 0x27c6,
> -0x27e6, 0x27ef,
> -0x2983, 0x2998,
> -0x29d8, 0x29db,
> -0x29fc, 0x29fd,
> -0x2cf9, 0x2cfc,
> -0x2cfe, 0x2cff,
> -0x2d70, 0x2d70,
> -0x2e00, 0x2e2e,
> -0x2e30, 0x2e4f,
> -0x3001, 0x3003,
> -0x3008, 0x3011,
> -0x3014, 0x301f,
> -0x3030, 0x3030,
> -0x303d, 0x303d,
> -0x30a0, 0x30a0,
> -0x30fb, 0x30fb,
> -0xa4fe, 0xa4ff,
> -0xa60d, 0xa60f,
> -0xa673, 0xa673,
> -0xa67e, 0xa67e,
> -0xa6f2, 0xa6f7,
> -0xa874, 0xa877,
> -0xa8ce, 0xa8cf,
> -0xa8f8, 0xa8fa,
> -0xa8fc, 0xa8fc,
> -0xa92e, 0xa92f,
> -0xa95f, 0xa95f,
> -0xa9c1, 0xa9cd,
> -0xa9de, 0xa9df,
> -0xaa5c, 0xaa5f,
> -0xaade, 0xaadf,
> -0xaaf0, 0xaaf1,
> -0xabeb, 0xabeb,
> -0xfd3e, 0xfd3f,
> -0xfe10, 0xfe19,
> -0xfe30, 0xfe52,
> -0xfe54, 0xfe61,
> -0xfe63, 0xfe63,
> -0xfe68, 0xfe68,
> -0xfe6a, 0xfe6b,
> -0xff01, 0xff03,
> -0xff05, 0xff0a,
> -0xff0c, 0xff0f,
> -0xff1a, 0xff1b,
> -0xff1f, 0xff20,
> -0xff3b, 0xff3d,
> -0xff3f, 0xff3f,
> -0xff5b, 0xff5b,
> -0xff5d, 0xff5d,
> -0xff5f, 0xff65,
> -0x10100, 0x10102,
> -0x1039f, 0x1039f,
> -0x103d0, 0x103d0,
> -0x1056f, 0x1056f,
> -0x10857, 0x10857,
> -0x1091f, 0x1091f,
> -0x1093f, 0x1093f,
> -0x10a50, 0x10a58,
> -0x10a7f, 0x10a7f,
> -0x10af0, 0x10af6,
> -0x10b39, 0x10b3f,
> -0x10b99, 0x10b9c,
> -0x10f55, 0x10f59,
> -0x11047, 0x1104d,
> -0x110bb, 0x110bc,
> -0x110be, 0x110c1,
> -0x11140, 0x11143,
> -0x11174, 0x11175,
> -0x111c5, 0x111c8,
> -0x111cd, 0x111cd,
> -0x111db, 0x111db,
> -0x111dd, 0x111df,
> -0x11238, 0x1123d,
> -0x112a9, 0x112a9,
> -0x1144b, 0x1144f,
> -0x1145b, 0x1145b,
> -0x1145d, 0x1145d,
> -0x114c6, 0x114c6,
> -0x115c1, 0x115d7,
> -0x11641, 0x11643,
> -0x11660, 0x1166c,
> -0x1173c, 0x1173e,
> -0x1183b, 0x1183b,
> -0x119e2, 0x119e2,
> -0x11a3f, 0x11a46,
> -0x11a9a, 0x11a9c,
> -0x11a9e, 0x11aa2,
> -0x11c41, 0x11c45,
> -0x11c70, 0x11c71,
> -0x11ef7, 0x11ef8,
> -0x11fff, 0x11fff,
> -0x12470, 0x12474,
> -0x16a6e, 0x16a6f,
> -0x16af5, 0x16af5,
> -0x16b37, 0x16b3b,
> -0x16b44, 0x16b44,
> -0x16e97, 0x16e9a,
> -0x16fe2, 0x16fe2,
> -0x1bc9f, 0x1bc9f,
> -0x1da87, 0x1da8b,
> -0x1e95e, 0x1e95f,
> -}; /* END of CR_Punct */
> -
> -/* PROPERTY: 'Space': POSIX [[:Space:]] */
> -static const OnigCodePoint
> -CR_Space[] = { 10,
> -0x0009, 0x000d,
> -0x0020, 0x0020,
> -0x0085, 0x0085,
> -0x00a0, 0x00a0,
> -0x1680, 0x1680,
> -0x2000, 0x200a,
> -0x2028, 0x2029,
> -0x202f, 0x202f,
> -0x205f, 0x205f,
> -0x3000, 0x3000,
> -}; /* END of CR_Space */
> -
> -/* PROPERTY: 'Upper': POSIX [[:Upper:]] */
> -static const OnigCodePoint
> -CR_Upper[] = { 641,
> -0x0041, 0x005a,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00de,
> -0x0100, 0x0100,
> -0x0102, 0x0102,
> -0x0104, 0x0104,
> -0x0106, 0x0106,
> -0x0108, 0x0108,
> -0x010a, 0x010a,
> -0x010c, 0x010c,
> -0x010e, 0x010e,
> -0x0110, 0x0110,
> -0x0112, 0x0112,
> -0x0114, 0x0114,
> -0x0116, 0x0116,
> -0x0118, 0x0118,
> -0x011a, 0x011a,
> -0x011c, 0x011c,
> -0x011e, 0x011e,
> -0x0120, 0x0120,
> -0x0122, 0x0122,
> -0x0124, 0x0124,
> -0x0126, 0x0126,
> -0x0128, 0x0128,
> -0x012a, 0x012a,
> -0x012c, 0x012c,
> -0x012e, 0x012e,
> -0x0130, 0x0130,
> -0x0132, 0x0132,
> -0x0134, 0x0134,
> -0x0136, 0x0136,
> -0x0139, 0x0139,
> -0x013b, 0x013b,
> -0x013d, 0x013d,
> -0x013f, 0x013f,
> -0x0141, 0x0141,
> -0x0143, 0x0143,
> -0x0145, 0x0145,
> -0x0147, 0x0147,
> -0x014a, 0x014a,
> -0x014c, 0x014c,
> -0x014e, 0x014e,
> -0x0150, 0x0150,
> -0x0152, 0x0152,
> -0x0154, 0x0154,
> -0x0156, 0x0156,
> -0x0158, 0x0158,
> -0x015a, 0x015a,
> -0x015c, 0x015c,
> -0x015e, 0x015e,
> -0x0160, 0x0160,
> -0x0162, 0x0162,
> -0x0164, 0x0164,
> -0x0166, 0x0166,
> -0x0168, 0x0168,
> -0x016a, 0x016a,
> -0x016c, 0x016c,
> -0x016e, 0x016e,
> -0x0170, 0x0170,
> -0x0172, 0x0172,
> -0x0174, 0x0174,
> -0x0176, 0x0176,
> -0x0178, 0x0179,
> -0x017b, 0x017b,
> -0x017d, 0x017d,
> -0x0181, 0x0182,
> -0x0184, 0x0184,
> -0x0186, 0x0187,
> -0x0189, 0x018b,
> -0x018e, 0x0191,
> -0x0193, 0x0194,
> -0x0196, 0x0198,
> -0x019c, 0x019d,
> -0x019f, 0x01a0,
> -0x01a2, 0x01a2,
> -0x01a4, 0x01a4,
> -0x01a6, 0x01a7,
> -0x01a9, 0x01a9,
> -0x01ac, 0x01ac,
> -0x01ae, 0x01af,
> -0x01b1, 0x01b3,
> -0x01b5, 0x01b5,
> -0x01b7, 0x01b8,
> -0x01bc, 0x01bc,
> -0x01c4, 0x01c4,
> -0x01c7, 0x01c7,
> -0x01ca, 0x01ca,
> -0x01cd, 0x01cd,
> -0x01cf, 0x01cf,
> -0x01d1, 0x01d1,
> -0x01d3, 0x01d3,
> -0x01d5, 0x01d5,
> -0x01d7, 0x01d7,
> -0x01d9, 0x01d9,
> -0x01db, 0x01db,
> -0x01de, 0x01de,
> -0x01e0, 0x01e0,
> -0x01e2, 0x01e2,
> -0x01e4, 0x01e4,
> -0x01e6, 0x01e6,
> -0x01e8, 0x01e8,
> -0x01ea, 0x01ea,
> -0x01ec, 0x01ec,
> -0x01ee, 0x01ee,
> -0x01f1, 0x01f1,
> -0x01f4, 0x01f4,
> -0x01f6, 0x01f8,
> -0x01fa, 0x01fa,
> -0x01fc, 0x01fc,
> -0x01fe, 0x01fe,
> -0x0200, 0x0200,
> -0x0202, 0x0202,
> -0x0204, 0x0204,
> -0x0206, 0x0206,
> -0x0208, 0x0208,
> -0x020a, 0x020a,
> -0x020c, 0x020c,
> -0x020e, 0x020e,
> -0x0210, 0x0210,
> -0x0212, 0x0212,
> -0x0214, 0x0214,
> -0x0216, 0x0216,
> -0x0218, 0x0218,
> -0x021a, 0x021a,
> -0x021c, 0x021c,
> -0x021e, 0x021e,
> -0x0220, 0x0220,
> -0x0222, 0x0222,
> -0x0224, 0x0224,
> -0x0226, 0x0226,
> -0x0228, 0x0228,
> -0x022a, 0x022a,
> -0x022c, 0x022c,
> -0x022e, 0x022e,
> -0x0230, 0x0230,
> -0x0232, 0x0232,
> -0x023a, 0x023b,
> -0x023d, 0x023e,
> -0x0241, 0x0241,
> -0x0243, 0x0246,
> -0x0248, 0x0248,
> -0x024a, 0x024a,
> -0x024c, 0x024c,
> -0x024e, 0x024e,
> -0x0370, 0x0370,
> -0x0372, 0x0372,
> -0x0376, 0x0376,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x038f,
> -0x0391, 0x03a1,
> -0x03a3, 0x03ab,
> -0x03cf, 0x03cf,
> -0x03d2, 0x03d4,
> -0x03d8, 0x03d8,
> -0x03da, 0x03da,
> -0x03dc, 0x03dc,
> -0x03de, 0x03de,
> -0x03e0, 0x03e0,
> -0x03e2, 0x03e2,
> -0x03e4, 0x03e4,
> -0x03e6, 0x03e6,
> -0x03e8, 0x03e8,
> -0x03ea, 0x03ea,
> -0x03ec, 0x03ec,
> -0x03ee, 0x03ee,
> -0x03f4, 0x03f4,
> -0x03f7, 0x03f7,
> -0x03f9, 0x03fa,
> -0x03fd, 0x042f,
> -0x0460, 0x0460,
> -0x0462, 0x0462,
> -0x0464, 0x0464,
> -0x0466, 0x0466,
> -0x0468, 0x0468,
> -0x046a, 0x046a,
> -0x046c, 0x046c,
> -0x046e, 0x046e,
> -0x0470, 0x0470,
> -0x0472, 0x0472,
> -0x0474, 0x0474,
> -0x0476, 0x0476,
> -0x0478, 0x0478,
> -0x047a, 0x047a,
> -0x047c, 0x047c,
> -0x047e, 0x047e,
> -0x0480, 0x0480,
> -0x048a, 0x048a,
> -0x048c, 0x048c,
> -0x048e, 0x048e,
> -0x0490, 0x0490,
> -0x0492, 0x0492,
> -0x0494, 0x0494,
> -0x0496, 0x0496,
> -0x0498, 0x0498,
> -0x049a, 0x049a,
> -0x049c, 0x049c,
> -0x049e, 0x049e,
> -0x04a0, 0x04a0,
> -0x04a2, 0x04a2,
> -0x04a4, 0x04a4,
> -0x04a6, 0x04a6,
> -0x04a8, 0x04a8,
> -0x04aa, 0x04aa,
> -0x04ac, 0x04ac,
> -0x04ae, 0x04ae,
> -0x04b0, 0x04b0,
> -0x04b2, 0x04b2,
> -0x04b4, 0x04b4,
> -0x04b6, 0x04b6,
> -0x04b8, 0x04b8,
> -0x04ba, 0x04ba,
> -0x04bc, 0x04bc,
> -0x04be, 0x04be,
> -0x04c0, 0x04c1,
> -0x04c3, 0x04c3,
> -0x04c5, 0x04c5,
> -0x04c7, 0x04c7,
> -0x04c9, 0x04c9,
> -0x04cb, 0x04cb,
> -0x04cd, 0x04cd,
> -0x04d0, 0x04d0,
> -0x04d2, 0x04d2,
> -0x04d4, 0x04d4,
> -0x04d6, 0x04d6,
> -0x04d8, 0x04d8,
> -0x04da, 0x04da,
> -0x04dc, 0x04dc,
> -0x04de, 0x04de,
> -0x04e0, 0x04e0,
> -0x04e2, 0x04e2,
> -0x04e4, 0x04e4,
> -0x04e6, 0x04e6,
> -0x04e8, 0x04e8,
> -0x04ea, 0x04ea,
> -0x04ec, 0x04ec,
> -0x04ee, 0x04ee,
> -0x04f0, 0x04f0,
> -0x04f2, 0x04f2,
> -0x04f4, 0x04f4,
> -0x04f6, 0x04f6,
> -0x04f8, 0x04f8,
> -0x04fa, 0x04fa,
> -0x04fc, 0x04fc,
> -0x04fe, 0x04fe,
> -0x0500, 0x0500,
> -0x0502, 0x0502,
> -0x0504, 0x0504,
> -0x0506, 0x0506,
> -0x0508, 0x0508,
> -0x050a, 0x050a,
> -0x050c, 0x050c,
> -0x050e, 0x050e,
> -0x0510, 0x0510,
> -0x0512, 0x0512,
> -0x0514, 0x0514,
> -0x0516, 0x0516,
> -0x0518, 0x0518,
> -0x051a, 0x051a,
> -0x051c, 0x051c,
> -0x051e, 0x051e,
> -0x0520, 0x0520,
> -0x0522, 0x0522,
> -0x0524, 0x0524,
> -0x0526, 0x0526,
> -0x0528, 0x0528,
> -0x052a, 0x052a,
> -0x052c, 0x052c,
> -0x052e, 0x052e,
> -0x0531, 0x0556,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x13a0, 0x13f5,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1e00, 0x1e00,
> -0x1e02, 0x1e02,
> -0x1e04, 0x1e04,
> -0x1e06, 0x1e06,
> -0x1e08, 0x1e08,
> -0x1e0a, 0x1e0a,
> -0x1e0c, 0x1e0c,
> -0x1e0e, 0x1e0e,
> -0x1e10, 0x1e10,
> -0x1e12, 0x1e12,
> -0x1e14, 0x1e14,
> -0x1e16, 0x1e16,
> -0x1e18, 0x1e18,
> -0x1e1a, 0x1e1a,
> -0x1e1c, 0x1e1c,
> -0x1e1e, 0x1e1e,
> -0x1e20, 0x1e20,
> -0x1e22, 0x1e22,
> -0x1e24, 0x1e24,
> -0x1e26, 0x1e26,
> -0x1e28, 0x1e28,
> -0x1e2a, 0x1e2a,
> -0x1e2c, 0x1e2c,
> -0x1e2e, 0x1e2e,
> -0x1e30, 0x1e30,
> -0x1e32, 0x1e32,
> -0x1e34, 0x1e34,
> -0x1e36, 0x1e36,
> -0x1e38, 0x1e38,
> -0x1e3a, 0x1e3a,
> -0x1e3c, 0x1e3c,
> -0x1e3e, 0x1e3e,
> -0x1e40, 0x1e40,
> -0x1e42, 0x1e42,
> -0x1e44, 0x1e44,
> -0x1e46, 0x1e46,
> -0x1e48, 0x1e48,
> -0x1e4a, 0x1e4a,
> -0x1e4c, 0x1e4c,
> -0x1e4e, 0x1e4e,
> -0x1e50, 0x1e50,
> -0x1e52, 0x1e52,
> -0x1e54, 0x1e54,
> -0x1e56, 0x1e56,
> -0x1e58, 0x1e58,
> -0x1e5a, 0x1e5a,
> -0x1e5c, 0x1e5c,
> -0x1e5e, 0x1e5e,
> -0x1e60, 0x1e60,
> -0x1e62, 0x1e62,
> -0x1e64, 0x1e64,
> -0x1e66, 0x1e66,
> -0x1e68, 0x1e68,
> -0x1e6a, 0x1e6a,
> -0x1e6c, 0x1e6c,
> -0x1e6e, 0x1e6e,
> -0x1e70, 0x1e70,
> -0x1e72, 0x1e72,
> -0x1e74, 0x1e74,
> -0x1e76, 0x1e76,
> -0x1e78, 0x1e78,
> -0x1e7a, 0x1e7a,
> -0x1e7c, 0x1e7c,
> -0x1e7e, 0x1e7e,
> -0x1e80, 0x1e80,
> -0x1e82, 0x1e82,
> -0x1e84, 0x1e84,
> -0x1e86, 0x1e86,
> -0x1e88, 0x1e88,
> -0x1e8a, 0x1e8a,
> -0x1e8c, 0x1e8c,
> -0x1e8e, 0x1e8e,
> -0x1e90, 0x1e90,
> -0x1e92, 0x1e92,
> -0x1e94, 0x1e94,
> -0x1e9e, 0x1e9e,
> -0x1ea0, 0x1ea0,
> -0x1ea2, 0x1ea2,
> -0x1ea4, 0x1ea4,
> -0x1ea6, 0x1ea6,
> -0x1ea8, 0x1ea8,
> -0x1eaa, 0x1eaa,
> -0x1eac, 0x1eac,
> -0x1eae, 0x1eae,
> -0x1eb0, 0x1eb0,
> -0x1eb2, 0x1eb2,
> -0x1eb4, 0x1eb4,
> -0x1eb6, 0x1eb6,
> -0x1eb8, 0x1eb8,
> -0x1eba, 0x1eba,
> -0x1ebc, 0x1ebc,
> -0x1ebe, 0x1ebe,
> -0x1ec0, 0x1ec0,
> -0x1ec2, 0x1ec2,
> -0x1ec4, 0x1ec4,
> -0x1ec6, 0x1ec6,
> -0x1ec8, 0x1ec8,
> -0x1eca, 0x1eca,
> -0x1ecc, 0x1ecc,
> -0x1ece, 0x1ece,
> -0x1ed0, 0x1ed0,
> -0x1ed2, 0x1ed2,
> -0x1ed4, 0x1ed4,
> -0x1ed6, 0x1ed6,
> -0x1ed8, 0x1ed8,
> -0x1eda, 0x1eda,
> -0x1edc, 0x1edc,
> -0x1ede, 0x1ede,
> -0x1ee0, 0x1ee0,
> -0x1ee2, 0x1ee2,
> -0x1ee4, 0x1ee4,
> -0x1ee6, 0x1ee6,
> -0x1ee8, 0x1ee8,
> -0x1eea, 0x1eea,
> -0x1eec, 0x1eec,
> -0x1eee, 0x1eee,
> -0x1ef0, 0x1ef0,
> -0x1ef2, 0x1ef2,
> -0x1ef4, 0x1ef4,
> -0x1ef6, 0x1ef6,
> -0x1ef8, 0x1ef8,
> -0x1efa, 0x1efa,
> -0x1efc, 0x1efc,
> -0x1efe, 0x1efe,
> -0x1f08, 0x1f0f,
> -0x1f18, 0x1f1d,
> -0x1f28, 0x1f2f,
> -0x1f38, 0x1f3f,
> -0x1f48, 0x1f4d,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f5f,
> -0x1f68, 0x1f6f,
> -0x1fb8, 0x1fbb,
> -0x1fc8, 0x1fcb,
> -0x1fd8, 0x1fdb,
> -0x1fe8, 0x1fec,
> -0x1ff8, 0x1ffb,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210b, 0x210d,
> -0x2110, 0x2112,
> -0x2115, 0x2115,
> -0x2119, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x212d,
> -0x2130, 0x2133,
> -0x213e, 0x213f,
> -0x2145, 0x2145,
> -0x2160, 0x216f,
> -0x2183, 0x2183,
> -0x24b6, 0x24cf,
> -0x2c00, 0x2c2e,
> -0x2c60, 0x2c60,
> -0x2c62, 0x2c64,
> -0x2c67, 0x2c67,
> -0x2c69, 0x2c69,
> -0x2c6b, 0x2c6b,
> -0x2c6d, 0x2c70,
> -0x2c72, 0x2c72,
> -0x2c75, 0x2c75,
> -0x2c7e, 0x2c80,
> -0x2c82, 0x2c82,
> -0x2c84, 0x2c84,
> -0x2c86, 0x2c86,
> -0x2c88, 0x2c88,
> -0x2c8a, 0x2c8a,
> -0x2c8c, 0x2c8c,
> -0x2c8e, 0x2c8e,
> -0x2c90, 0x2c90,
> -0x2c92, 0x2c92,
> -0x2c94, 0x2c94,
> -0x2c96, 0x2c96,
> -0x2c98, 0x2c98,
> -0x2c9a, 0x2c9a,
> -0x2c9c, 0x2c9c,
> -0x2c9e, 0x2c9e,
> -0x2ca0, 0x2ca0,
> -0x2ca2, 0x2ca2,
> -0x2ca4, 0x2ca4,
> -0x2ca6, 0x2ca6,
> -0x2ca8, 0x2ca8,
> -0x2caa, 0x2caa,
> -0x2cac, 0x2cac,
> -0x2cae, 0x2cae,
> -0x2cb0, 0x2cb0,
> -0x2cb2, 0x2cb2,
> -0x2cb4, 0x2cb4,
> -0x2cb6, 0x2cb6,
> -0x2cb8, 0x2cb8,
> -0x2cba, 0x2cba,
> -0x2cbc, 0x2cbc,
> -0x2cbe, 0x2cbe,
> -0x2cc0, 0x2cc0,
> -0x2cc2, 0x2cc2,
> -0x2cc4, 0x2cc4,
> -0x2cc6, 0x2cc6,
> -0x2cc8, 0x2cc8,
> -0x2cca, 0x2cca,
> -0x2ccc, 0x2ccc,
> -0x2cce, 0x2cce,
> -0x2cd0, 0x2cd0,
> -0x2cd2, 0x2cd2,
> -0x2cd4, 0x2cd4,
> -0x2cd6, 0x2cd6,
> -0x2cd8, 0x2cd8,
> -0x2cda, 0x2cda,
> -0x2cdc, 0x2cdc,
> -0x2cde, 0x2cde,
> -0x2ce0, 0x2ce0,
> -0x2ce2, 0x2ce2,
> -0x2ceb, 0x2ceb,
> -0x2ced, 0x2ced,
> -0x2cf2, 0x2cf2,
> -0xa640, 0xa640,
> -0xa642, 0xa642,
> -0xa644, 0xa644,
> -0xa646, 0xa646,
> -0xa648, 0xa648,
> -0xa64a, 0xa64a,
> -0xa64c, 0xa64c,
> -0xa64e, 0xa64e,
> -0xa650, 0xa650,
> -0xa652, 0xa652,
> -0xa654, 0xa654,
> -0xa656, 0xa656,
> -0xa658, 0xa658,
> -0xa65a, 0xa65a,
> -0xa65c, 0xa65c,
> -0xa65e, 0xa65e,
> -0xa660, 0xa660,
> -0xa662, 0xa662,
> -0xa664, 0xa664,
> -0xa666, 0xa666,
> -0xa668, 0xa668,
> -0xa66a, 0xa66a,
> -0xa66c, 0xa66c,
> -0xa680, 0xa680,
> -0xa682, 0xa682,
> -0xa684, 0xa684,
> -0xa686, 0xa686,
> -0xa688, 0xa688,
> -0xa68a, 0xa68a,
> -0xa68c, 0xa68c,
> -0xa68e, 0xa68e,
> -0xa690, 0xa690,
> -0xa692, 0xa692,
> -0xa694, 0xa694,
> -0xa696, 0xa696,
> -0xa698, 0xa698,
> -0xa69a, 0xa69a,
> -0xa722, 0xa722,
> -0xa724, 0xa724,
> -0xa726, 0xa726,
> -0xa728, 0xa728,
> -0xa72a, 0xa72a,
> -0xa72c, 0xa72c,
> -0xa72e, 0xa72e,
> -0xa732, 0xa732,
> -0xa734, 0xa734,
> -0xa736, 0xa736,
> -0xa738, 0xa738,
> -0xa73a, 0xa73a,
> -0xa73c, 0xa73c,
> -0xa73e, 0xa73e,
> -0xa740, 0xa740,
> -0xa742, 0xa742,
> -0xa744, 0xa744,
> -0xa746, 0xa746,
> -0xa748, 0xa748,
> -0xa74a, 0xa74a,
> -0xa74c, 0xa74c,
> -0xa74e, 0xa74e,
> -0xa750, 0xa750,
> -0xa752, 0xa752,
> -0xa754, 0xa754,
> -0xa756, 0xa756,
> -0xa758, 0xa758,
> -0xa75a, 0xa75a,
> -0xa75c, 0xa75c,
> -0xa75e, 0xa75e,
> -0xa760, 0xa760,
> -0xa762, 0xa762,
> -0xa764, 0xa764,
> -0xa766, 0xa766,
> -0xa768, 0xa768,
> -0xa76a, 0xa76a,
> -0xa76c, 0xa76c,
> -0xa76e, 0xa76e,
> -0xa779, 0xa779,
> -0xa77b, 0xa77b,
> -0xa77d, 0xa77e,
> -0xa780, 0xa780,
> -0xa782, 0xa782,
> -0xa784, 0xa784,
> -0xa786, 0xa786,
> -0xa78b, 0xa78b,
> -0xa78d, 0xa78d,
> -0xa790, 0xa790,
> -0xa792, 0xa792,
> -0xa796, 0xa796,
> -0xa798, 0xa798,
> -0xa79a, 0xa79a,
> -0xa79c, 0xa79c,
> -0xa79e, 0xa79e,
> -0xa7a0, 0xa7a0,
> -0xa7a2, 0xa7a2,
> -0xa7a4, 0xa7a4,
> -0xa7a6, 0xa7a6,
> -0xa7a8, 0xa7a8,
> -0xa7aa, 0xa7ae,
> -0xa7b0, 0xa7b4,
> -0xa7b6, 0xa7b6,
> -0xa7b8, 0xa7b8,
> -0xa7ba, 0xa7ba,
> -0xa7bc, 0xa7bc,
> -0xa7be, 0xa7be,
> -0xa7c2, 0xa7c2,
> -0xa7c4, 0xa7c6,
> -0xff21, 0xff3a,
> -0x10400, 0x10427,
> -0x104b0, 0x104d3,
> -0x10c80, 0x10cb2,
> -0x118a0, 0x118bf,
> -0x16e40, 0x16e5f,
> -0x1d400, 0x1d419,
> -0x1d434, 0x1d44d,
> -0x1d468, 0x1d481,
> -0x1d49c, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b5,
> -0x1d4d0, 0x1d4e9,
> -0x1d504, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d538, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d56c, 0x1d585,
> -0x1d5a0, 0x1d5b9,
> -0x1d5d4, 0x1d5ed,
> -0x1d608, 0x1d621,
> -0x1d63c, 0x1d655,
> -0x1d670, 0x1d689,
> -0x1d6a8, 0x1d6c0,
> -0x1d6e2, 0x1d6fa,
> -0x1d71c, 0x1d734,
> -0x1d756, 0x1d76e,
> -0x1d790, 0x1d7a8,
> -0x1d7ca, 0x1d7ca,
> -0x1e900, 0x1e921,
> -0x1f130, 0x1f149,
> -0x1f150, 0x1f169,
> -0x1f170, 0x1f189,
> -}; /* END of CR_Upper */
> -
> -/* PROPERTY: 'XDigit': POSIX [[:XDigit:]] */
> -static const OnigCodePoint
> -CR_XDigit[] = { 3,
> -0x0030, 0x0039,
> -0x0041, 0x0046,
> -0x0061, 0x0066,
> -}; /* END of CR_XDigit */
> -
> -/* PROPERTY: 'Word': POSIX [[:Word:]] */
> -static const OnigCodePoint
> -CR_Word[] = { 716,
> -0x0030, 0x0039,
> -0x0041, 0x005a,
> -0x005f, 0x005f,
> -0x0061, 0x007a,
> -0x00aa, 0x00aa,
> -0x00b5, 0x00b5,
> -0x00ba, 0x00ba,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00f6,
> -0x00f8, 0x02c1,
> -0x02c6, 0x02d1,
> -0x02e0, 0x02e4,
> -0x02ec, 0x02ec,
> -0x02ee, 0x02ee,
> -0x0300, 0x0374,
> -0x0376, 0x0377,
> -0x037a, 0x037d,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x03f5,
> -0x03f7, 0x0481,
> -0x0483, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x0559,
> -0x0560, 0x0588,
> -0x0591, 0x05bd,
> -0x05bf, 0x05bf,
> -0x05c1, 0x05c2,
> -0x05c4, 0x05c5,
> -0x05c7, 0x05c7,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f2,
> -0x0610, 0x061a,
> -0x0620, 0x0669,
> -0x066e, 0x06d3,
> -0x06d5, 0x06dc,
> -0x06df, 0x06e8,
> -0x06ea, 0x06fc,
> -0x06ff, 0x06ff,
> -0x0710, 0x074a,
> -0x074d, 0x07b1,
> -0x07c0, 0x07f5,
> -0x07fa, 0x07fa,
> -0x07fd, 0x07fd,
> -0x0800, 0x082d,
> -0x0840, 0x085b,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x08d3, 0x08e1,
> -0x08e3, 0x0963,
> -0x0966, 0x096f,
> -0x0971, 0x0983,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bc, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09ce,
> -0x09d7, 0x09d7,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e3,
> -0x09e6, 0x09f1,
> -0x09fc, 0x09fc,
> -0x09fe, 0x09fe,
> -0x0a01, 0x0a03,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a3c, 0x0a3c,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4d,
> -0x0a51, 0x0a51,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a66, 0x0a75,
> -0x0a81, 0x0a83,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abc, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acd,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae3,
> -0x0ae6, 0x0aef,
> -0x0af9, 0x0aff,
> -0x0b01, 0x0b03,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3c, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4d,
> -0x0b56, 0x0b57,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b63,
> -0x0b66, 0x0b6f,
> -0x0b71, 0x0b71,
> -0x0b82, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcd,
> -0x0bd0, 0x0bd0,
> -0x0bd7, 0x0bd7,
> -0x0be6, 0x0bef,
> -0x0c00, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4d,
> -0x0c55, 0x0c56,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c63,
> -0x0c66, 0x0c6f,
> -0x0c80, 0x0c83,
> -0x0c85, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbc, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccd,
> -0x0cd5, 0x0cd6,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce3,
> -0x0ce6, 0x0cef,
> -0x0cf1, 0x0cf2,
> -0x0d00, 0x0d03,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4e,
> -0x0d54, 0x0d57,
> -0x0d5f, 0x0d63,
> -0x0d66, 0x0d6f,
> -0x0d7a, 0x0d7f,
> -0x0d82, 0x0d83,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0dca, 0x0dca,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0de6, 0x0def,
> -0x0df2, 0x0df3,
> -0x0e01, 0x0e3a,
> -0x0e40, 0x0e4e,
> -0x0e50, 0x0e59,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0ec8, 0x0ecd,
> -0x0ed0, 0x0ed9,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f00,
> -0x0f18, 0x0f19,
> -0x0f20, 0x0f29,
> -0x0f35, 0x0f35,
> -0x0f37, 0x0f37,
> -0x0f39, 0x0f39,
> -0x0f3e, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f71, 0x0f84,
> -0x0f86, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x0fc6, 0x0fc6,
> -0x1000, 0x1049,
> -0x1050, 0x109d,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x10fa,
> -0x10fc, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x135d, 0x135f,
> -0x1380, 0x138f,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1401, 0x166c,
> -0x166f, 0x167f,
> -0x1681, 0x169a,
> -0x16a0, 0x16ea,
> -0x16ee, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1714,
> -0x1720, 0x1734,
> -0x1740, 0x1753,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1772, 0x1773,
> -0x1780, 0x17d3,
> -0x17d7, 0x17d7,
> -0x17dc, 0x17dd,
> -0x17e0, 0x17e9,
> -0x180b, 0x180d,
> -0x1810, 0x1819,
> -0x1820, 0x1878,
> -0x1880, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1920, 0x192b,
> -0x1930, 0x193b,
> -0x1946, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x19d0, 0x19d9,
> -0x1a00, 0x1a1b,
> -0x1a20, 0x1a5e,
> -0x1a60, 0x1a7c,
> -0x1a7f, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1aa7, 0x1aa7,
> -0x1ab0, 0x1abe,
> -0x1b00, 0x1b4b,
> -0x1b50, 0x1b59,
> -0x1b6b, 0x1b73,
> -0x1b80, 0x1bf3,
> -0x1c00, 0x1c37,
> -0x1c40, 0x1c49,
> -0x1c4d, 0x1c7d,
> -0x1c80, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1cd0, 0x1cd2,
> -0x1cd4, 0x1cfa,
> -0x1d00, 0x1df9,
> -0x1dfb, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fbc,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fcc,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fe0, 0x1fec,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffc,
> -0x203f, 0x2040,
> -0x2054, 0x2054,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x20d0, 0x20f0,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210a, 0x2113,
> -0x2115, 0x2115,
> -0x2119, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x212d,
> -0x212f, 0x2139,
> -0x213c, 0x213f,
> -0x2145, 0x2149,
> -0x214e, 0x214e,
> -0x2160, 0x2188,
> -0x24b6, 0x24e9,
> -0x2c00, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2ce4,
> -0x2ceb, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d6f,
> -0x2d7f, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x2de0, 0x2dff,
> -0x2e2f, 0x2e2f,
> -0x3005, 0x3007,
> -0x3021, 0x302f,
> -0x3031, 0x3035,
> -0x3038, 0x303c,
> -0x3041, 0x3096,
> -0x3099, 0x309a,
> -0x309d, 0x309f,
> -0x30a1, 0x30fa,
> -0x30fc, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x31a0, 0x31ba,
> -0x31f0, 0x31ff,
> -0x3400, 0x4db5,
> -0x4e00, 0x9fef,
> -0xa000, 0xa48c,
> -0xa4d0, 0xa4fd,
> -0xa500, 0xa60c,
> -0xa610, 0xa62b,
> -0xa640, 0xa672,
> -0xa674, 0xa67d,
> -0xa67f, 0xa6f1,
> -0xa717, 0xa71f,
> -0xa722, 0xa788,
> -0xa78b, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa827,
> -0xa840, 0xa873,
> -0xa880, 0xa8c5,
> -0xa8d0, 0xa8d9,
> -0xa8e0, 0xa8f7,
> -0xa8fb, 0xa8fb,
> -0xa8fd, 0xa92d,
> -0xa930, 0xa953,
> -0xa960, 0xa97c,
> -0xa980, 0xa9c0,
> -0xa9cf, 0xa9d9,
> -0xa9e0, 0xa9fe,
> -0xaa00, 0xaa36,
> -0xaa40, 0xaa4d,
> -0xaa50, 0xaa59,
> -0xaa60, 0xaa76,
> -0xaa7a, 0xaac2,
> -0xaadb, 0xaadd,
> -0xaae0, 0xaaef,
> -0xaaf2, 0xaaf6,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab5a,
> -0xab5c, 0xab67,
> -0xab70, 0xabea,
> -0xabec, 0xabed,
> -0xabf0, 0xabf9,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xf900, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb28,
> -0xfb2a, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbb1,
> -0xfbd3, 0xfd3d,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfb,
> -0xfe00, 0xfe0f,
> -0xfe20, 0xfe2f,
> -0xfe33, 0xfe34,
> -0xfe4d, 0xfe4f,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xff10, 0xff19,
> -0xff21, 0xff3a,
> -0xff3f, 0xff3f,
> -0xff41, 0xff5a,
> -0xff66, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10140, 0x10174,
> -0x101fd, 0x101fd,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x102e0, 0x102e0,
> -0x10300, 0x1031f,
> -0x1032d, 0x1034a,
> -0x10350, 0x1037a,
> -0x10380, 0x1039d,
> -0x103a0, 0x103c3,
> -0x103c8, 0x103cf,
> -0x103d1, 0x103d5,
> -0x10400, 0x1049d,
> -0x104a0, 0x104a9,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10860, 0x10876,
> -0x10880, 0x1089e,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x10900, 0x10915,
> -0x10920, 0x10939,
> -0x10980, 0x109b7,
> -0x109be, 0x109bf,
> -0x10a00, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a38, 0x10a3a,
> -0x10a3f, 0x10a3f,
> -0x10a60, 0x10a7c,
> -0x10a80, 0x10a9c,
> -0x10ac0, 0x10ac7,
> -0x10ac9, 0x10ae6,
> -0x10b00, 0x10b35,
> -0x10b40, 0x10b55,
> -0x10b60, 0x10b72,
> -0x10b80, 0x10b91,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10d00, 0x10d27,
> -0x10d30, 0x10d39,
> -0x10f00, 0x10f1c,
> -0x10f27, 0x10f27,
> -0x10f30, 0x10f50,
> -0x10fe0, 0x10ff6,
> -0x11000, 0x11046,
> -0x11066, 0x1106f,
> -0x1107f, 0x110ba,
> -0x110d0, 0x110e8,
> -0x110f0, 0x110f9,
> -0x11100, 0x11134,
> -0x11136, 0x1113f,
> -0x11144, 0x11146,
> -0x11150, 0x11173,
> -0x11176, 0x11176,
> -0x11180, 0x111c4,
> -0x111c9, 0x111cc,
> -0x111d0, 0x111da,
> -0x111dc, 0x111dc,
> -0x11200, 0x11211,
> -0x11213, 0x11237,
> -0x1123e, 0x1123e,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a8,
> -0x112b0, 0x112ea,
> -0x112f0, 0x112f9,
> -0x11300, 0x11303,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133b, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134d,
> -0x11350, 0x11350,
> -0x11357, 0x11357,
> -0x1135d, 0x11363,
> -0x11366, 0x1136c,
> -0x11370, 0x11374,
> -0x11400, 0x1144a,
> -0x11450, 0x11459,
> -0x1145e, 0x1145f,
> -0x11480, 0x114c5,
> -0x114c7, 0x114c7,
> -0x114d0, 0x114d9,
> -0x11580, 0x115b5,
> -0x115b8, 0x115c0,
> -0x115d8, 0x115dd,
> -0x11600, 0x11640,
> -0x11644, 0x11644,
> -0x11650, 0x11659,
> -0x11680, 0x116b8,
> -0x116c0, 0x116c9,
> -0x11700, 0x1171a,
> -0x1171d, 0x1172b,
> -0x11730, 0x11739,
> -0x11800, 0x1183a,
> -0x118a0, 0x118e9,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d7,
> -0x119da, 0x119e1,
> -0x119e3, 0x119e4,
> -0x11a00, 0x11a3e,
> -0x11a47, 0x11a47,
> -0x11a50, 0x11a99,
> -0x11a9d, 0x11a9d,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c36,
> -0x11c38, 0x11c40,
> -0x11c50, 0x11c59,
> -0x11c72, 0x11c8f,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d47,
> -0x11d50, 0x11d59,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d98,
> -0x11da0, 0x11da9,
> -0x11ee0, 0x11ef6,
> -0x12000, 0x12399,
> -0x12400, 0x1246e,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16a60, 0x16a69,
> -0x16ad0, 0x16aed,
> -0x16af0, 0x16af4,
> -0x16b00, 0x16b36,
> -0x16b40, 0x16b43,
> -0x16b50, 0x16b59,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e7f,
> -0x16f00, 0x16f4a,
> -0x16f4f, 0x16f87,
> -0x16f8f, 0x16f9f,
> -0x16fe0, 0x16fe1,
> -0x16fe3, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1bc9d, 0x1bc9e,
> -0x1d165, 0x1d169,
> -0x1d16d, 0x1d172,
> -0x1d17b, 0x1d182,
> -0x1d185, 0x1d18b,
> -0x1d1aa, 0x1d1ad,
> -0x1d242, 0x1d244,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d6c0,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6fa,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d734,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d76e,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d7a8,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7cb,
> -0x1d7ce, 0x1d7ff,
> -0x1da00, 0x1da36,
> -0x1da3b, 0x1da6c,
> -0x1da75, 0x1da75,
> -0x1da84, 0x1da84,
> -0x1da9b, 0x1da9f,
> -0x1daa1, 0x1daaf,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e100, 0x1e12c,
> -0x1e130, 0x1e13d,
> -0x1e140, 0x1e149,
> -0x1e14e, 0x1e14e,
> -0x1e2c0, 0x1e2f9,
> -0x1e800, 0x1e8c4,
> -0x1e8d0, 0x1e8d6,
> -0x1e900, 0x1e94b,
> -0x1e950, 0x1e959,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x1f130, 0x1f149,
> -0x1f150, 0x1f169,
> -0x1f170, 0x1f189,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -0xe0100, 0xe01ef,
> -}; /* END of CR_Word */
> -
> -/* PROPERTY: 'Alnum': POSIX [[:Alnum:]] */
> -static const OnigCodePoint
> -CR_Alnum[] = { 715,
> -0x0030, 0x0039,
> -0x0041, 0x005a,
> -0x0061, 0x007a,
> -0x00aa, 0x00aa,
> -0x00b5, 0x00b5,
> -0x00ba, 0x00ba,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00f6,
> -0x00f8, 0x02c1,
> -0x02c6, 0x02d1,
> -0x02e0, 0x02e4,
> -0x02ec, 0x02ec,
> -0x02ee, 0x02ee,
> -0x0345, 0x0345,
> -0x0370, 0x0374,
> -0x0376, 0x0377,
> -0x037a, 0x037d,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x03f5,
> -0x03f7, 0x0481,
> -0x048a, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x0559,
> -0x0560, 0x0588,
> -0x05b0, 0x05bd,
> -0x05bf, 0x05bf,
> -0x05c1, 0x05c2,
> -0x05c4, 0x05c5,
> -0x05c7, 0x05c7,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f2,
> -0x0610, 0x061a,
> -0x0620, 0x0657,
> -0x0659, 0x0669,
> -0x066e, 0x06d3,
> -0x06d5, 0x06dc,
> -0x06e1, 0x06e8,
> -0x06ed, 0x06fc,
> -0x06ff, 0x06ff,
> -0x0710, 0x073f,
> -0x074d, 0x07b1,
> -0x07c0, 0x07ea,
> -0x07f4, 0x07f5,
> -0x07fa, 0x07fa,
> -0x0800, 0x0817,
> -0x081a, 0x082c,
> -0x0840, 0x0858,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x08d4, 0x08df,
> -0x08e3, 0x08e9,
> -0x08f0, 0x093b,
> -0x093d, 0x094c,
> -0x094e, 0x0950,
> -0x0955, 0x0963,
> -0x0966, 0x096f,
> -0x0971, 0x0983,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bd, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09cc,
> -0x09ce, 0x09ce,
> -0x09d7, 0x09d7,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e3,
> -0x09e6, 0x09f1,
> -0x09fc, 0x09fc,
> -0x0a01, 0x0a03,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4c,
> -0x0a51, 0x0a51,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a66, 0x0a75,
> -0x0a81, 0x0a83,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abd, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acc,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae3,
> -0x0ae6, 0x0aef,
> -0x0af9, 0x0afc,
> -0x0b01, 0x0b03,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3d, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4c,
> -0x0b56, 0x0b57,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b63,
> -0x0b66, 0x0b6f,
> -0x0b71, 0x0b71,
> -0x0b82, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcc,
> -0x0bd0, 0x0bd0,
> -0x0bd7, 0x0bd7,
> -0x0be6, 0x0bef,
> -0x0c00, 0x0c03,
> -0x0c05, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4c,
> -0x0c55, 0x0c56,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c63,
> -0x0c66, 0x0c6f,
> -0x0c80, 0x0c83,
> -0x0c85, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbd, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccc,
> -0x0cd5, 0x0cd6,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce3,
> -0x0ce6, 0x0cef,
> -0x0cf1, 0x0cf2,
> -0x0d00, 0x0d03,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d3a,
> -0x0d3d, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4c,
> -0x0d4e, 0x0d4e,
> -0x0d54, 0x0d57,
> -0x0d5f, 0x0d63,
> -0x0d66, 0x0d6f,
> -0x0d7a, 0x0d7f,
> -0x0d82, 0x0d83,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0de6, 0x0def,
> -0x0df2, 0x0df3,
> -0x0e01, 0x0e3a,
> -0x0e40, 0x0e46,
> -0x0e4d, 0x0e4d,
> -0x0e50, 0x0e59,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0eb9,
> -0x0ebb, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0ecd, 0x0ecd,
> -0x0ed0, 0x0ed9,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f00,
> -0x0f20, 0x0f29,
> -0x0f40, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f71, 0x0f81,
> -0x0f88, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x1000, 0x1036,
> -0x1038, 0x1038,
> -0x103b, 0x1049,
> -0x1050, 0x109d,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x10fa,
> -0x10fc, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x1380, 0x138f,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1401, 0x166c,
> -0x166f, 0x167f,
> -0x1681, 0x169a,
> -0x16a0, 0x16ea,
> -0x16ee, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1713,
> -0x1720, 0x1733,
> -0x1740, 0x1753,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1772, 0x1773,
> -0x1780, 0x17b3,
> -0x17b6, 0x17c8,
> -0x17d7, 0x17d7,
> -0x17dc, 0x17dc,
> -0x17e0, 0x17e9,
> -0x1810, 0x1819,
> -0x1820, 0x1878,
> -0x1880, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1920, 0x192b,
> -0x1930, 0x1938,
> -0x1946, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x19d0, 0x19d9,
> -0x1a00, 0x1a1b,
> -0x1a20, 0x1a5e,
> -0x1a61, 0x1a74,
> -0x1a80, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1aa7, 0x1aa7,
> -0x1b00, 0x1b33,
> -0x1b35, 0x1b43,
> -0x1b45, 0x1b4b,
> -0x1b50, 0x1b59,
> -0x1b80, 0x1ba9,
> -0x1bac, 0x1be5,
> -0x1be7, 0x1bf1,
> -0x1c00, 0x1c36,
> -0x1c40, 0x1c49,
> -0x1c4d, 0x1c7d,
> -0x1c80, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1ce9, 0x1cec,
> -0x1cee, 0x1cf3,
> -0x1cf5, 0x1cf6,
> -0x1cfa, 0x1cfa,
> -0x1d00, 0x1dbf,
> -0x1de7, 0x1df4,
> -0x1e00, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fbc,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fcc,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fe0, 0x1fec,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffc,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210a, 0x2113,
> -0x2115, 0x2115,
> -0x2119, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x212d,
> -0x212f, 0x2139,
> -0x213c, 0x213f,
> -0x2145, 0x2149,
> -0x214e, 0x214e,
> -0x2160, 0x2188,
> -0x24b6, 0x24e9,
> -0x2c00, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2ce4,
> -0x2ceb, 0x2cee,
> -0x2cf2, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d6f,
> -0x2d80, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x2de0, 0x2dff,
> -0x2e2f, 0x2e2f,
> -0x3005, 0x3007,
> -0x3021, 0x3029,
> -0x3031, 0x3035,
> -0x3038, 0x303c,
> -0x3041, 0x3096,
> -0x309d, 0x309f,
> -0x30a1, 0x30fa,
> -0x30fc, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x31a0, 0x31ba,
> -0x31f0, 0x31ff,
> -0x3400, 0x4db5,
> -0x4e00, 0x9fef,
> -0xa000, 0xa48c,
> -0xa4d0, 0xa4fd,
> -0xa500, 0xa60c,
> -0xa610, 0xa62b,
> -0xa640, 0xa66e,
> -0xa674, 0xa67b,
> -0xa67f, 0xa6ef,
> -0xa717, 0xa71f,
> -0xa722, 0xa788,
> -0xa78b, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa805,
> -0xa807, 0xa827,
> -0xa840, 0xa873,
> -0xa880, 0xa8c3,
> -0xa8c5, 0xa8c5,
> -0xa8d0, 0xa8d9,
> -0xa8f2, 0xa8f7,
> -0xa8fb, 0xa8fb,
> -0xa8fd, 0xa92a,
> -0xa930, 0xa952,
> -0xa960, 0xa97c,
> -0xa980, 0xa9b2,
> -0xa9b4, 0xa9bf,
> -0xa9cf, 0xa9d9,
> -0xa9e0, 0xa9fe,
> -0xaa00, 0xaa36,
> -0xaa40, 0xaa4d,
> -0xaa50, 0xaa59,
> -0xaa60, 0xaa76,
> -0xaa7a, 0xaabe,
> -0xaac0, 0xaac0,
> -0xaac2, 0xaac2,
> -0xaadb, 0xaadd,
> -0xaae0, 0xaaef,
> -0xaaf2, 0xaaf5,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab5a,
> -0xab5c, 0xab67,
> -0xab70, 0xabea,
> -0xabf0, 0xabf9,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xf900, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb28,
> -0xfb2a, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbb1,
> -0xfbd3, 0xfd3d,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfb,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xff10, 0xff19,
> -0xff21, 0xff3a,
> -0xff41, 0xff5a,
> -0xff66, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10140, 0x10174,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x10300, 0x1031f,
> -0x1032d, 0x1034a,
> -0x10350, 0x1037a,
> -0x10380, 0x1039d,
> -0x103a0, 0x103c3,
> -0x103c8, 0x103cf,
> -0x103d1, 0x103d5,
> -0x10400, 0x1049d,
> -0x104a0, 0x104a9,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10860, 0x10876,
> -0x10880, 0x1089e,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x10900, 0x10915,
> -0x10920, 0x10939,
> -0x10980, 0x109b7,
> -0x109be, 0x109bf,
> -0x10a00, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a60, 0x10a7c,
> -0x10a80, 0x10a9c,
> -0x10ac0, 0x10ac7,
> -0x10ac9, 0x10ae4,
> -0x10b00, 0x10b35,
> -0x10b40, 0x10b55,
> -0x10b60, 0x10b72,
> -0x10b80, 0x10b91,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10d00, 0x10d27,
> -0x10d30, 0x10d39,
> -0x10f00, 0x10f1c,
> -0x10f27, 0x10f27,
> -0x10f30, 0x10f45,
> -0x10fe0, 0x10ff6,
> -0x11000, 0x11045,
> -0x11066, 0x1106f,
> -0x11082, 0x110b8,
> -0x110d0, 0x110e8,
> -0x110f0, 0x110f9,
> -0x11100, 0x11132,
> -0x11136, 0x1113f,
> -0x11144, 0x11146,
> -0x11150, 0x11172,
> -0x11176, 0x11176,
> -0x11180, 0x111bf,
> -0x111c1, 0x111c4,
> -0x111d0, 0x111da,
> -0x111dc, 0x111dc,
> -0x11200, 0x11211,
> -0x11213, 0x11234,
> -0x11237, 0x11237,
> -0x1123e, 0x1123e,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a8,
> -0x112b0, 0x112e8,
> -0x112f0, 0x112f9,
> -0x11300, 0x11303,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133d, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134c,
> -0x11350, 0x11350,
> -0x11357, 0x11357,
> -0x1135d, 0x11363,
> -0x11400, 0x11441,
> -0x11443, 0x11445,
> -0x11447, 0x1144a,
> -0x11450, 0x11459,
> -0x1145f, 0x1145f,
> -0x11480, 0x114c1,
> -0x114c4, 0x114c5,
> -0x114c7, 0x114c7,
> -0x114d0, 0x114d9,
> -0x11580, 0x115b5,
> -0x115b8, 0x115be,
> -0x115d8, 0x115dd,
> -0x11600, 0x1163e,
> -0x11640, 0x11640,
> -0x11644, 0x11644,
> -0x11650, 0x11659,
> -0x11680, 0x116b5,
> -0x116b8, 0x116b8,
> -0x116c0, 0x116c9,
> -0x11700, 0x1171a,
> -0x1171d, 0x1172a,
> -0x11730, 0x11739,
> -0x11800, 0x11838,
> -0x118a0, 0x118e9,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d7,
> -0x119da, 0x119df,
> -0x119e1, 0x119e1,
> -0x119e3, 0x119e4,
> -0x11a00, 0x11a32,
> -0x11a35, 0x11a3e,
> -0x11a50, 0x11a97,
> -0x11a9d, 0x11a9d,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c36,
> -0x11c38, 0x11c3e,
> -0x11c40, 0x11c40,
> -0x11c50, 0x11c59,
> -0x11c72, 0x11c8f,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d41,
> -0x11d43, 0x11d43,
> -0x11d46, 0x11d47,
> -0x11d50, 0x11d59,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d96,
> -0x11d98, 0x11d98,
> -0x11da0, 0x11da9,
> -0x11ee0, 0x11ef6,
> -0x12000, 0x12399,
> -0x12400, 0x1246e,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16a60, 0x16a69,
> -0x16ad0, 0x16aed,
> -0x16b00, 0x16b2f,
> -0x16b40, 0x16b43,
> -0x16b50, 0x16b59,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e7f,
> -0x16f00, 0x16f4a,
> -0x16f4f, 0x16f87,
> -0x16f8f, 0x16f9f,
> -0x16fe0, 0x16fe1,
> -0x16fe3, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1bc9e, 0x1bc9e,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d6c0,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6fa,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d734,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d76e,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d7a8,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7cb,
> -0x1d7ce, 0x1d7ff,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e100, 0x1e12c,
> -0x1e137, 0x1e13d,
> -0x1e140, 0x1e149,
> -0x1e14e, 0x1e14e,
> -0x1e2c0, 0x1e2eb,
> -0x1e2f0, 0x1e2f9,
> -0x1e800, 0x1e8c4,
> -0x1e900, 0x1e943,
> -0x1e947, 0x1e947,
> -0x1e94b, 0x1e94b,
> -0x1e950, 0x1e959,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x1f130, 0x1f149,
> -0x1f150, 0x1f169,
> -0x1f170, 0x1f189,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -}; /* END of CR_Alnum */
> -
> -/* PROPERTY: 'ASCII': POSIX [[:ASCII:]] */
> -static const OnigCodePoint
> -CR_ASCII[] = { 1,
> -0x0000, 0x007f,
> -}; /* END of CR_ASCII */
> -
> -
> -/* PROPERTY: 'ASCII_Hex_Digit': Binary Property */
> -#define CR_ASCII_Hex_Digit CR_XDigit
> -
> -/* PROPERTY: 'Adlam': Script */
> -static const OnigCodePoint
> -CR_Adlam[] = { 3,
> -0x1e900, 0x1e94b,
> -0x1e950, 0x1e959,
> -0x1e95e, 0x1e95f,
> -}; /* END of CR_Adlam */
> -
> -/* PROPERTY: 'Ahom': Script */
> -static const OnigCodePoint
> -CR_Ahom[] = { 3,
> -0x11700, 0x1171a,
> -0x1171d, 0x1172b,
> -0x11730, 0x1173f,
> -}; /* END of CR_Ahom */
> -
> -/* PROPERTY: 'Alphabetic': Derived Property */
> -#define CR_Alphabetic CR_Alpha
> -
> -/* PROPERTY: 'Anatolian_Hieroglyphs': Script */
> -static const OnigCodePoint
> -CR_Anatolian_Hieroglyphs[] = { 1,
> -0x14400, 0x14646,
> -}; /* END of CR_Anatolian_Hieroglyphs */
> -
> -/* PROPERTY: 'Any': - */
> -static const OnigCodePoint
> -CR_Any[] = { 1,
> -0x0000, 0x10ffff,
> -}; /* END of CR_Any */
> -
> -/* PROPERTY: 'Arabic': Script */
> -static const OnigCodePoint
> -CR_Arabic[] = { 57,
> -0x0600, 0x0604,
> -0x0606, 0x060b,
> -0x060d, 0x061a,
> -0x061c, 0x061c,
> -0x061e, 0x061e,
> -0x0620, 0x063f,
> -0x0641, 0x064a,
> -0x0656, 0x066f,
> -0x0671, 0x06dc,
> -0x06de, 0x06ff,
> -0x0750, 0x077f,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x08d3, 0x08e1,
> -0x08e3, 0x08ff,
> -0xfb50, 0xfbc1,
> -0xfbd3, 0xfd3d,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfd,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0x10e60, 0x10e7e,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x1eef0, 0x1eef1,
> -}; /* END of CR_Arabic */
> -
> -/* PROPERTY: 'Armenian': Script */
> -static const OnigCodePoint
> -CR_Armenian[] = { 5,
> -0x0531, 0x0556,
> -0x0559, 0x0588,
> -0x058a, 0x058a,
> -0x058d, 0x058f,
> -0xfb13, 0xfb17,
> -}; /* END of CR_Armenian */
> -
> -/* PROPERTY: 'Assigned': - */
> -static const OnigCodePoint
> -CR_Assigned[] = { 666,
> -0x0000, 0x0377,
> -0x037a, 0x037f,
> -0x0384, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x058a,
> -0x058d, 0x058f,
> -0x0591, 0x05c7,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f4,
> -0x0600, 0x061c,
> -0x061e, 0x070d,
> -0x070f, 0x074a,
> -0x074d, 0x07b1,
> -0x07c0, 0x07fa,
> -0x07fd, 0x082d,
> -0x0830, 0x083e,
> -0x0840, 0x085b,
> -0x085e, 0x085e,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x08d3, 0x0983,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bc, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09ce,
> -0x09d7, 0x09d7,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e3,
> -0x09e6, 0x09fe,
> -0x0a01, 0x0a03,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a3c, 0x0a3c,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4d,
> -0x0a51, 0x0a51,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a66, 0x0a76,
> -0x0a81, 0x0a83,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abc, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acd,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae3,
> -0x0ae6, 0x0af1,
> -0x0af9, 0x0aff,
> -0x0b01, 0x0b03,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3c, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4d,
> -0x0b56, 0x0b57,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b63,
> -0x0b66, 0x0b77,
> -0x0b82, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcd,
> -0x0bd0, 0x0bd0,
> -0x0bd7, 0x0bd7,
> -0x0be6, 0x0bfa,
> -0x0c00, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4d,
> -0x0c55, 0x0c56,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c63,
> -0x0c66, 0x0c6f,
> -0x0c77, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbc, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccd,
> -0x0cd5, 0x0cd6,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce3,
> -0x0ce6, 0x0cef,
> -0x0cf1, 0x0cf2,
> -0x0d00, 0x0d03,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4f,
> -0x0d54, 0x0d63,
> -0x0d66, 0x0d7f,
> -0x0d82, 0x0d83,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0dca, 0x0dca,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0de6, 0x0def,
> -0x0df2, 0x0df4,
> -0x0e01, 0x0e3a,
> -0x0e3f, 0x0e5b,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0ec8, 0x0ecd,
> -0x0ed0, 0x0ed9,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f71, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x0fbe, 0x0fcc,
> -0x0fce, 0x0fda,
> -0x1000, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x135d, 0x137c,
> -0x1380, 0x1399,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1400, 0x169c,
> -0x16a0, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1714,
> -0x1720, 0x1736,
> -0x1740, 0x1753,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1772, 0x1773,
> -0x1780, 0x17dd,
> -0x17e0, 0x17e9,
> -0x17f0, 0x17f9,
> -0x1800, 0x180e,
> -0x1810, 0x1819,
> -0x1820, 0x1878,
> -0x1880, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1920, 0x192b,
> -0x1930, 0x193b,
> -0x1940, 0x1940,
> -0x1944, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x19d0, 0x19da,
> -0x19de, 0x1a1b,
> -0x1a1e, 0x1a5e,
> -0x1a60, 0x1a7c,
> -0x1a7f, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1aa0, 0x1aad,
> -0x1ab0, 0x1abe,
> -0x1b00, 0x1b4b,
> -0x1b50, 0x1b7c,
> -0x1b80, 0x1bf3,
> -0x1bfc, 0x1c37,
> -0x1c3b, 0x1c49,
> -0x1c4d, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cc7,
> -0x1cd0, 0x1cfa,
> -0x1d00, 0x1df9,
> -0x1dfb, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fc4,
> -0x1fc6, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fdd, 0x1fef,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffe,
> -0x2000, 0x2064,
> -0x2066, 0x2071,
> -0x2074, 0x208e,
> -0x2090, 0x209c,
> -0x20a0, 0x20bf,
> -0x20d0, 0x20f0,
> -0x2100, 0x218b,
> -0x2190, 0x2426,
> -0x2440, 0x244a,
> -0x2460, 0x2b73,
> -0x2b76, 0x2b95,
> -0x2b98, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2cf3,
> -0x2cf9, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d70,
> -0x2d7f, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x2de0, 0x2e4f,
> -0x2e80, 0x2e99,
> -0x2e9b, 0x2ef3,
> -0x2f00, 0x2fd5,
> -0x2ff0, 0x2ffb,
> -0x3000, 0x303f,
> -0x3041, 0x3096,
> -0x3099, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x3190, 0x31ba,
> -0x31c0, 0x31e3,
> -0x31f0, 0x321e,
> -0x3220, 0x4db5,
> -0x4dc0, 0x9fef,
> -0xa000, 0xa48c,
> -0xa490, 0xa4c6,
> -0xa4d0, 0xa62b,
> -0xa640, 0xa6f7,
> -0xa700, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa82b,
> -0xa830, 0xa839,
> -0xa840, 0xa877,
> -0xa880, 0xa8c5,
> -0xa8ce, 0xa8d9,
> -0xa8e0, 0xa953,
> -0xa95f, 0xa97c,
> -0xa980, 0xa9cd,
> -0xa9cf, 0xa9d9,
> -0xa9de, 0xa9fe,
> -0xaa00, 0xaa36,
> -0xaa40, 0xaa4d,
> -0xaa50, 0xaa59,
> -0xaa5c, 0xaac2,
> -0xaadb, 0xaaf6,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab67,
> -0xab70, 0xabed,
> -0xabf0, 0xabf9,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xd800, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbc1,
> -0xfbd3, 0xfd3f,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfd,
> -0xfe00, 0xfe19,
> -0xfe20, 0xfe52,
> -0xfe54, 0xfe66,
> -0xfe68, 0xfe6b,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xfeff, 0xfeff,
> -0xff01, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0xffe0, 0xffe6,
> -0xffe8, 0xffee,
> -0xfff9, 0xfffd,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10100, 0x10102,
> -0x10107, 0x10133,
> -0x10137, 0x1018e,
> -0x10190, 0x1019b,
> -0x101a0, 0x101a0,
> -0x101d0, 0x101fd,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x102e0, 0x102fb,
> -0x10300, 0x10323,
> -0x1032d, 0x1034a,
> -0x10350, 0x1037a,
> -0x10380, 0x1039d,
> -0x1039f, 0x103c3,
> -0x103c8, 0x103d5,
> -0x10400, 0x1049d,
> -0x104a0, 0x104a9,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x1056f, 0x1056f,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10857, 0x1089e,
> -0x108a7, 0x108af,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x108fb, 0x1091b,
> -0x1091f, 0x10939,
> -0x1093f, 0x1093f,
> -0x10980, 0x109b7,
> -0x109bc, 0x109cf,
> -0x109d2, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a38, 0x10a3a,
> -0x10a3f, 0x10a48,
> -0x10a50, 0x10a58,
> -0x10a60, 0x10a9f,
> -0x10ac0, 0x10ae6,
> -0x10aeb, 0x10af6,
> -0x10b00, 0x10b35,
> -0x10b39, 0x10b55,
> -0x10b58, 0x10b72,
> -0x10b78, 0x10b91,
> -0x10b99, 0x10b9c,
> -0x10ba9, 0x10baf,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10cfa, 0x10d27,
> -0x10d30, 0x10d39,
> -0x10e60, 0x10e7e,
> -0x10f00, 0x10f27,
> -0x10f30, 0x10f59,
> -0x10fe0, 0x10ff6,
> -0x11000, 0x1104d,
> -0x11052, 0x1106f,
> -0x1107f, 0x110c1,
> -0x110cd, 0x110cd,
> -0x110d0, 0x110e8,
> -0x110f0, 0x110f9,
> -0x11100, 0x11134,
> -0x11136, 0x11146,
> -0x11150, 0x11176,
> -0x11180, 0x111cd,
> -0x111d0, 0x111df,
> -0x111e1, 0x111f4,
> -0x11200, 0x11211,
> -0x11213, 0x1123e,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a9,
> -0x112b0, 0x112ea,
> -0x112f0, 0x112f9,
> -0x11300, 0x11303,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133b, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134d,
> -0x11350, 0x11350,
> -0x11357, 0x11357,
> -0x1135d, 0x11363,
> -0x11366, 0x1136c,
> -0x11370, 0x11374,
> -0x11400, 0x11459,
> -0x1145b, 0x1145b,
> -0x1145d, 0x1145f,
> -0x11480, 0x114c7,
> -0x114d0, 0x114d9,
> -0x11580, 0x115b5,
> -0x115b8, 0x115dd,
> -0x11600, 0x11644,
> -0x11650, 0x11659,
> -0x11660, 0x1166c,
> -0x11680, 0x116b8,
> -0x116c0, 0x116c9,
> -0x11700, 0x1171a,
> -0x1171d, 0x1172b,
> -0x11730, 0x1173f,
> -0x11800, 0x1183b,
> -0x118a0, 0x118f2,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d7,
> -0x119da, 0x119e4,
> -0x11a00, 0x11a47,
> -0x11a50, 0x11aa2,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c36,
> -0x11c38, 0x11c45,
> -0x11c50, 0x11c6c,
> -0x11c70, 0x11c8f,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d47,
> -0x11d50, 0x11d59,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d98,
> -0x11da0, 0x11da9,
> -0x11ee0, 0x11ef8,
> -0x11fc0, 0x11ff1,
> -0x11fff, 0x12399,
> -0x12400, 0x1246e,
> -0x12470, 0x12474,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x13430, 0x13438,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16a60, 0x16a69,
> -0x16a6e, 0x16a6f,
> -0x16ad0, 0x16aed,
> -0x16af0, 0x16af5,
> -0x16b00, 0x16b45,
> -0x16b50, 0x16b59,
> -0x16b5b, 0x16b61,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e9a,
> -0x16f00, 0x16f4a,
> -0x16f4f, 0x16f87,
> -0x16f8f, 0x16f9f,
> -0x16fe0, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1bc9c, 0x1bca3,
> -0x1d000, 0x1d0f5,
> -0x1d100, 0x1d126,
> -0x1d129, 0x1d1e8,
> -0x1d200, 0x1d245,
> -0x1d2e0, 0x1d2f3,
> -0x1d300, 0x1d356,
> -0x1d360, 0x1d378,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d7cb,
> -0x1d7ce, 0x1da8b,
> -0x1da9b, 0x1da9f,
> -0x1daa1, 0x1daaf,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e100, 0x1e12c,
> -0x1e130, 0x1e13d,
> -0x1e140, 0x1e149,
> -0x1e14e, 0x1e14f,
> -0x1e2c0, 0x1e2f9,
> -0x1e2ff, 0x1e2ff,
> -0x1e800, 0x1e8c4,
> -0x1e8c7, 0x1e8d6,
> -0x1e900, 0x1e94b,
> -0x1e950, 0x1e959,
> -0x1e95e, 0x1e95f,
> -0x1ec71, 0x1ecb4,
> -0x1ed01, 0x1ed3d,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x1eef0, 0x1eef1,
> -0x1f000, 0x1f02b,
> -0x1f030, 0x1f093,
> -0x1f0a0, 0x1f0ae,
> -0x1f0b1, 0x1f0bf,
> -0x1f0c1, 0x1f0cf,
> -0x1f0d1, 0x1f0f5,
> -0x1f100, 0x1f10c,
> -0x1f110, 0x1f16c,
> -0x1f170, 0x1f1ac,
> -0x1f1e6, 0x1f202,
> -0x1f210, 0x1f23b,
> -0x1f240, 0x1f248,
> -0x1f250, 0x1f251,
> -0x1f260, 0x1f265,
> -0x1f300, 0x1f6d5,
> -0x1f6e0, 0x1f6ec,
> -0x1f6f0, 0x1f6fa,
> -0x1f700, 0x1f773,
> -0x1f780, 0x1f7d8,
> -0x1f7e0, 0x1f7eb,
> -0x1f800, 0x1f80b,
> -0x1f810, 0x1f847,
> -0x1f850, 0x1f859,
> -0x1f860, 0x1f887,
> -0x1f890, 0x1f8ad,
> -0x1f900, 0x1f90b,
> -0x1f90d, 0x1f971,
> -0x1f973, 0x1f976,
> -0x1f97a, 0x1f9a2,
> -0x1f9a5, 0x1f9aa,
> -0x1f9ae, 0x1f9ca,
> -0x1f9cd, 0x1fa53,
> -0x1fa60, 0x1fa6d,
> -0x1fa70, 0x1fa73,
> -0x1fa78, 0x1fa7a,
> -0x1fa80, 0x1fa82,
> -0x1fa90, 0x1fa95,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -0xe0001, 0xe0001,
> -0xe0020, 0xe007f,
> -0xe0100, 0xe01ef,
> -0xf0000, 0xffffd,
> -0x100000, 0x10fffd,
> -}; /* END of CR_Assigned */
> -
> -/* PROPERTY: 'Avestan': Script */
> -static const OnigCodePoint
> -CR_Avestan[] = { 2,
> -0x10b00, 0x10b35,
> -0x10b39, 0x10b3f,
> -}; /* END of CR_Avestan */
> -
> -/* PROPERTY: 'Balinese': Script */
> -static const OnigCodePoint
> -CR_Balinese[] = { 2,
> -0x1b00, 0x1b4b,
> -0x1b50, 0x1b7c,
> -}; /* END of CR_Balinese */
> -
> -/* PROPERTY: 'Bamum': Script */
> -static const OnigCodePoint
> -CR_Bamum[] = { 2,
> -0xa6a0, 0xa6f7,
> -0x16800, 0x16a38,
> -}; /* END of CR_Bamum */
> -
> -/* PROPERTY: 'Bassa_Vah': Script */
> -static const OnigCodePoint
> -CR_Bassa_Vah[] = { 2,
> -0x16ad0, 0x16aed,
> -0x16af0, 0x16af5,
> -}; /* END of CR_Bassa_Vah */
> -
> -/* PROPERTY: 'Batak': Script */
> -static const OnigCodePoint
> -CR_Batak[] = { 2,
> -0x1bc0, 0x1bf3,
> -0x1bfc, 0x1bff,
> -}; /* END of CR_Batak */
> -
> -/* PROPERTY: 'Bengali': Script */
> -static const OnigCodePoint
> -CR_Bengali[] = { 14,
> -0x0980, 0x0983,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bc, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09ce,
> -0x09d7, 0x09d7,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e3,
> -0x09e6, 0x09fe,
> -}; /* END of CR_Bengali */
> -
> -/* PROPERTY: 'Bhaiksuki': Script */
> -static const OnigCodePoint
> -CR_Bhaiksuki[] = { 4,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c36,
> -0x11c38, 0x11c45,
> -0x11c50, 0x11c6c,
> -}; /* END of CR_Bhaiksuki */
> -
> -/* PROPERTY: 'Bidi_Control': Binary Property */
> -static const OnigCodePoint
> -CR_Bidi_Control[] = { 4,
> -0x061c, 0x061c,
> -0x200e, 0x200f,
> -0x202a, 0x202e,
> -0x2066, 0x2069,
> -}; /* END of CR_Bidi_Control */
> -
> -/* PROPERTY: 'Bopomofo': Script */
> -static const OnigCodePoint
> -CR_Bopomofo[] = { 3,
> -0x02ea, 0x02eb,
> -0x3105, 0x312f,
> -0x31a0, 0x31ba,
> -}; /* END of CR_Bopomofo */
> -
> -/* PROPERTY: 'Brahmi': Script */
> -static const OnigCodePoint
> -CR_Brahmi[] = { 3,
> -0x11000, 0x1104d,
> -0x11052, 0x1106f,
> -0x1107f, 0x1107f,
> -}; /* END of CR_Brahmi */
> -
> -/* PROPERTY: 'Braille': Script */
> -static const OnigCodePoint
> -CR_Braille[] = { 1,
> -0x2800, 0x28ff,
> -}; /* END of CR_Braille */
> -
> -/* PROPERTY: 'Buginese': Script */
> -static const OnigCodePoint
> -CR_Buginese[] = { 2,
> -0x1a00, 0x1a1b,
> -0x1a1e, 0x1a1f,
> -}; /* END of CR_Buginese */
> -
> -/* PROPERTY: 'Buhid': Script */
> -static const OnigCodePoint
> -CR_Buhid[] = { 1,
> -0x1740, 0x1753,
> -}; /* END of CR_Buhid */
> -
> -/* PROPERTY: 'C': Major Category */
> -static const OnigCodePoint
> -CR_C[] = { 668,
> -0x0000, 0x001f,
> -0x007f, 0x009f,
> -0x00ad, 0x00ad,
> -0x0378, 0x0379,
> -0x0380, 0x0383,
> -0x038b, 0x038b,
> -0x038d, 0x038d,
> -0x03a2, 0x03a2,
> -0x0530, 0x0530,
> -0x0557, 0x0558,
> -0x058b, 0x058c,
> -0x0590, 0x0590,
> -0x05c8, 0x05cf,
> -0x05eb, 0x05ee,
> -0x05f5, 0x0605,
> -0x061c, 0x061d,
> -0x06dd, 0x06dd,
> -0x070e, 0x070f,
> -0x074b, 0x074c,
> -0x07b2, 0x07bf,
> -0x07fb, 0x07fc,
> -0x082e, 0x082f,
> -0x083f, 0x083f,
> -0x085c, 0x085d,
> -0x085f, 0x085f,
> -0x086b, 0x089f,
> -0x08b5, 0x08b5,
> -0x08be, 0x08d2,
> -0x08e2, 0x08e2,
> -0x0984, 0x0984,
> -0x098d, 0x098e,
> -0x0991, 0x0992,
> -0x09a9, 0x09a9,
> -0x09b1, 0x09b1,
> -0x09b3, 0x09b5,
> -0x09ba, 0x09bb,
> -0x09c5, 0x09c6,
> -0x09c9, 0x09ca,
> -0x09cf, 0x09d6,
> -0x09d8, 0x09db,
> -0x09de, 0x09de,
> -0x09e4, 0x09e5,
> -0x09ff, 0x0a00,
> -0x0a04, 0x0a04,
> -0x0a0b, 0x0a0e,
> -0x0a11, 0x0a12,
> -0x0a29, 0x0a29,
> -0x0a31, 0x0a31,
> -0x0a34, 0x0a34,
> -0x0a37, 0x0a37,
> -0x0a3a, 0x0a3b,
> -0x0a3d, 0x0a3d,
> -0x0a43, 0x0a46,
> -0x0a49, 0x0a4a,
> -0x0a4e, 0x0a50,
> -0x0a52, 0x0a58,
> -0x0a5d, 0x0a5d,
> -0x0a5f, 0x0a65,
> -0x0a77, 0x0a80,
> -0x0a84, 0x0a84,
> -0x0a8e, 0x0a8e,
> -0x0a92, 0x0a92,
> -0x0aa9, 0x0aa9,
> -0x0ab1, 0x0ab1,
> -0x0ab4, 0x0ab4,
> -0x0aba, 0x0abb,
> -0x0ac6, 0x0ac6,
> -0x0aca, 0x0aca,
> -0x0ace, 0x0acf,
> -0x0ad1, 0x0adf,
> -0x0ae4, 0x0ae5,
> -0x0af2, 0x0af8,
> -0x0b00, 0x0b00,
> -0x0b04, 0x0b04,
> -0x0b0d, 0x0b0e,
> -0x0b11, 0x0b12,
> -0x0b29, 0x0b29,
> -0x0b31, 0x0b31,
> -0x0b34, 0x0b34,
> -0x0b3a, 0x0b3b,
> -0x0b45, 0x0b46,
> -0x0b49, 0x0b4a,
> -0x0b4e, 0x0b55,
> -0x0b58, 0x0b5b,
> -0x0b5e, 0x0b5e,
> -0x0b64, 0x0b65,
> -0x0b78, 0x0b81,
> -0x0b84, 0x0b84,
> -0x0b8b, 0x0b8d,
> -0x0b91, 0x0b91,
> -0x0b96, 0x0b98,
> -0x0b9b, 0x0b9b,
> -0x0b9d, 0x0b9d,
> -0x0ba0, 0x0ba2,
> -0x0ba5, 0x0ba7,
> -0x0bab, 0x0bad,
> -0x0bba, 0x0bbd,
> -0x0bc3, 0x0bc5,
> -0x0bc9, 0x0bc9,
> -0x0bce, 0x0bcf,
> -0x0bd1, 0x0bd6,
> -0x0bd8, 0x0be5,
> -0x0bfb, 0x0bff,
> -0x0c0d, 0x0c0d,
> -0x0c11, 0x0c11,
> -0x0c29, 0x0c29,
> -0x0c3a, 0x0c3c,
> -0x0c45, 0x0c45,
> -0x0c49, 0x0c49,
> -0x0c4e, 0x0c54,
> -0x0c57, 0x0c57,
> -0x0c5b, 0x0c5f,
> -0x0c64, 0x0c65,
> -0x0c70, 0x0c76,
> -0x0c8d, 0x0c8d,
> -0x0c91, 0x0c91,
> -0x0ca9, 0x0ca9,
> -0x0cb4, 0x0cb4,
> -0x0cba, 0x0cbb,
> -0x0cc5, 0x0cc5,
> -0x0cc9, 0x0cc9,
> -0x0cce, 0x0cd4,
> -0x0cd7, 0x0cdd,
> -0x0cdf, 0x0cdf,
> -0x0ce4, 0x0ce5,
> -0x0cf0, 0x0cf0,
> -0x0cf3, 0x0cff,
> -0x0d04, 0x0d04,
> -0x0d0d, 0x0d0d,
> -0x0d11, 0x0d11,
> -0x0d45, 0x0d45,
> -0x0d49, 0x0d49,
> -0x0d50, 0x0d53,
> -0x0d64, 0x0d65,
> -0x0d80, 0x0d81,
> -0x0d84, 0x0d84,
> -0x0d97, 0x0d99,
> -0x0db2, 0x0db2,
> -0x0dbc, 0x0dbc,
> -0x0dbe, 0x0dbf,
> -0x0dc7, 0x0dc9,
> -0x0dcb, 0x0dce,
> -0x0dd5, 0x0dd5,
> -0x0dd7, 0x0dd7,
> -0x0de0, 0x0de5,
> -0x0df0, 0x0df1,
> -0x0df5, 0x0e00,
> -0x0e3b, 0x0e3e,
> -0x0e5c, 0x0e80,
> -0x0e83, 0x0e83,
> -0x0e85, 0x0e85,
> -0x0e8b, 0x0e8b,
> -0x0ea4, 0x0ea4,
> -0x0ea6, 0x0ea6,
> -0x0ebe, 0x0ebf,
> -0x0ec5, 0x0ec5,
> -0x0ec7, 0x0ec7,
> -0x0ece, 0x0ecf,
> -0x0eda, 0x0edb,
> -0x0ee0, 0x0eff,
> -0x0f48, 0x0f48,
> -0x0f6d, 0x0f70,
> -0x0f98, 0x0f98,
> -0x0fbd, 0x0fbd,
> -0x0fcd, 0x0fcd,
> -0x0fdb, 0x0fff,
> -0x10c6, 0x10c6,
> -0x10c8, 0x10cc,
> -0x10ce, 0x10cf,
> -0x1249, 0x1249,
> -0x124e, 0x124f,
> -0x1257, 0x1257,
> -0x1259, 0x1259,
> -0x125e, 0x125f,
> -0x1289, 0x1289,
> -0x128e, 0x128f,
> -0x12b1, 0x12b1,
> -0x12b6, 0x12b7,
> -0x12bf, 0x12bf,
> -0x12c1, 0x12c1,
> -0x12c6, 0x12c7,
> -0x12d7, 0x12d7,
> -0x1311, 0x1311,
> -0x1316, 0x1317,
> -0x135b, 0x135c,
> -0x137d, 0x137f,
> -0x139a, 0x139f,
> -0x13f6, 0x13f7,
> -0x13fe, 0x13ff,
> -0x169d, 0x169f,
> -0x16f9, 0x16ff,
> -0x170d, 0x170d,
> -0x1715, 0x171f,
> -0x1737, 0x173f,
> -0x1754, 0x175f,
> -0x176d, 0x176d,
> -0x1771, 0x1771,
> -0x1774, 0x177f,
> -0x17de, 0x17df,
> -0x17ea, 0x17ef,
> -0x17fa, 0x17ff,
> -0x180e, 0x180f,
> -0x181a, 0x181f,
> -0x1879, 0x187f,
> -0x18ab, 0x18af,
> -0x18f6, 0x18ff,
> -0x191f, 0x191f,
> -0x192c, 0x192f,
> -0x193c, 0x193f,
> -0x1941, 0x1943,
> -0x196e, 0x196f,
> -0x1975, 0x197f,
> -0x19ac, 0x19af,
> -0x19ca, 0x19cf,
> -0x19db, 0x19dd,
> -0x1a1c, 0x1a1d,
> -0x1a5f, 0x1a5f,
> -0x1a7d, 0x1a7e,
> -0x1a8a, 0x1a8f,
> -0x1a9a, 0x1a9f,
> -0x1aae, 0x1aaf,
> -0x1abf, 0x1aff,
> -0x1b4c, 0x1b4f,
> -0x1b7d, 0x1b7f,
> -0x1bf4, 0x1bfb,
> -0x1c38, 0x1c3a,
> -0x1c4a, 0x1c4c,
> -0x1c89, 0x1c8f,
> -0x1cbb, 0x1cbc,
> -0x1cc8, 0x1ccf,
> -0x1cfb, 0x1cff,
> -0x1dfa, 0x1dfa,
> -0x1f16, 0x1f17,
> -0x1f1e, 0x1f1f,
> -0x1f46, 0x1f47,
> -0x1f4e, 0x1f4f,
> -0x1f58, 0x1f58,
> -0x1f5a, 0x1f5a,
> -0x1f5c, 0x1f5c,
> -0x1f5e, 0x1f5e,
> -0x1f7e, 0x1f7f,
> -0x1fb5, 0x1fb5,
> -0x1fc5, 0x1fc5,
> -0x1fd4, 0x1fd5,
> -0x1fdc, 0x1fdc,
> -0x1ff0, 0x1ff1,
> -0x1ff5, 0x1ff5,
> -0x1fff, 0x1fff,
> -0x200b, 0x200f,
> -0x202a, 0x202e,
> -0x2060, 0x206f,
> -0x2072, 0x2073,
> -0x208f, 0x208f,
> -0x209d, 0x209f,
> -0x20c0, 0x20cf,
> -0x20f1, 0x20ff,
> -0x218c, 0x218f,
> -0x2427, 0x243f,
> -0x244b, 0x245f,
> -0x2b74, 0x2b75,
> -0x2b96, 0x2b97,
> -0x2c2f, 0x2c2f,
> -0x2c5f, 0x2c5f,
> -0x2cf4, 0x2cf8,
> -0x2d26, 0x2d26,
> -0x2d28, 0x2d2c,
> -0x2d2e, 0x2d2f,
> -0x2d68, 0x2d6e,
> -0x2d71, 0x2d7e,
> -0x2d97, 0x2d9f,
> -0x2da7, 0x2da7,
> -0x2daf, 0x2daf,
> -0x2db7, 0x2db7,
> -0x2dbf, 0x2dbf,
> -0x2dc7, 0x2dc7,
> -0x2dcf, 0x2dcf,
> -0x2dd7, 0x2dd7,
> -0x2ddf, 0x2ddf,
> -0x2e50, 0x2e7f,
> -0x2e9a, 0x2e9a,
> -0x2ef4, 0x2eff,
> -0x2fd6, 0x2fef,
> -0x2ffc, 0x2fff,
> -0x3040, 0x3040,
> -0x3097, 0x3098,
> -0x3100, 0x3104,
> -0x3130, 0x3130,
> -0x318f, 0x318f,
> -0x31bb, 0x31bf,
> -0x31e4, 0x31ef,
> -0x321f, 0x321f,
> -0x4db6, 0x4dbf,
> -0x9ff0, 0x9fff,
> -0xa48d, 0xa48f,
> -0xa4c7, 0xa4cf,
> -0xa62c, 0xa63f,
> -0xa6f8, 0xa6ff,
> -0xa7c0, 0xa7c1,
> -0xa7c7, 0xa7f6,
> -0xa82c, 0xa82f,
> -0xa83a, 0xa83f,
> -0xa878, 0xa87f,
> -0xa8c6, 0xa8cd,
> -0xa8da, 0xa8df,
> -0xa954, 0xa95e,
> -0xa97d, 0xa97f,
> -0xa9ce, 0xa9ce,
> -0xa9da, 0xa9dd,
> -0xa9ff, 0xa9ff,
> -0xaa37, 0xaa3f,
> -0xaa4e, 0xaa4f,
> -0xaa5a, 0xaa5b,
> -0xaac3, 0xaada,
> -0xaaf7, 0xab00,
> -0xab07, 0xab08,
> -0xab0f, 0xab10,
> -0xab17, 0xab1f,
> -0xab27, 0xab27,
> -0xab2f, 0xab2f,
> -0xab68, 0xab6f,
> -0xabee, 0xabef,
> -0xabfa, 0xabff,
> -0xd7a4, 0xd7af,
> -0xd7c7, 0xd7ca,
> -0xd7fc, 0xf8ff,
> -0xfa6e, 0xfa6f,
> -0xfada, 0xfaff,
> -0xfb07, 0xfb12,
> -0xfb18, 0xfb1c,
> -0xfb37, 0xfb37,
> -0xfb3d, 0xfb3d,
> -0xfb3f, 0xfb3f,
> -0xfb42, 0xfb42,
> -0xfb45, 0xfb45,
> -0xfbc2, 0xfbd2,
> -0xfd40, 0xfd4f,
> -0xfd90, 0xfd91,
> -0xfdc8, 0xfdef,
> -0xfdfe, 0xfdff,
> -0xfe1a, 0xfe1f,
> -0xfe53, 0xfe53,
> -0xfe67, 0xfe67,
> -0xfe6c, 0xfe6f,
> -0xfe75, 0xfe75,
> -0xfefd, 0xff00,
> -0xffbf, 0xffc1,
> -0xffc8, 0xffc9,
> -0xffd0, 0xffd1,
> -0xffd8, 0xffd9,
> -0xffdd, 0xffdf,
> -0xffe7, 0xffe7,
> -0xffef, 0xfffb,
> -0xfffe, 0xffff,
> -0x1000c, 0x1000c,
> -0x10027, 0x10027,
> -0x1003b, 0x1003b,
> -0x1003e, 0x1003e,
> -0x1004e, 0x1004f,
> -0x1005e, 0x1007f,
> -0x100fb, 0x100ff,
> -0x10103, 0x10106,
> -0x10134, 0x10136,
> -0x1018f, 0x1018f,
> -0x1019c, 0x1019f,
> -0x101a1, 0x101cf,
> -0x101fe, 0x1027f,
> -0x1029d, 0x1029f,
> -0x102d1, 0x102df,
> -0x102fc, 0x102ff,
> -0x10324, 0x1032c,
> -0x1034b, 0x1034f,
> -0x1037b, 0x1037f,
> -0x1039e, 0x1039e,
> -0x103c4, 0x103c7,
> -0x103d6, 0x103ff,
> -0x1049e, 0x1049f,
> -0x104aa, 0x104af,
> -0x104d4, 0x104d7,
> -0x104fc, 0x104ff,
> -0x10528, 0x1052f,
> -0x10564, 0x1056e,
> -0x10570, 0x105ff,
> -0x10737, 0x1073f,
> -0x10756, 0x1075f,
> -0x10768, 0x107ff,
> -0x10806, 0x10807,
> -0x10809, 0x10809,
> -0x10836, 0x10836,
> -0x10839, 0x1083b,
> -0x1083d, 0x1083e,
> -0x10856, 0x10856,
> -0x1089f, 0x108a6,
> -0x108b0, 0x108df,
> -0x108f3, 0x108f3,
> -0x108f6, 0x108fa,
> -0x1091c, 0x1091e,
> -0x1093a, 0x1093e,
> -0x10940, 0x1097f,
> -0x109b8, 0x109bb,
> -0x109d0, 0x109d1,
> -0x10a04, 0x10a04,
> -0x10a07, 0x10a0b,
> -0x10a14, 0x10a14,
> -0x10a18, 0x10a18,
> -0x10a36, 0x10a37,
> -0x10a3b, 0x10a3e,
> -0x10a49, 0x10a4f,
> -0x10a59, 0x10a5f,
> -0x10aa0, 0x10abf,
> -0x10ae7, 0x10aea,
> -0x10af7, 0x10aff,
> -0x10b36, 0x10b38,
> -0x10b56, 0x10b57,
> -0x10b73, 0x10b77,
> -0x10b92, 0x10b98,
> -0x10b9d, 0x10ba8,
> -0x10bb0, 0x10bff,
> -0x10c49, 0x10c7f,
> -0x10cb3, 0x10cbf,
> -0x10cf3, 0x10cf9,
> -0x10d28, 0x10d2f,
> -0x10d3a, 0x10e5f,
> -0x10e7f, 0x10eff,
> -0x10f28, 0x10f2f,
> -0x10f5a, 0x10fdf,
> -0x10ff7, 0x10fff,
> -0x1104e, 0x11051,
> -0x11070, 0x1107e,
> -0x110bd, 0x110bd,
> -0x110c2, 0x110cf,
> -0x110e9, 0x110ef,
> -0x110fa, 0x110ff,
> -0x11135, 0x11135,
> -0x11147, 0x1114f,
> -0x11177, 0x1117f,
> -0x111ce, 0x111cf,
> -0x111e0, 0x111e0,
> -0x111f5, 0x111ff,
> -0x11212, 0x11212,
> -0x1123f, 0x1127f,
> -0x11287, 0x11287,
> -0x11289, 0x11289,
> -0x1128e, 0x1128e,
> -0x1129e, 0x1129e,
> -0x112aa, 0x112af,
> -0x112eb, 0x112ef,
> -0x112fa, 0x112ff,
> -0x11304, 0x11304,
> -0x1130d, 0x1130e,
> -0x11311, 0x11312,
> -0x11329, 0x11329,
> -0x11331, 0x11331,
> -0x11334, 0x11334,
> -0x1133a, 0x1133a,
> -0x11345, 0x11346,
> -0x11349, 0x1134a,
> -0x1134e, 0x1134f,
> -0x11351, 0x11356,
> -0x11358, 0x1135c,
> -0x11364, 0x11365,
> -0x1136d, 0x1136f,
> -0x11375, 0x113ff,
> -0x1145a, 0x1145a,
> -0x1145c, 0x1145c,
> -0x11460, 0x1147f,
> -0x114c8, 0x114cf,
> -0x114da, 0x1157f,
> -0x115b6, 0x115b7,
> -0x115de, 0x115ff,
> -0x11645, 0x1164f,
> -0x1165a, 0x1165f,
> -0x1166d, 0x1167f,
> -0x116b9, 0x116bf,
> -0x116ca, 0x116ff,
> -0x1171b, 0x1171c,
> -0x1172c, 0x1172f,
> -0x11740, 0x117ff,
> -0x1183c, 0x1189f,
> -0x118f3, 0x118fe,
> -0x11900, 0x1199f,
> -0x119a8, 0x119a9,
> -0x119d8, 0x119d9,
> -0x119e5, 0x119ff,
> -0x11a48, 0x11a4f,
> -0x11aa3, 0x11abf,
> -0x11af9, 0x11bff,
> -0x11c09, 0x11c09,
> -0x11c37, 0x11c37,
> -0x11c46, 0x11c4f,
> -0x11c6d, 0x11c6f,
> -0x11c90, 0x11c91,
> -0x11ca8, 0x11ca8,
> -0x11cb7, 0x11cff,
> -0x11d07, 0x11d07,
> -0x11d0a, 0x11d0a,
> -0x11d37, 0x11d39,
> -0x11d3b, 0x11d3b,
> -0x11d3e, 0x11d3e,
> -0x11d48, 0x11d4f,
> -0x11d5a, 0x11d5f,
> -0x11d66, 0x11d66,
> -0x11d69, 0x11d69,
> -0x11d8f, 0x11d8f,
> -0x11d92, 0x11d92,
> -0x11d99, 0x11d9f,
> -0x11daa, 0x11edf,
> -0x11ef9, 0x11fbf,
> -0x11ff2, 0x11ffe,
> -0x1239a, 0x123ff,
> -0x1246f, 0x1246f,
> -0x12475, 0x1247f,
> -0x12544, 0x12fff,
> -0x1342f, 0x143ff,
> -0x14647, 0x167ff,
> -0x16a39, 0x16a3f,
> -0x16a5f, 0x16a5f,
> -0x16a6a, 0x16a6d,
> -0x16a70, 0x16acf,
> -0x16aee, 0x16aef,
> -0x16af6, 0x16aff,
> -0x16b46, 0x16b4f,
> -0x16b5a, 0x16b5a,
> -0x16b62, 0x16b62,
> -0x16b78, 0x16b7c,
> -0x16b90, 0x16e3f,
> -0x16e9b, 0x16eff,
> -0x16f4b, 0x16f4e,
> -0x16f88, 0x16f8e,
> -0x16fa0, 0x16fdf,
> -0x16fe4, 0x16fff,
> -0x187f8, 0x187ff,
> -0x18af3, 0x1afff,
> -0x1b11f, 0x1b14f,
> -0x1b153, 0x1b163,
> -0x1b168, 0x1b16f,
> -0x1b2fc, 0x1bbff,
> -0x1bc6b, 0x1bc6f,
> -0x1bc7d, 0x1bc7f,
> -0x1bc89, 0x1bc8f,
> -0x1bc9a, 0x1bc9b,
> -0x1bca0, 0x1cfff,
> -0x1d0f6, 0x1d0ff,
> -0x1d127, 0x1d128,
> -0x1d173, 0x1d17a,
> -0x1d1e9, 0x1d1ff,
> -0x1d246, 0x1d2df,
> -0x1d2f4, 0x1d2ff,
> -0x1d357, 0x1d35f,
> -0x1d379, 0x1d3ff,
> -0x1d455, 0x1d455,
> -0x1d49d, 0x1d49d,
> -0x1d4a0, 0x1d4a1,
> -0x1d4a3, 0x1d4a4,
> -0x1d4a7, 0x1d4a8,
> -0x1d4ad, 0x1d4ad,
> -0x1d4ba, 0x1d4ba,
> -0x1d4bc, 0x1d4bc,
> -0x1d4c4, 0x1d4c4,
> -0x1d506, 0x1d506,
> -0x1d50b, 0x1d50c,
> -0x1d515, 0x1d515,
> -0x1d51d, 0x1d51d,
> -0x1d53a, 0x1d53a,
> -0x1d53f, 0x1d53f,
> -0x1d545, 0x1d545,
> -0x1d547, 0x1d549,
> -0x1d551, 0x1d551,
> -0x1d6a6, 0x1d6a7,
> -0x1d7cc, 0x1d7cd,
> -0x1da8c, 0x1da9a,
> -0x1daa0, 0x1daa0,
> -0x1dab0, 0x1dfff,
> -0x1e007, 0x1e007,
> -0x1e019, 0x1e01a,
> -0x1e022, 0x1e022,
> -0x1e025, 0x1e025,
> -0x1e02b, 0x1e0ff,
> -0x1e12d, 0x1e12f,
> -0x1e13e, 0x1e13f,
> -0x1e14a, 0x1e14d,
> -0x1e150, 0x1e2bf,
> -0x1e2fa, 0x1e2fe,
> -0x1e300, 0x1e7ff,
> -0x1e8c5, 0x1e8c6,
> -0x1e8d7, 0x1e8ff,
> -0x1e94c, 0x1e94f,
> -0x1e95a, 0x1e95d,
> -0x1e960, 0x1ec70,
> -0x1ecb5, 0x1ed00,
> -0x1ed3e, 0x1edff,
> -0x1ee04, 0x1ee04,
> -0x1ee20, 0x1ee20,
> -0x1ee23, 0x1ee23,
> -0x1ee25, 0x1ee26,
> -0x1ee28, 0x1ee28,
> -0x1ee33, 0x1ee33,
> -0x1ee38, 0x1ee38,
> -0x1ee3a, 0x1ee3a,
> -0x1ee3c, 0x1ee41,
> -0x1ee43, 0x1ee46,
> -0x1ee48, 0x1ee48,
> -0x1ee4a, 0x1ee4a,
> -0x1ee4c, 0x1ee4c,
> -0x1ee50, 0x1ee50,
> -0x1ee53, 0x1ee53,
> -0x1ee55, 0x1ee56,
> -0x1ee58, 0x1ee58,
> -0x1ee5a, 0x1ee5a,
> -0x1ee5c, 0x1ee5c,
> -0x1ee5e, 0x1ee5e,
> -0x1ee60, 0x1ee60,
> -0x1ee63, 0x1ee63,
> -0x1ee65, 0x1ee66,
> -0x1ee6b, 0x1ee6b,
> -0x1ee73, 0x1ee73,
> -0x1ee78, 0x1ee78,
> -0x1ee7d, 0x1ee7d,
> -0x1ee7f, 0x1ee7f,
> -0x1ee8a, 0x1ee8a,
> -0x1ee9c, 0x1eea0,
> -0x1eea4, 0x1eea4,
> -0x1eeaa, 0x1eeaa,
> -0x1eebc, 0x1eeef,
> -0x1eef2, 0x1efff,
> -0x1f02c, 0x1f02f,
> -0x1f094, 0x1f09f,
> -0x1f0af, 0x1f0b0,
> -0x1f0c0, 0x1f0c0,
> -0x1f0d0, 0x1f0d0,
> -0x1f0f6, 0x1f0ff,
> -0x1f10d, 0x1f10f,
> -0x1f16d, 0x1f16f,
> -0x1f1ad, 0x1f1e5,
> -0x1f203, 0x1f20f,
> -0x1f23c, 0x1f23f,
> -0x1f249, 0x1f24f,
> -0x1f252, 0x1f25f,
> -0x1f266, 0x1f2ff,
> -0x1f6d6, 0x1f6df,
> -0x1f6ed, 0x1f6ef,
> -0x1f6fb, 0x1f6ff,
> -0x1f774, 0x1f77f,
> -0x1f7d9, 0x1f7df,
> -0x1f7ec, 0x1f7ff,
> -0x1f80c, 0x1f80f,
> -0x1f848, 0x1f84f,
> -0x1f85a, 0x1f85f,
> -0x1f888, 0x1f88f,
> -0x1f8ae, 0x1f8ff,
> -0x1f90c, 0x1f90c,
> -0x1f972, 0x1f972,
> -0x1f977, 0x1f979,
> -0x1f9a3, 0x1f9a4,
> -0x1f9ab, 0x1f9ad,
> -0x1f9cb, 0x1f9cc,
> -0x1fa54, 0x1fa5f,
> -0x1fa6e, 0x1fa6f,
> -0x1fa74, 0x1fa77,
> -0x1fa7b, 0x1fa7f,
> -0x1fa83, 0x1fa8f,
> -0x1fa96, 0x1ffff,
> -0x2a6d7, 0x2a6ff,
> -0x2b735, 0x2b73f,
> -0x2b81e, 0x2b81f,
> -0x2cea2, 0x2ceaf,
> -0x2ebe1, 0x2f7ff,
> -0x2fa1e, 0xe00ff,
> -0xe01f0, 0x10ffff,
> -}; /* END of CR_C */
> -
> -/* PROPERTY: 'Canadian_Aboriginal': Script */
> -static const OnigCodePoint
> -CR_Canadian_Aboriginal[] = { 2,
> -0x1400, 0x167f,
> -0x18b0, 0x18f5,
> -}; /* END of CR_Canadian_Aboriginal */
> -
> -/* PROPERTY: 'Carian': Script */
> -static const OnigCodePoint
> -CR_Carian[] = { 1,
> -0x102a0, 0x102d0,
> -}; /* END of CR_Carian */
> -
> -/* PROPERTY: 'Case_Ignorable': Derived Property */
> -static const OnigCodePoint
> -CR_Case_Ignorable[] = { 401,
> -0x0027, 0x0027,
> -0x002e, 0x002e,
> -0x003a, 0x003a,
> -0x005e, 0x005e,
> -0x0060, 0x0060,
> -0x00a8, 0x00a8,
> -0x00ad, 0x00ad,
> -0x00af, 0x00af,
> -0x00b4, 0x00b4,
> -0x00b7, 0x00b8,
> -0x02b0, 0x036f,
> -0x0374, 0x0375,
> -0x037a, 0x037a,
> -0x0384, 0x0385,
> -0x0387, 0x0387,
> -0x0483, 0x0489,
> -0x0559, 0x0559,
> -0x0591, 0x05bd,
> -0x05bf, 0x05bf,
> -0x05c1, 0x05c2,
> -0x05c4, 0x05c5,
> -0x05c7, 0x05c7,
> -0x05f4, 0x05f4,
> -0x0600, 0x0605,
> -0x0610, 0x061a,
> -0x061c, 0x061c,
> -0x0640, 0x0640,
> -0x064b, 0x065f,
> -0x0670, 0x0670,
> -0x06d6, 0x06dd,
> -0x06df, 0x06e8,
> -0x06ea, 0x06ed,
> -0x070f, 0x070f,
> -0x0711, 0x0711,
> -0x0730, 0x074a,
> -0x07a6, 0x07b0,
> -0x07eb, 0x07f5,
> -0x07fa, 0x07fa,
> -0x07fd, 0x07fd,
> -0x0816, 0x082d,
> -0x0859, 0x085b,
> -0x08d3, 0x0902,
> -0x093a, 0x093a,
> -0x093c, 0x093c,
> -0x0941, 0x0948,
> -0x094d, 0x094d,
> -0x0951, 0x0957,
> -0x0962, 0x0963,
> -0x0971, 0x0971,
> -0x0981, 0x0981,
> -0x09bc, 0x09bc,
> -0x09c1, 0x09c4,
> -0x09cd, 0x09cd,
> -0x09e2, 0x09e3,
> -0x09fe, 0x09fe,
> -0x0a01, 0x0a02,
> -0x0a3c, 0x0a3c,
> -0x0a41, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4d,
> -0x0a51, 0x0a51,
> -0x0a70, 0x0a71,
> -0x0a75, 0x0a75,
> -0x0a81, 0x0a82,
> -0x0abc, 0x0abc,
> -0x0ac1, 0x0ac5,
> -0x0ac7, 0x0ac8,
> -0x0acd, 0x0acd,
> -0x0ae2, 0x0ae3,
> -0x0afa, 0x0aff,
> -0x0b01, 0x0b01,
> -0x0b3c, 0x0b3c,
> -0x0b3f, 0x0b3f,
> -0x0b41, 0x0b44,
> -0x0b4d, 0x0b4d,
> -0x0b56, 0x0b56,
> -0x0b62, 0x0b63,
> -0x0b82, 0x0b82,
> -0x0bc0, 0x0bc0,
> -0x0bcd, 0x0bcd,
> -0x0c00, 0x0c00,
> -0x0c04, 0x0c04,
> -0x0c3e, 0x0c40,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4d,
> -0x0c55, 0x0c56,
> -0x0c62, 0x0c63,
> -0x0c81, 0x0c81,
> -0x0cbc, 0x0cbc,
> -0x0cbf, 0x0cbf,
> -0x0cc6, 0x0cc6,
> -0x0ccc, 0x0ccd,
> -0x0ce2, 0x0ce3,
> -0x0d00, 0x0d01,
> -0x0d3b, 0x0d3c,
> -0x0d41, 0x0d44,
> -0x0d4d, 0x0d4d,
> -0x0d62, 0x0d63,
> -0x0dca, 0x0dca,
> -0x0dd2, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0e31, 0x0e31,
> -0x0e34, 0x0e3a,
> -0x0e46, 0x0e4e,
> -0x0eb1, 0x0eb1,
> -0x0eb4, 0x0ebc,
> -0x0ec6, 0x0ec6,
> -0x0ec8, 0x0ecd,
> -0x0f18, 0x0f19,
> -0x0f35, 0x0f35,
> -0x0f37, 0x0f37,
> -0x0f39, 0x0f39,
> -0x0f71, 0x0f7e,
> -0x0f80, 0x0f84,
> -0x0f86, 0x0f87,
> -0x0f8d, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x0fc6, 0x0fc6,
> -0x102d, 0x1030,
> -0x1032, 0x1037,
> -0x1039, 0x103a,
> -0x103d, 0x103e,
> -0x1058, 0x1059,
> -0x105e, 0x1060,
> -0x1071, 0x1074,
> -0x1082, 0x1082,
> -0x1085, 0x1086,
> -0x108d, 0x108d,
> -0x109d, 0x109d,
> -0x10fc, 0x10fc,
> -0x135d, 0x135f,
> -0x1712, 0x1714,
> -0x1732, 0x1734,
> -0x1752, 0x1753,
> -0x1772, 0x1773,
> -0x17b4, 0x17b5,
> -0x17b7, 0x17bd,
> -0x17c6, 0x17c6,
> -0x17c9, 0x17d3,
> -0x17d7, 0x17d7,
> -0x17dd, 0x17dd,
> -0x180b, 0x180e,
> -0x1843, 0x1843,
> -0x1885, 0x1886,
> -0x18a9, 0x18a9,
> -0x1920, 0x1922,
> -0x1927, 0x1928,
> -0x1932, 0x1932,
> -0x1939, 0x193b,
> -0x1a17, 0x1a18,
> -0x1a1b, 0x1a1b,
> -0x1a56, 0x1a56,
> -0x1a58, 0x1a5e,
> -0x1a60, 0x1a60,
> -0x1a62, 0x1a62,
> -0x1a65, 0x1a6c,
> -0x1a73, 0x1a7c,
> -0x1a7f, 0x1a7f,
> -0x1aa7, 0x1aa7,
> -0x1ab0, 0x1abe,
> -0x1b00, 0x1b03,
> -0x1b34, 0x1b34,
> -0x1b36, 0x1b3a,
> -0x1b3c, 0x1b3c,
> -0x1b42, 0x1b42,
> -0x1b6b, 0x1b73,
> -0x1b80, 0x1b81,
> -0x1ba2, 0x1ba5,
> -0x1ba8, 0x1ba9,
> -0x1bab, 0x1bad,
> -0x1be6, 0x1be6,
> -0x1be8, 0x1be9,
> -0x1bed, 0x1bed,
> -0x1bef, 0x1bf1,
> -0x1c2c, 0x1c33,
> -0x1c36, 0x1c37,
> -0x1c78, 0x1c7d,
> -0x1cd0, 0x1cd2,
> -0x1cd4, 0x1ce0,
> -0x1ce2, 0x1ce8,
> -0x1ced, 0x1ced,
> -0x1cf4, 0x1cf4,
> -0x1cf8, 0x1cf9,
> -0x1d2c, 0x1d6a,
> -0x1d78, 0x1d78,
> -0x1d9b, 0x1df9,
> -0x1dfb, 0x1dff,
> -0x1fbd, 0x1fbd,
> -0x1fbf, 0x1fc1,
> -0x1fcd, 0x1fcf,
> -0x1fdd, 0x1fdf,
> -0x1fed, 0x1fef,
> -0x1ffd, 0x1ffe,
> -0x200b, 0x200f,
> -0x2018, 0x2019,
> -0x2024, 0x2024,
> -0x2027, 0x2027,
> -0x202a, 0x202e,
> -0x2060, 0x2064,
> -0x2066, 0x206f,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x20d0, 0x20f0,
> -0x2c7c, 0x2c7d,
> -0x2cef, 0x2cf1,
> -0x2d6f, 0x2d6f,
> -0x2d7f, 0x2d7f,
> -0x2de0, 0x2dff,
> -0x2e2f, 0x2e2f,
> -0x3005, 0x3005,
> -0x302a, 0x302d,
> -0x3031, 0x3035,
> -0x303b, 0x303b,
> -0x3099, 0x309e,
> -0x30fc, 0x30fe,
> -0xa015, 0xa015,
> -0xa4f8, 0xa4fd,
> -0xa60c, 0xa60c,
> -0xa66f, 0xa672,
> -0xa674, 0xa67d,
> -0xa67f, 0xa67f,
> -0xa69c, 0xa69f,
> -0xa6f0, 0xa6f1,
> -0xa700, 0xa721,
> -0xa770, 0xa770,
> -0xa788, 0xa78a,
> -0xa7f8, 0xa7f9,
> -0xa802, 0xa802,
> -0xa806, 0xa806,
> -0xa80b, 0xa80b,
> -0xa825, 0xa826,
> -0xa8c4, 0xa8c5,
> -0xa8e0, 0xa8f1,
> -0xa8ff, 0xa8ff,
> -0xa926, 0xa92d,
> -0xa947, 0xa951,
> -0xa980, 0xa982,
> -0xa9b3, 0xa9b3,
> -0xa9b6, 0xa9b9,
> -0xa9bc, 0xa9bd,
> -0xa9cf, 0xa9cf,
> -0xa9e5, 0xa9e6,
> -0xaa29, 0xaa2e,
> -0xaa31, 0xaa32,
> -0xaa35, 0xaa36,
> -0xaa43, 0xaa43,
> -0xaa4c, 0xaa4c,
> -0xaa70, 0xaa70,
> -0xaa7c, 0xaa7c,
> -0xaab0, 0xaab0,
> -0xaab2, 0xaab4,
> -0xaab7, 0xaab8,
> -0xaabe, 0xaabf,
> -0xaac1, 0xaac1,
> -0xaadd, 0xaadd,
> -0xaaec, 0xaaed,
> -0xaaf3, 0xaaf4,
> -0xaaf6, 0xaaf6,
> -0xab5b, 0xab5f,
> -0xabe5, 0xabe5,
> -0xabe8, 0xabe8,
> -0xabed, 0xabed,
> -0xfb1e, 0xfb1e,
> -0xfbb2, 0xfbc1,
> -0xfe00, 0xfe0f,
> -0xfe13, 0xfe13,
> -0xfe20, 0xfe2f,
> -0xfe52, 0xfe52,
> -0xfe55, 0xfe55,
> -0xfeff, 0xfeff,
> -0xff07, 0xff07,
> -0xff0e, 0xff0e,
> -0xff1a, 0xff1a,
> -0xff3e, 0xff3e,
> -0xff40, 0xff40,
> -0xff70, 0xff70,
> -0xff9e, 0xff9f,
> -0xffe3, 0xffe3,
> -0xfff9, 0xfffb,
> -0x101fd, 0x101fd,
> -0x102e0, 0x102e0,
> -0x10376, 0x1037a,
> -0x10a01, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a0f,
> -0x10a38, 0x10a3a,
> -0x10a3f, 0x10a3f,
> -0x10ae5, 0x10ae6,
> -0x10d24, 0x10d27,
> -0x10f46, 0x10f50,
> -0x11001, 0x11001,
> -0x11038, 0x11046,
> -0x1107f, 0x11081,
> -0x110b3, 0x110b6,
> -0x110b9, 0x110ba,
> -0x110bd, 0x110bd,
> -0x110cd, 0x110cd,
> -0x11100, 0x11102,
> -0x11127, 0x1112b,
> -0x1112d, 0x11134,
> -0x11173, 0x11173,
> -0x11180, 0x11181,
> -0x111b6, 0x111be,
> -0x111c9, 0x111cc,
> -0x1122f, 0x11231,
> -0x11234, 0x11234,
> -0x11236, 0x11237,
> -0x1123e, 0x1123e,
> -0x112df, 0x112df,
> -0x112e3, 0x112ea,
> -0x11300, 0x11301,
> -0x1133b, 0x1133c,
> -0x11340, 0x11340,
> -0x11366, 0x1136c,
> -0x11370, 0x11374,
> -0x11438, 0x1143f,
> -0x11442, 0x11444,
> -0x11446, 0x11446,
> -0x1145e, 0x1145e,
> -0x114b3, 0x114b8,
> -0x114ba, 0x114ba,
> -0x114bf, 0x114c0,
> -0x114c2, 0x114c3,
> -0x115b2, 0x115b5,
> -0x115bc, 0x115bd,
> -0x115bf, 0x115c0,
> -0x115dc, 0x115dd,
> -0x11633, 0x1163a,
> -0x1163d, 0x1163d,
> -0x1163f, 0x11640,
> -0x116ab, 0x116ab,
> -0x116ad, 0x116ad,
> -0x116b0, 0x116b5,
> -0x116b7, 0x116b7,
> -0x1171d, 0x1171f,
> -0x11722, 0x11725,
> -0x11727, 0x1172b,
> -0x1182f, 0x11837,
> -0x11839, 0x1183a,
> -0x119d4, 0x119d7,
> -0x119da, 0x119db,
> -0x119e0, 0x119e0,
> -0x11a01, 0x11a0a,
> -0x11a33, 0x11a38,
> -0x11a3b, 0x11a3e,
> -0x11a47, 0x11a47,
> -0x11a51, 0x11a56,
> -0x11a59, 0x11a5b,
> -0x11a8a, 0x11a96,
> -0x11a98, 0x11a99,
> -0x11c30, 0x11c36,
> -0x11c38, 0x11c3d,
> -0x11c3f, 0x11c3f,
> -0x11c92, 0x11ca7,
> -0x11caa, 0x11cb0,
> -0x11cb2, 0x11cb3,
> -0x11cb5, 0x11cb6,
> -0x11d31, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d45,
> -0x11d47, 0x11d47,
> -0x11d90, 0x11d91,
> -0x11d95, 0x11d95,
> -0x11d97, 0x11d97,
> -0x11ef3, 0x11ef4,
> -0x13430, 0x13438,
> -0x16af0, 0x16af4,
> -0x16b30, 0x16b36,
> -0x16b40, 0x16b43,
> -0x16f4f, 0x16f4f,
> -0x16f8f, 0x16f9f,
> -0x16fe0, 0x16fe1,
> -0x16fe3, 0x16fe3,
> -0x1bc9d, 0x1bc9e,
> -0x1bca0, 0x1bca3,
> -0x1d167, 0x1d169,
> -0x1d173, 0x1d182,
> -0x1d185, 0x1d18b,
> -0x1d1aa, 0x1d1ad,
> -0x1d242, 0x1d244,
> -0x1da00, 0x1da36,
> -0x1da3b, 0x1da6c,
> -0x1da75, 0x1da75,
> -0x1da84, 0x1da84,
> -0x1da9b, 0x1da9f,
> -0x1daa1, 0x1daaf,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e130, 0x1e13d,
> -0x1e2ec, 0x1e2ef,
> -0x1e8d0, 0x1e8d6,
> -0x1e944, 0x1e94b,
> -0x1f3fb, 0x1f3ff,
> -0xe0001, 0xe0001,
> -0xe0020, 0xe007f,
> -0xe0100, 0xe01ef,
> -}; /* END of CR_Case_Ignorable */
> -
> -/* PROPERTY: 'Cased': Derived Property */
> -static const OnigCodePoint
> -CR_Cased[] = { 140,
> -0x0041, 0x005a,
> -0x0061, 0x007a,
> -0x00aa, 0x00aa,
> -0x00b5, 0x00b5,
> -0x00ba, 0x00ba,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00f6,
> -0x00f8, 0x01ba,
> -0x01bc, 0x01bf,
> -0x01c4, 0x0293,
> -0x0295, 0x02b8,
> -0x02c0, 0x02c1,
> -0x02e0, 0x02e4,
> -0x0345, 0x0345,
> -0x0370, 0x0373,
> -0x0376, 0x0377,
> -0x037a, 0x037d,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x03f5,
> -0x03f7, 0x0481,
> -0x048a, 0x052f,
> -0x0531, 0x0556,
> -0x0560, 0x0588,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x10fa,
> -0x10fd, 0x10ff,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1c80, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1d00, 0x1dbf,
> -0x1e00, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fbc,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fcc,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fe0, 0x1fec,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffc,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210a, 0x2113,
> -0x2115, 0x2115,
> -0x2119, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x212d,
> -0x212f, 0x2134,
> -0x2139, 0x2139,
> -0x213c, 0x213f,
> -0x2145, 0x2149,
> -0x214e, 0x214e,
> -0x2160, 0x217f,
> -0x2183, 0x2184,
> -0x24b6, 0x24e9,
> -0x2c00, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2ce4,
> -0x2ceb, 0x2cee,
> -0x2cf2, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0xa640, 0xa66d,
> -0xa680, 0xa69d,
> -0xa722, 0xa787,
> -0xa78b, 0xa78e,
> -0xa790, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f8, 0xa7fa,
> -0xab30, 0xab5a,
> -0xab5c, 0xab67,
> -0xab70, 0xabbf,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xff21, 0xff3a,
> -0xff41, 0xff5a,
> -0x10400, 0x1044f,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x118a0, 0x118df,
> -0x16e40, 0x16e7f,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d6c0,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6fa,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d734,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d76e,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d7a8,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7cb,
> -0x1e900, 0x1e943,
> -0x1f130, 0x1f149,
> -0x1f150, 0x1f169,
> -0x1f170, 0x1f189,
> -}; /* END of CR_Cased */
> -
> -/* PROPERTY: 'Caucasian_Albanian': Script */
> -static const OnigCodePoint
> -CR_Caucasian_Albanian[] = { 2,
> -0x10530, 0x10563,
> -0x1056f, 0x1056f,
> -}; /* END of CR_Caucasian_Albanian */
> -
> -/* PROPERTY: 'Cc': General Category */
> -#define CR_Cc CR_Cntrl
> -
> -/* PROPERTY: 'Cf': General Category */
> -static const OnigCodePoint
> -CR_Cf[] = { 20,
> -0x00ad, 0x00ad,
> -0x0600, 0x0605,
> -0x061c, 0x061c,
> -0x06dd, 0x06dd,
> -0x070f, 0x070f,
> -0x08e2, 0x08e2,
> -0x180e, 0x180e,
> -0x200b, 0x200f,
> -0x202a, 0x202e,
> -0x2060, 0x2064,
> -0x2066, 0x206f,
> -0xfeff, 0xfeff,
> -0xfff9, 0xfffb,
> -0x110bd, 0x110bd,
> -0x110cd, 0x110cd,
> -0x13430, 0x13438,
> -0x1bca0, 0x1bca3,
> -0x1d173, 0x1d17a,
> -0xe0001, 0xe0001,
> -0xe0020, 0xe007f,
> -}; /* END of CR_Cf */
> -
> -/* PROPERTY: 'Chakma': Script */
> -static const OnigCodePoint
> -CR_Chakma[] = { 2,
> -0x11100, 0x11134,
> -0x11136, 0x11146,
> -}; /* END of CR_Chakma */
> -
> -/* PROPERTY: 'Cham': Script */
> -static const OnigCodePoint
> -CR_Cham[] = { 4,
> -0xaa00, 0xaa36,
> -0xaa40, 0xaa4d,
> -0xaa50, 0xaa59,
> -0xaa5c, 0xaa5f,
> -}; /* END of CR_Cham */
> -
> -/* PROPERTY: 'Changes_When_Casefolded': Derived Property */
> -static const OnigCodePoint
> -CR_Changes_When_Casefolded[] = { 612,
> -0x0041, 0x005a,
> -0x00b5, 0x00b5,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00df,
> -0x0100, 0x0100,
> -0x0102, 0x0102,
> -0x0104, 0x0104,
> -0x0106, 0x0106,
> -0x0108, 0x0108,
> -0x010a, 0x010a,
> -0x010c, 0x010c,
> -0x010e, 0x010e,
> -0x0110, 0x0110,
> -0x0112, 0x0112,
> -0x0114, 0x0114,
> -0x0116, 0x0116,
> -0x0118, 0x0118,
> -0x011a, 0x011a,
> -0x011c, 0x011c,
> -0x011e, 0x011e,
> -0x0120, 0x0120,
> -0x0122, 0x0122,
> -0x0124, 0x0124,
> -0x0126, 0x0126,
> -0x0128, 0x0128,
> -0x012a, 0x012a,
> -0x012c, 0x012c,
> -0x012e, 0x012e,
> -0x0130, 0x0130,
> -0x0132, 0x0132,
> -0x0134, 0x0134,
> -0x0136, 0x0136,
> -0x0139, 0x0139,
> -0x013b, 0x013b,
> -0x013d, 0x013d,
> -0x013f, 0x013f,
> -0x0141, 0x0141,
> -0x0143, 0x0143,
> -0x0145, 0x0145,
> -0x0147, 0x0147,
> -0x0149, 0x014a,
> -0x014c, 0x014c,
> -0x014e, 0x014e,
> -0x0150, 0x0150,
> -0x0152, 0x0152,
> -0x0154, 0x0154,
> -0x0156, 0x0156,
> -0x0158, 0x0158,
> -0x015a, 0x015a,
> -0x015c, 0x015c,
> -0x015e, 0x015e,
> -0x0160, 0x0160,
> -0x0162, 0x0162,
> -0x0164, 0x0164,
> -0x0166, 0x0166,
> -0x0168, 0x0168,
> -0x016a, 0x016a,
> -0x016c, 0x016c,
> -0x016e, 0x016e,
> -0x0170, 0x0170,
> -0x0172, 0x0172,
> -0x0174, 0x0174,
> -0x0176, 0x0176,
> -0x0178, 0x0179,
> -0x017b, 0x017b,
> -0x017d, 0x017d,
> -0x017f, 0x017f,
> -0x0181, 0x0182,
> -0x0184, 0x0184,
> -0x0186, 0x0187,
> -0x0189, 0x018b,
> -0x018e, 0x0191,
> -0x0193, 0x0194,
> -0x0196, 0x0198,
> -0x019c, 0x019d,
> -0x019f, 0x01a0,
> -0x01a2, 0x01a2,
> -0x01a4, 0x01a4,
> -0x01a6, 0x01a7,
> -0x01a9, 0x01a9,
> -0x01ac, 0x01ac,
> -0x01ae, 0x01af,
> -0x01b1, 0x01b3,
> -0x01b5, 0x01b5,
> -0x01b7, 0x01b8,
> -0x01bc, 0x01bc,
> -0x01c4, 0x01c5,
> -0x01c7, 0x01c8,
> -0x01ca, 0x01cb,
> -0x01cd, 0x01cd,
> -0x01cf, 0x01cf,
> -0x01d1, 0x01d1,
> -0x01d3, 0x01d3,
> -0x01d5, 0x01d5,
> -0x01d7, 0x01d7,
> -0x01d9, 0x01d9,
> -0x01db, 0x01db,
> -0x01de, 0x01de,
> -0x01e0, 0x01e0,
> -0x01e2, 0x01e2,
> -0x01e4, 0x01e4,
> -0x01e6, 0x01e6,
> -0x01e8, 0x01e8,
> -0x01ea, 0x01ea,
> -0x01ec, 0x01ec,
> -0x01ee, 0x01ee,
> -0x01f1, 0x01f2,
> -0x01f4, 0x01f4,
> -0x01f6, 0x01f8,
> -0x01fa, 0x01fa,
> -0x01fc, 0x01fc,
> -0x01fe, 0x01fe,
> -0x0200, 0x0200,
> -0x0202, 0x0202,
> -0x0204, 0x0204,
> -0x0206, 0x0206,
> -0x0208, 0x0208,
> -0x020a, 0x020a,
> -0x020c, 0x020c,
> -0x020e, 0x020e,
> -0x0210, 0x0210,
> -0x0212, 0x0212,
> -0x0214, 0x0214,
> -0x0216, 0x0216,
> -0x0218, 0x0218,
> -0x021a, 0x021a,
> -0x021c, 0x021c,
> -0x021e, 0x021e,
> -0x0220, 0x0220,
> -0x0222, 0x0222,
> -0x0224, 0x0224,
> -0x0226, 0x0226,
> -0x0228, 0x0228,
> -0x022a, 0x022a,
> -0x022c, 0x022c,
> -0x022e, 0x022e,
> -0x0230, 0x0230,
> -0x0232, 0x0232,
> -0x023a, 0x023b,
> -0x023d, 0x023e,
> -0x0241, 0x0241,
> -0x0243, 0x0246,
> -0x0248, 0x0248,
> -0x024a, 0x024a,
> -0x024c, 0x024c,
> -0x024e, 0x024e,
> -0x0345, 0x0345,
> -0x0370, 0x0370,
> -0x0372, 0x0372,
> -0x0376, 0x0376,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x038f,
> -0x0391, 0x03a1,
> -0x03a3, 0x03ab,
> -0x03c2, 0x03c2,
> -0x03cf, 0x03d1,
> -0x03d5, 0x03d6,
> -0x03d8, 0x03d8,
> -0x03da, 0x03da,
> -0x03dc, 0x03dc,
> -0x03de, 0x03de,
> -0x03e0, 0x03e0,
> -0x03e2, 0x03e2,
> -0x03e4, 0x03e4,
> -0x03e6, 0x03e6,
> -0x03e8, 0x03e8,
> -0x03ea, 0x03ea,
> -0x03ec, 0x03ec,
> -0x03ee, 0x03ee,
> -0x03f0, 0x03f1,
> -0x03f4, 0x03f5,
> -0x03f7, 0x03f7,
> -0x03f9, 0x03fa,
> -0x03fd, 0x042f,
> -0x0460, 0x0460,
> -0x0462, 0x0462,
> -0x0464, 0x0464,
> -0x0466, 0x0466,
> -0x0468, 0x0468,
> -0x046a, 0x046a,
> -0x046c, 0x046c,
> -0x046e, 0x046e,
> -0x0470, 0x0470,
> -0x0472, 0x0472,
> -0x0474, 0x0474,
> -0x0476, 0x0476,
> -0x0478, 0x0478,
> -0x047a, 0x047a,
> -0x047c, 0x047c,
> -0x047e, 0x047e,
> -0x0480, 0x0480,
> -0x048a, 0x048a,
> -0x048c, 0x048c,
> -0x048e, 0x048e,
> -0x0490, 0x0490,
> -0x0492, 0x0492,
> -0x0494, 0x0494,
> -0x0496, 0x0496,
> -0x0498, 0x0498,
> -0x049a, 0x049a,
> -0x049c, 0x049c,
> -0x049e, 0x049e,
> -0x04a0, 0x04a0,
> -0x04a2, 0x04a2,
> -0x04a4, 0x04a4,
> -0x04a6, 0x04a6,
> -0x04a8, 0x04a8,
> -0x04aa, 0x04aa,
> -0x04ac, 0x04ac,
> -0x04ae, 0x04ae,
> -0x04b0, 0x04b0,
> -0x04b2, 0x04b2,
> -0x04b4, 0x04b4,
> -0x04b6, 0x04b6,
> -0x04b8, 0x04b8,
> -0x04ba, 0x04ba,
> -0x04bc, 0x04bc,
> -0x04be, 0x04be,
> -0x04c0, 0x04c1,
> -0x04c3, 0x04c3,
> -0x04c5, 0x04c5,
> -0x04c7, 0x04c7,
> -0x04c9, 0x04c9,
> -0x04cb, 0x04cb,
> -0x04cd, 0x04cd,
> -0x04d0, 0x04d0,
> -0x04d2, 0x04d2,
> -0x04d4, 0x04d4,
> -0x04d6, 0x04d6,
> -0x04d8, 0x04d8,
> -0x04da, 0x04da,
> -0x04dc, 0x04dc,
> -0x04de, 0x04de,
> -0x04e0, 0x04e0,
> -0x04e2, 0x04e2,
> -0x04e4, 0x04e4,
> -0x04e6, 0x04e6,
> -0x04e8, 0x04e8,
> -0x04ea, 0x04ea,
> -0x04ec, 0x04ec,
> -0x04ee, 0x04ee,
> -0x04f0, 0x04f0,
> -0x04f2, 0x04f2,
> -0x04f4, 0x04f4,
> -0x04f6, 0x04f6,
> -0x04f8, 0x04f8,
> -0x04fa, 0x04fa,
> -0x04fc, 0x04fc,
> -0x04fe, 0x04fe,
> -0x0500, 0x0500,
> -0x0502, 0x0502,
> -0x0504, 0x0504,
> -0x0506, 0x0506,
> -0x0508, 0x0508,
> -0x050a, 0x050a,
> -0x050c, 0x050c,
> -0x050e, 0x050e,
> -0x0510, 0x0510,
> -0x0512, 0x0512,
> -0x0514, 0x0514,
> -0x0516, 0x0516,
> -0x0518, 0x0518,
> -0x051a, 0x051a,
> -0x051c, 0x051c,
> -0x051e, 0x051e,
> -0x0520, 0x0520,
> -0x0522, 0x0522,
> -0x0524, 0x0524,
> -0x0526, 0x0526,
> -0x0528, 0x0528,
> -0x052a, 0x052a,
> -0x052c, 0x052c,
> -0x052e, 0x052e,
> -0x0531, 0x0556,
> -0x0587, 0x0587,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x13f8, 0x13fd,
> -0x1c80, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1e00, 0x1e00,
> -0x1e02, 0x1e02,
> -0x1e04, 0x1e04,
> -0x1e06, 0x1e06,
> -0x1e08, 0x1e08,
> -0x1e0a, 0x1e0a,
> -0x1e0c, 0x1e0c,
> -0x1e0e, 0x1e0e,
> -0x1e10, 0x1e10,
> -0x1e12, 0x1e12,
> -0x1e14, 0x1e14,
> -0x1e16, 0x1e16,
> -0x1e18, 0x1e18,
> -0x1e1a, 0x1e1a,
> -0x1e1c, 0x1e1c,
> -0x1e1e, 0x1e1e,
> -0x1e20, 0x1e20,
> -0x1e22, 0x1e22,
> -0x1e24, 0x1e24,
> -0x1e26, 0x1e26,
> -0x1e28, 0x1e28,
> -0x1e2a, 0x1e2a,
> -0x1e2c, 0x1e2c,
> -0x1e2e, 0x1e2e,
> -0x1e30, 0x1e30,
> -0x1e32, 0x1e32,
> -0x1e34, 0x1e34,
> -0x1e36, 0x1e36,
> -0x1e38, 0x1e38,
> -0x1e3a, 0x1e3a,
> -0x1e3c, 0x1e3c,
> -0x1e3e, 0x1e3e,
> -0x1e40, 0x1e40,
> -0x1e42, 0x1e42,
> -0x1e44, 0x1e44,
> -0x1e46, 0x1e46,
> -0x1e48, 0x1e48,
> -0x1e4a, 0x1e4a,
> -0x1e4c, 0x1e4c,
> -0x1e4e, 0x1e4e,
> -0x1e50, 0x1e50,
> -0x1e52, 0x1e52,
> -0x1e54, 0x1e54,
> -0x1e56, 0x1e56,
> -0x1e58, 0x1e58,
> -0x1e5a, 0x1e5a,
> -0x1e5c, 0x1e5c,
> -0x1e5e, 0x1e5e,
> -0x1e60, 0x1e60,
> -0x1e62, 0x1e62,
> -0x1e64, 0x1e64,
> -0x1e66, 0x1e66,
> -0x1e68, 0x1e68,
> -0x1e6a, 0x1e6a,
> -0x1e6c, 0x1e6c,
> -0x1e6e, 0x1e6e,
> -0x1e70, 0x1e70,
> -0x1e72, 0x1e72,
> -0x1e74, 0x1e74,
> -0x1e76, 0x1e76,
> -0x1e78, 0x1e78,
> -0x1e7a, 0x1e7a,
> -0x1e7c, 0x1e7c,
> -0x1e7e, 0x1e7e,
> -0x1e80, 0x1e80,
> -0x1e82, 0x1e82,
> -0x1e84, 0x1e84,
> -0x1e86, 0x1e86,
> -0x1e88, 0x1e88,
> -0x1e8a, 0x1e8a,
> -0x1e8c, 0x1e8c,
> -0x1e8e, 0x1e8e,
> -0x1e90, 0x1e90,
> -0x1e92, 0x1e92,
> -0x1e94, 0x1e94,
> -0x1e9a, 0x1e9b,
> -0x1e9e, 0x1e9e,
> -0x1ea0, 0x1ea0,
> -0x1ea2, 0x1ea2,
> -0x1ea4, 0x1ea4,
> -0x1ea6, 0x1ea6,
> -0x1ea8, 0x1ea8,
> -0x1eaa, 0x1eaa,
> -0x1eac, 0x1eac,
> -0x1eae, 0x1eae,
> -0x1eb0, 0x1eb0,
> -0x1eb2, 0x1eb2,
> -0x1eb4, 0x1eb4,
> -0x1eb6, 0x1eb6,
> -0x1eb8, 0x1eb8,
> -0x1eba, 0x1eba,
> -0x1ebc, 0x1ebc,
> -0x1ebe, 0x1ebe,
> -0x1ec0, 0x1ec0,
> -0x1ec2, 0x1ec2,
> -0x1ec4, 0x1ec4,
> -0x1ec6, 0x1ec6,
> -0x1ec8, 0x1ec8,
> -0x1eca, 0x1eca,
> -0x1ecc, 0x1ecc,
> -0x1ece, 0x1ece,
> -0x1ed0, 0x1ed0,
> -0x1ed2, 0x1ed2,
> -0x1ed4, 0x1ed4,
> -0x1ed6, 0x1ed6,
> -0x1ed8, 0x1ed8,
> -0x1eda, 0x1eda,
> -0x1edc, 0x1edc,
> -0x1ede, 0x1ede,
> -0x1ee0, 0x1ee0,
> -0x1ee2, 0x1ee2,
> -0x1ee4, 0x1ee4,
> -0x1ee6, 0x1ee6,
> -0x1ee8, 0x1ee8,
> -0x1eea, 0x1eea,
> -0x1eec, 0x1eec,
> -0x1eee, 0x1eee,
> -0x1ef0, 0x1ef0,
> -0x1ef2, 0x1ef2,
> -0x1ef4, 0x1ef4,
> -0x1ef6, 0x1ef6,
> -0x1ef8, 0x1ef8,
> -0x1efa, 0x1efa,
> -0x1efc, 0x1efc,
> -0x1efe, 0x1efe,
> -0x1f08, 0x1f0f,
> -0x1f18, 0x1f1d,
> -0x1f28, 0x1f2f,
> -0x1f38, 0x1f3f,
> -0x1f48, 0x1f4d,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f5f,
> -0x1f68, 0x1f6f,
> -0x1f80, 0x1faf,
> -0x1fb2, 0x1fb4,
> -0x1fb7, 0x1fbc,
> -0x1fc2, 0x1fc4,
> -0x1fc7, 0x1fcc,
> -0x1fd8, 0x1fdb,
> -0x1fe8, 0x1fec,
> -0x1ff2, 0x1ff4,
> -0x1ff7, 0x1ffc,
> -0x2126, 0x2126,
> -0x212a, 0x212b,
> -0x2132, 0x2132,
> -0x2160, 0x216f,
> -0x2183, 0x2183,
> -0x24b6, 0x24cf,
> -0x2c00, 0x2c2e,
> -0x2c60, 0x2c60,
> -0x2c62, 0x2c64,
> -0x2c67, 0x2c67,
> -0x2c69, 0x2c69,
> -0x2c6b, 0x2c6b,
> -0x2c6d, 0x2c70,
> -0x2c72, 0x2c72,
> -0x2c75, 0x2c75,
> -0x2c7e, 0x2c80,
> -0x2c82, 0x2c82,
> -0x2c84, 0x2c84,
> -0x2c86, 0x2c86,
> -0x2c88, 0x2c88,
> -0x2c8a, 0x2c8a,
> -0x2c8c, 0x2c8c,
> -0x2c8e, 0x2c8e,
> -0x2c90, 0x2c90,
> -0x2c92, 0x2c92,
> -0x2c94, 0x2c94,
> -0x2c96, 0x2c96,
> -0x2c98, 0x2c98,
> -0x2c9a, 0x2c9a,
> -0x2c9c, 0x2c9c,
> -0x2c9e, 0x2c9e,
> -0x2ca0, 0x2ca0,
> -0x2ca2, 0x2ca2,
> -0x2ca4, 0x2ca4,
> -0x2ca6, 0x2ca6,
> -0x2ca8, 0x2ca8,
> -0x2caa, 0x2caa,
> -0x2cac, 0x2cac,
> -0x2cae, 0x2cae,
> -0x2cb0, 0x2cb0,
> -0x2cb2, 0x2cb2,
> -0x2cb4, 0x2cb4,
> -0x2cb6, 0x2cb6,
> -0x2cb8, 0x2cb8,
> -0x2cba, 0x2cba,
> -0x2cbc, 0x2cbc,
> -0x2cbe, 0x2cbe,
> -0x2cc0, 0x2cc0,
> -0x2cc2, 0x2cc2,
> -0x2cc4, 0x2cc4,
> -0x2cc6, 0x2cc6,
> -0x2cc8, 0x2cc8,
> -0x2cca, 0x2cca,
> -0x2ccc, 0x2ccc,
> -0x2cce, 0x2cce,
> -0x2cd0, 0x2cd0,
> -0x2cd2, 0x2cd2,
> -0x2cd4, 0x2cd4,
> -0x2cd6, 0x2cd6,
> -0x2cd8, 0x2cd8,
> -0x2cda, 0x2cda,
> -0x2cdc, 0x2cdc,
> -0x2cde, 0x2cde,
> -0x2ce0, 0x2ce0,
> -0x2ce2, 0x2ce2,
> -0x2ceb, 0x2ceb,
> -0x2ced, 0x2ced,
> -0x2cf2, 0x2cf2,
> -0xa640, 0xa640,
> -0xa642, 0xa642,
> -0xa644, 0xa644,
> -0xa646, 0xa646,
> -0xa648, 0xa648,
> -0xa64a, 0xa64a,
> -0xa64c, 0xa64c,
> -0xa64e, 0xa64e,
> -0xa650, 0xa650,
> -0xa652, 0xa652,
> -0xa654, 0xa654,
> -0xa656, 0xa656,
> -0xa658, 0xa658,
> -0xa65a, 0xa65a,
> -0xa65c, 0xa65c,
> -0xa65e, 0xa65e,
> -0xa660, 0xa660,
> -0xa662, 0xa662,
> -0xa664, 0xa664,
> -0xa666, 0xa666,
> -0xa668, 0xa668,
> -0xa66a, 0xa66a,
> -0xa66c, 0xa66c,
> -0xa680, 0xa680,
> -0xa682, 0xa682,
> -0xa684, 0xa684,
> -0xa686, 0xa686,
> -0xa688, 0xa688,
> -0xa68a, 0xa68a,
> -0xa68c, 0xa68c,
> -0xa68e, 0xa68e,
> -0xa690, 0xa690,
> -0xa692, 0xa692,
> -0xa694, 0xa694,
> -0xa696, 0xa696,
> -0xa698, 0xa698,
> -0xa69a, 0xa69a,
> -0xa722, 0xa722,
> -0xa724, 0xa724,
> -0xa726, 0xa726,
> -0xa728, 0xa728,
> -0xa72a, 0xa72a,
> -0xa72c, 0xa72c,
> -0xa72e, 0xa72e,
> -0xa732, 0xa732,
> -0xa734, 0xa734,
> -0xa736, 0xa736,
> -0xa738, 0xa738,
> -0xa73a, 0xa73a,
> -0xa73c, 0xa73c,
> -0xa73e, 0xa73e,
> -0xa740, 0xa740,
> -0xa742, 0xa742,
> -0xa744, 0xa744,
> -0xa746, 0xa746,
> -0xa748, 0xa748,
> -0xa74a, 0xa74a,
> -0xa74c, 0xa74c,
> -0xa74e, 0xa74e,
> -0xa750, 0xa750,
> -0xa752, 0xa752,
> -0xa754, 0xa754,
> -0xa756, 0xa756,
> -0xa758, 0xa758,
> -0xa75a, 0xa75a,
> -0xa75c, 0xa75c,
> -0xa75e, 0xa75e,
> -0xa760, 0xa760,
> -0xa762, 0xa762,
> -0xa764, 0xa764,
> -0xa766, 0xa766,
> -0xa768, 0xa768,
> -0xa76a, 0xa76a,
> -0xa76c, 0xa76c,
> -0xa76e, 0xa76e,
> -0xa779, 0xa779,
> -0xa77b, 0xa77b,
> -0xa77d, 0xa77e,
> -0xa780, 0xa780,
> -0xa782, 0xa782,
> -0xa784, 0xa784,
> -0xa786, 0xa786,
> -0xa78b, 0xa78b,
> -0xa78d, 0xa78d,
> -0xa790, 0xa790,
> -0xa792, 0xa792,
> -0xa796, 0xa796,
> -0xa798, 0xa798,
> -0xa79a, 0xa79a,
> -0xa79c, 0xa79c,
> -0xa79e, 0xa79e,
> -0xa7a0, 0xa7a0,
> -0xa7a2, 0xa7a2,
> -0xa7a4, 0xa7a4,
> -0xa7a6, 0xa7a6,
> -0xa7a8, 0xa7a8,
> -0xa7aa, 0xa7ae,
> -0xa7b0, 0xa7b4,
> -0xa7b6, 0xa7b6,
> -0xa7b8, 0xa7b8,
> -0xa7ba, 0xa7ba,
> -0xa7bc, 0xa7bc,
> -0xa7be, 0xa7be,
> -0xa7c2, 0xa7c2,
> -0xa7c4, 0xa7c6,
> -0xab70, 0xabbf,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xff21, 0xff3a,
> -0x10400, 0x10427,
> -0x104b0, 0x104d3,
> -0x10c80, 0x10cb2,
> -0x118a0, 0x118bf,
> -0x16e40, 0x16e5f,
> -0x1e900, 0x1e921,
> -}; /* END of CR_Changes_When_Casefolded */
> -
> -/* PROPERTY: 'Changes_When_Casemapped': Derived Property */
> -static const OnigCodePoint
> -CR_Changes_When_Casemapped[] = { 123,
> -0x0041, 0x005a,
> -0x0061, 0x007a,
> -0x00b5, 0x00b5,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00f6,
> -0x00f8, 0x0137,
> -0x0139, 0x018c,
> -0x018e, 0x019a,
> -0x019c, 0x01a9,
> -0x01ac, 0x01b9,
> -0x01bc, 0x01bd,
> -0x01bf, 0x01bf,
> -0x01c4, 0x0220,
> -0x0222, 0x0233,
> -0x023a, 0x0254,
> -0x0256, 0x0257,
> -0x0259, 0x0259,
> -0x025b, 0x025c,
> -0x0260, 0x0261,
> -0x0263, 0x0263,
> -0x0265, 0x0266,
> -0x0268, 0x026c,
> -0x026f, 0x026f,
> -0x0271, 0x0272,
> -0x0275, 0x0275,
> -0x027d, 0x027d,
> -0x0280, 0x0280,
> -0x0282, 0x0283,
> -0x0287, 0x028c,
> -0x0292, 0x0292,
> -0x029d, 0x029e,
> -0x0345, 0x0345,
> -0x0370, 0x0373,
> -0x0376, 0x0377,
> -0x037b, 0x037d,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x03d1,
> -0x03d5, 0x03f5,
> -0x03f7, 0x03fb,
> -0x03fd, 0x0481,
> -0x048a, 0x052f,
> -0x0531, 0x0556,
> -0x0561, 0x0587,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x10fa,
> -0x10fd, 0x10ff,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1c80, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1d79, 0x1d79,
> -0x1d7d, 0x1d7d,
> -0x1d8e, 0x1d8e,
> -0x1e00, 0x1e9b,
> -0x1e9e, 0x1e9e,
> -0x1ea0, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fbc,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fcc,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fe0, 0x1fec,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffc,
> -0x2126, 0x2126,
> -0x212a, 0x212b,
> -0x2132, 0x2132,
> -0x214e, 0x214e,
> -0x2160, 0x217f,
> -0x2183, 0x2184,
> -0x24b6, 0x24e9,
> -0x2c00, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2c70,
> -0x2c72, 0x2c73,
> -0x2c75, 0x2c76,
> -0x2c7e, 0x2ce3,
> -0x2ceb, 0x2cee,
> -0x2cf2, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0xa640, 0xa66d,
> -0xa680, 0xa69b,
> -0xa722, 0xa72f,
> -0xa732, 0xa76f,
> -0xa779, 0xa787,
> -0xa78b, 0xa78d,
> -0xa790, 0xa794,
> -0xa796, 0xa7ae,
> -0xa7b0, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xab53, 0xab53,
> -0xab70, 0xabbf,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xff21, 0xff3a,
> -0xff41, 0xff5a,
> -0x10400, 0x1044f,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x118a0, 0x118df,
> -0x16e40, 0x16e7f,
> -0x1e900, 0x1e943,
> -}; /* END of CR_Changes_When_Casemapped */
> -
> -/* PROPERTY: 'Changes_When_Lowercased': Derived Property */
> -static const OnigCodePoint
> -CR_Changes_When_Lowercased[] = { 599,
> -0x0041, 0x005a,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00de,
> -0x0100, 0x0100,
> -0x0102, 0x0102,
> -0x0104, 0x0104,
> -0x0106, 0x0106,
> -0x0108, 0x0108,
> -0x010a, 0x010a,
> -0x010c, 0x010c,
> -0x010e, 0x010e,
> -0x0110, 0x0110,
> -0x0112, 0x0112,
> -0x0114, 0x0114,
> -0x0116, 0x0116,
> -0x0118, 0x0118,
> -0x011a, 0x011a,
> -0x011c, 0x011c,
> -0x011e, 0x011e,
> -0x0120, 0x0120,
> -0x0122, 0x0122,
> -0x0124, 0x0124,
> -0x0126, 0x0126,
> -0x0128, 0x0128,
> -0x012a, 0x012a,
> -0x012c, 0x012c,
> -0x012e, 0x012e,
> -0x0130, 0x0130,
> -0x0132, 0x0132,
> -0x0134, 0x0134,
> -0x0136, 0x0136,
> -0x0139, 0x0139,
> -0x013b, 0x013b,
> -0x013d, 0x013d,
> -0x013f, 0x013f,
> -0x0141, 0x0141,
> -0x0143, 0x0143,
> -0x0145, 0x0145,
> -0x0147, 0x0147,
> -0x014a, 0x014a,
> -0x014c, 0x014c,
> -0x014e, 0x014e,
> -0x0150, 0x0150,
> -0x0152, 0x0152,
> -0x0154, 0x0154,
> -0x0156, 0x0156,
> -0x0158, 0x0158,
> -0x015a, 0x015a,
> -0x015c, 0x015c,
> -0x015e, 0x015e,
> -0x0160, 0x0160,
> -0x0162, 0x0162,
> -0x0164, 0x0164,
> -0x0166, 0x0166,
> -0x0168, 0x0168,
> -0x016a, 0x016a,
> -0x016c, 0x016c,
> -0x016e, 0x016e,
> -0x0170, 0x0170,
> -0x0172, 0x0172,
> -0x0174, 0x0174,
> -0x0176, 0x0176,
> -0x0178, 0x0179,
> -0x017b, 0x017b,
> -0x017d, 0x017d,
> -0x0181, 0x0182,
> -0x0184, 0x0184,
> -0x0186, 0x0187,
> -0x0189, 0x018b,
> -0x018e, 0x0191,
> -0x0193, 0x0194,
> -0x0196, 0x0198,
> -0x019c, 0x019d,
> -0x019f, 0x01a0,
> -0x01a2, 0x01a2,
> -0x01a4, 0x01a4,
> -0x01a6, 0x01a7,
> -0x01a9, 0x01a9,
> -0x01ac, 0x01ac,
> -0x01ae, 0x01af,
> -0x01b1, 0x01b3,
> -0x01b5, 0x01b5,
> -0x01b7, 0x01b8,
> -0x01bc, 0x01bc,
> -0x01c4, 0x01c5,
> -0x01c7, 0x01c8,
> -0x01ca, 0x01cb,
> -0x01cd, 0x01cd,
> -0x01cf, 0x01cf,
> -0x01d1, 0x01d1,
> -0x01d3, 0x01d3,
> -0x01d5, 0x01d5,
> -0x01d7, 0x01d7,
> -0x01d9, 0x01d9,
> -0x01db, 0x01db,
> -0x01de, 0x01de,
> -0x01e0, 0x01e0,
> -0x01e2, 0x01e2,
> -0x01e4, 0x01e4,
> -0x01e6, 0x01e6,
> -0x01e8, 0x01e8,
> -0x01ea, 0x01ea,
> -0x01ec, 0x01ec,
> -0x01ee, 0x01ee,
> -0x01f1, 0x01f2,
> -0x01f4, 0x01f4,
> -0x01f6, 0x01f8,
> -0x01fa, 0x01fa,
> -0x01fc, 0x01fc,
> -0x01fe, 0x01fe,
> -0x0200, 0x0200,
> -0x0202, 0x0202,
> -0x0204, 0x0204,
> -0x0206, 0x0206,
> -0x0208, 0x0208,
> -0x020a, 0x020a,
> -0x020c, 0x020c,
> -0x020e, 0x020e,
> -0x0210, 0x0210,
> -0x0212, 0x0212,
> -0x0214, 0x0214,
> -0x0216, 0x0216,
> -0x0218, 0x0218,
> -0x021a, 0x021a,
> -0x021c, 0x021c,
> -0x021e, 0x021e,
> -0x0220, 0x0220,
> -0x0222, 0x0222,
> -0x0224, 0x0224,
> -0x0226, 0x0226,
> -0x0228, 0x0228,
> -0x022a, 0x022a,
> -0x022c, 0x022c,
> -0x022e, 0x022e,
> -0x0230, 0x0230,
> -0x0232, 0x0232,
> -0x023a, 0x023b,
> -0x023d, 0x023e,
> -0x0241, 0x0241,
> -0x0243, 0x0246,
> -0x0248, 0x0248,
> -0x024a, 0x024a,
> -0x024c, 0x024c,
> -0x024e, 0x024e,
> -0x0370, 0x0370,
> -0x0372, 0x0372,
> -0x0376, 0x0376,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x038f,
> -0x0391, 0x03a1,
> -0x03a3, 0x03ab,
> -0x03cf, 0x03cf,
> -0x03d8, 0x03d8,
> -0x03da, 0x03da,
> -0x03dc, 0x03dc,
> -0x03de, 0x03de,
> -0x03e0, 0x03e0,
> -0x03e2, 0x03e2,
> -0x03e4, 0x03e4,
> -0x03e6, 0x03e6,
> -0x03e8, 0x03e8,
> -0x03ea, 0x03ea,
> -0x03ec, 0x03ec,
> -0x03ee, 0x03ee,
> -0x03f4, 0x03f4,
> -0x03f7, 0x03f7,
> -0x03f9, 0x03fa,
> -0x03fd, 0x042f,
> -0x0460, 0x0460,
> -0x0462, 0x0462,
> -0x0464, 0x0464,
> -0x0466, 0x0466,
> -0x0468, 0x0468,
> -0x046a, 0x046a,
> -0x046c, 0x046c,
> -0x046e, 0x046e,
> -0x0470, 0x0470,
> -0x0472, 0x0472,
> -0x0474, 0x0474,
> -0x0476, 0x0476,
> -0x0478, 0x0478,
> -0x047a, 0x047a,
> -0x047c, 0x047c,
> -0x047e, 0x047e,
> -0x0480, 0x0480,
> -0x048a, 0x048a,
> -0x048c, 0x048c,
> -0x048e, 0x048e,
> -0x0490, 0x0490,
> -0x0492, 0x0492,
> -0x0494, 0x0494,
> -0x0496, 0x0496,
> -0x0498, 0x0498,
> -0x049a, 0x049a,
> -0x049c, 0x049c,
> -0x049e, 0x049e,
> -0x04a0, 0x04a0,
> -0x04a2, 0x04a2,
> -0x04a4, 0x04a4,
> -0x04a6, 0x04a6,
> -0x04a8, 0x04a8,
> -0x04aa, 0x04aa,
> -0x04ac, 0x04ac,
> -0x04ae, 0x04ae,
> -0x04b0, 0x04b0,
> -0x04b2, 0x04b2,
> -0x04b4, 0x04b4,
> -0x04b6, 0x04b6,
> -0x04b8, 0x04b8,
> -0x04ba, 0x04ba,
> -0x04bc, 0x04bc,
> -0x04be, 0x04be,
> -0x04c0, 0x04c1,
> -0x04c3, 0x04c3,
> -0x04c5, 0x04c5,
> -0x04c7, 0x04c7,
> -0x04c9, 0x04c9,
> -0x04cb, 0x04cb,
> -0x04cd, 0x04cd,
> -0x04d0, 0x04d0,
> -0x04d2, 0x04d2,
> -0x04d4, 0x04d4,
> -0x04d6, 0x04d6,
> -0x04d8, 0x04d8,
> -0x04da, 0x04da,
> -0x04dc, 0x04dc,
> -0x04de, 0x04de,
> -0x04e0, 0x04e0,
> -0x04e2, 0x04e2,
> -0x04e4, 0x04e4,
> -0x04e6, 0x04e6,
> -0x04e8, 0x04e8,
> -0x04ea, 0x04ea,
> -0x04ec, 0x04ec,
> -0x04ee, 0x04ee,
> -0x04f0, 0x04f0,
> -0x04f2, 0x04f2,
> -0x04f4, 0x04f4,
> -0x04f6, 0x04f6,
> -0x04f8, 0x04f8,
> -0x04fa, 0x04fa,
> -0x04fc, 0x04fc,
> -0x04fe, 0x04fe,
> -0x0500, 0x0500,
> -0x0502, 0x0502,
> -0x0504, 0x0504,
> -0x0506, 0x0506,
> -0x0508, 0x0508,
> -0x050a, 0x050a,
> -0x050c, 0x050c,
> -0x050e, 0x050e,
> -0x0510, 0x0510,
> -0x0512, 0x0512,
> -0x0514, 0x0514,
> -0x0516, 0x0516,
> -0x0518, 0x0518,
> -0x051a, 0x051a,
> -0x051c, 0x051c,
> -0x051e, 0x051e,
> -0x0520, 0x0520,
> -0x0522, 0x0522,
> -0x0524, 0x0524,
> -0x0526, 0x0526,
> -0x0528, 0x0528,
> -0x052a, 0x052a,
> -0x052c, 0x052c,
> -0x052e, 0x052e,
> -0x0531, 0x0556,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x13a0, 0x13f5,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1e00, 0x1e00,
> -0x1e02, 0x1e02,
> -0x1e04, 0x1e04,
> -0x1e06, 0x1e06,
> -0x1e08, 0x1e08,
> -0x1e0a, 0x1e0a,
> -0x1e0c, 0x1e0c,
> -0x1e0e, 0x1e0e,
> -0x1e10, 0x1e10,
> -0x1e12, 0x1e12,
> -0x1e14, 0x1e14,
> -0x1e16, 0x1e16,
> -0x1e18, 0x1e18,
> -0x1e1a, 0x1e1a,
> -0x1e1c, 0x1e1c,
> -0x1e1e, 0x1e1e,
> -0x1e20, 0x1e20,
> -0x1e22, 0x1e22,
> -0x1e24, 0x1e24,
> -0x1e26, 0x1e26,
> -0x1e28, 0x1e28,
> -0x1e2a, 0x1e2a,
> -0x1e2c, 0x1e2c,
> -0x1e2e, 0x1e2e,
> -0x1e30, 0x1e30,
> -0x1e32, 0x1e32,
> -0x1e34, 0x1e34,
> -0x1e36, 0x1e36,
> -0x1e38, 0x1e38,
> -0x1e3a, 0x1e3a,
> -0x1e3c, 0x1e3c,
> -0x1e3e, 0x1e3e,
> -0x1e40, 0x1e40,
> -0x1e42, 0x1e42,
> -0x1e44, 0x1e44,
> -0x1e46, 0x1e46,
> -0x1e48, 0x1e48,
> -0x1e4a, 0x1e4a,
> -0x1e4c, 0x1e4c,
> -0x1e4e, 0x1e4e,
> -0x1e50, 0x1e50,
> -0x1e52, 0x1e52,
> -0x1e54, 0x1e54,
> -0x1e56, 0x1e56,
> -0x1e58, 0x1e58,
> -0x1e5a, 0x1e5a,
> -0x1e5c, 0x1e5c,
> -0x1e5e, 0x1e5e,
> -0x1e60, 0x1e60,
> -0x1e62, 0x1e62,
> -0x1e64, 0x1e64,
> -0x1e66, 0x1e66,
> -0x1e68, 0x1e68,
> -0x1e6a, 0x1e6a,
> -0x1e6c, 0x1e6c,
> -0x1e6e, 0x1e6e,
> -0x1e70, 0x1e70,
> -0x1e72, 0x1e72,
> -0x1e74, 0x1e74,
> -0x1e76, 0x1e76,
> -0x1e78, 0x1e78,
> -0x1e7a, 0x1e7a,
> -0x1e7c, 0x1e7c,
> -0x1e7e, 0x1e7e,
> -0x1e80, 0x1e80,
> -0x1e82, 0x1e82,
> -0x1e84, 0x1e84,
> -0x1e86, 0x1e86,
> -0x1e88, 0x1e88,
> -0x1e8a, 0x1e8a,
> -0x1e8c, 0x1e8c,
> -0x1e8e, 0x1e8e,
> -0x1e90, 0x1e90,
> -0x1e92, 0x1e92,
> -0x1e94, 0x1e94,
> -0x1e9e, 0x1e9e,
> -0x1ea0, 0x1ea0,
> -0x1ea2, 0x1ea2,
> -0x1ea4, 0x1ea4,
> -0x1ea6, 0x1ea6,
> -0x1ea8, 0x1ea8,
> -0x1eaa, 0x1eaa,
> -0x1eac, 0x1eac,
> -0x1eae, 0x1eae,
> -0x1eb0, 0x1eb0,
> -0x1eb2, 0x1eb2,
> -0x1eb4, 0x1eb4,
> -0x1eb6, 0x1eb6,
> -0x1eb8, 0x1eb8,
> -0x1eba, 0x1eba,
> -0x1ebc, 0x1ebc,
> -0x1ebe, 0x1ebe,
> -0x1ec0, 0x1ec0,
> -0x1ec2, 0x1ec2,
> -0x1ec4, 0x1ec4,
> -0x1ec6, 0x1ec6,
> -0x1ec8, 0x1ec8,
> -0x1eca, 0x1eca,
> -0x1ecc, 0x1ecc,
> -0x1ece, 0x1ece,
> -0x1ed0, 0x1ed0,
> -0x1ed2, 0x1ed2,
> -0x1ed4, 0x1ed4,
> -0x1ed6, 0x1ed6,
> -0x1ed8, 0x1ed8,
> -0x1eda, 0x1eda,
> -0x1edc, 0x1edc,
> -0x1ede, 0x1ede,
> -0x1ee0, 0x1ee0,
> -0x1ee2, 0x1ee2,
> -0x1ee4, 0x1ee4,
> -0x1ee6, 0x1ee6,
> -0x1ee8, 0x1ee8,
> -0x1eea, 0x1eea,
> -0x1eec, 0x1eec,
> -0x1eee, 0x1eee,
> -0x1ef0, 0x1ef0,
> -0x1ef2, 0x1ef2,
> -0x1ef4, 0x1ef4,
> -0x1ef6, 0x1ef6,
> -0x1ef8, 0x1ef8,
> -0x1efa, 0x1efa,
> -0x1efc, 0x1efc,
> -0x1efe, 0x1efe,
> -0x1f08, 0x1f0f,
> -0x1f18, 0x1f1d,
> -0x1f28, 0x1f2f,
> -0x1f38, 0x1f3f,
> -0x1f48, 0x1f4d,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f5f,
> -0x1f68, 0x1f6f,
> -0x1f88, 0x1f8f,
> -0x1f98, 0x1f9f,
> -0x1fa8, 0x1faf,
> -0x1fb8, 0x1fbc,
> -0x1fc8, 0x1fcc,
> -0x1fd8, 0x1fdb,
> -0x1fe8, 0x1fec,
> -0x1ff8, 0x1ffc,
> -0x2126, 0x2126,
> -0x212a, 0x212b,
> -0x2132, 0x2132,
> -0x2160, 0x216f,
> -0x2183, 0x2183,
> -0x24b6, 0x24cf,
> -0x2c00, 0x2c2e,
> -0x2c60, 0x2c60,
> -0x2c62, 0x2c64,
> -0x2c67, 0x2c67,
> -0x2c69, 0x2c69,
> -0x2c6b, 0x2c6b,
> -0x2c6d, 0x2c70,
> -0x2c72, 0x2c72,
> -0x2c75, 0x2c75,
> -0x2c7e, 0x2c80,
> -0x2c82, 0x2c82,
> -0x2c84, 0x2c84,
> -0x2c86, 0x2c86,
> -0x2c88, 0x2c88,
> -0x2c8a, 0x2c8a,
> -0x2c8c, 0x2c8c,
> -0x2c8e, 0x2c8e,
> -0x2c90, 0x2c90,
> -0x2c92, 0x2c92,
> -0x2c94, 0x2c94,
> -0x2c96, 0x2c96,
> -0x2c98, 0x2c98,
> -0x2c9a, 0x2c9a,
> -0x2c9c, 0x2c9c,
> -0x2c9e, 0x2c9e,
> -0x2ca0, 0x2ca0,
> -0x2ca2, 0x2ca2,
> -0x2ca4, 0x2ca4,
> -0x2ca6, 0x2ca6,
> -0x2ca8, 0x2ca8,
> -0x2caa, 0x2caa,
> -0x2cac, 0x2cac,
> -0x2cae, 0x2cae,
> -0x2cb0, 0x2cb0,
> -0x2cb2, 0x2cb2,
> -0x2cb4, 0x2cb4,
> -0x2cb6, 0x2cb6,
> -0x2cb8, 0x2cb8,
> -0x2cba, 0x2cba,
> -0x2cbc, 0x2cbc,
> -0x2cbe, 0x2cbe,
> -0x2cc0, 0x2cc0,
> -0x2cc2, 0x2cc2,
> -0x2cc4, 0x2cc4,
> -0x2cc6, 0x2cc6,
> -0x2cc8, 0x2cc8,
> -0x2cca, 0x2cca,
> -0x2ccc, 0x2ccc,
> -0x2cce, 0x2cce,
> -0x2cd0, 0x2cd0,
> -0x2cd2, 0x2cd2,
> -0x2cd4, 0x2cd4,
> -0x2cd6, 0x2cd6,
> -0x2cd8, 0x2cd8,
> -0x2cda, 0x2cda,
> -0x2cdc, 0x2cdc,
> -0x2cde, 0x2cde,
> -0x2ce0, 0x2ce0,
> -0x2ce2, 0x2ce2,
> -0x2ceb, 0x2ceb,
> -0x2ced, 0x2ced,
> -0x2cf2, 0x2cf2,
> -0xa640, 0xa640,
> -0xa642, 0xa642,
> -0xa644, 0xa644,
> -0xa646, 0xa646,
> -0xa648, 0xa648,
> -0xa64a, 0xa64a,
> -0xa64c, 0xa64c,
> -0xa64e, 0xa64e,
> -0xa650, 0xa650,
> -0xa652, 0xa652,
> -0xa654, 0xa654,
> -0xa656, 0xa656,
> -0xa658, 0xa658,
> -0xa65a, 0xa65a,
> -0xa65c, 0xa65c,
> -0xa65e, 0xa65e,
> -0xa660, 0xa660,
> -0xa662, 0xa662,
> -0xa664, 0xa664,
> -0xa666, 0xa666,
> -0xa668, 0xa668,
> -0xa66a, 0xa66a,
> -0xa66c, 0xa66c,
> -0xa680, 0xa680,
> -0xa682, 0xa682,
> -0xa684, 0xa684,
> -0xa686, 0xa686,
> -0xa688, 0xa688,
> -0xa68a, 0xa68a,
> -0xa68c, 0xa68c,
> -0xa68e, 0xa68e,
> -0xa690, 0xa690,
> -0xa692, 0xa692,
> -0xa694, 0xa694,
> -0xa696, 0xa696,
> -0xa698, 0xa698,
> -0xa69a, 0xa69a,
> -0xa722, 0xa722,
> -0xa724, 0xa724,
> -0xa726, 0xa726,
> -0xa728, 0xa728,
> -0xa72a, 0xa72a,
> -0xa72c, 0xa72c,
> -0xa72e, 0xa72e,
> -0xa732, 0xa732,
> -0xa734, 0xa734,
> -0xa736, 0xa736,
> -0xa738, 0xa738,
> -0xa73a, 0xa73a,
> -0xa73c, 0xa73c,
> -0xa73e, 0xa73e,
> -0xa740, 0xa740,
> -0xa742, 0xa742,
> -0xa744, 0xa744,
> -0xa746, 0xa746,
> -0xa748, 0xa748,
> -0xa74a, 0xa74a,
> -0xa74c, 0xa74c,
> -0xa74e, 0xa74e,
> -0xa750, 0xa750,
> -0xa752, 0xa752,
> -0xa754, 0xa754,
> -0xa756, 0xa756,
> -0xa758, 0xa758,
> -0xa75a, 0xa75a,
> -0xa75c, 0xa75c,
> -0xa75e, 0xa75e,
> -0xa760, 0xa760,
> -0xa762, 0xa762,
> -0xa764, 0xa764,
> -0xa766, 0xa766,
> -0xa768, 0xa768,
> -0xa76a, 0xa76a,
> -0xa76c, 0xa76c,
> -0xa76e, 0xa76e,
> -0xa779, 0xa779,
> -0xa77b, 0xa77b,
> -0xa77d, 0xa77e,
> -0xa780, 0xa780,
> -0xa782, 0xa782,
> -0xa784, 0xa784,
> -0xa786, 0xa786,
> -0xa78b, 0xa78b,
> -0xa78d, 0xa78d,
> -0xa790, 0xa790,
> -0xa792, 0xa792,
> -0xa796, 0xa796,
> -0xa798, 0xa798,
> -0xa79a, 0xa79a,
> -0xa79c, 0xa79c,
> -0xa79e, 0xa79e,
> -0xa7a0, 0xa7a0,
> -0xa7a2, 0xa7a2,
> -0xa7a4, 0xa7a4,
> -0xa7a6, 0xa7a6,
> -0xa7a8, 0xa7a8,
> -0xa7aa, 0xa7ae,
> -0xa7b0, 0xa7b4,
> -0xa7b6, 0xa7b6,
> -0xa7b8, 0xa7b8,
> -0xa7ba, 0xa7ba,
> -0xa7bc, 0xa7bc,
> -0xa7be, 0xa7be,
> -0xa7c2, 0xa7c2,
> -0xa7c4, 0xa7c6,
> -0xff21, 0xff3a,
> -0x10400, 0x10427,
> -0x104b0, 0x104d3,
> -0x10c80, 0x10cb2,
> -0x118a0, 0x118bf,
> -0x16e40, 0x16e5f,
> -0x1e900, 0x1e921,
> -}; /* END of CR_Changes_When_Lowercased */
> -
> -/* PROPERTY: 'Changes_When_Titlecased': Derived Property */
> -static const OnigCodePoint
> -CR_Changes_When_Titlecased[] = { 615,
> -0x0061, 0x007a,
> -0x00b5, 0x00b5,
> -0x00df, 0x00f6,
> -0x00f8, 0x00ff,
> -0x0101, 0x0101,
> -0x0103, 0x0103,
> -0x0105, 0x0105,
> -0x0107, 0x0107,
> -0x0109, 0x0109,
> -0x010b, 0x010b,
> -0x010d, 0x010d,
> -0x010f, 0x010f,
> -0x0111, 0x0111,
> -0x0113, 0x0113,
> -0x0115, 0x0115,
> -0x0117, 0x0117,
> -0x0119, 0x0119,
> -0x011b, 0x011b,
> -0x011d, 0x011d,
> -0x011f, 0x011f,
> -0x0121, 0x0121,
> -0x0123, 0x0123,
> -0x0125, 0x0125,
> -0x0127, 0x0127,
> -0x0129, 0x0129,
> -0x012b, 0x012b,
> -0x012d, 0x012d,
> -0x012f, 0x012f,
> -0x0131, 0x0131,
> -0x0133, 0x0133,
> -0x0135, 0x0135,
> -0x0137, 0x0137,
> -0x013a, 0x013a,
> -0x013c, 0x013c,
> -0x013e, 0x013e,
> -0x0140, 0x0140,
> -0x0142, 0x0142,
> -0x0144, 0x0144,
> -0x0146, 0x0146,
> -0x0148, 0x0149,
> -0x014b, 0x014b,
> -0x014d, 0x014d,
> -0x014f, 0x014f,
> -0x0151, 0x0151,
> -0x0153, 0x0153,
> -0x0155, 0x0155,
> -0x0157, 0x0157,
> -0x0159, 0x0159,
> -0x015b, 0x015b,
> -0x015d, 0x015d,
> -0x015f, 0x015f,
> -0x0161, 0x0161,
> -0x0163, 0x0163,
> -0x0165, 0x0165,
> -0x0167, 0x0167,
> -0x0169, 0x0169,
> -0x016b, 0x016b,
> -0x016d, 0x016d,
> -0x016f, 0x016f,
> -0x0171, 0x0171,
> -0x0173, 0x0173,
> -0x0175, 0x0175,
> -0x0177, 0x0177,
> -0x017a, 0x017a,
> -0x017c, 0x017c,
> -0x017e, 0x0180,
> -0x0183, 0x0183,
> -0x0185, 0x0185,
> -0x0188, 0x0188,
> -0x018c, 0x018c,
> -0x0192, 0x0192,
> -0x0195, 0x0195,
> -0x0199, 0x019a,
> -0x019e, 0x019e,
> -0x01a1, 0x01a1,
> -0x01a3, 0x01a3,
> -0x01a5, 0x01a5,
> -0x01a8, 0x01a8,
> -0x01ad, 0x01ad,
> -0x01b0, 0x01b0,
> -0x01b4, 0x01b4,
> -0x01b6, 0x01b6,
> -0x01b9, 0x01b9,
> -0x01bd, 0x01bd,
> -0x01bf, 0x01bf,
> -0x01c4, 0x01c4,
> -0x01c6, 0x01c7,
> -0x01c9, 0x01ca,
> -0x01cc, 0x01cc,
> -0x01ce, 0x01ce,
> -0x01d0, 0x01d0,
> -0x01d2, 0x01d2,
> -0x01d4, 0x01d4,
> -0x01d6, 0x01d6,
> -0x01d8, 0x01d8,
> -0x01da, 0x01da,
> -0x01dc, 0x01dd,
> -0x01df, 0x01df,
> -0x01e1, 0x01e1,
> -0x01e3, 0x01e3,
> -0x01e5, 0x01e5,
> -0x01e7, 0x01e7,
> -0x01e9, 0x01e9,
> -0x01eb, 0x01eb,
> -0x01ed, 0x01ed,
> -0x01ef, 0x01f1,
> -0x01f3, 0x01f3,
> -0x01f5, 0x01f5,
> -0x01f9, 0x01f9,
> -0x01fb, 0x01fb,
> -0x01fd, 0x01fd,
> -0x01ff, 0x01ff,
> -0x0201, 0x0201,
> -0x0203, 0x0203,
> -0x0205, 0x0205,
> -0x0207, 0x0207,
> -0x0209, 0x0209,
> -0x020b, 0x020b,
> -0x020d, 0x020d,
> -0x020f, 0x020f,
> -0x0211, 0x0211,
> -0x0213, 0x0213,
> -0x0215, 0x0215,
> -0x0217, 0x0217,
> -0x0219, 0x0219,
> -0x021b, 0x021b,
> -0x021d, 0x021d,
> -0x021f, 0x021f,
> -0x0223, 0x0223,
> -0x0225, 0x0225,
> -0x0227, 0x0227,
> -0x0229, 0x0229,
> -0x022b, 0x022b,
> -0x022d, 0x022d,
> -0x022f, 0x022f,
> -0x0231, 0x0231,
> -0x0233, 0x0233,
> -0x023c, 0x023c,
> -0x023f, 0x0240,
> -0x0242, 0x0242,
> -0x0247, 0x0247,
> -0x0249, 0x0249,
> -0x024b, 0x024b,
> -0x024d, 0x024d,
> -0x024f, 0x0254,
> -0x0256, 0x0257,
> -0x0259, 0x0259,
> -0x025b, 0x025c,
> -0x0260, 0x0261,
> -0x0263, 0x0263,
> -0x0265, 0x0266,
> -0x0268, 0x026c,
> -0x026f, 0x026f,
> -0x0271, 0x0272,
> -0x0275, 0x0275,
> -0x027d, 0x027d,
> -0x0280, 0x0280,
> -0x0282, 0x0283,
> -0x0287, 0x028c,
> -0x0292, 0x0292,
> -0x029d, 0x029e,
> -0x0345, 0x0345,
> -0x0371, 0x0371,
> -0x0373, 0x0373,
> -0x0377, 0x0377,
> -0x037b, 0x037d,
> -0x0390, 0x0390,
> -0x03ac, 0x03ce,
> -0x03d0, 0x03d1,
> -0x03d5, 0x03d7,
> -0x03d9, 0x03d9,
> -0x03db, 0x03db,
> -0x03dd, 0x03dd,
> -0x03df, 0x03df,
> -0x03e1, 0x03e1,
> -0x03e3, 0x03e3,
> -0x03e5, 0x03e5,
> -0x03e7, 0x03e7,
> -0x03e9, 0x03e9,
> -0x03eb, 0x03eb,
> -0x03ed, 0x03ed,
> -0x03ef, 0x03f3,
> -0x03f5, 0x03f5,
> -0x03f8, 0x03f8,
> -0x03fb, 0x03fb,
> -0x0430, 0x045f,
> -0x0461, 0x0461,
> -0x0463, 0x0463,
> -0x0465, 0x0465,
> -0x0467, 0x0467,
> -0x0469, 0x0469,
> -0x046b, 0x046b,
> -0x046d, 0x046d,
> -0x046f, 0x046f,
> -0x0471, 0x0471,
> -0x0473, 0x0473,
> -0x0475, 0x0475,
> -0x0477, 0x0477,
> -0x0479, 0x0479,
> -0x047b, 0x047b,
> -0x047d, 0x047d,
> -0x047f, 0x047f,
> -0x0481, 0x0481,
> -0x048b, 0x048b,
> -0x048d, 0x048d,
> -0x048f, 0x048f,
> -0x0491, 0x0491,
> -0x0493, 0x0493,
> -0x0495, 0x0495,
> -0x0497, 0x0497,
> -0x0499, 0x0499,
> -0x049b, 0x049b,
> -0x049d, 0x049d,
> -0x049f, 0x049f,
> -0x04a1, 0x04a1,
> -0x04a3, 0x04a3,
> -0x04a5, 0x04a5,
> -0x04a7, 0x04a7,
> -0x04a9, 0x04a9,
> -0x04ab, 0x04ab,
> -0x04ad, 0x04ad,
> -0x04af, 0x04af,
> -0x04b1, 0x04b1,
> -0x04b3, 0x04b3,
> -0x04b5, 0x04b5,
> -0x04b7, 0x04b7,
> -0x04b9, 0x04b9,
> -0x04bb, 0x04bb,
> -0x04bd, 0x04bd,
> -0x04bf, 0x04bf,
> -0x04c2, 0x04c2,
> -0x04c4, 0x04c4,
> -0x04c6, 0x04c6,
> -0x04c8, 0x04c8,
> -0x04ca, 0x04ca,
> -0x04cc, 0x04cc,
> -0x04ce, 0x04cf,
> -0x04d1, 0x04d1,
> -0x04d3, 0x04d3,
> -0x04d5, 0x04d5,
> -0x04d7, 0x04d7,
> -0x04d9, 0x04d9,
> -0x04db, 0x04db,
> -0x04dd, 0x04dd,
> -0x04df, 0x04df,
> -0x04e1, 0x04e1,
> -0x04e3, 0x04e3,
> -0x04e5, 0x04e5,
> -0x04e7, 0x04e7,
> -0x04e9, 0x04e9,
> -0x04eb, 0x04eb,
> -0x04ed, 0x04ed,
> -0x04ef, 0x04ef,
> -0x04f1, 0x04f1,
> -0x04f3, 0x04f3,
> -0x04f5, 0x04f5,
> -0x04f7, 0x04f7,
> -0x04f9, 0x04f9,
> -0x04fb, 0x04fb,
> -0x04fd, 0x04fd,
> -0x04ff, 0x04ff,
> -0x0501, 0x0501,
> -0x0503, 0x0503,
> -0x0505, 0x0505,
> -0x0507, 0x0507,
> -0x0509, 0x0509,
> -0x050b, 0x050b,
> -0x050d, 0x050d,
> -0x050f, 0x050f,
> -0x0511, 0x0511,
> -0x0513, 0x0513,
> -0x0515, 0x0515,
> -0x0517, 0x0517,
> -0x0519, 0x0519,
> -0x051b, 0x051b,
> -0x051d, 0x051d,
> -0x051f, 0x051f,
> -0x0521, 0x0521,
> -0x0523, 0x0523,
> -0x0525, 0x0525,
> -0x0527, 0x0527,
> -0x0529, 0x0529,
> -0x052b, 0x052b,
> -0x052d, 0x052d,
> -0x052f, 0x052f,
> -0x0561, 0x0587,
> -0x13f8, 0x13fd,
> -0x1c80, 0x1c88,
> -0x1d79, 0x1d79,
> -0x1d7d, 0x1d7d,
> -0x1d8e, 0x1d8e,
> -0x1e01, 0x1e01,
> -0x1e03, 0x1e03,
> -0x1e05, 0x1e05,
> -0x1e07, 0x1e07,
> -0x1e09, 0x1e09,
> -0x1e0b, 0x1e0b,
> -0x1e0d, 0x1e0d,
> -0x1e0f, 0x1e0f,
> -0x1e11, 0x1e11,
> -0x1e13, 0x1e13,
> -0x1e15, 0x1e15,
> -0x1e17, 0x1e17,
> -0x1e19, 0x1e19,
> -0x1e1b, 0x1e1b,
> -0x1e1d, 0x1e1d,
> -0x1e1f, 0x1e1f,
> -0x1e21, 0x1e21,
> -0x1e23, 0x1e23,
> -0x1e25, 0x1e25,
> -0x1e27, 0x1e27,
> -0x1e29, 0x1e29,
> -0x1e2b, 0x1e2b,
> -0x1e2d, 0x1e2d,
> -0x1e2f, 0x1e2f,
> -0x1e31, 0x1e31,
> -0x1e33, 0x1e33,
> -0x1e35, 0x1e35,
> -0x1e37, 0x1e37,
> -0x1e39, 0x1e39,
> -0x1e3b, 0x1e3b,
> -0x1e3d, 0x1e3d,
> -0x1e3f, 0x1e3f,
> -0x1e41, 0x1e41,
> -0x1e43, 0x1e43,
> -0x1e45, 0x1e45,
> -0x1e47, 0x1e47,
> -0x1e49, 0x1e49,
> -0x1e4b, 0x1e4b,
> -0x1e4d, 0x1e4d,
> -0x1e4f, 0x1e4f,
> -0x1e51, 0x1e51,
> -0x1e53, 0x1e53,
> -0x1e55, 0x1e55,
> -0x1e57, 0x1e57,
> -0x1e59, 0x1e59,
> -0x1e5b, 0x1e5b,
> -0x1e5d, 0x1e5d,
> -0x1e5f, 0x1e5f,
> -0x1e61, 0x1e61,
> -0x1e63, 0x1e63,
> -0x1e65, 0x1e65,
> -0x1e67, 0x1e67,
> -0x1e69, 0x1e69,
> -0x1e6b, 0x1e6b,
> -0x1e6d, 0x1e6d,
> -0x1e6f, 0x1e6f,
> -0x1e71, 0x1e71,
> -0x1e73, 0x1e73,
> -0x1e75, 0x1e75,
> -0x1e77, 0x1e77,
> -0x1e79, 0x1e79,
> -0x1e7b, 0x1e7b,
> -0x1e7d, 0x1e7d,
> -0x1e7f, 0x1e7f,
> -0x1e81, 0x1e81,
> -0x1e83, 0x1e83,
> -0x1e85, 0x1e85,
> -0x1e87, 0x1e87,
> -0x1e89, 0x1e89,
> -0x1e8b, 0x1e8b,
> -0x1e8d, 0x1e8d,
> -0x1e8f, 0x1e8f,
> -0x1e91, 0x1e91,
> -0x1e93, 0x1e93,
> -0x1e95, 0x1e9b,
> -0x1ea1, 0x1ea1,
> -0x1ea3, 0x1ea3,
> -0x1ea5, 0x1ea5,
> -0x1ea7, 0x1ea7,
> -0x1ea9, 0x1ea9,
> -0x1eab, 0x1eab,
> -0x1ead, 0x1ead,
> -0x1eaf, 0x1eaf,
> -0x1eb1, 0x1eb1,
> -0x1eb3, 0x1eb3,
> -0x1eb5, 0x1eb5,
> -0x1eb7, 0x1eb7,
> -0x1eb9, 0x1eb9,
> -0x1ebb, 0x1ebb,
> -0x1ebd, 0x1ebd,
> -0x1ebf, 0x1ebf,
> -0x1ec1, 0x1ec1,
> -0x1ec3, 0x1ec3,
> -0x1ec5, 0x1ec5,
> -0x1ec7, 0x1ec7,
> -0x1ec9, 0x1ec9,
> -0x1ecb, 0x1ecb,
> -0x1ecd, 0x1ecd,
> -0x1ecf, 0x1ecf,
> -0x1ed1, 0x1ed1,
> -0x1ed3, 0x1ed3,
> -0x1ed5, 0x1ed5,
> -0x1ed7, 0x1ed7,
> -0x1ed9, 0x1ed9,
> -0x1edb, 0x1edb,
> -0x1edd, 0x1edd,
> -0x1edf, 0x1edf,
> -0x1ee1, 0x1ee1,
> -0x1ee3, 0x1ee3,
> -0x1ee5, 0x1ee5,
> -0x1ee7, 0x1ee7,
> -0x1ee9, 0x1ee9,
> -0x1eeb, 0x1eeb,
> -0x1eed, 0x1eed,
> -0x1eef, 0x1eef,
> -0x1ef1, 0x1ef1,
> -0x1ef3, 0x1ef3,
> -0x1ef5, 0x1ef5,
> -0x1ef7, 0x1ef7,
> -0x1ef9, 0x1ef9,
> -0x1efb, 0x1efb,
> -0x1efd, 0x1efd,
> -0x1eff, 0x1f07,
> -0x1f10, 0x1f15,
> -0x1f20, 0x1f27,
> -0x1f30, 0x1f37,
> -0x1f40, 0x1f45,
> -0x1f50, 0x1f57,
> -0x1f60, 0x1f67,
> -0x1f70, 0x1f7d,
> -0x1f80, 0x1f87,
> -0x1f90, 0x1f97,
> -0x1fa0, 0x1fa7,
> -0x1fb0, 0x1fb4,
> -0x1fb6, 0x1fb7,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fc7,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fd7,
> -0x1fe0, 0x1fe7,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ff7,
> -0x214e, 0x214e,
> -0x2170, 0x217f,
> -0x2184, 0x2184,
> -0x24d0, 0x24e9,
> -0x2c30, 0x2c5e,
> -0x2c61, 0x2c61,
> -0x2c65, 0x2c66,
> -0x2c68, 0x2c68,
> -0x2c6a, 0x2c6a,
> -0x2c6c, 0x2c6c,
> -0x2c73, 0x2c73,
> -0x2c76, 0x2c76,
> -0x2c81, 0x2c81,
> -0x2c83, 0x2c83,
> -0x2c85, 0x2c85,
> -0x2c87, 0x2c87,
> -0x2c89, 0x2c89,
> -0x2c8b, 0x2c8b,
> -0x2c8d, 0x2c8d,
> -0x2c8f, 0x2c8f,
> -0x2c91, 0x2c91,
> -0x2c93, 0x2c93,
> -0x2c95, 0x2c95,
> -0x2c97, 0x2c97,
> -0x2c99, 0x2c99,
> -0x2c9b, 0x2c9b,
> -0x2c9d, 0x2c9d,
> -0x2c9f, 0x2c9f,
> -0x2ca1, 0x2ca1,
> -0x2ca3, 0x2ca3,
> -0x2ca5, 0x2ca5,
> -0x2ca7, 0x2ca7,
> -0x2ca9, 0x2ca9,
> -0x2cab, 0x2cab,
> -0x2cad, 0x2cad,
> -0x2caf, 0x2caf,
> -0x2cb1, 0x2cb1,
> -0x2cb3, 0x2cb3,
> -0x2cb5, 0x2cb5,
> -0x2cb7, 0x2cb7,
> -0x2cb9, 0x2cb9,
> -0x2cbb, 0x2cbb,
> -0x2cbd, 0x2cbd,
> -0x2cbf, 0x2cbf,
> -0x2cc1, 0x2cc1,
> -0x2cc3, 0x2cc3,
> -0x2cc5, 0x2cc5,
> -0x2cc7, 0x2cc7,
> -0x2cc9, 0x2cc9,
> -0x2ccb, 0x2ccb,
> -0x2ccd, 0x2ccd,
> -0x2ccf, 0x2ccf,
> -0x2cd1, 0x2cd1,
> -0x2cd3, 0x2cd3,
> -0x2cd5, 0x2cd5,
> -0x2cd7, 0x2cd7,
> -0x2cd9, 0x2cd9,
> -0x2cdb, 0x2cdb,
> -0x2cdd, 0x2cdd,
> -0x2cdf, 0x2cdf,
> -0x2ce1, 0x2ce1,
> -0x2ce3, 0x2ce3,
> -0x2cec, 0x2cec,
> -0x2cee, 0x2cee,
> -0x2cf3, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0xa641, 0xa641,
> -0xa643, 0xa643,
> -0xa645, 0xa645,
> -0xa647, 0xa647,
> -0xa649, 0xa649,
> -0xa64b, 0xa64b,
> -0xa64d, 0xa64d,
> -0xa64f, 0xa64f,
> -0xa651, 0xa651,
> -0xa653, 0xa653,
> -0xa655, 0xa655,
> -0xa657, 0xa657,
> -0xa659, 0xa659,
> -0xa65b, 0xa65b,
> -0xa65d, 0xa65d,
> -0xa65f, 0xa65f,
> -0xa661, 0xa661,
> -0xa663, 0xa663,
> -0xa665, 0xa665,
> -0xa667, 0xa667,
> -0xa669, 0xa669,
> -0xa66b, 0xa66b,
> -0xa66d, 0xa66d,
> -0xa681, 0xa681,
> -0xa683, 0xa683,
> -0xa685, 0xa685,
> -0xa687, 0xa687,
> -0xa689, 0xa689,
> -0xa68b, 0xa68b,
> -0xa68d, 0xa68d,
> -0xa68f, 0xa68f,
> -0xa691, 0xa691,
> -0xa693, 0xa693,
> -0xa695, 0xa695,
> -0xa697, 0xa697,
> -0xa699, 0xa699,
> -0xa69b, 0xa69b,
> -0xa723, 0xa723,
> -0xa725, 0xa725,
> -0xa727, 0xa727,
> -0xa729, 0xa729,
> -0xa72b, 0xa72b,
> -0xa72d, 0xa72d,
> -0xa72f, 0xa72f,
> -0xa733, 0xa733,
> -0xa735, 0xa735,
> -0xa737, 0xa737,
> -0xa739, 0xa739,
> -0xa73b, 0xa73b,
> -0xa73d, 0xa73d,
> -0xa73f, 0xa73f,
> -0xa741, 0xa741,
> -0xa743, 0xa743,
> -0xa745, 0xa745,
> -0xa747, 0xa747,
> -0xa749, 0xa749,
> -0xa74b, 0xa74b,
> -0xa74d, 0xa74d,
> -0xa74f, 0xa74f,
> -0xa751, 0xa751,
> -0xa753, 0xa753,
> -0xa755, 0xa755,
> -0xa757, 0xa757,
> -0xa759, 0xa759,
> -0xa75b, 0xa75b,
> -0xa75d, 0xa75d,
> -0xa75f, 0xa75f,
> -0xa761, 0xa761,
> -0xa763, 0xa763,
> -0xa765, 0xa765,
> -0xa767, 0xa767,
> -0xa769, 0xa769,
> -0xa76b, 0xa76b,
> -0xa76d, 0xa76d,
> -0xa76f, 0xa76f,
> -0xa77a, 0xa77a,
> -0xa77c, 0xa77c,
> -0xa77f, 0xa77f,
> -0xa781, 0xa781,
> -0xa783, 0xa783,
> -0xa785, 0xa785,
> -0xa787, 0xa787,
> -0xa78c, 0xa78c,
> -0xa791, 0xa791,
> -0xa793, 0xa794,
> -0xa797, 0xa797,
> -0xa799, 0xa799,
> -0xa79b, 0xa79b,
> -0xa79d, 0xa79d,
> -0xa79f, 0xa79f,
> -0xa7a1, 0xa7a1,
> -0xa7a3, 0xa7a3,
> -0xa7a5, 0xa7a5,
> -0xa7a7, 0xa7a7,
> -0xa7a9, 0xa7a9,
> -0xa7b5, 0xa7b5,
> -0xa7b7, 0xa7b7,
> -0xa7b9, 0xa7b9,
> -0xa7bb, 0xa7bb,
> -0xa7bd, 0xa7bd,
> -0xa7bf, 0xa7bf,
> -0xa7c3, 0xa7c3,
> -0xab53, 0xab53,
> -0xab70, 0xabbf,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xff41, 0xff5a,
> -0x10428, 0x1044f,
> -0x104d8, 0x104fb,
> -0x10cc0, 0x10cf2,
> -0x118c0, 0x118df,
> -0x16e60, 0x16e7f,
> -0x1e922, 0x1e943,
> -}; /* END of CR_Changes_When_Titlecased */
> -
> -/* PROPERTY: 'Changes_When_Uppercased': Derived Property */
> -static const OnigCodePoint
> -CR_Changes_When_Uppercased[] = { 616,
> -0x0061, 0x007a,
> -0x00b5, 0x00b5,
> -0x00df, 0x00f6,
> -0x00f8, 0x00ff,
> -0x0101, 0x0101,
> -0x0103, 0x0103,
> -0x0105, 0x0105,
> -0x0107, 0x0107,
> -0x0109, 0x0109,
> -0x010b, 0x010b,
> -0x010d, 0x010d,
> -0x010f, 0x010f,
> -0x0111, 0x0111,
> -0x0113, 0x0113,
> -0x0115, 0x0115,
> -0x0117, 0x0117,
> -0x0119, 0x0119,
> -0x011b, 0x011b,
> -0x011d, 0x011d,
> -0x011f, 0x011f,
> -0x0121, 0x0121,
> -0x0123, 0x0123,
> -0x0125, 0x0125,
> -0x0127, 0x0127,
> -0x0129, 0x0129,
> -0x012b, 0x012b,
> -0x012d, 0x012d,
> -0x012f, 0x012f,
> -0x0131, 0x0131,
> -0x0133, 0x0133,
> -0x0135, 0x0135,
> -0x0137, 0x0137,
> -0x013a, 0x013a,
> -0x013c, 0x013c,
> -0x013e, 0x013e,
> -0x0140, 0x0140,
> -0x0142, 0x0142,
> -0x0144, 0x0144,
> -0x0146, 0x0146,
> -0x0148, 0x0149,
> -0x014b, 0x014b,
> -0x014d, 0x014d,
> -0x014f, 0x014f,
> -0x0151, 0x0151,
> -0x0153, 0x0153,
> -0x0155, 0x0155,
> -0x0157, 0x0157,
> -0x0159, 0x0159,
> -0x015b, 0x015b,
> -0x015d, 0x015d,
> -0x015f, 0x015f,
> -0x0161, 0x0161,
> -0x0163, 0x0163,
> -0x0165, 0x0165,
> -0x0167, 0x0167,
> -0x0169, 0x0169,
> -0x016b, 0x016b,
> -0x016d, 0x016d,
> -0x016f, 0x016f,
> -0x0171, 0x0171,
> -0x0173, 0x0173,
> -0x0175, 0x0175,
> -0x0177, 0x0177,
> -0x017a, 0x017a,
> -0x017c, 0x017c,
> -0x017e, 0x0180,
> -0x0183, 0x0183,
> -0x0185, 0x0185,
> -0x0188, 0x0188,
> -0x018c, 0x018c,
> -0x0192, 0x0192,
> -0x0195, 0x0195,
> -0x0199, 0x019a,
> -0x019e, 0x019e,
> -0x01a1, 0x01a1,
> -0x01a3, 0x01a3,
> -0x01a5, 0x01a5,
> -0x01a8, 0x01a8,
> -0x01ad, 0x01ad,
> -0x01b0, 0x01b0,
> -0x01b4, 0x01b4,
> -0x01b6, 0x01b6,
> -0x01b9, 0x01b9,
> -0x01bd, 0x01bd,
> -0x01bf, 0x01bf,
> -0x01c5, 0x01c6,
> -0x01c8, 0x01c9,
> -0x01cb, 0x01cc,
> -0x01ce, 0x01ce,
> -0x01d0, 0x01d0,
> -0x01d2, 0x01d2,
> -0x01d4, 0x01d4,
> -0x01d6, 0x01d6,
> -0x01d8, 0x01d8,
> -0x01da, 0x01da,
> -0x01dc, 0x01dd,
> -0x01df, 0x01df,
> -0x01e1, 0x01e1,
> -0x01e3, 0x01e3,
> -0x01e5, 0x01e5,
> -0x01e7, 0x01e7,
> -0x01e9, 0x01e9,
> -0x01eb, 0x01eb,
> -0x01ed, 0x01ed,
> -0x01ef, 0x01f0,
> -0x01f2, 0x01f3,
> -0x01f5, 0x01f5,
> -0x01f9, 0x01f9,
> -0x01fb, 0x01fb,
> -0x01fd, 0x01fd,
> -0x01ff, 0x01ff,
> -0x0201, 0x0201,
> -0x0203, 0x0203,
> -0x0205, 0x0205,
> -0x0207, 0x0207,
> -0x0209, 0x0209,
> -0x020b, 0x020b,
> -0x020d, 0x020d,
> -0x020f, 0x020f,
> -0x0211, 0x0211,
> -0x0213, 0x0213,
> -0x0215, 0x0215,
> -0x0217, 0x0217,
> -0x0219, 0x0219,
> -0x021b, 0x021b,
> -0x021d, 0x021d,
> -0x021f, 0x021f,
> -0x0223, 0x0223,
> -0x0225, 0x0225,
> -0x0227, 0x0227,
> -0x0229, 0x0229,
> -0x022b, 0x022b,
> -0x022d, 0x022d,
> -0x022f, 0x022f,
> -0x0231, 0x0231,
> -0x0233, 0x0233,
> -0x023c, 0x023c,
> -0x023f, 0x0240,
> -0x0242, 0x0242,
> -0x0247, 0x0247,
> -0x0249, 0x0249,
> -0x024b, 0x024b,
> -0x024d, 0x024d,
> -0x024f, 0x0254,
> -0x0256, 0x0257,
> -0x0259, 0x0259,
> -0x025b, 0x025c,
> -0x0260, 0x0261,
> -0x0263, 0x0263,
> -0x0265, 0x0266,
> -0x0268, 0x026c,
> -0x026f, 0x026f,
> -0x0271, 0x0272,
> -0x0275, 0x0275,
> -0x027d, 0x027d,
> -0x0280, 0x0280,
> -0x0282, 0x0283,
> -0x0287, 0x028c,
> -0x0292, 0x0292,
> -0x029d, 0x029e,
> -0x0345, 0x0345,
> -0x0371, 0x0371,
> -0x0373, 0x0373,
> -0x0377, 0x0377,
> -0x037b, 0x037d,
> -0x0390, 0x0390,
> -0x03ac, 0x03ce,
> -0x03d0, 0x03d1,
> -0x03d5, 0x03d7,
> -0x03d9, 0x03d9,
> -0x03db, 0x03db,
> -0x03dd, 0x03dd,
> -0x03df, 0x03df,
> -0x03e1, 0x03e1,
> -0x03e3, 0x03e3,
> -0x03e5, 0x03e5,
> -0x03e7, 0x03e7,
> -0x03e9, 0x03e9,
> -0x03eb, 0x03eb,
> -0x03ed, 0x03ed,
> -0x03ef, 0x03f3,
> -0x03f5, 0x03f5,
> -0x03f8, 0x03f8,
> -0x03fb, 0x03fb,
> -0x0430, 0x045f,
> -0x0461, 0x0461,
> -0x0463, 0x0463,
> -0x0465, 0x0465,
> -0x0467, 0x0467,
> -0x0469, 0x0469,
> -0x046b, 0x046b,
> -0x046d, 0x046d,
> -0x046f, 0x046f,
> -0x0471, 0x0471,
> -0x0473, 0x0473,
> -0x0475, 0x0475,
> -0x0477, 0x0477,
> -0x0479, 0x0479,
> -0x047b, 0x047b,
> -0x047d, 0x047d,
> -0x047f, 0x047f,
> -0x0481, 0x0481,
> -0x048b, 0x048b,
> -0x048d, 0x048d,
> -0x048f, 0x048f,
> -0x0491, 0x0491,
> -0x0493, 0x0493,
> -0x0495, 0x0495,
> -0x0497, 0x0497,
> -0x0499, 0x0499,
> -0x049b, 0x049b,
> -0x049d, 0x049d,
> -0x049f, 0x049f,
> -0x04a1, 0x04a1,
> -0x04a3, 0x04a3,
> -0x04a5, 0x04a5,
> -0x04a7, 0x04a7,
> -0x04a9, 0x04a9,
> -0x04ab, 0x04ab,
> -0x04ad, 0x04ad,
> -0x04af, 0x04af,
> -0x04b1, 0x04b1,
> -0x04b3, 0x04b3,
> -0x04b5, 0x04b5,
> -0x04b7, 0x04b7,
> -0x04b9, 0x04b9,
> -0x04bb, 0x04bb,
> -0x04bd, 0x04bd,
> -0x04bf, 0x04bf,
> -0x04c2, 0x04c2,
> -0x04c4, 0x04c4,
> -0x04c6, 0x04c6,
> -0x04c8, 0x04c8,
> -0x04ca, 0x04ca,
> -0x04cc, 0x04cc,
> -0x04ce, 0x04cf,
> -0x04d1, 0x04d1,
> -0x04d3, 0x04d3,
> -0x04d5, 0x04d5,
> -0x04d7, 0x04d7,
> -0x04d9, 0x04d9,
> -0x04db, 0x04db,
> -0x04dd, 0x04dd,
> -0x04df, 0x04df,
> -0x04e1, 0x04e1,
> -0x04e3, 0x04e3,
> -0x04e5, 0x04e5,
> -0x04e7, 0x04e7,
> -0x04e9, 0x04e9,
> -0x04eb, 0x04eb,
> -0x04ed, 0x04ed,
> -0x04ef, 0x04ef,
> -0x04f1, 0x04f1,
> -0x04f3, 0x04f3,
> -0x04f5, 0x04f5,
> -0x04f7, 0x04f7,
> -0x04f9, 0x04f9,
> -0x04fb, 0x04fb,
> -0x04fd, 0x04fd,
> -0x04ff, 0x04ff,
> -0x0501, 0x0501,
> -0x0503, 0x0503,
> -0x0505, 0x0505,
> -0x0507, 0x0507,
> -0x0509, 0x0509,
> -0x050b, 0x050b,
> -0x050d, 0x050d,
> -0x050f, 0x050f,
> -0x0511, 0x0511,
> -0x0513, 0x0513,
> -0x0515, 0x0515,
> -0x0517, 0x0517,
> -0x0519, 0x0519,
> -0x051b, 0x051b,
> -0x051d, 0x051d,
> -0x051f, 0x051f,
> -0x0521, 0x0521,
> -0x0523, 0x0523,
> -0x0525, 0x0525,
> -0x0527, 0x0527,
> -0x0529, 0x0529,
> -0x052b, 0x052b,
> -0x052d, 0x052d,
> -0x052f, 0x052f,
> -0x0561, 0x0587,
> -0x10d0, 0x10fa,
> -0x10fd, 0x10ff,
> -0x13f8, 0x13fd,
> -0x1c80, 0x1c88,
> -0x1d79, 0x1d79,
> -0x1d7d, 0x1d7d,
> -0x1d8e, 0x1d8e,
> -0x1e01, 0x1e01,
> -0x1e03, 0x1e03,
> -0x1e05, 0x1e05,
> -0x1e07, 0x1e07,
> -0x1e09, 0x1e09,
> -0x1e0b, 0x1e0b,
> -0x1e0d, 0x1e0d,
> -0x1e0f, 0x1e0f,
> -0x1e11, 0x1e11,
> -0x1e13, 0x1e13,
> -0x1e15, 0x1e15,
> -0x1e17, 0x1e17,
> -0x1e19, 0x1e19,
> -0x1e1b, 0x1e1b,
> -0x1e1d, 0x1e1d,
> -0x1e1f, 0x1e1f,
> -0x1e21, 0x1e21,
> -0x1e23, 0x1e23,
> -0x1e25, 0x1e25,
> -0x1e27, 0x1e27,
> -0x1e29, 0x1e29,
> -0x1e2b, 0x1e2b,
> -0x1e2d, 0x1e2d,
> -0x1e2f, 0x1e2f,
> -0x1e31, 0x1e31,
> -0x1e33, 0x1e33,
> -0x1e35, 0x1e35,
> -0x1e37, 0x1e37,
> -0x1e39, 0x1e39,
> -0x1e3b, 0x1e3b,
> -0x1e3d, 0x1e3d,
> -0x1e3f, 0x1e3f,
> -0x1e41, 0x1e41,
> -0x1e43, 0x1e43,
> -0x1e45, 0x1e45,
> -0x1e47, 0x1e47,
> -0x1e49, 0x1e49,
> -0x1e4b, 0x1e4b,
> -0x1e4d, 0x1e4d,
> -0x1e4f, 0x1e4f,
> -0x1e51, 0x1e51,
> -0x1e53, 0x1e53,
> -0x1e55, 0x1e55,
> -0x1e57, 0x1e57,
> -0x1e59, 0x1e59,
> -0x1e5b, 0x1e5b,
> -0x1e5d, 0x1e5d,
> -0x1e5f, 0x1e5f,
> -0x1e61, 0x1e61,
> -0x1e63, 0x1e63,
> -0x1e65, 0x1e65,
> -0x1e67, 0x1e67,
> -0x1e69, 0x1e69,
> -0x1e6b, 0x1e6b,
> -0x1e6d, 0x1e6d,
> -0x1e6f, 0x1e6f,
> -0x1e71, 0x1e71,
> -0x1e73, 0x1e73,
> -0x1e75, 0x1e75,
> -0x1e77, 0x1e77,
> -0x1e79, 0x1e79,
> -0x1e7b, 0x1e7b,
> -0x1e7d, 0x1e7d,
> -0x1e7f, 0x1e7f,
> -0x1e81, 0x1e81,
> -0x1e83, 0x1e83,
> -0x1e85, 0x1e85,
> -0x1e87, 0x1e87,
> -0x1e89, 0x1e89,
> -0x1e8b, 0x1e8b,
> -0x1e8d, 0x1e8d,
> -0x1e8f, 0x1e8f,
> -0x1e91, 0x1e91,
> -0x1e93, 0x1e93,
> -0x1e95, 0x1e9b,
> -0x1ea1, 0x1ea1,
> -0x1ea3, 0x1ea3,
> -0x1ea5, 0x1ea5,
> -0x1ea7, 0x1ea7,
> -0x1ea9, 0x1ea9,
> -0x1eab, 0x1eab,
> -0x1ead, 0x1ead,
> -0x1eaf, 0x1eaf,
> -0x1eb1, 0x1eb1,
> -0x1eb3, 0x1eb3,
> -0x1eb5, 0x1eb5,
> -0x1eb7, 0x1eb7,
> -0x1eb9, 0x1eb9,
> -0x1ebb, 0x1ebb,
> -0x1ebd, 0x1ebd,
> -0x1ebf, 0x1ebf,
> -0x1ec1, 0x1ec1,
> -0x1ec3, 0x1ec3,
> -0x1ec5, 0x1ec5,
> -0x1ec7, 0x1ec7,
> -0x1ec9, 0x1ec9,
> -0x1ecb, 0x1ecb,
> -0x1ecd, 0x1ecd,
> -0x1ecf, 0x1ecf,
> -0x1ed1, 0x1ed1,
> -0x1ed3, 0x1ed3,
> -0x1ed5, 0x1ed5,
> -0x1ed7, 0x1ed7,
> -0x1ed9, 0x1ed9,
> -0x1edb, 0x1edb,
> -0x1edd, 0x1edd,
> -0x1edf, 0x1edf,
> -0x1ee1, 0x1ee1,
> -0x1ee3, 0x1ee3,
> -0x1ee5, 0x1ee5,
> -0x1ee7, 0x1ee7,
> -0x1ee9, 0x1ee9,
> -0x1eeb, 0x1eeb,
> -0x1eed, 0x1eed,
> -0x1eef, 0x1eef,
> -0x1ef1, 0x1ef1,
> -0x1ef3, 0x1ef3,
> -0x1ef5, 0x1ef5,
> -0x1ef7, 0x1ef7,
> -0x1ef9, 0x1ef9,
> -0x1efb, 0x1efb,
> -0x1efd, 0x1efd,
> -0x1eff, 0x1f07,
> -0x1f10, 0x1f15,
> -0x1f20, 0x1f27,
> -0x1f30, 0x1f37,
> -0x1f40, 0x1f45,
> -0x1f50, 0x1f57,
> -0x1f60, 0x1f67,
> -0x1f70, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fb7,
> -0x1fbc, 0x1fbc,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fc7,
> -0x1fcc, 0x1fcc,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fd7,
> -0x1fe0, 0x1fe7,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ff7,
> -0x1ffc, 0x1ffc,
> -0x214e, 0x214e,
> -0x2170, 0x217f,
> -0x2184, 0x2184,
> -0x24d0, 0x24e9,
> -0x2c30, 0x2c5e,
> -0x2c61, 0x2c61,
> -0x2c65, 0x2c66,
> -0x2c68, 0x2c68,
> -0x2c6a, 0x2c6a,
> -0x2c6c, 0x2c6c,
> -0x2c73, 0x2c73,
> -0x2c76, 0x2c76,
> -0x2c81, 0x2c81,
> -0x2c83, 0x2c83,
> -0x2c85, 0x2c85,
> -0x2c87, 0x2c87,
> -0x2c89, 0x2c89,
> -0x2c8b, 0x2c8b,
> -0x2c8d, 0x2c8d,
> -0x2c8f, 0x2c8f,
> -0x2c91, 0x2c91,
> -0x2c93, 0x2c93,
> -0x2c95, 0x2c95,
> -0x2c97, 0x2c97,
> -0x2c99, 0x2c99,
> -0x2c9b, 0x2c9b,
> -0x2c9d, 0x2c9d,
> -0x2c9f, 0x2c9f,
> -0x2ca1, 0x2ca1,
> -0x2ca3, 0x2ca3,
> -0x2ca5, 0x2ca5,
> -0x2ca7, 0x2ca7,
> -0x2ca9, 0x2ca9,
> -0x2cab, 0x2cab,
> -0x2cad, 0x2cad,
> -0x2caf, 0x2caf,
> -0x2cb1, 0x2cb1,
> -0x2cb3, 0x2cb3,
> -0x2cb5, 0x2cb5,
> -0x2cb7, 0x2cb7,
> -0x2cb9, 0x2cb9,
> -0x2cbb, 0x2cbb,
> -0x2cbd, 0x2cbd,
> -0x2cbf, 0x2cbf,
> -0x2cc1, 0x2cc1,
> -0x2cc3, 0x2cc3,
> -0x2cc5, 0x2cc5,
> -0x2cc7, 0x2cc7,
> -0x2cc9, 0x2cc9,
> -0x2ccb, 0x2ccb,
> -0x2ccd, 0x2ccd,
> -0x2ccf, 0x2ccf,
> -0x2cd1, 0x2cd1,
> -0x2cd3, 0x2cd3,
> -0x2cd5, 0x2cd5,
> -0x2cd7, 0x2cd7,
> -0x2cd9, 0x2cd9,
> -0x2cdb, 0x2cdb,
> -0x2cdd, 0x2cdd,
> -0x2cdf, 0x2cdf,
> -0x2ce1, 0x2ce1,
> -0x2ce3, 0x2ce3,
> -0x2cec, 0x2cec,
> -0x2cee, 0x2cee,
> -0x2cf3, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0xa641, 0xa641,
> -0xa643, 0xa643,
> -0xa645, 0xa645,
> -0xa647, 0xa647,
> -0xa649, 0xa649,
> -0xa64b, 0xa64b,
> -0xa64d, 0xa64d,
> -0xa64f, 0xa64f,
> -0xa651, 0xa651,
> -0xa653, 0xa653,
> -0xa655, 0xa655,
> -0xa657, 0xa657,
> -0xa659, 0xa659,
> -0xa65b, 0xa65b,
> -0xa65d, 0xa65d,
> -0xa65f, 0xa65f,
> -0xa661, 0xa661,
> -0xa663, 0xa663,
> -0xa665, 0xa665,
> -0xa667, 0xa667,
> -0xa669, 0xa669,
> -0xa66b, 0xa66b,
> -0xa66d, 0xa66d,
> -0xa681, 0xa681,
> -0xa683, 0xa683,
> -0xa685, 0xa685,
> -0xa687, 0xa687,
> -0xa689, 0xa689,
> -0xa68b, 0xa68b,
> -0xa68d, 0xa68d,
> -0xa68f, 0xa68f,
> -0xa691, 0xa691,
> -0xa693, 0xa693,
> -0xa695, 0xa695,
> -0xa697, 0xa697,
> -0xa699, 0xa699,
> -0xa69b, 0xa69b,
> -0xa723, 0xa723,
> -0xa725, 0xa725,
> -0xa727, 0xa727,
> -0xa729, 0xa729,
> -0xa72b, 0xa72b,
> -0xa72d, 0xa72d,
> -0xa72f, 0xa72f,
> -0xa733, 0xa733,
> -0xa735, 0xa735,
> -0xa737, 0xa737,
> -0xa739, 0xa739,
> -0xa73b, 0xa73b,
> -0xa73d, 0xa73d,
> -0xa73f, 0xa73f,
> -0xa741, 0xa741,
> -0xa743, 0xa743,
> -0xa745, 0xa745,
> -0xa747, 0xa747,
> -0xa749, 0xa749,
> -0xa74b, 0xa74b,
> -0xa74d, 0xa74d,
> -0xa74f, 0xa74f,
> -0xa751, 0xa751,
> -0xa753, 0xa753,
> -0xa755, 0xa755,
> -0xa757, 0xa757,
> -0xa759, 0xa759,
> -0xa75b, 0xa75b,
> -0xa75d, 0xa75d,
> -0xa75f, 0xa75f,
> -0xa761, 0xa761,
> -0xa763, 0xa763,
> -0xa765, 0xa765,
> -0xa767, 0xa767,
> -0xa769, 0xa769,
> -0xa76b, 0xa76b,
> -0xa76d, 0xa76d,
> -0xa76f, 0xa76f,
> -0xa77a, 0xa77a,
> -0xa77c, 0xa77c,
> -0xa77f, 0xa77f,
> -0xa781, 0xa781,
> -0xa783, 0xa783,
> -0xa785, 0xa785,
> -0xa787, 0xa787,
> -0xa78c, 0xa78c,
> -0xa791, 0xa791,
> -0xa793, 0xa794,
> -0xa797, 0xa797,
> -0xa799, 0xa799,
> -0xa79b, 0xa79b,
> -0xa79d, 0xa79d,
> -0xa79f, 0xa79f,
> -0xa7a1, 0xa7a1,
> -0xa7a3, 0xa7a3,
> -0xa7a5, 0xa7a5,
> -0xa7a7, 0xa7a7,
> -0xa7a9, 0xa7a9,
> -0xa7b5, 0xa7b5,
> -0xa7b7, 0xa7b7,
> -0xa7b9, 0xa7b9,
> -0xa7bb, 0xa7bb,
> -0xa7bd, 0xa7bd,
> -0xa7bf, 0xa7bf,
> -0xa7c3, 0xa7c3,
> -0xab53, 0xab53,
> -0xab70, 0xabbf,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xff41, 0xff5a,
> -0x10428, 0x1044f,
> -0x104d8, 0x104fb,
> -0x10cc0, 0x10cf2,
> -0x118c0, 0x118df,
> -0x16e60, 0x16e7f,
> -0x1e922, 0x1e943,
> -}; /* END of CR_Changes_When_Uppercased */
> -
> -/* PROPERTY: 'Cherokee': Script */
> -static const OnigCodePoint
> -CR_Cherokee[] = { 3,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0xab70, 0xabbf,
> -}; /* END of CR_Cherokee */
> -
> -/* PROPERTY: 'Cn': General Category */
> -static const OnigCodePoint
> -CR_Cn[] = { 666,
> -0x0378, 0x0379,
> -0x0380, 0x0383,
> -0x038b, 0x038b,
> -0x038d, 0x038d,
> -0x03a2, 0x03a2,
> -0x0530, 0x0530,
> -0x0557, 0x0558,
> -0x058b, 0x058c,
> -0x0590, 0x0590,
> -0x05c8, 0x05cf,
> -0x05eb, 0x05ee,
> -0x05f5, 0x05ff,
> -0x061d, 0x061d,
> -0x070e, 0x070e,
> -0x074b, 0x074c,
> -0x07b2, 0x07bf,
> -0x07fb, 0x07fc,
> -0x082e, 0x082f,
> -0x083f, 0x083f,
> -0x085c, 0x085d,
> -0x085f, 0x085f,
> -0x086b, 0x089f,
> -0x08b5, 0x08b5,
> -0x08be, 0x08d2,
> -0x0984, 0x0984,
> -0x098d, 0x098e,
> -0x0991, 0x0992,
> -0x09a9, 0x09a9,
> -0x09b1, 0x09b1,
> -0x09b3, 0x09b5,
> -0x09ba, 0x09bb,
> -0x09c5, 0x09c6,
> -0x09c9, 0x09ca,
> -0x09cf, 0x09d6,
> -0x09d8, 0x09db,
> -0x09de, 0x09de,
> -0x09e4, 0x09e5,
> -0x09ff, 0x0a00,
> -0x0a04, 0x0a04,
> -0x0a0b, 0x0a0e,
> -0x0a11, 0x0a12,
> -0x0a29, 0x0a29,
> -0x0a31, 0x0a31,
> -0x0a34, 0x0a34,
> -0x0a37, 0x0a37,
> -0x0a3a, 0x0a3b,
> -0x0a3d, 0x0a3d,
> -0x0a43, 0x0a46,
> -0x0a49, 0x0a4a,
> -0x0a4e, 0x0a50,
> -0x0a52, 0x0a58,
> -0x0a5d, 0x0a5d,
> -0x0a5f, 0x0a65,
> -0x0a77, 0x0a80,
> -0x0a84, 0x0a84,
> -0x0a8e, 0x0a8e,
> -0x0a92, 0x0a92,
> -0x0aa9, 0x0aa9,
> -0x0ab1, 0x0ab1,
> -0x0ab4, 0x0ab4,
> -0x0aba, 0x0abb,
> -0x0ac6, 0x0ac6,
> -0x0aca, 0x0aca,
> -0x0ace, 0x0acf,
> -0x0ad1, 0x0adf,
> -0x0ae4, 0x0ae5,
> -0x0af2, 0x0af8,
> -0x0b00, 0x0b00,
> -0x0b04, 0x0b04,
> -0x0b0d, 0x0b0e,
> -0x0b11, 0x0b12,
> -0x0b29, 0x0b29,
> -0x0b31, 0x0b31,
> -0x0b34, 0x0b34,
> -0x0b3a, 0x0b3b,
> -0x0b45, 0x0b46,
> -0x0b49, 0x0b4a,
> -0x0b4e, 0x0b55,
> -0x0b58, 0x0b5b,
> -0x0b5e, 0x0b5e,
> -0x0b64, 0x0b65,
> -0x0b78, 0x0b81,
> -0x0b84, 0x0b84,
> -0x0b8b, 0x0b8d,
> -0x0b91, 0x0b91,
> -0x0b96, 0x0b98,
> -0x0b9b, 0x0b9b,
> -0x0b9d, 0x0b9d,
> -0x0ba0, 0x0ba2,
> -0x0ba5, 0x0ba7,
> -0x0bab, 0x0bad,
> -0x0bba, 0x0bbd,
> -0x0bc3, 0x0bc5,
> -0x0bc9, 0x0bc9,
> -0x0bce, 0x0bcf,
> -0x0bd1, 0x0bd6,
> -0x0bd8, 0x0be5,
> -0x0bfb, 0x0bff,
> -0x0c0d, 0x0c0d,
> -0x0c11, 0x0c11,
> -0x0c29, 0x0c29,
> -0x0c3a, 0x0c3c,
> -0x0c45, 0x0c45,
> -0x0c49, 0x0c49,
> -0x0c4e, 0x0c54,
> -0x0c57, 0x0c57,
> -0x0c5b, 0x0c5f,
> -0x0c64, 0x0c65,
> -0x0c70, 0x0c76,
> -0x0c8d, 0x0c8d,
> -0x0c91, 0x0c91,
> -0x0ca9, 0x0ca9,
> -0x0cb4, 0x0cb4,
> -0x0cba, 0x0cbb,
> -0x0cc5, 0x0cc5,
> -0x0cc9, 0x0cc9,
> -0x0cce, 0x0cd4,
> -0x0cd7, 0x0cdd,
> -0x0cdf, 0x0cdf,
> -0x0ce4, 0x0ce5,
> -0x0cf0, 0x0cf0,
> -0x0cf3, 0x0cff,
> -0x0d04, 0x0d04,
> -0x0d0d, 0x0d0d,
> -0x0d11, 0x0d11,
> -0x0d45, 0x0d45,
> -0x0d49, 0x0d49,
> -0x0d50, 0x0d53,
> -0x0d64, 0x0d65,
> -0x0d80, 0x0d81,
> -0x0d84, 0x0d84,
> -0x0d97, 0x0d99,
> -0x0db2, 0x0db2,
> -0x0dbc, 0x0dbc,
> -0x0dbe, 0x0dbf,
> -0x0dc7, 0x0dc9,
> -0x0dcb, 0x0dce,
> -0x0dd5, 0x0dd5,
> -0x0dd7, 0x0dd7,
> -0x0de0, 0x0de5,
> -0x0df0, 0x0df1,
> -0x0df5, 0x0e00,
> -0x0e3b, 0x0e3e,
> -0x0e5c, 0x0e80,
> -0x0e83, 0x0e83,
> -0x0e85, 0x0e85,
> -0x0e8b, 0x0e8b,
> -0x0ea4, 0x0ea4,
> -0x0ea6, 0x0ea6,
> -0x0ebe, 0x0ebf,
> -0x0ec5, 0x0ec5,
> -0x0ec7, 0x0ec7,
> -0x0ece, 0x0ecf,
> -0x0eda, 0x0edb,
> -0x0ee0, 0x0eff,
> -0x0f48, 0x0f48,
> -0x0f6d, 0x0f70,
> -0x0f98, 0x0f98,
> -0x0fbd, 0x0fbd,
> -0x0fcd, 0x0fcd,
> -0x0fdb, 0x0fff,
> -0x10c6, 0x10c6,
> -0x10c8, 0x10cc,
> -0x10ce, 0x10cf,
> -0x1249, 0x1249,
> -0x124e, 0x124f,
> -0x1257, 0x1257,
> -0x1259, 0x1259,
> -0x125e, 0x125f,
> -0x1289, 0x1289,
> -0x128e, 0x128f,
> -0x12b1, 0x12b1,
> -0x12b6, 0x12b7,
> -0x12bf, 0x12bf,
> -0x12c1, 0x12c1,
> -0x12c6, 0x12c7,
> -0x12d7, 0x12d7,
> -0x1311, 0x1311,
> -0x1316, 0x1317,
> -0x135b, 0x135c,
> -0x137d, 0x137f,
> -0x139a, 0x139f,
> -0x13f6, 0x13f7,
> -0x13fe, 0x13ff,
> -0x169d, 0x169f,
> -0x16f9, 0x16ff,
> -0x170d, 0x170d,
> -0x1715, 0x171f,
> -0x1737, 0x173f,
> -0x1754, 0x175f,
> -0x176d, 0x176d,
> -0x1771, 0x1771,
> -0x1774, 0x177f,
> -0x17de, 0x17df,
> -0x17ea, 0x17ef,
> -0x17fa, 0x17ff,
> -0x180f, 0x180f,
> -0x181a, 0x181f,
> -0x1879, 0x187f,
> -0x18ab, 0x18af,
> -0x18f6, 0x18ff,
> -0x191f, 0x191f,
> -0x192c, 0x192f,
> -0x193c, 0x193f,
> -0x1941, 0x1943,
> -0x196e, 0x196f,
> -0x1975, 0x197f,
> -0x19ac, 0x19af,
> -0x19ca, 0x19cf,
> -0x19db, 0x19dd,
> -0x1a1c, 0x1a1d,
> -0x1a5f, 0x1a5f,
> -0x1a7d, 0x1a7e,
> -0x1a8a, 0x1a8f,
> -0x1a9a, 0x1a9f,
> -0x1aae, 0x1aaf,
> -0x1abf, 0x1aff,
> -0x1b4c, 0x1b4f,
> -0x1b7d, 0x1b7f,
> -0x1bf4, 0x1bfb,
> -0x1c38, 0x1c3a,
> -0x1c4a, 0x1c4c,
> -0x1c89, 0x1c8f,
> -0x1cbb, 0x1cbc,
> -0x1cc8, 0x1ccf,
> -0x1cfb, 0x1cff,
> -0x1dfa, 0x1dfa,
> -0x1f16, 0x1f17,
> -0x1f1e, 0x1f1f,
> -0x1f46, 0x1f47,
> -0x1f4e, 0x1f4f,
> -0x1f58, 0x1f58,
> -0x1f5a, 0x1f5a,
> -0x1f5c, 0x1f5c,
> -0x1f5e, 0x1f5e,
> -0x1f7e, 0x1f7f,
> -0x1fb5, 0x1fb5,
> -0x1fc5, 0x1fc5,
> -0x1fd4, 0x1fd5,
> -0x1fdc, 0x1fdc,
> -0x1ff0, 0x1ff1,
> -0x1ff5, 0x1ff5,
> -0x1fff, 0x1fff,
> -0x2065, 0x2065,
> -0x2072, 0x2073,
> -0x208f, 0x208f,
> -0x209d, 0x209f,
> -0x20c0, 0x20cf,
> -0x20f1, 0x20ff,
> -0x218c, 0x218f,
> -0x2427, 0x243f,
> -0x244b, 0x245f,
> -0x2b74, 0x2b75,
> -0x2b96, 0x2b97,
> -0x2c2f, 0x2c2f,
> -0x2c5f, 0x2c5f,
> -0x2cf4, 0x2cf8,
> -0x2d26, 0x2d26,
> -0x2d28, 0x2d2c,
> -0x2d2e, 0x2d2f,
> -0x2d68, 0x2d6e,
> -0x2d71, 0x2d7e,
> -0x2d97, 0x2d9f,
> -0x2da7, 0x2da7,
> -0x2daf, 0x2daf,
> -0x2db7, 0x2db7,
> -0x2dbf, 0x2dbf,
> -0x2dc7, 0x2dc7,
> -0x2dcf, 0x2dcf,
> -0x2dd7, 0x2dd7,
> -0x2ddf, 0x2ddf,
> -0x2e50, 0x2e7f,
> -0x2e9a, 0x2e9a,
> -0x2ef4, 0x2eff,
> -0x2fd6, 0x2fef,
> -0x2ffc, 0x2fff,
> -0x3040, 0x3040,
> -0x3097, 0x3098,
> -0x3100, 0x3104,
> -0x3130, 0x3130,
> -0x318f, 0x318f,
> -0x31bb, 0x31bf,
> -0x31e4, 0x31ef,
> -0x321f, 0x321f,
> -0x4db6, 0x4dbf,
> -0x9ff0, 0x9fff,
> -0xa48d, 0xa48f,
> -0xa4c7, 0xa4cf,
> -0xa62c, 0xa63f,
> -0xa6f8, 0xa6ff,
> -0xa7c0, 0xa7c1,
> -0xa7c7, 0xa7f6,
> -0xa82c, 0xa82f,
> -0xa83a, 0xa83f,
> -0xa878, 0xa87f,
> -0xa8c6, 0xa8cd,
> -0xa8da, 0xa8df,
> -0xa954, 0xa95e,
> -0xa97d, 0xa97f,
> -0xa9ce, 0xa9ce,
> -0xa9da, 0xa9dd,
> -0xa9ff, 0xa9ff,
> -0xaa37, 0xaa3f,
> -0xaa4e, 0xaa4f,
> -0xaa5a, 0xaa5b,
> -0xaac3, 0xaada,
> -0xaaf7, 0xab00,
> -0xab07, 0xab08,
> -0xab0f, 0xab10,
> -0xab17, 0xab1f,
> -0xab27, 0xab27,
> -0xab2f, 0xab2f,
> -0xab68, 0xab6f,
> -0xabee, 0xabef,
> -0xabfa, 0xabff,
> -0xd7a4, 0xd7af,
> -0xd7c7, 0xd7ca,
> -0xd7fc, 0xd7ff,
> -0xfa6e, 0xfa6f,
> -0xfada, 0xfaff,
> -0xfb07, 0xfb12,
> -0xfb18, 0xfb1c,
> -0xfb37, 0xfb37,
> -0xfb3d, 0xfb3d,
> -0xfb3f, 0xfb3f,
> -0xfb42, 0xfb42,
> -0xfb45, 0xfb45,
> -0xfbc2, 0xfbd2,
> -0xfd40, 0xfd4f,
> -0xfd90, 0xfd91,
> -0xfdc8, 0xfdef,
> -0xfdfe, 0xfdff,
> -0xfe1a, 0xfe1f,
> -0xfe53, 0xfe53,
> -0xfe67, 0xfe67,
> -0xfe6c, 0xfe6f,
> -0xfe75, 0xfe75,
> -0xfefd, 0xfefe,
> -0xff00, 0xff00,
> -0xffbf, 0xffc1,
> -0xffc8, 0xffc9,
> -0xffd0, 0xffd1,
> -0xffd8, 0xffd9,
> -0xffdd, 0xffdf,
> -0xffe7, 0xffe7,
> -0xffef, 0xfff8,
> -0xfffe, 0xffff,
> -0x1000c, 0x1000c,
> -0x10027, 0x10027,
> -0x1003b, 0x1003b,
> -0x1003e, 0x1003e,
> -0x1004e, 0x1004f,
> -0x1005e, 0x1007f,
> -0x100fb, 0x100ff,
> -0x10103, 0x10106,
> -0x10134, 0x10136,
> -0x1018f, 0x1018f,
> -0x1019c, 0x1019f,
> -0x101a1, 0x101cf,
> -0x101fe, 0x1027f,
> -0x1029d, 0x1029f,
> -0x102d1, 0x102df,
> -0x102fc, 0x102ff,
> -0x10324, 0x1032c,
> -0x1034b, 0x1034f,
> -0x1037b, 0x1037f,
> -0x1039e, 0x1039e,
> -0x103c4, 0x103c7,
> -0x103d6, 0x103ff,
> -0x1049e, 0x1049f,
> -0x104aa, 0x104af,
> -0x104d4, 0x104d7,
> -0x104fc, 0x104ff,
> -0x10528, 0x1052f,
> -0x10564, 0x1056e,
> -0x10570, 0x105ff,
> -0x10737, 0x1073f,
> -0x10756, 0x1075f,
> -0x10768, 0x107ff,
> -0x10806, 0x10807,
> -0x10809, 0x10809,
> -0x10836, 0x10836,
> -0x10839, 0x1083b,
> -0x1083d, 0x1083e,
> -0x10856, 0x10856,
> -0x1089f, 0x108a6,
> -0x108b0, 0x108df,
> -0x108f3, 0x108f3,
> -0x108f6, 0x108fa,
> -0x1091c, 0x1091e,
> -0x1093a, 0x1093e,
> -0x10940, 0x1097f,
> -0x109b8, 0x109bb,
> -0x109d0, 0x109d1,
> -0x10a04, 0x10a04,
> -0x10a07, 0x10a0b,
> -0x10a14, 0x10a14,
> -0x10a18, 0x10a18,
> -0x10a36, 0x10a37,
> -0x10a3b, 0x10a3e,
> -0x10a49, 0x10a4f,
> -0x10a59, 0x10a5f,
> -0x10aa0, 0x10abf,
> -0x10ae7, 0x10aea,
> -0x10af7, 0x10aff,
> -0x10b36, 0x10b38,
> -0x10b56, 0x10b57,
> -0x10b73, 0x10b77,
> -0x10b92, 0x10b98,
> -0x10b9d, 0x10ba8,
> -0x10bb0, 0x10bff,
> -0x10c49, 0x10c7f,
> -0x10cb3, 0x10cbf,
> -0x10cf3, 0x10cf9,
> -0x10d28, 0x10d2f,
> -0x10d3a, 0x10e5f,
> -0x10e7f, 0x10eff,
> -0x10f28, 0x10f2f,
> -0x10f5a, 0x10fdf,
> -0x10ff7, 0x10fff,
> -0x1104e, 0x11051,
> -0x11070, 0x1107e,
> -0x110c2, 0x110cc,
> -0x110ce, 0x110cf,
> -0x110e9, 0x110ef,
> -0x110fa, 0x110ff,
> -0x11135, 0x11135,
> -0x11147, 0x1114f,
> -0x11177, 0x1117f,
> -0x111ce, 0x111cf,
> -0x111e0, 0x111e0,
> -0x111f5, 0x111ff,
> -0x11212, 0x11212,
> -0x1123f, 0x1127f,
> -0x11287, 0x11287,
> -0x11289, 0x11289,
> -0x1128e, 0x1128e,
> -0x1129e, 0x1129e,
> -0x112aa, 0x112af,
> -0x112eb, 0x112ef,
> -0x112fa, 0x112ff,
> -0x11304, 0x11304,
> -0x1130d, 0x1130e,
> -0x11311, 0x11312,
> -0x11329, 0x11329,
> -0x11331, 0x11331,
> -0x11334, 0x11334,
> -0x1133a, 0x1133a,
> -0x11345, 0x11346,
> -0x11349, 0x1134a,
> -0x1134e, 0x1134f,
> -0x11351, 0x11356,
> -0x11358, 0x1135c,
> -0x11364, 0x11365,
> -0x1136d, 0x1136f,
> -0x11375, 0x113ff,
> -0x1145a, 0x1145a,
> -0x1145c, 0x1145c,
> -0x11460, 0x1147f,
> -0x114c8, 0x114cf,
> -0x114da, 0x1157f,
> -0x115b6, 0x115b7,
> -0x115de, 0x115ff,
> -0x11645, 0x1164f,
> -0x1165a, 0x1165f,
> -0x1166d, 0x1167f,
> -0x116b9, 0x116bf,
> -0x116ca, 0x116ff,
> -0x1171b, 0x1171c,
> -0x1172c, 0x1172f,
> -0x11740, 0x117ff,
> -0x1183c, 0x1189f,
> -0x118f3, 0x118fe,
> -0x11900, 0x1199f,
> -0x119a8, 0x119a9,
> -0x119d8, 0x119d9,
> -0x119e5, 0x119ff,
> -0x11a48, 0x11a4f,
> -0x11aa3, 0x11abf,
> -0x11af9, 0x11bff,
> -0x11c09, 0x11c09,
> -0x11c37, 0x11c37,
> -0x11c46, 0x11c4f,
> -0x11c6d, 0x11c6f,
> -0x11c90, 0x11c91,
> -0x11ca8, 0x11ca8,
> -0x11cb7, 0x11cff,
> -0x11d07, 0x11d07,
> -0x11d0a, 0x11d0a,
> -0x11d37, 0x11d39,
> -0x11d3b, 0x11d3b,
> -0x11d3e, 0x11d3e,
> -0x11d48, 0x11d4f,
> -0x11d5a, 0x11d5f,
> -0x11d66, 0x11d66,
> -0x11d69, 0x11d69,
> -0x11d8f, 0x11d8f,
> -0x11d92, 0x11d92,
> -0x11d99, 0x11d9f,
> -0x11daa, 0x11edf,
> -0x11ef9, 0x11fbf,
> -0x11ff2, 0x11ffe,
> -0x1239a, 0x123ff,
> -0x1246f, 0x1246f,
> -0x12475, 0x1247f,
> -0x12544, 0x12fff,
> -0x1342f, 0x1342f,
> -0x13439, 0x143ff,
> -0x14647, 0x167ff,
> -0x16a39, 0x16a3f,
> -0x16a5f, 0x16a5f,
> -0x16a6a, 0x16a6d,
> -0x16a70, 0x16acf,
> -0x16aee, 0x16aef,
> -0x16af6, 0x16aff,
> -0x16b46, 0x16b4f,
> -0x16b5a, 0x16b5a,
> -0x16b62, 0x16b62,
> -0x16b78, 0x16b7c,
> -0x16b90, 0x16e3f,
> -0x16e9b, 0x16eff,
> -0x16f4b, 0x16f4e,
> -0x16f88, 0x16f8e,
> -0x16fa0, 0x16fdf,
> -0x16fe4, 0x16fff,
> -0x187f8, 0x187ff,
> -0x18af3, 0x1afff,
> -0x1b11f, 0x1b14f,
> -0x1b153, 0x1b163,
> -0x1b168, 0x1b16f,
> -0x1b2fc, 0x1bbff,
> -0x1bc6b, 0x1bc6f,
> -0x1bc7d, 0x1bc7f,
> -0x1bc89, 0x1bc8f,
> -0x1bc9a, 0x1bc9b,
> -0x1bca4, 0x1cfff,
> -0x1d0f6, 0x1d0ff,
> -0x1d127, 0x1d128,
> -0x1d1e9, 0x1d1ff,
> -0x1d246, 0x1d2df,
> -0x1d2f4, 0x1d2ff,
> -0x1d357, 0x1d35f,
> -0x1d379, 0x1d3ff,
> -0x1d455, 0x1d455,
> -0x1d49d, 0x1d49d,
> -0x1d4a0, 0x1d4a1,
> -0x1d4a3, 0x1d4a4,
> -0x1d4a7, 0x1d4a8,
> -0x1d4ad, 0x1d4ad,
> -0x1d4ba, 0x1d4ba,
> -0x1d4bc, 0x1d4bc,
> -0x1d4c4, 0x1d4c4,
> -0x1d506, 0x1d506,
> -0x1d50b, 0x1d50c,
> -0x1d515, 0x1d515,
> -0x1d51d, 0x1d51d,
> -0x1d53a, 0x1d53a,
> -0x1d53f, 0x1d53f,
> -0x1d545, 0x1d545,
> -0x1d547, 0x1d549,
> -0x1d551, 0x1d551,
> -0x1d6a6, 0x1d6a7,
> -0x1d7cc, 0x1d7cd,
> -0x1da8c, 0x1da9a,
> -0x1daa0, 0x1daa0,
> -0x1dab0, 0x1dfff,
> -0x1e007, 0x1e007,
> -0x1e019, 0x1e01a,
> -0x1e022, 0x1e022,
> -0x1e025, 0x1e025,
> -0x1e02b, 0x1e0ff,
> -0x1e12d, 0x1e12f,
> -0x1e13e, 0x1e13f,
> -0x1e14a, 0x1e14d,
> -0x1e150, 0x1e2bf,
> -0x1e2fa, 0x1e2fe,
> -0x1e300, 0x1e7ff,
> -0x1e8c5, 0x1e8c6,
> -0x1e8d7, 0x1e8ff,
> -0x1e94c, 0x1e94f,
> -0x1e95a, 0x1e95d,
> -0x1e960, 0x1ec70,
> -0x1ecb5, 0x1ed00,
> -0x1ed3e, 0x1edff,
> -0x1ee04, 0x1ee04,
> -0x1ee20, 0x1ee20,
> -0x1ee23, 0x1ee23,
> -0x1ee25, 0x1ee26,
> -0x1ee28, 0x1ee28,
> -0x1ee33, 0x1ee33,
> -0x1ee38, 0x1ee38,
> -0x1ee3a, 0x1ee3a,
> -0x1ee3c, 0x1ee41,
> -0x1ee43, 0x1ee46,
> -0x1ee48, 0x1ee48,
> -0x1ee4a, 0x1ee4a,
> -0x1ee4c, 0x1ee4c,
> -0x1ee50, 0x1ee50,
> -0x1ee53, 0x1ee53,
> -0x1ee55, 0x1ee56,
> -0x1ee58, 0x1ee58,
> -0x1ee5a, 0x1ee5a,
> -0x1ee5c, 0x1ee5c,
> -0x1ee5e, 0x1ee5e,
> -0x1ee60, 0x1ee60,
> -0x1ee63, 0x1ee63,
> -0x1ee65, 0x1ee66,
> -0x1ee6b, 0x1ee6b,
> -0x1ee73, 0x1ee73,
> -0x1ee78, 0x1ee78,
> -0x1ee7d, 0x1ee7d,
> -0x1ee7f, 0x1ee7f,
> -0x1ee8a, 0x1ee8a,
> -0x1ee9c, 0x1eea0,
> -0x1eea4, 0x1eea4,
> -0x1eeaa, 0x1eeaa,
> -0x1eebc, 0x1eeef,
> -0x1eef2, 0x1efff,
> -0x1f02c, 0x1f02f,
> -0x1f094, 0x1f09f,
> -0x1f0af, 0x1f0b0,
> -0x1f0c0, 0x1f0c0,
> -0x1f0d0, 0x1f0d0,
> -0x1f0f6, 0x1f0ff,
> -0x1f10d, 0x1f10f,
> -0x1f16d, 0x1f16f,
> -0x1f1ad, 0x1f1e5,
> -0x1f203, 0x1f20f,
> -0x1f23c, 0x1f23f,
> -0x1f249, 0x1f24f,
> -0x1f252, 0x1f25f,
> -0x1f266, 0x1f2ff,
> -0x1f6d6, 0x1f6df,
> -0x1f6ed, 0x1f6ef,
> -0x1f6fb, 0x1f6ff,
> -0x1f774, 0x1f77f,
> -0x1f7d9, 0x1f7df,
> -0x1f7ec, 0x1f7ff,
> -0x1f80c, 0x1f80f,
> -0x1f848, 0x1f84f,
> -0x1f85a, 0x1f85f,
> -0x1f888, 0x1f88f,
> -0x1f8ae, 0x1f8ff,
> -0x1f90c, 0x1f90c,
> -0x1f972, 0x1f972,
> -0x1f977, 0x1f979,
> -0x1f9a3, 0x1f9a4,
> -0x1f9ab, 0x1f9ad,
> -0x1f9cb, 0x1f9cc,
> -0x1fa54, 0x1fa5f,
> -0x1fa6e, 0x1fa6f,
> -0x1fa74, 0x1fa77,
> -0x1fa7b, 0x1fa7f,
> -0x1fa83, 0x1fa8f,
> -0x1fa96, 0x1ffff,
> -0x2a6d7, 0x2a6ff,
> -0x2b735, 0x2b73f,
> -0x2b81e, 0x2b81f,
> -0x2cea2, 0x2ceaf,
> -0x2ebe1, 0x2f7ff,
> -0x2fa1e, 0xe0000,
> -0xe0002, 0xe001f,
> -0xe0080, 0xe00ff,
> -0xe01f0, 0xeffff,
> -0xffffe, 0xfffff,
> -0x10fffe, 0x10ffff,
> -}; /* END of CR_Cn */
> -
> -/* PROPERTY: 'Co': General Category */
> -static const OnigCodePoint
> -CR_Co[] = { 3,
> -0xe000, 0xf8ff,
> -0xf0000, 0xffffd,
> -0x100000, 0x10fffd,
> -}; /* END of CR_Co */
> -
> -/* PROPERTY: 'Common': Script */
> -static const OnigCodePoint
> -CR_Common[] = { 172,
> -0x0000, 0x0040,
> -0x005b, 0x0060,
> -0x007b, 0x00a9,
> -0x00ab, 0x00b9,
> -0x00bb, 0x00bf,
> -0x00d7, 0x00d7,
> -0x00f7, 0x00f7,
> -0x02b9, 0x02df,
> -0x02e5, 0x02e9,
> -0x02ec, 0x02ff,
> -0x0374, 0x0374,
> -0x037e, 0x037e,
> -0x0385, 0x0385,
> -0x0387, 0x0387,
> -0x0589, 0x0589,
> -0x0605, 0x0605,
> -0x060c, 0x060c,
> -0x061b, 0x061b,
> -0x061f, 0x061f,
> -0x0640, 0x0640,
> -0x06dd, 0x06dd,
> -0x08e2, 0x08e2,
> -0x0964, 0x0965,
> -0x0e3f, 0x0e3f,
> -0x0fd5, 0x0fd8,
> -0x10fb, 0x10fb,
> -0x16eb, 0x16ed,
> -0x1735, 0x1736,
> -0x1802, 0x1803,
> -0x1805, 0x1805,
> -0x1cd3, 0x1cd3,
> -0x1ce1, 0x1ce1,
> -0x1ce9, 0x1cec,
> -0x1cee, 0x1cf3,
> -0x1cf5, 0x1cf7,
> -0x1cfa, 0x1cfa,
> -0x2000, 0x200b,
> -0x200e, 0x2064,
> -0x2066, 0x2070,
> -0x2074, 0x207e,
> -0x2080, 0x208e,
> -0x20a0, 0x20bf,
> -0x2100, 0x2125,
> -0x2127, 0x2129,
> -0x212c, 0x2131,
> -0x2133, 0x214d,
> -0x214f, 0x215f,
> -0x2189, 0x218b,
> -0x2190, 0x2426,
> -0x2440, 0x244a,
> -0x2460, 0x27ff,
> -0x2900, 0x2b73,
> -0x2b76, 0x2b95,
> -0x2b98, 0x2bff,
> -0x2e00, 0x2e4f,
> -0x2ff0, 0x2ffb,
> -0x3000, 0x3004,
> -0x3006, 0x3006,
> -0x3008, 0x3020,
> -0x3030, 0x3037,
> -0x303c, 0x303f,
> -0x309b, 0x309c,
> -0x30a0, 0x30a0,
> -0x30fb, 0x30fc,
> -0x3190, 0x319f,
> -0x31c0, 0x31e3,
> -0x3220, 0x325f,
> -0x327f, 0x32cf,
> -0x32ff, 0x32ff,
> -0x3358, 0x33ff,
> -0x4dc0, 0x4dff,
> -0xa700, 0xa721,
> -0xa788, 0xa78a,
> -0xa830, 0xa839,
> -0xa92e, 0xa92e,
> -0xa9cf, 0xa9cf,
> -0xab5b, 0xab5b,
> -0xfd3e, 0xfd3f,
> -0xfe10, 0xfe19,
> -0xfe30, 0xfe52,
> -0xfe54, 0xfe66,
> -0xfe68, 0xfe6b,
> -0xfeff, 0xfeff,
> -0xff01, 0xff20,
> -0xff3b, 0xff40,
> -0xff5b, 0xff65,
> -0xff70, 0xff70,
> -0xff9e, 0xff9f,
> -0xffe0, 0xffe6,
> -0xffe8, 0xffee,
> -0xfff9, 0xfffd,
> -0x10100, 0x10102,
> -0x10107, 0x10133,
> -0x10137, 0x1013f,
> -0x10190, 0x1019b,
> -0x101d0, 0x101fc,
> -0x102e1, 0x102fb,
> -0x16fe2, 0x16fe3,
> -0x1bca0, 0x1bca3,
> -0x1d000, 0x1d0f5,
> -0x1d100, 0x1d126,
> -0x1d129, 0x1d166,
> -0x1d16a, 0x1d17a,
> -0x1d183, 0x1d184,
> -0x1d18c, 0x1d1a9,
> -0x1d1ae, 0x1d1e8,
> -0x1d2e0, 0x1d2f3,
> -0x1d300, 0x1d356,
> -0x1d360, 0x1d378,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d7cb,
> -0x1d7ce, 0x1d7ff,
> -0x1ec71, 0x1ecb4,
> -0x1ed01, 0x1ed3d,
> -0x1f000, 0x1f02b,
> -0x1f030, 0x1f093,
> -0x1f0a0, 0x1f0ae,
> -0x1f0b1, 0x1f0bf,
> -0x1f0c1, 0x1f0cf,
> -0x1f0d1, 0x1f0f5,
> -0x1f100, 0x1f10c,
> -0x1f110, 0x1f16c,
> -0x1f170, 0x1f1ac,
> -0x1f1e6, 0x1f1ff,
> -0x1f201, 0x1f202,
> -0x1f210, 0x1f23b,
> -0x1f240, 0x1f248,
> -0x1f250, 0x1f251,
> -0x1f260, 0x1f265,
> -0x1f300, 0x1f6d5,
> -0x1f6e0, 0x1f6ec,
> -0x1f6f0, 0x1f6fa,
> -0x1f700, 0x1f773,
> -0x1f780, 0x1f7d8,
> -0x1f7e0, 0x1f7eb,
> -0x1f800, 0x1f80b,
> -0x1f810, 0x1f847,
> -0x1f850, 0x1f859,
> -0x1f860, 0x1f887,
> -0x1f890, 0x1f8ad,
> -0x1f900, 0x1f90b,
> -0x1f90d, 0x1f971,
> -0x1f973, 0x1f976,
> -0x1f97a, 0x1f9a2,
> -0x1f9a5, 0x1f9aa,
> -0x1f9ae, 0x1f9ca,
> -0x1f9cd, 0x1fa53,
> -0x1fa60, 0x1fa6d,
> -0x1fa70, 0x1fa73,
> -0x1fa78, 0x1fa7a,
> -0x1fa80, 0x1fa82,
> -0x1fa90, 0x1fa95,
> -0xe0001, 0xe0001,
> -0xe0020, 0xe007f,
> -}; /* END of CR_Common */
> -
> -/* PROPERTY: 'Coptic': Script */
> -static const OnigCodePoint
> -CR_Coptic[] = { 3,
> -0x03e2, 0x03ef,
> -0x2c80, 0x2cf3,
> -0x2cf9, 0x2cff,
> -}; /* END of CR_Coptic */
> -
> -/* PROPERTY: 'Cs': General Category */
> -static const OnigCodePoint
> -CR_Cs[] = { 1,
> -0xd800, 0xdfff,
> -}; /* END of CR_Cs */
> -
> -/* PROPERTY: 'Cuneiform': Script */
> -static const OnigCodePoint
> -CR_Cuneiform[] = { 4,
> -0x12000, 0x12399,
> -0x12400, 0x1246e,
> -0x12470, 0x12474,
> -0x12480, 0x12543,
> -}; /* END of CR_Cuneiform */
> -
> -/* PROPERTY: 'Cypriot': Script */
> -static const OnigCodePoint
> -CR_Cypriot[] = { 6,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x1083f,
> -}; /* END of CR_Cypriot */
> -
> -/* PROPERTY: 'Cyrillic': Script */
> -static const OnigCodePoint
> -CR_Cyrillic[] = { 8,
> -0x0400, 0x0484,
> -0x0487, 0x052f,
> -0x1c80, 0x1c88,
> -0x1d2b, 0x1d2b,
> -0x1d78, 0x1d78,
> -0x2de0, 0x2dff,
> -0xa640, 0xa69f,
> -0xfe2e, 0xfe2f,
> -}; /* END of CR_Cyrillic */
> -
> -/* PROPERTY: 'Dash': Binary Property */
> -static const OnigCodePoint
> -CR_Dash[] = { 21,
> -0x002d, 0x002d,
> -0x058a, 0x058a,
> -0x05be, 0x05be,
> -0x1400, 0x1400,
> -0x1806, 0x1806,
> -0x2010, 0x2015,
> -0x2053, 0x2053,
> -0x207b, 0x207b,
> -0x208b, 0x208b,
> -0x2212, 0x2212,
> -0x2e17, 0x2e17,
> -0x2e1a, 0x2e1a,
> -0x2e3a, 0x2e3b,
> -0x2e40, 0x2e40,
> -0x301c, 0x301c,
> -0x3030, 0x3030,
> -0x30a0, 0x30a0,
> -0xfe31, 0xfe32,
> -0xfe58, 0xfe58,
> -0xfe63, 0xfe63,
> -0xff0d, 0xff0d,
> -}; /* END of CR_Dash */
> -
> -/* PROPERTY: 'Default_Ignorable_Code_Point': Derived Property */
> -static const OnigCodePoint
> -CR_Default_Ignorable_Code_Point[] = { 17,
> -0x00ad, 0x00ad,
> -0x034f, 0x034f,
> -0x061c, 0x061c,
> -0x115f, 0x1160,
> -0x17b4, 0x17b5,
> -0x180b, 0x180e,
> -0x200b, 0x200f,
> -0x202a, 0x202e,
> -0x2060, 0x206f,
> -0x3164, 0x3164,
> -0xfe00, 0xfe0f,
> -0xfeff, 0xfeff,
> -0xffa0, 0xffa0,
> -0xfff0, 0xfff8,
> -0x1bca0, 0x1bca3,
> -0x1d173, 0x1d17a,
> -0xe0000, 0xe0fff,
> -}; /* END of CR_Default_Ignorable_Code_Point */
> -
> -/* PROPERTY: 'Deprecated': Binary Property */
> -static const OnigCodePoint
> -CR_Deprecated[] = { 8,
> -0x0149, 0x0149,
> -0x0673, 0x0673,
> -0x0f77, 0x0f77,
> -0x0f79, 0x0f79,
> -0x17a3, 0x17a4,
> -0x206a, 0x206f,
> -0x2329, 0x232a,
> -0xe0001, 0xe0001,
> -}; /* END of CR_Deprecated */
> -
> -/* PROPERTY: 'Deseret': Script */
> -static const OnigCodePoint
> -CR_Deseret[] = { 1,
> -0x10400, 0x1044f,
> -}; /* END of CR_Deseret */
> -
> -/* PROPERTY: 'Devanagari': Script */
> -static const OnigCodePoint
> -CR_Devanagari[] = { 4,
> -0x0900, 0x0950,
> -0x0955, 0x0963,
> -0x0966, 0x097f,
> -0xa8e0, 0xa8ff,
> -}; /* END of CR_Devanagari */
> -
> -/* PROPERTY: 'Diacritic': Binary Property */
> -static const OnigCodePoint
> -CR_Diacritic[] = { 171,
> -0x005e, 0x005e,
> -0x0060, 0x0060,
> -0x00a8, 0x00a8,
> -0x00af, 0x00af,
> -0x00b4, 0x00b4,
> -0x00b7, 0x00b8,
> -0x02b0, 0x034e,
> -0x0350, 0x0357,
> -0x035d, 0x0362,
> -0x0374, 0x0375,
> -0x037a, 0x037a,
> -0x0384, 0x0385,
> -0x0483, 0x0487,
> -0x0559, 0x0559,
> -0x0591, 0x05a1,
> -0x05a3, 0x05bd,
> -0x05bf, 0x05bf,
> -0x05c1, 0x05c2,
> -0x05c4, 0x05c4,
> -0x064b, 0x0652,
> -0x0657, 0x0658,
> -0x06df, 0x06e0,
> -0x06e5, 0x06e6,
> -0x06ea, 0x06ec,
> -0x0730, 0x074a,
> -0x07a6, 0x07b0,
> -0x07eb, 0x07f5,
> -0x0818, 0x0819,
> -0x08e3, 0x08fe,
> -0x093c, 0x093c,
> -0x094d, 0x094d,
> -0x0951, 0x0954,
> -0x0971, 0x0971,
> -0x09bc, 0x09bc,
> -0x09cd, 0x09cd,
> -0x0a3c, 0x0a3c,
> -0x0a4d, 0x0a4d,
> -0x0abc, 0x0abc,
> -0x0acd, 0x0acd,
> -0x0afd, 0x0aff,
> -0x0b3c, 0x0b3c,
> -0x0b4d, 0x0b4d,
> -0x0bcd, 0x0bcd,
> -0x0c4d, 0x0c4d,
> -0x0cbc, 0x0cbc,
> -0x0ccd, 0x0ccd,
> -0x0d3b, 0x0d3c,
> -0x0d4d, 0x0d4d,
> -0x0dca, 0x0dca,
> -0x0e47, 0x0e4c,
> -0x0e4e, 0x0e4e,
> -0x0eba, 0x0eba,
> -0x0ec8, 0x0ecc,
> -0x0f18, 0x0f19,
> -0x0f35, 0x0f35,
> -0x0f37, 0x0f37,
> -0x0f39, 0x0f39,
> -0x0f3e, 0x0f3f,
> -0x0f82, 0x0f84,
> -0x0f86, 0x0f87,
> -0x0fc6, 0x0fc6,
> -0x1037, 0x1037,
> -0x1039, 0x103a,
> -0x1063, 0x1064,
> -0x1069, 0x106d,
> -0x1087, 0x108d,
> -0x108f, 0x108f,
> -0x109a, 0x109b,
> -0x135d, 0x135f,
> -0x17c9, 0x17d3,
> -0x17dd, 0x17dd,
> -0x1939, 0x193b,
> -0x1a75, 0x1a7c,
> -0x1a7f, 0x1a7f,
> -0x1ab0, 0x1abd,
> -0x1b34, 0x1b34,
> -0x1b44, 0x1b44,
> -0x1b6b, 0x1b73,
> -0x1baa, 0x1bab,
> -0x1c36, 0x1c37,
> -0x1c78, 0x1c7d,
> -0x1cd0, 0x1ce8,
> -0x1ced, 0x1ced,
> -0x1cf4, 0x1cf4,
> -0x1cf7, 0x1cf9,
> -0x1d2c, 0x1d6a,
> -0x1dc4, 0x1dcf,
> -0x1df5, 0x1df9,
> -0x1dfd, 0x1dff,
> -0x1fbd, 0x1fbd,
> -0x1fbf, 0x1fc1,
> -0x1fcd, 0x1fcf,
> -0x1fdd, 0x1fdf,
> -0x1fed, 0x1fef,
> -0x1ffd, 0x1ffe,
> -0x2cef, 0x2cf1,
> -0x2e2f, 0x2e2f,
> -0x302a, 0x302f,
> -0x3099, 0x309c,
> -0x30fc, 0x30fc,
> -0xa66f, 0xa66f,
> -0xa67c, 0xa67d,
> -0xa67f, 0xa67f,
> -0xa69c, 0xa69d,
> -0xa6f0, 0xa6f1,
> -0xa700, 0xa721,
> -0xa788, 0xa78a,
> -0xa7f8, 0xa7f9,
> -0xa8c4, 0xa8c4,
> -0xa8e0, 0xa8f1,
> -0xa92b, 0xa92e,
> -0xa953, 0xa953,
> -0xa9b3, 0xa9b3,
> -0xa9c0, 0xa9c0,
> -0xa9e5, 0xa9e5,
> -0xaa7b, 0xaa7d,
> -0xaabf, 0xaac2,
> -0xaaf6, 0xaaf6,
> -0xab5b, 0xab5f,
> -0xabec, 0xabed,
> -0xfb1e, 0xfb1e,
> -0xfe20, 0xfe2f,
> -0xff3e, 0xff3e,
> -0xff40, 0xff40,
> -0xff70, 0xff70,
> -0xff9e, 0xff9f,
> -0xffe3, 0xffe3,
> -0x102e0, 0x102e0,
> -0x10ae5, 0x10ae6,
> -0x10d22, 0x10d27,
> -0x10f46, 0x10f50,
> -0x110b9, 0x110ba,
> -0x11133, 0x11134,
> -0x11173, 0x11173,
> -0x111c0, 0x111c0,
> -0x111ca, 0x111cc,
> -0x11235, 0x11236,
> -0x112e9, 0x112ea,
> -0x1133c, 0x1133c,
> -0x1134d, 0x1134d,
> -0x11366, 0x1136c,
> -0x11370, 0x11374,
> -0x11442, 0x11442,
> -0x11446, 0x11446,
> -0x114c2, 0x114c3,
> -0x115bf, 0x115c0,
> -0x1163f, 0x1163f,
> -0x116b6, 0x116b7,
> -0x1172b, 0x1172b,
> -0x11839, 0x1183a,
> -0x119e0, 0x119e0,
> -0x11a34, 0x11a34,
> -0x11a47, 0x11a47,
> -0x11a99, 0x11a99,
> -0x11c3f, 0x11c3f,
> -0x11d42, 0x11d42,
> -0x11d44, 0x11d45,
> -0x11d97, 0x11d97,
> -0x16af0, 0x16af4,
> -0x16b30, 0x16b36,
> -0x16f8f, 0x16f9f,
> -0x1d167, 0x1d169,
> -0x1d16d, 0x1d172,
> -0x1d17b, 0x1d182,
> -0x1d185, 0x1d18b,
> -0x1d1aa, 0x1d1ad,
> -0x1e130, 0x1e136,
> -0x1e2ec, 0x1e2ef,
> -0x1e8d0, 0x1e8d6,
> -0x1e944, 0x1e946,
> -0x1e948, 0x1e94a,
> -}; /* END of CR_Diacritic */
> -
> -/* PROPERTY: 'Dogra': Script */
> -static const OnigCodePoint
> -CR_Dogra[] = { 1,
> -0x11800, 0x1183b,
> -}; /* END of CR_Dogra */
> -
> -/* PROPERTY: 'Duployan': Script */
> -static const OnigCodePoint
> -CR_Duployan[] = { 5,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1bc9c, 0x1bc9f,
> -}; /* END of CR_Duployan */
> -
> -/* PROPERTY: 'Egyptian_Hieroglyphs': Script */
> -static const OnigCodePoint
> -CR_Egyptian_Hieroglyphs[] = { 2,
> -0x13000, 0x1342e,
> -0x13430, 0x13438,
> -}; /* END of CR_Egyptian_Hieroglyphs */
> -
> -/* PROPERTY: 'Elbasan': Script */
> -static const OnigCodePoint
> -CR_Elbasan[] = { 1,
> -0x10500, 0x10527,
> -}; /* END of CR_Elbasan */
> -
> -/* PROPERTY: 'Elymaic': Script */
> -static const OnigCodePoint
> -CR_Elymaic[] = { 1,
> -0x10fe0, 0x10ff6,
> -}; /* END of CR_Elymaic */
> -
> -/* PROPERTY: 'Emoji': Emoji Property */
> -static const OnigCodePoint
> -CR_Emoji[] = { 151,
> -0x0023, 0x0023,
> -0x002a, 0x002a,
> -0x0030, 0x0039,
> -0x00a9, 0x00a9,
> -0x00ae, 0x00ae,
> -0x203c, 0x203c,
> -0x2049, 0x2049,
> -0x2122, 0x2122,
> -0x2139, 0x2139,
> -0x2194, 0x2199,
> -0x21a9, 0x21aa,
> -0x231a, 0x231b,
> -0x2328, 0x2328,
> -0x23cf, 0x23cf,
> -0x23e9, 0x23f3,
> -0x23f8, 0x23fa,
> -0x24c2, 0x24c2,
> -0x25aa, 0x25ab,
> -0x25b6, 0x25b6,
> -0x25c0, 0x25c0,
> -0x25fb, 0x25fe,
> -0x2600, 0x2604,
> -0x260e, 0x260e,
> -0x2611, 0x2611,
> -0x2614, 0x2615,
> -0x2618, 0x2618,
> -0x261d, 0x261d,
> -0x2620, 0x2620,
> -0x2622, 0x2623,
> -0x2626, 0x2626,
> -0x262a, 0x262a,
> -0x262e, 0x262f,
> -0x2638, 0x263a,
> -0x2640, 0x2640,
> -0x2642, 0x2642,
> -0x2648, 0x2653,
> -0x265f, 0x2660,
> -0x2663, 0x2663,
> -0x2665, 0x2666,
> -0x2668, 0x2668,
> -0x267b, 0x267b,
> -0x267e, 0x267f,
> -0x2692, 0x2697,
> -0x2699, 0x2699,
> -0x269b, 0x269c,
> -0x26a0, 0x26a1,
> -0x26aa, 0x26ab,
> -0x26b0, 0x26b1,
> -0x26bd, 0x26be,
> -0x26c4, 0x26c5,
> -0x26c8, 0x26c8,
> -0x26ce, 0x26cf,
> -0x26d1, 0x26d1,
> -0x26d3, 0x26d4,
> -0x26e9, 0x26ea,
> -0x26f0, 0x26f5,
> -0x26f7, 0x26fa,
> -0x26fd, 0x26fd,
> -0x2702, 0x2702,
> -0x2705, 0x2705,
> -0x2708, 0x270d,
> -0x270f, 0x270f,
> -0x2712, 0x2712,
> -0x2714, 0x2714,
> -0x2716, 0x2716,
> -0x271d, 0x271d,
> -0x2721, 0x2721,
> -0x2728, 0x2728,
> -0x2733, 0x2734,
> -0x2744, 0x2744,
> -0x2747, 0x2747,
> -0x274c, 0x274c,
> -0x274e, 0x274e,
> -0x2753, 0x2755,
> -0x2757, 0x2757,
> -0x2763, 0x2764,
> -0x2795, 0x2797,
> -0x27a1, 0x27a1,
> -0x27b0, 0x27b0,
> -0x27bf, 0x27bf,
> -0x2934, 0x2935,
> -0x2b05, 0x2b07,
> -0x2b1b, 0x2b1c,
> -0x2b50, 0x2b50,
> -0x2b55, 0x2b55,
> -0x3030, 0x3030,
> -0x303d, 0x303d,
> -0x3297, 0x3297,
> -0x3299, 0x3299,
> -0x1f004, 0x1f004,
> -0x1f0cf, 0x1f0cf,
> -0x1f170, 0x1f171,
> -0x1f17e, 0x1f17f,
> -0x1f18e, 0x1f18e,
> -0x1f191, 0x1f19a,
> -0x1f1e6, 0x1f1ff,
> -0x1f201, 0x1f202,
> -0x1f21a, 0x1f21a,
> -0x1f22f, 0x1f22f,
> -0x1f232, 0x1f23a,
> -0x1f250, 0x1f251,
> -0x1f300, 0x1f321,
> -0x1f324, 0x1f393,
> -0x1f396, 0x1f397,
> -0x1f399, 0x1f39b,
> -0x1f39e, 0x1f3f0,
> -0x1f3f3, 0x1f3f5,
> -0x1f3f7, 0x1f4fd,
> -0x1f4ff, 0x1f53d,
> -0x1f549, 0x1f54e,
> -0x1f550, 0x1f567,
> -0x1f56f, 0x1f570,
> -0x1f573, 0x1f57a,
> -0x1f587, 0x1f587,
> -0x1f58a, 0x1f58d,
> -0x1f590, 0x1f590,
> -0x1f595, 0x1f596,
> -0x1f5a4, 0x1f5a5,
> -0x1f5a8, 0x1f5a8,
> -0x1f5b1, 0x1f5b2,
> -0x1f5bc, 0x1f5bc,
> -0x1f5c2, 0x1f5c4,
> -0x1f5d1, 0x1f5d3,
> -0x1f5dc, 0x1f5de,
> -0x1f5e1, 0x1f5e1,
> -0x1f5e3, 0x1f5e3,
> -0x1f5e8, 0x1f5e8,
> -0x1f5ef, 0x1f5ef,
> -0x1f5f3, 0x1f5f3,
> -0x1f5fa, 0x1f64f,
> -0x1f680, 0x1f6c5,
> -0x1f6cb, 0x1f6d2,
> -0x1f6d5, 0x1f6d5,
> -0x1f6e0, 0x1f6e5,
> -0x1f6e9, 0x1f6e9,
> -0x1f6eb, 0x1f6ec,
> -0x1f6f0, 0x1f6f0,
> -0x1f6f3, 0x1f6fa,
> -0x1f7e0, 0x1f7eb,
> -0x1f90d, 0x1f93a,
> -0x1f93c, 0x1f945,
> -0x1f947, 0x1f971,
> -0x1f973, 0x1f976,
> -0x1f97a, 0x1f9a2,
> -0x1f9a5, 0x1f9aa,
> -0x1f9ae, 0x1f9ca,
> -0x1f9cd, 0x1f9ff,
> -0x1fa70, 0x1fa73,
> -0x1fa78, 0x1fa7a,
> -0x1fa80, 0x1fa82,
> -0x1fa90, 0x1fa95,
> -}; /* END of CR_Emoji */
> -
> -/* PROPERTY: 'Emoji_Component': Emoji Property */
> -static const OnigCodePoint
> -CR_Emoji_Component[] = { 10,
> -0x0023, 0x0023,
> -0x002a, 0x002a,
> -0x0030, 0x0039,
> -0x200d, 0x200d,
> -0x20e3, 0x20e3,
> -0xfe0f, 0xfe0f,
> -0x1f1e6, 0x1f1ff,
> -0x1f3fb, 0x1f3ff,
> -0x1f9b0, 0x1f9b3,
> -0xe0020, 0xe007f,
> -}; /* END of CR_Emoji_Component */
> -
> -/* PROPERTY: 'Emoji_Modifier': Emoji Property */
> -static const OnigCodePoint
> -CR_Emoji_Modifier[] = { 1,
> -0x1f3fb, 0x1f3ff,
> -}; /* END of CR_Emoji_Modifier */
> -
> -/* PROPERTY: 'Emoji_Modifier_Base': Emoji Property */
> -static const OnigCodePoint
> -CR_Emoji_Modifier_Base[] = { 36,
> -0x261d, 0x261d,
> -0x26f9, 0x26f9,
> -0x270a, 0x270d,
> -0x1f385, 0x1f385,
> -0x1f3c2, 0x1f3c4,
> -0x1f3c7, 0x1f3c7,
> -0x1f3ca, 0x1f3cc,
> -0x1f442, 0x1f443,
> -0x1f446, 0x1f450,
> -0x1f466, 0x1f478,
> -0x1f47c, 0x1f47c,
> -0x1f481, 0x1f483,
> -0x1f485, 0x1f487,
> -0x1f48f, 0x1f48f,
> -0x1f491, 0x1f491,
> -0x1f4aa, 0x1f4aa,
> -0x1f574, 0x1f575,
> -0x1f57a, 0x1f57a,
> -0x1f590, 0x1f590,
> -0x1f595, 0x1f596,
> -0x1f645, 0x1f647,
> -0x1f64b, 0x1f64f,
> -0x1f6a3, 0x1f6a3,
> -0x1f6b4, 0x1f6b6,
> -0x1f6c0, 0x1f6c0,
> -0x1f6cc, 0x1f6cc,
> -0x1f90f, 0x1f90f,
> -0x1f918, 0x1f91f,
> -0x1f926, 0x1f926,
> -0x1f930, 0x1f939,
> -0x1f93c, 0x1f93e,
> -0x1f9b5, 0x1f9b6,
> -0x1f9b8, 0x1f9b9,
> -0x1f9bb, 0x1f9bb,
> -0x1f9cd, 0x1f9cf,
> -0x1f9d1, 0x1f9dd,
> -}; /* END of CR_Emoji_Modifier_Base */
> -
> -/* PROPERTY: 'Emoji_Presentation': Emoji Property */
> -static const OnigCodePoint
> -CR_Emoji_Presentation[] = { 81,
> -0x231a, 0x231b,
> -0x23e9, 0x23ec,
> -0x23f0, 0x23f0,
> -0x23f3, 0x23f3,
> -0x25fd, 0x25fe,
> -0x2614, 0x2615,
> -0x2648, 0x2653,
> -0x267f, 0x267f,
> -0x2693, 0x2693,
> -0x26a1, 0x26a1,
> -0x26aa, 0x26ab,
> -0x26bd, 0x26be,
> -0x26c4, 0x26c5,
> -0x26ce, 0x26ce,
> -0x26d4, 0x26d4,
> -0x26ea, 0x26ea,
> -0x26f2, 0x26f3,
> -0x26f5, 0x26f5,
> -0x26fa, 0x26fa,
> -0x26fd, 0x26fd,
> -0x2705, 0x2705,
> -0x270a, 0x270b,
> -0x2728, 0x2728,
> -0x274c, 0x274c,
> -0x274e, 0x274e,
> -0x2753, 0x2755,
> -0x2757, 0x2757,
> -0x2795, 0x2797,
> -0x27b0, 0x27b0,
> -0x27bf, 0x27bf,
> -0x2b1b, 0x2b1c,
> -0x2b50, 0x2b50,
> -0x2b55, 0x2b55,
> -0x1f004, 0x1f004,
> -0x1f0cf, 0x1f0cf,
> -0x1f18e, 0x1f18e,
> -0x1f191, 0x1f19a,
> -0x1f1e6, 0x1f1ff,
> -0x1f201, 0x1f201,
> -0x1f21a, 0x1f21a,
> -0x1f22f, 0x1f22f,
> -0x1f232, 0x1f236,
> -0x1f238, 0x1f23a,
> -0x1f250, 0x1f251,
> -0x1f300, 0x1f320,
> -0x1f32d, 0x1f335,
> -0x1f337, 0x1f37c,
> -0x1f37e, 0x1f393,
> -0x1f3a0, 0x1f3ca,
> -0x1f3cf, 0x1f3d3,
> -0x1f3e0, 0x1f3f0,
> -0x1f3f4, 0x1f3f4,
> -0x1f3f8, 0x1f43e,
> -0x1f440, 0x1f440,
> -0x1f442, 0x1f4fc,
> -0x1f4ff, 0x1f53d,
> -0x1f54b, 0x1f54e,
> -0x1f550, 0x1f567,
> -0x1f57a, 0x1f57a,
> -0x1f595, 0x1f596,
> -0x1f5a4, 0x1f5a4,
> -0x1f5fb, 0x1f64f,
> -0x1f680, 0x1f6c5,
> -0x1f6cc, 0x1f6cc,
> -0x1f6d0, 0x1f6d2,
> -0x1f6d5, 0x1f6d5,
> -0x1f6eb, 0x1f6ec,
> -0x1f6f4, 0x1f6fa,
> -0x1f7e0, 0x1f7eb,
> -0x1f90d, 0x1f93a,
> -0x1f93c, 0x1f945,
> -0x1f947, 0x1f971,
> -0x1f973, 0x1f976,
> -0x1f97a, 0x1f9a2,
> -0x1f9a5, 0x1f9aa,
> -0x1f9ae, 0x1f9ca,
> -0x1f9cd, 0x1f9ff,
> -0x1fa70, 0x1fa73,
> -0x1fa78, 0x1fa7a,
> -0x1fa80, 0x1fa82,
> -0x1fa90, 0x1fa95,
> -}; /* END of CR_Emoji_Presentation */
> -
> -/* PROPERTY: 'Ethiopic': Script */
> -static const OnigCodePoint
> -CR_Ethiopic[] = { 32,
> -0x1200, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x135d, 0x137c,
> -0x1380, 0x1399,
> -0x2d80, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -}; /* END of CR_Ethiopic */
> -
> -/* PROPERTY: 'Extended_Pictographic': Emoji Property */
> -static const OnigCodePoint
> -CR_Extended_Pictographic[] = { 77,
> -0x00a9, 0x00a9,
> -0x00ae, 0x00ae,
> -0x203c, 0x203c,
> -0x2049, 0x2049,
> -0x2122, 0x2122,
> -0x2139, 0x2139,
> -0x2194, 0x2199,
> -0x21a9, 0x21aa,
> -0x231a, 0x231b,
> -0x2328, 0x2328,
> -0x2388, 0x2388,
> -0x23cf, 0x23cf,
> -0x23e9, 0x23f3,
> -0x23f8, 0x23fa,
> -0x24c2, 0x24c2,
> -0x25aa, 0x25ab,
> -0x25b6, 0x25b6,
> -0x25c0, 0x25c0,
> -0x25fb, 0x25fe,
> -0x2600, 0x2605,
> -0x2607, 0x2612,
> -0x2614, 0x2685,
> -0x2690, 0x2705,
> -0x2708, 0x2712,
> -0x2714, 0x2714,
> -0x2716, 0x2716,
> -0x271d, 0x271d,
> -0x2721, 0x2721,
> -0x2728, 0x2728,
> -0x2733, 0x2734,
> -0x2744, 0x2744,
> -0x2747, 0x2747,
> -0x274c, 0x274c,
> -0x274e, 0x274e,
> -0x2753, 0x2755,
> -0x2757, 0x2757,
> -0x2763, 0x2767,
> -0x2795, 0x2797,
> -0x27a1, 0x27a1,
> -0x27b0, 0x27b0,
> -0x27bf, 0x27bf,
> -0x2934, 0x2935,
> -0x2b05, 0x2b07,
> -0x2b1b, 0x2b1c,
> -0x2b50, 0x2b50,
> -0x2b55, 0x2b55,
> -0x3030, 0x3030,
> -0x303d, 0x303d,
> -0x3297, 0x3297,
> -0x3299, 0x3299,
> -0x1f000, 0x1f0ff,
> -0x1f10d, 0x1f10f,
> -0x1f12f, 0x1f12f,
> -0x1f16c, 0x1f171,
> -0x1f17e, 0x1f17f,
> -0x1f18e, 0x1f18e,
> -0x1f191, 0x1f19a,
> -0x1f1ad, 0x1f1e5,
> -0x1f201, 0x1f20f,
> -0x1f21a, 0x1f21a,
> -0x1f22f, 0x1f22f,
> -0x1f232, 0x1f23a,
> -0x1f23c, 0x1f23f,
> -0x1f249, 0x1f3fa,
> -0x1f400, 0x1f53d,
> -0x1f546, 0x1f64f,
> -0x1f680, 0x1f6ff,
> -0x1f774, 0x1f77f,
> -0x1f7d5, 0x1f7ff,
> -0x1f80c, 0x1f80f,
> -0x1f848, 0x1f84f,
> -0x1f85a, 0x1f85f,
> -0x1f888, 0x1f88f,
> -0x1f8ae, 0x1f8ff,
> -0x1f90c, 0x1f93a,
> -0x1f93c, 0x1f945,
> -0x1f947, 0x1fffd,
> -}; /* END of CR_Extended_Pictographic */
> -
> -/* PROPERTY: 'Extender': Binary Property */
> -static const OnigCodePoint
> -CR_Extender[] = { 31,
> -0x00b7, 0x00b7,
> -0x02d0, 0x02d1,
> -0x0640, 0x0640,
> -0x07fa, 0x07fa,
> -0x0e46, 0x0e46,
> -0x0ec6, 0x0ec6,
> -0x180a, 0x180a,
> -0x1843, 0x1843,
> -0x1aa7, 0x1aa7,
> -0x1c36, 0x1c36,
> -0x1c7b, 0x1c7b,
> -0x3005, 0x3005,
> -0x3031, 0x3035,
> -0x309d, 0x309e,
> -0x30fc, 0x30fe,
> -0xa015, 0xa015,
> -0xa60c, 0xa60c,
> -0xa9cf, 0xa9cf,
> -0xa9e6, 0xa9e6,
> -0xaa70, 0xaa70,
> -0xaadd, 0xaadd,
> -0xaaf3, 0xaaf4,
> -0xff70, 0xff70,
> -0x1135d, 0x1135d,
> -0x115c6, 0x115c8,
> -0x11a98, 0x11a98,
> -0x16b42, 0x16b43,
> -0x16fe0, 0x16fe1,
> -0x16fe3, 0x16fe3,
> -0x1e13c, 0x1e13d,
> -0x1e944, 0x1e946,
> -}; /* END of CR_Extender */
> -
> -/* PROPERTY: 'Georgian': Script */
> -static const OnigCodePoint
> -CR_Georgian[] = { 10,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x10fa,
> -0x10fc, 0x10ff,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -}; /* END of CR_Georgian */
> -
> -/* PROPERTY: 'Glagolitic': Script */
> -static const OnigCodePoint
> -CR_Glagolitic[] = { 7,
> -0x2c00, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -}; /* END of CR_Glagolitic */
> -
> -/* PROPERTY: 'Gothic': Script */
> -static const OnigCodePoint
> -CR_Gothic[] = { 1,
> -0x10330, 0x1034a,
> -}; /* END of CR_Gothic */
> -
> -/* PROPERTY: 'Grantha': Script */
> -static const OnigCodePoint
> -CR_Grantha[] = { 15,
> -0x11300, 0x11303,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133c, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134d,
> -0x11350, 0x11350,
> -0x11357, 0x11357,
> -0x1135d, 0x11363,
> -0x11366, 0x1136c,
> -0x11370, 0x11374,
> -}; /* END of CR_Grantha */
> -
> -/* PROPERTY: 'Grapheme_Base': Derived Property */
> -static const OnigCodePoint
> -CR_Grapheme_Base[] = { 819,
> -0x0020, 0x007e,
> -0x00a0, 0x00ac,
> -0x00ae, 0x02ff,
> -0x0370, 0x0377,
> -0x037a, 0x037f,
> -0x0384, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x0482,
> -0x048a, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x058a,
> -0x058d, 0x058f,
> -0x05be, 0x05be,
> -0x05c0, 0x05c0,
> -0x05c3, 0x05c3,
> -0x05c6, 0x05c6,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f4,
> -0x0606, 0x060f,
> -0x061b, 0x061b,
> -0x061e, 0x064a,
> -0x0660, 0x066f,
> -0x0671, 0x06d5,
> -0x06de, 0x06de,
> -0x06e5, 0x06e6,
> -0x06e9, 0x06e9,
> -0x06ee, 0x070d,
> -0x0710, 0x0710,
> -0x0712, 0x072f,
> -0x074d, 0x07a5,
> -0x07b1, 0x07b1,
> -0x07c0, 0x07ea,
> -0x07f4, 0x07fa,
> -0x07fe, 0x0815,
> -0x081a, 0x081a,
> -0x0824, 0x0824,
> -0x0828, 0x0828,
> -0x0830, 0x083e,
> -0x0840, 0x0858,
> -0x085e, 0x085e,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x0903, 0x0939,
> -0x093b, 0x093b,
> -0x093d, 0x0940,
> -0x0949, 0x094c,
> -0x094e, 0x0950,
> -0x0958, 0x0961,
> -0x0964, 0x0980,
> -0x0982, 0x0983,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bd, 0x09bd,
> -0x09bf, 0x09c0,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09cc,
> -0x09ce, 0x09ce,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e1,
> -0x09e6, 0x09fd,
> -0x0a03, 0x0a03,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a3e, 0x0a40,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a66, 0x0a6f,
> -0x0a72, 0x0a74,
> -0x0a76, 0x0a76,
> -0x0a83, 0x0a83,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abd, 0x0ac0,
> -0x0ac9, 0x0ac9,
> -0x0acb, 0x0acc,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae1,
> -0x0ae6, 0x0af1,
> -0x0af9, 0x0af9,
> -0x0b02, 0x0b03,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3d, 0x0b3d,
> -0x0b40, 0x0b40,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4c,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b61,
> -0x0b66, 0x0b77,
> -0x0b83, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bbf, 0x0bbf,
> -0x0bc1, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcc,
> -0x0bd0, 0x0bd0,
> -0x0be6, 0x0bfa,
> -0x0c01, 0x0c03,
> -0x0c05, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c3d,
> -0x0c41, 0x0c44,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c61,
> -0x0c66, 0x0c6f,
> -0x0c77, 0x0c80,
> -0x0c82, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbd, 0x0cbe,
> -0x0cc0, 0x0cc1,
> -0x0cc3, 0x0cc4,
> -0x0cc7, 0x0cc8,
> -0x0cca, 0x0ccb,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce1,
> -0x0ce6, 0x0cef,
> -0x0cf1, 0x0cf2,
> -0x0d02, 0x0d03,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d3a,
> -0x0d3d, 0x0d3d,
> -0x0d3f, 0x0d40,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4c,
> -0x0d4e, 0x0d4f,
> -0x0d54, 0x0d56,
> -0x0d58, 0x0d61,
> -0x0d66, 0x0d7f,
> -0x0d82, 0x0d83,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0dd0, 0x0dd1,
> -0x0dd8, 0x0dde,
> -0x0de6, 0x0def,
> -0x0df2, 0x0df4,
> -0x0e01, 0x0e30,
> -0x0e32, 0x0e33,
> -0x0e3f, 0x0e46,
> -0x0e4f, 0x0e5b,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0eb0,
> -0x0eb2, 0x0eb3,
> -0x0ebd, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0ed0, 0x0ed9,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f17,
> -0x0f1a, 0x0f34,
> -0x0f36, 0x0f36,
> -0x0f38, 0x0f38,
> -0x0f3a, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f7f, 0x0f7f,
> -0x0f85, 0x0f85,
> -0x0f88, 0x0f8c,
> -0x0fbe, 0x0fc5,
> -0x0fc7, 0x0fcc,
> -0x0fce, 0x0fda,
> -0x1000, 0x102c,
> -0x1031, 0x1031,
> -0x1038, 0x1038,
> -0x103b, 0x103c,
> -0x103f, 0x1057,
> -0x105a, 0x105d,
> -0x1061, 0x1070,
> -0x1075, 0x1081,
> -0x1083, 0x1084,
> -0x1087, 0x108c,
> -0x108e, 0x109c,
> -0x109e, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x1360, 0x137c,
> -0x1380, 0x1399,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1400, 0x169c,
> -0x16a0, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1711,
> -0x1720, 0x1731,
> -0x1735, 0x1736,
> -0x1740, 0x1751,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1780, 0x17b3,
> -0x17b6, 0x17b6,
> -0x17be, 0x17c5,
> -0x17c7, 0x17c8,
> -0x17d4, 0x17dc,
> -0x17e0, 0x17e9,
> -0x17f0, 0x17f9,
> -0x1800, 0x180a,
> -0x1810, 0x1819,
> -0x1820, 0x1878,
> -0x1880, 0x1884,
> -0x1887, 0x18a8,
> -0x18aa, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1923, 0x1926,
> -0x1929, 0x192b,
> -0x1930, 0x1931,
> -0x1933, 0x1938,
> -0x1940, 0x1940,
> -0x1944, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x19d0, 0x19da,
> -0x19de, 0x1a16,
> -0x1a19, 0x1a1a,
> -0x1a1e, 0x1a55,
> -0x1a57, 0x1a57,
> -0x1a61, 0x1a61,
> -0x1a63, 0x1a64,
> -0x1a6d, 0x1a72,
> -0x1a80, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1aa0, 0x1aad,
> -0x1b04, 0x1b33,
> -0x1b3b, 0x1b3b,
> -0x1b3d, 0x1b41,
> -0x1b43, 0x1b4b,
> -0x1b50, 0x1b6a,
> -0x1b74, 0x1b7c,
> -0x1b82, 0x1ba1,
> -0x1ba6, 0x1ba7,
> -0x1baa, 0x1baa,
> -0x1bae, 0x1be5,
> -0x1be7, 0x1be7,
> -0x1bea, 0x1bec,
> -0x1bee, 0x1bee,
> -0x1bf2, 0x1bf3,
> -0x1bfc, 0x1c2b,
> -0x1c34, 0x1c35,
> -0x1c3b, 0x1c49,
> -0x1c4d, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cc7,
> -0x1cd3, 0x1cd3,
> -0x1ce1, 0x1ce1,
> -0x1ce9, 0x1cec,
> -0x1cee, 0x1cf3,
> -0x1cf5, 0x1cf7,
> -0x1cfa, 0x1cfa,
> -0x1d00, 0x1dbf,
> -0x1e00, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fc4,
> -0x1fc6, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fdd, 0x1fef,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffe,
> -0x2000, 0x200a,
> -0x2010, 0x2027,
> -0x202f, 0x205f,
> -0x2070, 0x2071,
> -0x2074, 0x208e,
> -0x2090, 0x209c,
> -0x20a0, 0x20bf,
> -0x2100, 0x218b,
> -0x2190, 0x2426,
> -0x2440, 0x244a,
> -0x2460, 0x2b73,
> -0x2b76, 0x2b95,
> -0x2b98, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2cee,
> -0x2cf2, 0x2cf3,
> -0x2cf9, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d70,
> -0x2d80, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x2e00, 0x2e4f,
> -0x2e80, 0x2e99,
> -0x2e9b, 0x2ef3,
> -0x2f00, 0x2fd5,
> -0x2ff0, 0x2ffb,
> -0x3000, 0x3029,
> -0x3030, 0x303f,
> -0x3041, 0x3096,
> -0x309b, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x3190, 0x31ba,
> -0x31c0, 0x31e3,
> -0x31f0, 0x321e,
> -0x3220, 0x4db5,
> -0x4dc0, 0x9fef,
> -0xa000, 0xa48c,
> -0xa490, 0xa4c6,
> -0xa4d0, 0xa62b,
> -0xa640, 0xa66e,
> -0xa673, 0xa673,
> -0xa67e, 0xa69d,
> -0xa6a0, 0xa6ef,
> -0xa6f2, 0xa6f7,
> -0xa700, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa801,
> -0xa803, 0xa805,
> -0xa807, 0xa80a,
> -0xa80c, 0xa824,
> -0xa827, 0xa82b,
> -0xa830, 0xa839,
> -0xa840, 0xa877,
> -0xa880, 0xa8c3,
> -0xa8ce, 0xa8d9,
> -0xa8f2, 0xa8fe,
> -0xa900, 0xa925,
> -0xa92e, 0xa946,
> -0xa952, 0xa953,
> -0xa95f, 0xa97c,
> -0xa983, 0xa9b2,
> -0xa9b4, 0xa9b5,
> -0xa9ba, 0xa9bb,
> -0xa9be, 0xa9cd,
> -0xa9cf, 0xa9d9,
> -0xa9de, 0xa9e4,
> -0xa9e6, 0xa9fe,
> -0xaa00, 0xaa28,
> -0xaa2f, 0xaa30,
> -0xaa33, 0xaa34,
> -0xaa40, 0xaa42,
> -0xaa44, 0xaa4b,
> -0xaa4d, 0xaa4d,
> -0xaa50, 0xaa59,
> -0xaa5c, 0xaa7b,
> -0xaa7d, 0xaaaf,
> -0xaab1, 0xaab1,
> -0xaab5, 0xaab6,
> -0xaab9, 0xaabd,
> -0xaac0, 0xaac0,
> -0xaac2, 0xaac2,
> -0xaadb, 0xaaeb,
> -0xaaee, 0xaaf5,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab67,
> -0xab70, 0xabe4,
> -0xabe6, 0xabe7,
> -0xabe9, 0xabec,
> -0xabf0, 0xabf9,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xf900, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb1d,
> -0xfb1f, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbc1,
> -0xfbd3, 0xfd3f,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfd,
> -0xfe10, 0xfe19,
> -0xfe30, 0xfe52,
> -0xfe54, 0xfe66,
> -0xfe68, 0xfe6b,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xff01, 0xff9d,
> -0xffa0, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0xffe0, 0xffe6,
> -0xffe8, 0xffee,
> -0xfffc, 0xfffd,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10100, 0x10102,
> -0x10107, 0x10133,
> -0x10137, 0x1018e,
> -0x10190, 0x1019b,
> -0x101a0, 0x101a0,
> -0x101d0, 0x101fc,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x102e1, 0x102fb,
> -0x10300, 0x10323,
> -0x1032d, 0x1034a,
> -0x10350, 0x10375,
> -0x10380, 0x1039d,
> -0x1039f, 0x103c3,
> -0x103c8, 0x103d5,
> -0x10400, 0x1049d,
> -0x104a0, 0x104a9,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x1056f, 0x1056f,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10857, 0x1089e,
> -0x108a7, 0x108af,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x108fb, 0x1091b,
> -0x1091f, 0x10939,
> -0x1093f, 0x1093f,
> -0x10980, 0x109b7,
> -0x109bc, 0x109cf,
> -0x109d2, 0x10a00,
> -0x10a10, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a40, 0x10a48,
> -0x10a50, 0x10a58,
> -0x10a60, 0x10a9f,
> -0x10ac0, 0x10ae4,
> -0x10aeb, 0x10af6,
> -0x10b00, 0x10b35,
> -0x10b39, 0x10b55,
> -0x10b58, 0x10b72,
> -0x10b78, 0x10b91,
> -0x10b99, 0x10b9c,
> -0x10ba9, 0x10baf,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10cfa, 0x10d23,
> -0x10d30, 0x10d39,
> -0x10e60, 0x10e7e,
> -0x10f00, 0x10f27,
> -0x10f30, 0x10f45,
> -0x10f51, 0x10f59,
> -0x10fe0, 0x10ff6,
> -0x11000, 0x11000,
> -0x11002, 0x11037,
> -0x11047, 0x1104d,
> -0x11052, 0x1106f,
> -0x11082, 0x110b2,
> -0x110b7, 0x110b8,
> -0x110bb, 0x110bc,
> -0x110be, 0x110c1,
> -0x110d0, 0x110e8,
> -0x110f0, 0x110f9,
> -0x11103, 0x11126,
> -0x1112c, 0x1112c,
> -0x11136, 0x11146,
> -0x11150, 0x11172,
> -0x11174, 0x11176,
> -0x11182, 0x111b5,
> -0x111bf, 0x111c8,
> -0x111cd, 0x111cd,
> -0x111d0, 0x111df,
> -0x111e1, 0x111f4,
> -0x11200, 0x11211,
> -0x11213, 0x1122e,
> -0x11232, 0x11233,
> -0x11235, 0x11235,
> -0x11238, 0x1123d,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a9,
> -0x112b0, 0x112de,
> -0x112e0, 0x112e2,
> -0x112f0, 0x112f9,
> -0x11302, 0x11303,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133d, 0x1133d,
> -0x1133f, 0x1133f,
> -0x11341, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134d,
> -0x11350, 0x11350,
> -0x1135d, 0x11363,
> -0x11400, 0x11437,
> -0x11440, 0x11441,
> -0x11445, 0x11445,
> -0x11447, 0x11459,
> -0x1145b, 0x1145b,
> -0x1145d, 0x1145d,
> -0x1145f, 0x1145f,
> -0x11480, 0x114af,
> -0x114b1, 0x114b2,
> -0x114b9, 0x114b9,
> -0x114bb, 0x114bc,
> -0x114be, 0x114be,
> -0x114c1, 0x114c1,
> -0x114c4, 0x114c7,
> -0x114d0, 0x114d9,
> -0x11580, 0x115ae,
> -0x115b0, 0x115b1,
> -0x115b8, 0x115bb,
> -0x115be, 0x115be,
> -0x115c1, 0x115db,
> -0x11600, 0x11632,
> -0x1163b, 0x1163c,
> -0x1163e, 0x1163e,
> -0x11641, 0x11644,
> -0x11650, 0x11659,
> -0x11660, 0x1166c,
> -0x11680, 0x116aa,
> -0x116ac, 0x116ac,
> -0x116ae, 0x116af,
> -0x116b6, 0x116b6,
> -0x116b8, 0x116b8,
> -0x116c0, 0x116c9,
> -0x11700, 0x1171a,
> -0x11720, 0x11721,
> -0x11726, 0x11726,
> -0x11730, 0x1173f,
> -0x11800, 0x1182e,
> -0x11838, 0x11838,
> -0x1183b, 0x1183b,
> -0x118a0, 0x118f2,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d3,
> -0x119dc, 0x119df,
> -0x119e1, 0x119e4,
> -0x11a00, 0x11a00,
> -0x11a0b, 0x11a32,
> -0x11a39, 0x11a3a,
> -0x11a3f, 0x11a46,
> -0x11a50, 0x11a50,
> -0x11a57, 0x11a58,
> -0x11a5c, 0x11a89,
> -0x11a97, 0x11a97,
> -0x11a9a, 0x11aa2,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c2f,
> -0x11c3e, 0x11c3e,
> -0x11c40, 0x11c45,
> -0x11c50, 0x11c6c,
> -0x11c70, 0x11c8f,
> -0x11ca9, 0x11ca9,
> -0x11cb1, 0x11cb1,
> -0x11cb4, 0x11cb4,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d30,
> -0x11d46, 0x11d46,
> -0x11d50, 0x11d59,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d8e,
> -0x11d93, 0x11d94,
> -0x11d96, 0x11d96,
> -0x11d98, 0x11d98,
> -0x11da0, 0x11da9,
> -0x11ee0, 0x11ef2,
> -0x11ef5, 0x11ef8,
> -0x11fc0, 0x11ff1,
> -0x11fff, 0x12399,
> -0x12400, 0x1246e,
> -0x12470, 0x12474,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16a60, 0x16a69,
> -0x16a6e, 0x16a6f,
> -0x16ad0, 0x16aed,
> -0x16af5, 0x16af5,
> -0x16b00, 0x16b2f,
> -0x16b37, 0x16b45,
> -0x16b50, 0x16b59,
> -0x16b5b, 0x16b61,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e9a,
> -0x16f00, 0x16f4a,
> -0x16f50, 0x16f87,
> -0x16f93, 0x16f9f,
> -0x16fe0, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1bc9c, 0x1bc9c,
> -0x1bc9f, 0x1bc9f,
> -0x1d000, 0x1d0f5,
> -0x1d100, 0x1d126,
> -0x1d129, 0x1d164,
> -0x1d166, 0x1d166,
> -0x1d16a, 0x1d16d,
> -0x1d183, 0x1d184,
> -0x1d18c, 0x1d1a9,
> -0x1d1ae, 0x1d1e8,
> -0x1d200, 0x1d241,
> -0x1d245, 0x1d245,
> -0x1d2e0, 0x1d2f3,
> -0x1d300, 0x1d356,
> -0x1d360, 0x1d378,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d7cb,
> -0x1d7ce, 0x1d9ff,
> -0x1da37, 0x1da3a,
> -0x1da6d, 0x1da74,
> -0x1da76, 0x1da83,
> -0x1da85, 0x1da8b,
> -0x1e100, 0x1e12c,
> -0x1e137, 0x1e13d,
> -0x1e140, 0x1e149,
> -0x1e14e, 0x1e14f,
> -0x1e2c0, 0x1e2eb,
> -0x1e2f0, 0x1e2f9,
> -0x1e2ff, 0x1e2ff,
> -0x1e800, 0x1e8c4,
> -0x1e8c7, 0x1e8cf,
> -0x1e900, 0x1e943,
> -0x1e94b, 0x1e94b,
> -0x1e950, 0x1e959,
> -0x1e95e, 0x1e95f,
> -0x1ec71, 0x1ecb4,
> -0x1ed01, 0x1ed3d,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x1eef0, 0x1eef1,
> -0x1f000, 0x1f02b,
> -0x1f030, 0x1f093,
> -0x1f0a0, 0x1f0ae,
> -0x1f0b1, 0x1f0bf,
> -0x1f0c1, 0x1f0cf,
> -0x1f0d1, 0x1f0f5,
> -0x1f100, 0x1f10c,
> -0x1f110, 0x1f16c,
> -0x1f170, 0x1f1ac,
> -0x1f1e6, 0x1f202,
> -0x1f210, 0x1f23b,
> -0x1f240, 0x1f248,
> -0x1f250, 0x1f251,
> -0x1f260, 0x1f265,
> -0x1f300, 0x1f6d5,
> -0x1f6e0, 0x1f6ec,
> -0x1f6f0, 0x1f6fa,
> -0x1f700, 0x1f773,
> -0x1f780, 0x1f7d8,
> -0x1f7e0, 0x1f7eb,
> -0x1f800, 0x1f80b,
> -0x1f810, 0x1f847,
> -0x1f850, 0x1f859,
> -0x1f860, 0x1f887,
> -0x1f890, 0x1f8ad,
> -0x1f900, 0x1f90b,
> -0x1f90d, 0x1f971,
> -0x1f973, 0x1f976,
> -0x1f97a, 0x1f9a2,
> -0x1f9a5, 0x1f9aa,
> -0x1f9ae, 0x1f9ca,
> -0x1f9cd, 0x1fa53,
> -0x1fa60, 0x1fa6d,
> -0x1fa70, 0x1fa73,
> -0x1fa78, 0x1fa7a,
> -0x1fa80, 0x1fa82,
> -0x1fa90, 0x1fa95,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -}; /* END of CR_Grapheme_Base */
> -
> -/* PROPERTY: 'Grapheme_Extend': Derived Property */
> -static const OnigCodePoint
> -CR_Grapheme_Extend[] = { 335,
> -0x0300, 0x036f,
> -0x0483, 0x0489,
> -0x0591, 0x05bd,
> -0x05bf, 0x05bf,
> -0x05c1, 0x05c2,
> -0x05c4, 0x05c5,
> -0x05c7, 0x05c7,
> -0x0610, 0x061a,
> -0x064b, 0x065f,
> -0x0670, 0x0670,
> -0x06d6, 0x06dc,
> -0x06df, 0x06e4,
> -0x06e7, 0x06e8,
> -0x06ea, 0x06ed,
> -0x0711, 0x0711,
> -0x0730, 0x074a,
> -0x07a6, 0x07b0,
> -0x07eb, 0x07f3,
> -0x07fd, 0x07fd,
> -0x0816, 0x0819,
> -0x081b, 0x0823,
> -0x0825, 0x0827,
> -0x0829, 0x082d,
> -0x0859, 0x085b,
> -0x08d3, 0x08e1,
> -0x08e3, 0x0902,
> -0x093a, 0x093a,
> -0x093c, 0x093c,
> -0x0941, 0x0948,
> -0x094d, 0x094d,
> -0x0951, 0x0957,
> -0x0962, 0x0963,
> -0x0981, 0x0981,
> -0x09bc, 0x09bc,
> -0x09be, 0x09be,
> -0x09c1, 0x09c4,
> -0x09cd, 0x09cd,
> -0x09d7, 0x09d7,
> -0x09e2, 0x09e3,
> -0x09fe, 0x09fe,
> -0x0a01, 0x0a02,
> -0x0a3c, 0x0a3c,
> -0x0a41, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4d,
> -0x0a51, 0x0a51,
> -0x0a70, 0x0a71,
> -0x0a75, 0x0a75,
> -0x0a81, 0x0a82,
> -0x0abc, 0x0abc,
> -0x0ac1, 0x0ac5,
> -0x0ac7, 0x0ac8,
> -0x0acd, 0x0acd,
> -0x0ae2, 0x0ae3,
> -0x0afa, 0x0aff,
> -0x0b01, 0x0b01,
> -0x0b3c, 0x0b3c,
> -0x0b3e, 0x0b3f,
> -0x0b41, 0x0b44,
> -0x0b4d, 0x0b4d,
> -0x0b56, 0x0b57,
> -0x0b62, 0x0b63,
> -0x0b82, 0x0b82,
> -0x0bbe, 0x0bbe,
> -0x0bc0, 0x0bc0,
> -0x0bcd, 0x0bcd,
> -0x0bd7, 0x0bd7,
> -0x0c00, 0x0c00,
> -0x0c04, 0x0c04,
> -0x0c3e, 0x0c40,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4d,
> -0x0c55, 0x0c56,
> -0x0c62, 0x0c63,
> -0x0c81, 0x0c81,
> -0x0cbc, 0x0cbc,
> -0x0cbf, 0x0cbf,
> -0x0cc2, 0x0cc2,
> -0x0cc6, 0x0cc6,
> -0x0ccc, 0x0ccd,
> -0x0cd5, 0x0cd6,
> -0x0ce2, 0x0ce3,
> -0x0d00, 0x0d01,
> -0x0d3b, 0x0d3c,
> -0x0d3e, 0x0d3e,
> -0x0d41, 0x0d44,
> -0x0d4d, 0x0d4d,
> -0x0d57, 0x0d57,
> -0x0d62, 0x0d63,
> -0x0dca, 0x0dca,
> -0x0dcf, 0x0dcf,
> -0x0dd2, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0ddf, 0x0ddf,
> -0x0e31, 0x0e31,
> -0x0e34, 0x0e3a,
> -0x0e47, 0x0e4e,
> -0x0eb1, 0x0eb1,
> -0x0eb4, 0x0ebc,
> -0x0ec8, 0x0ecd,
> -0x0f18, 0x0f19,
> -0x0f35, 0x0f35,
> -0x0f37, 0x0f37,
> -0x0f39, 0x0f39,
> -0x0f71, 0x0f7e,
> -0x0f80, 0x0f84,
> -0x0f86, 0x0f87,
> -0x0f8d, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x0fc6, 0x0fc6,
> -0x102d, 0x1030,
> -0x1032, 0x1037,
> -0x1039, 0x103a,
> -0x103d, 0x103e,
> -0x1058, 0x1059,
> -0x105e, 0x1060,
> -0x1071, 0x1074,
> -0x1082, 0x1082,
> -0x1085, 0x1086,
> -0x108d, 0x108d,
> -0x109d, 0x109d,
> -0x135d, 0x135f,
> -0x1712, 0x1714,
> -0x1732, 0x1734,
> -0x1752, 0x1753,
> -0x1772, 0x1773,
> -0x17b4, 0x17b5,
> -0x17b7, 0x17bd,
> -0x17c6, 0x17c6,
> -0x17c9, 0x17d3,
> -0x17dd, 0x17dd,
> -0x180b, 0x180d,
> -0x1885, 0x1886,
> -0x18a9, 0x18a9,
> -0x1920, 0x1922,
> -0x1927, 0x1928,
> -0x1932, 0x1932,
> -0x1939, 0x193b,
> -0x1a17, 0x1a18,
> -0x1a1b, 0x1a1b,
> -0x1a56, 0x1a56,
> -0x1a58, 0x1a5e,
> -0x1a60, 0x1a60,
> -0x1a62, 0x1a62,
> -0x1a65, 0x1a6c,
> -0x1a73, 0x1a7c,
> -0x1a7f, 0x1a7f,
> -0x1ab0, 0x1abe,
> -0x1b00, 0x1b03,
> -0x1b34, 0x1b3a,
> -0x1b3c, 0x1b3c,
> -0x1b42, 0x1b42,
> -0x1b6b, 0x1b73,
> -0x1b80, 0x1b81,
> -0x1ba2, 0x1ba5,
> -0x1ba8, 0x1ba9,
> -0x1bab, 0x1bad,
> -0x1be6, 0x1be6,
> -0x1be8, 0x1be9,
> -0x1bed, 0x1bed,
> -0x1bef, 0x1bf1,
> -0x1c2c, 0x1c33,
> -0x1c36, 0x1c37,
> -0x1cd0, 0x1cd2,
> -0x1cd4, 0x1ce0,
> -0x1ce2, 0x1ce8,
> -0x1ced, 0x1ced,
> -0x1cf4, 0x1cf4,
> -0x1cf8, 0x1cf9,
> -0x1dc0, 0x1df9,
> -0x1dfb, 0x1dff,
> -0x200c, 0x200c,
> -0x20d0, 0x20f0,
> -0x2cef, 0x2cf1,
> -0x2d7f, 0x2d7f,
> -0x2de0, 0x2dff,
> -0x302a, 0x302f,
> -0x3099, 0x309a,
> -0xa66f, 0xa672,
> -0xa674, 0xa67d,
> -0xa69e, 0xa69f,
> -0xa6f0, 0xa6f1,
> -0xa802, 0xa802,
> -0xa806, 0xa806,
> -0xa80b, 0xa80b,
> -0xa825, 0xa826,
> -0xa8c4, 0xa8c5,
> -0xa8e0, 0xa8f1,
> -0xa8ff, 0xa8ff,
> -0xa926, 0xa92d,
> -0xa947, 0xa951,
> -0xa980, 0xa982,
> -0xa9b3, 0xa9b3,
> -0xa9b6, 0xa9b9,
> -0xa9bc, 0xa9bd,
> -0xa9e5, 0xa9e5,
> -0xaa29, 0xaa2e,
> -0xaa31, 0xaa32,
> -0xaa35, 0xaa36,
> -0xaa43, 0xaa43,
> -0xaa4c, 0xaa4c,
> -0xaa7c, 0xaa7c,
> -0xaab0, 0xaab0,
> -0xaab2, 0xaab4,
> -0xaab7, 0xaab8,
> -0xaabe, 0xaabf,
> -0xaac1, 0xaac1,
> -0xaaec, 0xaaed,
> -0xaaf6, 0xaaf6,
> -0xabe5, 0xabe5,
> -0xabe8, 0xabe8,
> -0xabed, 0xabed,
> -0xfb1e, 0xfb1e,
> -0xfe00, 0xfe0f,
> -0xfe20, 0xfe2f,
> -0xff9e, 0xff9f,
> -0x101fd, 0x101fd,
> -0x102e0, 0x102e0,
> -0x10376, 0x1037a,
> -0x10a01, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a0f,
> -0x10a38, 0x10a3a,
> -0x10a3f, 0x10a3f,
> -0x10ae5, 0x10ae6,
> -0x10d24, 0x10d27,
> -0x10f46, 0x10f50,
> -0x11001, 0x11001,
> -0x11038, 0x11046,
> -0x1107f, 0x11081,
> -0x110b3, 0x110b6,
> -0x110b9, 0x110ba,
> -0x11100, 0x11102,
> -0x11127, 0x1112b,
> -0x1112d, 0x11134,
> -0x11173, 0x11173,
> -0x11180, 0x11181,
> -0x111b6, 0x111be,
> -0x111c9, 0x111cc,
> -0x1122f, 0x11231,
> -0x11234, 0x11234,
> -0x11236, 0x11237,
> -0x1123e, 0x1123e,
> -0x112df, 0x112df,
> -0x112e3, 0x112ea,
> -0x11300, 0x11301,
> -0x1133b, 0x1133c,
> -0x1133e, 0x1133e,
> -0x11340, 0x11340,
> -0x11357, 0x11357,
> -0x11366, 0x1136c,
> -0x11370, 0x11374,
> -0x11438, 0x1143f,
> -0x11442, 0x11444,
> -0x11446, 0x11446,
> -0x1145e, 0x1145e,
> -0x114b0, 0x114b0,
> -0x114b3, 0x114b8,
> -0x114ba, 0x114ba,
> -0x114bd, 0x114bd,
> -0x114bf, 0x114c0,
> -0x114c2, 0x114c3,
> -0x115af, 0x115af,
> -0x115b2, 0x115b5,
> -0x115bc, 0x115bd,
> -0x115bf, 0x115c0,
> -0x115dc, 0x115dd,
> -0x11633, 0x1163a,
> -0x1163d, 0x1163d,
> -0x1163f, 0x11640,
> -0x116ab, 0x116ab,
> -0x116ad, 0x116ad,
> -0x116b0, 0x116b5,
> -0x116b7, 0x116b7,
> -0x1171d, 0x1171f,
> -0x11722, 0x11725,
> -0x11727, 0x1172b,
> -0x1182f, 0x11837,
> -0x11839, 0x1183a,
> -0x119d4, 0x119d7,
> -0x119da, 0x119db,
> -0x119e0, 0x119e0,
> -0x11a01, 0x11a0a,
> -0x11a33, 0x11a38,
> -0x11a3b, 0x11a3e,
> -0x11a47, 0x11a47,
> -0x11a51, 0x11a56,
> -0x11a59, 0x11a5b,
> -0x11a8a, 0x11a96,
> -0x11a98, 0x11a99,
> -0x11c30, 0x11c36,
> -0x11c38, 0x11c3d,
> -0x11c3f, 0x11c3f,
> -0x11c92, 0x11ca7,
> -0x11caa, 0x11cb0,
> -0x11cb2, 0x11cb3,
> -0x11cb5, 0x11cb6,
> -0x11d31, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d45,
> -0x11d47, 0x11d47,
> -0x11d90, 0x11d91,
> -0x11d95, 0x11d95,
> -0x11d97, 0x11d97,
> -0x11ef3, 0x11ef4,
> -0x16af0, 0x16af4,
> -0x16b30, 0x16b36,
> -0x16f4f, 0x16f4f,
> -0x16f8f, 0x16f92,
> -0x1bc9d, 0x1bc9e,
> -0x1d165, 0x1d165,
> -0x1d167, 0x1d169,
> -0x1d16e, 0x1d172,
> -0x1d17b, 0x1d182,
> -0x1d185, 0x1d18b,
> -0x1d1aa, 0x1d1ad,
> -0x1d242, 0x1d244,
> -0x1da00, 0x1da36,
> -0x1da3b, 0x1da6c,
> -0x1da75, 0x1da75,
> -0x1da84, 0x1da84,
> -0x1da9b, 0x1da9f,
> -0x1daa1, 0x1daaf,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e130, 0x1e136,
> -0x1e2ec, 0x1e2ef,
> -0x1e8d0, 0x1e8d6,
> -0x1e944, 0x1e94a,
> -0xe0020, 0xe007f,
> -0xe0100, 0xe01ef,
> -}; /* END of CR_Grapheme_Extend */
> -
> -/* PROPERTY: 'Grapheme_Link': Derived Property */
> -static const OnigCodePoint
> -CR_Grapheme_Link[] = { 52,
> -0x094d, 0x094d,
> -0x09cd, 0x09cd,
> -0x0a4d, 0x0a4d,
> -0x0acd, 0x0acd,
> -0x0b4d, 0x0b4d,
> -0x0bcd, 0x0bcd,
> -0x0c4d, 0x0c4d,
> -0x0ccd, 0x0ccd,
> -0x0d3b, 0x0d3c,
> -0x0d4d, 0x0d4d,
> -0x0dca, 0x0dca,
> -0x0e3a, 0x0e3a,
> -0x0eba, 0x0eba,
> -0x0f84, 0x0f84,
> -0x1039, 0x103a,
> -0x1714, 0x1714,
> -0x1734, 0x1734,
> -0x17d2, 0x17d2,
> -0x1a60, 0x1a60,
> -0x1b44, 0x1b44,
> -0x1baa, 0x1bab,
> -0x1bf2, 0x1bf3,
> -0x2d7f, 0x2d7f,
> -0xa806, 0xa806,
> -0xa8c4, 0xa8c4,
> -0xa953, 0xa953,
> -0xa9c0, 0xa9c0,
> -0xaaf6, 0xaaf6,
> -0xabed, 0xabed,
> -0x10a3f, 0x10a3f,
> -0x11046, 0x11046,
> -0x1107f, 0x1107f,
> -0x110b9, 0x110b9,
> -0x11133, 0x11134,
> -0x111c0, 0x111c0,
> -0x11235, 0x11235,
> -0x112ea, 0x112ea,
> -0x1134d, 0x1134d,
> -0x11442, 0x11442,
> -0x114c2, 0x114c2,
> -0x115bf, 0x115bf,
> -0x1163f, 0x1163f,
> -0x116b6, 0x116b6,
> -0x1172b, 0x1172b,
> -0x11839, 0x11839,
> -0x119e0, 0x119e0,
> -0x11a34, 0x11a34,
> -0x11a47, 0x11a47,
> -0x11a99, 0x11a99,
> -0x11c3f, 0x11c3f,
> -0x11d44, 0x11d45,
> -0x11d97, 0x11d97,
> -}; /* END of CR_Grapheme_Link */
> -
> -/* PROPERTY: 'Greek': Script */
> -static const OnigCodePoint
> -CR_Greek[] = { 36,
> -0x0370, 0x0373,
> -0x0375, 0x0377,
> -0x037a, 0x037d,
> -0x037f, 0x037f,
> -0x0384, 0x0384,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x03e1,
> -0x03f0, 0x03ff,
> -0x1d26, 0x1d2a,
> -0x1d5d, 0x1d61,
> -0x1d66, 0x1d6a,
> -0x1dbf, 0x1dbf,
> -0x1f00, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fc4,
> -0x1fc6, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fdd, 0x1fef,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffe,
> -0x2126, 0x2126,
> -0xab65, 0xab65,
> -0x10140, 0x1018e,
> -0x101a0, 0x101a0,
> -0x1d200, 0x1d245,
> -}; /* END of CR_Greek */
> -
> -/* PROPERTY: 'Gujarati': Script */
> -static const OnigCodePoint
> -CR_Gujarati[] = { 14,
> -0x0a81, 0x0a83,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abc, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acd,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae3,
> -0x0ae6, 0x0af1,
> -0x0af9, 0x0aff,
> -}; /* END of CR_Gujarati */
> -
> -/* PROPERTY: 'Gunjala_Gondi': Script */
> -static const OnigCodePoint
> -CR_Gunjala_Gondi[] = { 6,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d98,
> -0x11da0, 0x11da9,
> -}; /* END of CR_Gunjala_Gondi */
> -
> -/* PROPERTY: 'Gurmukhi': Script */
> -static const OnigCodePoint
> -CR_Gurmukhi[] = { 16,
> -0x0a01, 0x0a03,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a3c, 0x0a3c,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4d,
> -0x0a51, 0x0a51,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a66, 0x0a76,
> -}; /* END of CR_Gurmukhi */
> -
> -/* PROPERTY: 'Han': Script */
> -static const OnigCodePoint
> -CR_Han[] = { 17,
> -0x2e80, 0x2e99,
> -0x2e9b, 0x2ef3,
> -0x2f00, 0x2fd5,
> -0x3005, 0x3005,
> -0x3007, 0x3007,
> -0x3021, 0x3029,
> -0x3038, 0x303b,
> -0x3400, 0x4db5,
> -0x4e00, 0x9fef,
> -0xf900, 0xfa6d,
> -0xfa70, 0xfad9,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -}; /* END of CR_Han */
> -
> -/* PROPERTY: 'Hangul': Script */
> -static const OnigCodePoint
> -CR_Hangul[] = { 14,
> -0x1100, 0x11ff,
> -0x302e, 0x302f,
> -0x3131, 0x318e,
> -0x3200, 0x321e,
> -0x3260, 0x327e,
> -0xa960, 0xa97c,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xffa0, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -}; /* END of CR_Hangul */
> -
> -/* PROPERTY: 'Hanifi_Rohingya': Script */
> -static const OnigCodePoint
> -CR_Hanifi_Rohingya[] = { 2,
> -0x10d00, 0x10d27,
> -0x10d30, 0x10d39,
> -}; /* END of CR_Hanifi_Rohingya */
> -
> -/* PROPERTY: 'Hanunoo': Script */
> -static const OnigCodePoint
> -CR_Hanunoo[] = { 1,
> -0x1720, 0x1734,
> -}; /* END of CR_Hanunoo */
> -
> -/* PROPERTY: 'Hatran': Script */
> -static const OnigCodePoint
> -CR_Hatran[] = { 3,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x108fb, 0x108ff,
> -}; /* END of CR_Hatran */
> -
> -/* PROPERTY: 'Hebrew': Script */
> -static const OnigCodePoint
> -CR_Hebrew[] = { 9,
> -0x0591, 0x05c7,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f4,
> -0xfb1d, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfb4f,
> -}; /* END of CR_Hebrew */
> -
> -/* PROPERTY: 'Hex_Digit': Binary Property */
> -static const OnigCodePoint
> -CR_Hex_Digit[] = { 6,
> -0x0030, 0x0039,
> -0x0041, 0x0046,
> -0x0061, 0x0066,
> -0xff10, 0xff19,
> -0xff21, 0xff26,
> -0xff41, 0xff46,
> -}; /* END of CR_Hex_Digit */
> -
> -/* PROPERTY: 'Hiragana': Script */
> -static const OnigCodePoint
> -CR_Hiragana[] = { 5,
> -0x3041, 0x3096,
> -0x309d, 0x309f,
> -0x1b001, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1f200, 0x1f200,
> -}; /* END of CR_Hiragana */
> -
> -/* PROPERTY: 'Hyphen': Binary Property */
> -static const OnigCodePoint
> -CR_Hyphen[] = { 10,
> -0x002d, 0x002d,
> -0x00ad, 0x00ad,
> -0x058a, 0x058a,
> -0x1806, 0x1806,
> -0x2010, 0x2011,
> -0x2e17, 0x2e17,
> -0x30fb, 0x30fb,
> -0xfe63, 0xfe63,
> -0xff0d, 0xff0d,
> -0xff65, 0xff65,
> -}; /* END of CR_Hyphen */
> -
> -/* PROPERTY: 'IDS_Binary_Operator': Binary Property */
> -static const OnigCodePoint
> -CR_IDS_Binary_Operator[] = { 2,
> -0x2ff0, 0x2ff1,
> -0x2ff4, 0x2ffb,
> -}; /* END of CR_IDS_Binary_Operator */
> -
> -/* PROPERTY: 'IDS_Trinary_Operator': Binary Property */
> -static const OnigCodePoint
> -CR_IDS_Trinary_Operator[] = { 1,
> -0x2ff2, 0x2ff3,
> -}; /* END of CR_IDS_Trinary_Operator */
> -
> -/* PROPERTY: 'ID_Continue': Derived Property */
> -static const OnigCodePoint
> -CR_ID_Continue[] = { 713,
> -0x0030, 0x0039,
> -0x0041, 0x005a,
> -0x005f, 0x005f,
> -0x0061, 0x007a,
> -0x00aa, 0x00aa,
> -0x00b5, 0x00b5,
> -0x00b7, 0x00b7,
> -0x00ba, 0x00ba,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00f6,
> -0x00f8, 0x02c1,
> -0x02c6, 0x02d1,
> -0x02e0, 0x02e4,
> -0x02ec, 0x02ec,
> -0x02ee, 0x02ee,
> -0x0300, 0x0374,
> -0x0376, 0x0377,
> -0x037a, 0x037d,
> -0x037f, 0x037f,
> -0x0386, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x03f5,
> -0x03f7, 0x0481,
> -0x0483, 0x0487,
> -0x048a, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x0559,
> -0x0560, 0x0588,
> -0x0591, 0x05bd,
> -0x05bf, 0x05bf,
> -0x05c1, 0x05c2,
> -0x05c4, 0x05c5,
> -0x05c7, 0x05c7,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f2,
> -0x0610, 0x061a,
> -0x0620, 0x0669,
> -0x066e, 0x06d3,
> -0x06d5, 0x06dc,
> -0x06df, 0x06e8,
> -0x06ea, 0x06fc,
> -0x06ff, 0x06ff,
> -0x0710, 0x074a,
> -0x074d, 0x07b1,
> -0x07c0, 0x07f5,
> -0x07fa, 0x07fa,
> -0x07fd, 0x07fd,
> -0x0800, 0x082d,
> -0x0840, 0x085b,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x08d3, 0x08e1,
> -0x08e3, 0x0963,
> -0x0966, 0x096f,
> -0x0971, 0x0983,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bc, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09ce,
> -0x09d7, 0x09d7,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e3,
> -0x09e6, 0x09f1,
> -0x09fc, 0x09fc,
> -0x09fe, 0x09fe,
> -0x0a01, 0x0a03,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a3c, 0x0a3c,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4d,
> -0x0a51, 0x0a51,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a66, 0x0a75,
> -0x0a81, 0x0a83,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abc, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acd,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae3,
> -0x0ae6, 0x0aef,
> -0x0af9, 0x0aff,
> -0x0b01, 0x0b03,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3c, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4d,
> -0x0b56, 0x0b57,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b63,
> -0x0b66, 0x0b6f,
> -0x0b71, 0x0b71,
> -0x0b82, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcd,
> -0x0bd0, 0x0bd0,
> -0x0bd7, 0x0bd7,
> -0x0be6, 0x0bef,
> -0x0c00, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4d,
> -0x0c55, 0x0c56,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c63,
> -0x0c66, 0x0c6f,
> -0x0c80, 0x0c83,
> -0x0c85, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbc, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccd,
> -0x0cd5, 0x0cd6,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce3,
> -0x0ce6, 0x0cef,
> -0x0cf1, 0x0cf2,
> -0x0d00, 0x0d03,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4e,
> -0x0d54, 0x0d57,
> -0x0d5f, 0x0d63,
> -0x0d66, 0x0d6f,
> -0x0d7a, 0x0d7f,
> -0x0d82, 0x0d83,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0dca, 0x0dca,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0de6, 0x0def,
> -0x0df2, 0x0df3,
> -0x0e01, 0x0e3a,
> -0x0e40, 0x0e4e,
> -0x0e50, 0x0e59,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0ec8, 0x0ecd,
> -0x0ed0, 0x0ed9,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f00,
> -0x0f18, 0x0f19,
> -0x0f20, 0x0f29,
> -0x0f35, 0x0f35,
> -0x0f37, 0x0f37,
> -0x0f39, 0x0f39,
> -0x0f3e, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f71, 0x0f84,
> -0x0f86, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x0fc6, 0x0fc6,
> -0x1000, 0x1049,
> -0x1050, 0x109d,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x10fa,
> -0x10fc, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x135d, 0x135f,
> -0x1369, 0x1371,
> -0x1380, 0x138f,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1401, 0x166c,
> -0x166f, 0x167f,
> -0x1681, 0x169a,
> -0x16a0, 0x16ea,
> -0x16ee, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1714,
> -0x1720, 0x1734,
> -0x1740, 0x1753,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1772, 0x1773,
> -0x1780, 0x17d3,
> -0x17d7, 0x17d7,
> -0x17dc, 0x17dd,
> -0x17e0, 0x17e9,
> -0x180b, 0x180d,
> -0x1810, 0x1819,
> -0x1820, 0x1878,
> -0x1880, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1920, 0x192b,
> -0x1930, 0x193b,
> -0x1946, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x19d0, 0x19da,
> -0x1a00, 0x1a1b,
> -0x1a20, 0x1a5e,
> -0x1a60, 0x1a7c,
> -0x1a7f, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1aa7, 0x1aa7,
> -0x1ab0, 0x1abd,
> -0x1b00, 0x1b4b,
> -0x1b50, 0x1b59,
> -0x1b6b, 0x1b73,
> -0x1b80, 0x1bf3,
> -0x1c00, 0x1c37,
> -0x1c40, 0x1c49,
> -0x1c4d, 0x1c7d,
> -0x1c80, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1cd0, 0x1cd2,
> -0x1cd4, 0x1cfa,
> -0x1d00, 0x1df9,
> -0x1dfb, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fbc,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fcc,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fe0, 0x1fec,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffc,
> -0x203f, 0x2040,
> -0x2054, 0x2054,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x20d0, 0x20dc,
> -0x20e1, 0x20e1,
> -0x20e5, 0x20f0,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210a, 0x2113,
> -0x2115, 0x2115,
> -0x2118, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x2139,
> -0x213c, 0x213f,
> -0x2145, 0x2149,
> -0x214e, 0x214e,
> -0x2160, 0x2188,
> -0x2c00, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2ce4,
> -0x2ceb, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d6f,
> -0x2d7f, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x2de0, 0x2dff,
> -0x3005, 0x3007,
> -0x3021, 0x302f,
> -0x3031, 0x3035,
> -0x3038, 0x303c,
> -0x3041, 0x3096,
> -0x3099, 0x309f,
> -0x30a1, 0x30fa,
> -0x30fc, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x31a0, 0x31ba,
> -0x31f0, 0x31ff,
> -0x3400, 0x4db5,
> -0x4e00, 0x9fef,
> -0xa000, 0xa48c,
> -0xa4d0, 0xa4fd,
> -0xa500, 0xa60c,
> -0xa610, 0xa62b,
> -0xa640, 0xa66f,
> -0xa674, 0xa67d,
> -0xa67f, 0xa6f1,
> -0xa717, 0xa71f,
> -0xa722, 0xa788,
> -0xa78b, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa827,
> -0xa840, 0xa873,
> -0xa880, 0xa8c5,
> -0xa8d0, 0xa8d9,
> -0xa8e0, 0xa8f7,
> -0xa8fb, 0xa8fb,
> -0xa8fd, 0xa92d,
> -0xa930, 0xa953,
> -0xa960, 0xa97c,
> -0xa980, 0xa9c0,
> -0xa9cf, 0xa9d9,
> -0xa9e0, 0xa9fe,
> -0xaa00, 0xaa36,
> -0xaa40, 0xaa4d,
> -0xaa50, 0xaa59,
> -0xaa60, 0xaa76,
> -0xaa7a, 0xaac2,
> -0xaadb, 0xaadd,
> -0xaae0, 0xaaef,
> -0xaaf2, 0xaaf6,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab5a,
> -0xab5c, 0xab67,
> -0xab70, 0xabea,
> -0xabec, 0xabed,
> -0xabf0, 0xabf9,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xf900, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb28,
> -0xfb2a, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbb1,
> -0xfbd3, 0xfd3d,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfb,
> -0xfe00, 0xfe0f,
> -0xfe20, 0xfe2f,
> -0xfe33, 0xfe34,
> -0xfe4d, 0xfe4f,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xff10, 0xff19,
> -0xff21, 0xff3a,
> -0xff3f, 0xff3f,
> -0xff41, 0xff5a,
> -0xff66, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10140, 0x10174,
> -0x101fd, 0x101fd,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x102e0, 0x102e0,
> -0x10300, 0x1031f,
> -0x1032d, 0x1034a,
> -0x10350, 0x1037a,
> -0x10380, 0x1039d,
> -0x103a0, 0x103c3,
> -0x103c8, 0x103cf,
> -0x103d1, 0x103d5,
> -0x10400, 0x1049d,
> -0x104a0, 0x104a9,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10860, 0x10876,
> -0x10880, 0x1089e,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x10900, 0x10915,
> -0x10920, 0x10939,
> -0x10980, 0x109b7,
> -0x109be, 0x109bf,
> -0x10a00, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a38, 0x10a3a,
> -0x10a3f, 0x10a3f,
> -0x10a60, 0x10a7c,
> -0x10a80, 0x10a9c,
> -0x10ac0, 0x10ac7,
> -0x10ac9, 0x10ae6,
> -0x10b00, 0x10b35,
> -0x10b40, 0x10b55,
> -0x10b60, 0x10b72,
> -0x10b80, 0x10b91,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10d00, 0x10d27,
> -0x10d30, 0x10d39,
> -0x10f00, 0x10f1c,
> -0x10f27, 0x10f27,
> -0x10f30, 0x10f50,
> -0x10fe0, 0x10ff6,
> -0x11000, 0x11046,
> -0x11066, 0x1106f,
> -0x1107f, 0x110ba,
> -0x110d0, 0x110e8,
> -0x110f0, 0x110f9,
> -0x11100, 0x11134,
> -0x11136, 0x1113f,
> -0x11144, 0x11146,
> -0x11150, 0x11173,
> -0x11176, 0x11176,
> -0x11180, 0x111c4,
> -0x111c9, 0x111cc,
> -0x111d0, 0x111da,
> -0x111dc, 0x111dc,
> -0x11200, 0x11211,
> -0x11213, 0x11237,
> -0x1123e, 0x1123e,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a8,
> -0x112b0, 0x112ea,
> -0x112f0, 0x112f9,
> -0x11300, 0x11303,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133b, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134d,
> -0x11350, 0x11350,
> -0x11357, 0x11357,
> -0x1135d, 0x11363,
> -0x11366, 0x1136c,
> -0x11370, 0x11374,
> -0x11400, 0x1144a,
> -0x11450, 0x11459,
> -0x1145e, 0x1145f,
> -0x11480, 0x114c5,
> -0x114c7, 0x114c7,
> -0x114d0, 0x114d9,
> -0x11580, 0x115b5,
> -0x115b8, 0x115c0,
> -0x115d8, 0x115dd,
> -0x11600, 0x11640,
> -0x11644, 0x11644,
> -0x11650, 0x11659,
> -0x11680, 0x116b8,
> -0x116c0, 0x116c9,
> -0x11700, 0x1171a,
> -0x1171d, 0x1172b,
> -0x11730, 0x11739,
> -0x11800, 0x1183a,
> -0x118a0, 0x118e9,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d7,
> -0x119da, 0x119e1,
> -0x119e3, 0x119e4,
> -0x11a00, 0x11a3e,
> -0x11a47, 0x11a47,
> -0x11a50, 0x11a99,
> -0x11a9d, 0x11a9d,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c36,
> -0x11c38, 0x11c40,
> -0x11c50, 0x11c59,
> -0x11c72, 0x11c8f,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d47,
> -0x11d50, 0x11d59,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d98,
> -0x11da0, 0x11da9,
> -0x11ee0, 0x11ef6,
> -0x12000, 0x12399,
> -0x12400, 0x1246e,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16a60, 0x16a69,
> -0x16ad0, 0x16aed,
> -0x16af0, 0x16af4,
> -0x16b00, 0x16b36,
> -0x16b40, 0x16b43,
> -0x16b50, 0x16b59,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e7f,
> -0x16f00, 0x16f4a,
> -0x16f4f, 0x16f87,
> -0x16f8f, 0x16f9f,
> -0x16fe0, 0x16fe1,
> -0x16fe3, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1bc9d, 0x1bc9e,
> -0x1d165, 0x1d169,
> -0x1d16d, 0x1d172,
> -0x1d17b, 0x1d182,
> -0x1d185, 0x1d18b,
> -0x1d1aa, 0x1d1ad,
> -0x1d242, 0x1d244,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d6c0,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6fa,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d734,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d76e,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d7a8,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7cb,
> -0x1d7ce, 0x1d7ff,
> -0x1da00, 0x1da36,
> -0x1da3b, 0x1da6c,
> -0x1da75, 0x1da75,
> -0x1da84, 0x1da84,
> -0x1da9b, 0x1da9f,
> -0x1daa1, 0x1daaf,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e100, 0x1e12c,
> -0x1e130, 0x1e13d,
> -0x1e140, 0x1e149,
> -0x1e14e, 0x1e14e,
> -0x1e2c0, 0x1e2f9,
> -0x1e800, 0x1e8c4,
> -0x1e8d0, 0x1e8d6,
> -0x1e900, 0x1e94b,
> -0x1e950, 0x1e959,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -0xe0100, 0xe01ef,
> -}; /* END of CR_ID_Continue */
> -
> -/* PROPERTY: 'ID_Start': Derived Property */
> -static const OnigCodePoint
> -CR_ID_Start[] = { 609,
> -0x0041, 0x005a,
> -0x0061, 0x007a,
> -0x00aa, 0x00aa,
> -0x00b5, 0x00b5,
> -0x00ba, 0x00ba,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00f6,
> -0x00f8, 0x02c1,
> -0x02c6, 0x02d1,
> -0x02e0, 0x02e4,
> -0x02ec, 0x02ec,
> -0x02ee, 0x02ee,
> -0x0370, 0x0374,
> -0x0376, 0x0377,
> -0x037a, 0x037d,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x03f5,
> -0x03f7, 0x0481,
> -0x048a, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x0559,
> -0x0560, 0x0588,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f2,
> -0x0620, 0x064a,
> -0x066e, 0x066f,
> -0x0671, 0x06d3,
> -0x06d5, 0x06d5,
> -0x06e5, 0x06e6,
> -0x06ee, 0x06ef,
> -0x06fa, 0x06fc,
> -0x06ff, 0x06ff,
> -0x0710, 0x0710,
> -0x0712, 0x072f,
> -0x074d, 0x07a5,
> -0x07b1, 0x07b1,
> -0x07ca, 0x07ea,
> -0x07f4, 0x07f5,
> -0x07fa, 0x07fa,
> -0x0800, 0x0815,
> -0x081a, 0x081a,
> -0x0824, 0x0824,
> -0x0828, 0x0828,
> -0x0840, 0x0858,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x0904, 0x0939,
> -0x093d, 0x093d,
> -0x0950, 0x0950,
> -0x0958, 0x0961,
> -0x0971, 0x0980,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bd, 0x09bd,
> -0x09ce, 0x09ce,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e1,
> -0x09f0, 0x09f1,
> -0x09fc, 0x09fc,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a72, 0x0a74,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abd, 0x0abd,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae1,
> -0x0af9, 0x0af9,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3d, 0x0b3d,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b61,
> -0x0b71, 0x0b71,
> -0x0b83, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bd0, 0x0bd0,
> -0x0c05, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c3d,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c61,
> -0x0c80, 0x0c80,
> -0x0c85, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbd, 0x0cbd,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce1,
> -0x0cf1, 0x0cf2,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d3a,
> -0x0d3d, 0x0d3d,
> -0x0d4e, 0x0d4e,
> -0x0d54, 0x0d56,
> -0x0d5f, 0x0d61,
> -0x0d7a, 0x0d7f,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0e01, 0x0e30,
> -0x0e32, 0x0e33,
> -0x0e40, 0x0e46,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0eb0,
> -0x0eb2, 0x0eb3,
> -0x0ebd, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f00,
> -0x0f40, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f88, 0x0f8c,
> -0x1000, 0x102a,
> -0x103f, 0x103f,
> -0x1050, 0x1055,
> -0x105a, 0x105d,
> -0x1061, 0x1061,
> -0x1065, 0x1066,
> -0x106e, 0x1070,
> -0x1075, 0x1081,
> -0x108e, 0x108e,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x10fa,
> -0x10fc, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x1380, 0x138f,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1401, 0x166c,
> -0x166f, 0x167f,
> -0x1681, 0x169a,
> -0x16a0, 0x16ea,
> -0x16ee, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1711,
> -0x1720, 0x1731,
> -0x1740, 0x1751,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1780, 0x17b3,
> -0x17d7, 0x17d7,
> -0x17dc, 0x17dc,
> -0x1820, 0x1878,
> -0x1880, 0x18a8,
> -0x18aa, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1950, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x1a00, 0x1a16,
> -0x1a20, 0x1a54,
> -0x1aa7, 0x1aa7,
> -0x1b05, 0x1b33,
> -0x1b45, 0x1b4b,
> -0x1b83, 0x1ba0,
> -0x1bae, 0x1baf,
> -0x1bba, 0x1be5,
> -0x1c00, 0x1c23,
> -0x1c4d, 0x1c4f,
> -0x1c5a, 0x1c7d,
> -0x1c80, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1ce9, 0x1cec,
> -0x1cee, 0x1cf3,
> -0x1cf5, 0x1cf6,
> -0x1cfa, 0x1cfa,
> -0x1d00, 0x1dbf,
> -0x1e00, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fbc,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fcc,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fe0, 0x1fec,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffc,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210a, 0x2113,
> -0x2115, 0x2115,
> -0x2118, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x2139,
> -0x213c, 0x213f,
> -0x2145, 0x2149,
> -0x214e, 0x214e,
> -0x2160, 0x2188,
> -0x2c00, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2ce4,
> -0x2ceb, 0x2cee,
> -0x2cf2, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d6f,
> -0x2d80, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x3005, 0x3007,
> -0x3021, 0x3029,
> -0x3031, 0x3035,
> -0x3038, 0x303c,
> -0x3041, 0x3096,
> -0x309b, 0x309f,
> -0x30a1, 0x30fa,
> -0x30fc, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x31a0, 0x31ba,
> -0x31f0, 0x31ff,
> -0x3400, 0x4db5,
> -0x4e00, 0x9fef,
> -0xa000, 0xa48c,
> -0xa4d0, 0xa4fd,
> -0xa500, 0xa60c,
> -0xa610, 0xa61f,
> -0xa62a, 0xa62b,
> -0xa640, 0xa66e,
> -0xa67f, 0xa69d,
> -0xa6a0, 0xa6ef,
> -0xa717, 0xa71f,
> -0xa722, 0xa788,
> -0xa78b, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa801,
> -0xa803, 0xa805,
> -0xa807, 0xa80a,
> -0xa80c, 0xa822,
> -0xa840, 0xa873,
> -0xa882, 0xa8b3,
> -0xa8f2, 0xa8f7,
> -0xa8fb, 0xa8fb,
> -0xa8fd, 0xa8fe,
> -0xa90a, 0xa925,
> -0xa930, 0xa946,
> -0xa960, 0xa97c,
> -0xa984, 0xa9b2,
> -0xa9cf, 0xa9cf,
> -0xa9e0, 0xa9e4,
> -0xa9e6, 0xa9ef,
> -0xa9fa, 0xa9fe,
> -0xaa00, 0xaa28,
> -0xaa40, 0xaa42,
> -0xaa44, 0xaa4b,
> -0xaa60, 0xaa76,
> -0xaa7a, 0xaa7a,
> -0xaa7e, 0xaaaf,
> -0xaab1, 0xaab1,
> -0xaab5, 0xaab6,
> -0xaab9, 0xaabd,
> -0xaac0, 0xaac0,
> -0xaac2, 0xaac2,
> -0xaadb, 0xaadd,
> -0xaae0, 0xaaea,
> -0xaaf2, 0xaaf4,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab5a,
> -0xab5c, 0xab67,
> -0xab70, 0xabe2,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xf900, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb1d,
> -0xfb1f, 0xfb28,
> -0xfb2a, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbb1,
> -0xfbd3, 0xfd3d,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfb,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xff21, 0xff3a,
> -0xff41, 0xff5a,
> -0xff66, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10140, 0x10174,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x10300, 0x1031f,
> -0x1032d, 0x1034a,
> -0x10350, 0x10375,
> -0x10380, 0x1039d,
> -0x103a0, 0x103c3,
> -0x103c8, 0x103cf,
> -0x103d1, 0x103d5,
> -0x10400, 0x1049d,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10860, 0x10876,
> -0x10880, 0x1089e,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x10900, 0x10915,
> -0x10920, 0x10939,
> -0x10980, 0x109b7,
> -0x109be, 0x109bf,
> -0x10a00, 0x10a00,
> -0x10a10, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a60, 0x10a7c,
> -0x10a80, 0x10a9c,
> -0x10ac0, 0x10ac7,
> -0x10ac9, 0x10ae4,
> -0x10b00, 0x10b35,
> -0x10b40, 0x10b55,
> -0x10b60, 0x10b72,
> -0x10b80, 0x10b91,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10d00, 0x10d23,
> -0x10f00, 0x10f1c,
> -0x10f27, 0x10f27,
> -0x10f30, 0x10f45,
> -0x10fe0, 0x10ff6,
> -0x11003, 0x11037,
> -0x11083, 0x110af,
> -0x110d0, 0x110e8,
> -0x11103, 0x11126,
> -0x11144, 0x11144,
> -0x11150, 0x11172,
> -0x11176, 0x11176,
> -0x11183, 0x111b2,
> -0x111c1, 0x111c4,
> -0x111da, 0x111da,
> -0x111dc, 0x111dc,
> -0x11200, 0x11211,
> -0x11213, 0x1122b,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a8,
> -0x112b0, 0x112de,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133d, 0x1133d,
> -0x11350, 0x11350,
> -0x1135d, 0x11361,
> -0x11400, 0x11434,
> -0x11447, 0x1144a,
> -0x1145f, 0x1145f,
> -0x11480, 0x114af,
> -0x114c4, 0x114c5,
> -0x114c7, 0x114c7,
> -0x11580, 0x115ae,
> -0x115d8, 0x115db,
> -0x11600, 0x1162f,
> -0x11644, 0x11644,
> -0x11680, 0x116aa,
> -0x116b8, 0x116b8,
> -0x11700, 0x1171a,
> -0x11800, 0x1182b,
> -0x118a0, 0x118df,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d0,
> -0x119e1, 0x119e1,
> -0x119e3, 0x119e3,
> -0x11a00, 0x11a00,
> -0x11a0b, 0x11a32,
> -0x11a3a, 0x11a3a,
> -0x11a50, 0x11a50,
> -0x11a5c, 0x11a89,
> -0x11a9d, 0x11a9d,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c2e,
> -0x11c40, 0x11c40,
> -0x11c72, 0x11c8f,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d30,
> -0x11d46, 0x11d46,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d89,
> -0x11d98, 0x11d98,
> -0x11ee0, 0x11ef2,
> -0x12000, 0x12399,
> -0x12400, 0x1246e,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16ad0, 0x16aed,
> -0x16b00, 0x16b2f,
> -0x16b40, 0x16b43,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e7f,
> -0x16f00, 0x16f4a,
> -0x16f50, 0x16f50,
> -0x16f93, 0x16f9f,
> -0x16fe0, 0x16fe1,
> -0x16fe3, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d6c0,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6fa,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d734,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d76e,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d7a8,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7cb,
> -0x1e100, 0x1e12c,
> -0x1e137, 0x1e13d,
> -0x1e14e, 0x1e14e,
> -0x1e2c0, 0x1e2eb,
> -0x1e800, 0x1e8c4,
> -0x1e900, 0x1e943,
> -0x1e94b, 0x1e94b,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -}; /* END of CR_ID_Start */
> -
> -/* PROPERTY: 'Ideographic': Binary Property */
> -static const OnigCodePoint
> -CR_Ideographic[] = { 16,
> -0x3006, 0x3007,
> -0x3021, 0x3029,
> -0x3038, 0x303a,
> -0x3400, 0x4db5,
> -0x4e00, 0x9fef,
> -0xf900, 0xfa6d,
> -0xfa70, 0xfad9,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b170, 0x1b2fb,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -}; /* END of CR_Ideographic */
> -
> -/* PROPERTY: 'Imperial_Aramaic': Script */
> -static const OnigCodePoint
> -CR_Imperial_Aramaic[] = { 2,
> -0x10840, 0x10855,
> -0x10857, 0x1085f,
> -}; /* END of CR_Imperial_Aramaic */
> -
> -/* PROPERTY: 'Inherited': Script */
> -static const OnigCodePoint
> -CR_Inherited[] = { 28,
> -0x0300, 0x036f,
> -0x0485, 0x0486,
> -0x064b, 0x0655,
> -0x0670, 0x0670,
> -0x0951, 0x0954,
> -0x1ab0, 0x1abe,
> -0x1cd0, 0x1cd2,
> -0x1cd4, 0x1ce0,
> -0x1ce2, 0x1ce8,
> -0x1ced, 0x1ced,
> -0x1cf4, 0x1cf4,
> -0x1cf8, 0x1cf9,
> -0x1dc0, 0x1df9,
> -0x1dfb, 0x1dff,
> -0x200c, 0x200d,
> -0x20d0, 0x20f0,
> -0x302a, 0x302d,
> -0x3099, 0x309a,
> -0xfe00, 0xfe0f,
> -0xfe20, 0xfe2d,
> -0x101fd, 0x101fd,
> -0x102e0, 0x102e0,
> -0x1133b, 0x1133b,
> -0x1d167, 0x1d169,
> -0x1d17b, 0x1d182,
> -0x1d185, 0x1d18b,
> -0x1d1aa, 0x1d1ad,
> -0xe0100, 0xe01ef,
> -}; /* END of CR_Inherited */
> -
> -/* PROPERTY: 'Inscriptional_Pahlavi': Script */
> -static const OnigCodePoint
> -CR_Inscriptional_Pahlavi[] = { 2,
> -0x10b60, 0x10b72,
> -0x10b78, 0x10b7f,
> -}; /* END of CR_Inscriptional_Pahlavi */
> -
> -/* PROPERTY: 'Inscriptional_Parthian': Script */
> -static const OnigCodePoint
> -CR_Inscriptional_Parthian[] = { 2,
> -0x10b40, 0x10b55,
> -0x10b58, 0x10b5f,
> -}; /* END of CR_Inscriptional_Parthian */
> -
> -/* PROPERTY: 'Javanese': Script */
> -static const OnigCodePoint
> -CR_Javanese[] = { 3,
> -0xa980, 0xa9cd,
> -0xa9d0, 0xa9d9,
> -0xa9de, 0xa9df,
> -}; /* END of CR_Javanese */
> -
> -/* PROPERTY: 'Join_Control': Binary Property */
> -static const OnigCodePoint
> -CR_Join_Control[] = { 1,
> -0x200c, 0x200d,
> -}; /* END of CR_Join_Control */
> -
> -/* PROPERTY: 'Kaithi': Script */
> -static const OnigCodePoint
> -CR_Kaithi[] = { 2,
> -0x11080, 0x110c1,
> -0x110cd, 0x110cd,
> -}; /* END of CR_Kaithi */
> -
> -/* PROPERTY: 'Kannada': Script */
> -static const OnigCodePoint
> -CR_Kannada[] = { 13,
> -0x0c80, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbc, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccd,
> -0x0cd5, 0x0cd6,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce3,
> -0x0ce6, 0x0cef,
> -0x0cf1, 0x0cf2,
> -}; /* END of CR_Kannada */
> -
> -/* PROPERTY: 'Katakana': Script */
> -static const OnigCodePoint
> -CR_Katakana[] = { 9,
> -0x30a1, 0x30fa,
> -0x30fd, 0x30ff,
> -0x31f0, 0x31ff,
> -0x32d0, 0x32fe,
> -0x3300, 0x3357,
> -0xff66, 0xff6f,
> -0xff71, 0xff9d,
> -0x1b000, 0x1b000,
> -0x1b164, 0x1b167,
> -}; /* END of CR_Katakana */
> -
> -/* PROPERTY: 'Kayah_Li': Script */
> -static const OnigCodePoint
> -CR_Kayah_Li[] = { 2,
> -0xa900, 0xa92d,
> -0xa92f, 0xa92f,
> -}; /* END of CR_Kayah_Li */
> -
> -/* PROPERTY: 'Kharoshthi': Script */
> -static const OnigCodePoint
> -CR_Kharoshthi[] = { 8,
> -0x10a00, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a38, 0x10a3a,
> -0x10a3f, 0x10a48,
> -0x10a50, 0x10a58,
> -}; /* END of CR_Kharoshthi */
> -
> -/* PROPERTY: 'Khmer': Script */
> -static const OnigCodePoint
> -CR_Khmer[] = { 4,
> -0x1780, 0x17dd,
> -0x17e0, 0x17e9,
> -0x17f0, 0x17f9,
> -0x19e0, 0x19ff,
> -}; /* END of CR_Khmer */
> -
> -/* PROPERTY: 'Khojki': Script */
> -static const OnigCodePoint
> -CR_Khojki[] = { 2,
> -0x11200, 0x11211,
> -0x11213, 0x1123e,
> -}; /* END of CR_Khojki */
> -
> -/* PROPERTY: 'Khudawadi': Script */
> -static const OnigCodePoint
> -CR_Khudawadi[] = { 2,
> -0x112b0, 0x112ea,
> -0x112f0, 0x112f9,
> -}; /* END of CR_Khudawadi */
> -
> -/* PROPERTY: 'L': Major Category */
> -static const OnigCodePoint
> -CR_L[] = { 609,
> -0x0041, 0x005a,
> -0x0061, 0x007a,
> -0x00aa, 0x00aa,
> -0x00b5, 0x00b5,
> -0x00ba, 0x00ba,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00f6,
> -0x00f8, 0x02c1,
> -0x02c6, 0x02d1,
> -0x02e0, 0x02e4,
> -0x02ec, 0x02ec,
> -0x02ee, 0x02ee,
> -0x0370, 0x0374,
> -0x0376, 0x0377,
> -0x037a, 0x037d,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x03f5,
> -0x03f7, 0x0481,
> -0x048a, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x0559,
> -0x0560, 0x0588,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f2,
> -0x0620, 0x064a,
> -0x066e, 0x066f,
> -0x0671, 0x06d3,
> -0x06d5, 0x06d5,
> -0x06e5, 0x06e6,
> -0x06ee, 0x06ef,
> -0x06fa, 0x06fc,
> -0x06ff, 0x06ff,
> -0x0710, 0x0710,
> -0x0712, 0x072f,
> -0x074d, 0x07a5,
> -0x07b1, 0x07b1,
> -0x07ca, 0x07ea,
> -0x07f4, 0x07f5,
> -0x07fa, 0x07fa,
> -0x0800, 0x0815,
> -0x081a, 0x081a,
> -0x0824, 0x0824,
> -0x0828, 0x0828,
> -0x0840, 0x0858,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x0904, 0x0939,
> -0x093d, 0x093d,
> -0x0950, 0x0950,
> -0x0958, 0x0961,
> -0x0971, 0x0980,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bd, 0x09bd,
> -0x09ce, 0x09ce,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e1,
> -0x09f0, 0x09f1,
> -0x09fc, 0x09fc,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a72, 0x0a74,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abd, 0x0abd,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae1,
> -0x0af9, 0x0af9,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3d, 0x0b3d,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b61,
> -0x0b71, 0x0b71,
> -0x0b83, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bd0, 0x0bd0,
> -0x0c05, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c3d,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c61,
> -0x0c80, 0x0c80,
> -0x0c85, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbd, 0x0cbd,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce1,
> -0x0cf1, 0x0cf2,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d3a,
> -0x0d3d, 0x0d3d,
> -0x0d4e, 0x0d4e,
> -0x0d54, 0x0d56,
> -0x0d5f, 0x0d61,
> -0x0d7a, 0x0d7f,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0e01, 0x0e30,
> -0x0e32, 0x0e33,
> -0x0e40, 0x0e46,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0eb0,
> -0x0eb2, 0x0eb3,
> -0x0ebd, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f00,
> -0x0f40, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f88, 0x0f8c,
> -0x1000, 0x102a,
> -0x103f, 0x103f,
> -0x1050, 0x1055,
> -0x105a, 0x105d,
> -0x1061, 0x1061,
> -0x1065, 0x1066,
> -0x106e, 0x1070,
> -0x1075, 0x1081,
> -0x108e, 0x108e,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x10fa,
> -0x10fc, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x1380, 0x138f,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1401, 0x166c,
> -0x166f, 0x167f,
> -0x1681, 0x169a,
> -0x16a0, 0x16ea,
> -0x16f1, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1711,
> -0x1720, 0x1731,
> -0x1740, 0x1751,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1780, 0x17b3,
> -0x17d7, 0x17d7,
> -0x17dc, 0x17dc,
> -0x1820, 0x1878,
> -0x1880, 0x1884,
> -0x1887, 0x18a8,
> -0x18aa, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1950, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x1a00, 0x1a16,
> -0x1a20, 0x1a54,
> -0x1aa7, 0x1aa7,
> -0x1b05, 0x1b33,
> -0x1b45, 0x1b4b,
> -0x1b83, 0x1ba0,
> -0x1bae, 0x1baf,
> -0x1bba, 0x1be5,
> -0x1c00, 0x1c23,
> -0x1c4d, 0x1c4f,
> -0x1c5a, 0x1c7d,
> -0x1c80, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1ce9, 0x1cec,
> -0x1cee, 0x1cf3,
> -0x1cf5, 0x1cf6,
> -0x1cfa, 0x1cfa,
> -0x1d00, 0x1dbf,
> -0x1e00, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fbc,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fcc,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fe0, 0x1fec,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffc,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210a, 0x2113,
> -0x2115, 0x2115,
> -0x2119, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x212d,
> -0x212f, 0x2139,
> -0x213c, 0x213f,
> -0x2145, 0x2149,
> -0x214e, 0x214e,
> -0x2183, 0x2184,
> -0x2c00, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2ce4,
> -0x2ceb, 0x2cee,
> -0x2cf2, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d6f,
> -0x2d80, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x2e2f, 0x2e2f,
> -0x3005, 0x3006,
> -0x3031, 0x3035,
> -0x303b, 0x303c,
> -0x3041, 0x3096,
> -0x309d, 0x309f,
> -0x30a1, 0x30fa,
> -0x30fc, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x31a0, 0x31ba,
> -0x31f0, 0x31ff,
> -0x3400, 0x4db5,
> -0x4e00, 0x9fef,
> -0xa000, 0xa48c,
> -0xa4d0, 0xa4fd,
> -0xa500, 0xa60c,
> -0xa610, 0xa61f,
> -0xa62a, 0xa62b,
> -0xa640, 0xa66e,
> -0xa67f, 0xa69d,
> -0xa6a0, 0xa6e5,
> -0xa717, 0xa71f,
> -0xa722, 0xa788,
> -0xa78b, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa801,
> -0xa803, 0xa805,
> -0xa807, 0xa80a,
> -0xa80c, 0xa822,
> -0xa840, 0xa873,
> -0xa882, 0xa8b3,
> -0xa8f2, 0xa8f7,
> -0xa8fb, 0xa8fb,
> -0xa8fd, 0xa8fe,
> -0xa90a, 0xa925,
> -0xa930, 0xa946,
> -0xa960, 0xa97c,
> -0xa984, 0xa9b2,
> -0xa9cf, 0xa9cf,
> -0xa9e0, 0xa9e4,
> -0xa9e6, 0xa9ef,
> -0xa9fa, 0xa9fe,
> -0xaa00, 0xaa28,
> -0xaa40, 0xaa42,
> -0xaa44, 0xaa4b,
> -0xaa60, 0xaa76,
> -0xaa7a, 0xaa7a,
> -0xaa7e, 0xaaaf,
> -0xaab1, 0xaab1,
> -0xaab5, 0xaab6,
> -0xaab9, 0xaabd,
> -0xaac0, 0xaac0,
> -0xaac2, 0xaac2,
> -0xaadb, 0xaadd,
> -0xaae0, 0xaaea,
> -0xaaf2, 0xaaf4,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab5a,
> -0xab5c, 0xab67,
> -0xab70, 0xabe2,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xf900, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb1d,
> -0xfb1f, 0xfb28,
> -0xfb2a, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbb1,
> -0xfbd3, 0xfd3d,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfb,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xff21, 0xff3a,
> -0xff41, 0xff5a,
> -0xff66, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x10300, 0x1031f,
> -0x1032d, 0x10340,
> -0x10342, 0x10349,
> -0x10350, 0x10375,
> -0x10380, 0x1039d,
> -0x103a0, 0x103c3,
> -0x103c8, 0x103cf,
> -0x10400, 0x1049d,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10860, 0x10876,
> -0x10880, 0x1089e,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x10900, 0x10915,
> -0x10920, 0x10939,
> -0x10980, 0x109b7,
> -0x109be, 0x109bf,
> -0x10a00, 0x10a00,
> -0x10a10, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a60, 0x10a7c,
> -0x10a80, 0x10a9c,
> -0x10ac0, 0x10ac7,
> -0x10ac9, 0x10ae4,
> -0x10b00, 0x10b35,
> -0x10b40, 0x10b55,
> -0x10b60, 0x10b72,
> -0x10b80, 0x10b91,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10d00, 0x10d23,
> -0x10f00, 0x10f1c,
> -0x10f27, 0x10f27,
> -0x10f30, 0x10f45,
> -0x10fe0, 0x10ff6,
> -0x11003, 0x11037,
> -0x11083, 0x110af,
> -0x110d0, 0x110e8,
> -0x11103, 0x11126,
> -0x11144, 0x11144,
> -0x11150, 0x11172,
> -0x11176, 0x11176,
> -0x11183, 0x111b2,
> -0x111c1, 0x111c4,
> -0x111da, 0x111da,
> -0x111dc, 0x111dc,
> -0x11200, 0x11211,
> -0x11213, 0x1122b,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a8,
> -0x112b0, 0x112de,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133d, 0x1133d,
> -0x11350, 0x11350,
> -0x1135d, 0x11361,
> -0x11400, 0x11434,
> -0x11447, 0x1144a,
> -0x1145f, 0x1145f,
> -0x11480, 0x114af,
> -0x114c4, 0x114c5,
> -0x114c7, 0x114c7,
> -0x11580, 0x115ae,
> -0x115d8, 0x115db,
> -0x11600, 0x1162f,
> -0x11644, 0x11644,
> -0x11680, 0x116aa,
> -0x116b8, 0x116b8,
> -0x11700, 0x1171a,
> -0x11800, 0x1182b,
> -0x118a0, 0x118df,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d0,
> -0x119e1, 0x119e1,
> -0x119e3, 0x119e3,
> -0x11a00, 0x11a00,
> -0x11a0b, 0x11a32,
> -0x11a3a, 0x11a3a,
> -0x11a50, 0x11a50,
> -0x11a5c, 0x11a89,
> -0x11a9d, 0x11a9d,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c2e,
> -0x11c40, 0x11c40,
> -0x11c72, 0x11c8f,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d30,
> -0x11d46, 0x11d46,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d89,
> -0x11d98, 0x11d98,
> -0x11ee0, 0x11ef2,
> -0x12000, 0x12399,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16ad0, 0x16aed,
> -0x16b00, 0x16b2f,
> -0x16b40, 0x16b43,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e7f,
> -0x16f00, 0x16f4a,
> -0x16f50, 0x16f50,
> -0x16f93, 0x16f9f,
> -0x16fe0, 0x16fe1,
> -0x16fe3, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d6c0,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6fa,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d734,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d76e,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d7a8,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7cb,
> -0x1e100, 0x1e12c,
> -0x1e137, 0x1e13d,
> -0x1e14e, 0x1e14e,
> -0x1e2c0, 0x1e2eb,
> -0x1e800, 0x1e8c4,
> -0x1e900, 0x1e943,
> -0x1e94b, 0x1e94b,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -}; /* END of CR_L */
> -
> -/* PROPERTY: 'LC': General Category */
> -static const OnigCodePoint
> -CR_LC[] = { 131,
> -0x0041, 0x005a,
> -0x0061, 0x007a,
> -0x00b5, 0x00b5,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00f6,
> -0x00f8, 0x01ba,
> -0x01bc, 0x01bf,
> -0x01c4, 0x0293,
> -0x0295, 0x02af,
> -0x0370, 0x0373,
> -0x0376, 0x0377,
> -0x037b, 0x037d,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x03f5,
> -0x03f7, 0x0481,
> -0x048a, 0x052f,
> -0x0531, 0x0556,
> -0x0560, 0x0588,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x10fa,
> -0x10fd, 0x10ff,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1c80, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1d00, 0x1d2b,
> -0x1d6b, 0x1d77,
> -0x1d79, 0x1d9a,
> -0x1e00, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fbc,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fcc,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fe0, 0x1fec,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffc,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210a, 0x2113,
> -0x2115, 0x2115,
> -0x2119, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x212d,
> -0x212f, 0x2134,
> -0x2139, 0x2139,
> -0x213c, 0x213f,
> -0x2145, 0x2149,
> -0x214e, 0x214e,
> -0x2183, 0x2184,
> -0x2c00, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2c7b,
> -0x2c7e, 0x2ce4,
> -0x2ceb, 0x2cee,
> -0x2cf2, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0xa640, 0xa66d,
> -0xa680, 0xa69b,
> -0xa722, 0xa76f,
> -0xa771, 0xa787,
> -0xa78b, 0xa78e,
> -0xa790, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7fa, 0xa7fa,
> -0xab30, 0xab5a,
> -0xab60, 0xab67,
> -0xab70, 0xabbf,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xff21, 0xff3a,
> -0xff41, 0xff5a,
> -0x10400, 0x1044f,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x118a0, 0x118df,
> -0x16e40, 0x16e7f,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d6c0,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6fa,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d734,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d76e,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d7a8,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7cb,
> -0x1e900, 0x1e943,
> -}; /* END of CR_LC */
> -
> -/* PROPERTY: 'Lao': Script */
> -static const OnigCodePoint
> -CR_Lao[] = { 11,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0ec8, 0x0ecd,
> -0x0ed0, 0x0ed9,
> -0x0edc, 0x0edf,
> -}; /* END of CR_Lao */
> -
> -/* PROPERTY: 'Latin': Script */
> -static const OnigCodePoint
> -CR_Latin[] = { 32,
> -0x0041, 0x005a,
> -0x0061, 0x007a,
> -0x00aa, 0x00aa,
> -0x00ba, 0x00ba,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00f6,
> -0x00f8, 0x02b8,
> -0x02e0, 0x02e4,
> -0x1d00, 0x1d25,
> -0x1d2c, 0x1d5c,
> -0x1d62, 0x1d65,
> -0x1d6b, 0x1d77,
> -0x1d79, 0x1dbe,
> -0x1e00, 0x1eff,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x212a, 0x212b,
> -0x2132, 0x2132,
> -0x214e, 0x214e,
> -0x2160, 0x2188,
> -0x2c60, 0x2c7f,
> -0xa722, 0xa787,
> -0xa78b, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa7ff,
> -0xab30, 0xab5a,
> -0xab5c, 0xab64,
> -0xab66, 0xab67,
> -0xfb00, 0xfb06,
> -0xff21, 0xff3a,
> -0xff41, 0xff5a,
> -}; /* END of CR_Latin */
> -
> -/* PROPERTY: 'Lepcha': Script */
> -static const OnigCodePoint
> -CR_Lepcha[] = { 3,
> -0x1c00, 0x1c37,
> -0x1c3b, 0x1c49,
> -0x1c4d, 0x1c4f,
> -}; /* END of CR_Lepcha */
> -
> -/* PROPERTY: 'Limbu': Script */
> -static const OnigCodePoint
> -CR_Limbu[] = { 5,
> -0x1900, 0x191e,
> -0x1920, 0x192b,
> -0x1930, 0x193b,
> -0x1940, 0x1940,
> -0x1944, 0x194f,
> -}; /* END of CR_Limbu */
> -
> -/* PROPERTY: 'Linear_A': Script */
> -static const OnigCodePoint
> -CR_Linear_A[] = { 3,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -}; /* END of CR_Linear_A */
> -
> -/* PROPERTY: 'Linear_B': Script */
> -static const OnigCodePoint
> -CR_Linear_B[] = { 7,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -}; /* END of CR_Linear_B */
> -
> -/* PROPERTY: 'Lisu': Script */
> -static const OnigCodePoint
> -CR_Lisu[] = { 1,
> -0xa4d0, 0xa4ff,
> -}; /* END of CR_Lisu */
> -
> -/* PROPERTY: 'Ll': General Category */
> -static const OnigCodePoint
> -CR_Ll[] = { 642,
> -0x0061, 0x007a,
> -0x00b5, 0x00b5,
> -0x00df, 0x00f6,
> -0x00f8, 0x00ff,
> -0x0101, 0x0101,
> -0x0103, 0x0103,
> -0x0105, 0x0105,
> -0x0107, 0x0107,
> -0x0109, 0x0109,
> -0x010b, 0x010b,
> -0x010d, 0x010d,
> -0x010f, 0x010f,
> -0x0111, 0x0111,
> -0x0113, 0x0113,
> -0x0115, 0x0115,
> -0x0117, 0x0117,
> -0x0119, 0x0119,
> -0x011b, 0x011b,
> -0x011d, 0x011d,
> -0x011f, 0x011f,
> -0x0121, 0x0121,
> -0x0123, 0x0123,
> -0x0125, 0x0125,
> -0x0127, 0x0127,
> -0x0129, 0x0129,
> -0x012b, 0x012b,
> -0x012d, 0x012d,
> -0x012f, 0x012f,
> -0x0131, 0x0131,
> -0x0133, 0x0133,
> -0x0135, 0x0135,
> -0x0137, 0x0138,
> -0x013a, 0x013a,
> -0x013c, 0x013c,
> -0x013e, 0x013e,
> -0x0140, 0x0140,
> -0x0142, 0x0142,
> -0x0144, 0x0144,
> -0x0146, 0x0146,
> -0x0148, 0x0149,
> -0x014b, 0x014b,
> -0x014d, 0x014d,
> -0x014f, 0x014f,
> -0x0151, 0x0151,
> -0x0153, 0x0153,
> -0x0155, 0x0155,
> -0x0157, 0x0157,
> -0x0159, 0x0159,
> -0x015b, 0x015b,
> -0x015d, 0x015d,
> -0x015f, 0x015f,
> -0x0161, 0x0161,
> -0x0163, 0x0163,
> -0x0165, 0x0165,
> -0x0167, 0x0167,
> -0x0169, 0x0169,
> -0x016b, 0x016b,
> -0x016d, 0x016d,
> -0x016f, 0x016f,
> -0x0171, 0x0171,
> -0x0173, 0x0173,
> -0x0175, 0x0175,
> -0x0177, 0x0177,
> -0x017a, 0x017a,
> -0x017c, 0x017c,
> -0x017e, 0x0180,
> -0x0183, 0x0183,
> -0x0185, 0x0185,
> -0x0188, 0x0188,
> -0x018c, 0x018d,
> -0x0192, 0x0192,
> -0x0195, 0x0195,
> -0x0199, 0x019b,
> -0x019e, 0x019e,
> -0x01a1, 0x01a1,
> -0x01a3, 0x01a3,
> -0x01a5, 0x01a5,
> -0x01a8, 0x01a8,
> -0x01aa, 0x01ab,
> -0x01ad, 0x01ad,
> -0x01b0, 0x01b0,
> -0x01b4, 0x01b4,
> -0x01b6, 0x01b6,
> -0x01b9, 0x01ba,
> -0x01bd, 0x01bf,
> -0x01c6, 0x01c6,
> -0x01c9, 0x01c9,
> -0x01cc, 0x01cc,
> -0x01ce, 0x01ce,
> -0x01d0, 0x01d0,
> -0x01d2, 0x01d2,
> -0x01d4, 0x01d4,
> -0x01d6, 0x01d6,
> -0x01d8, 0x01d8,
> -0x01da, 0x01da,
> -0x01dc, 0x01dd,
> -0x01df, 0x01df,
> -0x01e1, 0x01e1,
> -0x01e3, 0x01e3,
> -0x01e5, 0x01e5,
> -0x01e7, 0x01e7,
> -0x01e9, 0x01e9,
> -0x01eb, 0x01eb,
> -0x01ed, 0x01ed,
> -0x01ef, 0x01f0,
> -0x01f3, 0x01f3,
> -0x01f5, 0x01f5,
> -0x01f9, 0x01f9,
> -0x01fb, 0x01fb,
> -0x01fd, 0x01fd,
> -0x01ff, 0x01ff,
> -0x0201, 0x0201,
> -0x0203, 0x0203,
> -0x0205, 0x0205,
> -0x0207, 0x0207,
> -0x0209, 0x0209,
> -0x020b, 0x020b,
> -0x020d, 0x020d,
> -0x020f, 0x020f,
> -0x0211, 0x0211,
> -0x0213, 0x0213,
> -0x0215, 0x0215,
> -0x0217, 0x0217,
> -0x0219, 0x0219,
> -0x021b, 0x021b,
> -0x021d, 0x021d,
> -0x021f, 0x021f,
> -0x0221, 0x0221,
> -0x0223, 0x0223,
> -0x0225, 0x0225,
> -0x0227, 0x0227,
> -0x0229, 0x0229,
> -0x022b, 0x022b,
> -0x022d, 0x022d,
> -0x022f, 0x022f,
> -0x0231, 0x0231,
> -0x0233, 0x0239,
> -0x023c, 0x023c,
> -0x023f, 0x0240,
> -0x0242, 0x0242,
> -0x0247, 0x0247,
> -0x0249, 0x0249,
> -0x024b, 0x024b,
> -0x024d, 0x024d,
> -0x024f, 0x0293,
> -0x0295, 0x02af,
> -0x0371, 0x0371,
> -0x0373, 0x0373,
> -0x0377, 0x0377,
> -0x037b, 0x037d,
> -0x0390, 0x0390,
> -0x03ac, 0x03ce,
> -0x03d0, 0x03d1,
> -0x03d5, 0x03d7,
> -0x03d9, 0x03d9,
> -0x03db, 0x03db,
> -0x03dd, 0x03dd,
> -0x03df, 0x03df,
> -0x03e1, 0x03e1,
> -0x03e3, 0x03e3,
> -0x03e5, 0x03e5,
> -0x03e7, 0x03e7,
> -0x03e9, 0x03e9,
> -0x03eb, 0x03eb,
> -0x03ed, 0x03ed,
> -0x03ef, 0x03f3,
> -0x03f5, 0x03f5,
> -0x03f8, 0x03f8,
> -0x03fb, 0x03fc,
> -0x0430, 0x045f,
> -0x0461, 0x0461,
> -0x0463, 0x0463,
> -0x0465, 0x0465,
> -0x0467, 0x0467,
> -0x0469, 0x0469,
> -0x046b, 0x046b,
> -0x046d, 0x046d,
> -0x046f, 0x046f,
> -0x0471, 0x0471,
> -0x0473, 0x0473,
> -0x0475, 0x0475,
> -0x0477, 0x0477,
> -0x0479, 0x0479,
> -0x047b, 0x047b,
> -0x047d, 0x047d,
> -0x047f, 0x047f,
> -0x0481, 0x0481,
> -0x048b, 0x048b,
> -0x048d, 0x048d,
> -0x048f, 0x048f,
> -0x0491, 0x0491,
> -0x0493, 0x0493,
> -0x0495, 0x0495,
> -0x0497, 0x0497,
> -0x0499, 0x0499,
> -0x049b, 0x049b,
> -0x049d, 0x049d,
> -0x049f, 0x049f,
> -0x04a1, 0x04a1,
> -0x04a3, 0x04a3,
> -0x04a5, 0x04a5,
> -0x04a7, 0x04a7,
> -0x04a9, 0x04a9,
> -0x04ab, 0x04ab,
> -0x04ad, 0x04ad,
> -0x04af, 0x04af,
> -0x04b1, 0x04b1,
> -0x04b3, 0x04b3,
> -0x04b5, 0x04b5,
> -0x04b7, 0x04b7,
> -0x04b9, 0x04b9,
> -0x04bb, 0x04bb,
> -0x04bd, 0x04bd,
> -0x04bf, 0x04bf,
> -0x04c2, 0x04c2,
> -0x04c4, 0x04c4,
> -0x04c6, 0x04c6,
> -0x04c8, 0x04c8,
> -0x04ca, 0x04ca,
> -0x04cc, 0x04cc,
> -0x04ce, 0x04cf,
> -0x04d1, 0x04d1,
> -0x04d3, 0x04d3,
> -0x04d5, 0x04d5,
> -0x04d7, 0x04d7,
> -0x04d9, 0x04d9,
> -0x04db, 0x04db,
> -0x04dd, 0x04dd,
> -0x04df, 0x04df,
> -0x04e1, 0x04e1,
> -0x04e3, 0x04e3,
> -0x04e5, 0x04e5,
> -0x04e7, 0x04e7,
> -0x04e9, 0x04e9,
> -0x04eb, 0x04eb,
> -0x04ed, 0x04ed,
> -0x04ef, 0x04ef,
> -0x04f1, 0x04f1,
> -0x04f3, 0x04f3,
> -0x04f5, 0x04f5,
> -0x04f7, 0x04f7,
> -0x04f9, 0x04f9,
> -0x04fb, 0x04fb,
> -0x04fd, 0x04fd,
> -0x04ff, 0x04ff,
> -0x0501, 0x0501,
> -0x0503, 0x0503,
> -0x0505, 0x0505,
> -0x0507, 0x0507,
> -0x0509, 0x0509,
> -0x050b, 0x050b,
> -0x050d, 0x050d,
> -0x050f, 0x050f,
> -0x0511, 0x0511,
> -0x0513, 0x0513,
> -0x0515, 0x0515,
> -0x0517, 0x0517,
> -0x0519, 0x0519,
> -0x051b, 0x051b,
> -0x051d, 0x051d,
> -0x051f, 0x051f,
> -0x0521, 0x0521,
> -0x0523, 0x0523,
> -0x0525, 0x0525,
> -0x0527, 0x0527,
> -0x0529, 0x0529,
> -0x052b, 0x052b,
> -0x052d, 0x052d,
> -0x052f, 0x052f,
> -0x0560, 0x0588,
> -0x10d0, 0x10fa,
> -0x10fd, 0x10ff,
> -0x13f8, 0x13fd,
> -0x1c80, 0x1c88,
> -0x1d00, 0x1d2b,
> -0x1d6b, 0x1d77,
> -0x1d79, 0x1d9a,
> -0x1e01, 0x1e01,
> -0x1e03, 0x1e03,
> -0x1e05, 0x1e05,
> -0x1e07, 0x1e07,
> -0x1e09, 0x1e09,
> -0x1e0b, 0x1e0b,
> -0x1e0d, 0x1e0d,
> -0x1e0f, 0x1e0f,
> -0x1e11, 0x1e11,
> -0x1e13, 0x1e13,
> -0x1e15, 0x1e15,
> -0x1e17, 0x1e17,
> -0x1e19, 0x1e19,
> -0x1e1b, 0x1e1b,
> -0x1e1d, 0x1e1d,
> -0x1e1f, 0x1e1f,
> -0x1e21, 0x1e21,
> -0x1e23, 0x1e23,
> -0x1e25, 0x1e25,
> -0x1e27, 0x1e27,
> -0x1e29, 0x1e29,
> -0x1e2b, 0x1e2b,
> -0x1e2d, 0x1e2d,
> -0x1e2f, 0x1e2f,
> -0x1e31, 0x1e31,
> -0x1e33, 0x1e33,
> -0x1e35, 0x1e35,
> -0x1e37, 0x1e37,
> -0x1e39, 0x1e39,
> -0x1e3b, 0x1e3b,
> -0x1e3d, 0x1e3d,
> -0x1e3f, 0x1e3f,
> -0x1e41, 0x1e41,
> -0x1e43, 0x1e43,
> -0x1e45, 0x1e45,
> -0x1e47, 0x1e47,
> -0x1e49, 0x1e49,
> -0x1e4b, 0x1e4b,
> -0x1e4d, 0x1e4d,
> -0x1e4f, 0x1e4f,
> -0x1e51, 0x1e51,
> -0x1e53, 0x1e53,
> -0x1e55, 0x1e55,
> -0x1e57, 0x1e57,
> -0x1e59, 0x1e59,
> -0x1e5b, 0x1e5b,
> -0x1e5d, 0x1e5d,
> -0x1e5f, 0x1e5f,
> -0x1e61, 0x1e61,
> -0x1e63, 0x1e63,
> -0x1e65, 0x1e65,
> -0x1e67, 0x1e67,
> -0x1e69, 0x1e69,
> -0x1e6b, 0x1e6b,
> -0x1e6d, 0x1e6d,
> -0x1e6f, 0x1e6f,
> -0x1e71, 0x1e71,
> -0x1e73, 0x1e73,
> -0x1e75, 0x1e75,
> -0x1e77, 0x1e77,
> -0x1e79, 0x1e79,
> -0x1e7b, 0x1e7b,
> -0x1e7d, 0x1e7d,
> -0x1e7f, 0x1e7f,
> -0x1e81, 0x1e81,
> -0x1e83, 0x1e83,
> -0x1e85, 0x1e85,
> -0x1e87, 0x1e87,
> -0x1e89, 0x1e89,
> -0x1e8b, 0x1e8b,
> -0x1e8d, 0x1e8d,
> -0x1e8f, 0x1e8f,
> -0x1e91, 0x1e91,
> -0x1e93, 0x1e93,
> -0x1e95, 0x1e9d,
> -0x1e9f, 0x1e9f,
> -0x1ea1, 0x1ea1,
> -0x1ea3, 0x1ea3,
> -0x1ea5, 0x1ea5,
> -0x1ea7, 0x1ea7,
> -0x1ea9, 0x1ea9,
> -0x1eab, 0x1eab,
> -0x1ead, 0x1ead,
> -0x1eaf, 0x1eaf,
> -0x1eb1, 0x1eb1,
> -0x1eb3, 0x1eb3,
> -0x1eb5, 0x1eb5,
> -0x1eb7, 0x1eb7,
> -0x1eb9, 0x1eb9,
> -0x1ebb, 0x1ebb,
> -0x1ebd, 0x1ebd,
> -0x1ebf, 0x1ebf,
> -0x1ec1, 0x1ec1,
> -0x1ec3, 0x1ec3,
> -0x1ec5, 0x1ec5,
> -0x1ec7, 0x1ec7,
> -0x1ec9, 0x1ec9,
> -0x1ecb, 0x1ecb,
> -0x1ecd, 0x1ecd,
> -0x1ecf, 0x1ecf,
> -0x1ed1, 0x1ed1,
> -0x1ed3, 0x1ed3,
> -0x1ed5, 0x1ed5,
> -0x1ed7, 0x1ed7,
> -0x1ed9, 0x1ed9,
> -0x1edb, 0x1edb,
> -0x1edd, 0x1edd,
> -0x1edf, 0x1edf,
> -0x1ee1, 0x1ee1,
> -0x1ee3, 0x1ee3,
> -0x1ee5, 0x1ee5,
> -0x1ee7, 0x1ee7,
> -0x1ee9, 0x1ee9,
> -0x1eeb, 0x1eeb,
> -0x1eed, 0x1eed,
> -0x1eef, 0x1eef,
> -0x1ef1, 0x1ef1,
> -0x1ef3, 0x1ef3,
> -0x1ef5, 0x1ef5,
> -0x1ef7, 0x1ef7,
> -0x1ef9, 0x1ef9,
> -0x1efb, 0x1efb,
> -0x1efd, 0x1efd,
> -0x1eff, 0x1f07,
> -0x1f10, 0x1f15,
> -0x1f20, 0x1f27,
> -0x1f30, 0x1f37,
> -0x1f40, 0x1f45,
> -0x1f50, 0x1f57,
> -0x1f60, 0x1f67,
> -0x1f70, 0x1f7d,
> -0x1f80, 0x1f87,
> -0x1f90, 0x1f97,
> -0x1fa0, 0x1fa7,
> -0x1fb0, 0x1fb4,
> -0x1fb6, 0x1fb7,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fc7,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fd7,
> -0x1fe0, 0x1fe7,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ff7,
> -0x210a, 0x210a,
> -0x210e, 0x210f,
> -0x2113, 0x2113,
> -0x212f, 0x212f,
> -0x2134, 0x2134,
> -0x2139, 0x2139,
> -0x213c, 0x213d,
> -0x2146, 0x2149,
> -0x214e, 0x214e,
> -0x2184, 0x2184,
> -0x2c30, 0x2c5e,
> -0x2c61, 0x2c61,
> -0x2c65, 0x2c66,
> -0x2c68, 0x2c68,
> -0x2c6a, 0x2c6a,
> -0x2c6c, 0x2c6c,
> -0x2c71, 0x2c71,
> -0x2c73, 0x2c74,
> -0x2c76, 0x2c7b,
> -0x2c81, 0x2c81,
> -0x2c83, 0x2c83,
> -0x2c85, 0x2c85,
> -0x2c87, 0x2c87,
> -0x2c89, 0x2c89,
> -0x2c8b, 0x2c8b,
> -0x2c8d, 0x2c8d,
> -0x2c8f, 0x2c8f,
> -0x2c91, 0x2c91,
> -0x2c93, 0x2c93,
> -0x2c95, 0x2c95,
> -0x2c97, 0x2c97,
> -0x2c99, 0x2c99,
> -0x2c9b, 0x2c9b,
> -0x2c9d, 0x2c9d,
> -0x2c9f, 0x2c9f,
> -0x2ca1, 0x2ca1,
> -0x2ca3, 0x2ca3,
> -0x2ca5, 0x2ca5,
> -0x2ca7, 0x2ca7,
> -0x2ca9, 0x2ca9,
> -0x2cab, 0x2cab,
> -0x2cad, 0x2cad,
> -0x2caf, 0x2caf,
> -0x2cb1, 0x2cb1,
> -0x2cb3, 0x2cb3,
> -0x2cb5, 0x2cb5,
> -0x2cb7, 0x2cb7,
> -0x2cb9, 0x2cb9,
> -0x2cbb, 0x2cbb,
> -0x2cbd, 0x2cbd,
> -0x2cbf, 0x2cbf,
> -0x2cc1, 0x2cc1,
> -0x2cc3, 0x2cc3,
> -0x2cc5, 0x2cc5,
> -0x2cc7, 0x2cc7,
> -0x2cc9, 0x2cc9,
> -0x2ccb, 0x2ccb,
> -0x2ccd, 0x2ccd,
> -0x2ccf, 0x2ccf,
> -0x2cd1, 0x2cd1,
> -0x2cd3, 0x2cd3,
> -0x2cd5, 0x2cd5,
> -0x2cd7, 0x2cd7,
> -0x2cd9, 0x2cd9,
> -0x2cdb, 0x2cdb,
> -0x2cdd, 0x2cdd,
> -0x2cdf, 0x2cdf,
> -0x2ce1, 0x2ce1,
> -0x2ce3, 0x2ce4,
> -0x2cec, 0x2cec,
> -0x2cee, 0x2cee,
> -0x2cf3, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0xa641, 0xa641,
> -0xa643, 0xa643,
> -0xa645, 0xa645,
> -0xa647, 0xa647,
> -0xa649, 0xa649,
> -0xa64b, 0xa64b,
> -0xa64d, 0xa64d,
> -0xa64f, 0xa64f,
> -0xa651, 0xa651,
> -0xa653, 0xa653,
> -0xa655, 0xa655,
> -0xa657, 0xa657,
> -0xa659, 0xa659,
> -0xa65b, 0xa65b,
> -0xa65d, 0xa65d,
> -0xa65f, 0xa65f,
> -0xa661, 0xa661,
> -0xa663, 0xa663,
> -0xa665, 0xa665,
> -0xa667, 0xa667,
> -0xa669, 0xa669,
> -0xa66b, 0xa66b,
> -0xa66d, 0xa66d,
> -0xa681, 0xa681,
> -0xa683, 0xa683,
> -0xa685, 0xa685,
> -0xa687, 0xa687,
> -0xa689, 0xa689,
> -0xa68b, 0xa68b,
> -0xa68d, 0xa68d,
> -0xa68f, 0xa68f,
> -0xa691, 0xa691,
> -0xa693, 0xa693,
> -0xa695, 0xa695,
> -0xa697, 0xa697,
> -0xa699, 0xa699,
> -0xa69b, 0xa69b,
> -0xa723, 0xa723,
> -0xa725, 0xa725,
> -0xa727, 0xa727,
> -0xa729, 0xa729,
> -0xa72b, 0xa72b,
> -0xa72d, 0xa72d,
> -0xa72f, 0xa731,
> -0xa733, 0xa733,
> -0xa735, 0xa735,
> -0xa737, 0xa737,
> -0xa739, 0xa739,
> -0xa73b, 0xa73b,
> -0xa73d, 0xa73d,
> -0xa73f, 0xa73f,
> -0xa741, 0xa741,
> -0xa743, 0xa743,
> -0xa745, 0xa745,
> -0xa747, 0xa747,
> -0xa749, 0xa749,
> -0xa74b, 0xa74b,
> -0xa74d, 0xa74d,
> -0xa74f, 0xa74f,
> -0xa751, 0xa751,
> -0xa753, 0xa753,
> -0xa755, 0xa755,
> -0xa757, 0xa757,
> -0xa759, 0xa759,
> -0xa75b, 0xa75b,
> -0xa75d, 0xa75d,
> -0xa75f, 0xa75f,
> -0xa761, 0xa761,
> -0xa763, 0xa763,
> -0xa765, 0xa765,
> -0xa767, 0xa767,
> -0xa769, 0xa769,
> -0xa76b, 0xa76b,
> -0xa76d, 0xa76d,
> -0xa76f, 0xa76f,
> -0xa771, 0xa778,
> -0xa77a, 0xa77a,
> -0xa77c, 0xa77c,
> -0xa77f, 0xa77f,
> -0xa781, 0xa781,
> -0xa783, 0xa783,
> -0xa785, 0xa785,
> -0xa787, 0xa787,
> -0xa78c, 0xa78c,
> -0xa78e, 0xa78e,
> -0xa791, 0xa791,
> -0xa793, 0xa795,
> -0xa797, 0xa797,
> -0xa799, 0xa799,
> -0xa79b, 0xa79b,
> -0xa79d, 0xa79d,
> -0xa79f, 0xa79f,
> -0xa7a1, 0xa7a1,
> -0xa7a3, 0xa7a3,
> -0xa7a5, 0xa7a5,
> -0xa7a7, 0xa7a7,
> -0xa7a9, 0xa7a9,
> -0xa7af, 0xa7af,
> -0xa7b5, 0xa7b5,
> -0xa7b7, 0xa7b7,
> -0xa7b9, 0xa7b9,
> -0xa7bb, 0xa7bb,
> -0xa7bd, 0xa7bd,
> -0xa7bf, 0xa7bf,
> -0xa7c3, 0xa7c3,
> -0xa7fa, 0xa7fa,
> -0xab30, 0xab5a,
> -0xab60, 0xab67,
> -0xab70, 0xabbf,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xff41, 0xff5a,
> -0x10428, 0x1044f,
> -0x104d8, 0x104fb,
> -0x10cc0, 0x10cf2,
> -0x118c0, 0x118df,
> -0x16e60, 0x16e7f,
> -0x1d41a, 0x1d433,
> -0x1d44e, 0x1d454,
> -0x1d456, 0x1d467,
> -0x1d482, 0x1d49b,
> -0x1d4b6, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d4cf,
> -0x1d4ea, 0x1d503,
> -0x1d51e, 0x1d537,
> -0x1d552, 0x1d56b,
> -0x1d586, 0x1d59f,
> -0x1d5ba, 0x1d5d3,
> -0x1d5ee, 0x1d607,
> -0x1d622, 0x1d63b,
> -0x1d656, 0x1d66f,
> -0x1d68a, 0x1d6a5,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6e1,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d71b,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d755,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d78f,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7c9,
> -0x1d7cb, 0x1d7cb,
> -0x1e922, 0x1e943,
> -}; /* END of CR_Ll */
> -
> -/* PROPERTY: 'Lm': General Category */
> -static const OnigCodePoint
> -CR_Lm[] = { 60,
> -0x02b0, 0x02c1,
> -0x02c6, 0x02d1,
> -0x02e0, 0x02e4,
> -0x02ec, 0x02ec,
> -0x02ee, 0x02ee,
> -0x0374, 0x0374,
> -0x037a, 0x037a,
> -0x0559, 0x0559,
> -0x0640, 0x0640,
> -0x06e5, 0x06e6,
> -0x07f4, 0x07f5,
> -0x07fa, 0x07fa,
> -0x081a, 0x081a,
> -0x0824, 0x0824,
> -0x0828, 0x0828,
> -0x0971, 0x0971,
> -0x0e46, 0x0e46,
> -0x0ec6, 0x0ec6,
> -0x10fc, 0x10fc,
> -0x17d7, 0x17d7,
> -0x1843, 0x1843,
> -0x1aa7, 0x1aa7,
> -0x1c78, 0x1c7d,
> -0x1d2c, 0x1d6a,
> -0x1d78, 0x1d78,
> -0x1d9b, 0x1dbf,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x2c7c, 0x2c7d,
> -0x2d6f, 0x2d6f,
> -0x2e2f, 0x2e2f,
> -0x3005, 0x3005,
> -0x3031, 0x3035,
> -0x303b, 0x303b,
> -0x309d, 0x309e,
> -0x30fc, 0x30fe,
> -0xa015, 0xa015,
> -0xa4f8, 0xa4fd,
> -0xa60c, 0xa60c,
> -0xa67f, 0xa67f,
> -0xa69c, 0xa69d,
> -0xa717, 0xa71f,
> -0xa770, 0xa770,
> -0xa788, 0xa788,
> -0xa7f8, 0xa7f9,
> -0xa9cf, 0xa9cf,
> -0xa9e6, 0xa9e6,
> -0xaa70, 0xaa70,
> -0xaadd, 0xaadd,
> -0xaaf3, 0xaaf4,
> -0xab5c, 0xab5f,
> -0xff70, 0xff70,
> -0xff9e, 0xff9f,
> -0x16b40, 0x16b43,
> -0x16f93, 0x16f9f,
> -0x16fe0, 0x16fe1,
> -0x16fe3, 0x16fe3,
> -0x1e137, 0x1e13d,
> -0x1e94b, 0x1e94b,
> -}; /* END of CR_Lm */
> -
> -/* PROPERTY: 'Lo': General Category */
> -static const OnigCodePoint
> -CR_Lo[] = { 476,
> -0x00aa, 0x00aa,
> -0x00ba, 0x00ba,
> -0x01bb, 0x01bb,
> -0x01c0, 0x01c3,
> -0x0294, 0x0294,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f2,
> -0x0620, 0x063f,
> -0x0641, 0x064a,
> -0x066e, 0x066f,
> -0x0671, 0x06d3,
> -0x06d5, 0x06d5,
> -0x06ee, 0x06ef,
> -0x06fa, 0x06fc,
> -0x06ff, 0x06ff,
> -0x0710, 0x0710,
> -0x0712, 0x072f,
> -0x074d, 0x07a5,
> -0x07b1, 0x07b1,
> -0x07ca, 0x07ea,
> -0x0800, 0x0815,
> -0x0840, 0x0858,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x0904, 0x0939,
> -0x093d, 0x093d,
> -0x0950, 0x0950,
> -0x0958, 0x0961,
> -0x0972, 0x0980,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bd, 0x09bd,
> -0x09ce, 0x09ce,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e1,
> -0x09f0, 0x09f1,
> -0x09fc, 0x09fc,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a72, 0x0a74,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abd, 0x0abd,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae1,
> -0x0af9, 0x0af9,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3d, 0x0b3d,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b61,
> -0x0b71, 0x0b71,
> -0x0b83, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bd0, 0x0bd0,
> -0x0c05, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c3d,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c61,
> -0x0c80, 0x0c80,
> -0x0c85, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbd, 0x0cbd,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce1,
> -0x0cf1, 0x0cf2,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d3a,
> -0x0d3d, 0x0d3d,
> -0x0d4e, 0x0d4e,
> -0x0d54, 0x0d56,
> -0x0d5f, 0x0d61,
> -0x0d7a, 0x0d7f,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0e01, 0x0e30,
> -0x0e32, 0x0e33,
> -0x0e40, 0x0e45,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0eb0,
> -0x0eb2, 0x0eb3,
> -0x0ebd, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f00,
> -0x0f40, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f88, 0x0f8c,
> -0x1000, 0x102a,
> -0x103f, 0x103f,
> -0x1050, 0x1055,
> -0x105a, 0x105d,
> -0x1061, 0x1061,
> -0x1065, 0x1066,
> -0x106e, 0x1070,
> -0x1075, 0x1081,
> -0x108e, 0x108e,
> -0x1100, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x1380, 0x138f,
> -0x1401, 0x166c,
> -0x166f, 0x167f,
> -0x1681, 0x169a,
> -0x16a0, 0x16ea,
> -0x16f1, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1711,
> -0x1720, 0x1731,
> -0x1740, 0x1751,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1780, 0x17b3,
> -0x17dc, 0x17dc,
> -0x1820, 0x1842,
> -0x1844, 0x1878,
> -0x1880, 0x1884,
> -0x1887, 0x18a8,
> -0x18aa, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1950, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x1a00, 0x1a16,
> -0x1a20, 0x1a54,
> -0x1b05, 0x1b33,
> -0x1b45, 0x1b4b,
> -0x1b83, 0x1ba0,
> -0x1bae, 0x1baf,
> -0x1bba, 0x1be5,
> -0x1c00, 0x1c23,
> -0x1c4d, 0x1c4f,
> -0x1c5a, 0x1c77,
> -0x1ce9, 0x1cec,
> -0x1cee, 0x1cf3,
> -0x1cf5, 0x1cf6,
> -0x1cfa, 0x1cfa,
> -0x2135, 0x2138,
> -0x2d30, 0x2d67,
> -0x2d80, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x3006, 0x3006,
> -0x303c, 0x303c,
> -0x3041, 0x3096,
> -0x309f, 0x309f,
> -0x30a1, 0x30fa,
> -0x30ff, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x31a0, 0x31ba,
> -0x31f0, 0x31ff,
> -0x3400, 0x4db5,
> -0x4e00, 0x9fef,
> -0xa000, 0xa014,
> -0xa016, 0xa48c,
> -0xa4d0, 0xa4f7,
> -0xa500, 0xa60b,
> -0xa610, 0xa61f,
> -0xa62a, 0xa62b,
> -0xa66e, 0xa66e,
> -0xa6a0, 0xa6e5,
> -0xa78f, 0xa78f,
> -0xa7f7, 0xa7f7,
> -0xa7fb, 0xa801,
> -0xa803, 0xa805,
> -0xa807, 0xa80a,
> -0xa80c, 0xa822,
> -0xa840, 0xa873,
> -0xa882, 0xa8b3,
> -0xa8f2, 0xa8f7,
> -0xa8fb, 0xa8fb,
> -0xa8fd, 0xa8fe,
> -0xa90a, 0xa925,
> -0xa930, 0xa946,
> -0xa960, 0xa97c,
> -0xa984, 0xa9b2,
> -0xa9e0, 0xa9e4,
> -0xa9e7, 0xa9ef,
> -0xa9fa, 0xa9fe,
> -0xaa00, 0xaa28,
> -0xaa40, 0xaa42,
> -0xaa44, 0xaa4b,
> -0xaa60, 0xaa6f,
> -0xaa71, 0xaa76,
> -0xaa7a, 0xaa7a,
> -0xaa7e, 0xaaaf,
> -0xaab1, 0xaab1,
> -0xaab5, 0xaab6,
> -0xaab9, 0xaabd,
> -0xaac0, 0xaac0,
> -0xaac2, 0xaac2,
> -0xaadb, 0xaadc,
> -0xaae0, 0xaaea,
> -0xaaf2, 0xaaf2,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xabc0, 0xabe2,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xf900, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb1d, 0xfb1d,
> -0xfb1f, 0xfb28,
> -0xfb2a, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbb1,
> -0xfbd3, 0xfd3d,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfb,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xff66, 0xff6f,
> -0xff71, 0xff9d,
> -0xffa0, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x10300, 0x1031f,
> -0x1032d, 0x10340,
> -0x10342, 0x10349,
> -0x10350, 0x10375,
> -0x10380, 0x1039d,
> -0x103a0, 0x103c3,
> -0x103c8, 0x103cf,
> -0x10450, 0x1049d,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10860, 0x10876,
> -0x10880, 0x1089e,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x10900, 0x10915,
> -0x10920, 0x10939,
> -0x10980, 0x109b7,
> -0x109be, 0x109bf,
> -0x10a00, 0x10a00,
> -0x10a10, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a60, 0x10a7c,
> -0x10a80, 0x10a9c,
> -0x10ac0, 0x10ac7,
> -0x10ac9, 0x10ae4,
> -0x10b00, 0x10b35,
> -0x10b40, 0x10b55,
> -0x10b60, 0x10b72,
> -0x10b80, 0x10b91,
> -0x10c00, 0x10c48,
> -0x10d00, 0x10d23,
> -0x10f00, 0x10f1c,
> -0x10f27, 0x10f27,
> -0x10f30, 0x10f45,
> -0x10fe0, 0x10ff6,
> -0x11003, 0x11037,
> -0x11083, 0x110af,
> -0x110d0, 0x110e8,
> -0x11103, 0x11126,
> -0x11144, 0x11144,
> -0x11150, 0x11172,
> -0x11176, 0x11176,
> -0x11183, 0x111b2,
> -0x111c1, 0x111c4,
> -0x111da, 0x111da,
> -0x111dc, 0x111dc,
> -0x11200, 0x11211,
> -0x11213, 0x1122b,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a8,
> -0x112b0, 0x112de,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133d, 0x1133d,
> -0x11350, 0x11350,
> -0x1135d, 0x11361,
> -0x11400, 0x11434,
> -0x11447, 0x1144a,
> -0x1145f, 0x1145f,
> -0x11480, 0x114af,
> -0x114c4, 0x114c5,
> -0x114c7, 0x114c7,
> -0x11580, 0x115ae,
> -0x115d8, 0x115db,
> -0x11600, 0x1162f,
> -0x11644, 0x11644,
> -0x11680, 0x116aa,
> -0x116b8, 0x116b8,
> -0x11700, 0x1171a,
> -0x11800, 0x1182b,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d0,
> -0x119e1, 0x119e1,
> -0x119e3, 0x119e3,
> -0x11a00, 0x11a00,
> -0x11a0b, 0x11a32,
> -0x11a3a, 0x11a3a,
> -0x11a50, 0x11a50,
> -0x11a5c, 0x11a89,
> -0x11a9d, 0x11a9d,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c2e,
> -0x11c40, 0x11c40,
> -0x11c72, 0x11c8f,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d30,
> -0x11d46, 0x11d46,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d89,
> -0x11d98, 0x11d98,
> -0x11ee0, 0x11ef2,
> -0x12000, 0x12399,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16ad0, 0x16aed,
> -0x16b00, 0x16b2f,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16f00, 0x16f4a,
> -0x16f50, 0x16f50,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1e100, 0x1e12c,
> -0x1e14e, 0x1e14e,
> -0x1e2c0, 0x1e2eb,
> -0x1e800, 0x1e8c4,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -}; /* END of CR_Lo */
> -
> -/* PROPERTY: 'Logical_Order_Exception': Binary Property */
> -static const OnigCodePoint
> -CR_Logical_Order_Exception[] = { 7,
> -0x0e40, 0x0e44,
> -0x0ec0, 0x0ec4,
> -0x19b5, 0x19b7,
> -0x19ba, 0x19ba,
> -0xaab5, 0xaab6,
> -0xaab9, 0xaab9,
> -0xaabb, 0xaabc,
> -}; /* END of CR_Logical_Order_Exception */
> -
> -/* PROPERTY: 'Lowercase': Derived Property */
> -#define CR_Lowercase CR_Lower
> -
> -/* PROPERTY: 'Lt': General Category */
> -static const OnigCodePoint
> -CR_Lt[] = { 10,
> -0x01c5, 0x01c5,
> -0x01c8, 0x01c8,
> -0x01cb, 0x01cb,
> -0x01f2, 0x01f2,
> -0x1f88, 0x1f8f,
> -0x1f98, 0x1f9f,
> -0x1fa8, 0x1faf,
> -0x1fbc, 0x1fbc,
> -0x1fcc, 0x1fcc,
> -0x1ffc, 0x1ffc,
> -}; /* END of CR_Lt */
> -
> -/* PROPERTY: 'Lu': General Category */
> -static const OnigCodePoint
> -CR_Lu[] = { 636,
> -0x0041, 0x005a,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00de,
> -0x0100, 0x0100,
> -0x0102, 0x0102,
> -0x0104, 0x0104,
> -0x0106, 0x0106,
> -0x0108, 0x0108,
> -0x010a, 0x010a,
> -0x010c, 0x010c,
> -0x010e, 0x010e,
> -0x0110, 0x0110,
> -0x0112, 0x0112,
> -0x0114, 0x0114,
> -0x0116, 0x0116,
> -0x0118, 0x0118,
> -0x011a, 0x011a,
> -0x011c, 0x011c,
> -0x011e, 0x011e,
> -0x0120, 0x0120,
> -0x0122, 0x0122,
> -0x0124, 0x0124,
> -0x0126, 0x0126,
> -0x0128, 0x0128,
> -0x012a, 0x012a,
> -0x012c, 0x012c,
> -0x012e, 0x012e,
> -0x0130, 0x0130,
> -0x0132, 0x0132,
> -0x0134, 0x0134,
> -0x0136, 0x0136,
> -0x0139, 0x0139,
> -0x013b, 0x013b,
> -0x013d, 0x013d,
> -0x013f, 0x013f,
> -0x0141, 0x0141,
> -0x0143, 0x0143,
> -0x0145, 0x0145,
> -0x0147, 0x0147,
> -0x014a, 0x014a,
> -0x014c, 0x014c,
> -0x014e, 0x014e,
> -0x0150, 0x0150,
> -0x0152, 0x0152,
> -0x0154, 0x0154,
> -0x0156, 0x0156,
> -0x0158, 0x0158,
> -0x015a, 0x015a,
> -0x015c, 0x015c,
> -0x015e, 0x015e,
> -0x0160, 0x0160,
> -0x0162, 0x0162,
> -0x0164, 0x0164,
> -0x0166, 0x0166,
> -0x0168, 0x0168,
> -0x016a, 0x016a,
> -0x016c, 0x016c,
> -0x016e, 0x016e,
> -0x0170, 0x0170,
> -0x0172, 0x0172,
> -0x0174, 0x0174,
> -0x0176, 0x0176,
> -0x0178, 0x0179,
> -0x017b, 0x017b,
> -0x017d, 0x017d,
> -0x0181, 0x0182,
> -0x0184, 0x0184,
> -0x0186, 0x0187,
> -0x0189, 0x018b,
> -0x018e, 0x0191,
> -0x0193, 0x0194,
> -0x0196, 0x0198,
> -0x019c, 0x019d,
> -0x019f, 0x01a0,
> -0x01a2, 0x01a2,
> -0x01a4, 0x01a4,
> -0x01a6, 0x01a7,
> -0x01a9, 0x01a9,
> -0x01ac, 0x01ac,
> -0x01ae, 0x01af,
> -0x01b1, 0x01b3,
> -0x01b5, 0x01b5,
> -0x01b7, 0x01b8,
> -0x01bc, 0x01bc,
> -0x01c4, 0x01c4,
> -0x01c7, 0x01c7,
> -0x01ca, 0x01ca,
> -0x01cd, 0x01cd,
> -0x01cf, 0x01cf,
> -0x01d1, 0x01d1,
> -0x01d3, 0x01d3,
> -0x01d5, 0x01d5,
> -0x01d7, 0x01d7,
> -0x01d9, 0x01d9,
> -0x01db, 0x01db,
> -0x01de, 0x01de,
> -0x01e0, 0x01e0,
> -0x01e2, 0x01e2,
> -0x01e4, 0x01e4,
> -0x01e6, 0x01e6,
> -0x01e8, 0x01e8,
> -0x01ea, 0x01ea,
> -0x01ec, 0x01ec,
> -0x01ee, 0x01ee,
> -0x01f1, 0x01f1,
> -0x01f4, 0x01f4,
> -0x01f6, 0x01f8,
> -0x01fa, 0x01fa,
> -0x01fc, 0x01fc,
> -0x01fe, 0x01fe,
> -0x0200, 0x0200,
> -0x0202, 0x0202,
> -0x0204, 0x0204,
> -0x0206, 0x0206,
> -0x0208, 0x0208,
> -0x020a, 0x020a,
> -0x020c, 0x020c,
> -0x020e, 0x020e,
> -0x0210, 0x0210,
> -0x0212, 0x0212,
> -0x0214, 0x0214,
> -0x0216, 0x0216,
> -0x0218, 0x0218,
> -0x021a, 0x021a,
> -0x021c, 0x021c,
> -0x021e, 0x021e,
> -0x0220, 0x0220,
> -0x0222, 0x0222,
> -0x0224, 0x0224,
> -0x0226, 0x0226,
> -0x0228, 0x0228,
> -0x022a, 0x022a,
> -0x022c, 0x022c,
> -0x022e, 0x022e,
> -0x0230, 0x0230,
> -0x0232, 0x0232,
> -0x023a, 0x023b,
> -0x023d, 0x023e,
> -0x0241, 0x0241,
> -0x0243, 0x0246,
> -0x0248, 0x0248,
> -0x024a, 0x024a,
> -0x024c, 0x024c,
> -0x024e, 0x024e,
> -0x0370, 0x0370,
> -0x0372, 0x0372,
> -0x0376, 0x0376,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x038f,
> -0x0391, 0x03a1,
> -0x03a3, 0x03ab,
> -0x03cf, 0x03cf,
> -0x03d2, 0x03d4,
> -0x03d8, 0x03d8,
> -0x03da, 0x03da,
> -0x03dc, 0x03dc,
> -0x03de, 0x03de,
> -0x03e0, 0x03e0,
> -0x03e2, 0x03e2,
> -0x03e4, 0x03e4,
> -0x03e6, 0x03e6,
> -0x03e8, 0x03e8,
> -0x03ea, 0x03ea,
> -0x03ec, 0x03ec,
> -0x03ee, 0x03ee,
> -0x03f4, 0x03f4,
> -0x03f7, 0x03f7,
> -0x03f9, 0x03fa,
> -0x03fd, 0x042f,
> -0x0460, 0x0460,
> -0x0462, 0x0462,
> -0x0464, 0x0464,
> -0x0466, 0x0466,
> -0x0468, 0x0468,
> -0x046a, 0x046a,
> -0x046c, 0x046c,
> -0x046e, 0x046e,
> -0x0470, 0x0470,
> -0x0472, 0x0472,
> -0x0474, 0x0474,
> -0x0476, 0x0476,
> -0x0478, 0x0478,
> -0x047a, 0x047a,
> -0x047c, 0x047c,
> -0x047e, 0x047e,
> -0x0480, 0x0480,
> -0x048a, 0x048a,
> -0x048c, 0x048c,
> -0x048e, 0x048e,
> -0x0490, 0x0490,
> -0x0492, 0x0492,
> -0x0494, 0x0494,
> -0x0496, 0x0496,
> -0x0498, 0x0498,
> -0x049a, 0x049a,
> -0x049c, 0x049c,
> -0x049e, 0x049e,
> -0x04a0, 0x04a0,
> -0x04a2, 0x04a2,
> -0x04a4, 0x04a4,
> -0x04a6, 0x04a6,
> -0x04a8, 0x04a8,
> -0x04aa, 0x04aa,
> -0x04ac, 0x04ac,
> -0x04ae, 0x04ae,
> -0x04b0, 0x04b0,
> -0x04b2, 0x04b2,
> -0x04b4, 0x04b4,
> -0x04b6, 0x04b6,
> -0x04b8, 0x04b8,
> -0x04ba, 0x04ba,
> -0x04bc, 0x04bc,
> -0x04be, 0x04be,
> -0x04c0, 0x04c1,
> -0x04c3, 0x04c3,
> -0x04c5, 0x04c5,
> -0x04c7, 0x04c7,
> -0x04c9, 0x04c9,
> -0x04cb, 0x04cb,
> -0x04cd, 0x04cd,
> -0x04d0, 0x04d0,
> -0x04d2, 0x04d2,
> -0x04d4, 0x04d4,
> -0x04d6, 0x04d6,
> -0x04d8, 0x04d8,
> -0x04da, 0x04da,
> -0x04dc, 0x04dc,
> -0x04de, 0x04de,
> -0x04e0, 0x04e0,
> -0x04e2, 0x04e2,
> -0x04e4, 0x04e4,
> -0x04e6, 0x04e6,
> -0x04e8, 0x04e8,
> -0x04ea, 0x04ea,
> -0x04ec, 0x04ec,
> -0x04ee, 0x04ee,
> -0x04f0, 0x04f0,
> -0x04f2, 0x04f2,
> -0x04f4, 0x04f4,
> -0x04f6, 0x04f6,
> -0x04f8, 0x04f8,
> -0x04fa, 0x04fa,
> -0x04fc, 0x04fc,
> -0x04fe, 0x04fe,
> -0x0500, 0x0500,
> -0x0502, 0x0502,
> -0x0504, 0x0504,
> -0x0506, 0x0506,
> -0x0508, 0x0508,
> -0x050a, 0x050a,
> -0x050c, 0x050c,
> -0x050e, 0x050e,
> -0x0510, 0x0510,
> -0x0512, 0x0512,
> -0x0514, 0x0514,
> -0x0516, 0x0516,
> -0x0518, 0x0518,
> -0x051a, 0x051a,
> -0x051c, 0x051c,
> -0x051e, 0x051e,
> -0x0520, 0x0520,
> -0x0522, 0x0522,
> -0x0524, 0x0524,
> -0x0526, 0x0526,
> -0x0528, 0x0528,
> -0x052a, 0x052a,
> -0x052c, 0x052c,
> -0x052e, 0x052e,
> -0x0531, 0x0556,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x13a0, 0x13f5,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1e00, 0x1e00,
> -0x1e02, 0x1e02,
> -0x1e04, 0x1e04,
> -0x1e06, 0x1e06,
> -0x1e08, 0x1e08,
> -0x1e0a, 0x1e0a,
> -0x1e0c, 0x1e0c,
> -0x1e0e, 0x1e0e,
> -0x1e10, 0x1e10,
> -0x1e12, 0x1e12,
> -0x1e14, 0x1e14,
> -0x1e16, 0x1e16,
> -0x1e18, 0x1e18,
> -0x1e1a, 0x1e1a,
> -0x1e1c, 0x1e1c,
> -0x1e1e, 0x1e1e,
> -0x1e20, 0x1e20,
> -0x1e22, 0x1e22,
> -0x1e24, 0x1e24,
> -0x1e26, 0x1e26,
> -0x1e28, 0x1e28,
> -0x1e2a, 0x1e2a,
> -0x1e2c, 0x1e2c,
> -0x1e2e, 0x1e2e,
> -0x1e30, 0x1e30,
> -0x1e32, 0x1e32,
> -0x1e34, 0x1e34,
> -0x1e36, 0x1e36,
> -0x1e38, 0x1e38,
> -0x1e3a, 0x1e3a,
> -0x1e3c, 0x1e3c,
> -0x1e3e, 0x1e3e,
> -0x1e40, 0x1e40,
> -0x1e42, 0x1e42,
> -0x1e44, 0x1e44,
> -0x1e46, 0x1e46,
> -0x1e48, 0x1e48,
> -0x1e4a, 0x1e4a,
> -0x1e4c, 0x1e4c,
> -0x1e4e, 0x1e4e,
> -0x1e50, 0x1e50,
> -0x1e52, 0x1e52,
> -0x1e54, 0x1e54,
> -0x1e56, 0x1e56,
> -0x1e58, 0x1e58,
> -0x1e5a, 0x1e5a,
> -0x1e5c, 0x1e5c,
> -0x1e5e, 0x1e5e,
> -0x1e60, 0x1e60,
> -0x1e62, 0x1e62,
> -0x1e64, 0x1e64,
> -0x1e66, 0x1e66,
> -0x1e68, 0x1e68,
> -0x1e6a, 0x1e6a,
> -0x1e6c, 0x1e6c,
> -0x1e6e, 0x1e6e,
> -0x1e70, 0x1e70,
> -0x1e72, 0x1e72,
> -0x1e74, 0x1e74,
> -0x1e76, 0x1e76,
> -0x1e78, 0x1e78,
> -0x1e7a, 0x1e7a,
> -0x1e7c, 0x1e7c,
> -0x1e7e, 0x1e7e,
> -0x1e80, 0x1e80,
> -0x1e82, 0x1e82,
> -0x1e84, 0x1e84,
> -0x1e86, 0x1e86,
> -0x1e88, 0x1e88,
> -0x1e8a, 0x1e8a,
> -0x1e8c, 0x1e8c,
> -0x1e8e, 0x1e8e,
> -0x1e90, 0x1e90,
> -0x1e92, 0x1e92,
> -0x1e94, 0x1e94,
> -0x1e9e, 0x1e9e,
> -0x1ea0, 0x1ea0,
> -0x1ea2, 0x1ea2,
> -0x1ea4, 0x1ea4,
> -0x1ea6, 0x1ea6,
> -0x1ea8, 0x1ea8,
> -0x1eaa, 0x1eaa,
> -0x1eac, 0x1eac,
> -0x1eae, 0x1eae,
> -0x1eb0, 0x1eb0,
> -0x1eb2, 0x1eb2,
> -0x1eb4, 0x1eb4,
> -0x1eb6, 0x1eb6,
> -0x1eb8, 0x1eb8,
> -0x1eba, 0x1eba,
> -0x1ebc, 0x1ebc,
> -0x1ebe, 0x1ebe,
> -0x1ec0, 0x1ec0,
> -0x1ec2, 0x1ec2,
> -0x1ec4, 0x1ec4,
> -0x1ec6, 0x1ec6,
> -0x1ec8, 0x1ec8,
> -0x1eca, 0x1eca,
> -0x1ecc, 0x1ecc,
> -0x1ece, 0x1ece,
> -0x1ed0, 0x1ed0,
> -0x1ed2, 0x1ed2,
> -0x1ed4, 0x1ed4,
> -0x1ed6, 0x1ed6,
> -0x1ed8, 0x1ed8,
> -0x1eda, 0x1eda,
> -0x1edc, 0x1edc,
> -0x1ede, 0x1ede,
> -0x1ee0, 0x1ee0,
> -0x1ee2, 0x1ee2,
> -0x1ee4, 0x1ee4,
> -0x1ee6, 0x1ee6,
> -0x1ee8, 0x1ee8,
> -0x1eea, 0x1eea,
> -0x1eec, 0x1eec,
> -0x1eee, 0x1eee,
> -0x1ef0, 0x1ef0,
> -0x1ef2, 0x1ef2,
> -0x1ef4, 0x1ef4,
> -0x1ef6, 0x1ef6,
> -0x1ef8, 0x1ef8,
> -0x1efa, 0x1efa,
> -0x1efc, 0x1efc,
> -0x1efe, 0x1efe,
> -0x1f08, 0x1f0f,
> -0x1f18, 0x1f1d,
> -0x1f28, 0x1f2f,
> -0x1f38, 0x1f3f,
> -0x1f48, 0x1f4d,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f5f,
> -0x1f68, 0x1f6f,
> -0x1fb8, 0x1fbb,
> -0x1fc8, 0x1fcb,
> -0x1fd8, 0x1fdb,
> -0x1fe8, 0x1fec,
> -0x1ff8, 0x1ffb,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210b, 0x210d,
> -0x2110, 0x2112,
> -0x2115, 0x2115,
> -0x2119, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x212d,
> -0x2130, 0x2133,
> -0x213e, 0x213f,
> -0x2145, 0x2145,
> -0x2183, 0x2183,
> -0x2c00, 0x2c2e,
> -0x2c60, 0x2c60,
> -0x2c62, 0x2c64,
> -0x2c67, 0x2c67,
> -0x2c69, 0x2c69,
> -0x2c6b, 0x2c6b,
> -0x2c6d, 0x2c70,
> -0x2c72, 0x2c72,
> -0x2c75, 0x2c75,
> -0x2c7e, 0x2c80,
> -0x2c82, 0x2c82,
> -0x2c84, 0x2c84,
> -0x2c86, 0x2c86,
> -0x2c88, 0x2c88,
> -0x2c8a, 0x2c8a,
> -0x2c8c, 0x2c8c,
> -0x2c8e, 0x2c8e,
> -0x2c90, 0x2c90,
> -0x2c92, 0x2c92,
> -0x2c94, 0x2c94,
> -0x2c96, 0x2c96,
> -0x2c98, 0x2c98,
> -0x2c9a, 0x2c9a,
> -0x2c9c, 0x2c9c,
> -0x2c9e, 0x2c9e,
> -0x2ca0, 0x2ca0,
> -0x2ca2, 0x2ca2,
> -0x2ca4, 0x2ca4,
> -0x2ca6, 0x2ca6,
> -0x2ca8, 0x2ca8,
> -0x2caa, 0x2caa,
> -0x2cac, 0x2cac,
> -0x2cae, 0x2cae,
> -0x2cb0, 0x2cb0,
> -0x2cb2, 0x2cb2,
> -0x2cb4, 0x2cb4,
> -0x2cb6, 0x2cb6,
> -0x2cb8, 0x2cb8,
> -0x2cba, 0x2cba,
> -0x2cbc, 0x2cbc,
> -0x2cbe, 0x2cbe,
> -0x2cc0, 0x2cc0,
> -0x2cc2, 0x2cc2,
> -0x2cc4, 0x2cc4,
> -0x2cc6, 0x2cc6,
> -0x2cc8, 0x2cc8,
> -0x2cca, 0x2cca,
> -0x2ccc, 0x2ccc,
> -0x2cce, 0x2cce,
> -0x2cd0, 0x2cd0,
> -0x2cd2, 0x2cd2,
> -0x2cd4, 0x2cd4,
> -0x2cd6, 0x2cd6,
> -0x2cd8, 0x2cd8,
> -0x2cda, 0x2cda,
> -0x2cdc, 0x2cdc,
> -0x2cde, 0x2cde,
> -0x2ce0, 0x2ce0,
> -0x2ce2, 0x2ce2,
> -0x2ceb, 0x2ceb,
> -0x2ced, 0x2ced,
> -0x2cf2, 0x2cf2,
> -0xa640, 0xa640,
> -0xa642, 0xa642,
> -0xa644, 0xa644,
> -0xa646, 0xa646,
> -0xa648, 0xa648,
> -0xa64a, 0xa64a,
> -0xa64c, 0xa64c,
> -0xa64e, 0xa64e,
> -0xa650, 0xa650,
> -0xa652, 0xa652,
> -0xa654, 0xa654,
> -0xa656, 0xa656,
> -0xa658, 0xa658,
> -0xa65a, 0xa65a,
> -0xa65c, 0xa65c,
> -0xa65e, 0xa65e,
> -0xa660, 0xa660,
> -0xa662, 0xa662,
> -0xa664, 0xa664,
> -0xa666, 0xa666,
> -0xa668, 0xa668,
> -0xa66a, 0xa66a,
> -0xa66c, 0xa66c,
> -0xa680, 0xa680,
> -0xa682, 0xa682,
> -0xa684, 0xa684,
> -0xa686, 0xa686,
> -0xa688, 0xa688,
> -0xa68a, 0xa68a,
> -0xa68c, 0xa68c,
> -0xa68e, 0xa68e,
> -0xa690, 0xa690,
> -0xa692, 0xa692,
> -0xa694, 0xa694,
> -0xa696, 0xa696,
> -0xa698, 0xa698,
> -0xa69a, 0xa69a,
> -0xa722, 0xa722,
> -0xa724, 0xa724,
> -0xa726, 0xa726,
> -0xa728, 0xa728,
> -0xa72a, 0xa72a,
> -0xa72c, 0xa72c,
> -0xa72e, 0xa72e,
> -0xa732, 0xa732,
> -0xa734, 0xa734,
> -0xa736, 0xa736,
> -0xa738, 0xa738,
> -0xa73a, 0xa73a,
> -0xa73c, 0xa73c,
> -0xa73e, 0xa73e,
> -0xa740, 0xa740,
> -0xa742, 0xa742,
> -0xa744, 0xa744,
> -0xa746, 0xa746,
> -0xa748, 0xa748,
> -0xa74a, 0xa74a,
> -0xa74c, 0xa74c,
> -0xa74e, 0xa74e,
> -0xa750, 0xa750,
> -0xa752, 0xa752,
> -0xa754, 0xa754,
> -0xa756, 0xa756,
> -0xa758, 0xa758,
> -0xa75a, 0xa75a,
> -0xa75c, 0xa75c,
> -0xa75e, 0xa75e,
> -0xa760, 0xa760,
> -0xa762, 0xa762,
> -0xa764, 0xa764,
> -0xa766, 0xa766,
> -0xa768, 0xa768,
> -0xa76a, 0xa76a,
> -0xa76c, 0xa76c,
> -0xa76e, 0xa76e,
> -0xa779, 0xa779,
> -0xa77b, 0xa77b,
> -0xa77d, 0xa77e,
> -0xa780, 0xa780,
> -0xa782, 0xa782,
> -0xa784, 0xa784,
> -0xa786, 0xa786,
> -0xa78b, 0xa78b,
> -0xa78d, 0xa78d,
> -0xa790, 0xa790,
> -0xa792, 0xa792,
> -0xa796, 0xa796,
> -0xa798, 0xa798,
> -0xa79a, 0xa79a,
> -0xa79c, 0xa79c,
> -0xa79e, 0xa79e,
> -0xa7a0, 0xa7a0,
> -0xa7a2, 0xa7a2,
> -0xa7a4, 0xa7a4,
> -0xa7a6, 0xa7a6,
> -0xa7a8, 0xa7a8,
> -0xa7aa, 0xa7ae,
> -0xa7b0, 0xa7b4,
> -0xa7b6, 0xa7b6,
> -0xa7b8, 0xa7b8,
> -0xa7ba, 0xa7ba,
> -0xa7bc, 0xa7bc,
> -0xa7be, 0xa7be,
> -0xa7c2, 0xa7c2,
> -0xa7c4, 0xa7c6,
> -0xff21, 0xff3a,
> -0x10400, 0x10427,
> -0x104b0, 0x104d3,
> -0x10c80, 0x10cb2,
> -0x118a0, 0x118bf,
> -0x16e40, 0x16e5f,
> -0x1d400, 0x1d419,
> -0x1d434, 0x1d44d,
> -0x1d468, 0x1d481,
> -0x1d49c, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b5,
> -0x1d4d0, 0x1d4e9,
> -0x1d504, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d538, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d56c, 0x1d585,
> -0x1d5a0, 0x1d5b9,
> -0x1d5d4, 0x1d5ed,
> -0x1d608, 0x1d621,
> -0x1d63c, 0x1d655,
> -0x1d670, 0x1d689,
> -0x1d6a8, 0x1d6c0,
> -0x1d6e2, 0x1d6fa,
> -0x1d71c, 0x1d734,
> -0x1d756, 0x1d76e,
> -0x1d790, 0x1d7a8,
> -0x1d7ca, 0x1d7ca,
> -0x1e900, 0x1e921,
> -}; /* END of CR_Lu */
> -
> -/* PROPERTY: 'Lycian': Script */
> -static const OnigCodePoint
> -CR_Lycian[] = { 1,
> -0x10280, 0x1029c,
> -}; /* END of CR_Lycian */
> -
> -/* PROPERTY: 'Lydian': Script */
> -static const OnigCodePoint
> -CR_Lydian[] = { 2,
> -0x10920, 0x10939,
> -0x1093f, 0x1093f,
> -}; /* END of CR_Lydian */
> -
> -/* PROPERTY: 'M': Major Category */
> -static const OnigCodePoint
> -CR_M[] = { 280,
> -0x0300, 0x036f,
> -0x0483, 0x0489,
> -0x0591, 0x05bd,
> -0x05bf, 0x05bf,
> -0x05c1, 0x05c2,
> -0x05c4, 0x05c5,
> -0x05c7, 0x05c7,
> -0x0610, 0x061a,
> -0x064b, 0x065f,
> -0x0670, 0x0670,
> -0x06d6, 0x06dc,
> -0x06df, 0x06e4,
> -0x06e7, 0x06e8,
> -0x06ea, 0x06ed,
> -0x0711, 0x0711,
> -0x0730, 0x074a,
> -0x07a6, 0x07b0,
> -0x07eb, 0x07f3,
> -0x07fd, 0x07fd,
> -0x0816, 0x0819,
> -0x081b, 0x0823,
> -0x0825, 0x0827,
> -0x0829, 0x082d,
> -0x0859, 0x085b,
> -0x08d3, 0x08e1,
> -0x08e3, 0x0903,
> -0x093a, 0x093c,
> -0x093e, 0x094f,
> -0x0951, 0x0957,
> -0x0962, 0x0963,
> -0x0981, 0x0983,
> -0x09bc, 0x09bc,
> -0x09be, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09cd,
> -0x09d7, 0x09d7,
> -0x09e2, 0x09e3,
> -0x09fe, 0x09fe,
> -0x0a01, 0x0a03,
> -0x0a3c, 0x0a3c,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4d,
> -0x0a51, 0x0a51,
> -0x0a70, 0x0a71,
> -0x0a75, 0x0a75,
> -0x0a81, 0x0a83,
> -0x0abc, 0x0abc,
> -0x0abe, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acd,
> -0x0ae2, 0x0ae3,
> -0x0afa, 0x0aff,
> -0x0b01, 0x0b03,
> -0x0b3c, 0x0b3c,
> -0x0b3e, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4d,
> -0x0b56, 0x0b57,
> -0x0b62, 0x0b63,
> -0x0b82, 0x0b82,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcd,
> -0x0bd7, 0x0bd7,
> -0x0c00, 0x0c04,
> -0x0c3e, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4d,
> -0x0c55, 0x0c56,
> -0x0c62, 0x0c63,
> -0x0c81, 0x0c83,
> -0x0cbc, 0x0cbc,
> -0x0cbe, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccd,
> -0x0cd5, 0x0cd6,
> -0x0ce2, 0x0ce3,
> -0x0d00, 0x0d03,
> -0x0d3b, 0x0d3c,
> -0x0d3e, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4d,
> -0x0d57, 0x0d57,
> -0x0d62, 0x0d63,
> -0x0d82, 0x0d83,
> -0x0dca, 0x0dca,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0df2, 0x0df3,
> -0x0e31, 0x0e31,
> -0x0e34, 0x0e3a,
> -0x0e47, 0x0e4e,
> -0x0eb1, 0x0eb1,
> -0x0eb4, 0x0ebc,
> -0x0ec8, 0x0ecd,
> -0x0f18, 0x0f19,
> -0x0f35, 0x0f35,
> -0x0f37, 0x0f37,
> -0x0f39, 0x0f39,
> -0x0f3e, 0x0f3f,
> -0x0f71, 0x0f84,
> -0x0f86, 0x0f87,
> -0x0f8d, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x0fc6, 0x0fc6,
> -0x102b, 0x103e,
> -0x1056, 0x1059,
> -0x105e, 0x1060,
> -0x1062, 0x1064,
> -0x1067, 0x106d,
> -0x1071, 0x1074,
> -0x1082, 0x108d,
> -0x108f, 0x108f,
> -0x109a, 0x109d,
> -0x135d, 0x135f,
> -0x1712, 0x1714,
> -0x1732, 0x1734,
> -0x1752, 0x1753,
> -0x1772, 0x1773,
> -0x17b4, 0x17d3,
> -0x17dd, 0x17dd,
> -0x180b, 0x180d,
> -0x1885, 0x1886,
> -0x18a9, 0x18a9,
> -0x1920, 0x192b,
> -0x1930, 0x193b,
> -0x1a17, 0x1a1b,
> -0x1a55, 0x1a5e,
> -0x1a60, 0x1a7c,
> -0x1a7f, 0x1a7f,
> -0x1ab0, 0x1abe,
> -0x1b00, 0x1b04,
> -0x1b34, 0x1b44,
> -0x1b6b, 0x1b73,
> -0x1b80, 0x1b82,
> -0x1ba1, 0x1bad,
> -0x1be6, 0x1bf3,
> -0x1c24, 0x1c37,
> -0x1cd0, 0x1cd2,
> -0x1cd4, 0x1ce8,
> -0x1ced, 0x1ced,
> -0x1cf4, 0x1cf4,
> -0x1cf7, 0x1cf9,
> -0x1dc0, 0x1df9,
> -0x1dfb, 0x1dff,
> -0x20d0, 0x20f0,
> -0x2cef, 0x2cf1,
> -0x2d7f, 0x2d7f,
> -0x2de0, 0x2dff,
> -0x302a, 0x302f,
> -0x3099, 0x309a,
> -0xa66f, 0xa672,
> -0xa674, 0xa67d,
> -0xa69e, 0xa69f,
> -0xa6f0, 0xa6f1,
> -0xa802, 0xa802,
> -0xa806, 0xa806,
> -0xa80b, 0xa80b,
> -0xa823, 0xa827,
> -0xa880, 0xa881,
> -0xa8b4, 0xa8c5,
> -0xa8e0, 0xa8f1,
> -0xa8ff, 0xa8ff,
> -0xa926, 0xa92d,
> -0xa947, 0xa953,
> -0xa980, 0xa983,
> -0xa9b3, 0xa9c0,
> -0xa9e5, 0xa9e5,
> -0xaa29, 0xaa36,
> -0xaa43, 0xaa43,
> -0xaa4c, 0xaa4d,
> -0xaa7b, 0xaa7d,
> -0xaab0, 0xaab0,
> -0xaab2, 0xaab4,
> -0xaab7, 0xaab8,
> -0xaabe, 0xaabf,
> -0xaac1, 0xaac1,
> -0xaaeb, 0xaaef,
> -0xaaf5, 0xaaf6,
> -0xabe3, 0xabea,
> -0xabec, 0xabed,
> -0xfb1e, 0xfb1e,
> -0xfe00, 0xfe0f,
> -0xfe20, 0xfe2f,
> -0x101fd, 0x101fd,
> -0x102e0, 0x102e0,
> -0x10376, 0x1037a,
> -0x10a01, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a0f,
> -0x10a38, 0x10a3a,
> -0x10a3f, 0x10a3f,
> -0x10ae5, 0x10ae6,
> -0x10d24, 0x10d27,
> -0x10f46, 0x10f50,
> -0x11000, 0x11002,
> -0x11038, 0x11046,
> -0x1107f, 0x11082,
> -0x110b0, 0x110ba,
> -0x11100, 0x11102,
> -0x11127, 0x11134,
> -0x11145, 0x11146,
> -0x11173, 0x11173,
> -0x11180, 0x11182,
> -0x111b3, 0x111c0,
> -0x111c9, 0x111cc,
> -0x1122c, 0x11237,
> -0x1123e, 0x1123e,
> -0x112df, 0x112ea,
> -0x11300, 0x11303,
> -0x1133b, 0x1133c,
> -0x1133e, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134d,
> -0x11357, 0x11357,
> -0x11362, 0x11363,
> -0x11366, 0x1136c,
> -0x11370, 0x11374,
> -0x11435, 0x11446,
> -0x1145e, 0x1145e,
> -0x114b0, 0x114c3,
> -0x115af, 0x115b5,
> -0x115b8, 0x115c0,
> -0x115dc, 0x115dd,
> -0x11630, 0x11640,
> -0x116ab, 0x116b7,
> -0x1171d, 0x1172b,
> -0x1182c, 0x1183a,
> -0x119d1, 0x119d7,
> -0x119da, 0x119e0,
> -0x119e4, 0x119e4,
> -0x11a01, 0x11a0a,
> -0x11a33, 0x11a39,
> -0x11a3b, 0x11a3e,
> -0x11a47, 0x11a47,
> -0x11a51, 0x11a5b,
> -0x11a8a, 0x11a99,
> -0x11c2f, 0x11c36,
> -0x11c38, 0x11c3f,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -0x11d31, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d45,
> -0x11d47, 0x11d47,
> -0x11d8a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d97,
> -0x11ef3, 0x11ef6,
> -0x16af0, 0x16af4,
> -0x16b30, 0x16b36,
> -0x16f4f, 0x16f4f,
> -0x16f51, 0x16f87,
> -0x16f8f, 0x16f92,
> -0x1bc9d, 0x1bc9e,
> -0x1d165, 0x1d169,
> -0x1d16d, 0x1d172,
> -0x1d17b, 0x1d182,
> -0x1d185, 0x1d18b,
> -0x1d1aa, 0x1d1ad,
> -0x1d242, 0x1d244,
> -0x1da00, 0x1da36,
> -0x1da3b, 0x1da6c,
> -0x1da75, 0x1da75,
> -0x1da84, 0x1da84,
> -0x1da9b, 0x1da9f,
> -0x1daa1, 0x1daaf,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e130, 0x1e136,
> -0x1e2ec, 0x1e2ef,
> -0x1e8d0, 0x1e8d6,
> -0x1e944, 0x1e94a,
> -0xe0100, 0xe01ef,
> -}; /* END of CR_M */
> -
> -/* PROPERTY: 'Mahajani': Script */
> -static const OnigCodePoint
> -CR_Mahajani[] = { 1,
> -0x11150, 0x11176,
> -}; /* END of CR_Mahajani */
> -
> -/* PROPERTY: 'Makasar': Script */
> -static const OnigCodePoint
> -CR_Makasar[] = { 1,
> -0x11ee0, 0x11ef8,
> -}; /* END of CR_Makasar */
> -
> -/* PROPERTY: 'Malayalam': Script */
> -static const OnigCodePoint
> -CR_Malayalam[] = { 8,
> -0x0d00, 0x0d03,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4f,
> -0x0d54, 0x0d63,
> -0x0d66, 0x0d7f,
> -}; /* END of CR_Malayalam */
> -
> -/* PROPERTY: 'Mandaic': Script */
> -static const OnigCodePoint
> -CR_Mandaic[] = { 2,
> -0x0840, 0x085b,
> -0x085e, 0x085e,
> -}; /* END of CR_Mandaic */
> -
> -/* PROPERTY: 'Manichaean': Script */
> -static const OnigCodePoint
> -CR_Manichaean[] = { 2,
> -0x10ac0, 0x10ae6,
> -0x10aeb, 0x10af6,
> -}; /* END of CR_Manichaean */
> -
> -/* PROPERTY: 'Marchen': Script */
> -static const OnigCodePoint
> -CR_Marchen[] = { 3,
> -0x11c70, 0x11c8f,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -}; /* END of CR_Marchen */
> -
> -/* PROPERTY: 'Masaram_Gondi': Script */
> -static const OnigCodePoint
> -CR_Masaram_Gondi[] = { 7,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d47,
> -0x11d50, 0x11d59,
> -}; /* END of CR_Masaram_Gondi */
> -
> -/* PROPERTY: 'Math': Derived Property */
> -static const OnigCodePoint
> -CR_Math[] = { 138,
> -0x002b, 0x002b,
> -0x003c, 0x003e,
> -0x005e, 0x005e,
> -0x007c, 0x007c,
> -0x007e, 0x007e,
> -0x00ac, 0x00ac,
> -0x00b1, 0x00b1,
> -0x00d7, 0x00d7,
> -0x00f7, 0x00f7,
> -0x03d0, 0x03d2,
> -0x03d5, 0x03d5,
> -0x03f0, 0x03f1,
> -0x03f4, 0x03f6,
> -0x0606, 0x0608,
> -0x2016, 0x2016,
> -0x2032, 0x2034,
> -0x2040, 0x2040,
> -0x2044, 0x2044,
> -0x2052, 0x2052,
> -0x2061, 0x2064,
> -0x207a, 0x207e,
> -0x208a, 0x208e,
> -0x20d0, 0x20dc,
> -0x20e1, 0x20e1,
> -0x20e5, 0x20e6,
> -0x20eb, 0x20ef,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210a, 0x2113,
> -0x2115, 0x2115,
> -0x2118, 0x211d,
> -0x2124, 0x2124,
> -0x2128, 0x2129,
> -0x212c, 0x212d,
> -0x212f, 0x2131,
> -0x2133, 0x2138,
> -0x213c, 0x2149,
> -0x214b, 0x214b,
> -0x2190, 0x21a7,
> -0x21a9, 0x21ae,
> -0x21b0, 0x21b1,
> -0x21b6, 0x21b7,
> -0x21bc, 0x21db,
> -0x21dd, 0x21dd,
> -0x21e4, 0x21e5,
> -0x21f4, 0x22ff,
> -0x2308, 0x230b,
> -0x2320, 0x2321,
> -0x237c, 0x237c,
> -0x239b, 0x23b5,
> -0x23b7, 0x23b7,
> -0x23d0, 0x23d0,
> -0x23dc, 0x23e2,
> -0x25a0, 0x25a1,
> -0x25ae, 0x25b7,
> -0x25bc, 0x25c1,
> -0x25c6, 0x25c7,
> -0x25ca, 0x25cb,
> -0x25cf, 0x25d3,
> -0x25e2, 0x25e2,
> -0x25e4, 0x25e4,
> -0x25e7, 0x25ec,
> -0x25f8, 0x25ff,
> -0x2605, 0x2606,
> -0x2640, 0x2640,
> -0x2642, 0x2642,
> -0x2660, 0x2663,
> -0x266d, 0x266f,
> -0x27c0, 0x27ff,
> -0x2900, 0x2aff,
> -0x2b30, 0x2b44,
> -0x2b47, 0x2b4c,
> -0xfb29, 0xfb29,
> -0xfe61, 0xfe66,
> -0xfe68, 0xfe68,
> -0xff0b, 0xff0b,
> -0xff1c, 0xff1e,
> -0xff3c, 0xff3c,
> -0xff3e, 0xff3e,
> -0xff5c, 0xff5c,
> -0xff5e, 0xff5e,
> -0xffe2, 0xffe2,
> -0xffe9, 0xffec,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d7cb,
> -0x1d7ce, 0x1d7ff,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x1eef0, 0x1eef1,
> -}; /* END of CR_Math */
> -
> -/* PROPERTY: 'Mc': General Category */
> -static const OnigCodePoint
> -CR_Mc[] = { 168,
> -0x0903, 0x0903,
> -0x093b, 0x093b,
> -0x093e, 0x0940,
> -0x0949, 0x094c,
> -0x094e, 0x094f,
> -0x0982, 0x0983,
> -0x09be, 0x09c0,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09cc,
> -0x09d7, 0x09d7,
> -0x0a03, 0x0a03,
> -0x0a3e, 0x0a40,
> -0x0a83, 0x0a83,
> -0x0abe, 0x0ac0,
> -0x0ac9, 0x0ac9,
> -0x0acb, 0x0acc,
> -0x0b02, 0x0b03,
> -0x0b3e, 0x0b3e,
> -0x0b40, 0x0b40,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4c,
> -0x0b57, 0x0b57,
> -0x0bbe, 0x0bbf,
> -0x0bc1, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcc,
> -0x0bd7, 0x0bd7,
> -0x0c01, 0x0c03,
> -0x0c41, 0x0c44,
> -0x0c82, 0x0c83,
> -0x0cbe, 0x0cbe,
> -0x0cc0, 0x0cc4,
> -0x0cc7, 0x0cc8,
> -0x0cca, 0x0ccb,
> -0x0cd5, 0x0cd6,
> -0x0d02, 0x0d03,
> -0x0d3e, 0x0d40,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4c,
> -0x0d57, 0x0d57,
> -0x0d82, 0x0d83,
> -0x0dcf, 0x0dd1,
> -0x0dd8, 0x0ddf,
> -0x0df2, 0x0df3,
> -0x0f3e, 0x0f3f,
> -0x0f7f, 0x0f7f,
> -0x102b, 0x102c,
> -0x1031, 0x1031,
> -0x1038, 0x1038,
> -0x103b, 0x103c,
> -0x1056, 0x1057,
> -0x1062, 0x1064,
> -0x1067, 0x106d,
> -0x1083, 0x1084,
> -0x1087, 0x108c,
> -0x108f, 0x108f,
> -0x109a, 0x109c,
> -0x17b6, 0x17b6,
> -0x17be, 0x17c5,
> -0x17c7, 0x17c8,
> -0x1923, 0x1926,
> -0x1929, 0x192b,
> -0x1930, 0x1931,
> -0x1933, 0x1938,
> -0x1a19, 0x1a1a,
> -0x1a55, 0x1a55,
> -0x1a57, 0x1a57,
> -0x1a61, 0x1a61,
> -0x1a63, 0x1a64,
> -0x1a6d, 0x1a72,
> -0x1b04, 0x1b04,
> -0x1b35, 0x1b35,
> -0x1b3b, 0x1b3b,
> -0x1b3d, 0x1b41,
> -0x1b43, 0x1b44,
> -0x1b82, 0x1b82,
> -0x1ba1, 0x1ba1,
> -0x1ba6, 0x1ba7,
> -0x1baa, 0x1baa,
> -0x1be7, 0x1be7,
> -0x1bea, 0x1bec,
> -0x1bee, 0x1bee,
> -0x1bf2, 0x1bf3,
> -0x1c24, 0x1c2b,
> -0x1c34, 0x1c35,
> -0x1ce1, 0x1ce1,
> -0x1cf7, 0x1cf7,
> -0x302e, 0x302f,
> -0xa823, 0xa824,
> -0xa827, 0xa827,
> -0xa880, 0xa881,
> -0xa8b4, 0xa8c3,
> -0xa952, 0xa953,
> -0xa983, 0xa983,
> -0xa9b4, 0xa9b5,
> -0xa9ba, 0xa9bb,
> -0xa9be, 0xa9c0,
> -0xaa2f, 0xaa30,
> -0xaa33, 0xaa34,
> -0xaa4d, 0xaa4d,
> -0xaa7b, 0xaa7b,
> -0xaa7d, 0xaa7d,
> -0xaaeb, 0xaaeb,
> -0xaaee, 0xaaef,
> -0xaaf5, 0xaaf5,
> -0xabe3, 0xabe4,
> -0xabe6, 0xabe7,
> -0xabe9, 0xabea,
> -0xabec, 0xabec,
> -0x11000, 0x11000,
> -0x11002, 0x11002,
> -0x11082, 0x11082,
> -0x110b0, 0x110b2,
> -0x110b7, 0x110b8,
> -0x1112c, 0x1112c,
> -0x11145, 0x11146,
> -0x11182, 0x11182,
> -0x111b3, 0x111b5,
> -0x111bf, 0x111c0,
> -0x1122c, 0x1122e,
> -0x11232, 0x11233,
> -0x11235, 0x11235,
> -0x112e0, 0x112e2,
> -0x11302, 0x11303,
> -0x1133e, 0x1133f,
> -0x11341, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134d,
> -0x11357, 0x11357,
> -0x11362, 0x11363,
> -0x11435, 0x11437,
> -0x11440, 0x11441,
> -0x11445, 0x11445,
> -0x114b0, 0x114b2,
> -0x114b9, 0x114b9,
> -0x114bb, 0x114be,
> -0x114c1, 0x114c1,
> -0x115af, 0x115b1,
> -0x115b8, 0x115bb,
> -0x115be, 0x115be,
> -0x11630, 0x11632,
> -0x1163b, 0x1163c,
> -0x1163e, 0x1163e,
> -0x116ac, 0x116ac,
> -0x116ae, 0x116af,
> -0x116b6, 0x116b6,
> -0x11720, 0x11721,
> -0x11726, 0x11726,
> -0x1182c, 0x1182e,
> -0x11838, 0x11838,
> -0x119d1, 0x119d3,
> -0x119dc, 0x119df,
> -0x119e4, 0x119e4,
> -0x11a39, 0x11a39,
> -0x11a57, 0x11a58,
> -0x11a97, 0x11a97,
> -0x11c2f, 0x11c2f,
> -0x11c3e, 0x11c3e,
> -0x11ca9, 0x11ca9,
> -0x11cb1, 0x11cb1,
> -0x11cb4, 0x11cb4,
> -0x11d8a, 0x11d8e,
> -0x11d93, 0x11d94,
> -0x11d96, 0x11d96,
> -0x11ef5, 0x11ef6,
> -0x16f51, 0x16f87,
> -0x1d165, 0x1d166,
> -0x1d16d, 0x1d172,
> -}; /* END of CR_Mc */
> -
> -/* PROPERTY: 'Me': General Category */
> -static const OnigCodePoint
> -CR_Me[] = { 5,
> -0x0488, 0x0489,
> -0x1abe, 0x1abe,
> -0x20dd, 0x20e0,
> -0x20e2, 0x20e4,
> -0xa670, 0xa672,
> -}; /* END of CR_Me */
> -
> -/* PROPERTY: 'Medefaidrin': Script */
> -static const OnigCodePoint
> -CR_Medefaidrin[] = { 1,
> -0x16e40, 0x16e9a,
> -}; /* END of CR_Medefaidrin */
> -
> -/* PROPERTY: 'Meetei_Mayek': Script */
> -static const OnigCodePoint
> -CR_Meetei_Mayek[] = { 3,
> -0xaae0, 0xaaf6,
> -0xabc0, 0xabed,
> -0xabf0, 0xabf9,
> -}; /* END of CR_Meetei_Mayek */
> -
> -/* PROPERTY: 'Mende_Kikakui': Script */
> -static const OnigCodePoint
> -CR_Mende_Kikakui[] = { 2,
> -0x1e800, 0x1e8c4,
> -0x1e8c7, 0x1e8d6,
> -}; /* END of CR_Mende_Kikakui */
> -
> -/* PROPERTY: 'Meroitic_Cursive': Script */
> -static const OnigCodePoint
> -CR_Meroitic_Cursive[] = { 3,
> -0x109a0, 0x109b7,
> -0x109bc, 0x109cf,
> -0x109d2, 0x109ff,
> -}; /* END of CR_Meroitic_Cursive */
> -
> -/* PROPERTY: 'Meroitic_Hieroglyphs': Script */
> -static const OnigCodePoint
> -CR_Meroitic_Hieroglyphs[] = { 1,
> -0x10980, 0x1099f,
> -}; /* END of CR_Meroitic_Hieroglyphs */
> -
> -/* PROPERTY: 'Miao': Script */
> -static const OnigCodePoint
> -CR_Miao[] = { 3,
> -0x16f00, 0x16f4a,
> -0x16f4f, 0x16f87,
> -0x16f8f, 0x16f9f,
> -}; /* END of CR_Miao */
> -
> -/* PROPERTY: 'Mn': General Category */
> -static const OnigCodePoint
> -CR_Mn[] = { 318,
> -0x0300, 0x036f,
> -0x0483, 0x0487,
> -0x0591, 0x05bd,
> -0x05bf, 0x05bf,
> -0x05c1, 0x05c2,
> -0x05c4, 0x05c5,
> -0x05c7, 0x05c7,
> -0x0610, 0x061a,
> -0x064b, 0x065f,
> -0x0670, 0x0670,
> -0x06d6, 0x06dc,
> -0x06df, 0x06e4,
> -0x06e7, 0x06e8,
> -0x06ea, 0x06ed,
> -0x0711, 0x0711,
> -0x0730, 0x074a,
> -0x07a6, 0x07b0,
> -0x07eb, 0x07f3,
> -0x07fd, 0x07fd,
> -0x0816, 0x0819,
> -0x081b, 0x0823,
> -0x0825, 0x0827,
> -0x0829, 0x082d,
> -0x0859, 0x085b,
> -0x08d3, 0x08e1,
> -0x08e3, 0x0902,
> -0x093a, 0x093a,
> -0x093c, 0x093c,
> -0x0941, 0x0948,
> -0x094d, 0x094d,
> -0x0951, 0x0957,
> -0x0962, 0x0963,
> -0x0981, 0x0981,
> -0x09bc, 0x09bc,
> -0x09c1, 0x09c4,
> -0x09cd, 0x09cd,
> -0x09e2, 0x09e3,
> -0x09fe, 0x09fe,
> -0x0a01, 0x0a02,
> -0x0a3c, 0x0a3c,
> -0x0a41, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4d,
> -0x0a51, 0x0a51,
> -0x0a70, 0x0a71,
> -0x0a75, 0x0a75,
> -0x0a81, 0x0a82,
> -0x0abc, 0x0abc,
> -0x0ac1, 0x0ac5,
> -0x0ac7, 0x0ac8,
> -0x0acd, 0x0acd,
> -0x0ae2, 0x0ae3,
> -0x0afa, 0x0aff,
> -0x0b01, 0x0b01,
> -0x0b3c, 0x0b3c,
> -0x0b3f, 0x0b3f,
> -0x0b41, 0x0b44,
> -0x0b4d, 0x0b4d,
> -0x0b56, 0x0b56,
> -0x0b62, 0x0b63,
> -0x0b82, 0x0b82,
> -0x0bc0, 0x0bc0,
> -0x0bcd, 0x0bcd,
> -0x0c00, 0x0c00,
> -0x0c04, 0x0c04,
> -0x0c3e, 0x0c40,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4d,
> -0x0c55, 0x0c56,
> -0x0c62, 0x0c63,
> -0x0c81, 0x0c81,
> -0x0cbc, 0x0cbc,
> -0x0cbf, 0x0cbf,
> -0x0cc6, 0x0cc6,
> -0x0ccc, 0x0ccd,
> -0x0ce2, 0x0ce3,
> -0x0d00, 0x0d01,
> -0x0d3b, 0x0d3c,
> -0x0d41, 0x0d44,
> -0x0d4d, 0x0d4d,
> -0x0d62, 0x0d63,
> -0x0dca, 0x0dca,
> -0x0dd2, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0e31, 0x0e31,
> -0x0e34, 0x0e3a,
> -0x0e47, 0x0e4e,
> -0x0eb1, 0x0eb1,
> -0x0eb4, 0x0ebc,
> -0x0ec8, 0x0ecd,
> -0x0f18, 0x0f19,
> -0x0f35, 0x0f35,
> -0x0f37, 0x0f37,
> -0x0f39, 0x0f39,
> -0x0f71, 0x0f7e,
> -0x0f80, 0x0f84,
> -0x0f86, 0x0f87,
> -0x0f8d, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x0fc6, 0x0fc6,
> -0x102d, 0x1030,
> -0x1032, 0x1037,
> -0x1039, 0x103a,
> -0x103d, 0x103e,
> -0x1058, 0x1059,
> -0x105e, 0x1060,
> -0x1071, 0x1074,
> -0x1082, 0x1082,
> -0x1085, 0x1086,
> -0x108d, 0x108d,
> -0x109d, 0x109d,
> -0x135d, 0x135f,
> -0x1712, 0x1714,
> -0x1732, 0x1734,
> -0x1752, 0x1753,
> -0x1772, 0x1773,
> -0x17b4, 0x17b5,
> -0x17b7, 0x17bd,
> -0x17c6, 0x17c6,
> -0x17c9, 0x17d3,
> -0x17dd, 0x17dd,
> -0x180b, 0x180d,
> -0x1885, 0x1886,
> -0x18a9, 0x18a9,
> -0x1920, 0x1922,
> -0x1927, 0x1928,
> -0x1932, 0x1932,
> -0x1939, 0x193b,
> -0x1a17, 0x1a18,
> -0x1a1b, 0x1a1b,
> -0x1a56, 0x1a56,
> -0x1a58, 0x1a5e,
> -0x1a60, 0x1a60,
> -0x1a62, 0x1a62,
> -0x1a65, 0x1a6c,
> -0x1a73, 0x1a7c,
> -0x1a7f, 0x1a7f,
> -0x1ab0, 0x1abd,
> -0x1b00, 0x1b03,
> -0x1b34, 0x1b34,
> -0x1b36, 0x1b3a,
> -0x1b3c, 0x1b3c,
> -0x1b42, 0x1b42,
> -0x1b6b, 0x1b73,
> -0x1b80, 0x1b81,
> -0x1ba2, 0x1ba5,
> -0x1ba8, 0x1ba9,
> -0x1bab, 0x1bad,
> -0x1be6, 0x1be6,
> -0x1be8, 0x1be9,
> -0x1bed, 0x1bed,
> -0x1bef, 0x1bf1,
> -0x1c2c, 0x1c33,
> -0x1c36, 0x1c37,
> -0x1cd0, 0x1cd2,
> -0x1cd4, 0x1ce0,
> -0x1ce2, 0x1ce8,
> -0x1ced, 0x1ced,
> -0x1cf4, 0x1cf4,
> -0x1cf8, 0x1cf9,
> -0x1dc0, 0x1df9,
> -0x1dfb, 0x1dff,
> -0x20d0, 0x20dc,
> -0x20e1, 0x20e1,
> -0x20e5, 0x20f0,
> -0x2cef, 0x2cf1,
> -0x2d7f, 0x2d7f,
> -0x2de0, 0x2dff,
> -0x302a, 0x302d,
> -0x3099, 0x309a,
> -0xa66f, 0xa66f,
> -0xa674, 0xa67d,
> -0xa69e, 0xa69f,
> -0xa6f0, 0xa6f1,
> -0xa802, 0xa802,
> -0xa806, 0xa806,
> -0xa80b, 0xa80b,
> -0xa825, 0xa826,
> -0xa8c4, 0xa8c5,
> -0xa8e0, 0xa8f1,
> -0xa8ff, 0xa8ff,
> -0xa926, 0xa92d,
> -0xa947, 0xa951,
> -0xa980, 0xa982,
> -0xa9b3, 0xa9b3,
> -0xa9b6, 0xa9b9,
> -0xa9bc, 0xa9bd,
> -0xa9e5, 0xa9e5,
> -0xaa29, 0xaa2e,
> -0xaa31, 0xaa32,
> -0xaa35, 0xaa36,
> -0xaa43, 0xaa43,
> -0xaa4c, 0xaa4c,
> -0xaa7c, 0xaa7c,
> -0xaab0, 0xaab0,
> -0xaab2, 0xaab4,
> -0xaab7, 0xaab8,
> -0xaabe, 0xaabf,
> -0xaac1, 0xaac1,
> -0xaaec, 0xaaed,
> -0xaaf6, 0xaaf6,
> -0xabe5, 0xabe5,
> -0xabe8, 0xabe8,
> -0xabed, 0xabed,
> -0xfb1e, 0xfb1e,
> -0xfe00, 0xfe0f,
> -0xfe20, 0xfe2f,
> -0x101fd, 0x101fd,
> -0x102e0, 0x102e0,
> -0x10376, 0x1037a,
> -0x10a01, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a0f,
> -0x10a38, 0x10a3a,
> -0x10a3f, 0x10a3f,
> -0x10ae5, 0x10ae6,
> -0x10d24, 0x10d27,
> -0x10f46, 0x10f50,
> -0x11001, 0x11001,
> -0x11038, 0x11046,
> -0x1107f, 0x11081,
> -0x110b3, 0x110b6,
> -0x110b9, 0x110ba,
> -0x11100, 0x11102,
> -0x11127, 0x1112b,
> -0x1112d, 0x11134,
> -0x11173, 0x11173,
> -0x11180, 0x11181,
> -0x111b6, 0x111be,
> -0x111c9, 0x111cc,
> -0x1122f, 0x11231,
> -0x11234, 0x11234,
> -0x11236, 0x11237,
> -0x1123e, 0x1123e,
> -0x112df, 0x112df,
> -0x112e3, 0x112ea,
> -0x11300, 0x11301,
> -0x1133b, 0x1133c,
> -0x11340, 0x11340,
> -0x11366, 0x1136c,
> -0x11370, 0x11374,
> -0x11438, 0x1143f,
> -0x11442, 0x11444,
> -0x11446, 0x11446,
> -0x1145e, 0x1145e,
> -0x114b3, 0x114b8,
> -0x114ba, 0x114ba,
> -0x114bf, 0x114c0,
> -0x114c2, 0x114c3,
> -0x115b2, 0x115b5,
> -0x115bc, 0x115bd,
> -0x115bf, 0x115c0,
> -0x115dc, 0x115dd,
> -0x11633, 0x1163a,
> -0x1163d, 0x1163d,
> -0x1163f, 0x11640,
> -0x116ab, 0x116ab,
> -0x116ad, 0x116ad,
> -0x116b0, 0x116b5,
> -0x116b7, 0x116b7,
> -0x1171d, 0x1171f,
> -0x11722, 0x11725,
> -0x11727, 0x1172b,
> -0x1182f, 0x11837,
> -0x11839, 0x1183a,
> -0x119d4, 0x119d7,
> -0x119da, 0x119db,
> -0x119e0, 0x119e0,
> -0x11a01, 0x11a0a,
> -0x11a33, 0x11a38,
> -0x11a3b, 0x11a3e,
> -0x11a47, 0x11a47,
> -0x11a51, 0x11a56,
> -0x11a59, 0x11a5b,
> -0x11a8a, 0x11a96,
> -0x11a98, 0x11a99,
> -0x11c30, 0x11c36,
> -0x11c38, 0x11c3d,
> -0x11c3f, 0x11c3f,
> -0x11c92, 0x11ca7,
> -0x11caa, 0x11cb0,
> -0x11cb2, 0x11cb3,
> -0x11cb5, 0x11cb6,
> -0x11d31, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d45,
> -0x11d47, 0x11d47,
> -0x11d90, 0x11d91,
> -0x11d95, 0x11d95,
> -0x11d97, 0x11d97,
> -0x11ef3, 0x11ef4,
> -0x16af0, 0x16af4,
> -0x16b30, 0x16b36,
> -0x16f4f, 0x16f4f,
> -0x16f8f, 0x16f92,
> -0x1bc9d, 0x1bc9e,
> -0x1d167, 0x1d169,
> -0x1d17b, 0x1d182,
> -0x1d185, 0x1d18b,
> -0x1d1aa, 0x1d1ad,
> -0x1d242, 0x1d244,
> -0x1da00, 0x1da36,
> -0x1da3b, 0x1da6c,
> -0x1da75, 0x1da75,
> -0x1da84, 0x1da84,
> -0x1da9b, 0x1da9f,
> -0x1daa1, 0x1daaf,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e130, 0x1e136,
> -0x1e2ec, 0x1e2ef,
> -0x1e8d0, 0x1e8d6,
> -0x1e944, 0x1e94a,
> -0xe0100, 0xe01ef,
> -}; /* END of CR_Mn */
> -
> -/* PROPERTY: 'Modi': Script */
> -static const OnigCodePoint
> -CR_Modi[] = { 2,
> -0x11600, 0x11644,
> -0x11650, 0x11659,
> -}; /* END of CR_Modi */
> -
> -/* PROPERTY: 'Mongolian': Script */
> -static const OnigCodePoint
> -CR_Mongolian[] = { 7,
> -0x1800, 0x1801,
> -0x1804, 0x1804,
> -0x1806, 0x180e,
> -0x1810, 0x1819,
> -0x1820, 0x1878,
> -0x1880, 0x18aa,
> -0x11660, 0x1166c,
> -}; /* END of CR_Mongolian */
> -
> -/* PROPERTY: 'Mro': Script */
> -static const OnigCodePoint
> -CR_Mro[] = { 3,
> -0x16a40, 0x16a5e,
> -0x16a60, 0x16a69,
> -0x16a6e, 0x16a6f,
> -}; /* END of CR_Mro */
> -
> -/* PROPERTY: 'Multani': Script */
> -static const OnigCodePoint
> -CR_Multani[] = { 5,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a9,
> -}; /* END of CR_Multani */
> -
> -/* PROPERTY: 'Myanmar': Script */
> -static const OnigCodePoint
> -CR_Myanmar[] = { 3,
> -0x1000, 0x109f,
> -0xa9e0, 0xa9fe,
> -0xaa60, 0xaa7f,
> -}; /* END of CR_Myanmar */
> -
> -/* PROPERTY: 'N': Major Category */
> -static const OnigCodePoint
> -CR_N[] = { 130,
> -0x0030, 0x0039,
> -0x00b2, 0x00b3,
> -0x00b9, 0x00b9,
> -0x00bc, 0x00be,
> -0x0660, 0x0669,
> -0x06f0, 0x06f9,
> -0x07c0, 0x07c9,
> -0x0966, 0x096f,
> -0x09e6, 0x09ef,
> -0x09f4, 0x09f9,
> -0x0a66, 0x0a6f,
> -0x0ae6, 0x0aef,
> -0x0b66, 0x0b6f,
> -0x0b72, 0x0b77,
> -0x0be6, 0x0bf2,
> -0x0c66, 0x0c6f,
> -0x0c78, 0x0c7e,
> -0x0ce6, 0x0cef,
> -0x0d58, 0x0d5e,
> -0x0d66, 0x0d78,
> -0x0de6, 0x0def,
> -0x0e50, 0x0e59,
> -0x0ed0, 0x0ed9,
> -0x0f20, 0x0f33,
> -0x1040, 0x1049,
> -0x1090, 0x1099,
> -0x1369, 0x137c,
> -0x16ee, 0x16f0,
> -0x17e0, 0x17e9,
> -0x17f0, 0x17f9,
> -0x1810, 0x1819,
> -0x1946, 0x194f,
> -0x19d0, 0x19da,
> -0x1a80, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1b50, 0x1b59,
> -0x1bb0, 0x1bb9,
> -0x1c40, 0x1c49,
> -0x1c50, 0x1c59,
> -0x2070, 0x2070,
> -0x2074, 0x2079,
> -0x2080, 0x2089,
> -0x2150, 0x2182,
> -0x2185, 0x2189,
> -0x2460, 0x249b,
> -0x24ea, 0x24ff,
> -0x2776, 0x2793,
> -0x2cfd, 0x2cfd,
> -0x3007, 0x3007,
> -0x3021, 0x3029,
> -0x3038, 0x303a,
> -0x3192, 0x3195,
> -0x3220, 0x3229,
> -0x3248, 0x324f,
> -0x3251, 0x325f,
> -0x3280, 0x3289,
> -0x32b1, 0x32bf,
> -0xa620, 0xa629,
> -0xa6e6, 0xa6ef,
> -0xa830, 0xa835,
> -0xa8d0, 0xa8d9,
> -0xa900, 0xa909,
> -0xa9d0, 0xa9d9,
> -0xa9f0, 0xa9f9,
> -0xaa50, 0xaa59,
> -0xabf0, 0xabf9,
> -0xff10, 0xff19,
> -0x10107, 0x10133,
> -0x10140, 0x10178,
> -0x1018a, 0x1018b,
> -0x102e1, 0x102fb,
> -0x10320, 0x10323,
> -0x10341, 0x10341,
> -0x1034a, 0x1034a,
> -0x103d1, 0x103d5,
> -0x104a0, 0x104a9,
> -0x10858, 0x1085f,
> -0x10879, 0x1087f,
> -0x108a7, 0x108af,
> -0x108fb, 0x108ff,
> -0x10916, 0x1091b,
> -0x109bc, 0x109bd,
> -0x109c0, 0x109cf,
> -0x109d2, 0x109ff,
> -0x10a40, 0x10a48,
> -0x10a7d, 0x10a7e,
> -0x10a9d, 0x10a9f,
> -0x10aeb, 0x10aef,
> -0x10b58, 0x10b5f,
> -0x10b78, 0x10b7f,
> -0x10ba9, 0x10baf,
> -0x10cfa, 0x10cff,
> -0x10d30, 0x10d39,
> -0x10e60, 0x10e7e,
> -0x10f1d, 0x10f26,
> -0x10f51, 0x10f54,
> -0x11052, 0x1106f,
> -0x110f0, 0x110f9,
> -0x11136, 0x1113f,
> -0x111d0, 0x111d9,
> -0x111e1, 0x111f4,
> -0x112f0, 0x112f9,
> -0x11450, 0x11459,
> -0x114d0, 0x114d9,
> -0x11650, 0x11659,
> -0x116c0, 0x116c9,
> -0x11730, 0x1173b,
> -0x118e0, 0x118f2,
> -0x11c50, 0x11c6c,
> -0x11d50, 0x11d59,
> -0x11da0, 0x11da9,
> -0x11fc0, 0x11fd4,
> -0x12400, 0x1246e,
> -0x16a60, 0x16a69,
> -0x16b50, 0x16b59,
> -0x16b5b, 0x16b61,
> -0x16e80, 0x16e96,
> -0x1d2e0, 0x1d2f3,
> -0x1d360, 0x1d378,
> -0x1d7ce, 0x1d7ff,
> -0x1e140, 0x1e149,
> -0x1e2f0, 0x1e2f9,
> -0x1e8c7, 0x1e8cf,
> -0x1e950, 0x1e959,
> -0x1ec71, 0x1ecab,
> -0x1ecad, 0x1ecaf,
> -0x1ecb1, 0x1ecb4,
> -0x1ed01, 0x1ed2d,
> -0x1ed2f, 0x1ed3d,
> -0x1f100, 0x1f10c,
> -}; /* END of CR_N */
> -
> -/* PROPERTY: 'Nabataean': Script */
> -static const OnigCodePoint
> -CR_Nabataean[] = { 2,
> -0x10880, 0x1089e,
> -0x108a7, 0x108af,
> -}; /* END of CR_Nabataean */
> -
> -/* PROPERTY: 'Nandinagari': Script */
> -static const OnigCodePoint
> -CR_Nandinagari[] = { 3,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d7,
> -0x119da, 0x119e4,
> -}; /* END of CR_Nandinagari */
> -
> -/* PROPERTY: 'Nd': General Category */
> -#define CR_Nd CR_Digit
> -
> -/* PROPERTY: 'New_Tai_Lue': Script */
> -static const OnigCodePoint
> -CR_New_Tai_Lue[] = { 4,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x19d0, 0x19da,
> -0x19de, 0x19df,
> -}; /* END of CR_New_Tai_Lue */
> -
> -/* PROPERTY: 'Newa': Script */
> -static const OnigCodePoint
> -CR_Newa[] = { 3,
> -0x11400, 0x11459,
> -0x1145b, 0x1145b,
> -0x1145d, 0x1145f,
> -}; /* END of CR_Newa */
> -
> -/* PROPERTY: 'Nko': Script */
> -static const OnigCodePoint
> -CR_Nko[] = { 2,
> -0x07c0, 0x07fa,
> -0x07fd, 0x07ff,
> -}; /* END of CR_Nko */
> -
> -/* PROPERTY: 'Nl': General Category */
> -static const OnigCodePoint
> -CR_Nl[] = { 12,
> -0x16ee, 0x16f0,
> -0x2160, 0x2182,
> -0x2185, 0x2188,
> -0x3007, 0x3007,
> -0x3021, 0x3029,
> -0x3038, 0x303a,
> -0xa6e6, 0xa6ef,
> -0x10140, 0x10174,
> -0x10341, 0x10341,
> -0x1034a, 0x1034a,
> -0x103d1, 0x103d5,
> -0x12400, 0x1246e,
> -}; /* END of CR_Nl */
> -
> -/* PROPERTY: 'No': General Category */
> -static const OnigCodePoint
> -CR_No[] = { 70,
> -0x00b2, 0x00b3,
> -0x00b9, 0x00b9,
> -0x00bc, 0x00be,
> -0x09f4, 0x09f9,
> -0x0b72, 0x0b77,
> -0x0bf0, 0x0bf2,
> -0x0c78, 0x0c7e,
> -0x0d58, 0x0d5e,
> -0x0d70, 0x0d78,
> -0x0f2a, 0x0f33,
> -0x1369, 0x137c,
> -0x17f0, 0x17f9,
> -0x19da, 0x19da,
> -0x2070, 0x2070,
> -0x2074, 0x2079,
> -0x2080, 0x2089,
> -0x2150, 0x215f,
> -0x2189, 0x2189,
> -0x2460, 0x249b,
> -0x24ea, 0x24ff,
> -0x2776, 0x2793,
> -0x2cfd, 0x2cfd,
> -0x3192, 0x3195,
> -0x3220, 0x3229,
> -0x3248, 0x324f,
> -0x3251, 0x325f,
> -0x3280, 0x3289,
> -0x32b1, 0x32bf,
> -0xa830, 0xa835,
> -0x10107, 0x10133,
> -0x10175, 0x10178,
> -0x1018a, 0x1018b,
> -0x102e1, 0x102fb,
> -0x10320, 0x10323,
> -0x10858, 0x1085f,
> -0x10879, 0x1087f,
> -0x108a7, 0x108af,
> -0x108fb, 0x108ff,
> -0x10916, 0x1091b,
> -0x109bc, 0x109bd,
> -0x109c0, 0x109cf,
> -0x109d2, 0x109ff,
> -0x10a40, 0x10a48,
> -0x10a7d, 0x10a7e,
> -0x10a9d, 0x10a9f,
> -0x10aeb, 0x10aef,
> -0x10b58, 0x10b5f,
> -0x10b78, 0x10b7f,
> -0x10ba9, 0x10baf,
> -0x10cfa, 0x10cff,
> -0x10e60, 0x10e7e,
> -0x10f1d, 0x10f26,
> -0x10f51, 0x10f54,
> -0x11052, 0x11065,
> -0x111e1, 0x111f4,
> -0x1173a, 0x1173b,
> -0x118ea, 0x118f2,
> -0x11c5a, 0x11c6c,
> -0x11fc0, 0x11fd4,
> -0x16b5b, 0x16b61,
> -0x16e80, 0x16e96,
> -0x1d2e0, 0x1d2f3,
> -0x1d360, 0x1d378,
> -0x1e8c7, 0x1e8cf,
> -0x1ec71, 0x1ecab,
> -0x1ecad, 0x1ecaf,
> -0x1ecb1, 0x1ecb4,
> -0x1ed01, 0x1ed2d,
> -0x1ed2f, 0x1ed3d,
> -0x1f100, 0x1f10c,
> -}; /* END of CR_No */
> -
> -/* PROPERTY: 'Noncharacter_Code_Point': Binary Property */
> -static const OnigCodePoint
> -CR_Noncharacter_Code_Point[] = { 18,
> -0xfdd0, 0xfdef,
> -0xfffe, 0xffff,
> -0x1fffe, 0x1ffff,
> -0x2fffe, 0x2ffff,
> -0x3fffe, 0x3ffff,
> -0x4fffe, 0x4ffff,
> -0x5fffe, 0x5ffff,
> -0x6fffe, 0x6ffff,
> -0x7fffe, 0x7ffff,
> -0x8fffe, 0x8ffff,
> -0x9fffe, 0x9ffff,
> -0xafffe, 0xaffff,
> -0xbfffe, 0xbffff,
> -0xcfffe, 0xcffff,
> -0xdfffe, 0xdffff,
> -0xefffe, 0xeffff,
> -0xffffe, 0xfffff,
> -0x10fffe, 0x10ffff,
> -}; /* END of CR_Noncharacter_Code_Point */
> -
> -/* PROPERTY: 'Nushu': Script */
> -static const OnigCodePoint
> -CR_Nushu[] = { 2,
> -0x16fe1, 0x16fe1,
> -0x1b170, 0x1b2fb,
> -}; /* END of CR_Nushu */
> -
> -/* PROPERTY: 'Nyiakeng_Puachue_Hmong': Script */
> -static const OnigCodePoint
> -CR_Nyiakeng_Puachue_Hmong[] = { 4,
> -0x1e100, 0x1e12c,
> -0x1e130, 0x1e13d,
> -0x1e140, 0x1e149,
> -0x1e14e, 0x1e14f,
> -}; /* END of CR_Nyiakeng_Puachue_Hmong */
> -
> -/* PROPERTY: 'Ogham': Script */
> -static const OnigCodePoint
> -CR_Ogham[] = { 1,
> -0x1680, 0x169c,
> -}; /* END of CR_Ogham */
> -
> -/* PROPERTY: 'Ol_Chiki': Script */
> -static const OnigCodePoint
> -CR_Ol_Chiki[] = { 1,
> -0x1c50, 0x1c7f,
> -}; /* END of CR_Ol_Chiki */
> -
> -/* PROPERTY: 'Old_Hungarian': Script */
> -static const OnigCodePoint
> -CR_Old_Hungarian[] = { 3,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10cfa, 0x10cff,
> -}; /* END of CR_Old_Hungarian */
> -
> -/* PROPERTY: 'Old_Italic': Script */
> -static const OnigCodePoint
> -CR_Old_Italic[] = { 2,
> -0x10300, 0x10323,
> -0x1032d, 0x1032f,
> -}; /* END of CR_Old_Italic */
> -
> -/* PROPERTY: 'Old_North_Arabian': Script */
> -static const OnigCodePoint
> -CR_Old_North_Arabian[] = { 1,
> -0x10a80, 0x10a9f,
> -}; /* END of CR_Old_North_Arabian */
> -
> -/* PROPERTY: 'Old_Permic': Script */
> -static const OnigCodePoint
> -CR_Old_Permic[] = { 1,
> -0x10350, 0x1037a,
> -}; /* END of CR_Old_Permic */
> -
> -/* PROPERTY: 'Old_Persian': Script */
> -static const OnigCodePoint
> -CR_Old_Persian[] = { 2,
> -0x103a0, 0x103c3,
> -0x103c8, 0x103d5,
> -}; /* END of CR_Old_Persian */
> -
> -/* PROPERTY: 'Old_Sogdian': Script */
> -static const OnigCodePoint
> -CR_Old_Sogdian[] = { 1,
> -0x10f00, 0x10f27,
> -}; /* END of CR_Old_Sogdian */
> -
> -/* PROPERTY: 'Old_South_Arabian': Script */
> -static const OnigCodePoint
> -CR_Old_South_Arabian[] = { 1,
> -0x10a60, 0x10a7f,
> -}; /* END of CR_Old_South_Arabian */
> -
> -/* PROPERTY: 'Old_Turkic': Script */
> -static const OnigCodePoint
> -CR_Old_Turkic[] = { 1,
> -0x10c00, 0x10c48,
> -}; /* END of CR_Old_Turkic */
> -
> -/* PROPERTY: 'Oriya': Script */
> -static const OnigCodePoint
> -CR_Oriya[] = { 14,
> -0x0b01, 0x0b03,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3c, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4d,
> -0x0b56, 0x0b57,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b63,
> -0x0b66, 0x0b77,
> -}; /* END of CR_Oriya */
> -
> -/* PROPERTY: 'Osage': Script */
> -static const OnigCodePoint
> -CR_Osage[] = { 2,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -}; /* END of CR_Osage */
> -
> -/* PROPERTY: 'Osmanya': Script */
> -static const OnigCodePoint
> -CR_Osmanya[] = { 2,
> -0x10480, 0x1049d,
> -0x104a0, 0x104a9,
> -}; /* END of CR_Osmanya */
> -
> -/* PROPERTY: 'Other_Alphabetic': Binary Property */
> -static const OnigCodePoint
> -CR_Other_Alphabetic[] = { 221,
> -0x0345, 0x0345,
> -0x05b0, 0x05bd,
> -0x05bf, 0x05bf,
> -0x05c1, 0x05c2,
> -0x05c4, 0x05c5,
> -0x05c7, 0x05c7,
> -0x0610, 0x061a,
> -0x064b, 0x0657,
> -0x0659, 0x065f,
> -0x0670, 0x0670,
> -0x06d6, 0x06dc,
> -0x06e1, 0x06e4,
> -0x06e7, 0x06e8,
> -0x06ed, 0x06ed,
> -0x0711, 0x0711,
> -0x0730, 0x073f,
> -0x07a6, 0x07b0,
> -0x0816, 0x0817,
> -0x081b, 0x0823,
> -0x0825, 0x0827,
> -0x0829, 0x082c,
> -0x08d4, 0x08df,
> -0x08e3, 0x08e9,
> -0x08f0, 0x0903,
> -0x093a, 0x093b,
> -0x093e, 0x094c,
> -0x094e, 0x094f,
> -0x0955, 0x0957,
> -0x0962, 0x0963,
> -0x0981, 0x0983,
> -0x09be, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09cc,
> -0x09d7, 0x09d7,
> -0x09e2, 0x09e3,
> -0x0a01, 0x0a03,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4c,
> -0x0a51, 0x0a51,
> -0x0a70, 0x0a71,
> -0x0a75, 0x0a75,
> -0x0a81, 0x0a83,
> -0x0abe, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acc,
> -0x0ae2, 0x0ae3,
> -0x0afa, 0x0afc,
> -0x0b01, 0x0b03,
> -0x0b3e, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4c,
> -0x0b56, 0x0b57,
> -0x0b62, 0x0b63,
> -0x0b82, 0x0b82,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcc,
> -0x0bd7, 0x0bd7,
> -0x0c00, 0x0c03,
> -0x0c3e, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4c,
> -0x0c55, 0x0c56,
> -0x0c62, 0x0c63,
> -0x0c81, 0x0c83,
> -0x0cbe, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccc,
> -0x0cd5, 0x0cd6,
> -0x0ce2, 0x0ce3,
> -0x0d00, 0x0d03,
> -0x0d3e, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4c,
> -0x0d57, 0x0d57,
> -0x0d62, 0x0d63,
> -0x0d82, 0x0d83,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0df2, 0x0df3,
> -0x0e31, 0x0e31,
> -0x0e34, 0x0e3a,
> -0x0e4d, 0x0e4d,
> -0x0eb1, 0x0eb1,
> -0x0eb4, 0x0eb9,
> -0x0ebb, 0x0ebc,
> -0x0ecd, 0x0ecd,
> -0x0f71, 0x0f81,
> -0x0f8d, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x102b, 0x1036,
> -0x1038, 0x1038,
> -0x103b, 0x103e,
> -0x1056, 0x1059,
> -0x105e, 0x1060,
> -0x1062, 0x1064,
> -0x1067, 0x106d,
> -0x1071, 0x1074,
> -0x1082, 0x108d,
> -0x108f, 0x108f,
> -0x109a, 0x109d,
> -0x1712, 0x1713,
> -0x1732, 0x1733,
> -0x1752, 0x1753,
> -0x1772, 0x1773,
> -0x17b6, 0x17c8,
> -0x1885, 0x1886,
> -0x18a9, 0x18a9,
> -0x1920, 0x192b,
> -0x1930, 0x1938,
> -0x1a17, 0x1a1b,
> -0x1a55, 0x1a5e,
> -0x1a61, 0x1a74,
> -0x1b00, 0x1b04,
> -0x1b35, 0x1b43,
> -0x1b80, 0x1b82,
> -0x1ba1, 0x1ba9,
> -0x1bac, 0x1bad,
> -0x1be7, 0x1bf1,
> -0x1c24, 0x1c36,
> -0x1de7, 0x1df4,
> -0x24b6, 0x24e9,
> -0x2de0, 0x2dff,
> -0xa674, 0xa67b,
> -0xa69e, 0xa69f,
> -0xa802, 0xa802,
> -0xa80b, 0xa80b,
> -0xa823, 0xa827,
> -0xa880, 0xa881,
> -0xa8b4, 0xa8c3,
> -0xa8c5, 0xa8c5,
> -0xa8ff, 0xa8ff,
> -0xa926, 0xa92a,
> -0xa947, 0xa952,
> -0xa980, 0xa983,
> -0xa9b4, 0xa9bf,
> -0xa9e5, 0xa9e5,
> -0xaa29, 0xaa36,
> -0xaa43, 0xaa43,
> -0xaa4c, 0xaa4d,
> -0xaa7b, 0xaa7d,
> -0xaab0, 0xaab0,
> -0xaab2, 0xaab4,
> -0xaab7, 0xaab8,
> -0xaabe, 0xaabe,
> -0xaaeb, 0xaaef,
> -0xaaf5, 0xaaf5,
> -0xabe3, 0xabea,
> -0xfb1e, 0xfb1e,
> -0x10376, 0x1037a,
> -0x10a01, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a0f,
> -0x10d24, 0x10d27,
> -0x11000, 0x11002,
> -0x11038, 0x11045,
> -0x11082, 0x11082,
> -0x110b0, 0x110b8,
> -0x11100, 0x11102,
> -0x11127, 0x11132,
> -0x11145, 0x11146,
> -0x11180, 0x11182,
> -0x111b3, 0x111bf,
> -0x1122c, 0x11234,
> -0x11237, 0x11237,
> -0x1123e, 0x1123e,
> -0x112df, 0x112e8,
> -0x11300, 0x11303,
> -0x1133e, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134c,
> -0x11357, 0x11357,
> -0x11362, 0x11363,
> -0x11435, 0x11441,
> -0x11443, 0x11445,
> -0x114b0, 0x114c1,
> -0x115af, 0x115b5,
> -0x115b8, 0x115be,
> -0x115dc, 0x115dd,
> -0x11630, 0x1163e,
> -0x11640, 0x11640,
> -0x116ab, 0x116b5,
> -0x1171d, 0x1172a,
> -0x1182c, 0x11838,
> -0x119d1, 0x119d7,
> -0x119da, 0x119df,
> -0x119e4, 0x119e4,
> -0x11a01, 0x11a0a,
> -0x11a35, 0x11a39,
> -0x11a3b, 0x11a3e,
> -0x11a51, 0x11a5b,
> -0x11a8a, 0x11a97,
> -0x11c2f, 0x11c36,
> -0x11c38, 0x11c3e,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -0x11d31, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d41,
> -0x11d43, 0x11d43,
> -0x11d47, 0x11d47,
> -0x11d8a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d96,
> -0x11ef3, 0x11ef6,
> -0x16f4f, 0x16f4f,
> -0x16f51, 0x16f87,
> -0x16f8f, 0x16f92,
> -0x1bc9e, 0x1bc9e,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e947, 0x1e947,
> -0x1f130, 0x1f149,
> -0x1f150, 0x1f169,
> -0x1f170, 0x1f189,
> -}; /* END of CR_Other_Alphabetic */
> -
> -/* PROPERTY: 'Other_Default_Ignorable_Code_Point': Binary Property */
> -static const OnigCodePoint
> -CR_Other_Default_Ignorable_Code_Point[] = { 11,
> -0x034f, 0x034f,
> -0x115f, 0x1160,
> -0x17b4, 0x17b5,
> -0x2065, 0x2065,
> -0x3164, 0x3164,
> -0xffa0, 0xffa0,
> -0xfff0, 0xfff8,
> -0xe0000, 0xe0000,
> -0xe0002, 0xe001f,
> -0xe0080, 0xe00ff,
> -0xe01f0, 0xe0fff,
> -}; /* END of CR_Other_Default_Ignorable_Code_Point */
> -
> -/* PROPERTY: 'Other_Grapheme_Extend': Binary Property */
> -static const OnigCodePoint
> -CR_Other_Grapheme_Extend[] = { 24,
> -0x09be, 0x09be,
> -0x09d7, 0x09d7,
> -0x0b3e, 0x0b3e,
> -0x0b57, 0x0b57,
> -0x0bbe, 0x0bbe,
> -0x0bd7, 0x0bd7,
> -0x0cc2, 0x0cc2,
> -0x0cd5, 0x0cd6,
> -0x0d3e, 0x0d3e,
> -0x0d57, 0x0d57,
> -0x0dcf, 0x0dcf,
> -0x0ddf, 0x0ddf,
> -0x1b35, 0x1b35,
> -0x200c, 0x200c,
> -0x302e, 0x302f,
> -0xff9e, 0xff9f,
> -0x1133e, 0x1133e,
> -0x11357, 0x11357,
> -0x114b0, 0x114b0,
> -0x114bd, 0x114bd,
> -0x115af, 0x115af,
> -0x1d165, 0x1d165,
> -0x1d16e, 0x1d172,
> -0xe0020, 0xe007f,
> -}; /* END of CR_Other_Grapheme_Extend */
> -
> -/* PROPERTY: 'Other_ID_Continue': Binary Property */
> -static const OnigCodePoint
> -CR_Other_ID_Continue[] = { 4,
> -0x00b7, 0x00b7,
> -0x0387, 0x0387,
> -0x1369, 0x1371,
> -0x19da, 0x19da,
> -}; /* END of CR_Other_ID_Continue */
> -
> -/* PROPERTY: 'Other_ID_Start': Binary Property */
> -static const OnigCodePoint
> -CR_Other_ID_Start[] = { 4,
> -0x1885, 0x1886,
> -0x2118, 0x2118,
> -0x212e, 0x212e,
> -0x309b, 0x309c,
> -}; /* END of CR_Other_ID_Start */
> -
> -/* PROPERTY: 'Other_Lowercase': Binary Property */
> -static const OnigCodePoint
> -CR_Other_Lowercase[] = { 20,
> -0x00aa, 0x00aa,
> -0x00ba, 0x00ba,
> -0x02b0, 0x02b8,
> -0x02c0, 0x02c1,
> -0x02e0, 0x02e4,
> -0x0345, 0x0345,
> -0x037a, 0x037a,
> -0x1d2c, 0x1d6a,
> -0x1d78, 0x1d78,
> -0x1d9b, 0x1dbf,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x2170, 0x217f,
> -0x24d0, 0x24e9,
> -0x2c7c, 0x2c7d,
> -0xa69c, 0xa69d,
> -0xa770, 0xa770,
> -0xa7f8, 0xa7f9,
> -0xab5c, 0xab5f,
> -}; /* END of CR_Other_Lowercase */
> -
> -/* PROPERTY: 'Other_Math': Binary Property */
> -static const OnigCodePoint
> -CR_Other_Math[] = { 134,
> -0x005e, 0x005e,
> -0x03d0, 0x03d2,
> -0x03d5, 0x03d5,
> -0x03f0, 0x03f1,
> -0x03f4, 0x03f5,
> -0x2016, 0x2016,
> -0x2032, 0x2034,
> -0x2040, 0x2040,
> -0x2061, 0x2064,
> -0x207d, 0x207e,
> -0x208d, 0x208e,
> -0x20d0, 0x20dc,
> -0x20e1, 0x20e1,
> -0x20e5, 0x20e6,
> -0x20eb, 0x20ef,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210a, 0x2113,
> -0x2115, 0x2115,
> -0x2119, 0x211d,
> -0x2124, 0x2124,
> -0x2128, 0x2129,
> -0x212c, 0x212d,
> -0x212f, 0x2131,
> -0x2133, 0x2138,
> -0x213c, 0x213f,
> -0x2145, 0x2149,
> -0x2195, 0x2199,
> -0x219c, 0x219f,
> -0x21a1, 0x21a2,
> -0x21a4, 0x21a5,
> -0x21a7, 0x21a7,
> -0x21a9, 0x21ad,
> -0x21b0, 0x21b1,
> -0x21b6, 0x21b7,
> -0x21bc, 0x21cd,
> -0x21d0, 0x21d1,
> -0x21d3, 0x21d3,
> -0x21d5, 0x21db,
> -0x21dd, 0x21dd,
> -0x21e4, 0x21e5,
> -0x2308, 0x230b,
> -0x23b4, 0x23b5,
> -0x23b7, 0x23b7,
> -0x23d0, 0x23d0,
> -0x23e2, 0x23e2,
> -0x25a0, 0x25a1,
> -0x25ae, 0x25b6,
> -0x25bc, 0x25c0,
> -0x25c6, 0x25c7,
> -0x25ca, 0x25cb,
> -0x25cf, 0x25d3,
> -0x25e2, 0x25e2,
> -0x25e4, 0x25e4,
> -0x25e7, 0x25ec,
> -0x2605, 0x2606,
> -0x2640, 0x2640,
> -0x2642, 0x2642,
> -0x2660, 0x2663,
> -0x266d, 0x266e,
> -0x27c5, 0x27c6,
> -0x27e6, 0x27ef,
> -0x2983, 0x2998,
> -0x29d8, 0x29db,
> -0x29fc, 0x29fd,
> -0xfe61, 0xfe61,
> -0xfe63, 0xfe63,
> -0xfe68, 0xfe68,
> -0xff3c, 0xff3c,
> -0xff3e, 0xff3e,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d6c0,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6fa,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d734,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d76e,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d7a8,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7cb,
> -0x1d7ce, 0x1d7ff,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -}; /* END of CR_Other_Math */
> -
> -/* PROPERTY: 'Other_Uppercase': Binary Property */
> -static const OnigCodePoint
> -CR_Other_Uppercase[] = { 5,
> -0x2160, 0x216f,
> -0x24b6, 0x24cf,
> -0x1f130, 0x1f149,
> -0x1f150, 0x1f169,
> -0x1f170, 0x1f189,
> -}; /* END of CR_Other_Uppercase */
> -
> -/* PROPERTY: 'P': Major Category */
> -#define CR_P CR_Punct
> -
> -/* PROPERTY: 'Pahawh_Hmong': Script */
> -static const OnigCodePoint
> -CR_Pahawh_Hmong[] = { 5,
> -0x16b00, 0x16b45,
> -0x16b50, 0x16b59,
> -0x16b5b, 0x16b61,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -}; /* END of CR_Pahawh_Hmong */
> -
> -/* PROPERTY: 'Palmyrene': Script */
> -static const OnigCodePoint
> -CR_Palmyrene[] = { 1,
> -0x10860, 0x1087f,
> -}; /* END of CR_Palmyrene */
> -
> -/* PROPERTY: 'Pattern_Syntax': Binary Property */
> -static const OnigCodePoint
> -CR_Pattern_Syntax[] = { 28,
> -0x0021, 0x002f,
> -0x003a, 0x0040,
> -0x005b, 0x005e,
> -0x0060, 0x0060,
> -0x007b, 0x007e,
> -0x00a1, 0x00a7,
> -0x00a9, 0x00a9,
> -0x00ab, 0x00ac,
> -0x00ae, 0x00ae,
> -0x00b0, 0x00b1,
> -0x00b6, 0x00b6,
> -0x00bb, 0x00bb,
> -0x00bf, 0x00bf,
> -0x00d7, 0x00d7,
> -0x00f7, 0x00f7,
> -0x2010, 0x2027,
> -0x2030, 0x203e,
> -0x2041, 0x2053,
> -0x2055, 0x205e,
> -0x2190, 0x245f,
> -0x2500, 0x2775,
> -0x2794, 0x2bff,
> -0x2e00, 0x2e7f,
> -0x3001, 0x3003,
> -0x3008, 0x3020,
> -0x3030, 0x3030,
> -0xfd3e, 0xfd3f,
> -0xfe45, 0xfe46,
> -}; /* END of CR_Pattern_Syntax */
> -
> -/* PROPERTY: 'Pattern_White_Space': Binary Property */
> -static const OnigCodePoint
> -CR_Pattern_White_Space[] = { 5,
> -0x0009, 0x000d,
> -0x0020, 0x0020,
> -0x0085, 0x0085,
> -0x200e, 0x200f,
> -0x2028, 0x2029,
> -}; /* END of CR_Pattern_White_Space */
> -
> -/* PROPERTY: 'Pau_Cin_Hau': Script */
> -static const OnigCodePoint
> -CR_Pau_Cin_Hau[] = { 1,
> -0x11ac0, 0x11af8,
> -}; /* END of CR_Pau_Cin_Hau */
> -
> -/* PROPERTY: 'Pc': General Category */
> -static const OnigCodePoint
> -CR_Pc[] = { 6,
> -0x005f, 0x005f,
> -0x203f, 0x2040,
> -0x2054, 0x2054,
> -0xfe33, 0xfe34,
> -0xfe4d, 0xfe4f,
> -0xff3f, 0xff3f,
> -}; /* END of CR_Pc */
> -
> -/* PROPERTY: 'Pd': General Category */
> -static const OnigCodePoint
> -CR_Pd[] = { 17,
> -0x002d, 0x002d,
> -0x058a, 0x058a,
> -0x05be, 0x05be,
> -0x1400, 0x1400,
> -0x1806, 0x1806,
> -0x2010, 0x2015,
> -0x2e17, 0x2e17,
> -0x2e1a, 0x2e1a,
> -0x2e3a, 0x2e3b,
> -0x2e40, 0x2e40,
> -0x301c, 0x301c,
> -0x3030, 0x3030,
> -0x30a0, 0x30a0,
> -0xfe31, 0xfe32,
> -0xfe58, 0xfe58,
> -0xfe63, 0xfe63,
> -0xff0d, 0xff0d,
> -}; /* END of CR_Pd */
> -
> -/* PROPERTY: 'Pe': General Category */
> -static const OnigCodePoint
> -CR_Pe[] = { 72,
> -0x0029, 0x0029,
> -0x005d, 0x005d,
> -0x007d, 0x007d,
> -0x0f3b, 0x0f3b,
> -0x0f3d, 0x0f3d,
> -0x169c, 0x169c,
> -0x2046, 0x2046,
> -0x207e, 0x207e,
> -0x208e, 0x208e,
> -0x2309, 0x2309,
> -0x230b, 0x230b,
> -0x232a, 0x232a,
> -0x2769, 0x2769,
> -0x276b, 0x276b,
> -0x276d, 0x276d,
> -0x276f, 0x276f,
> -0x2771, 0x2771,
> -0x2773, 0x2773,
> -0x2775, 0x2775,
> -0x27c6, 0x27c6,
> -0x27e7, 0x27e7,
> -0x27e9, 0x27e9,
> -0x27eb, 0x27eb,
> -0x27ed, 0x27ed,
> -0x27ef, 0x27ef,
> -0x2984, 0x2984,
> -0x2986, 0x2986,
> -0x2988, 0x2988,
> -0x298a, 0x298a,
> -0x298c, 0x298c,
> -0x298e, 0x298e,
> -0x2990, 0x2990,
> -0x2992, 0x2992,
> -0x2994, 0x2994,
> -0x2996, 0x2996,
> -0x2998, 0x2998,
> -0x29d9, 0x29d9,
> -0x29db, 0x29db,
> -0x29fd, 0x29fd,
> -0x2e23, 0x2e23,
> -0x2e25, 0x2e25,
> -0x2e27, 0x2e27,
> -0x2e29, 0x2e29,
> -0x3009, 0x3009,
> -0x300b, 0x300b,
> -0x300d, 0x300d,
> -0x300f, 0x300f,
> -0x3011, 0x3011,
> -0x3015, 0x3015,
> -0x3017, 0x3017,
> -0x3019, 0x3019,
> -0x301b, 0x301b,
> -0x301e, 0x301f,
> -0xfd3e, 0xfd3e,
> -0xfe18, 0xfe18,
> -0xfe36, 0xfe36,
> -0xfe38, 0xfe38,
> -0xfe3a, 0xfe3a,
> -0xfe3c, 0xfe3c,
> -0xfe3e, 0xfe3e,
> -0xfe40, 0xfe40,
> -0xfe42, 0xfe42,
> -0xfe44, 0xfe44,
> -0xfe48, 0xfe48,
> -0xfe5a, 0xfe5a,
> -0xfe5c, 0xfe5c,
> -0xfe5e, 0xfe5e,
> -0xff09, 0xff09,
> -0xff3d, 0xff3d,
> -0xff5d, 0xff5d,
> -0xff60, 0xff60,
> -0xff63, 0xff63,
> -}; /* END of CR_Pe */
> -
> -/* PROPERTY: 'Pf': General Category */
> -static const OnigCodePoint
> -CR_Pf[] = { 10,
> -0x00bb, 0x00bb,
> -0x2019, 0x2019,
> -0x201d, 0x201d,
> -0x203a, 0x203a,
> -0x2e03, 0x2e03,
> -0x2e05, 0x2e05,
> -0x2e0a, 0x2e0a,
> -0x2e0d, 0x2e0d,
> -0x2e1d, 0x2e1d,
> -0x2e21, 0x2e21,
> -}; /* END of CR_Pf */
> -
> -/* PROPERTY: 'Phags_Pa': Script */
> -static const OnigCodePoint
> -CR_Phags_Pa[] = { 1,
> -0xa840, 0xa877,
> -}; /* END of CR_Phags_Pa */
> -
> -/* PROPERTY: 'Phoenician': Script */
> -static const OnigCodePoint
> -CR_Phoenician[] = { 2,
> -0x10900, 0x1091b,
> -0x1091f, 0x1091f,
> -}; /* END of CR_Phoenician */
> -
> -/* PROPERTY: 'Pi': General Category */
> -static const OnigCodePoint
> -CR_Pi[] = { 11,
> -0x00ab, 0x00ab,
> -0x2018, 0x2018,
> -0x201b, 0x201c,
> -0x201f, 0x201f,
> -0x2039, 0x2039,
> -0x2e02, 0x2e02,
> -0x2e04, 0x2e04,
> -0x2e09, 0x2e09,
> -0x2e0c, 0x2e0c,
> -0x2e1c, 0x2e1c,
> -0x2e20, 0x2e20,
> -}; /* END of CR_Pi */
> -
> -/* PROPERTY: 'Po': General Category */
> -static const OnigCodePoint
> -CR_Po[] = { 179,
> -0x0021, 0x0023,
> -0x0025, 0x0027,
> -0x002a, 0x002a,
> -0x002c, 0x002c,
> -0x002e, 0x002f,
> -0x003a, 0x003b,
> -0x003f, 0x0040,
> -0x005c, 0x005c,
> -0x00a1, 0x00a1,
> -0x00a7, 0x00a7,
> -0x00b6, 0x00b7,
> -0x00bf, 0x00bf,
> -0x037e, 0x037e,
> -0x0387, 0x0387,
> -0x055a, 0x055f,
> -0x0589, 0x0589,
> -0x05c0, 0x05c0,
> -0x05c3, 0x05c3,
> -0x05c6, 0x05c6,
> -0x05f3, 0x05f4,
> -0x0609, 0x060a,
> -0x060c, 0x060d,
> -0x061b, 0x061b,
> -0x061e, 0x061f,
> -0x066a, 0x066d,
> -0x06d4, 0x06d4,
> -0x0700, 0x070d,
> -0x07f7, 0x07f9,
> -0x0830, 0x083e,
> -0x085e, 0x085e,
> -0x0964, 0x0965,
> -0x0970, 0x0970,
> -0x09fd, 0x09fd,
> -0x0a76, 0x0a76,
> -0x0af0, 0x0af0,
> -0x0c77, 0x0c77,
> -0x0c84, 0x0c84,
> -0x0df4, 0x0df4,
> -0x0e4f, 0x0e4f,
> -0x0e5a, 0x0e5b,
> -0x0f04, 0x0f12,
> -0x0f14, 0x0f14,
> -0x0f85, 0x0f85,
> -0x0fd0, 0x0fd4,
> -0x0fd9, 0x0fda,
> -0x104a, 0x104f,
> -0x10fb, 0x10fb,
> -0x1360, 0x1368,
> -0x166e, 0x166e,
> -0x16eb, 0x16ed,
> -0x1735, 0x1736,
> -0x17d4, 0x17d6,
> -0x17d8, 0x17da,
> -0x1800, 0x1805,
> -0x1807, 0x180a,
> -0x1944, 0x1945,
> -0x1a1e, 0x1a1f,
> -0x1aa0, 0x1aa6,
> -0x1aa8, 0x1aad,
> -0x1b5a, 0x1b60,
> -0x1bfc, 0x1bff,
> -0x1c3b, 0x1c3f,
> -0x1c7e, 0x1c7f,
> -0x1cc0, 0x1cc7,
> -0x1cd3, 0x1cd3,
> -0x2016, 0x2017,
> -0x2020, 0x2027,
> -0x2030, 0x2038,
> -0x203b, 0x203e,
> -0x2041, 0x2043,
> -0x2047, 0x2051,
> -0x2053, 0x2053,
> -0x2055, 0x205e,
> -0x2cf9, 0x2cfc,
> -0x2cfe, 0x2cff,
> -0x2d70, 0x2d70,
> -0x2e00, 0x2e01,
> -0x2e06, 0x2e08,
> -0x2e0b, 0x2e0b,
> -0x2e0e, 0x2e16,
> -0x2e18, 0x2e19,
> -0x2e1b, 0x2e1b,
> -0x2e1e, 0x2e1f,
> -0x2e2a, 0x2e2e,
> -0x2e30, 0x2e39,
> -0x2e3c, 0x2e3f,
> -0x2e41, 0x2e41,
> -0x2e43, 0x2e4f,
> -0x3001, 0x3003,
> -0x303d, 0x303d,
> -0x30fb, 0x30fb,
> -0xa4fe, 0xa4ff,
> -0xa60d, 0xa60f,
> -0xa673, 0xa673,
> -0xa67e, 0xa67e,
> -0xa6f2, 0xa6f7,
> -0xa874, 0xa877,
> -0xa8ce, 0xa8cf,
> -0xa8f8, 0xa8fa,
> -0xa8fc, 0xa8fc,
> -0xa92e, 0xa92f,
> -0xa95f, 0xa95f,
> -0xa9c1, 0xa9cd,
> -0xa9de, 0xa9df,
> -0xaa5c, 0xaa5f,
> -0xaade, 0xaadf,
> -0xaaf0, 0xaaf1,
> -0xabeb, 0xabeb,
> -0xfe10, 0xfe16,
> -0xfe19, 0xfe19,
> -0xfe30, 0xfe30,
> -0xfe45, 0xfe46,
> -0xfe49, 0xfe4c,
> -0xfe50, 0xfe52,
> -0xfe54, 0xfe57,
> -0xfe5f, 0xfe61,
> -0xfe68, 0xfe68,
> -0xfe6a, 0xfe6b,
> -0xff01, 0xff03,
> -0xff05, 0xff07,
> -0xff0a, 0xff0a,
> -0xff0c, 0xff0c,
> -0xff0e, 0xff0f,
> -0xff1a, 0xff1b,
> -0xff1f, 0xff20,
> -0xff3c, 0xff3c,
> -0xff61, 0xff61,
> -0xff64, 0xff65,
> -0x10100, 0x10102,
> -0x1039f, 0x1039f,
> -0x103d0, 0x103d0,
> -0x1056f, 0x1056f,
> -0x10857, 0x10857,
> -0x1091f, 0x1091f,
> -0x1093f, 0x1093f,
> -0x10a50, 0x10a58,
> -0x10a7f, 0x10a7f,
> -0x10af0, 0x10af6,
> -0x10b39, 0x10b3f,
> -0x10b99, 0x10b9c,
> -0x10f55, 0x10f59,
> -0x11047, 0x1104d,
> -0x110bb, 0x110bc,
> -0x110be, 0x110c1,
> -0x11140, 0x11143,
> -0x11174, 0x11175,
> -0x111c5, 0x111c8,
> -0x111cd, 0x111cd,
> -0x111db, 0x111db,
> -0x111dd, 0x111df,
> -0x11238, 0x1123d,
> -0x112a9, 0x112a9,
> -0x1144b, 0x1144f,
> -0x1145b, 0x1145b,
> -0x1145d, 0x1145d,
> -0x114c6, 0x114c6,
> -0x115c1, 0x115d7,
> -0x11641, 0x11643,
> -0x11660, 0x1166c,
> -0x1173c, 0x1173e,
> -0x1183b, 0x1183b,
> -0x119e2, 0x119e2,
> -0x11a3f, 0x11a46,
> -0x11a9a, 0x11a9c,
> -0x11a9e, 0x11aa2,
> -0x11c41, 0x11c45,
> -0x11c70, 0x11c71,
> -0x11ef7, 0x11ef8,
> -0x11fff, 0x11fff,
> -0x12470, 0x12474,
> -0x16a6e, 0x16a6f,
> -0x16af5, 0x16af5,
> -0x16b37, 0x16b3b,
> -0x16b44, 0x16b44,
> -0x16e97, 0x16e9a,
> -0x16fe2, 0x16fe2,
> -0x1bc9f, 0x1bc9f,
> -0x1da87, 0x1da8b,
> -0x1e95e, 0x1e95f,
> -}; /* END of CR_Po */
> -
> -/* PROPERTY: 'Prepended_Concatenation_Mark': Binary Property */
> -static const OnigCodePoint
> -CR_Prepended_Concatenation_Mark[] = { 6,
> -0x0600, 0x0605,
> -0x06dd, 0x06dd,
> -0x070f, 0x070f,
> -0x08e2, 0x08e2,
> -0x110bd, 0x110bd,
> -0x110cd, 0x110cd,
> -}; /* END of CR_Prepended_Concatenation_Mark */
> -
> -/* PROPERTY: 'Ps': General Category */
> -static const OnigCodePoint
> -CR_Ps[] = { 75,
> -0x0028, 0x0028,
> -0x005b, 0x005b,
> -0x007b, 0x007b,
> -0x0f3a, 0x0f3a,
> -0x0f3c, 0x0f3c,
> -0x169b, 0x169b,
> -0x201a, 0x201a,
> -0x201e, 0x201e,
> -0x2045, 0x2045,
> -0x207d, 0x207d,
> -0x208d, 0x208d,
> -0x2308, 0x2308,
> -0x230a, 0x230a,
> -0x2329, 0x2329,
> -0x2768, 0x2768,
> -0x276a, 0x276a,
> -0x276c, 0x276c,
> -0x276e, 0x276e,
> -0x2770, 0x2770,
> -0x2772, 0x2772,
> -0x2774, 0x2774,
> -0x27c5, 0x27c5,
> -0x27e6, 0x27e6,
> -0x27e8, 0x27e8,
> -0x27ea, 0x27ea,
> -0x27ec, 0x27ec,
> -0x27ee, 0x27ee,
> -0x2983, 0x2983,
> -0x2985, 0x2985,
> -0x2987, 0x2987,
> -0x2989, 0x2989,
> -0x298b, 0x298b,
> -0x298d, 0x298d,
> -0x298f, 0x298f,
> -0x2991, 0x2991,
> -0x2993, 0x2993,
> -0x2995, 0x2995,
> -0x2997, 0x2997,
> -0x29d8, 0x29d8,
> -0x29da, 0x29da,
> -0x29fc, 0x29fc,
> -0x2e22, 0x2e22,
> -0x2e24, 0x2e24,
> -0x2e26, 0x2e26,
> -0x2e28, 0x2e28,
> -0x2e42, 0x2e42,
> -0x3008, 0x3008,
> -0x300a, 0x300a,
> -0x300c, 0x300c,
> -0x300e, 0x300e,
> -0x3010, 0x3010,
> -0x3014, 0x3014,
> -0x3016, 0x3016,
> -0x3018, 0x3018,
> -0x301a, 0x301a,
> -0x301d, 0x301d,
> -0xfd3f, 0xfd3f,
> -0xfe17, 0xfe17,
> -0xfe35, 0xfe35,
> -0xfe37, 0xfe37,
> -0xfe39, 0xfe39,
> -0xfe3b, 0xfe3b,
> -0xfe3d, 0xfe3d,
> -0xfe3f, 0xfe3f,
> -0xfe41, 0xfe41,
> -0xfe43, 0xfe43,
> -0xfe47, 0xfe47,
> -0xfe59, 0xfe59,
> -0xfe5b, 0xfe5b,
> -0xfe5d, 0xfe5d,
> -0xff08, 0xff08,
> -0xff3b, 0xff3b,
> -0xff5b, 0xff5b,
> -0xff5f, 0xff5f,
> -0xff62, 0xff62,
> -}; /* END of CR_Ps */
> -
> -/* PROPERTY: 'Psalter_Pahlavi': Script */
> -static const OnigCodePoint
> -CR_Psalter_Pahlavi[] = { 3,
> -0x10b80, 0x10b91,
> -0x10b99, 0x10b9c,
> -0x10ba9, 0x10baf,
> -}; /* END of CR_Psalter_Pahlavi */
> -
> -/* PROPERTY: 'Quotation_Mark': Binary Property */
> -static const OnigCodePoint
> -CR_Quotation_Mark[] = { 13,
> -0x0022, 0x0022,
> -0x0027, 0x0027,
> -0x00ab, 0x00ab,
> -0x00bb, 0x00bb,
> -0x2018, 0x201f,
> -0x2039, 0x203a,
> -0x2e42, 0x2e42,
> -0x300c, 0x300f,
> -0x301d, 0x301f,
> -0xfe41, 0xfe44,
> -0xff02, 0xff02,
> -0xff07, 0xff07,
> -0xff62, 0xff63,
> -}; /* END of CR_Quotation_Mark */
> -
> -/* PROPERTY: 'Radical': Binary Property */
> -static const OnigCodePoint
> -CR_Radical[] = { 3,
> -0x2e80, 0x2e99,
> -0x2e9b, 0x2ef3,
> -0x2f00, 0x2fd5,
> -}; /* END of CR_Radical */
> -
> -/* PROPERTY: 'Regional_Indicator': Binary Property */
> -static const OnigCodePoint
> -CR_Regional_Indicator[] = { 1,
> -0x1f1e6, 0x1f1ff,
> -}; /* END of CR_Regional_Indicator */
> -
> -/* PROPERTY: 'Rejang': Script */
> -static const OnigCodePoint
> -CR_Rejang[] = { 2,
> -0xa930, 0xa953,
> -0xa95f, 0xa95f,
> -}; /* END of CR_Rejang */
> -
> -/* PROPERTY: 'Runic': Script */
> -static const OnigCodePoint
> -CR_Runic[] = { 2,
> -0x16a0, 0x16ea,
> -0x16ee, 0x16f8,
> -}; /* END of CR_Runic */
> -
> -/* PROPERTY: 'S': Major Category */
> -static const OnigCodePoint
> -CR_S[] = { 226,
> -0x0024, 0x0024,
> -0x002b, 0x002b,
> -0x003c, 0x003e,
> -0x005e, 0x005e,
> -0x0060, 0x0060,
> -0x007c, 0x007c,
> -0x007e, 0x007e,
> -0x00a2, 0x00a6,
> -0x00a8, 0x00a9,
> -0x00ac, 0x00ac,
> -0x00ae, 0x00b1,
> -0x00b4, 0x00b4,
> -0x00b8, 0x00b8,
> -0x00d7, 0x00d7,
> -0x00f7, 0x00f7,
> -0x02c2, 0x02c5,
> -0x02d2, 0x02df,
> -0x02e5, 0x02eb,
> -0x02ed, 0x02ed,
> -0x02ef, 0x02ff,
> -0x0375, 0x0375,
> -0x0384, 0x0385,
> -0x03f6, 0x03f6,
> -0x0482, 0x0482,
> -0x058d, 0x058f,
> -0x0606, 0x0608,
> -0x060b, 0x060b,
> -0x060e, 0x060f,
> -0x06de, 0x06de,
> -0x06e9, 0x06e9,
> -0x06fd, 0x06fe,
> -0x07f6, 0x07f6,
> -0x07fe, 0x07ff,
> -0x09f2, 0x09f3,
> -0x09fa, 0x09fb,
> -0x0af1, 0x0af1,
> -0x0b70, 0x0b70,
> -0x0bf3, 0x0bfa,
> -0x0c7f, 0x0c7f,
> -0x0d4f, 0x0d4f,
> -0x0d79, 0x0d79,
> -0x0e3f, 0x0e3f,
> -0x0f01, 0x0f03,
> -0x0f13, 0x0f13,
> -0x0f15, 0x0f17,
> -0x0f1a, 0x0f1f,
> -0x0f34, 0x0f34,
> -0x0f36, 0x0f36,
> -0x0f38, 0x0f38,
> -0x0fbe, 0x0fc5,
> -0x0fc7, 0x0fcc,
> -0x0fce, 0x0fcf,
> -0x0fd5, 0x0fd8,
> -0x109e, 0x109f,
> -0x1390, 0x1399,
> -0x166d, 0x166d,
> -0x17db, 0x17db,
> -0x1940, 0x1940,
> -0x19de, 0x19ff,
> -0x1b61, 0x1b6a,
> -0x1b74, 0x1b7c,
> -0x1fbd, 0x1fbd,
> -0x1fbf, 0x1fc1,
> -0x1fcd, 0x1fcf,
> -0x1fdd, 0x1fdf,
> -0x1fed, 0x1fef,
> -0x1ffd, 0x1ffe,
> -0x2044, 0x2044,
> -0x2052, 0x2052,
> -0x207a, 0x207c,
> -0x208a, 0x208c,
> -0x20a0, 0x20bf,
> -0x2100, 0x2101,
> -0x2103, 0x2106,
> -0x2108, 0x2109,
> -0x2114, 0x2114,
> -0x2116, 0x2118,
> -0x211e, 0x2123,
> -0x2125, 0x2125,
> -0x2127, 0x2127,
> -0x2129, 0x2129,
> -0x212e, 0x212e,
> -0x213a, 0x213b,
> -0x2140, 0x2144,
> -0x214a, 0x214d,
> -0x214f, 0x214f,
> -0x218a, 0x218b,
> -0x2190, 0x2307,
> -0x230c, 0x2328,
> -0x232b, 0x2426,
> -0x2440, 0x244a,
> -0x249c, 0x24e9,
> -0x2500, 0x2767,
> -0x2794, 0x27c4,
> -0x27c7, 0x27e5,
> -0x27f0, 0x2982,
> -0x2999, 0x29d7,
> -0x29dc, 0x29fb,
> -0x29fe, 0x2b73,
> -0x2b76, 0x2b95,
> -0x2b98, 0x2bff,
> -0x2ce5, 0x2cea,
> -0x2e80, 0x2e99,
> -0x2e9b, 0x2ef3,
> -0x2f00, 0x2fd5,
> -0x2ff0, 0x2ffb,
> -0x3004, 0x3004,
> -0x3012, 0x3013,
> -0x3020, 0x3020,
> -0x3036, 0x3037,
> -0x303e, 0x303f,
> -0x309b, 0x309c,
> -0x3190, 0x3191,
> -0x3196, 0x319f,
> -0x31c0, 0x31e3,
> -0x3200, 0x321e,
> -0x322a, 0x3247,
> -0x3250, 0x3250,
> -0x3260, 0x327f,
> -0x328a, 0x32b0,
> -0x32c0, 0x33ff,
> -0x4dc0, 0x4dff,
> -0xa490, 0xa4c6,
> -0xa700, 0xa716,
> -0xa720, 0xa721,
> -0xa789, 0xa78a,
> -0xa828, 0xa82b,
> -0xa836, 0xa839,
> -0xaa77, 0xaa79,
> -0xab5b, 0xab5b,
> -0xfb29, 0xfb29,
> -0xfbb2, 0xfbc1,
> -0xfdfc, 0xfdfd,
> -0xfe62, 0xfe62,
> -0xfe64, 0xfe66,
> -0xfe69, 0xfe69,
> -0xff04, 0xff04,
> -0xff0b, 0xff0b,
> -0xff1c, 0xff1e,
> -0xff3e, 0xff3e,
> -0xff40, 0xff40,
> -0xff5c, 0xff5c,
> -0xff5e, 0xff5e,
> -0xffe0, 0xffe6,
> -0xffe8, 0xffee,
> -0xfffc, 0xfffd,
> -0x10137, 0x1013f,
> -0x10179, 0x10189,
> -0x1018c, 0x1018e,
> -0x10190, 0x1019b,
> -0x101a0, 0x101a0,
> -0x101d0, 0x101fc,
> -0x10877, 0x10878,
> -0x10ac8, 0x10ac8,
> -0x1173f, 0x1173f,
> -0x11fd5, 0x11ff1,
> -0x16b3c, 0x16b3f,
> -0x16b45, 0x16b45,
> -0x1bc9c, 0x1bc9c,
> -0x1d000, 0x1d0f5,
> -0x1d100, 0x1d126,
> -0x1d129, 0x1d164,
> -0x1d16a, 0x1d16c,
> -0x1d183, 0x1d184,
> -0x1d18c, 0x1d1a9,
> -0x1d1ae, 0x1d1e8,
> -0x1d200, 0x1d241,
> -0x1d245, 0x1d245,
> -0x1d300, 0x1d356,
> -0x1d6c1, 0x1d6c1,
> -0x1d6db, 0x1d6db,
> -0x1d6fb, 0x1d6fb,
> -0x1d715, 0x1d715,
> -0x1d735, 0x1d735,
> -0x1d74f, 0x1d74f,
> -0x1d76f, 0x1d76f,
> -0x1d789, 0x1d789,
> -0x1d7a9, 0x1d7a9,
> -0x1d7c3, 0x1d7c3,
> -0x1d800, 0x1d9ff,
> -0x1da37, 0x1da3a,
> -0x1da6d, 0x1da74,
> -0x1da76, 0x1da83,
> -0x1da85, 0x1da86,
> -0x1e14f, 0x1e14f,
> -0x1e2ff, 0x1e2ff,
> -0x1ecac, 0x1ecac,
> -0x1ecb0, 0x1ecb0,
> -0x1ed2e, 0x1ed2e,
> -0x1eef0, 0x1eef1,
> -0x1f000, 0x1f02b,
> -0x1f030, 0x1f093,
> -0x1f0a0, 0x1f0ae,
> -0x1f0b1, 0x1f0bf,
> -0x1f0c1, 0x1f0cf,
> -0x1f0d1, 0x1f0f5,
> -0x1f110, 0x1f16c,
> -0x1f170, 0x1f1ac,
> -0x1f1e6, 0x1f202,
> -0x1f210, 0x1f23b,
> -0x1f240, 0x1f248,
> -0x1f250, 0x1f251,
> -0x1f260, 0x1f265,
> -0x1f300, 0x1f6d5,
> -0x1f6e0, 0x1f6ec,
> -0x1f6f0, 0x1f6fa,
> -0x1f700, 0x1f773,
> -0x1f780, 0x1f7d8,
> -0x1f7e0, 0x1f7eb,
> -0x1f800, 0x1f80b,
> -0x1f810, 0x1f847,
> -0x1f850, 0x1f859,
> -0x1f860, 0x1f887,
> -0x1f890, 0x1f8ad,
> -0x1f900, 0x1f90b,
> -0x1f90d, 0x1f971,
> -0x1f973, 0x1f976,
> -0x1f97a, 0x1f9a2,
> -0x1f9a5, 0x1f9aa,
> -0x1f9ae, 0x1f9ca,
> -0x1f9cd, 0x1fa53,
> -0x1fa60, 0x1fa6d,
> -0x1fa70, 0x1fa73,
> -0x1fa78, 0x1fa7a,
> -0x1fa80, 0x1fa82,
> -0x1fa90, 0x1fa95,
> -}; /* END of CR_S */
> -
> -/* PROPERTY: 'Samaritan': Script */
> -static const OnigCodePoint
> -CR_Samaritan[] = { 2,
> -0x0800, 0x082d,
> -0x0830, 0x083e,
> -}; /* END of CR_Samaritan */
> -
> -/* PROPERTY: 'Saurashtra': Script */
> -static const OnigCodePoint
> -CR_Saurashtra[] = { 2,
> -0xa880, 0xa8c5,
> -0xa8ce, 0xa8d9,
> -}; /* END of CR_Saurashtra */
> -
> -/* PROPERTY: 'Sc': General Category */
> -static const OnigCodePoint
> -CR_Sc[] = { 21,
> -0x0024, 0x0024,
> -0x00a2, 0x00a5,
> -0x058f, 0x058f,
> -0x060b, 0x060b,
> -0x07fe, 0x07ff,
> -0x09f2, 0x09f3,
> -0x09fb, 0x09fb,
> -0x0af1, 0x0af1,
> -0x0bf9, 0x0bf9,
> -0x0e3f, 0x0e3f,
> -0x17db, 0x17db,
> -0x20a0, 0x20bf,
> -0xa838, 0xa838,
> -0xfdfc, 0xfdfc,
> -0xfe69, 0xfe69,
> -0xff04, 0xff04,
> -0xffe0, 0xffe1,
> -0xffe5, 0xffe6,
> -0x11fdd, 0x11fe0,
> -0x1e2ff, 0x1e2ff,
> -0x1ecb0, 0x1ecb0,
> -}; /* END of CR_Sc */
> -
> -/* PROPERTY: 'Sentence_Terminal': Binary Property */
> -static const OnigCodePoint
> -CR_Sentence_Terminal[] = { 74,
> -0x0021, 0x0021,
> -0x002e, 0x002e,
> -0x003f, 0x003f,
> -0x0589, 0x0589,
> -0x061e, 0x061f,
> -0x06d4, 0x06d4,
> -0x0700, 0x0702,
> -0x07f9, 0x07f9,
> -0x0837, 0x0837,
> -0x0839, 0x0839,
> -0x083d, 0x083e,
> -0x0964, 0x0965,
> -0x104a, 0x104b,
> -0x1362, 0x1362,
> -0x1367, 0x1368,
> -0x166e, 0x166e,
> -0x1735, 0x1736,
> -0x1803, 0x1803,
> -0x1809, 0x1809,
> -0x1944, 0x1945,
> -0x1aa8, 0x1aab,
> -0x1b5a, 0x1b5b,
> -0x1b5e, 0x1b5f,
> -0x1c3b, 0x1c3c,
> -0x1c7e, 0x1c7f,
> -0x203c, 0x203d,
> -0x2047, 0x2049,
> -0x2e2e, 0x2e2e,
> -0x2e3c, 0x2e3c,
> -0x3002, 0x3002,
> -0xa4ff, 0xa4ff,
> -0xa60e, 0xa60f,
> -0xa6f3, 0xa6f3,
> -0xa6f7, 0xa6f7,
> -0xa876, 0xa877,
> -0xa8ce, 0xa8cf,
> -0xa92f, 0xa92f,
> -0xa9c8, 0xa9c9,
> -0xaa5d, 0xaa5f,
> -0xaaf0, 0xaaf1,
> -0xabeb, 0xabeb,
> -0xfe52, 0xfe52,
> -0xfe56, 0xfe57,
> -0xff01, 0xff01,
> -0xff0e, 0xff0e,
> -0xff1f, 0xff1f,
> -0xff61, 0xff61,
> -0x10a56, 0x10a57,
> -0x10f55, 0x10f59,
> -0x11047, 0x11048,
> -0x110be, 0x110c1,
> -0x11141, 0x11143,
> -0x111c5, 0x111c6,
> -0x111cd, 0x111cd,
> -0x111de, 0x111df,
> -0x11238, 0x11239,
> -0x1123b, 0x1123c,
> -0x112a9, 0x112a9,
> -0x1144b, 0x1144c,
> -0x115c2, 0x115c3,
> -0x115c9, 0x115d7,
> -0x11641, 0x11642,
> -0x1173c, 0x1173e,
> -0x11a42, 0x11a43,
> -0x11a9b, 0x11a9c,
> -0x11c41, 0x11c42,
> -0x11ef7, 0x11ef8,
> -0x16a6e, 0x16a6f,
> -0x16af5, 0x16af5,
> -0x16b37, 0x16b38,
> -0x16b44, 0x16b44,
> -0x16e98, 0x16e98,
> -0x1bc9f, 0x1bc9f,
> -0x1da88, 0x1da88,
> -}; /* END of CR_Sentence_Terminal */
> -
> -/* PROPERTY: 'Sharada': Script */
> -static const OnigCodePoint
> -CR_Sharada[] = { 2,
> -0x11180, 0x111cd,
> -0x111d0, 0x111df,
> -}; /* END of CR_Sharada */
> -
> -/* PROPERTY: 'Shavian': Script */
> -static const OnigCodePoint
> -CR_Shavian[] = { 1,
> -0x10450, 0x1047f,
> -}; /* END of CR_Shavian */
> -
> -/* PROPERTY: 'Siddham': Script */
> -static const OnigCodePoint
> -CR_Siddham[] = { 2,
> -0x11580, 0x115b5,
> -0x115b8, 0x115dd,
> -}; /* END of CR_Siddham */
> -
> -/* PROPERTY: 'SignWriting': Script */
> -static const OnigCodePoint
> -CR_SignWriting[] = { 3,
> -0x1d800, 0x1da8b,
> -0x1da9b, 0x1da9f,
> -0x1daa1, 0x1daaf,
> -}; /* END of CR_SignWriting */
> -
> -/* PROPERTY: 'Sinhala': Script */
> -static const OnigCodePoint
> -CR_Sinhala[] = { 13,
> -0x0d82, 0x0d83,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0dca, 0x0dca,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0de6, 0x0def,
> -0x0df2, 0x0df4,
> -0x111e1, 0x111f4,
> -}; /* END of CR_Sinhala */
> -
> -/* PROPERTY: 'Sk': General Category */
> -static const OnigCodePoint
> -CR_Sk[] = { 29,
> -0x005e, 0x005e,
> -0x0060, 0x0060,
> -0x00a8, 0x00a8,
> -0x00af, 0x00af,
> -0x00b4, 0x00b4,
> -0x00b8, 0x00b8,
> -0x02c2, 0x02c5,
> -0x02d2, 0x02df,
> -0x02e5, 0x02eb,
> -0x02ed, 0x02ed,
> -0x02ef, 0x02ff,
> -0x0375, 0x0375,
> -0x0384, 0x0385,
> -0x1fbd, 0x1fbd,
> -0x1fbf, 0x1fc1,
> -0x1fcd, 0x1fcf,
> -0x1fdd, 0x1fdf,
> -0x1fed, 0x1fef,
> -0x1ffd, 0x1ffe,
> -0x309b, 0x309c,
> -0xa700, 0xa716,
> -0xa720, 0xa721,
> -0xa789, 0xa78a,
> -0xab5b, 0xab5b,
> -0xfbb2, 0xfbc1,
> -0xff3e, 0xff3e,
> -0xff40, 0xff40,
> -0xffe3, 0xffe3,
> -0x1f3fb, 0x1f3ff,
> -}; /* END of CR_Sk */
> -
> -/* PROPERTY: 'Sm': General Category */
> -static const OnigCodePoint
> -CR_Sm[] = { 64,
> -0x002b, 0x002b,
> -0x003c, 0x003e,
> -0x007c, 0x007c,
> -0x007e, 0x007e,
> -0x00ac, 0x00ac,
> -0x00b1, 0x00b1,
> -0x00d7, 0x00d7,
> -0x00f7, 0x00f7,
> -0x03f6, 0x03f6,
> -0x0606, 0x0608,
> -0x2044, 0x2044,
> -0x2052, 0x2052,
> -0x207a, 0x207c,
> -0x208a, 0x208c,
> -0x2118, 0x2118,
> -0x2140, 0x2144,
> -0x214b, 0x214b,
> -0x2190, 0x2194,
> -0x219a, 0x219b,
> -0x21a0, 0x21a0,
> -0x21a3, 0x21a3,
> -0x21a6, 0x21a6,
> -0x21ae, 0x21ae,
> -0x21ce, 0x21cf,
> -0x21d2, 0x21d2,
> -0x21d4, 0x21d4,
> -0x21f4, 0x22ff,
> -0x2320, 0x2321,
> -0x237c, 0x237c,
> -0x239b, 0x23b3,
> -0x23dc, 0x23e1,
> -0x25b7, 0x25b7,
> -0x25c1, 0x25c1,
> -0x25f8, 0x25ff,
> -0x266f, 0x266f,
> -0x27c0, 0x27c4,
> -0x27c7, 0x27e5,
> -0x27f0, 0x27ff,
> -0x2900, 0x2982,
> -0x2999, 0x29d7,
> -0x29dc, 0x29fb,
> -0x29fe, 0x2aff,
> -0x2b30, 0x2b44,
> -0x2b47, 0x2b4c,
> -0xfb29, 0xfb29,
> -0xfe62, 0xfe62,
> -0xfe64, 0xfe66,
> -0xff0b, 0xff0b,
> -0xff1c, 0xff1e,
> -0xff5c, 0xff5c,
> -0xff5e, 0xff5e,
> -0xffe2, 0xffe2,
> -0xffe9, 0xffec,
> -0x1d6c1, 0x1d6c1,
> -0x1d6db, 0x1d6db,
> -0x1d6fb, 0x1d6fb,
> -0x1d715, 0x1d715,
> -0x1d735, 0x1d735,
> -0x1d74f, 0x1d74f,
> -0x1d76f, 0x1d76f,
> -0x1d789, 0x1d789,
> -0x1d7a9, 0x1d7a9,
> -0x1d7c3, 0x1d7c3,
> -0x1eef0, 0x1eef1,
> -}; /* END of CR_Sm */
> -
> -/* PROPERTY: 'So': General Category */
> -static const OnigCodePoint
> -CR_So[] = { 180,
> -0x00a6, 0x00a6,
> -0x00a9, 0x00a9,
> -0x00ae, 0x00ae,
> -0x00b0, 0x00b0,
> -0x0482, 0x0482,
> -0x058d, 0x058e,
> -0x060e, 0x060f,
> -0x06de, 0x06de,
> -0x06e9, 0x06e9,
> -0x06fd, 0x06fe,
> -0x07f6, 0x07f6,
> -0x09fa, 0x09fa,
> -0x0b70, 0x0b70,
> -0x0bf3, 0x0bf8,
> -0x0bfa, 0x0bfa,
> -0x0c7f, 0x0c7f,
> -0x0d4f, 0x0d4f,
> -0x0d79, 0x0d79,
> -0x0f01, 0x0f03,
> -0x0f13, 0x0f13,
> -0x0f15, 0x0f17,
> -0x0f1a, 0x0f1f,
> -0x0f34, 0x0f34,
> -0x0f36, 0x0f36,
> -0x0f38, 0x0f38,
> -0x0fbe, 0x0fc5,
> -0x0fc7, 0x0fcc,
> -0x0fce, 0x0fcf,
> -0x0fd5, 0x0fd8,
> -0x109e, 0x109f,
> -0x1390, 0x1399,
> -0x166d, 0x166d,
> -0x1940, 0x1940,
> -0x19de, 0x19ff,
> -0x1b61, 0x1b6a,
> -0x1b74, 0x1b7c,
> -0x2100, 0x2101,
> -0x2103, 0x2106,
> -0x2108, 0x2109,
> -0x2114, 0x2114,
> -0x2116, 0x2117,
> -0x211e, 0x2123,
> -0x2125, 0x2125,
> -0x2127, 0x2127,
> -0x2129, 0x2129,
> -0x212e, 0x212e,
> -0x213a, 0x213b,
> -0x214a, 0x214a,
> -0x214c, 0x214d,
> -0x214f, 0x214f,
> -0x218a, 0x218b,
> -0x2195, 0x2199,
> -0x219c, 0x219f,
> -0x21a1, 0x21a2,
> -0x21a4, 0x21a5,
> -0x21a7, 0x21ad,
> -0x21af, 0x21cd,
> -0x21d0, 0x21d1,
> -0x21d3, 0x21d3,
> -0x21d5, 0x21f3,
> -0x2300, 0x2307,
> -0x230c, 0x231f,
> -0x2322, 0x2328,
> -0x232b, 0x237b,
> -0x237d, 0x239a,
> -0x23b4, 0x23db,
> -0x23e2, 0x2426,
> -0x2440, 0x244a,
> -0x249c, 0x24e9,
> -0x2500, 0x25b6,
> -0x25b8, 0x25c0,
> -0x25c2, 0x25f7,
> -0x2600, 0x266e,
> -0x2670, 0x2767,
> -0x2794, 0x27bf,
> -0x2800, 0x28ff,
> -0x2b00, 0x2b2f,
> -0x2b45, 0x2b46,
> -0x2b4d, 0x2b73,
> -0x2b76, 0x2b95,
> -0x2b98, 0x2bff,
> -0x2ce5, 0x2cea,
> -0x2e80, 0x2e99,
> -0x2e9b, 0x2ef3,
> -0x2f00, 0x2fd5,
> -0x2ff0, 0x2ffb,
> -0x3004, 0x3004,
> -0x3012, 0x3013,
> -0x3020, 0x3020,
> -0x3036, 0x3037,
> -0x303e, 0x303f,
> -0x3190, 0x3191,
> -0x3196, 0x319f,
> -0x31c0, 0x31e3,
> -0x3200, 0x321e,
> -0x322a, 0x3247,
> -0x3250, 0x3250,
> -0x3260, 0x327f,
> -0x328a, 0x32b0,
> -0x32c0, 0x33ff,
> -0x4dc0, 0x4dff,
> -0xa490, 0xa4c6,
> -0xa828, 0xa82b,
> -0xa836, 0xa837,
> -0xa839, 0xa839,
> -0xaa77, 0xaa79,
> -0xfdfd, 0xfdfd,
> -0xffe4, 0xffe4,
> -0xffe8, 0xffe8,
> -0xffed, 0xffee,
> -0xfffc, 0xfffd,
> -0x10137, 0x1013f,
> -0x10179, 0x10189,
> -0x1018c, 0x1018e,
> -0x10190, 0x1019b,
> -0x101a0, 0x101a0,
> -0x101d0, 0x101fc,
> -0x10877, 0x10878,
> -0x10ac8, 0x10ac8,
> -0x1173f, 0x1173f,
> -0x11fd5, 0x11fdc,
> -0x11fe1, 0x11ff1,
> -0x16b3c, 0x16b3f,
> -0x16b45, 0x16b45,
> -0x1bc9c, 0x1bc9c,
> -0x1d000, 0x1d0f5,
> -0x1d100, 0x1d126,
> -0x1d129, 0x1d164,
> -0x1d16a, 0x1d16c,
> -0x1d183, 0x1d184,
> -0x1d18c, 0x1d1a9,
> -0x1d1ae, 0x1d1e8,
> -0x1d200, 0x1d241,
> -0x1d245, 0x1d245,
> -0x1d300, 0x1d356,
> -0x1d800, 0x1d9ff,
> -0x1da37, 0x1da3a,
> -0x1da6d, 0x1da74,
> -0x1da76, 0x1da83,
> -0x1da85, 0x1da86,
> -0x1e14f, 0x1e14f,
> -0x1ecac, 0x1ecac,
> -0x1ed2e, 0x1ed2e,
> -0x1f000, 0x1f02b,
> -0x1f030, 0x1f093,
> -0x1f0a0, 0x1f0ae,
> -0x1f0b1, 0x1f0bf,
> -0x1f0c1, 0x1f0cf,
> -0x1f0d1, 0x1f0f5,
> -0x1f110, 0x1f16c,
> -0x1f170, 0x1f1ac,
> -0x1f1e6, 0x1f202,
> -0x1f210, 0x1f23b,
> -0x1f240, 0x1f248,
> -0x1f250, 0x1f251,
> -0x1f260, 0x1f265,
> -0x1f300, 0x1f3fa,
> -0x1f400, 0x1f6d5,
> -0x1f6e0, 0x1f6ec,
> -0x1f6f0, 0x1f6fa,
> -0x1f700, 0x1f773,
> -0x1f780, 0x1f7d8,
> -0x1f7e0, 0x1f7eb,
> -0x1f800, 0x1f80b,
> -0x1f810, 0x1f847,
> -0x1f850, 0x1f859,
> -0x1f860, 0x1f887,
> -0x1f890, 0x1f8ad,
> -0x1f900, 0x1f90b,
> -0x1f90d, 0x1f971,
> -0x1f973, 0x1f976,
> -0x1f97a, 0x1f9a2,
> -0x1f9a5, 0x1f9aa,
> -0x1f9ae, 0x1f9ca,
> -0x1f9cd, 0x1fa53,
> -0x1fa60, 0x1fa6d,
> -0x1fa70, 0x1fa73,
> -0x1fa78, 0x1fa7a,
> -0x1fa80, 0x1fa82,
> -0x1fa90, 0x1fa95,
> -}; /* END of CR_So */
> -
> -/* PROPERTY: 'Soft_Dotted': Binary Property */
> -static const OnigCodePoint
> -CR_Soft_Dotted[] = { 31,
> -0x0069, 0x006a,
> -0x012f, 0x012f,
> -0x0249, 0x0249,
> -0x0268, 0x0268,
> -0x029d, 0x029d,
> -0x02b2, 0x02b2,
> -0x03f3, 0x03f3,
> -0x0456, 0x0456,
> -0x0458, 0x0458,
> -0x1d62, 0x1d62,
> -0x1d96, 0x1d96,
> -0x1da4, 0x1da4,
> -0x1da8, 0x1da8,
> -0x1e2d, 0x1e2d,
> -0x1ecb, 0x1ecb,
> -0x2071, 0x2071,
> -0x2148, 0x2149,
> -0x2c7c, 0x2c7c,
> -0x1d422, 0x1d423,
> -0x1d456, 0x1d457,
> -0x1d48a, 0x1d48b,
> -0x1d4be, 0x1d4bf,
> -0x1d4f2, 0x1d4f3,
> -0x1d526, 0x1d527,
> -0x1d55a, 0x1d55b,
> -0x1d58e, 0x1d58f,
> -0x1d5c2, 0x1d5c3,
> -0x1d5f6, 0x1d5f7,
> -0x1d62a, 0x1d62b,
> -0x1d65e, 0x1d65f,
> -0x1d692, 0x1d693,
> -}; /* END of CR_Soft_Dotted */
> -
> -/* PROPERTY: 'Sogdian': Script */
> -static const OnigCodePoint
> -CR_Sogdian[] = { 1,
> -0x10f30, 0x10f59,
> -}; /* END of CR_Sogdian */
> -
> -/* PROPERTY: 'Sora_Sompeng': Script */
> -static const OnigCodePoint
> -CR_Sora_Sompeng[] = { 2,
> -0x110d0, 0x110e8,
> -0x110f0, 0x110f9,
> -}; /* END of CR_Sora_Sompeng */
> -
> -/* PROPERTY: 'Soyombo': Script */
> -static const OnigCodePoint
> -CR_Soyombo[] = { 1,
> -0x11a50, 0x11aa2,
> -}; /* END of CR_Soyombo */
> -
> -/* PROPERTY: 'Sundanese': Script */
> -static const OnigCodePoint
> -CR_Sundanese[] = { 2,
> -0x1b80, 0x1bbf,
> -0x1cc0, 0x1cc7,
> -}; /* END of CR_Sundanese */
> -
> -/* PROPERTY: 'Syloti_Nagri': Script */
> -static const OnigCodePoint
> -CR_Syloti_Nagri[] = { 1,
> -0xa800, 0xa82b,
> -}; /* END of CR_Syloti_Nagri */
> -
> -/* PROPERTY: 'Syriac': Script */
> -static const OnigCodePoint
> -CR_Syriac[] = { 4,
> -0x0700, 0x070d,
> -0x070f, 0x074a,
> -0x074d, 0x074f,
> -0x0860, 0x086a,
> -}; /* END of CR_Syriac */
> -
> -/* PROPERTY: 'Tagalog': Script */
> -static const OnigCodePoint
> -CR_Tagalog[] = { 2,
> -0x1700, 0x170c,
> -0x170e, 0x1714,
> -}; /* END of CR_Tagalog */
> -
> -/* PROPERTY: 'Tagbanwa': Script */
> -static const OnigCodePoint
> -CR_Tagbanwa[] = { 3,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1772, 0x1773,
> -}; /* END of CR_Tagbanwa */
> -
> -/* PROPERTY: 'Tai_Le': Script */
> -static const OnigCodePoint
> -CR_Tai_Le[] = { 2,
> -0x1950, 0x196d,
> -0x1970, 0x1974,
> -}; /* END of CR_Tai_Le */
> -
> -/* PROPERTY: 'Tai_Tham': Script */
> -static const OnigCodePoint
> -CR_Tai_Tham[] = { 5,
> -0x1a20, 0x1a5e,
> -0x1a60, 0x1a7c,
> -0x1a7f, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1aa0, 0x1aad,
> -}; /* END of CR_Tai_Tham */
> -
> -/* PROPERTY: 'Tai_Viet': Script */
> -static const OnigCodePoint
> -CR_Tai_Viet[] = { 2,
> -0xaa80, 0xaac2,
> -0xaadb, 0xaadf,
> -}; /* END of CR_Tai_Viet */
> -
> -/* PROPERTY: 'Takri': Script */
> -static const OnigCodePoint
> -CR_Takri[] = { 2,
> -0x11680, 0x116b8,
> -0x116c0, 0x116c9,
> -}; /* END of CR_Takri */
> -
> -/* PROPERTY: 'Tamil': Script */
> -static const OnigCodePoint
> -CR_Tamil[] = { 18,
> -0x0b82, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcd,
> -0x0bd0, 0x0bd0,
> -0x0bd7, 0x0bd7,
> -0x0be6, 0x0bfa,
> -0x11fc0, 0x11ff1,
> -0x11fff, 0x11fff,
> -}; /* END of CR_Tamil */
> -
> -/* PROPERTY: 'Tangut': Script */
> -static const OnigCodePoint
> -CR_Tangut[] = { 3,
> -0x16fe0, 0x16fe0,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -}; /* END of CR_Tangut */
> -
> -/* PROPERTY: 'Telugu': Script */
> -static const OnigCodePoint
> -CR_Telugu[] = { 12,
> -0x0c00, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4d,
> -0x0c55, 0x0c56,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c63,
> -0x0c66, 0x0c6f,
> -0x0c77, 0x0c7f,
> -}; /* END of CR_Telugu */
> -
> -/* PROPERTY: 'Terminal_Punctuation': Binary Property */
> -static const OnigCodePoint
> -CR_Terminal_Punctuation[] = { 102,
> -0x0021, 0x0021,
> -0x002c, 0x002c,
> -0x002e, 0x002e,
> -0x003a, 0x003b,
> -0x003f, 0x003f,
> -0x037e, 0x037e,
> -0x0387, 0x0387,
> -0x0589, 0x0589,
> -0x05c3, 0x05c3,
> -0x060c, 0x060c,
> -0x061b, 0x061b,
> -0x061e, 0x061f,
> -0x06d4, 0x06d4,
> -0x0700, 0x070a,
> -0x070c, 0x070c,
> -0x07f8, 0x07f9,
> -0x0830, 0x083e,
> -0x085e, 0x085e,
> -0x0964, 0x0965,
> -0x0e5a, 0x0e5b,
> -0x0f08, 0x0f08,
> -0x0f0d, 0x0f12,
> -0x104a, 0x104b,
> -0x1361, 0x1368,
> -0x166e, 0x166e,
> -0x16eb, 0x16ed,
> -0x1735, 0x1736,
> -0x17d4, 0x17d6,
> -0x17da, 0x17da,
> -0x1802, 0x1805,
> -0x1808, 0x1809,
> -0x1944, 0x1945,
> -0x1aa8, 0x1aab,
> -0x1b5a, 0x1b5b,
> -0x1b5d, 0x1b5f,
> -0x1c3b, 0x1c3f,
> -0x1c7e, 0x1c7f,
> -0x203c, 0x203d,
> -0x2047, 0x2049,
> -0x2e2e, 0x2e2e,
> -0x2e3c, 0x2e3c,
> -0x2e41, 0x2e41,
> -0x2e4c, 0x2e4c,
> -0x2e4e, 0x2e4f,
> -0x3001, 0x3002,
> -0xa4fe, 0xa4ff,
> -0xa60d, 0xa60f,
> -0xa6f3, 0xa6f7,
> -0xa876, 0xa877,
> -0xa8ce, 0xa8cf,
> -0xa92f, 0xa92f,
> -0xa9c7, 0xa9c9,
> -0xaa5d, 0xaa5f,
> -0xaadf, 0xaadf,
> -0xaaf0, 0xaaf1,
> -0xabeb, 0xabeb,
> -0xfe50, 0xfe52,
> -0xfe54, 0xfe57,
> -0xff01, 0xff01,
> -0xff0c, 0xff0c,
> -0xff0e, 0xff0e,
> -0xff1a, 0xff1b,
> -0xff1f, 0xff1f,
> -0xff61, 0xff61,
> -0xff64, 0xff64,
> -0x1039f, 0x1039f,
> -0x103d0, 0x103d0,
> -0x10857, 0x10857,
> -0x1091f, 0x1091f,
> -0x10a56, 0x10a57,
> -0x10af0, 0x10af5,
> -0x10b3a, 0x10b3f,
> -0x10b99, 0x10b9c,
> -0x10f55, 0x10f59,
> -0x11047, 0x1104d,
> -0x110be, 0x110c1,
> -0x11141, 0x11143,
> -0x111c5, 0x111c6,
> -0x111cd, 0x111cd,
> -0x111de, 0x111df,
> -0x11238, 0x1123c,
> -0x112a9, 0x112a9,
> -0x1144b, 0x1144d,
> -0x1145b, 0x1145b,
> -0x115c2, 0x115c5,
> -0x115c9, 0x115d7,
> -0x11641, 0x11642,
> -0x1173c, 0x1173e,
> -0x11a42, 0x11a43,
> -0x11a9b, 0x11a9c,
> -0x11aa1, 0x11aa2,
> -0x11c41, 0x11c43,
> -0x11c71, 0x11c71,
> -0x11ef7, 0x11ef8,
> -0x12470, 0x12474,
> -0x16a6e, 0x16a6f,
> -0x16af5, 0x16af5,
> -0x16b37, 0x16b39,
> -0x16b44, 0x16b44,
> -0x16e97, 0x16e98,
> -0x1bc9f, 0x1bc9f,
> -0x1da87, 0x1da8a,
> -}; /* END of CR_Terminal_Punctuation */
> -
> -/* PROPERTY: 'Thaana': Script */
> -static const OnigCodePoint
> -CR_Thaana[] = { 1,
> -0x0780, 0x07b1,
> -}; /* END of CR_Thaana */
> -
> -/* PROPERTY: 'Thai': Script */
> -static const OnigCodePoint
> -CR_Thai[] = { 2,
> -0x0e01, 0x0e3a,
> -0x0e40, 0x0e5b,
> -}; /* END of CR_Thai */
> -
> -/* PROPERTY: 'Tibetan': Script */
> -static const OnigCodePoint
> -CR_Tibetan[] = { 7,
> -0x0f00, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f71, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x0fbe, 0x0fcc,
> -0x0fce, 0x0fd4,
> -0x0fd9, 0x0fda,
> -}; /* END of CR_Tibetan */
> -
> -/* PROPERTY: 'Tifinagh': Script */
> -static const OnigCodePoint
> -CR_Tifinagh[] = { 3,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d70,
> -0x2d7f, 0x2d7f,
> -}; /* END of CR_Tifinagh */
> -
> -/* PROPERTY: 'Tirhuta': Script */
> -static const OnigCodePoint
> -CR_Tirhuta[] = { 2,
> -0x11480, 0x114c7,
> -0x114d0, 0x114d9,
> -}; /* END of CR_Tirhuta */
> -
> -/* PROPERTY: 'Ugaritic': Script */
> -static const OnigCodePoint
> -CR_Ugaritic[] = { 2,
> -0x10380, 0x1039d,
> -0x1039f, 0x1039f,
> -}; /* END of CR_Ugaritic */
> -
> -/* PROPERTY: 'Unified_Ideograph': Binary Property */
> -static const OnigCodePoint
> -CR_Unified_Ideograph[] = { 14,
> -0x3400, 0x4db5,
> -0x4e00, 0x9fef,
> -0xfa0e, 0xfa0f,
> -0xfa11, 0xfa11,
> -0xfa13, 0xfa14,
> -0xfa1f, 0xfa1f,
> -0xfa21, 0xfa21,
> -0xfa23, 0xfa24,
> -0xfa27, 0xfa29,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -}; /* END of CR_Unified_Ideograph */
> -
> -/* PROPERTY: 'Unknown': Script */
> -static const OnigCodePoint
> -CR_Unknown[] = { 664,
> -0x0378, 0x0379,
> -0x0380, 0x0383,
> -0x038b, 0x038b,
> -0x038d, 0x038d,
> -0x03a2, 0x03a2,
> -0x0530, 0x0530,
> -0x0557, 0x0558,
> -0x058b, 0x058c,
> -0x0590, 0x0590,
> -0x05c8, 0x05cf,
> -0x05eb, 0x05ee,
> -0x05f5, 0x05ff,
> -0x061d, 0x061d,
> -0x070e, 0x070e,
> -0x074b, 0x074c,
> -0x07b2, 0x07bf,
> -0x07fb, 0x07fc,
> -0x082e, 0x082f,
> -0x083f, 0x083f,
> -0x085c, 0x085d,
> -0x085f, 0x085f,
> -0x086b, 0x089f,
> -0x08b5, 0x08b5,
> -0x08be, 0x08d2,
> -0x0984, 0x0984,
> -0x098d, 0x098e,
> -0x0991, 0x0992,
> -0x09a9, 0x09a9,
> -0x09b1, 0x09b1,
> -0x09b3, 0x09b5,
> -0x09ba, 0x09bb,
> -0x09c5, 0x09c6,
> -0x09c9, 0x09ca,
> -0x09cf, 0x09d6,
> -0x09d8, 0x09db,
> -0x09de, 0x09de,
> -0x09e4, 0x09e5,
> -0x09ff, 0x0a00,
> -0x0a04, 0x0a04,
> -0x0a0b, 0x0a0e,
> -0x0a11, 0x0a12,
> -0x0a29, 0x0a29,
> -0x0a31, 0x0a31,
> -0x0a34, 0x0a34,
> -0x0a37, 0x0a37,
> -0x0a3a, 0x0a3b,
> -0x0a3d, 0x0a3d,
> -0x0a43, 0x0a46,
> -0x0a49, 0x0a4a,
> -0x0a4e, 0x0a50,
> -0x0a52, 0x0a58,
> -0x0a5d, 0x0a5d,
> -0x0a5f, 0x0a65,
> -0x0a77, 0x0a80,
> -0x0a84, 0x0a84,
> -0x0a8e, 0x0a8e,
> -0x0a92, 0x0a92,
> -0x0aa9, 0x0aa9,
> -0x0ab1, 0x0ab1,
> -0x0ab4, 0x0ab4,
> -0x0aba, 0x0abb,
> -0x0ac6, 0x0ac6,
> -0x0aca, 0x0aca,
> -0x0ace, 0x0acf,
> -0x0ad1, 0x0adf,
> -0x0ae4, 0x0ae5,
> -0x0af2, 0x0af8,
> -0x0b00, 0x0b00,
> -0x0b04, 0x0b04,
> -0x0b0d, 0x0b0e,
> -0x0b11, 0x0b12,
> -0x0b29, 0x0b29,
> -0x0b31, 0x0b31,
> -0x0b34, 0x0b34,
> -0x0b3a, 0x0b3b,
> -0x0b45, 0x0b46,
> -0x0b49, 0x0b4a,
> -0x0b4e, 0x0b55,
> -0x0b58, 0x0b5b,
> -0x0b5e, 0x0b5e,
> -0x0b64, 0x0b65,
> -0x0b78, 0x0b81,
> -0x0b84, 0x0b84,
> -0x0b8b, 0x0b8d,
> -0x0b91, 0x0b91,
> -0x0b96, 0x0b98,
> -0x0b9b, 0x0b9b,
> -0x0b9d, 0x0b9d,
> -0x0ba0, 0x0ba2,
> -0x0ba5, 0x0ba7,
> -0x0bab, 0x0bad,
> -0x0bba, 0x0bbd,
> -0x0bc3, 0x0bc5,
> -0x0bc9, 0x0bc9,
> -0x0bce, 0x0bcf,
> -0x0bd1, 0x0bd6,
> -0x0bd8, 0x0be5,
> -0x0bfb, 0x0bff,
> -0x0c0d, 0x0c0d,
> -0x0c11, 0x0c11,
> -0x0c29, 0x0c29,
> -0x0c3a, 0x0c3c,
> -0x0c45, 0x0c45,
> -0x0c49, 0x0c49,
> -0x0c4e, 0x0c54,
> -0x0c57, 0x0c57,
> -0x0c5b, 0x0c5f,
> -0x0c64, 0x0c65,
> -0x0c70, 0x0c76,
> -0x0c8d, 0x0c8d,
> -0x0c91, 0x0c91,
> -0x0ca9, 0x0ca9,
> -0x0cb4, 0x0cb4,
> -0x0cba, 0x0cbb,
> -0x0cc5, 0x0cc5,
> -0x0cc9, 0x0cc9,
> -0x0cce, 0x0cd4,
> -0x0cd7, 0x0cdd,
> -0x0cdf, 0x0cdf,
> -0x0ce4, 0x0ce5,
> -0x0cf0, 0x0cf0,
> -0x0cf3, 0x0cff,
> -0x0d04, 0x0d04,
> -0x0d0d, 0x0d0d,
> -0x0d11, 0x0d11,
> -0x0d45, 0x0d45,
> -0x0d49, 0x0d49,
> -0x0d50, 0x0d53,
> -0x0d64, 0x0d65,
> -0x0d80, 0x0d81,
> -0x0d84, 0x0d84,
> -0x0d97, 0x0d99,
> -0x0db2, 0x0db2,
> -0x0dbc, 0x0dbc,
> -0x0dbe, 0x0dbf,
> -0x0dc7, 0x0dc9,
> -0x0dcb, 0x0dce,
> -0x0dd5, 0x0dd5,
> -0x0dd7, 0x0dd7,
> -0x0de0, 0x0de5,
> -0x0df0, 0x0df1,
> -0x0df5, 0x0e00,
> -0x0e3b, 0x0e3e,
> -0x0e5c, 0x0e80,
> -0x0e83, 0x0e83,
> -0x0e85, 0x0e85,
> -0x0e8b, 0x0e8b,
> -0x0ea4, 0x0ea4,
> -0x0ea6, 0x0ea6,
> -0x0ebe, 0x0ebf,
> -0x0ec5, 0x0ec5,
> -0x0ec7, 0x0ec7,
> -0x0ece, 0x0ecf,
> -0x0eda, 0x0edb,
> -0x0ee0, 0x0eff,
> -0x0f48, 0x0f48,
> -0x0f6d, 0x0f70,
> -0x0f98, 0x0f98,
> -0x0fbd, 0x0fbd,
> -0x0fcd, 0x0fcd,
> -0x0fdb, 0x0fff,
> -0x10c6, 0x10c6,
> -0x10c8, 0x10cc,
> -0x10ce, 0x10cf,
> -0x1249, 0x1249,
> -0x124e, 0x124f,
> -0x1257, 0x1257,
> -0x1259, 0x1259,
> -0x125e, 0x125f,
> -0x1289, 0x1289,
> -0x128e, 0x128f,
> -0x12b1, 0x12b1,
> -0x12b6, 0x12b7,
> -0x12bf, 0x12bf,
> -0x12c1, 0x12c1,
> -0x12c6, 0x12c7,
> -0x12d7, 0x12d7,
> -0x1311, 0x1311,
> -0x1316, 0x1317,
> -0x135b, 0x135c,
> -0x137d, 0x137f,
> -0x139a, 0x139f,
> -0x13f6, 0x13f7,
> -0x13fe, 0x13ff,
> -0x169d, 0x169f,
> -0x16f9, 0x16ff,
> -0x170d, 0x170d,
> -0x1715, 0x171f,
> -0x1737, 0x173f,
> -0x1754, 0x175f,
> -0x176d, 0x176d,
> -0x1771, 0x1771,
> -0x1774, 0x177f,
> -0x17de, 0x17df,
> -0x17ea, 0x17ef,
> -0x17fa, 0x17ff,
> -0x180f, 0x180f,
> -0x181a, 0x181f,
> -0x1879, 0x187f,
> -0x18ab, 0x18af,
> -0x18f6, 0x18ff,
> -0x191f, 0x191f,
> -0x192c, 0x192f,
> -0x193c, 0x193f,
> -0x1941, 0x1943,
> -0x196e, 0x196f,
> -0x1975, 0x197f,
> -0x19ac, 0x19af,
> -0x19ca, 0x19cf,
> -0x19db, 0x19dd,
> -0x1a1c, 0x1a1d,
> -0x1a5f, 0x1a5f,
> -0x1a7d, 0x1a7e,
> -0x1a8a, 0x1a8f,
> -0x1a9a, 0x1a9f,
> -0x1aae, 0x1aaf,
> -0x1abf, 0x1aff,
> -0x1b4c, 0x1b4f,
> -0x1b7d, 0x1b7f,
> -0x1bf4, 0x1bfb,
> -0x1c38, 0x1c3a,
> -0x1c4a, 0x1c4c,
> -0x1c89, 0x1c8f,
> -0x1cbb, 0x1cbc,
> -0x1cc8, 0x1ccf,
> -0x1cfb, 0x1cff,
> -0x1dfa, 0x1dfa,
> -0x1f16, 0x1f17,
> -0x1f1e, 0x1f1f,
> -0x1f46, 0x1f47,
> -0x1f4e, 0x1f4f,
> -0x1f58, 0x1f58,
> -0x1f5a, 0x1f5a,
> -0x1f5c, 0x1f5c,
> -0x1f5e, 0x1f5e,
> -0x1f7e, 0x1f7f,
> -0x1fb5, 0x1fb5,
> -0x1fc5, 0x1fc5,
> -0x1fd4, 0x1fd5,
> -0x1fdc, 0x1fdc,
> -0x1ff0, 0x1ff1,
> -0x1ff5, 0x1ff5,
> -0x1fff, 0x1fff,
> -0x2065, 0x2065,
> -0x2072, 0x2073,
> -0x208f, 0x208f,
> -0x209d, 0x209f,
> -0x20c0, 0x20cf,
> -0x20f1, 0x20ff,
> -0x218c, 0x218f,
> -0x2427, 0x243f,
> -0x244b, 0x245f,
> -0x2b74, 0x2b75,
> -0x2b96, 0x2b97,
> -0x2c2f, 0x2c2f,
> -0x2c5f, 0x2c5f,
> -0x2cf4, 0x2cf8,
> -0x2d26, 0x2d26,
> -0x2d28, 0x2d2c,
> -0x2d2e, 0x2d2f,
> -0x2d68, 0x2d6e,
> -0x2d71, 0x2d7e,
> -0x2d97, 0x2d9f,
> -0x2da7, 0x2da7,
> -0x2daf, 0x2daf,
> -0x2db7, 0x2db7,
> -0x2dbf, 0x2dbf,
> -0x2dc7, 0x2dc7,
> -0x2dcf, 0x2dcf,
> -0x2dd7, 0x2dd7,
> -0x2ddf, 0x2ddf,
> -0x2e50, 0x2e7f,
> -0x2e9a, 0x2e9a,
> -0x2ef4, 0x2eff,
> -0x2fd6, 0x2fef,
> -0x2ffc, 0x2fff,
> -0x3040, 0x3040,
> -0x3097, 0x3098,
> -0x3100, 0x3104,
> -0x3130, 0x3130,
> -0x318f, 0x318f,
> -0x31bb, 0x31bf,
> -0x31e4, 0x31ef,
> -0x321f, 0x321f,
> -0x4db6, 0x4dbf,
> -0x9ff0, 0x9fff,
> -0xa48d, 0xa48f,
> -0xa4c7, 0xa4cf,
> -0xa62c, 0xa63f,
> -0xa6f8, 0xa6ff,
> -0xa7c0, 0xa7c1,
> -0xa7c7, 0xa7f6,
> -0xa82c, 0xa82f,
> -0xa83a, 0xa83f,
> -0xa878, 0xa87f,
> -0xa8c6, 0xa8cd,
> -0xa8da, 0xa8df,
> -0xa954, 0xa95e,
> -0xa97d, 0xa97f,
> -0xa9ce, 0xa9ce,
> -0xa9da, 0xa9dd,
> -0xa9ff, 0xa9ff,
> -0xaa37, 0xaa3f,
> -0xaa4e, 0xaa4f,
> -0xaa5a, 0xaa5b,
> -0xaac3, 0xaada,
> -0xaaf7, 0xab00,
> -0xab07, 0xab08,
> -0xab0f, 0xab10,
> -0xab17, 0xab1f,
> -0xab27, 0xab27,
> -0xab2f, 0xab2f,
> -0xab68, 0xab6f,
> -0xabee, 0xabef,
> -0xabfa, 0xabff,
> -0xd7a4, 0xd7af,
> -0xd7c7, 0xd7ca,
> -0xd7fc, 0xf8ff,
> -0xfa6e, 0xfa6f,
> -0xfada, 0xfaff,
> -0xfb07, 0xfb12,
> -0xfb18, 0xfb1c,
> -0xfb37, 0xfb37,
> -0xfb3d, 0xfb3d,
> -0xfb3f, 0xfb3f,
> -0xfb42, 0xfb42,
> -0xfb45, 0xfb45,
> -0xfbc2, 0xfbd2,
> -0xfd40, 0xfd4f,
> -0xfd90, 0xfd91,
> -0xfdc8, 0xfdef,
> -0xfdfe, 0xfdff,
> -0xfe1a, 0xfe1f,
> -0xfe53, 0xfe53,
> -0xfe67, 0xfe67,
> -0xfe6c, 0xfe6f,
> -0xfe75, 0xfe75,
> -0xfefd, 0xfefe,
> -0xff00, 0xff00,
> -0xffbf, 0xffc1,
> -0xffc8, 0xffc9,
> -0xffd0, 0xffd1,
> -0xffd8, 0xffd9,
> -0xffdd, 0xffdf,
> -0xffe7, 0xffe7,
> -0xffef, 0xfff8,
> -0xfffe, 0xffff,
> -0x1000c, 0x1000c,
> -0x10027, 0x10027,
> -0x1003b, 0x1003b,
> -0x1003e, 0x1003e,
> -0x1004e, 0x1004f,
> -0x1005e, 0x1007f,
> -0x100fb, 0x100ff,
> -0x10103, 0x10106,
> -0x10134, 0x10136,
> -0x1018f, 0x1018f,
> -0x1019c, 0x1019f,
> -0x101a1, 0x101cf,
> -0x101fe, 0x1027f,
> -0x1029d, 0x1029f,
> -0x102d1, 0x102df,
> -0x102fc, 0x102ff,
> -0x10324, 0x1032c,
> -0x1034b, 0x1034f,
> -0x1037b, 0x1037f,
> -0x1039e, 0x1039e,
> -0x103c4, 0x103c7,
> -0x103d6, 0x103ff,
> -0x1049e, 0x1049f,
> -0x104aa, 0x104af,
> -0x104d4, 0x104d7,
> -0x104fc, 0x104ff,
> -0x10528, 0x1052f,
> -0x10564, 0x1056e,
> -0x10570, 0x105ff,
> -0x10737, 0x1073f,
> -0x10756, 0x1075f,
> -0x10768, 0x107ff,
> -0x10806, 0x10807,
> -0x10809, 0x10809,
> -0x10836, 0x10836,
> -0x10839, 0x1083b,
> -0x1083d, 0x1083e,
> -0x10856, 0x10856,
> -0x1089f, 0x108a6,
> -0x108b0, 0x108df,
> -0x108f3, 0x108f3,
> -0x108f6, 0x108fa,
> -0x1091c, 0x1091e,
> -0x1093a, 0x1093e,
> -0x10940, 0x1097f,
> -0x109b8, 0x109bb,
> -0x109d0, 0x109d1,
> -0x10a04, 0x10a04,
> -0x10a07, 0x10a0b,
> -0x10a14, 0x10a14,
> -0x10a18, 0x10a18,
> -0x10a36, 0x10a37,
> -0x10a3b, 0x10a3e,
> -0x10a49, 0x10a4f,
> -0x10a59, 0x10a5f,
> -0x10aa0, 0x10abf,
> -0x10ae7, 0x10aea,
> -0x10af7, 0x10aff,
> -0x10b36, 0x10b38,
> -0x10b56, 0x10b57,
> -0x10b73, 0x10b77,
> -0x10b92, 0x10b98,
> -0x10b9d, 0x10ba8,
> -0x10bb0, 0x10bff,
> -0x10c49, 0x10c7f,
> -0x10cb3, 0x10cbf,
> -0x10cf3, 0x10cf9,
> -0x10d28, 0x10d2f,
> -0x10d3a, 0x10e5f,
> -0x10e7f, 0x10eff,
> -0x10f28, 0x10f2f,
> -0x10f5a, 0x10fdf,
> -0x10ff7, 0x10fff,
> -0x1104e, 0x11051,
> -0x11070, 0x1107e,
> -0x110c2, 0x110cc,
> -0x110ce, 0x110cf,
> -0x110e9, 0x110ef,
> -0x110fa, 0x110ff,
> -0x11135, 0x11135,
> -0x11147, 0x1114f,
> -0x11177, 0x1117f,
> -0x111ce, 0x111cf,
> -0x111e0, 0x111e0,
> -0x111f5, 0x111ff,
> -0x11212, 0x11212,
> -0x1123f, 0x1127f,
> -0x11287, 0x11287,
> -0x11289, 0x11289,
> -0x1128e, 0x1128e,
> -0x1129e, 0x1129e,
> -0x112aa, 0x112af,
> -0x112eb, 0x112ef,
> -0x112fa, 0x112ff,
> -0x11304, 0x11304,
> -0x1130d, 0x1130e,
> -0x11311, 0x11312,
> -0x11329, 0x11329,
> -0x11331, 0x11331,
> -0x11334, 0x11334,
> -0x1133a, 0x1133a,
> -0x11345, 0x11346,
> -0x11349, 0x1134a,
> -0x1134e, 0x1134f,
> -0x11351, 0x11356,
> -0x11358, 0x1135c,
> -0x11364, 0x11365,
> -0x1136d, 0x1136f,
> -0x11375, 0x113ff,
> -0x1145a, 0x1145a,
> -0x1145c, 0x1145c,
> -0x11460, 0x1147f,
> -0x114c8, 0x114cf,
> -0x114da, 0x1157f,
> -0x115b6, 0x115b7,
> -0x115de, 0x115ff,
> -0x11645, 0x1164f,
> -0x1165a, 0x1165f,
> -0x1166d, 0x1167f,
> -0x116b9, 0x116bf,
> -0x116ca, 0x116ff,
> -0x1171b, 0x1171c,
> -0x1172c, 0x1172f,
> -0x11740, 0x117ff,
> -0x1183c, 0x1189f,
> -0x118f3, 0x118fe,
> -0x11900, 0x1199f,
> -0x119a8, 0x119a9,
> -0x119d8, 0x119d9,
> -0x119e5, 0x119ff,
> -0x11a48, 0x11a4f,
> -0x11aa3, 0x11abf,
> -0x11af9, 0x11bff,
> -0x11c09, 0x11c09,
> -0x11c37, 0x11c37,
> -0x11c46, 0x11c4f,
> -0x11c6d, 0x11c6f,
> -0x11c90, 0x11c91,
> -0x11ca8, 0x11ca8,
> -0x11cb7, 0x11cff,
> -0x11d07, 0x11d07,
> -0x11d0a, 0x11d0a,
> -0x11d37, 0x11d39,
> -0x11d3b, 0x11d3b,
> -0x11d3e, 0x11d3e,
> -0x11d48, 0x11d4f,
> -0x11d5a, 0x11d5f,
> -0x11d66, 0x11d66,
> -0x11d69, 0x11d69,
> -0x11d8f, 0x11d8f,
> -0x11d92, 0x11d92,
> -0x11d99, 0x11d9f,
> -0x11daa, 0x11edf,
> -0x11ef9, 0x11fbf,
> -0x11ff2, 0x11ffe,
> -0x1239a, 0x123ff,
> -0x1246f, 0x1246f,
> -0x12475, 0x1247f,
> -0x12544, 0x12fff,
> -0x1342f, 0x1342f,
> -0x13439, 0x143ff,
> -0x14647, 0x167ff,
> -0x16a39, 0x16a3f,
> -0x16a5f, 0x16a5f,
> -0x16a6a, 0x16a6d,
> -0x16a70, 0x16acf,
> -0x16aee, 0x16aef,
> -0x16af6, 0x16aff,
> -0x16b46, 0x16b4f,
> -0x16b5a, 0x16b5a,
> -0x16b62, 0x16b62,
> -0x16b78, 0x16b7c,
> -0x16b90, 0x16e3f,
> -0x16e9b, 0x16eff,
> -0x16f4b, 0x16f4e,
> -0x16f88, 0x16f8e,
> -0x16fa0, 0x16fdf,
> -0x16fe4, 0x16fff,
> -0x187f8, 0x187ff,
> -0x18af3, 0x1afff,
> -0x1b11f, 0x1b14f,
> -0x1b153, 0x1b163,
> -0x1b168, 0x1b16f,
> -0x1b2fc, 0x1bbff,
> -0x1bc6b, 0x1bc6f,
> -0x1bc7d, 0x1bc7f,
> -0x1bc89, 0x1bc8f,
> -0x1bc9a, 0x1bc9b,
> -0x1bca4, 0x1cfff,
> -0x1d0f6, 0x1d0ff,
> -0x1d127, 0x1d128,
> -0x1d1e9, 0x1d1ff,
> -0x1d246, 0x1d2df,
> -0x1d2f4, 0x1d2ff,
> -0x1d357, 0x1d35f,
> -0x1d379, 0x1d3ff,
> -0x1d455, 0x1d455,
> -0x1d49d, 0x1d49d,
> -0x1d4a0, 0x1d4a1,
> -0x1d4a3, 0x1d4a4,
> -0x1d4a7, 0x1d4a8,
> -0x1d4ad, 0x1d4ad,
> -0x1d4ba, 0x1d4ba,
> -0x1d4bc, 0x1d4bc,
> -0x1d4c4, 0x1d4c4,
> -0x1d506, 0x1d506,
> -0x1d50b, 0x1d50c,
> -0x1d515, 0x1d515,
> -0x1d51d, 0x1d51d,
> -0x1d53a, 0x1d53a,
> -0x1d53f, 0x1d53f,
> -0x1d545, 0x1d545,
> -0x1d547, 0x1d549,
> -0x1d551, 0x1d551,
> -0x1d6a6, 0x1d6a7,
> -0x1d7cc, 0x1d7cd,
> -0x1da8c, 0x1da9a,
> -0x1daa0, 0x1daa0,
> -0x1dab0, 0x1dfff,
> -0x1e007, 0x1e007,
> -0x1e019, 0x1e01a,
> -0x1e022, 0x1e022,
> -0x1e025, 0x1e025,
> -0x1e02b, 0x1e0ff,
> -0x1e12d, 0x1e12f,
> -0x1e13e, 0x1e13f,
> -0x1e14a, 0x1e14d,
> -0x1e150, 0x1e2bf,
> -0x1e2fa, 0x1e2fe,
> -0x1e300, 0x1e7ff,
> -0x1e8c5, 0x1e8c6,
> -0x1e8d7, 0x1e8ff,
> -0x1e94c, 0x1e94f,
> -0x1e95a, 0x1e95d,
> -0x1e960, 0x1ec70,
> -0x1ecb5, 0x1ed00,
> -0x1ed3e, 0x1edff,
> -0x1ee04, 0x1ee04,
> -0x1ee20, 0x1ee20,
> -0x1ee23, 0x1ee23,
> -0x1ee25, 0x1ee26,
> -0x1ee28, 0x1ee28,
> -0x1ee33, 0x1ee33,
> -0x1ee38, 0x1ee38,
> -0x1ee3a, 0x1ee3a,
> -0x1ee3c, 0x1ee41,
> -0x1ee43, 0x1ee46,
> -0x1ee48, 0x1ee48,
> -0x1ee4a, 0x1ee4a,
> -0x1ee4c, 0x1ee4c,
> -0x1ee50, 0x1ee50,
> -0x1ee53, 0x1ee53,
> -0x1ee55, 0x1ee56,
> -0x1ee58, 0x1ee58,
> -0x1ee5a, 0x1ee5a,
> -0x1ee5c, 0x1ee5c,
> -0x1ee5e, 0x1ee5e,
> -0x1ee60, 0x1ee60,
> -0x1ee63, 0x1ee63,
> -0x1ee65, 0x1ee66,
> -0x1ee6b, 0x1ee6b,
> -0x1ee73, 0x1ee73,
> -0x1ee78, 0x1ee78,
> -0x1ee7d, 0x1ee7d,
> -0x1ee7f, 0x1ee7f,
> -0x1ee8a, 0x1ee8a,
> -0x1ee9c, 0x1eea0,
> -0x1eea4, 0x1eea4,
> -0x1eeaa, 0x1eeaa,
> -0x1eebc, 0x1eeef,
> -0x1eef2, 0x1efff,
> -0x1f02c, 0x1f02f,
> -0x1f094, 0x1f09f,
> -0x1f0af, 0x1f0b0,
> -0x1f0c0, 0x1f0c0,
> -0x1f0d0, 0x1f0d0,
> -0x1f0f6, 0x1f0ff,
> -0x1f10d, 0x1f10f,
> -0x1f16d, 0x1f16f,
> -0x1f1ad, 0x1f1e5,
> -0x1f203, 0x1f20f,
> -0x1f23c, 0x1f23f,
> -0x1f249, 0x1f24f,
> -0x1f252, 0x1f25f,
> -0x1f266, 0x1f2ff,
> -0x1f6d6, 0x1f6df,
> -0x1f6ed, 0x1f6ef,
> -0x1f6fb, 0x1f6ff,
> -0x1f774, 0x1f77f,
> -0x1f7d9, 0x1f7df,
> -0x1f7ec, 0x1f7ff,
> -0x1f80c, 0x1f80f,
> -0x1f848, 0x1f84f,
> -0x1f85a, 0x1f85f,
> -0x1f888, 0x1f88f,
> -0x1f8ae, 0x1f8ff,
> -0x1f90c, 0x1f90c,
> -0x1f972, 0x1f972,
> -0x1f977, 0x1f979,
> -0x1f9a3, 0x1f9a4,
> -0x1f9ab, 0x1f9ad,
> -0x1f9cb, 0x1f9cc,
> -0x1fa54, 0x1fa5f,
> -0x1fa6e, 0x1fa6f,
> -0x1fa74, 0x1fa77,
> -0x1fa7b, 0x1fa7f,
> -0x1fa83, 0x1fa8f,
> -0x1fa96, 0x1ffff,
> -0x2a6d7, 0x2a6ff,
> -0x2b735, 0x2b73f,
> -0x2b81e, 0x2b81f,
> -0x2cea2, 0x2ceaf,
> -0x2ebe1, 0x2f7ff,
> -0x2fa1e, 0xe0000,
> -0xe0002, 0xe001f,
> -0xe0080, 0xe00ff,
> -0xe01f0, 0x10ffff,
> -}; /* END of CR_Unknown */
> -
> -/* PROPERTY: 'Uppercase': Derived Property */
> -#define CR_Uppercase CR_Upper
> -
> -/* PROPERTY: 'Vai': Script */
> -static const OnigCodePoint
> -CR_Vai[] = { 1,
> -0xa500, 0xa62b,
> -}; /* END of CR_Vai */
> -
> -/* PROPERTY: 'Variation_Selector': Binary Property */
> -static const OnigCodePoint
> -CR_Variation_Selector[] = { 3,
> -0x180b, 0x180d,
> -0xfe00, 0xfe0f,
> -0xe0100, 0xe01ef,
> -}; /* END of CR_Variation_Selector */
> -
> -/* PROPERTY: 'Wancho': Script */
> -static const OnigCodePoint
> -CR_Wancho[] = { 2,
> -0x1e2c0, 0x1e2f9,
> -0x1e2ff, 0x1e2ff,
> -}; /* END of CR_Wancho */
> -
> -/* PROPERTY: 'Warang_Citi': Script */
> -static const OnigCodePoint
> -CR_Warang_Citi[] = { 2,
> -0x118a0, 0x118f2,
> -0x118ff, 0x118ff,
> -}; /* END of CR_Warang_Citi */
> -
> -/* PROPERTY: 'White_Space': Binary Property */
> -#define CR_White_Space CR_Space
> -
> -/* PROPERTY: 'XID_Continue': Derived Property */
> -static const OnigCodePoint
> -CR_XID_Continue[] = { 720,
> -0x0030, 0x0039,
> -0x0041, 0x005a,
> -0x005f, 0x005f,
> -0x0061, 0x007a,
> -0x00aa, 0x00aa,
> -0x00b5, 0x00b5,
> -0x00b7, 0x00b7,
> -0x00ba, 0x00ba,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00f6,
> -0x00f8, 0x02c1,
> -0x02c6, 0x02d1,
> -0x02e0, 0x02e4,
> -0x02ec, 0x02ec,
> -0x02ee, 0x02ee,
> -0x0300, 0x0374,
> -0x0376, 0x0377,
> -0x037b, 0x037d,
> -0x037f, 0x037f,
> -0x0386, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x03f5,
> -0x03f7, 0x0481,
> -0x0483, 0x0487,
> -0x048a, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x0559,
> -0x0560, 0x0588,
> -0x0591, 0x05bd,
> -0x05bf, 0x05bf,
> -0x05c1, 0x05c2,
> -0x05c4, 0x05c5,
> -0x05c7, 0x05c7,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f2,
> -0x0610, 0x061a,
> -0x0620, 0x0669,
> -0x066e, 0x06d3,
> -0x06d5, 0x06dc,
> -0x06df, 0x06e8,
> -0x06ea, 0x06fc,
> -0x06ff, 0x06ff,
> -0x0710, 0x074a,
> -0x074d, 0x07b1,
> -0x07c0, 0x07f5,
> -0x07fa, 0x07fa,
> -0x07fd, 0x07fd,
> -0x0800, 0x082d,
> -0x0840, 0x085b,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x08d3, 0x08e1,
> -0x08e3, 0x0963,
> -0x0966, 0x096f,
> -0x0971, 0x0983,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bc, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09ce,
> -0x09d7, 0x09d7,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e3,
> -0x09e6, 0x09f1,
> -0x09fc, 0x09fc,
> -0x09fe, 0x09fe,
> -0x0a01, 0x0a03,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a3c, 0x0a3c,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4d,
> -0x0a51, 0x0a51,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a66, 0x0a75,
> -0x0a81, 0x0a83,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abc, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acd,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae3,
> -0x0ae6, 0x0aef,
> -0x0af9, 0x0aff,
> -0x0b01, 0x0b03,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3c, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4d,
> -0x0b56, 0x0b57,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b63,
> -0x0b66, 0x0b6f,
> -0x0b71, 0x0b71,
> -0x0b82, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcd,
> -0x0bd0, 0x0bd0,
> -0x0bd7, 0x0bd7,
> -0x0be6, 0x0bef,
> -0x0c00, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4d,
> -0x0c55, 0x0c56,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c63,
> -0x0c66, 0x0c6f,
> -0x0c80, 0x0c83,
> -0x0c85, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbc, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccd,
> -0x0cd5, 0x0cd6,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce3,
> -0x0ce6, 0x0cef,
> -0x0cf1, 0x0cf2,
> -0x0d00, 0x0d03,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4e,
> -0x0d54, 0x0d57,
> -0x0d5f, 0x0d63,
> -0x0d66, 0x0d6f,
> -0x0d7a, 0x0d7f,
> -0x0d82, 0x0d83,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0dca, 0x0dca,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0de6, 0x0def,
> -0x0df2, 0x0df3,
> -0x0e01, 0x0e3a,
> -0x0e40, 0x0e4e,
> -0x0e50, 0x0e59,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0ec8, 0x0ecd,
> -0x0ed0, 0x0ed9,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f00,
> -0x0f18, 0x0f19,
> -0x0f20, 0x0f29,
> -0x0f35, 0x0f35,
> -0x0f37, 0x0f37,
> -0x0f39, 0x0f39,
> -0x0f3e, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f71, 0x0f84,
> -0x0f86, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x0fc6, 0x0fc6,
> -0x1000, 0x1049,
> -0x1050, 0x109d,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x10fa,
> -0x10fc, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x135d, 0x135f,
> -0x1369, 0x1371,
> -0x1380, 0x138f,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1401, 0x166c,
> -0x166f, 0x167f,
> -0x1681, 0x169a,
> -0x16a0, 0x16ea,
> -0x16ee, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1714,
> -0x1720, 0x1734,
> -0x1740, 0x1753,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1772, 0x1773,
> -0x1780, 0x17d3,
> -0x17d7, 0x17d7,
> -0x17dc, 0x17dd,
> -0x17e0, 0x17e9,
> -0x180b, 0x180d,
> -0x1810, 0x1819,
> -0x1820, 0x1878,
> -0x1880, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1920, 0x192b,
> -0x1930, 0x193b,
> -0x1946, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x19d0, 0x19da,
> -0x1a00, 0x1a1b,
> -0x1a20, 0x1a5e,
> -0x1a60, 0x1a7c,
> -0x1a7f, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1aa7, 0x1aa7,
> -0x1ab0, 0x1abd,
> -0x1b00, 0x1b4b,
> -0x1b50, 0x1b59,
> -0x1b6b, 0x1b73,
> -0x1b80, 0x1bf3,
> -0x1c00, 0x1c37,
> -0x1c40, 0x1c49,
> -0x1c4d, 0x1c7d,
> -0x1c80, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1cd0, 0x1cd2,
> -0x1cd4, 0x1cfa,
> -0x1d00, 0x1df9,
> -0x1dfb, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fbc,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fcc,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fe0, 0x1fec,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffc,
> -0x203f, 0x2040,
> -0x2054, 0x2054,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x20d0, 0x20dc,
> -0x20e1, 0x20e1,
> -0x20e5, 0x20f0,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210a, 0x2113,
> -0x2115, 0x2115,
> -0x2118, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x2139,
> -0x213c, 0x213f,
> -0x2145, 0x2149,
> -0x214e, 0x214e,
> -0x2160, 0x2188,
> -0x2c00, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2ce4,
> -0x2ceb, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d6f,
> -0x2d7f, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x2de0, 0x2dff,
> -0x3005, 0x3007,
> -0x3021, 0x302f,
> -0x3031, 0x3035,
> -0x3038, 0x303c,
> -0x3041, 0x3096,
> -0x3099, 0x309a,
> -0x309d, 0x309f,
> -0x30a1, 0x30fa,
> -0x30fc, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x31a0, 0x31ba,
> -0x31f0, 0x31ff,
> -0x3400, 0x4db5,
> -0x4e00, 0x9fef,
> -0xa000, 0xa48c,
> -0xa4d0, 0xa4fd,
> -0xa500, 0xa60c,
> -0xa610, 0xa62b,
> -0xa640, 0xa66f,
> -0xa674, 0xa67d,
> -0xa67f, 0xa6f1,
> -0xa717, 0xa71f,
> -0xa722, 0xa788,
> -0xa78b, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa827,
> -0xa840, 0xa873,
> -0xa880, 0xa8c5,
> -0xa8d0, 0xa8d9,
> -0xa8e0, 0xa8f7,
> -0xa8fb, 0xa8fb,
> -0xa8fd, 0xa92d,
> -0xa930, 0xa953,
> -0xa960, 0xa97c,
> -0xa980, 0xa9c0,
> -0xa9cf, 0xa9d9,
> -0xa9e0, 0xa9fe,
> -0xaa00, 0xaa36,
> -0xaa40, 0xaa4d,
> -0xaa50, 0xaa59,
> -0xaa60, 0xaa76,
> -0xaa7a, 0xaac2,
> -0xaadb, 0xaadd,
> -0xaae0, 0xaaef,
> -0xaaf2, 0xaaf6,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab5a,
> -0xab5c, 0xab67,
> -0xab70, 0xabea,
> -0xabec, 0xabed,
> -0xabf0, 0xabf9,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xf900, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb28,
> -0xfb2a, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbb1,
> -0xfbd3, 0xfc5d,
> -0xfc64, 0xfd3d,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdf9,
> -0xfe00, 0xfe0f,
> -0xfe20, 0xfe2f,
> -0xfe33, 0xfe34,
> -0xfe4d, 0xfe4f,
> -0xfe71, 0xfe71,
> -0xfe73, 0xfe73,
> -0xfe77, 0xfe77,
> -0xfe79, 0xfe79,
> -0xfe7b, 0xfe7b,
> -0xfe7d, 0xfe7d,
> -0xfe7f, 0xfefc,
> -0xff10, 0xff19,
> -0xff21, 0xff3a,
> -0xff3f, 0xff3f,
> -0xff41, 0xff5a,
> -0xff66, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10140, 0x10174,
> -0x101fd, 0x101fd,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x102e0, 0x102e0,
> -0x10300, 0x1031f,
> -0x1032d, 0x1034a,
> -0x10350, 0x1037a,
> -0x10380, 0x1039d,
> -0x103a0, 0x103c3,
> -0x103c8, 0x103cf,
> -0x103d1, 0x103d5,
> -0x10400, 0x1049d,
> -0x104a0, 0x104a9,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10860, 0x10876,
> -0x10880, 0x1089e,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x10900, 0x10915,
> -0x10920, 0x10939,
> -0x10980, 0x109b7,
> -0x109be, 0x109bf,
> -0x10a00, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a38, 0x10a3a,
> -0x10a3f, 0x10a3f,
> -0x10a60, 0x10a7c,
> -0x10a80, 0x10a9c,
> -0x10ac0, 0x10ac7,
> -0x10ac9, 0x10ae6,
> -0x10b00, 0x10b35,
> -0x10b40, 0x10b55,
> -0x10b60, 0x10b72,
> -0x10b80, 0x10b91,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10d00, 0x10d27,
> -0x10d30, 0x10d39,
> -0x10f00, 0x10f1c,
> -0x10f27, 0x10f27,
> -0x10f30, 0x10f50,
> -0x10fe0, 0x10ff6,
> -0x11000, 0x11046,
> -0x11066, 0x1106f,
> -0x1107f, 0x110ba,
> -0x110d0, 0x110e8,
> -0x110f0, 0x110f9,
> -0x11100, 0x11134,
> -0x11136, 0x1113f,
> -0x11144, 0x11146,
> -0x11150, 0x11173,
> -0x11176, 0x11176,
> -0x11180, 0x111c4,
> -0x111c9, 0x111cc,
> -0x111d0, 0x111da,
> -0x111dc, 0x111dc,
> -0x11200, 0x11211,
> -0x11213, 0x11237,
> -0x1123e, 0x1123e,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a8,
> -0x112b0, 0x112ea,
> -0x112f0, 0x112f9,
> -0x11300, 0x11303,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133b, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134d,
> -0x11350, 0x11350,
> -0x11357, 0x11357,
> -0x1135d, 0x11363,
> -0x11366, 0x1136c,
> -0x11370, 0x11374,
> -0x11400, 0x1144a,
> -0x11450, 0x11459,
> -0x1145e, 0x1145f,
> -0x11480, 0x114c5,
> -0x114c7, 0x114c7,
> -0x114d0, 0x114d9,
> -0x11580, 0x115b5,
> -0x115b8, 0x115c0,
> -0x115d8, 0x115dd,
> -0x11600, 0x11640,
> -0x11644, 0x11644,
> -0x11650, 0x11659,
> -0x11680, 0x116b8,
> -0x116c0, 0x116c9,
> -0x11700, 0x1171a,
> -0x1171d, 0x1172b,
> -0x11730, 0x11739,
> -0x11800, 0x1183a,
> -0x118a0, 0x118e9,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d7,
> -0x119da, 0x119e1,
> -0x119e3, 0x119e4,
> -0x11a00, 0x11a3e,
> -0x11a47, 0x11a47,
> -0x11a50, 0x11a99,
> -0x11a9d, 0x11a9d,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c36,
> -0x11c38, 0x11c40,
> -0x11c50, 0x11c59,
> -0x11c72, 0x11c8f,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d47,
> -0x11d50, 0x11d59,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d98,
> -0x11da0, 0x11da9,
> -0x11ee0, 0x11ef6,
> -0x12000, 0x12399,
> -0x12400, 0x1246e,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16a60, 0x16a69,
> -0x16ad0, 0x16aed,
> -0x16af0, 0x16af4,
> -0x16b00, 0x16b36,
> -0x16b40, 0x16b43,
> -0x16b50, 0x16b59,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e7f,
> -0x16f00, 0x16f4a,
> -0x16f4f, 0x16f87,
> -0x16f8f, 0x16f9f,
> -0x16fe0, 0x16fe1,
> -0x16fe3, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1bc9d, 0x1bc9e,
> -0x1d165, 0x1d169,
> -0x1d16d, 0x1d172,
> -0x1d17b, 0x1d182,
> -0x1d185, 0x1d18b,
> -0x1d1aa, 0x1d1ad,
> -0x1d242, 0x1d244,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d6c0,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6fa,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d734,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d76e,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d7a8,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7cb,
> -0x1d7ce, 0x1d7ff,
> -0x1da00, 0x1da36,
> -0x1da3b, 0x1da6c,
> -0x1da75, 0x1da75,
> -0x1da84, 0x1da84,
> -0x1da9b, 0x1da9f,
> -0x1daa1, 0x1daaf,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e100, 0x1e12c,
> -0x1e130, 0x1e13d,
> -0x1e140, 0x1e149,
> -0x1e14e, 0x1e14e,
> -0x1e2c0, 0x1e2f9,
> -0x1e800, 0x1e8c4,
> -0x1e8d0, 0x1e8d6,
> -0x1e900, 0x1e94b,
> -0x1e950, 0x1e959,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -0xe0100, 0xe01ef,
> -}; /* END of CR_XID_Continue */
> -
> -/* PROPERTY: 'XID_Start': Derived Property */
> -static const OnigCodePoint
> -CR_XID_Start[] = { 616,
> -0x0041, 0x005a,
> -0x0061, 0x007a,
> -0x00aa, 0x00aa,
> -0x00b5, 0x00b5,
> -0x00ba, 0x00ba,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00f6,
> -0x00f8, 0x02c1,
> -0x02c6, 0x02d1,
> -0x02e0, 0x02e4,
> -0x02ec, 0x02ec,
> -0x02ee, 0x02ee,
> -0x0370, 0x0374,
> -0x0376, 0x0377,
> -0x037b, 0x037d,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x03f5,
> -0x03f7, 0x0481,
> -0x048a, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x0559,
> -0x0560, 0x0588,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f2,
> -0x0620, 0x064a,
> -0x066e, 0x066f,
> -0x0671, 0x06d3,
> -0x06d5, 0x06d5,
> -0x06e5, 0x06e6,
> -0x06ee, 0x06ef,
> -0x06fa, 0x06fc,
> -0x06ff, 0x06ff,
> -0x0710, 0x0710,
> -0x0712, 0x072f,
> -0x074d, 0x07a5,
> -0x07b1, 0x07b1,
> -0x07ca, 0x07ea,
> -0x07f4, 0x07f5,
> -0x07fa, 0x07fa,
> -0x0800, 0x0815,
> -0x081a, 0x081a,
> -0x0824, 0x0824,
> -0x0828, 0x0828,
> -0x0840, 0x0858,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x0904, 0x0939,
> -0x093d, 0x093d,
> -0x0950, 0x0950,
> -0x0958, 0x0961,
> -0x0971, 0x0980,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bd, 0x09bd,
> -0x09ce, 0x09ce,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e1,
> -0x09f0, 0x09f1,
> -0x09fc, 0x09fc,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a72, 0x0a74,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abd, 0x0abd,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae1,
> -0x0af9, 0x0af9,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3d, 0x0b3d,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b61,
> -0x0b71, 0x0b71,
> -0x0b83, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bd0, 0x0bd0,
> -0x0c05, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c3d,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c61,
> -0x0c80, 0x0c80,
> -0x0c85, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbd, 0x0cbd,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce1,
> -0x0cf1, 0x0cf2,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d3a,
> -0x0d3d, 0x0d3d,
> -0x0d4e, 0x0d4e,
> -0x0d54, 0x0d56,
> -0x0d5f, 0x0d61,
> -0x0d7a, 0x0d7f,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0e01, 0x0e30,
> -0x0e32, 0x0e32,
> -0x0e40, 0x0e46,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0eb0,
> -0x0eb2, 0x0eb2,
> -0x0ebd, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f00,
> -0x0f40, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f88, 0x0f8c,
> -0x1000, 0x102a,
> -0x103f, 0x103f,
> -0x1050, 0x1055,
> -0x105a, 0x105d,
> -0x1061, 0x1061,
> -0x1065, 0x1066,
> -0x106e, 0x1070,
> -0x1075, 0x1081,
> -0x108e, 0x108e,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x10fa,
> -0x10fc, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x1380, 0x138f,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1401, 0x166c,
> -0x166f, 0x167f,
> -0x1681, 0x169a,
> -0x16a0, 0x16ea,
> -0x16ee, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1711,
> -0x1720, 0x1731,
> -0x1740, 0x1751,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1780, 0x17b3,
> -0x17d7, 0x17d7,
> -0x17dc, 0x17dc,
> -0x1820, 0x1878,
> -0x1880, 0x18a8,
> -0x18aa, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1950, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x1a00, 0x1a16,
> -0x1a20, 0x1a54,
> -0x1aa7, 0x1aa7,
> -0x1b05, 0x1b33,
> -0x1b45, 0x1b4b,
> -0x1b83, 0x1ba0,
> -0x1bae, 0x1baf,
> -0x1bba, 0x1be5,
> -0x1c00, 0x1c23,
> -0x1c4d, 0x1c4f,
> -0x1c5a, 0x1c7d,
> -0x1c80, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1ce9, 0x1cec,
> -0x1cee, 0x1cf3,
> -0x1cf5, 0x1cf6,
> -0x1cfa, 0x1cfa,
> -0x1d00, 0x1dbf,
> -0x1e00, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fbc,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fcc,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fe0, 0x1fec,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffc,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210a, 0x2113,
> -0x2115, 0x2115,
> -0x2118, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x2139,
> -0x213c, 0x213f,
> -0x2145, 0x2149,
> -0x214e, 0x214e,
> -0x2160, 0x2188,
> -0x2c00, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2ce4,
> -0x2ceb, 0x2cee,
> -0x2cf2, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d6f,
> -0x2d80, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x3005, 0x3007,
> -0x3021, 0x3029,
> -0x3031, 0x3035,
> -0x3038, 0x303c,
> -0x3041, 0x3096,
> -0x309d, 0x309f,
> -0x30a1, 0x30fa,
> -0x30fc, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x31a0, 0x31ba,
> -0x31f0, 0x31ff,
> -0x3400, 0x4db5,
> -0x4e00, 0x9fef,
> -0xa000, 0xa48c,
> -0xa4d0, 0xa4fd,
> -0xa500, 0xa60c,
> -0xa610, 0xa61f,
> -0xa62a, 0xa62b,
> -0xa640, 0xa66e,
> -0xa67f, 0xa69d,
> -0xa6a0, 0xa6ef,
> -0xa717, 0xa71f,
> -0xa722, 0xa788,
> -0xa78b, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa801,
> -0xa803, 0xa805,
> -0xa807, 0xa80a,
> -0xa80c, 0xa822,
> -0xa840, 0xa873,
> -0xa882, 0xa8b3,
> -0xa8f2, 0xa8f7,
> -0xa8fb, 0xa8fb,
> -0xa8fd, 0xa8fe,
> -0xa90a, 0xa925,
> -0xa930, 0xa946,
> -0xa960, 0xa97c,
> -0xa984, 0xa9b2,
> -0xa9cf, 0xa9cf,
> -0xa9e0, 0xa9e4,
> -0xa9e6, 0xa9ef,
> -0xa9fa, 0xa9fe,
> -0xaa00, 0xaa28,
> -0xaa40, 0xaa42,
> -0xaa44, 0xaa4b,
> -0xaa60, 0xaa76,
> -0xaa7a, 0xaa7a,
> -0xaa7e, 0xaaaf,
> -0xaab1, 0xaab1,
> -0xaab5, 0xaab6,
> -0xaab9, 0xaabd,
> -0xaac0, 0xaac0,
> -0xaac2, 0xaac2,
> -0xaadb, 0xaadd,
> -0xaae0, 0xaaea,
> -0xaaf2, 0xaaf4,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab5a,
> -0xab5c, 0xab67,
> -0xab70, 0xabe2,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xf900, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb1d,
> -0xfb1f, 0xfb28,
> -0xfb2a, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbb1,
> -0xfbd3, 0xfc5d,
> -0xfc64, 0xfd3d,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdf9,
> -0xfe71, 0xfe71,
> -0xfe73, 0xfe73,
> -0xfe77, 0xfe77,
> -0xfe79, 0xfe79,
> -0xfe7b, 0xfe7b,
> -0xfe7d, 0xfe7d,
> -0xfe7f, 0xfefc,
> -0xff21, 0xff3a,
> -0xff41, 0xff5a,
> -0xff66, 0xff9d,
> -0xffa0, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10140, 0x10174,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x10300, 0x1031f,
> -0x1032d, 0x1034a,
> -0x10350, 0x10375,
> -0x10380, 0x1039d,
> -0x103a0, 0x103c3,
> -0x103c8, 0x103cf,
> -0x103d1, 0x103d5,
> -0x10400, 0x1049d,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10860, 0x10876,
> -0x10880, 0x1089e,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x10900, 0x10915,
> -0x10920, 0x10939,
> -0x10980, 0x109b7,
> -0x109be, 0x109bf,
> -0x10a00, 0x10a00,
> -0x10a10, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a60, 0x10a7c,
> -0x10a80, 0x10a9c,
> -0x10ac0, 0x10ac7,
> -0x10ac9, 0x10ae4,
> -0x10b00, 0x10b35,
> -0x10b40, 0x10b55,
> -0x10b60, 0x10b72,
> -0x10b80, 0x10b91,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10d00, 0x10d23,
> -0x10f00, 0x10f1c,
> -0x10f27, 0x10f27,
> -0x10f30, 0x10f45,
> -0x10fe0, 0x10ff6,
> -0x11003, 0x11037,
> -0x11083, 0x110af,
> -0x110d0, 0x110e8,
> -0x11103, 0x11126,
> -0x11144, 0x11144,
> -0x11150, 0x11172,
> -0x11176, 0x11176,
> -0x11183, 0x111b2,
> -0x111c1, 0x111c4,
> -0x111da, 0x111da,
> -0x111dc, 0x111dc,
> -0x11200, 0x11211,
> -0x11213, 0x1122b,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a8,
> -0x112b0, 0x112de,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133d, 0x1133d,
> -0x11350, 0x11350,
> -0x1135d, 0x11361,
> -0x11400, 0x11434,
> -0x11447, 0x1144a,
> -0x1145f, 0x1145f,
> -0x11480, 0x114af,
> -0x114c4, 0x114c5,
> -0x114c7, 0x114c7,
> -0x11580, 0x115ae,
> -0x115d8, 0x115db,
> -0x11600, 0x1162f,
> -0x11644, 0x11644,
> -0x11680, 0x116aa,
> -0x116b8, 0x116b8,
> -0x11700, 0x1171a,
> -0x11800, 0x1182b,
> -0x118a0, 0x118df,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d0,
> -0x119e1, 0x119e1,
> -0x119e3, 0x119e3,
> -0x11a00, 0x11a00,
> -0x11a0b, 0x11a32,
> -0x11a3a, 0x11a3a,
> -0x11a50, 0x11a50,
> -0x11a5c, 0x11a89,
> -0x11a9d, 0x11a9d,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c2e,
> -0x11c40, 0x11c40,
> -0x11c72, 0x11c8f,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d30,
> -0x11d46, 0x11d46,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d89,
> -0x11d98, 0x11d98,
> -0x11ee0, 0x11ef2,
> -0x12000, 0x12399,
> -0x12400, 0x1246e,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16ad0, 0x16aed,
> -0x16b00, 0x16b2f,
> -0x16b40, 0x16b43,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e7f,
> -0x16f00, 0x16f4a,
> -0x16f50, 0x16f50,
> -0x16f93, 0x16f9f,
> -0x16fe0, 0x16fe1,
> -0x16fe3, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d6c0,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6fa,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d734,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d76e,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d7a8,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7cb,
> -0x1e100, 0x1e12c,
> -0x1e137, 0x1e13d,
> -0x1e14e, 0x1e14e,
> -0x1e2c0, 0x1e2eb,
> -0x1e800, 0x1e8c4,
> -0x1e900, 0x1e943,
> -0x1e94b, 0x1e94b,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -}; /* END of CR_XID_Start */
> -
> -/* PROPERTY: 'Yi': Script */
> -static const OnigCodePoint
> -CR_Yi[] = { 2,
> -0xa000, 0xa48c,
> -0xa490, 0xa4c6,
> -}; /* END of CR_Yi */
> -
> -/* PROPERTY: 'Z': Major Category */
> -static const OnigCodePoint
> -CR_Z[] = { 8,
> -0x0020, 0x0020,
> -0x00a0, 0x00a0,
> -0x1680, 0x1680,
> -0x2000, 0x200a,
> -0x2028, 0x2029,
> -0x202f, 0x202f,
> -0x205f, 0x205f,
> -0x3000, 0x3000,
> -}; /* END of CR_Z */
> -
> -/* PROPERTY: 'Zanabazar_Square': Script */
> -static const OnigCodePoint
> -CR_Zanabazar_Square[] = { 1,
> -0x11a00, 0x11a47,
> -}; /* END of CR_Zanabazar_Square */
> -
> -/* PROPERTY: 'Zl': General Category */
> -static const OnigCodePoint
> -CR_Zl[] = { 1,
> -0x2028, 0x2028,
> -}; /* END of CR_Zl */
> -
> -/* PROPERTY: 'Zp': General Category */
> -static const OnigCodePoint
> -CR_Zp[] = { 1,
> -0x2029, 0x2029,
> -}; /* END of CR_Zp */
> -
> -/* PROPERTY: 'Zs': General Category */
> -static const OnigCodePoint
> -CR_Zs[] = { 7,
> -0x0020, 0x0020,
> -0x00a0, 0x00a0,
> -0x1680, 0x1680,
> -0x2000, 0x200a,
> -0x202f, 0x202f,
> -0x205f, 0x205f,
> -0x3000, 0x3000,
> -}; /* END of CR_Zs */
> -
> -/* PROPERTY: 'In_Basic_Latin': Block */
> -#define CR_In_Basic_Latin CR_ASCII
> -
> -/* PROPERTY: 'In_Latin_1_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Latin_1_Supplement[] = { 1,
> -0x0080, 0x00ff,
> -}; /* END of CR_In_Latin_1_Supplement */
> -
> -/* PROPERTY: 'In_Latin_Extended_A': Block */
> -static const OnigCodePoint
> -CR_In_Latin_Extended_A[] = { 1,
> -0x0100, 0x017f,
> -}; /* END of CR_In_Latin_Extended_A */
> -
> -/* PROPERTY: 'In_Latin_Extended_B': Block */
> -static const OnigCodePoint
> -CR_In_Latin_Extended_B[] = { 1,
> -0x0180, 0x024f,
> -}; /* END of CR_In_Latin_Extended_B */
> -
> -/* PROPERTY: 'In_IPA_Extensions': Block */
> -static const OnigCodePoint
> -CR_In_IPA_Extensions[] = { 1,
> -0x0250, 0x02af,
> -}; /* END of CR_In_IPA_Extensions */
> -
> -/* PROPERTY: 'In_Spacing_Modifier_Letters': Block */
> -static const OnigCodePoint
> -CR_In_Spacing_Modifier_Letters[] = { 1,
> -0x02b0, 0x02ff,
> -}; /* END of CR_In_Spacing_Modifier_Letters */
> -
> -/* PROPERTY: 'In_Combining_Diacritical_Marks': Block */
> -static const OnigCodePoint
> -CR_In_Combining_Diacritical_Marks[] = { 1,
> -0x0300, 0x036f,
> -}; /* END of CR_In_Combining_Diacritical_Marks */
> -
> -/* PROPERTY: 'In_Greek_and_Coptic': Block */
> -static const OnigCodePoint
> -CR_In_Greek_and_Coptic[] = { 1,
> -0x0370, 0x03ff,
> -}; /* END of CR_In_Greek_and_Coptic */
> -
> -/* PROPERTY: 'In_Cyrillic': Block */
> -static const OnigCodePoint
> -CR_In_Cyrillic[] = { 1,
> -0x0400, 0x04ff,
> -}; /* END of CR_In_Cyrillic */
> -
> -/* PROPERTY: 'In_Cyrillic_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Cyrillic_Supplement[] = { 1,
> -0x0500, 0x052f,
> -}; /* END of CR_In_Cyrillic_Supplement */
> -
> -/* PROPERTY: 'In_Armenian': Block */
> -static const OnigCodePoint
> -CR_In_Armenian[] = { 1,
> -0x0530, 0x058f,
> -}; /* END of CR_In_Armenian */
> -
> -/* PROPERTY: 'In_Hebrew': Block */
> -static const OnigCodePoint
> -CR_In_Hebrew[] = { 1,
> -0x0590, 0x05ff,
> -}; /* END of CR_In_Hebrew */
> -
> -/* PROPERTY: 'In_Arabic': Block */
> -static const OnigCodePoint
> -CR_In_Arabic[] = { 1,
> -0x0600, 0x06ff,
> -}; /* END of CR_In_Arabic */
> -
> -/* PROPERTY: 'In_Syriac': Block */
> -static const OnigCodePoint
> -CR_In_Syriac[] = { 1,
> -0x0700, 0x074f,
> -}; /* END of CR_In_Syriac */
> -
> -/* PROPERTY: 'In_Arabic_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Arabic_Supplement[] = { 1,
> -0x0750, 0x077f,
> -}; /* END of CR_In_Arabic_Supplement */
> -
> -/* PROPERTY: 'In_Thaana': Block */
> -static const OnigCodePoint
> -CR_In_Thaana[] = { 1,
> -0x0780, 0x07bf,
> -}; /* END of CR_In_Thaana */
> -
> -/* PROPERTY: 'In_NKo': Block */
> -static const OnigCodePoint
> -CR_In_NKo[] = { 1,
> -0x07c0, 0x07ff,
> -}; /* END of CR_In_NKo */
> -
> -/* PROPERTY: 'In_Samaritan': Block */
> -static const OnigCodePoint
> -CR_In_Samaritan[] = { 1,
> -0x0800, 0x083f,
> -}; /* END of CR_In_Samaritan */
> -
> -/* PROPERTY: 'In_Mandaic': Block */
> -static const OnigCodePoint
> -CR_In_Mandaic[] = { 1,
> -0x0840, 0x085f,
> -}; /* END of CR_In_Mandaic */
> -
> -/* PROPERTY: 'In_Syriac_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Syriac_Supplement[] = { 1,
> -0x0860, 0x086f,
> -}; /* END of CR_In_Syriac_Supplement */
> -
> -/* PROPERTY: 'In_Arabic_Extended_A': Block */
> -static const OnigCodePoint
> -CR_In_Arabic_Extended_A[] = { 1,
> -0x08a0, 0x08ff,
> -}; /* END of CR_In_Arabic_Extended_A */
> -
> -/* PROPERTY: 'In_Devanagari': Block */
> -static const OnigCodePoint
> -CR_In_Devanagari[] = { 1,
> -0x0900, 0x097f,
> -}; /* END of CR_In_Devanagari */
> -
> -/* PROPERTY: 'In_Bengali': Block */
> -static const OnigCodePoint
> -CR_In_Bengali[] = { 1,
> -0x0980, 0x09ff,
> -}; /* END of CR_In_Bengali */
> -
> -/* PROPERTY: 'In_Gurmukhi': Block */
> -static const OnigCodePoint
> -CR_In_Gurmukhi[] = { 1,
> -0x0a00, 0x0a7f,
> -}; /* END of CR_In_Gurmukhi */
> -
> -/* PROPERTY: 'In_Gujarati': Block */
> -static const OnigCodePoint
> -CR_In_Gujarati[] = { 1,
> -0x0a80, 0x0aff,
> -}; /* END of CR_In_Gujarati */
> -
> -/* PROPERTY: 'In_Oriya': Block */
> -static const OnigCodePoint
> -CR_In_Oriya[] = { 1,
> -0x0b00, 0x0b7f,
> -}; /* END of CR_In_Oriya */
> -
> -/* PROPERTY: 'In_Tamil': Block */
> -static const OnigCodePoint
> -CR_In_Tamil[] = { 1,
> -0x0b80, 0x0bff,
> -}; /* END of CR_In_Tamil */
> -
> -/* PROPERTY: 'In_Telugu': Block */
> -static const OnigCodePoint
> -CR_In_Telugu[] = { 1,
> -0x0c00, 0x0c7f,
> -}; /* END of CR_In_Telugu */
> -
> -/* PROPERTY: 'In_Kannada': Block */
> -static const OnigCodePoint
> -CR_In_Kannada[] = { 1,
> -0x0c80, 0x0cff,
> -}; /* END of CR_In_Kannada */
> -
> -/* PROPERTY: 'In_Malayalam': Block */
> -static const OnigCodePoint
> -CR_In_Malayalam[] = { 1,
> -0x0d00, 0x0d7f,
> -}; /* END of CR_In_Malayalam */
> -
> -/* PROPERTY: 'In_Sinhala': Block */
> -static const OnigCodePoint
> -CR_In_Sinhala[] = { 1,
> -0x0d80, 0x0dff,
> -}; /* END of CR_In_Sinhala */
> -
> -/* PROPERTY: 'In_Thai': Block */
> -static const OnigCodePoint
> -CR_In_Thai[] = { 1,
> -0x0e00, 0x0e7f,
> -}; /* END of CR_In_Thai */
> -
> -/* PROPERTY: 'In_Lao': Block */
> -static const OnigCodePoint
> -CR_In_Lao[] = { 1,
> -0x0e80, 0x0eff,
> -}; /* END of CR_In_Lao */
> -
> -/* PROPERTY: 'In_Tibetan': Block */
> -static const OnigCodePoint
> -CR_In_Tibetan[] = { 1,
> -0x0f00, 0x0fff,
> -}; /* END of CR_In_Tibetan */
> -
> -/* PROPERTY: 'In_Myanmar': Block */
> -static const OnigCodePoint
> -CR_In_Myanmar[] = { 1,
> -0x1000, 0x109f,
> -}; /* END of CR_In_Myanmar */
> -
> -/* PROPERTY: 'In_Georgian': Block */
> -static const OnigCodePoint
> -CR_In_Georgian[] = { 1,
> -0x10a0, 0x10ff,
> -}; /* END of CR_In_Georgian */
> -
> -/* PROPERTY: 'In_Hangul_Jamo': Block */
> -static const OnigCodePoint
> -CR_In_Hangul_Jamo[] = { 1,
> -0x1100, 0x11ff,
> -}; /* END of CR_In_Hangul_Jamo */
> -
> -/* PROPERTY: 'In_Ethiopic': Block */
> -static const OnigCodePoint
> -CR_In_Ethiopic[] = { 1,
> -0x1200, 0x137f,
> -}; /* END of CR_In_Ethiopic */
> -
> -/* PROPERTY: 'In_Ethiopic_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Ethiopic_Supplement[] = { 1,
> -0x1380, 0x139f,
> -}; /* END of CR_In_Ethiopic_Supplement */
> -
> -/* PROPERTY: 'In_Cherokee': Block */
> -static const OnigCodePoint
> -CR_In_Cherokee[] = { 1,
> -0x13a0, 0x13ff,
> -}; /* END of CR_In_Cherokee */
> -
> -/* PROPERTY: 'In_Unified_Canadian_Aboriginal_Syllabics': Block */
> -static const OnigCodePoint
> -CR_In_Unified_Canadian_Aboriginal_Syllabics[] = { 1,
> -0x1400, 0x167f,
> -}; /* END of CR_In_Unified_Canadian_Aboriginal_Syllabics */
> -
> -/* PROPERTY: 'In_Ogham': Block */
> -static const OnigCodePoint
> -CR_In_Ogham[] = { 1,
> -0x1680, 0x169f,
> -}; /* END of CR_In_Ogham */
> -
> -/* PROPERTY: 'In_Runic': Block */
> -static const OnigCodePoint
> -CR_In_Runic[] = { 1,
> -0x16a0, 0x16ff,
> -}; /* END of CR_In_Runic */
> -
> -/* PROPERTY: 'In_Tagalog': Block */
> -static const OnigCodePoint
> -CR_In_Tagalog[] = { 1,
> -0x1700, 0x171f,
> -}; /* END of CR_In_Tagalog */
> -
> -/* PROPERTY: 'In_Hanunoo': Block */
> -static const OnigCodePoint
> -CR_In_Hanunoo[] = { 1,
> -0x1720, 0x173f,
> -}; /* END of CR_In_Hanunoo */
> -
> -/* PROPERTY: 'In_Buhid': Block */
> -static const OnigCodePoint
> -CR_In_Buhid[] = { 1,
> -0x1740, 0x175f,
> -}; /* END of CR_In_Buhid */
> -
> -/* PROPERTY: 'In_Tagbanwa': Block */
> -static const OnigCodePoint
> -CR_In_Tagbanwa[] = { 1,
> -0x1760, 0x177f,
> -}; /* END of CR_In_Tagbanwa */
> -
> -/* PROPERTY: 'In_Khmer': Block */
> -static const OnigCodePoint
> -CR_In_Khmer[] = { 1,
> -0x1780, 0x17ff,
> -}; /* END of CR_In_Khmer */
> -
> -/* PROPERTY: 'In_Mongolian': Block */
> -static const OnigCodePoint
> -CR_In_Mongolian[] = { 1,
> -0x1800, 0x18af,
> -}; /* END of CR_In_Mongolian */
> -
> -/* PROPERTY: 'In_Unified_Canadian_Aboriginal_Syllabics_Extended': Block
> */
> -static const OnigCodePoint
> -CR_In_Unified_Canadian_Aboriginal_Syllabics_Extended[] = { 1,
> -0x18b0, 0x18ff,
> -}; /* END of CR_In_Unified_Canadian_Aboriginal_Syllabics_Extended */
> -
> -/* PROPERTY: 'In_Limbu': Block */
> -static const OnigCodePoint
> -CR_In_Limbu[] = { 1,
> -0x1900, 0x194f,
> -}; /* END of CR_In_Limbu */
> -
> -/* PROPERTY: 'In_Tai_Le': Block */
> -static const OnigCodePoint
> -CR_In_Tai_Le[] = { 1,
> -0x1950, 0x197f,
> -}; /* END of CR_In_Tai_Le */
> -
> -/* PROPERTY: 'In_New_Tai_Lue': Block */
> -static const OnigCodePoint
> -CR_In_New_Tai_Lue[] = { 1,
> -0x1980, 0x19df,
> -}; /* END of CR_In_New_Tai_Lue */
> -
> -/* PROPERTY: 'In_Khmer_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Khmer_Symbols[] = { 1,
> -0x19e0, 0x19ff,
> -}; /* END of CR_In_Khmer_Symbols */
> -
> -/* PROPERTY: 'In_Buginese': Block */
> -static const OnigCodePoint
> -CR_In_Buginese[] = { 1,
> -0x1a00, 0x1a1f,
> -}; /* END of CR_In_Buginese */
> -
> -/* PROPERTY: 'In_Tai_Tham': Block */
> -static const OnigCodePoint
> -CR_In_Tai_Tham[] = { 1,
> -0x1a20, 0x1aaf,
> -}; /* END of CR_In_Tai_Tham */
> -
> -/* PROPERTY: 'In_Combining_Diacritical_Marks_Extended': Block */
> -static const OnigCodePoint
> -CR_In_Combining_Diacritical_Marks_Extended[] = { 1,
> -0x1ab0, 0x1aff,
> -}; /* END of CR_In_Combining_Diacritical_Marks_Extended */
> -
> -/* PROPERTY: 'In_Balinese': Block */
> -static const OnigCodePoint
> -CR_In_Balinese[] = { 1,
> -0x1b00, 0x1b7f,
> -}; /* END of CR_In_Balinese */
> -
> -/* PROPERTY: 'In_Sundanese': Block */
> -static const OnigCodePoint
> -CR_In_Sundanese[] = { 1,
> -0x1b80, 0x1bbf,
> -}; /* END of CR_In_Sundanese */
> -
> -/* PROPERTY: 'In_Batak': Block */
> -static const OnigCodePoint
> -CR_In_Batak[] = { 1,
> -0x1bc0, 0x1bff,
> -}; /* END of CR_In_Batak */
> -
> -/* PROPERTY: 'In_Lepcha': Block */
> -static const OnigCodePoint
> -CR_In_Lepcha[] = { 1,
> -0x1c00, 0x1c4f,
> -}; /* END of CR_In_Lepcha */
> -
> -/* PROPERTY: 'In_Ol_Chiki': Block */
> -#define CR_In_Ol_Chiki CR_Ol_Chiki
> -
> -/* PROPERTY: 'In_Cyrillic_Extended_C': Block */
> -static const OnigCodePoint
> -CR_In_Cyrillic_Extended_C[] = { 1,
> -0x1c80, 0x1c8f,
> -}; /* END of CR_In_Cyrillic_Extended_C */
> -
> -/* PROPERTY: 'In_Georgian_Extended': Block */
> -static const OnigCodePoint
> -CR_In_Georgian_Extended[] = { 1,
> -0x1c90, 0x1cbf,
> -}; /* END of CR_In_Georgian_Extended */
> -
> -/* PROPERTY: 'In_Sundanese_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Sundanese_Supplement[] = { 1,
> -0x1cc0, 0x1ccf,
> -}; /* END of CR_In_Sundanese_Supplement */
> -
> -/* PROPERTY: 'In_Vedic_Extensions': Block */
> -static const OnigCodePoint
> -CR_In_Vedic_Extensions[] = { 1,
> -0x1cd0, 0x1cff,
> -}; /* END of CR_In_Vedic_Extensions */
> -
> -/* PROPERTY: 'In_Phonetic_Extensions': Block */
> -static const OnigCodePoint
> -CR_In_Phonetic_Extensions[] = { 1,
> -0x1d00, 0x1d7f,
> -}; /* END of CR_In_Phonetic_Extensions */
> -
> -/* PROPERTY: 'In_Phonetic_Extensions_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Phonetic_Extensions_Supplement[] = { 1,
> -0x1d80, 0x1dbf,
> -}; /* END of CR_In_Phonetic_Extensions_Supplement */
> -
> -/* PROPERTY: 'In_Combining_Diacritical_Marks_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Combining_Diacritical_Marks_Supplement[] = { 1,
> -0x1dc0, 0x1dff,
> -}; /* END of CR_In_Combining_Diacritical_Marks_Supplement */
> -
> -/* PROPERTY: 'In_Latin_Extended_Additional': Block */
> -static const OnigCodePoint
> -CR_In_Latin_Extended_Additional[] = { 1,
> -0x1e00, 0x1eff,
> -}; /* END of CR_In_Latin_Extended_Additional */
> -
> -/* PROPERTY: 'In_Greek_Extended': Block */
> -static const OnigCodePoint
> -CR_In_Greek_Extended[] = { 1,
> -0x1f00, 0x1fff,
> -}; /* END of CR_In_Greek_Extended */
> -
> -/* PROPERTY: 'In_General_Punctuation': Block */
> -static const OnigCodePoint
> -CR_In_General_Punctuation[] = { 1,
> -0x2000, 0x206f,
> -}; /* END of CR_In_General_Punctuation */
> -
> -/* PROPERTY: 'In_Superscripts_and_Subscripts': Block */
> -static const OnigCodePoint
> -CR_In_Superscripts_and_Subscripts[] = { 1,
> -0x2070, 0x209f,
> -}; /* END of CR_In_Superscripts_and_Subscripts */
> -
> -/* PROPERTY: 'In_Currency_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Currency_Symbols[] = { 1,
> -0x20a0, 0x20cf,
> -}; /* END of CR_In_Currency_Symbols */
> -
> -/* PROPERTY: 'In_Combining_Diacritical_Marks_for_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Combining_Diacritical_Marks_for_Symbols[] = { 1,
> -0x20d0, 0x20ff,
> -}; /* END of CR_In_Combining_Diacritical_Marks_for_Symbols */
> -
> -/* PROPERTY: 'In_Letterlike_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Letterlike_Symbols[] = { 1,
> -0x2100, 0x214f,
> -}; /* END of CR_In_Letterlike_Symbols */
> -
> -/* PROPERTY: 'In_Number_Forms': Block */
> -static const OnigCodePoint
> -CR_In_Number_Forms[] = { 1,
> -0x2150, 0x218f,
> -}; /* END of CR_In_Number_Forms */
> -
> -/* PROPERTY: 'In_Arrows': Block */
> -static const OnigCodePoint
> -CR_In_Arrows[] = { 1,
> -0x2190, 0x21ff,
> -}; /* END of CR_In_Arrows */
> -
> -/* PROPERTY: 'In_Mathematical_Operators': Block */
> -static const OnigCodePoint
> -CR_In_Mathematical_Operators[] = { 1,
> -0x2200, 0x22ff,
> -}; /* END of CR_In_Mathematical_Operators */
> -
> -/* PROPERTY: 'In_Miscellaneous_Technical': Block */
> -static const OnigCodePoint
> -CR_In_Miscellaneous_Technical[] = { 1,
> -0x2300, 0x23ff,
> -}; /* END of CR_In_Miscellaneous_Technical */
> -
> -/* PROPERTY: 'In_Control_Pictures': Block */
> -static const OnigCodePoint
> -CR_In_Control_Pictures[] = { 1,
> -0x2400, 0x243f,
> -}; /* END of CR_In_Control_Pictures */
> -
> -/* PROPERTY: 'In_Optical_Character_Recognition': Block */
> -static const OnigCodePoint
> -CR_In_Optical_Character_Recognition[] = { 1,
> -0x2440, 0x245f,
> -}; /* END of CR_In_Optical_Character_Recognition */
> -
> -/* PROPERTY: 'In_Enclosed_Alphanumerics': Block */
> -static const OnigCodePoint
> -CR_In_Enclosed_Alphanumerics[] = { 1,
> -0x2460, 0x24ff,
> -}; /* END of CR_In_Enclosed_Alphanumerics */
> -
> -/* PROPERTY: 'In_Box_Drawing': Block */
> -static const OnigCodePoint
> -CR_In_Box_Drawing[] = { 1,
> -0x2500, 0x257f,
> -}; /* END of CR_In_Box_Drawing */
> -
> -/* PROPERTY: 'In_Block_Elements': Block */
> -static const OnigCodePoint
> -CR_In_Block_Elements[] = { 1,
> -0x2580, 0x259f,
> -}; /* END of CR_In_Block_Elements */
> -
> -/* PROPERTY: 'In_Geometric_Shapes': Block */
> -static const OnigCodePoint
> -CR_In_Geometric_Shapes[] = { 1,
> -0x25a0, 0x25ff,
> -}; /* END of CR_In_Geometric_Shapes */
> -
> -/* PROPERTY: 'In_Miscellaneous_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Miscellaneous_Symbols[] = { 1,
> -0x2600, 0x26ff,
> -}; /* END of CR_In_Miscellaneous_Symbols */
> -
> -/* PROPERTY: 'In_Dingbats': Block */
> -static const OnigCodePoint
> -CR_In_Dingbats[] = { 1,
> -0x2700, 0x27bf,
> -}; /* END of CR_In_Dingbats */
> -
> -/* PROPERTY: 'In_Miscellaneous_Mathematical_Symbols_A': Block */
> -static const OnigCodePoint
> -CR_In_Miscellaneous_Mathematical_Symbols_A[] = { 1,
> -0x27c0, 0x27ef,
> -}; /* END of CR_In_Miscellaneous_Mathematical_Symbols_A */
> -
> -/* PROPERTY: 'In_Supplemental_Arrows_A': Block */
> -static const OnigCodePoint
> -CR_In_Supplemental_Arrows_A[] = { 1,
> -0x27f0, 0x27ff,
> -}; /* END of CR_In_Supplemental_Arrows_A */
> -
> -/* PROPERTY: 'In_Braille_Patterns': Block */
> -#define CR_In_Braille_Patterns CR_Braille
> -
> -/* PROPERTY: 'In_Supplemental_Arrows_B': Block */
> -static const OnigCodePoint
> -CR_In_Supplemental_Arrows_B[] = { 1,
> -0x2900, 0x297f,
> -}; /* END of CR_In_Supplemental_Arrows_B */
> -
> -/* PROPERTY: 'In_Miscellaneous_Mathematical_Symbols_B': Block */
> -static const OnigCodePoint
> -CR_In_Miscellaneous_Mathematical_Symbols_B[] = { 1,
> -0x2980, 0x29ff,
> -}; /* END of CR_In_Miscellaneous_Mathematical_Symbols_B */
> -
> -/* PROPERTY: 'In_Supplemental_Mathematical_Operators': Block */
> -static const OnigCodePoint
> -CR_In_Supplemental_Mathematical_Operators[] = { 1,
> -0x2a00, 0x2aff,
> -}; /* END of CR_In_Supplemental_Mathematical_Operators */
> -
> -/* PROPERTY: 'In_Miscellaneous_Symbols_and_Arrows': Block */
> -static const OnigCodePoint
> -CR_In_Miscellaneous_Symbols_and_Arrows[] = { 1,
> -0x2b00, 0x2bff,
> -}; /* END of CR_In_Miscellaneous_Symbols_and_Arrows */
> -
> -/* PROPERTY: 'In_Glagolitic': Block */
> -static const OnigCodePoint
> -CR_In_Glagolitic[] = { 1,
> -0x2c00, 0x2c5f,
> -}; /* END of CR_In_Glagolitic */
> -
> -/* PROPERTY: 'In_Latin_Extended_C': Block */
> -static const OnigCodePoint
> -CR_In_Latin_Extended_C[] = { 1,
> -0x2c60, 0x2c7f,
> -}; /* END of CR_In_Latin_Extended_C */
> -
> -/* PROPERTY: 'In_Coptic': Block */
> -static const OnigCodePoint
> -CR_In_Coptic[] = { 1,
> -0x2c80, 0x2cff,
> -}; /* END of CR_In_Coptic */
> -
> -/* PROPERTY: 'In_Georgian_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Georgian_Supplement[] = { 1,
> -0x2d00, 0x2d2f,
> -}; /* END of CR_In_Georgian_Supplement */
> -
> -/* PROPERTY: 'In_Tifinagh': Block */
> -static const OnigCodePoint
> -CR_In_Tifinagh[] = { 1,
> -0x2d30, 0x2d7f,
> -}; /* END of CR_In_Tifinagh */
> -
> -/* PROPERTY: 'In_Ethiopic_Extended': Block */
> -static const OnigCodePoint
> -CR_In_Ethiopic_Extended[] = { 1,
> -0x2d80, 0x2ddf,
> -}; /* END of CR_In_Ethiopic_Extended */
> -
> -/* PROPERTY: 'In_Cyrillic_Extended_A': Block */
> -static const OnigCodePoint
> -CR_In_Cyrillic_Extended_A[] = { 1,
> -0x2de0, 0x2dff,
> -}; /* END of CR_In_Cyrillic_Extended_A */
> -
> -/* PROPERTY: 'In_Supplemental_Punctuation': Block */
> -static const OnigCodePoint
> -CR_In_Supplemental_Punctuation[] = { 1,
> -0x2e00, 0x2e7f,
> -}; /* END of CR_In_Supplemental_Punctuation */
> -
> -/* PROPERTY: 'In_CJK_Radicals_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_CJK_Radicals_Supplement[] = { 1,
> -0x2e80, 0x2eff,
> -}; /* END of CR_In_CJK_Radicals_Supplement */
> -
> -/* PROPERTY: 'In_Kangxi_Radicals': Block */
> -static const OnigCodePoint
> -CR_In_Kangxi_Radicals[] = { 1,
> -0x2f00, 0x2fdf,
> -}; /* END of CR_In_Kangxi_Radicals */
> -
> -/* PROPERTY: 'In_Ideographic_Description_Characters': Block */
> -static const OnigCodePoint
> -CR_In_Ideographic_Description_Characters[] = { 1,
> -0x2ff0, 0x2fff,
> -}; /* END of CR_In_Ideographic_Description_Characters */
> -
> -/* PROPERTY: 'In_CJK_Symbols_and_Punctuation': Block */
> -static const OnigCodePoint
> -CR_In_CJK_Symbols_and_Punctuation[] = { 1,
> -0x3000, 0x303f,
> -}; /* END of CR_In_CJK_Symbols_and_Punctuation */
> -
> -/* PROPERTY: 'In_Hiragana': Block */
> -static const OnigCodePoint
> -CR_In_Hiragana[] = { 1,
> -0x3040, 0x309f,
> -}; /* END of CR_In_Hiragana */
> -
> -/* PROPERTY: 'In_Katakana': Block */
> -static const OnigCodePoint
> -CR_In_Katakana[] = { 1,
> -0x30a0, 0x30ff,
> -}; /* END of CR_In_Katakana */
> -
> -/* PROPERTY: 'In_Bopomofo': Block */
> -static const OnigCodePoint
> -CR_In_Bopomofo[] = { 1,
> -0x3100, 0x312f,
> -}; /* END of CR_In_Bopomofo */
> -
> -/* PROPERTY: 'In_Hangul_Compatibility_Jamo': Block */
> -static const OnigCodePoint
> -CR_In_Hangul_Compatibility_Jamo[] = { 1,
> -0x3130, 0x318f,
> -}; /* END of CR_In_Hangul_Compatibility_Jamo */
> -
> -/* PROPERTY: 'In_Kanbun': Block */
> -static const OnigCodePoint
> -CR_In_Kanbun[] = { 1,
> -0x3190, 0x319f,
> -}; /* END of CR_In_Kanbun */
> -
> -/* PROPERTY: 'In_Bopomofo_Extended': Block */
> -static const OnigCodePoint
> -CR_In_Bopomofo_Extended[] = { 1,
> -0x31a0, 0x31bf,
> -}; /* END of CR_In_Bopomofo_Extended */
> -
> -/* PROPERTY: 'In_CJK_Strokes': Block */
> -static const OnigCodePoint
> -CR_In_CJK_Strokes[] = { 1,
> -0x31c0, 0x31ef,
> -}; /* END of CR_In_CJK_Strokes */
> -
> -/* PROPERTY: 'In_Katakana_Phonetic_Extensions': Block */
> -static const OnigCodePoint
> -CR_In_Katakana_Phonetic_Extensions[] = { 1,
> -0x31f0, 0x31ff,
> -}; /* END of CR_In_Katakana_Phonetic_Extensions */
> -
> -/* PROPERTY: 'In_Enclosed_CJK_Letters_and_Months': Block */
> -static const OnigCodePoint
> -CR_In_Enclosed_CJK_Letters_and_Months[] = { 1,
> -0x3200, 0x32ff,
> -}; /* END of CR_In_Enclosed_CJK_Letters_and_Months */
> -
> -/* PROPERTY: 'In_CJK_Compatibility': Block */
> -static const OnigCodePoint
> -CR_In_CJK_Compatibility[] = { 1,
> -0x3300, 0x33ff,
> -}; /* END of CR_In_CJK_Compatibility */
> -
> -/* PROPERTY: 'In_CJK_Unified_Ideographs_Extension_A': Block */
> -static const OnigCodePoint
> -CR_In_CJK_Unified_Ideographs_Extension_A[] = { 1,
> -0x3400, 0x4dbf,
> -}; /* END of CR_In_CJK_Unified_Ideographs_Extension_A */
> -
> -/* PROPERTY: 'In_Yijing_Hexagram_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Yijing_Hexagram_Symbols[] = { 1,
> -0x4dc0, 0x4dff,
> -}; /* END of CR_In_Yijing_Hexagram_Symbols */
> -
> -/* PROPERTY: 'In_CJK_Unified_Ideographs': Block */
> -static const OnigCodePoint
> -CR_In_CJK_Unified_Ideographs[] = { 1,
> -0x4e00, 0x9fff,
> -}; /* END of CR_In_CJK_Unified_Ideographs */
> -
> -/* PROPERTY: 'In_Yi_Syllables': Block */
> -static const OnigCodePoint
> -CR_In_Yi_Syllables[] = { 1,
> -0xa000, 0xa48f,
> -}; /* END of CR_In_Yi_Syllables */
> -
> -/* PROPERTY: 'In_Yi_Radicals': Block */
> -static const OnigCodePoint
> -CR_In_Yi_Radicals[] = { 1,
> -0xa490, 0xa4cf,
> -}; /* END of CR_In_Yi_Radicals */
> -
> -/* PROPERTY: 'In_Lisu': Block */
> -#define CR_In_Lisu CR_Lisu
> -
> -/* PROPERTY: 'In_Vai': Block */
> -static const OnigCodePoint
> -CR_In_Vai[] = { 1,
> -0xa500, 0xa63f,
> -}; /* END of CR_In_Vai */
> -
> -/* PROPERTY: 'In_Cyrillic_Extended_B': Block */
> -static const OnigCodePoint
> -CR_In_Cyrillic_Extended_B[] = { 1,
> -0xa640, 0xa69f,
> -}; /* END of CR_In_Cyrillic_Extended_B */
> -
> -/* PROPERTY: 'In_Bamum': Block */
> -static const OnigCodePoint
> -CR_In_Bamum[] = { 1,
> -0xa6a0, 0xa6ff,
> -}; /* END of CR_In_Bamum */
> -
> -/* PROPERTY: 'In_Modifier_Tone_Letters': Block */
> -static const OnigCodePoint
> -CR_In_Modifier_Tone_Letters[] = { 1,
> -0xa700, 0xa71f,
> -}; /* END of CR_In_Modifier_Tone_Letters */
> -
> -/* PROPERTY: 'In_Latin_Extended_D': Block */
> -static const OnigCodePoint
> -CR_In_Latin_Extended_D[] = { 1,
> -0xa720, 0xa7ff,
> -}; /* END of CR_In_Latin_Extended_D */
> -
> -/* PROPERTY: 'In_Syloti_Nagri': Block */
> -static const OnigCodePoint
> -CR_In_Syloti_Nagri[] = { 1,
> -0xa800, 0xa82f,
> -}; /* END of CR_In_Syloti_Nagri */
> -
> -/* PROPERTY: 'In_Common_Indic_Number_Forms': Block */
> -static const OnigCodePoint
> -CR_In_Common_Indic_Number_Forms[] = { 1,
> -0xa830, 0xa83f,
> -}; /* END of CR_In_Common_Indic_Number_Forms */
> -
> -/* PROPERTY: 'In_Phags_pa': Block */
> -static const OnigCodePoint
> -CR_In_Phags_pa[] = { 1,
> -0xa840, 0xa87f,
> -}; /* END of CR_In_Phags_pa */
> -
> -/* PROPERTY: 'In_Saurashtra': Block */
> -static const OnigCodePoint
> -CR_In_Saurashtra[] = { 1,
> -0xa880, 0xa8df,
> -}; /* END of CR_In_Saurashtra */
> -
> -/* PROPERTY: 'In_Devanagari_Extended': Block */
> -static const OnigCodePoint
> -CR_In_Devanagari_Extended[] = { 1,
> -0xa8e0, 0xa8ff,
> -}; /* END of CR_In_Devanagari_Extended */
> -
> -/* PROPERTY: 'In_Kayah_Li': Block */
> -static const OnigCodePoint
> -CR_In_Kayah_Li[] = { 1,
> -0xa900, 0xa92f,
> -}; /* END of CR_In_Kayah_Li */
> -
> -/* PROPERTY: 'In_Rejang': Block */
> -static const OnigCodePoint
> -CR_In_Rejang[] = { 1,
> -0xa930, 0xa95f,
> -}; /* END of CR_In_Rejang */
> -
> -/* PROPERTY: 'In_Hangul_Jamo_Extended_A': Block */
> -static const OnigCodePoint
> -CR_In_Hangul_Jamo_Extended_A[] = { 1,
> -0xa960, 0xa97f,
> -}; /* END of CR_In_Hangul_Jamo_Extended_A */
> -
> -/* PROPERTY: 'In_Javanese': Block */
> -static const OnigCodePoint
> -CR_In_Javanese[] = { 1,
> -0xa980, 0xa9df,
> -}; /* END of CR_In_Javanese */
> -
> -/* PROPERTY: 'In_Myanmar_Extended_B': Block */
> -static const OnigCodePoint
> -CR_In_Myanmar_Extended_B[] = { 1,
> -0xa9e0, 0xa9ff,
> -}; /* END of CR_In_Myanmar_Extended_B */
> -
> -/* PROPERTY: 'In_Cham': Block */
> -static const OnigCodePoint
> -CR_In_Cham[] = { 1,
> -0xaa00, 0xaa5f,
> -}; /* END of CR_In_Cham */
> -
> -/* PROPERTY: 'In_Myanmar_Extended_A': Block */
> -static const OnigCodePoint
> -CR_In_Myanmar_Extended_A[] = { 1,
> -0xaa60, 0xaa7f,
> -}; /* END of CR_In_Myanmar_Extended_A */
> -
> -/* PROPERTY: 'In_Tai_Viet': Block */
> -static const OnigCodePoint
> -CR_In_Tai_Viet[] = { 1,
> -0xaa80, 0xaadf,
> -}; /* END of CR_In_Tai_Viet */
> -
> -/* PROPERTY: 'In_Meetei_Mayek_Extensions': Block */
> -static const OnigCodePoint
> -CR_In_Meetei_Mayek_Extensions[] = { 1,
> -0xaae0, 0xaaff,
> -}; /* END of CR_In_Meetei_Mayek_Extensions */
> -
> -/* PROPERTY: 'In_Ethiopic_Extended_A': Block */
> -static const OnigCodePoint
> -CR_In_Ethiopic_Extended_A[] = { 1,
> -0xab00, 0xab2f,
> -}; /* END of CR_In_Ethiopic_Extended_A */
> -
> -/* PROPERTY: 'In_Latin_Extended_E': Block */
> -static const OnigCodePoint
> -CR_In_Latin_Extended_E[] = { 1,
> -0xab30, 0xab6f,
> -}; /* END of CR_In_Latin_Extended_E */
> -
> -/* PROPERTY: 'In_Cherokee_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Cherokee_Supplement[] = { 1,
> -0xab70, 0xabbf,
> -}; /* END of CR_In_Cherokee_Supplement */
> -
> -/* PROPERTY: 'In_Meetei_Mayek': Block */
> -static const OnigCodePoint
> -CR_In_Meetei_Mayek[] = { 1,
> -0xabc0, 0xabff,
> -}; /* END of CR_In_Meetei_Mayek */
> -
> -/* PROPERTY: 'In_Hangul_Syllables': Block */
> -static const OnigCodePoint
> -CR_In_Hangul_Syllables[] = { 1,
> -0xac00, 0xd7af,
> -}; /* END of CR_In_Hangul_Syllables */
> -
> -/* PROPERTY: 'In_Hangul_Jamo_Extended_B': Block */
> -static const OnigCodePoint
> -CR_In_Hangul_Jamo_Extended_B[] = { 1,
> -0xd7b0, 0xd7ff,
> -}; /* END of CR_In_Hangul_Jamo_Extended_B */
> -
> -/* PROPERTY: 'In_High_Surrogates': Block */
> -static const OnigCodePoint
> -CR_In_High_Surrogates[] = { 1,
> -0xd800, 0xdb7f,
> -}; /* END of CR_In_High_Surrogates */
> -
> -/* PROPERTY: 'In_High_Private_Use_Surrogates': Block */
> -static const OnigCodePoint
> -CR_In_High_Private_Use_Surrogates[] = { 1,
> -0xdb80, 0xdbff,
> -}; /* END of CR_In_High_Private_Use_Surrogates */
> -
> -/* PROPERTY: 'In_Low_Surrogates': Block */
> -static const OnigCodePoint
> -CR_In_Low_Surrogates[] = { 1,
> -0xdc00, 0xdfff,
> -}; /* END of CR_In_Low_Surrogates */
> -
> -/* PROPERTY: 'In_Private_Use_Area': Block */
> -static const OnigCodePoint
> -CR_In_Private_Use_Area[] = { 1,
> -0xe000, 0xf8ff,
> -}; /* END of CR_In_Private_Use_Area */
> -
> -/* PROPERTY: 'In_CJK_Compatibility_Ideographs': Block */
> -static const OnigCodePoint
> -CR_In_CJK_Compatibility_Ideographs[] = { 1,
> -0xf900, 0xfaff,
> -}; /* END of CR_In_CJK_Compatibility_Ideographs */
> -
> -/* PROPERTY: 'In_Alphabetic_Presentation_Forms': Block */
> -static const OnigCodePoint
> -CR_In_Alphabetic_Presentation_Forms[] = { 1,
> -0xfb00, 0xfb4f,
> -}; /* END of CR_In_Alphabetic_Presentation_Forms */
> -
> -/* PROPERTY: 'In_Arabic_Presentation_Forms_A': Block */
> -static const OnigCodePoint
> -CR_In_Arabic_Presentation_Forms_A[] = { 1,
> -0xfb50, 0xfdff,
> -}; /* END of CR_In_Arabic_Presentation_Forms_A */
> -
> -/* PROPERTY: 'In_Variation_Selectors': Block */
> -static const OnigCodePoint
> -CR_In_Variation_Selectors[] = { 1,
> -0xfe00, 0xfe0f,
> -}; /* END of CR_In_Variation_Selectors */
> -
> -/* PROPERTY: 'In_Vertical_Forms': Block */
> -static const OnigCodePoint
> -CR_In_Vertical_Forms[] = { 1,
> -0xfe10, 0xfe1f,
> -}; /* END of CR_In_Vertical_Forms */
> -
> -/* PROPERTY: 'In_Combining_Half_Marks': Block */
> -static const OnigCodePoint
> -CR_In_Combining_Half_Marks[] = { 1,
> -0xfe20, 0xfe2f,
> -}; /* END of CR_In_Combining_Half_Marks */
> -
> -/* PROPERTY: 'In_CJK_Compatibility_Forms': Block */
> -static const OnigCodePoint
> -CR_In_CJK_Compatibility_Forms[] = { 1,
> -0xfe30, 0xfe4f,
> -}; /* END of CR_In_CJK_Compatibility_Forms */
> -
> -/* PROPERTY: 'In_Small_Form_Variants': Block */
> -static const OnigCodePoint
> -CR_In_Small_Form_Variants[] = { 1,
> -0xfe50, 0xfe6f,
> -}; /* END of CR_In_Small_Form_Variants */
> -
> -/* PROPERTY: 'In_Arabic_Presentation_Forms_B': Block */
> -static const OnigCodePoint
> -CR_In_Arabic_Presentation_Forms_B[] = { 1,
> -0xfe70, 0xfeff,
> -}; /* END of CR_In_Arabic_Presentation_Forms_B */
> -
> -/* PROPERTY: 'In_Halfwidth_and_Fullwidth_Forms': Block */
> -static const OnigCodePoint
> -CR_In_Halfwidth_and_Fullwidth_Forms[] = { 1,
> -0xff00, 0xffef,
> -}; /* END of CR_In_Halfwidth_and_Fullwidth_Forms */
> -
> -/* PROPERTY: 'In_Specials': Block */
> -static const OnigCodePoint
> -CR_In_Specials[] = { 1,
> -0xfff0, 0xffff,
> -}; /* END of CR_In_Specials */
> -
> -/* PROPERTY: 'In_Linear_B_Syllabary': Block */
> -static const OnigCodePoint
> -CR_In_Linear_B_Syllabary[] = { 1,
> -0x10000, 0x1007f,
> -}; /* END of CR_In_Linear_B_Syllabary */
> -
> -/* PROPERTY: 'In_Linear_B_Ideograms': Block */
> -static const OnigCodePoint
> -CR_In_Linear_B_Ideograms[] = { 1,
> -0x10080, 0x100ff,
> -}; /* END of CR_In_Linear_B_Ideograms */
> -
> -/* PROPERTY: 'In_Aegean_Numbers': Block */
> -static const OnigCodePoint
> -CR_In_Aegean_Numbers[] = { 1,
> -0x10100, 0x1013f,
> -}; /* END of CR_In_Aegean_Numbers */
> -
> -/* PROPERTY: 'In_Ancient_Greek_Numbers': Block */
> -static const OnigCodePoint
> -CR_In_Ancient_Greek_Numbers[] = { 1,
> -0x10140, 0x1018f,
> -}; /* END of CR_In_Ancient_Greek_Numbers */
> -
> -/* PROPERTY: 'In_Ancient_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Ancient_Symbols[] = { 1,
> -0x10190, 0x101cf,
> -}; /* END of CR_In_Ancient_Symbols */
> -
> -/* PROPERTY: 'In_Phaistos_Disc': Block */
> -static const OnigCodePoint
> -CR_In_Phaistos_Disc[] = { 1,
> -0x101d0, 0x101ff,
> -}; /* END of CR_In_Phaistos_Disc */
> -
> -/* PROPERTY: 'In_Lycian': Block */
> -static const OnigCodePoint
> -CR_In_Lycian[] = { 1,
> -0x10280, 0x1029f,
> -}; /* END of CR_In_Lycian */
> -
> -/* PROPERTY: 'In_Carian': Block */
> -static const OnigCodePoint
> -CR_In_Carian[] = { 1,
> -0x102a0, 0x102df,
> -}; /* END of CR_In_Carian */
> -
> -/* PROPERTY: 'In_Coptic_Epact_Numbers': Block */
> -static const OnigCodePoint
> -CR_In_Coptic_Epact_Numbers[] = { 1,
> -0x102e0, 0x102ff,
> -}; /* END of CR_In_Coptic_Epact_Numbers */
> -
> -/* PROPERTY: 'In_Old_Italic': Block */
> -static const OnigCodePoint
> -CR_In_Old_Italic[] = { 1,
> -0x10300, 0x1032f,
> -}; /* END of CR_In_Old_Italic */
> -
> -/* PROPERTY: 'In_Gothic': Block */
> -static const OnigCodePoint
> -CR_In_Gothic[] = { 1,
> -0x10330, 0x1034f,
> -}; /* END of CR_In_Gothic */
> -
> -/* PROPERTY: 'In_Old_Permic': Block */
> -static const OnigCodePoint
> -CR_In_Old_Permic[] = { 1,
> -0x10350, 0x1037f,
> -}; /* END of CR_In_Old_Permic */
> -
> -/* PROPERTY: 'In_Ugaritic': Block */
> -static const OnigCodePoint
> -CR_In_Ugaritic[] = { 1,
> -0x10380, 0x1039f,
> -}; /* END of CR_In_Ugaritic */
> -
> -/* PROPERTY: 'In_Old_Persian': Block */
> -static const OnigCodePoint
> -CR_In_Old_Persian[] = { 1,
> -0x103a0, 0x103df,
> -}; /* END of CR_In_Old_Persian */
> -
> -/* PROPERTY: 'In_Deseret': Block */
> -#define CR_In_Deseret CR_Deseret
> -
> -/* PROPERTY: 'In_Shavian': Block */
> -#define CR_In_Shavian CR_Shavian
> -
> -/* PROPERTY: 'In_Osmanya': Block */
> -static const OnigCodePoint
> -CR_In_Osmanya[] = { 1,
> -0x10480, 0x104af,
> -}; /* END of CR_In_Osmanya */
> -
> -/* PROPERTY: 'In_Osage': Block */
> -static const OnigCodePoint
> -CR_In_Osage[] = { 1,
> -0x104b0, 0x104ff,
> -}; /* END of CR_In_Osage */
> -
> -/* PROPERTY: 'In_Elbasan': Block */
> -static const OnigCodePoint
> -CR_In_Elbasan[] = { 1,
> -0x10500, 0x1052f,
> -}; /* END of CR_In_Elbasan */
> -
> -/* PROPERTY: 'In_Caucasian_Albanian': Block */
> -static const OnigCodePoint
> -CR_In_Caucasian_Albanian[] = { 1,
> -0x10530, 0x1056f,
> -}; /* END of CR_In_Caucasian_Albanian */
> -
> -/* PROPERTY: 'In_Linear_A': Block */
> -static const OnigCodePoint
> -CR_In_Linear_A[] = { 1,
> -0x10600, 0x1077f,
> -}; /* END of CR_In_Linear_A */
> -
> -/* PROPERTY: 'In_Cypriot_Syllabary': Block */
> -static const OnigCodePoint
> -CR_In_Cypriot_Syllabary[] = { 1,
> -0x10800, 0x1083f,
> -}; /* END of CR_In_Cypriot_Syllabary */
> -
> -/* PROPERTY: 'In_Imperial_Aramaic': Block */
> -static const OnigCodePoint
> -CR_In_Imperial_Aramaic[] = { 1,
> -0x10840, 0x1085f,
> -}; /* END of CR_In_Imperial_Aramaic */
> -
> -/* PROPERTY: 'In_Palmyrene': Block */
> -#define CR_In_Palmyrene CR_Palmyrene
> -
> -/* PROPERTY: 'In_Nabataean': Block */
> -static const OnigCodePoint
> -CR_In_Nabataean[] = { 1,
> -0x10880, 0x108af,
> -}; /* END of CR_In_Nabataean */
> -
> -/* PROPERTY: 'In_Hatran': Block */
> -static const OnigCodePoint
> -CR_In_Hatran[] = { 1,
> -0x108e0, 0x108ff,
> -}; /* END of CR_In_Hatran */
> -
> -/* PROPERTY: 'In_Phoenician': Block */
> -static const OnigCodePoint
> -CR_In_Phoenician[] = { 1,
> -0x10900, 0x1091f,
> -}; /* END of CR_In_Phoenician */
> -
> -/* PROPERTY: 'In_Lydian': Block */
> -static const OnigCodePoint
> -CR_In_Lydian[] = { 1,
> -0x10920, 0x1093f,
> -}; /* END of CR_In_Lydian */
> -
> -/* PROPERTY: 'In_Meroitic_Hieroglyphs': Block */
> -#define CR_In_Meroitic_Hieroglyphs CR_Meroitic_Hieroglyphs
> -
> -/* PROPERTY: 'In_Meroitic_Cursive': Block */
> -static const OnigCodePoint
> -CR_In_Meroitic_Cursive[] = { 1,
> -0x109a0, 0x109ff,
> -}; /* END of CR_In_Meroitic_Cursive */
> -
> -/* PROPERTY: 'In_Kharoshthi': Block */
> -static const OnigCodePoint
> -CR_In_Kharoshthi[] = { 1,
> -0x10a00, 0x10a5f,
> -}; /* END of CR_In_Kharoshthi */
> -
> -/* PROPERTY: 'In_Old_South_Arabian': Block */
> -#define CR_In_Old_South_Arabian CR_Old_South_Arabian
> -
> -/* PROPERTY: 'In_Old_North_Arabian': Block */
> -#define CR_In_Old_North_Arabian CR_Old_North_Arabian
> -
> -/* PROPERTY: 'In_Manichaean': Block */
> -static const OnigCodePoint
> -CR_In_Manichaean[] = { 1,
> -0x10ac0, 0x10aff,
> -}; /* END of CR_In_Manichaean */
> -
> -/* PROPERTY: 'In_Avestan': Block */
> -static const OnigCodePoint
> -CR_In_Avestan[] = { 1,
> -0x10b00, 0x10b3f,
> -}; /* END of CR_In_Avestan */
> -
> -/* PROPERTY: 'In_Inscriptional_Parthian': Block */
> -static const OnigCodePoint
> -CR_In_Inscriptional_Parthian[] = { 1,
> -0x10b40, 0x10b5f,
> -}; /* END of CR_In_Inscriptional_Parthian */
> -
> -/* PROPERTY: 'In_Inscriptional_Pahlavi': Block */
> -static const OnigCodePoint
> -CR_In_Inscriptional_Pahlavi[] = { 1,
> -0x10b60, 0x10b7f,
> -}; /* END of CR_In_Inscriptional_Pahlavi */
> -
> -/* PROPERTY: 'In_Psalter_Pahlavi': Block */
> -static const OnigCodePoint
> -CR_In_Psalter_Pahlavi[] = { 1,
> -0x10b80, 0x10baf,
> -}; /* END of CR_In_Psalter_Pahlavi */
> -
> -/* PROPERTY: 'In_Old_Turkic': Block */
> -static const OnigCodePoint
> -CR_In_Old_Turkic[] = { 1,
> -0x10c00, 0x10c4f,
> -}; /* END of CR_In_Old_Turkic */
> -
> -/* PROPERTY: 'In_Old_Hungarian': Block */
> -static const OnigCodePoint
> -CR_In_Old_Hungarian[] = { 1,
> -0x10c80, 0x10cff,
> -}; /* END of CR_In_Old_Hungarian */
> -
> -/* PROPERTY: 'In_Hanifi_Rohingya': Block */
> -static const OnigCodePoint
> -CR_In_Hanifi_Rohingya[] = { 1,
> -0x10d00, 0x10d3f,
> -}; /* END of CR_In_Hanifi_Rohingya */
> -
> -/* PROPERTY: 'In_Rumi_Numeral_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Rumi_Numeral_Symbols[] = { 1,
> -0x10e60, 0x10e7f,
> -}; /* END of CR_In_Rumi_Numeral_Symbols */
> -
> -/* PROPERTY: 'In_Old_Sogdian': Block */
> -static const OnigCodePoint
> -CR_In_Old_Sogdian[] = { 1,
> -0x10f00, 0x10f2f,
> -}; /* END of CR_In_Old_Sogdian */
> -
> -/* PROPERTY: 'In_Sogdian': Block */
> -static const OnigCodePoint
> -CR_In_Sogdian[] = { 1,
> -0x10f30, 0x10f6f,
> -}; /* END of CR_In_Sogdian */
> -
> -/* PROPERTY: 'In_Elymaic': Block */
> -static const OnigCodePoint
> -CR_In_Elymaic[] = { 1,
> -0x10fe0, 0x10fff,
> -}; /* END of CR_In_Elymaic */
> -
> -/* PROPERTY: 'In_Brahmi': Block */
> -static const OnigCodePoint
> -CR_In_Brahmi[] = { 1,
> -0x11000, 0x1107f,
> -}; /* END of CR_In_Brahmi */
> -
> -/* PROPERTY: 'In_Kaithi': Block */
> -static const OnigCodePoint
> -CR_In_Kaithi[] = { 1,
> -0x11080, 0x110cf,
> -}; /* END of CR_In_Kaithi */
> -
> -/* PROPERTY: 'In_Sora_Sompeng': Block */
> -static const OnigCodePoint
> -CR_In_Sora_Sompeng[] = { 1,
> -0x110d0, 0x110ff,
> -}; /* END of CR_In_Sora_Sompeng */
> -
> -/* PROPERTY: 'In_Chakma': Block */
> -static const OnigCodePoint
> -CR_In_Chakma[] = { 1,
> -0x11100, 0x1114f,
> -}; /* END of CR_In_Chakma */
> -
> -/* PROPERTY: 'In_Mahajani': Block */
> -static const OnigCodePoint
> -CR_In_Mahajani[] = { 1,
> -0x11150, 0x1117f,
> -}; /* END of CR_In_Mahajani */
> -
> -/* PROPERTY: 'In_Sharada': Block */
> -static const OnigCodePoint
> -CR_In_Sharada[] = { 1,
> -0x11180, 0x111df,
> -}; /* END of CR_In_Sharada */
> -
> -/* PROPERTY: 'In_Sinhala_Archaic_Numbers': Block */
> -static const OnigCodePoint
> -CR_In_Sinhala_Archaic_Numbers[] = { 1,
> -0x111e0, 0x111ff,
> -}; /* END of CR_In_Sinhala_Archaic_Numbers */
> -
> -/* PROPERTY: 'In_Khojki': Block */
> -static const OnigCodePoint
> -CR_In_Khojki[] = { 1,
> -0x11200, 0x1124f,
> -}; /* END of CR_In_Khojki */
> -
> -/* PROPERTY: 'In_Multani': Block */
> -static const OnigCodePoint
> -CR_In_Multani[] = { 1,
> -0x11280, 0x112af,
> -}; /* END of CR_In_Multani */
> -
> -/* PROPERTY: 'In_Khudawadi': Block */
> -static const OnigCodePoint
> -CR_In_Khudawadi[] = { 1,
> -0x112b0, 0x112ff,
> -}; /* END of CR_In_Khudawadi */
> -
> -/* PROPERTY: 'In_Grantha': Block */
> -static const OnigCodePoint
> -CR_In_Grantha[] = { 1,
> -0x11300, 0x1137f,
> -}; /* END of CR_In_Grantha */
> -
> -/* PROPERTY: 'In_Newa': Block */
> -static const OnigCodePoint
> -CR_In_Newa[] = { 1,
> -0x11400, 0x1147f,
> -}; /* END of CR_In_Newa */
> -
> -/* PROPERTY: 'In_Tirhuta': Block */
> -static const OnigCodePoint
> -CR_In_Tirhuta[] = { 1,
> -0x11480, 0x114df,
> -}; /* END of CR_In_Tirhuta */
> -
> -/* PROPERTY: 'In_Siddham': Block */
> -static const OnigCodePoint
> -CR_In_Siddham[] = { 1,
> -0x11580, 0x115ff,
> -}; /* END of CR_In_Siddham */
> -
> -/* PROPERTY: 'In_Modi': Block */
> -static const OnigCodePoint
> -CR_In_Modi[] = { 1,
> -0x11600, 0x1165f,
> -}; /* END of CR_In_Modi */
> -
> -/* PROPERTY: 'In_Mongolian_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Mongolian_Supplement[] = { 1,
> -0x11660, 0x1167f,
> -}; /* END of CR_In_Mongolian_Supplement */
> -
> -/* PROPERTY: 'In_Takri': Block */
> -static const OnigCodePoint
> -CR_In_Takri[] = { 1,
> -0x11680, 0x116cf,
> -}; /* END of CR_In_Takri */
> -
> -/* PROPERTY: 'In_Ahom': Block */
> -static const OnigCodePoint
> -CR_In_Ahom[] = { 1,
> -0x11700, 0x1173f,
> -}; /* END of CR_In_Ahom */
> -
> -/* PROPERTY: 'In_Dogra': Block */
> -static const OnigCodePoint
> -CR_In_Dogra[] = { 1,
> -0x11800, 0x1184f,
> -}; /* END of CR_In_Dogra */
> -
> -/* PROPERTY: 'In_Warang_Citi': Block */
> -static const OnigCodePoint
> -CR_In_Warang_Citi[] = { 1,
> -0x118a0, 0x118ff,
> -}; /* END of CR_In_Warang_Citi */
> -
> -/* PROPERTY: 'In_Nandinagari': Block */
> -static const OnigCodePoint
> -CR_In_Nandinagari[] = { 1,
> -0x119a0, 0x119ff,
> -}; /* END of CR_In_Nandinagari */
> -
> -/* PROPERTY: 'In_Zanabazar_Square': Block */
> -static const OnigCodePoint
> -CR_In_Zanabazar_Square[] = { 1,
> -0x11a00, 0x11a4f,
> -}; /* END of CR_In_Zanabazar_Square */
> -
> -/* PROPERTY: 'In_Soyombo': Block */
> -static const OnigCodePoint
> -CR_In_Soyombo[] = { 1,
> -0x11a50, 0x11aaf,
> -}; /* END of CR_In_Soyombo */
> -
> -/* PROPERTY: 'In_Pau_Cin_Hau': Block */
> -static const OnigCodePoint
> -CR_In_Pau_Cin_Hau[] = { 1,
> -0x11ac0, 0x11aff,
> -}; /* END of CR_In_Pau_Cin_Hau */
> -
> -/* PROPERTY: 'In_Bhaiksuki': Block */
> -static const OnigCodePoint
> -CR_In_Bhaiksuki[] = { 1,
> -0x11c00, 0x11c6f,
> -}; /* END of CR_In_Bhaiksuki */
> -
> -/* PROPERTY: 'In_Marchen': Block */
> -static const OnigCodePoint
> -CR_In_Marchen[] = { 1,
> -0x11c70, 0x11cbf,
> -}; /* END of CR_In_Marchen */
> -
> -/* PROPERTY: 'In_Masaram_Gondi': Block */
> -static const OnigCodePoint
> -CR_In_Masaram_Gondi[] = { 1,
> -0x11d00, 0x11d5f,
> -}; /* END of CR_In_Masaram_Gondi */
> -
> -/* PROPERTY: 'In_Gunjala_Gondi': Block */
> -static const OnigCodePoint
> -CR_In_Gunjala_Gondi[] = { 1,
> -0x11d60, 0x11daf,
> -}; /* END of CR_In_Gunjala_Gondi */
> -
> -/* PROPERTY: 'In_Makasar': Block */
> -static const OnigCodePoint
> -CR_In_Makasar[] = { 1,
> -0x11ee0, 0x11eff,
> -}; /* END of CR_In_Makasar */
> -
> -/* PROPERTY: 'In_Tamil_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Tamil_Supplement[] = { 1,
> -0x11fc0, 0x11fff,
> -}; /* END of CR_In_Tamil_Supplement */
> -
> -/* PROPERTY: 'In_Cuneiform': Block */
> -static const OnigCodePoint
> -CR_In_Cuneiform[] = { 1,
> -0x12000, 0x123ff,
> -}; /* END of CR_In_Cuneiform */
> -
> -/* PROPERTY: 'In_Cuneiform_Numbers_and_Punctuation': Block */
> -static const OnigCodePoint
> -CR_In_Cuneiform_Numbers_and_Punctuation[] = { 1,
> -0x12400, 0x1247f,
> -}; /* END of CR_In_Cuneiform_Numbers_and_Punctuation */
> -
> -/* PROPERTY: 'In_Early_Dynastic_Cuneiform': Block */
> -static const OnigCodePoint
> -CR_In_Early_Dynastic_Cuneiform[] = { 1,
> -0x12480, 0x1254f,
> -}; /* END of CR_In_Early_Dynastic_Cuneiform */
> -
> -/* PROPERTY: 'In_Egyptian_Hieroglyphs': Block */
> -static const OnigCodePoint
> -CR_In_Egyptian_Hieroglyphs[] = { 1,
> -0x13000, 0x1342f,
> -}; /* END of CR_In_Egyptian_Hieroglyphs */
> -
> -/* PROPERTY: 'In_Egyptian_Hieroglyph_Format_Controls': Block */
> -static const OnigCodePoint
> -CR_In_Egyptian_Hieroglyph_Format_Controls[] = { 1,
> -0x13430, 0x1343f,
> -}; /* END of CR_In_Egyptian_Hieroglyph_Format_Controls */
> -
> -/* PROPERTY: 'In_Anatolian_Hieroglyphs': Block */
> -static const OnigCodePoint
> -CR_In_Anatolian_Hieroglyphs[] = { 1,
> -0x14400, 0x1467f,
> -}; /* END of CR_In_Anatolian_Hieroglyphs */
> -
> -/* PROPERTY: 'In_Bamum_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Bamum_Supplement[] = { 1,
> -0x16800, 0x16a3f,
> -}; /* END of CR_In_Bamum_Supplement */
> -
> -/* PROPERTY: 'In_Mro': Block */
> -static const OnigCodePoint
> -CR_In_Mro[] = { 1,
> -0x16a40, 0x16a6f,
> -}; /* END of CR_In_Mro */
> -
> -/* PROPERTY: 'In_Bassa_Vah': Block */
> -static const OnigCodePoint
> -CR_In_Bassa_Vah[] = { 1,
> -0x16ad0, 0x16aff,
> -}; /* END of CR_In_Bassa_Vah */
> -
> -/* PROPERTY: 'In_Pahawh_Hmong': Block */
> -static const OnigCodePoint
> -CR_In_Pahawh_Hmong[] = { 1,
> -0x16b00, 0x16b8f,
> -}; /* END of CR_In_Pahawh_Hmong */
> -
> -/* PROPERTY: 'In_Medefaidrin': Block */
> -static const OnigCodePoint
> -CR_In_Medefaidrin[] = { 1,
> -0x16e40, 0x16e9f,
> -}; /* END of CR_In_Medefaidrin */
> -
> -/* PROPERTY: 'In_Miao': Block */
> -static const OnigCodePoint
> -CR_In_Miao[] = { 1,
> -0x16f00, 0x16f9f,
> -}; /* END of CR_In_Miao */
> -
> -/* PROPERTY: 'In_Ideographic_Symbols_and_Punctuation': Block */
> -static const OnigCodePoint
> -CR_In_Ideographic_Symbols_and_Punctuation[] = { 1,
> -0x16fe0, 0x16fff,
> -}; /* END of CR_In_Ideographic_Symbols_and_Punctuation */
> -
> -/* PROPERTY: 'In_Tangut': Block */
> -static const OnigCodePoint
> -CR_In_Tangut[] = { 1,
> -0x17000, 0x187ff,
> -}; /* END of CR_In_Tangut */
> -
> -/* PROPERTY: 'In_Tangut_Components': Block */
> -static const OnigCodePoint
> -CR_In_Tangut_Components[] = { 1,
> -0x18800, 0x18aff,
> -}; /* END of CR_In_Tangut_Components */
> -
> -/* PROPERTY: 'In_Kana_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Kana_Supplement[] = { 1,
> -0x1b000, 0x1b0ff,
> -}; /* END of CR_In_Kana_Supplement */
> -
> -/* PROPERTY: 'In_Kana_Extended_A': Block */
> -static const OnigCodePoint
> -CR_In_Kana_Extended_A[] = { 1,
> -0x1b100, 0x1b12f,
> -}; /* END of CR_In_Kana_Extended_A */
> -
> -/* PROPERTY: 'In_Small_Kana_Extension': Block */
> -static const OnigCodePoint
> -CR_In_Small_Kana_Extension[] = { 1,
> -0x1b130, 0x1b16f,
> -}; /* END of CR_In_Small_Kana_Extension */
> -
> -/* PROPERTY: 'In_Nushu': Block */
> -static const OnigCodePoint
> -CR_In_Nushu[] = { 1,
> -0x1b170, 0x1b2ff,
> -}; /* END of CR_In_Nushu */
> -
> -/* PROPERTY: 'In_Duployan': Block */
> -static const OnigCodePoint
> -CR_In_Duployan[] = { 1,
> -0x1bc00, 0x1bc9f,
> -}; /* END of CR_In_Duployan */
> -
> -/* PROPERTY: 'In_Shorthand_Format_Controls': Block */
> -static const OnigCodePoint
> -CR_In_Shorthand_Format_Controls[] = { 1,
> -0x1bca0, 0x1bcaf,
> -}; /* END of CR_In_Shorthand_Format_Controls */
> -
> -/* PROPERTY: 'In_Byzantine_Musical_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Byzantine_Musical_Symbols[] = { 1,
> -0x1d000, 0x1d0ff,
> -}; /* END of CR_In_Byzantine_Musical_Symbols */
> -
> -/* PROPERTY: 'In_Musical_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Musical_Symbols[] = { 1,
> -0x1d100, 0x1d1ff,
> -}; /* END of CR_In_Musical_Symbols */
> -
> -/* PROPERTY: 'In_Ancient_Greek_Musical_Notation': Block */
> -static const OnigCodePoint
> -CR_In_Ancient_Greek_Musical_Notation[] = { 1,
> -0x1d200, 0x1d24f,
> -}; /* END of CR_In_Ancient_Greek_Musical_Notation */
> -
> -/* PROPERTY: 'In_Mayan_Numerals': Block */
> -static const OnigCodePoint
> -CR_In_Mayan_Numerals[] = { 1,
> -0x1d2e0, 0x1d2ff,
> -}; /* END of CR_In_Mayan_Numerals */
> -
> -/* PROPERTY: 'In_Tai_Xuan_Jing_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Tai_Xuan_Jing_Symbols[] = { 1,
> -0x1d300, 0x1d35f,
> -}; /* END of CR_In_Tai_Xuan_Jing_Symbols */
> -
> -/* PROPERTY: 'In_Counting_Rod_Numerals': Block */
> -static const OnigCodePoint
> -CR_In_Counting_Rod_Numerals[] = { 1,
> -0x1d360, 0x1d37f,
> -}; /* END of CR_In_Counting_Rod_Numerals */
> -
> -/* PROPERTY: 'In_Mathematical_Alphanumeric_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Mathematical_Alphanumeric_Symbols[] = { 1,
> -0x1d400, 0x1d7ff,
> -}; /* END of CR_In_Mathematical_Alphanumeric_Symbols */
> -
> -/* PROPERTY: 'In_Sutton_SignWriting': Block */
> -static const OnigCodePoint
> -CR_In_Sutton_SignWriting[] = { 1,
> -0x1d800, 0x1daaf,
> -}; /* END of CR_In_Sutton_SignWriting */
> -
> -/* PROPERTY: 'In_Glagolitic_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Glagolitic_Supplement[] = { 1,
> -0x1e000, 0x1e02f,
> -}; /* END of CR_In_Glagolitic_Supplement */
> -
> -/* PROPERTY: 'In_Nyiakeng_Puachue_Hmong': Block */
> -static const OnigCodePoint
> -CR_In_Nyiakeng_Puachue_Hmong[] = { 1,
> -0x1e100, 0x1e14f,
> -}; /* END of CR_In_Nyiakeng_Puachue_Hmong */
> -
> -/* PROPERTY: 'In_Wancho': Block */
> -static const OnigCodePoint
> -CR_In_Wancho[] = { 1,
> -0x1e2c0, 0x1e2ff,
> -}; /* END of CR_In_Wancho */
> -
> -/* PROPERTY: 'In_Mende_Kikakui': Block */
> -static const OnigCodePoint
> -CR_In_Mende_Kikakui[] = { 1,
> -0x1e800, 0x1e8df,
> -}; /* END of CR_In_Mende_Kikakui */
> -
> -/* PROPERTY: 'In_Adlam': Block */
> -static const OnigCodePoint
> -CR_In_Adlam[] = { 1,
> -0x1e900, 0x1e95f,
> -}; /* END of CR_In_Adlam */
> -
> -/* PROPERTY: 'In_Indic_Siyaq_Numbers': Block */
> -static const OnigCodePoint
> -CR_In_Indic_Siyaq_Numbers[] = { 1,
> -0x1ec70, 0x1ecbf,
> -}; /* END of CR_In_Indic_Siyaq_Numbers */
> -
> -/* PROPERTY: 'In_Ottoman_Siyaq_Numbers': Block */
> -static const OnigCodePoint
> -CR_In_Ottoman_Siyaq_Numbers[] = { 1,
> -0x1ed00, 0x1ed4f,
> -}; /* END of CR_In_Ottoman_Siyaq_Numbers */
> -
> -/* PROPERTY: 'In_Arabic_Mathematical_Alphabetic_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Arabic_Mathematical_Alphabetic_Symbols[] = { 1,
> -0x1ee00, 0x1eeff,
> -}; /* END of CR_In_Arabic_Mathematical_Alphabetic_Symbols */
> -
> -/* PROPERTY: 'In_Mahjong_Tiles': Block */
> -static const OnigCodePoint
> -CR_In_Mahjong_Tiles[] = { 1,
> -0x1f000, 0x1f02f,
> -}; /* END of CR_In_Mahjong_Tiles */
> -
> -/* PROPERTY: 'In_Domino_Tiles': Block */
> -static const OnigCodePoint
> -CR_In_Domino_Tiles[] = { 1,
> -0x1f030, 0x1f09f,
> -}; /* END of CR_In_Domino_Tiles */
> -
> -/* PROPERTY: 'In_Playing_Cards': Block */
> -static const OnigCodePoint
> -CR_In_Playing_Cards[] = { 1,
> -0x1f0a0, 0x1f0ff,
> -}; /* END of CR_In_Playing_Cards */
> -
> -/* PROPERTY: 'In_Enclosed_Alphanumeric_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Enclosed_Alphanumeric_Supplement[] = { 1,
> -0x1f100, 0x1f1ff,
> -}; /* END of CR_In_Enclosed_Alphanumeric_Supplement */
> -
> -/* PROPERTY: 'In_Enclosed_Ideographic_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Enclosed_Ideographic_Supplement[] = { 1,
> -0x1f200, 0x1f2ff,
> -}; /* END of CR_In_Enclosed_Ideographic_Supplement */
> -
> -/* PROPERTY: 'In_Miscellaneous_Symbols_and_Pictographs': Block */
> -static const OnigCodePoint
> -CR_In_Miscellaneous_Symbols_and_Pictographs[] = { 1,
> -0x1f300, 0x1f5ff,
> -}; /* END of CR_In_Miscellaneous_Symbols_and_Pictographs */
> -
> -/* PROPERTY: 'In_Emoticons': Block */
> -static const OnigCodePoint
> -CR_In_Emoticons[] = { 1,
> -0x1f600, 0x1f64f,
> -}; /* END of CR_In_Emoticons */
> -
> -/* PROPERTY: 'In_Ornamental_Dingbats': Block */
> -static const OnigCodePoint
> -CR_In_Ornamental_Dingbats[] = { 1,
> -0x1f650, 0x1f67f,
> -}; /* END of CR_In_Ornamental_Dingbats */
> -
> -/* PROPERTY: 'In_Transport_and_Map_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Transport_and_Map_Symbols[] = { 1,
> -0x1f680, 0x1f6ff,
> -}; /* END of CR_In_Transport_and_Map_Symbols */
> -
> -/* PROPERTY: 'In_Alchemical_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Alchemical_Symbols[] = { 1,
> -0x1f700, 0x1f77f,
> -}; /* END of CR_In_Alchemical_Symbols */
> -
> -/* PROPERTY: 'In_Geometric_Shapes_Extended': Block */
> -static const OnigCodePoint
> -CR_In_Geometric_Shapes_Extended[] = { 1,
> -0x1f780, 0x1f7ff,
> -}; /* END of CR_In_Geometric_Shapes_Extended */
> -
> -/* PROPERTY: 'In_Supplemental_Arrows_C': Block */
> -static const OnigCodePoint
> -CR_In_Supplemental_Arrows_C[] = { 1,
> -0x1f800, 0x1f8ff,
> -}; /* END of CR_In_Supplemental_Arrows_C */
> -
> -/* PROPERTY: 'In_Supplemental_Symbols_and_Pictographs': Block */
> -static const OnigCodePoint
> -CR_In_Supplemental_Symbols_and_Pictographs[] = { 1,
> -0x1f900, 0x1f9ff,
> -}; /* END of CR_In_Supplemental_Symbols_and_Pictographs */
> -
> -/* PROPERTY: 'In_Chess_Symbols': Block */
> -static const OnigCodePoint
> -CR_In_Chess_Symbols[] = { 1,
> -0x1fa00, 0x1fa6f,
> -}; /* END of CR_In_Chess_Symbols */
> -
> -/* PROPERTY: 'In_Symbols_and_Pictographs_Extended_A': Block */
> -static const OnigCodePoint
> -CR_In_Symbols_and_Pictographs_Extended_A[] = { 1,
> -0x1fa70, 0x1faff,
> -}; /* END of CR_In_Symbols_and_Pictographs_Extended_A */
> -
> -/* PROPERTY: 'In_CJK_Unified_Ideographs_Extension_B': Block */
> -static const OnigCodePoint
> -CR_In_CJK_Unified_Ideographs_Extension_B[] = { 1,
> -0x20000, 0x2a6df,
> -}; /* END of CR_In_CJK_Unified_Ideographs_Extension_B */
> -
> -/* PROPERTY: 'In_CJK_Unified_Ideographs_Extension_C': Block */
> -static const OnigCodePoint
> -CR_In_CJK_Unified_Ideographs_Extension_C[] = { 1,
> -0x2a700, 0x2b73f,
> -}; /* END of CR_In_CJK_Unified_Ideographs_Extension_C */
> -
> -/* PROPERTY: 'In_CJK_Unified_Ideographs_Extension_D': Block */
> -static const OnigCodePoint
> -CR_In_CJK_Unified_Ideographs_Extension_D[] = { 1,
> -0x2b740, 0x2b81f,
> -}; /* END of CR_In_CJK_Unified_Ideographs_Extension_D */
> -
> -/* PROPERTY: 'In_CJK_Unified_Ideographs_Extension_E': Block */
> -static const OnigCodePoint
> -CR_In_CJK_Unified_Ideographs_Extension_E[] = { 1,
> -0x2b820, 0x2ceaf,
> -}; /* END of CR_In_CJK_Unified_Ideographs_Extension_E */
> -
> -/* PROPERTY: 'In_CJK_Unified_Ideographs_Extension_F': Block */
> -static const OnigCodePoint
> -CR_In_CJK_Unified_Ideographs_Extension_F[] = { 1,
> -0x2ceb0, 0x2ebef,
> -}; /* END of CR_In_CJK_Unified_Ideographs_Extension_F */
> -
> -/* PROPERTY: 'In_CJK_Compatibility_Ideographs_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_CJK_Compatibility_Ideographs_Supplement[] = { 1,
> -0x2f800, 0x2fa1f,
> -}; /* END of CR_In_CJK_Compatibility_Ideographs_Supplement */
> -
> -/* PROPERTY: 'In_Tags': Block */
> -static const OnigCodePoint
> -CR_In_Tags[] = { 1,
> -0xe0000, 0xe007f,
> -}; /* END of CR_In_Tags */
> -
> -/* PROPERTY: 'In_Variation_Selectors_Supplement': Block */
> -static const OnigCodePoint
> -CR_In_Variation_Selectors_Supplement[] = { 1,
> -0xe0100, 0xe01ef,
> -}; /* END of CR_In_Variation_Selectors_Supplement */
> -
> -/* PROPERTY: 'In_Supplementary_Private_Use_Area_A': Block */
> -static const OnigCodePoint
> -CR_In_Supplementary_Private_Use_Area_A[] = { 1,
> -0xf0000, 0xfffff,
> -}; /* END of CR_In_Supplementary_Private_Use_Area_A */
> -
> -/* PROPERTY: 'In_Supplementary_Private_Use_Area_B': Block */
> -static const OnigCodePoint
> -CR_In_Supplementary_Private_Use_Area_B[] = { 1,
> -0x100000, 0x10ffff,
> -}; /* END of CR_In_Supplementary_Private_Use_Area_B */
> -
> -/* PROPERTY: 'In_No_Block': Block */
> -static const OnigCodePoint
> -CR_In_No_Block[] = { 53,
> -0x0870, 0x089f,
> -0x2fe0, 0x2fef,
> -0x10200, 0x1027f,
> -0x103e0, 0x103ff,
> -0x10570, 0x105ff,
> -0x10780, 0x107ff,
> -0x108b0, 0x108df,
> -0x10940, 0x1097f,
> -0x10aa0, 0x10abf,
> -0x10bb0, 0x10bff,
> -0x10c50, 0x10c7f,
> -0x10d40, 0x10e5f,
> -0x10e80, 0x10eff,
> -0x10f70, 0x10fdf,
> -0x11250, 0x1127f,
> -0x11380, 0x113ff,
> -0x114e0, 0x1157f,
> -0x116d0, 0x116ff,
> -0x11740, 0x117ff,
> -0x11850, 0x1189f,
> -0x11900, 0x1199f,
> -0x11ab0, 0x11abf,
> -0x11b00, 0x11bff,
> -0x11cc0, 0x11cff,
> -0x11db0, 0x11edf,
> -0x11f00, 0x11fbf,
> -0x12550, 0x12fff,
> -0x13440, 0x143ff,
> -0x14680, 0x167ff,
> -0x16a70, 0x16acf,
> -0x16b90, 0x16e3f,
> -0x16ea0, 0x16eff,
> -0x16fa0, 0x16fdf,
> -0x18b00, 0x1afff,
> -0x1b300, 0x1bbff,
> -0x1bcb0, 0x1cfff,
> -0x1d250, 0x1d2df,
> -0x1d380, 0x1d3ff,
> -0x1dab0, 0x1dfff,
> -0x1e030, 0x1e0ff,
> -0x1e150, 0x1e2bf,
> -0x1e300, 0x1e7ff,
> -0x1e8e0, 0x1e8ff,
> -0x1e960, 0x1ec6f,
> -0x1ecc0, 0x1ecff,
> -0x1ed50, 0x1edff,
> -0x1ef00, 0x1efff,
> -0x1fb00, 0x1ffff,
> -0x2a6e0, 0x2a6ff,
> -0x2ebf0, 0x2f7ff,
> -0x2fa20, 0xdffff,
> -0xe0080, 0xe00ff,
> -0xe01f0, 0xeffff,
> -}; /* END of CR_In_No_Block */
> -
> -static const OnigCodePoint*
> -const CodeRanges[] = {
> -  CR_NEWLINE,
> -  CR_Alpha,
> -  CR_Blank,
> -  CR_Cntrl,
> -  CR_Digit,
> -  CR_Graph,
> -  CR_Lower,
> -  CR_Print,
> -  CR_Punct,
> -  CR_Space,
> -  CR_Upper,
> -  CR_XDigit,
> -  CR_Word,
> -  CR_Alnum,
> -  CR_ASCII,
> -  CR_ASCII_Hex_Digit,
> -  CR_Adlam,
> -  CR_Ahom,
> -  CR_Alphabetic,
> -  CR_Anatolian_Hieroglyphs,
> -  CR_Any,
> -  CR_Arabic,
> -  CR_Armenian,
> -  CR_Assigned,
> -  CR_Avestan,
> -  CR_Balinese,
> -  CR_Bamum,
> -  CR_Bassa_Vah,
> -  CR_Batak,
> -  CR_Bengali,
> -  CR_Bhaiksuki,
> -  CR_Bidi_Control,
> -  CR_Bopomofo,
> -  CR_Brahmi,
> -  CR_Braille,
> -  CR_Buginese,
> -  CR_Buhid,
> -  CR_C,
> -  CR_Canadian_Aboriginal,
> -  CR_Carian,
> -  CR_Case_Ignorable,
> -  CR_Cased,
> -  CR_Caucasian_Albanian,
> -  CR_Cc,
> -  CR_Cf,
> -  CR_Chakma,
> -  CR_Cham,
> -  CR_Changes_When_Casefolded,
> -  CR_Changes_When_Casemapped,
> -  CR_Changes_When_Lowercased,
> -  CR_Changes_When_Titlecased,
> -  CR_Changes_When_Uppercased,
> -  CR_Cherokee,
> -  CR_Cn,
> -  CR_Co,
> -  CR_Common,
> -  CR_Coptic,
> -  CR_Cs,
> -  CR_Cuneiform,
> -  CR_Cypriot,
> -  CR_Cyrillic,
> -  CR_Dash,
> -  CR_Default_Ignorable_Code_Point,
> -  CR_Deprecated,
> -  CR_Deseret,
> -  CR_Devanagari,
> -  CR_Diacritic,
> -  CR_Dogra,
> -  CR_Duployan,
> -  CR_Egyptian_Hieroglyphs,
> -  CR_Elbasan,
> -  CR_Elymaic,
> -  CR_Emoji,
> -  CR_Emoji_Component,
> -  CR_Emoji_Modifier,
> -  CR_Emoji_Modifier_Base,
> -  CR_Emoji_Presentation,
> -  CR_Ethiopic,
> -  CR_Extended_Pictographic,
> -  CR_Extender,
> -  CR_Georgian,
> -  CR_Glagolitic,
> -  CR_Gothic,
> -  CR_Grantha,
> -  CR_Grapheme_Base,
> -  CR_Grapheme_Extend,
> -  CR_Grapheme_Link,
> -  CR_Greek,
> -  CR_Gujarati,
> -  CR_Gunjala_Gondi,
> -  CR_Gurmukhi,
> -  CR_Han,
> -  CR_Hangul,
> -  CR_Hanifi_Rohingya,
> -  CR_Hanunoo,
> -  CR_Hatran,
> -  CR_Hebrew,
> -  CR_Hex_Digit,
> -  CR_Hiragana,
> -  CR_Hyphen,
> -  CR_IDS_Binary_Operator,
> -  CR_IDS_Trinary_Operator,
> -  CR_ID_Continue,
> -  CR_ID_Start,
> -  CR_Ideographic,
> -  CR_Imperial_Aramaic,
> -  CR_Inherited,
> -  CR_Inscriptional_Pahlavi,
> -  CR_Inscriptional_Parthian,
> -  CR_Javanese,
> -  CR_Join_Control,
> -  CR_Kaithi,
> -  CR_Kannada,
> -  CR_Katakana,
> -  CR_Kayah_Li,
> -  CR_Kharoshthi,
> -  CR_Khmer,
> -  CR_Khojki,
> -  CR_Khudawadi,
> -  CR_L,
> -  CR_LC,
> -  CR_Lao,
> -  CR_Latin,
> -  CR_Lepcha,
> -  CR_Limbu,
> -  CR_Linear_A,
> -  CR_Linear_B,
> -  CR_Lisu,
> -  CR_Ll,
> -  CR_Lm,
> -  CR_Lo,
> -  CR_Logical_Order_Exception,
> -  CR_Lowercase,
> -  CR_Lt,
> -  CR_Lu,
> -  CR_Lycian,
> -  CR_Lydian,
> -  CR_M,
> -  CR_Mahajani,
> -  CR_Makasar,
> -  CR_Malayalam,
> -  CR_Mandaic,
> -  CR_Manichaean,
> -  CR_Marchen,
> -  CR_Masaram_Gondi,
> -  CR_Math,
> -  CR_Mc,
> -  CR_Me,
> -  CR_Medefaidrin,
> -  CR_Meetei_Mayek,
> -  CR_Mende_Kikakui,
> -  CR_Meroitic_Cursive,
> -  CR_Meroitic_Hieroglyphs,
> -  CR_Miao,
> -  CR_Mn,
> -  CR_Modi,
> -  CR_Mongolian,
> -  CR_Mro,
> -  CR_Multani,
> -  CR_Myanmar,
> -  CR_N,
> -  CR_Nabataean,
> -  CR_Nandinagari,
> -  CR_Nd,
> -  CR_New_Tai_Lue,
> -  CR_Newa,
> -  CR_Nko,
> -  CR_Nl,
> -  CR_No,
> -  CR_Noncharacter_Code_Point,
> -  CR_Nushu,
> -  CR_Nyiakeng_Puachue_Hmong,
> -  CR_Ogham,
> -  CR_Ol_Chiki,
> -  CR_Old_Hungarian,
> -  CR_Old_Italic,
> -  CR_Old_North_Arabian,
> -  CR_Old_Permic,
> -  CR_Old_Persian,
> -  CR_Old_Sogdian,
> -  CR_Old_South_Arabian,
> -  CR_Old_Turkic,
> -  CR_Oriya,
> -  CR_Osage,
> -  CR_Osmanya,
> -  CR_Other_Alphabetic,
> -  CR_Other_Default_Ignorable_Code_Point,
> -  CR_Other_Grapheme_Extend,
> -  CR_Other_ID_Continue,
> -  CR_Other_ID_Start,
> -  CR_Other_Lowercase,
> -  CR_Other_Math,
> -  CR_Other_Uppercase,
> -  CR_P,
> -  CR_Pahawh_Hmong,
> -  CR_Palmyrene,
> -  CR_Pattern_Syntax,
> -  CR_Pattern_White_Space,
> -  CR_Pau_Cin_Hau,
> -  CR_Pc,
> -  CR_Pd,
> -  CR_Pe,
> -  CR_Pf,
> -  CR_Phags_Pa,
> -  CR_Phoenician,
> -  CR_Pi,
> -  CR_Po,
> -  CR_Prepended_Concatenation_Mark,
> -  CR_Ps,
> -  CR_Psalter_Pahlavi,
> -  CR_Quotation_Mark,
> -  CR_Radical,
> -  CR_Regional_Indicator,
> -  CR_Rejang,
> -  CR_Runic,
> -  CR_S,
> -  CR_Samaritan,
> -  CR_Saurashtra,
> -  CR_Sc,
> -  CR_Sentence_Terminal,
> -  CR_Sharada,
> -  CR_Shavian,
> -  CR_Siddham,
> -  CR_SignWriting,
> -  CR_Sinhala,
> -  CR_Sk,
> -  CR_Sm,
> -  CR_So,
> -  CR_Soft_Dotted,
> -  CR_Sogdian,
> -  CR_Sora_Sompeng,
> -  CR_Soyombo,
> -  CR_Sundanese,
> -  CR_Syloti_Nagri,
> -  CR_Syriac,
> -  CR_Tagalog,
> -  CR_Tagbanwa,
> -  CR_Tai_Le,
> -  CR_Tai_Tham,
> -  CR_Tai_Viet,
> -  CR_Takri,
> -  CR_Tamil,
> -  CR_Tangut,
> -  CR_Telugu,
> -  CR_Terminal_Punctuation,
> -  CR_Thaana,
> -  CR_Thai,
> -  CR_Tibetan,
> -  CR_Tifinagh,
> -  CR_Tirhuta,
> -  CR_Ugaritic,
> -  CR_Unified_Ideograph,
> -  CR_Unknown,
> -  CR_Uppercase,
> -  CR_Vai,
> -  CR_Variation_Selector,
> -  CR_Wancho,
> -  CR_Warang_Citi,
> -  CR_White_Space,
> -  CR_XID_Continue,
> -  CR_XID_Start,
> -  CR_Yi,
> -  CR_Z,
> -  CR_Zanabazar_Square,
> -  CR_Zl,
> -  CR_Zp,
> -  CR_Zs,
> -  CR_In_Basic_Latin,
> -  CR_In_Latin_1_Supplement,
> -  CR_In_Latin_Extended_A,
> -  CR_In_Latin_Extended_B,
> -  CR_In_IPA_Extensions,
> -  CR_In_Spacing_Modifier_Letters,
> -  CR_In_Combining_Diacritical_Marks,
> -  CR_In_Greek_and_Coptic,
> -  CR_In_Cyrillic,
> -  CR_In_Cyrillic_Supplement,
> -  CR_In_Armenian,
> -  CR_In_Hebrew,
> -  CR_In_Arabic,
> -  CR_In_Syriac,
> -  CR_In_Arabic_Supplement,
> -  CR_In_Thaana,
> -  CR_In_NKo,
> -  CR_In_Samaritan,
> -  CR_In_Mandaic,
> -  CR_In_Syriac_Supplement,
> -  CR_In_Arabic_Extended_A,
> -  CR_In_Devanagari,
> -  CR_In_Bengali,
> -  CR_In_Gurmukhi,
> -  CR_In_Gujarati,
> -  CR_In_Oriya,
> -  CR_In_Tamil,
> -  CR_In_Telugu,
> -  CR_In_Kannada,
> -  CR_In_Malayalam,
> -  CR_In_Sinhala,
> -  CR_In_Thai,
> -  CR_In_Lao,
> -  CR_In_Tibetan,
> -  CR_In_Myanmar,
> -  CR_In_Georgian,
> -  CR_In_Hangul_Jamo,
> -  CR_In_Ethiopic,
> -  CR_In_Ethiopic_Supplement,
> -  CR_In_Cherokee,
> -  CR_In_Unified_Canadian_Aboriginal_Syllabics,
> -  CR_In_Ogham,
> -  CR_In_Runic,
> -  CR_In_Tagalog,
> -  CR_In_Hanunoo,
> -  CR_In_Buhid,
> -  CR_In_Tagbanwa,
> -  CR_In_Khmer,
> -  CR_In_Mongolian,
> -  CR_In_Unified_Canadian_Aboriginal_Syllabics_Extended,
> -  CR_In_Limbu,
> -  CR_In_Tai_Le,
> -  CR_In_New_Tai_Lue,
> -  CR_In_Khmer_Symbols,
> -  CR_In_Buginese,
> -  CR_In_Tai_Tham,
> -  CR_In_Combining_Diacritical_Marks_Extended,
> -  CR_In_Balinese,
> -  CR_In_Sundanese,
> -  CR_In_Batak,
> -  CR_In_Lepcha,
> -  CR_In_Ol_Chiki,
> -  CR_In_Cyrillic_Extended_C,
> -  CR_In_Georgian_Extended,
> -  CR_In_Sundanese_Supplement,
> -  CR_In_Vedic_Extensions,
> -  CR_In_Phonetic_Extensions,
> -  CR_In_Phonetic_Extensions_Supplement,
> -  CR_In_Combining_Diacritical_Marks_Supplement,
> -  CR_In_Latin_Extended_Additional,
> -  CR_In_Greek_Extended,
> -  CR_In_General_Punctuation,
> -  CR_In_Superscripts_and_Subscripts,
> -  CR_In_Currency_Symbols,
> -  CR_In_Combining_Diacritical_Marks_for_Symbols,
> -  CR_In_Letterlike_Symbols,
> -  CR_In_Number_Forms,
> -  CR_In_Arrows,
> -  CR_In_Mathematical_Operators,
> -  CR_In_Miscellaneous_Technical,
> -  CR_In_Control_Pictures,
> -  CR_In_Optical_Character_Recognition,
> -  CR_In_Enclosed_Alphanumerics,
> -  CR_In_Box_Drawing,
> -  CR_In_Block_Elements,
> -  CR_In_Geometric_Shapes,
> -  CR_In_Miscellaneous_Symbols,
> -  CR_In_Dingbats,
> -  CR_In_Miscellaneous_Mathematical_Symbols_A,
> -  CR_In_Supplemental_Arrows_A,
> -  CR_In_Braille_Patterns,
> -  CR_In_Supplemental_Arrows_B,
> -  CR_In_Miscellaneous_Mathematical_Symbols_B,
> -  CR_In_Supplemental_Mathematical_Operators,
> -  CR_In_Miscellaneous_Symbols_and_Arrows,
> -  CR_In_Glagolitic,
> -  CR_In_Latin_Extended_C,
> -  CR_In_Coptic,
> -  CR_In_Georgian_Supplement,
> -  CR_In_Tifinagh,
> -  CR_In_Ethiopic_Extended,
> -  CR_In_Cyrillic_Extended_A,
> -  CR_In_Supplemental_Punctuation,
> -  CR_In_CJK_Radicals_Supplement,
> -  CR_In_Kangxi_Radicals,
> -  CR_In_Ideographic_Description_Characters,
> -  CR_In_CJK_Symbols_and_Punctuation,
> -  CR_In_Hiragana,
> -  CR_In_Katakana,
> -  CR_In_Bopomofo,
> -  CR_In_Hangul_Compatibility_Jamo,
> -  CR_In_Kanbun,
> -  CR_In_Bopomofo_Extended,
> -  CR_In_CJK_Strokes,
> -  CR_In_Katakana_Phonetic_Extensions,
> -  CR_In_Enclosed_CJK_Letters_and_Months,
> -  CR_In_CJK_Compatibility,
> -  CR_In_CJK_Unified_Ideographs_Extension_A,
> -  CR_In_Yijing_Hexagram_Symbols,
> -  CR_In_CJK_Unified_Ideographs,
> -  CR_In_Yi_Syllables,
> -  CR_In_Yi_Radicals,
> -  CR_In_Lisu,
> -  CR_In_Vai,
> -  CR_In_Cyrillic_Extended_B,
> -  CR_In_Bamum,
> -  CR_In_Modifier_Tone_Letters,
> -  CR_In_Latin_Extended_D,
> -  CR_In_Syloti_Nagri,
> -  CR_In_Common_Indic_Number_Forms,
> -  CR_In_Phags_pa,
> -  CR_In_Saurashtra,
> -  CR_In_Devanagari_Extended,
> -  CR_In_Kayah_Li,
> -  CR_In_Rejang,
> -  CR_In_Hangul_Jamo_Extended_A,
> -  CR_In_Javanese,
> -  CR_In_Myanmar_Extended_B,
> -  CR_In_Cham,
> -  CR_In_Myanmar_Extended_A,
> -  CR_In_Tai_Viet,
> -  CR_In_Meetei_Mayek_Extensions,
> -  CR_In_Ethiopic_Extended_A,
> -  CR_In_Latin_Extended_E,
> -  CR_In_Cherokee_Supplement,
> -  CR_In_Meetei_Mayek,
> -  CR_In_Hangul_Syllables,
> -  CR_In_Hangul_Jamo_Extended_B,
> -  CR_In_High_Surrogates,
> -  CR_In_High_Private_Use_Surrogates,
> -  CR_In_Low_Surrogates,
> -  CR_In_Private_Use_Area,
> -  CR_In_CJK_Compatibility_Ideographs,
> -  CR_In_Alphabetic_Presentation_Forms,
> -  CR_In_Arabic_Presentation_Forms_A,
> -  CR_In_Variation_Selectors,
> -  CR_In_Vertical_Forms,
> -  CR_In_Combining_Half_Marks,
> -  CR_In_CJK_Compatibility_Forms,
> -  CR_In_Small_Form_Variants,
> -  CR_In_Arabic_Presentation_Forms_B,
> -  CR_In_Halfwidth_and_Fullwidth_Forms,
> -  CR_In_Specials,
> -  CR_In_Linear_B_Syllabary,
> -  CR_In_Linear_B_Ideograms,
> -  CR_In_Aegean_Numbers,
> -  CR_In_Ancient_Greek_Numbers,
> -  CR_In_Ancient_Symbols,
> -  CR_In_Phaistos_Disc,
> -  CR_In_Lycian,
> -  CR_In_Carian,
> -  CR_In_Coptic_Epact_Numbers,
> -  CR_In_Old_Italic,
> -  CR_In_Gothic,
> -  CR_In_Old_Permic,
> -  CR_In_Ugaritic,
> -  CR_In_Old_Persian,
> -  CR_In_Deseret,
> -  CR_In_Shavian,
> -  CR_In_Osmanya,
> -  CR_In_Osage,
> -  CR_In_Elbasan,
> -  CR_In_Caucasian_Albanian,
> -  CR_In_Linear_A,
> -  CR_In_Cypriot_Syllabary,
> -  CR_In_Imperial_Aramaic,
> -  CR_In_Palmyrene,
> -  CR_In_Nabataean,
> -  CR_In_Hatran,
> -  CR_In_Phoenician,
> -  CR_In_Lydian,
> -  CR_In_Meroitic_Hieroglyphs,
> -  CR_In_Meroitic_Cursive,
> -  CR_In_Kharoshthi,
> -  CR_In_Old_South_Arabian,
> -  CR_In_Old_North_Arabian,
> -  CR_In_Manichaean,
> -  CR_In_Avestan,
> -  CR_In_Inscriptional_Parthian,
> -  CR_In_Inscriptional_Pahlavi,
> -  CR_In_Psalter_Pahlavi,
> -  CR_In_Old_Turkic,
> -  CR_In_Old_Hungarian,
> -  CR_In_Hanifi_Rohingya,
> -  CR_In_Rumi_Numeral_Symbols,
> -  CR_In_Old_Sogdian,
> -  CR_In_Sogdian,
> -  CR_In_Elymaic,
> -  CR_In_Brahmi,
> -  CR_In_Kaithi,
> -  CR_In_Sora_Sompeng,
> -  CR_In_Chakma,
> -  CR_In_Mahajani,
> -  CR_In_Sharada,
> -  CR_In_Sinhala_Archaic_Numbers,
> -  CR_In_Khojki,
> -  CR_In_Multani,
> -  CR_In_Khudawadi,
> -  CR_In_Grantha,
> -  CR_In_Newa,
> -  CR_In_Tirhuta,
> -  CR_In_Siddham,
> -  CR_In_Modi,
> -  CR_In_Mongolian_Supplement,
> -  CR_In_Takri,
> -  CR_In_Ahom,
> -  CR_In_Dogra,
> -  CR_In_Warang_Citi,
> -  CR_In_Nandinagari,
> -  CR_In_Zanabazar_Square,
> -  CR_In_Soyombo,
> -  CR_In_Pau_Cin_Hau,
> -  CR_In_Bhaiksuki,
> -  CR_In_Marchen,
> -  CR_In_Masaram_Gondi,
> -  CR_In_Gunjala_Gondi,
> -  CR_In_Makasar,
> -  CR_In_Tamil_Supplement,
> -  CR_In_Cuneiform,
> -  CR_In_Cuneiform_Numbers_and_Punctuation,
> -  CR_In_Early_Dynastic_Cuneiform,
> -  CR_In_Egyptian_Hieroglyphs,
> -  CR_In_Egyptian_Hieroglyph_Format_Controls,
> -  CR_In_Anatolian_Hieroglyphs,
> -  CR_In_Bamum_Supplement,
> -  CR_In_Mro,
> -  CR_In_Bassa_Vah,
> -  CR_In_Pahawh_Hmong,
> -  CR_In_Medefaidrin,
> -  CR_In_Miao,
> -  CR_In_Ideographic_Symbols_and_Punctuation,
> -  CR_In_Tangut,
> -  CR_In_Tangut_Components,
> -  CR_In_Kana_Supplement,
> -  CR_In_Kana_Extended_A,
> -  CR_In_Small_Kana_Extension,
> -  CR_In_Nushu,
> -  CR_In_Duployan,
> -  CR_In_Shorthand_Format_Controls,
> -  CR_In_Byzantine_Musical_Symbols,
> -  CR_In_Musical_Symbols,
> -  CR_In_Ancient_Greek_Musical_Notation,
> -  CR_In_Mayan_Numerals,
> -  CR_In_Tai_Xuan_Jing_Symbols,
> -  CR_In_Counting_Rod_Numerals,
> -  CR_In_Mathematical_Alphanumeric_Symbols,
> -  CR_In_Sutton_SignWriting,
> -  CR_In_Glagolitic_Supplement,
> -  CR_In_Nyiakeng_Puachue_Hmong,
> -  CR_In_Wancho,
> -  CR_In_Mende_Kikakui,
> -  CR_In_Adlam,
> -  CR_In_Indic_Siyaq_Numbers,
> -  CR_In_Ottoman_Siyaq_Numbers,
> -  CR_In_Arabic_Mathematical_Alphabetic_Symbols,
> -  CR_In_Mahjong_Tiles,
> -  CR_In_Domino_Tiles,
> -  CR_In_Playing_Cards,
> -  CR_In_Enclosed_Alphanumeric_Supplement,
> -  CR_In_Enclosed_Ideographic_Supplement,
> -  CR_In_Miscellaneous_Symbols_and_Pictographs,
> -  CR_In_Emoticons,
> -  CR_In_Ornamental_Dingbats,
> -  CR_In_Transport_and_Map_Symbols,
> -  CR_In_Alchemical_Symbols,
> -  CR_In_Geometric_Shapes_Extended,
> -  CR_In_Supplemental_Arrows_C,
> -  CR_In_Supplemental_Symbols_and_Pictographs,
> -  CR_In_Chess_Symbols,
> -  CR_In_Symbols_and_Pictographs_Extended_A,
> -  CR_In_CJK_Unified_Ideographs_Extension_B,
> -  CR_In_CJK_Unified_Ideographs_Extension_C,
> -  CR_In_CJK_Unified_Ideographs_Extension_D,
> -  CR_In_CJK_Unified_Ideographs_Extension_E,
> -  CR_In_CJK_Unified_Ideographs_Extension_F,
> -  CR_In_CJK_Compatibility_Ideographs_Supplement,
> -  CR_In_Tags,
> -  CR_In_Variation_Selectors_Supplement,
> -  CR_In_Supplementary_Private_Use_Area_A,
> -  CR_In_Supplementary_Private_Use_Area_B,
> -  CR_In_No_Block,
> -};
> -
> -#define pool_offset(s) offsetof(struct unicode_prop_name_pool_t,
> unicode_prop_name_pool_str##s)
> -
> -
> -#define TOTAL_KEYWORDS 801
> -#define MIN_WORD_LENGTH 1
> -#define MAX_WORD_LENGTH 44
> -#define MIN_HASH_VALUE 10
> -#define MAX_HASH_VALUE 5809
> -/* maximum key range = 5800, duplicates = 0 */
> -
> -#ifndef GPERF_DOWNCASE
> -#define GPERF_DOWNCASE 1
> -static unsigned char gperf_downcase[256] =
> -  {
> -      0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,  13,  14,
> -     15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
> -     30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
> -     45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
> -     60,  61,  62,  63,  64,  97,  98,  99, 100, 101, 102, 103, 104, 105, 106,
> -    107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
> -    122,  91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103, 104,
> -    105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
> -    120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
> -    135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
> -    150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
> -    165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
> -    180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
> -    195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
> -    210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
> -    225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
> -    240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
> -    255
> -  };
> -#endif
> -
> -#ifndef GPERF_CASE_STRNCMP
> -#define GPERF_CASE_STRNCMP 1
> -static int
> -gperf_case_strncmp (register const char *s1, register const char *s2,
> register size_t n)
> -{
> -  for (; n > 0;)
> -    {
> -      unsigned char c1 = gperf_downcase[(unsigned char)*s1++];
> -      unsigned char c2 = gperf_downcase[(unsigned char)*s2++];
> -      if (c1 != 0 && c1 == c2)
> -        {
> -          n--;
> -          continue;
> -        }
> -      return (int)c1 - (int)c2;
> -    }
> -  return 0;
> -}
> -#endif
> -
> -#ifdef __GNUC__
> -__inline
> -#else
> -#ifdef __cplusplus
> -inline
> -#endif
> -#endif
> -static unsigned int
> -hash (register const char *str, register size_t len)
> -{
> -  static const unsigned short asso_values[] =
> -    {
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810,    0, 1121,  136,  394,   19,
> -       417, 1048,  958,    7,  856,    8,  415,  103,    3,   16,
> -      1380, 1068,   56,  181,  326,  631, 1151,  930,  358, 1083,
> -         8,    0,    5, 5810, 5810, 5810, 5810,    0, 1121,  136,
> -       394,   19,  417, 1048,  958,    7,  856,    8,  415,  103,
> -         3,   16, 1380, 1068,   56,  181,  326,  631, 1151,  930,
> -       358, 1083,    8,    0,    5, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810,
> -      5810, 5810, 5810, 5810, 5810, 5810, 5810, 5810
> -    };
> -  register unsigned int hval = (unsigned int )len;
> -
> -  switch (hval)
> -    {
> -      default:
> -        hval += asso_values[(unsigned char)str[15]];
> -      /*FALLTHROUGH*/
> -      case 15:
> -      case 14:
> -      case 13:
> -      case 12:
> -        hval += asso_values[(unsigned char)str[11]];
> -      /*FALLTHROUGH*/
> -      case 11:
> -      case 10:
> -      case 9:
> -      case 8:
> -      case 7:
> -      case 6:
> -        hval += asso_values[(unsigned char)str[5]];
> -      /*FALLTHROUGH*/
> -      case 5:
> -        hval += asso_values[(unsigned char)str[4]];
> -      /*FALLTHROUGH*/
> -      case 4:
> -      case 3:
> -        hval += asso_values[(unsigned char)str[2]];
> -      /*FALLTHROUGH*/
> -      case 2:
> -        hval += asso_values[(unsigned char)str[1]];
> -      /*FALLTHROUGH*/
> -      case 1:
> -        hval += asso_values[(unsigned char)str[0]+2];
> -        break;
> -    }
> -  return hval + asso_values[(unsigned char)str[len - 1]];
> -}
> -
> -struct unicode_prop_name_pool_t
> -  {
> -    char unicode_prop_name_pool_str10[sizeof("lana")];
> -    char unicode_prop_name_pool_str14[sizeof("z")];
> -    char unicode_prop_name_pool_str16[sizeof("yi")];
> -    char unicode_prop_name_pool_str17[sizeof("lina")];
> -    char unicode_prop_name_pool_str24[sizeof("mn")];
> -    char unicode_prop_name_pool_str25[sizeof("yiii")];
> -    char unicode_prop_name_pool_str27[sizeof("cn")];
> -    char unicode_prop_name_pool_str28[sizeof("maka")];
> -    char unicode_prop_name_pool_str30[sizeof("mani")];
> -    char unicode_prop_name_pool_str33[sizeof("zzzz")];
> -    char unicode_prop_name_pool_str34[sizeof("inkannada")];
> -    char unicode_prop_name_pool_str35[sizeof("ci")];
> -    char unicode_prop_name_pool_str37[sizeof("lo")];
> -    char unicode_prop_name_pool_str38[sizeof("lao")];
> -    char unicode_prop_name_pool_str39[sizeof("laoo")];
> -    char unicode_prop_name_pool_str43[sizeof("miao")];
> -    char unicode_prop_name_pool_str51[sizeof("innko")];
> -    char unicode_prop_name_pool_str53[sizeof("co")];
> -    char unicode_prop_name_pool_str56[sizeof("me")];
> -    char unicode_prop_name_pool_str60[sizeof("loe")];
> -    char unicode_prop_name_pool_str70[sizeof("gran")];
> -    char unicode_prop_name_pool_str72[sizeof("pi")];
> -    char unicode_prop_name_pool_str76[sizeof("lineara")];
> -    char unicode_prop_name_pool_str84[sizeof("mark")];
> -    char unicode_prop_name_pool_str86[sizeof("cari")];
> -    char unicode_prop_name_pool_str87[sizeof("carian")];
> -    char unicode_prop_name_pool_str90[sizeof("po")];
> -    char unicode_prop_name_pool_str91[sizeof("mendekikakui")];
> -    char unicode_prop_name_pool_str94[sizeof("grek")];
> -    char unicode_prop_name_pool_str96[sizeof("pe")];
> -    char unicode_prop_name_pool_str99[sizeof("meeteimayek")];
> -    char unicode_prop_name_pool_str101[sizeof("inkharoshthi")];
> -    char unicode_prop_name_pool_str102[sizeof("geor")];
> -    char unicode_prop_name_pool_str103[sizeof("greek")];
> -    char unicode_prop_name_pool_str107[sizeof("mro")];
> -    char unicode_prop_name_pool_str108[sizeof("mroo")];
> -    char unicode_prop_name_pool_str110[sizeof("kana")];
> -    char unicode_prop_name_pool_str111[sizeof("mero")];
> -    char unicode_prop_name_pool_str120[sizeof("m")];
> -    char unicode_prop_name_pool_str133[sizeof("gonm")];
> -    char unicode_prop_name_pool_str134[sizeof("cakm")];
> -    char unicode_prop_name_pool_str139[sizeof("inosmanya")];
> -    char unicode_prop_name_pool_str142[sizeof("inmanichaean")];
> -    char unicode_prop_name_pool_str146[sizeof("inarmenian")];
> -    char unicode_prop_name_pool_str151[sizeof("inmro")];
> -    char unicode_prop_name_pool_str152[sizeof("inmiao")];
> -    char unicode_prop_name_pool_str156[sizeof("c")];
> -    char unicode_prop_name_pool_str163[sizeof("inchakma")];
> -    char unicode_prop_name_pool_str166[sizeof("common")];
> -    char unicode_prop_name_pool_str169[sizeof("mandaic")];
> -    char unicode_prop_name_pool_str182[sizeof("inmyanmar")];
> -    char unicode_prop_name_pool_str187[sizeof("inmakasar")];
> -    char unicode_prop_name_pool_str192[sizeof("qaai")];
> -    char
> unicode_prop_name_pool_str200[sizeof("inideographicsymbolsandpunctua
> tion")];
> -    char unicode_prop_name_pool_str204[sizeof("inkhmer")];
> -    char unicode_prop_name_pool_str207[sizeof("cans")];
> -    char
> unicode_prop_name_pool_str209[sizeof("prependedconcatenationmark")];
> -    char unicode_prop_name_pool_str211[sizeof("lm")];
> -    char unicode_prop_name_pool_str212[sizeof("marc")];
> -    char unicode_prop_name_pool_str219[sizeof("connectorpunctuation")];
> -    char unicode_prop_name_pool_str220[sizeof("inrunic")];
> -    char unicode_prop_name_pool_str221[sizeof("incarian")];
> -    char unicode_prop_name_pool_str223[sizeof("inavestan")];
> -    char unicode_prop_name_pool_str225[sizeof("combiningmark")];
> -    char
> unicode_prop_name_pool_str226[sizeof("incuneiformnumbersandpunctuat
> ion")];
> -    char unicode_prop_name_pool_str231[sizeof("merc")];
> -    char unicode_prop_name_pool_str238[sizeof("perm")];
> -    char unicode_prop_name_pool_str239[sizeof("inahom")];
> -    char unicode_prop_name_pool_str240[sizeof("inipaextensions")];
> -    char unicode_prop_name_pool_str251[sizeof("incherokee")];
> -    char unicode_prop_name_pool_str257[sizeof("insharada")];
> -    char unicode_prop_name_pool_str268[sizeof("makasar")];
> -    char unicode_prop_name_pool_str272[sizeof("inarrows")];
> -    char unicode_prop_name_pool_str277[sizeof("lc")];
> -    char unicode_prop_name_pool_str279[sizeof("masaramgondi")];
> -    char unicode_prop_name_pool_str283[sizeof("incuneiform")];
> -    char unicode_prop_name_pool_str290[sizeof("mc")];
> -    char unicode_prop_name_pool_str293[sizeof("cc")];
> -    char unicode_prop_name_pool_str295[sizeof("inzanabazarsquare")];
> -    char unicode_prop_name_pool_str298[sizeof("lineseparator")];
> -    char unicode_prop_name_pool_str302[sizeof("armn")];
> -    char unicode_prop_name_pool_str305[sizeof("qmark")];
> -    char unicode_prop_name_pool_str306[sizeof("armi")];
> -    char unicode_prop_name_pool_str309[sizeof("insamaritan")];
> -    char unicode_prop_name_pool_str316[sizeof("armenian")];
> -    char unicode_prop_name_pool_str318[sizeof("inmarchen")];
> -    char unicode_prop_name_pool_str319[sizeof("inmasaramgondi")];
> -    char unicode_prop_name_pool_str321[sizeof("qaac")];
> -    char unicode_prop_name_pool_str330[sizeof("pc")];
> -    char unicode_prop_name_pool_str335[sizeof("inscriptionalparthian")];
> -    char unicode_prop_name_pool_str336[sizeof("latn")];
> -    char unicode_prop_name_pool_str340[sizeof("latin")];
> -    char unicode_prop_name_pool_str342[sizeof("ri")];
> -    char unicode_prop_name_pool_str345[sizeof("inthaana")];
> -    char unicode_prop_name_pool_str352[sizeof("inkhmersymbols")];
> -    char unicode_prop_name_pool_str355[sizeof("inkatakana")];
> -    char unicode_prop_name_pool_str356[sizeof("incyrillic")];
> -    char unicode_prop_name_pool_str357[sizeof("inthai")];
> -    char unicode_prop_name_pool_str359[sizeof("incham")];
> -    char unicode_prop_name_pool_str367[sizeof("inkaithi")];
> -    char unicode_prop_name_pool_str369[sizeof("zs")];
> -    char unicode_prop_name_pool_str372[sizeof("mtei")];
> -    char unicode_prop_name_pool_str375[sizeof("vai")];
> -    char unicode_prop_name_pool_str376[sizeof("vaii")];
> -    char unicode_prop_name_pool_str379[sizeof("initialpunctuation")];
> -    char unicode_prop_name_pool_str383[sizeof("cs")];
> -    char unicode_prop_name_pool_str399[sizeof("insyriac")];
> -    char unicode_prop_name_pool_str401[sizeof("pcm")];
> -    char unicode_prop_name_pool_str415[sizeof("intakri")];
> -    char unicode_prop_name_pool_str417[sizeof("mand")];
> -    char unicode_prop_name_pool_str419[sizeof("l")];
> -    char unicode_prop_name_pool_str420[sizeof("ps")];
> -    char unicode_prop_name_pool_str427[sizeof("dia")];
> -    char unicode_prop_name_pool_str431[sizeof("inkanaextendeda")];
> -    char unicode_prop_name_pool_str433[sizeof("di")];
> -    char unicode_prop_name_pool_str436[sizeof("mend")];
> -    char unicode_prop_name_pool_str437[sizeof("modi")];
> -    char unicode_prop_name_pool_str441[sizeof("ideo")];
> -    char unicode_prop_name_pool_str445[sizeof("katakana")];
> -    char unicode_prop_name_pool_str449[sizeof("prti")];
> -    char
> unicode_prop_name_pool_str456[sizeof("inideographicdescriptioncharacter
> s")];
> -    char unicode_prop_name_pool_str457[sizeof("inlineara")];
> -    char unicode_prop_name_pool_str458[sizeof("xidcontinue")];
> -    char unicode_prop_name_pool_str461[sizeof("brai")];
> -    char unicode_prop_name_pool_str463[sizeof("inlao")];
> -    char unicode_prop_name_pool_str472[sizeof("ascii")];
> -    char unicode_prop_name_pool_str474[sizeof("privateuse")];
> -    char unicode_prop_name_pool_str477[sizeof("arabic")];
> -    char unicode_prop_name_pool_str478[sizeof("mongolian")];
> -    char unicode_prop_name_pool_str480[sizeof("inmyanmarextendeda")];
> -    char unicode_prop_name_pool_str481[sizeof("inruminumeralsymbols")];
> -    char unicode_prop_name_pool_str485[sizeof("letter")];
> -    char unicode_prop_name_pool_str487[sizeof("innandinagari")];
> -    char unicode_prop_name_pool_str499[sizeof("inmeeteimayek")];
> -    char unicode_prop_name_pool_str500[sizeof("inoldnortharabian")];
> -    char unicode_prop_name_pool_str503[sizeof("grlink")];
> -    char unicode_prop_name_pool_str504[sizeof("knda")];
> -    char unicode_prop_name_pool_str507[sizeof("kannada")];
> -    char unicode_prop_name_pool_str509[sizeof("incjkcompatibilityforms")];
> -    char
> unicode_prop_name_pool_str514[sizeof("incjkcompatibilityideographs")];
> -    char unicode_prop_name_pool_str528[sizeof("inmodi")];
> -    char unicode_prop_name_pool_str529[sizeof("kali")];
> -    char unicode_prop_name_pool_str532[sizeof("control")];
> -    char unicode_prop_name_pool_str536[sizeof("inadlam")];
> -    char unicode_prop_name_pool_str538[sizeof("inspecials")];
> -    char unicode_prop_name_pool_str540[sizeof("inmendekikakui")];
> -    char
> unicode_prop_name_pool_str545[sizeof("intransportandmapsymbols")];
> -    char unicode_prop_name_pool_str547[sizeof("letternumber")];
> -    char unicode_prop_name_pool_str549[sizeof("xidc")];
> -    char unicode_prop_name_pool_str550[sizeof("inmedefaidrin")];
> -    char unicode_prop_name_pool_str558[sizeof("inchesssymbols")];
> -    char unicode_prop_name_pool_str564[sizeof("inemoticons")];
> -    char unicode_prop_name_pool_str573[sizeof("brahmi")];
> -    char unicode_prop_name_pool_str575[sizeof("inolditalic")];
> -    char unicode_prop_name_pool_str578[sizeof("palm")];
> -    char unicode_prop_name_pool_str580[sizeof("inlycian")];
> -    char
> unicode_prop_name_pool_str588[sizeof("inmiscellaneousmathematicalsym
> bolsa")];
> -    char unicode_prop_name_pool_str594[sizeof("xids")];
> -    char unicode_prop_name_pool_str603[sizeof("psalterpahlavi")];
> -    char unicode_prop_name_pool_str619[sizeof("insundanese")];
> -    char unicode_prop_name_pool_str620[sizeof("inoldsogdian")];
> -    char unicode_prop_name_pool_str632[sizeof("diacritic")];
> -    char unicode_prop_name_pool_str634[sizeof("gothic")];
> -    char unicode_prop_name_pool_str635[sizeof("inancientsymbols")];
> -    char unicode_prop_name_pool_str639[sizeof("meroiticcursive")];
> -    char unicode_prop_name_pool_str643[sizeof("inmalayalam")];
> -    char unicode_prop_name_pool_str648[sizeof("patternwhitespace")];
> -    char unicode_prop_name_pool_str649[sizeof("sk")];
> -    char unicode_prop_name_pool_str652[sizeof("insmallkanaextension")];
> -    char unicode_prop_name_pool_str656[sizeof("inmandaic")];
> -    char unicode_prop_name_pool_str657[sizeof("lt")];
> -    char unicode_prop_name_pool_str665[sizeof("so")];
> -    char unicode_prop_name_pool_str666[sizeof("inlinearbideograms")];
> -    char
> unicode_prop_name_pool_str668[sizeof("incommonindicnumberforms")];
> -    char
> unicode_prop_name_pool_str669[sizeof("incjkcompatibilityideographssuppl
> ement")];
> -    char unicode_prop_name_pool_str677[sizeof("idc")];
> -    char unicode_prop_name_pool_str678[sizeof("inoldsoutharabian")];
> -    char unicode_prop_name_pool_str699[sizeof("insylotinagri")];
> -    char unicode_prop_name_pool_str701[sizeof("idsbinaryoperator")];
> -    char unicode_prop_name_pool_str707[sizeof("sora")];
> -    char unicode_prop_name_pool_str708[sizeof("bamum")];
> -    char unicode_prop_name_pool_str709[sizeof("inkanasupplement")];
> -    char unicode_prop_name_pool_str710[sizeof("incjkstrokes")];
> -    char unicode_prop_name_pool_str715[sizeof("joinc")];
> -    char
> unicode_prop_name_pool_str718[sizeof("inopticalcharacterrecognition")];
> -    char unicode_prop_name_pool_str722[sizeof("vs")];
> -    char unicode_prop_name_pool_str728[sizeof("indominotiles")];
> -    char unicode_prop_name_pool_str732[sizeof("batk")];
> -    char unicode_prop_name_pool_str739[sizeof("grext")];
> -    char unicode_prop_name_pool_str741[sizeof("batak")];
> -    char unicode_prop_name_pool_str749[sizeof("patws")];
> -    char unicode_prop_name_pool_str752[sizeof("inmodifiertoneletters")];
> -    char unicode_prop_name_pool_str753[sizeof("ital")];
> -    char unicode_prop_name_pool_str760[sizeof("bass")];
> -    char unicode_prop_name_pool_str763[sizeof("decimalnumber")];
> -    char unicode_prop_name_pool_str765[sizeof("alnum")];
> -    char unicode_prop_name_pool_str767[sizeof("ids")];
> -    char unicode_prop_name_pool_str776[sizeof("print")];
> -    char unicode_prop_name_pool_str778[sizeof("inlatinextendeda")];
> -    char unicode_prop_name_pool_str782[sizeof("intaitham")];
> -    char unicode_prop_name_pool_str783[sizeof("inmusicalsymbols")];
> -    char unicode_prop_name_pool_str785[sizeof("intaile")];
> -    char unicode_prop_name_pool_str794[sizeof("samr")];
> -    char unicode_prop_name_pool_str809[sizeof("samaritan")];
> -    char unicode_prop_name_pool_str813[sizeof("s")];
> -    char unicode_prop_name_pool_str816[sizeof("inlatinextendede")];
> -    char unicode_prop_name_pool_str820[sizeof("bali")];
> -    char unicode_prop_name_pool_str826[sizeof("lisu")];
> -    char unicode_prop_name_pool_str827[sizeof("pauc")];
> -    char unicode_prop_name_pool_str828[sizeof("patternsyntax")];
> -    char unicode_prop_name_pool_str829[sizeof("incontrolpictures")];
> -    char unicode_prop_name_pool_str830[sizeof("blank")];
> -    char unicode_prop_name_pool_str834[sizeof("inmiscellaneoussymbols")];
> -    char unicode_prop_name_pool_str835[sizeof("ll")];
> -    char
> unicode_prop_name_pool_str836[sizeof("inancientgreekmusicalnotation")];
> -    char unicode_prop_name_pool_str837[sizeof("zl")];
> -    char unicode_prop_name_pool_str838[sizeof("inlydian")];
> -    char unicode_prop_name_pool_str839[sizeof("sm")];
> -    char
> unicode_prop_name_pool_str843[sizeof("inmiscellaneoussymbolsandarrow
> s")];
> -    char unicode_prop_name_pool_str844[sizeof("inugaritic")];
> -    char unicode_prop_name_pool_str845[sizeof("bengali")];
> -    char unicode_prop_name_pool_str846[sizeof("pd")];
> -    char
> unicode_prop_name_pool_str848[sizeof("inmiscellaneoussymbolsandpictog
> raphs")];
> -    char unicode_prop_name_pool_str850[sizeof("medf")];
> -    char unicode_prop_name_pool_str855[sizeof("cf")];
> -    char unicode_prop_name_pool_str858[sizeof("balinese")];
> -    char unicode_prop_name_pool_str860[sizeof("medefaidrin")];
> -    char unicode_prop_name_pool_str865[sizeof("han")];
> -    char unicode_prop_name_pool_str869[sizeof("intamil")];
> -    char unicode_prop_name_pool_str870[sizeof("hani")];
> -    char unicode_prop_name_pool_str871[sizeof("inmultani")];
> -    char unicode_prop_name_pool_str879[sizeof("hano")];
> -    char
> unicode_prop_name_pool_str887[sizeof("inshorthandformatcontrols")];
> -    char unicode_prop_name_pool_str891[sizeof("insaurashtra")];
> -    char unicode_prop_name_pool_str892[sizeof("pf")];
> -    char unicode_prop_name_pool_str894[sizeof("inoldturkic")];
> -    char unicode_prop_name_pool_str896[sizeof("idcontinue")];
> -    char unicode_prop_name_pool_str901[sizeof("hanunoo")];
> -    char unicode_prop_name_pool_str905[sizeof("sc")];
> -    char unicode_prop_name_pool_str906[sizeof("inkhojki")];
> -    char unicode_prop_name_pool_str913[sizeof("idst")];
> -    char unicode_prop_name_pool_str915[sizeof("canadianaboriginal")];
> -    char unicode_prop_name_pool_str923[sizeof("hira")];
> -    char unicode_prop_name_pool_str925[sizeof("plrd")];
> -    char unicode_prop_name_pool_str939[sizeof("incaucasianalbanian")];
> -    char unicode_prop_name_pool_str940[sizeof("indeseret")];
> -    char
> unicode_prop_name_pool_str945[sizeof("inearlydynasticcuneiform")];
> -    char
> unicode_prop_name_pool_str946[sizeof("inspacingmodifierletters")];
> -    char unicode_prop_name_pool_str950[sizeof("innewa")];
> -    char unicode_prop_name_pool_str972[sizeof("idstart")];
> -    char unicode_prop_name_pool_str977[sizeof("zinh")];
> -    char unicode_prop_name_pool_str981[sizeof("incyrillicextendeda")];
> -    char unicode_prop_name_pool_str984[sizeof("dsrt")];
> -    char unicode_prop_name_pool_str993[sizeof("cased")];
> -    char unicode_prop_name_pool_str999[sizeof("glagolitic")];
> -    char unicode_prop_name_pool_str1002[sizeof("inhanifirohingya")];
> -    char
> unicode_prop_name_pool_str1006[sizeof("inancientgreeknumbers")];
> -    char
> unicode_prop_name_pool_str1008[sizeof("inmeeteimayekextensions")];
> -    char unicode_prop_name_pool_str1009[sizeof("intaixuanjingsymbols")];
> -    char unicode_prop_name_pool_str1016[sizeof("joincontrol")];
> -    char unicode_prop_name_pool_str1020[sizeof("runr")];
> -    char unicode_prop_name_pool_str1023[sizeof("inwarangciti")];
> -    char unicode_prop_name_pool_str1025[sizeof("deseret")];
> -    char unicode_prop_name_pool_str1035[sizeof("inhiragana")];
> -    char unicode_prop_name_pool_str1039[sizeof("sind")];
> -    char unicode_prop_name_pool_str1047[sizeof("cherokee")];
> -    char unicode_prop_name_pool_str1050[sizeof("inlatinextendedc")];
> -    char unicode_prop_name_pool_str1052[sizeof("adlm")];
> -    char unicode_prop_name_pool_str1053[sizeof("phoenician")];
> -    char unicode_prop_name_pool_str1056[sizeof("cher")];
> -    char unicode_prop_name_pool_str1059[sizeof("marchen")];
> -    char unicode_prop_name_pool_str1062[sizeof("inkhudawadi")];
> -    char unicode_prop_name_pool_str1063[sizeof("sinhala")];
> -    char unicode_prop_name_pool_str1066[sizeof("lower")];
> -    char unicode_prop_name_pool_str1068[sizeof("graphemelink")];
> -    char unicode_prop_name_pool_str1069[sizeof("xidstart")];
> -    char unicode_prop_name_pool_str1071[sizeof("ingrantha")];
> -    char unicode_prop_name_pool_str1072[sizeof("bidic")];
> -    char unicode_prop_name_pool_str1074[sizeof("xdigit")];
> -    char unicode_prop_name_pool_str1076[sizeof("casedletter")];
> -    char unicode_prop_name_pool_str1078[sizeof("gong")];
> -    char unicode_prop_name_pool_str1079[sizeof("multani")];
> -    char unicode_prop_name_pool_str1082[sizeof("gunjalagondi")];
> -    char unicode_prop_name_pool_str1084[sizeof("cham")];
> -    char unicode_prop_name_pool_str1086[sizeof("chakma")];
> -    char unicode_prop_name_pool_str1087[sizeof("mong")];
> -    char unicode_prop_name_pool_str1088[sizeof("kaithi")];
> -    char unicode_prop_name_pool_str1089[sizeof("inmahajani")];
> -    char unicode_prop_name_pool_str1090[sizeof("graphemebase")];
> -    char unicode_prop_name_pool_str1092[sizeof("insiddham")];
> -    char unicode_prop_name_pool_str1095[sizeof("inogham")];
> -    char unicode_prop_name_pool_str1101[sizeof("inosage")];
> -    char
> unicode_prop_name_pool_str1102[sizeof("incountingrodnumerals")];
> -    char unicode_prop_name_pool_str1104[sizeof("inwancho")];
> -    char unicode_prop_name_pool_str1105[sizeof("khojki")];
> -    char unicode_prop_name_pool_str1107[sizeof("ingeneralpunctuation")];
> -    char unicode_prop_name_pool_str1108[sizeof("georgian")];
> -    char unicode_prop_name_pool_str1117[sizeof("incyrillicextendedc")];
> -    char unicode_prop_name_pool_str1118[sizeof("inkayahli")];
> -    char unicode_prop_name_pool_str1121[sizeof("khar")];
> -    char unicode_prop_name_pool_str1124[sizeof("inoriya")];
> -    char unicode_prop_name_pool_str1126[sizeof("manichaean")];
> -    char unicode_prop_name_pool_str1132[sizeof("bamu")];
> -    char unicode_prop_name_pool_str1133[sizeof("zanb")];
> -    char unicode_prop_name_pool_str1136[sizeof("oriya")];
> -    char unicode_prop_name_pool_str1137[sizeof("inolchiki")];
> -    char unicode_prop_name_pool_str1138[sizeof("linb")];
> -    char unicode_prop_name_pool_str1141[sizeof("inethiopic")];
> -    char unicode_prop_name_pool_str1143[sizeof("wara")];
> -    char unicode_prop_name_pool_str1144[sizeof("ingeorgian")];
> -    char unicode_prop_name_pool_str1149[sizeof("innabataean")];
> -    char unicode_prop_name_pool_str1154[sizeof("inkanbun")];
> -    char unicode_prop_name_pool_str1156[sizeof("adlam")];
> -    char unicode_prop_name_pool_str1157[sizeof("inbhaiksuki")];
> -    char unicode_prop_name_pool_str1162[sizeof("insinhala")];
> -    char unicode_prop_name_pool_str1163[sizeof("inelbasan")];
> -    char unicode_prop_name_pool_str1169[sizeof("lowercase")];
> -    char unicode_prop_name_pool_str1178[sizeof("takri")];
> -    char unicode_prop_name_pool_str1179[sizeof("inmongolian")];
> -    char unicode_prop_name_pool_str1181[sizeof("invai")];
> -    char unicode_prop_name_pool_str1182[sizeof("xsux")];
> -    char unicode_prop_name_pool_str1183[sizeof("cntrl")];
> -    char unicode_prop_name_pool_str1186[sizeof("emoji")];
> -    char unicode_prop_name_pool_str1187[sizeof("sterm")];
> -    char unicode_prop_name_pool_str1189[sizeof("cuneiform")];
> -    char unicode_prop_name_pool_str1192[sizeof("cwcm")];
> -    char unicode_prop_name_pool_str1194[sizeof("hatran")];
> -    char unicode_prop_name_pool_str1197[sizeof("linearb")];
> -    char unicode_prop_name_pool_str1201[sizeof("taile")];
> -    char
> unicode_prop_name_pool_str1202[sizeof("inlatinextendedadditional")];
> -    char
> unicode_prop_name_pool_str1203[sizeof("inenclosedalphanumerics")];
> -    char unicode_prop_name_pool_str1205[sizeof("anatolianhieroglyphs")];
> -    char unicode_prop_name_pool_str1206[sizeof("incyrillicsupplement")];
> -    char unicode_prop_name_pool_str1208[sizeof("intamilsupplement")];
> -    char
> unicode_prop_name_pool_str1215[sizeof("inmiscellaneoustechnical")];
> -    char unicode_prop_name_pool_str1217[sizeof("ahom")];
> -    char
> unicode_prop_name_pool_str1218[sizeof("incherokeesupplement")];
> -    char unicode_prop_name_pool_str1219[sizeof("takr")];
> -    char unicode_prop_name_pool_str1224[sizeof("khmr")];
> -    char
> unicode_prop_name_pool_str1228[sizeof("incjkunifiedideographsextension
> a")];
> -    char unicode_prop_name_pool_str1231[sizeof("quotationmark")];
> -    char unicode_prop_name_pool_str1233[sizeof("lyci")];
> -    char unicode_prop_name_pool_str1234[sizeof("lycian")];
> -    char unicode_prop_name_pool_str1235[sizeof("ingurmukhi")];
> -    char unicode_prop_name_pool_str1237[sizeof("runic")];
> -    char unicode_prop_name_pool_str1238[sizeof("limb")];
> -    char unicode_prop_name_pool_str1240[sizeof("inscriptionalpahlavi")];
> -    char unicode_prop_name_pool_str1242[sizeof("hatr")];
> -    char unicode_prop_name_pool_str1244[sizeof("variationselector")];
> -    char unicode_prop_name_pool_str1246[sizeof("modifierletter")];
> -    char
> unicode_prop_name_pool_str1247[sizeof("incjkunifiedideographsextension
> e")];
> -    char unicode_prop_name_pool_str1262[sizeof("mymr")];
> -    char unicode_prop_name_pool_str1265[sizeof("myanmar")];
> -    char unicode_prop_name_pool_str1267[sizeof("lu")];
> -    char unicode_prop_name_pool_str1275[sizeof("kharoshthi")];
> -    char unicode_prop_name_pool_str1276[sizeof("inarabic")];
> -    char unicode_prop_name_pool_str1278[sizeof("radical")];
> -    char unicode_prop_name_pool_str1281[sizeof("khmer")];
> -    char
> unicode_prop_name_pool_str1286[sizeof("inunifiedcanadianaboriginalsyllab
> ics")];
> -    char unicode_prop_name_pool_str1292[sizeof("osage")];
> -    char unicode_prop_name_pool_str1296[sizeof("sundanese")];
> -    char unicode_prop_name_pool_str1300[sizeof("innewtailue")];
> -    char unicode_prop_name_pool_str1302[sizeof("logicalorderexception")];
> -    char unicode_prop_name_pool_str1304[sizeof("math")];
> -    char unicode_prop_name_pool_str1306[sizeof("braille")];
> -    char unicode_prop_name_pool_str1311[sizeof("goth")];
> -    char unicode_prop_name_pool_str1312[sizeof("insorasompeng")];
> -    char unicode_prop_name_pool_str1316[sizeof("insoyombo")];
> -    char unicode_prop_name_pool_str1317[sizeof("arab")];
> -    char unicode_prop_name_pool_str1322[sizeof("saur")];
> -    char unicode_prop_name_pool_str1329[sizeof("guru")];
> -    char unicode_prop_name_pool_str1333[sizeof("term")];
> -    char unicode_prop_name_pool_str1337[sizeof("paucinhau")];
> -    char unicode_prop_name_pool_str1338[sizeof("inbasiclatin")];
> -    char
> unicode_prop_name_pool_str1339[sizeof("inarabicpresentationformsa")];
> -    char unicode_prop_name_pool_str1347[sizeof("punct")];
> -    char unicode_prop_name_pool_str1348[sizeof("gurmukhi")];
> -    char unicode_prop_name_pool_str1354[sizeof("grantha")];
> -    char unicode_prop_name_pool_str1355[sizeof("inshavian")];
> -    char unicode_prop_name_pool_str1356[sizeof("osma")];
> -    char
> unicode_prop_name_pool_str1357[sizeof("inenclosedalphanumericsupplem
> ent")];
> -    char unicode_prop_name_pool_str1360[sizeof("intirhuta")];
> -    char unicode_prop_name_pool_str1361[sizeof("inelymaic")];
> -    char unicode_prop_name_pool_str1362[sizeof("inhatran")];
> -    char
> unicode_prop_name_pool_str1364[sizeof("incjkunifiedideographsextension
> c")];
> -    char unicode_prop_name_pool_str1365[sizeof("emojimodifier")];
> -    char unicode_prop_name_pool_str1368[sizeof("uideo")];
> -    char unicode_prop_name_pool_str1373[sizeof("bidicontrol")];
> -    char unicode_prop_name_pool_str1379[sizeof("phnx")];
> -    char unicode_prop_name_pool_str1380[sizeof("limbu")];
> -    char unicode_prop_name_pool_str1384[sizeof("n")];
> -    char
> unicode_prop_name_pool_str1388[sizeof("inenclosedideographicsuppleme
> nt")];
> -    char unicode_prop_name_pool_str1392[sizeof("mult")];
> -    char unicode_prop_name_pool_str1398[sizeof("kthi")];
> -    char unicode_prop_name_pool_str1399[sizeof("incjkunifiedideographs")];
> -    char unicode_prop_name_pool_str1401[sizeof("ingreekandcoptic")];
> -    char unicode_prop_name_pool_str1403[sizeof("inoldhungarian")];
> -    char unicode_prop_name_pool_str1406[sizeof("incjkcompatibility")];
> -    char unicode_prop_name_pool_str1409[sizeof("grbase")];
> -    char unicode_prop_name_pool_str1411[sizeof("nandinagari")];
> -    char unicode_prop_name_pool_str1412[sizeof("brah")];
> -    char unicode_prop_name_pool_str1414[sizeof("no")];
> -    char unicode_prop_name_pool_str1421[sizeof("sd")];
> -    char unicode_prop_name_pool_str1423[sizeof("nko")];
> -    char unicode_prop_name_pool_str1424[sizeof("nkoo")];
> -    char unicode_prop_name_pool_str1427[sizeof("xpeo")];
> -    char unicode_prop_name_pool_str1430[sizeof("sidd")];
> -    char unicode_prop_name_pool_str1435[sizeof("inherited")];
> -    char unicode_prop_name_pool_str1437[sizeof("p")];
> -    char unicode_prop_name_pool_str1440[sizeof("phli")];
> -    char unicode_prop_name_pool_str1443[sizeof("inmeroitichieroglyphs")];
> -    char unicode_prop_name_pool_str1444[sizeof("inphoenician")];
> -    char unicode_prop_name_pool_str1449[sizeof("inmayannumerals")];
> -    char unicode_prop_name_pool_str1453[sizeof("saurashtra")];
> -    char unicode_prop_name_pool_str1455[sizeof("inkangxiradicals")];
> -    char unicode_prop_name_pool_str1461[sizeof("enclosingmark")];
> -    char unicode_prop_name_pool_str1467[sizeof("graphemeextend")];
> -    char unicode_prop_name_pool_str1468[sizeof("beng")];
> -    char unicode_prop_name_pool_str1473[sizeof("inbatak")];
> -    char unicode_prop_name_pool_str1474[sizeof("glag")];
> -    char unicode_prop_name_pool_str1475[sizeof("ahex")];
> -    char unicode_prop_name_pool_str1477[sizeof("patsyn")];
> -    char unicode_prop_name_pool_str1479[sizeof("odi")];
> -    char unicode_prop_name_pool_str1486[sizeof("dogra")];
> -    char unicode_prop_name_pool_str1489[sizeof("intibetan")];
> -    char unicode_prop_name_pool_str1491[sizeof("lydi")];
> -    char unicode_prop_name_pool_str1492[sizeof("lydian")];
> -    char unicode_prop_name_pool_str1499[sizeof("inblockelements")];
> -    char unicode_prop_name_pool_str1506[sizeof("cwcf")];
> -    char
> unicode_prop_name_pool_str1507[sizeof("inunifiedcanadianaboriginalsyllab
> icsextended")];
> -    char unicode_prop_name_pool_str1508[sizeof("regionalindicator")];
> -    char unicode_prop_name_pool_str1509[sizeof("ingreekextended")];
> -    char unicode_prop_name_pool_str1513[sizeof("emojimodifierbase")];
> -    char unicode_prop_name_pool_str1514[sizeof("inanatolianhieroglyphs")];
> -    char unicode_prop_name_pool_str1516[sizeof("indogra")];
> -    char unicode_prop_name_pool_str1517[sizeof("taiviet")];
> -    char unicode_prop_name_pool_str1524[sizeof("inyiradicals")];
> -    char unicode_prop_name_pool_str1525[sizeof("unassigned")];
> -    char
> unicode_prop_name_pool_str1532[sizeof("insundanesesupplement")];
> -    char unicode_prop_name_pool_str1535[sizeof("innumberforms")];
> -    char unicode_prop_name_pool_str1538[sizeof("lowercaseletter")];
> -    char unicode_prop_name_pool_str1541[sizeof("dogr")];
> -    char unicode_prop_name_pool_str1542[sizeof("lepc")];
> -    char unicode_prop_name_pool_str1545[sizeof("bhks")];
> -    char unicode_prop_name_pool_str1553[sizeof("word")];
> -    char unicode_prop_name_pool_str1554[sizeof("gujr")];
> -    char unicode_prop_name_pool_str1555[sizeof("inphaistosdisc")];
> -    char unicode_prop_name_pool_str1557[sizeof("bhaiksuki")];
> -    char unicode_prop_name_pool_str1560[sizeof("dash")];
> -    char unicode_prop_name_pool_str1562[sizeof("inarabicextendeda")];
> -    char unicode_prop_name_pool_str1565[sizeof("gujarati")];
> -    char unicode_prop_name_pool_str1566[sizeof("inlatinextendedd")];
> -    char unicode_prop_name_pool_str1567[sizeof("innoblock")];
> -    char unicode_prop_name_pool_str1570[sizeof("java")];
> -    char unicode_prop_name_pool_str1576[sizeof("ingeometricshapes")];
> -    char unicode_prop_name_pool_str1577[sizeof("cyrl")];
> -    char unicode_prop_name_pool_str1582[sizeof("indevanagari")];
> -    char unicode_prop_name_pool_str1583[sizeof("inbalinese")];
> -    char
> unicode_prop_name_pool_str1585[sizeof("inbyzantinemusicalsymbols")];
> -    char unicode_prop_name_pool_str1589[sizeof("tale")];
> -    char unicode_prop_name_pool_str1591[sizeof("deva")];
> -    char unicode_prop_name_pool_str1594[sizeof("hex")];
> -    char unicode_prop_name_pool_str1601[sizeof("inmyanmarextendedb")];
> -    char unicode_prop_name_pool_str1603[sizeof("sinh")];
> -    char unicode_prop_name_pool_str1604[sizeof("cwt")];
> -    char unicode_prop_name_pool_str1606[sizeof("shavian")];
> -    char unicode_prop_name_pool_str1607[sizeof("devanagari")];
> -    char unicode_prop_name_pool_str1609[sizeof("oidc")];
> -    char unicode_prop_name_pool_str1615[sizeof("javanese")];
> -    char unicode_prop_name_pool_str1621[sizeof("mlym")];
> -    char
> unicode_prop_name_pool_str1622[sizeof("incjkunifiedideographsextension
> d")];
> -    char unicode_prop_name_pool_str1624[sizeof("sentenceterminal")];
> -    char unicode_prop_name_pool_str1626[sizeof("malayalam")];
> -    char unicode_prop_name_pool_str1628[sizeof("inhanunoo")];
> -    char
> unicode_prop_name_pool_str1629[sizeof("insinhalaarchaicnumbers")];
> -    char unicode_prop_name_pool_str1631[sizeof("olck")];
> -    char unicode_prop_name_pool_str1633[sizeof("inimperialaramaic")];
> -    char unicode_prop_name_pool_str1636[sizeof("olower")];
> -    char unicode_prop_name_pool_str1638[sizeof("palmyrene")];
> -    char unicode_prop_name_pool_str1642[sizeof("avestan")];
> -    char
> unicode_prop_name_pool_str1645[sizeof("incjkunifiedideographsextension
> f")];
> -    char unicode_prop_name_pool_str1646[sizeof("insogdian")];
> -    char unicode_prop_name_pool_str1647[sizeof("indingbats")];
> -    char unicode_prop_name_pool_str1648[sizeof("olchiki")];
> -    char unicode_prop_name_pool_str1654[sizeof("oids")];
> -    char unicode_prop_name_pool_str1661[sizeof("punctuation")];
> -    char unicode_prop_name_pool_str1663[sizeof("sund")];
> -    char unicode_prop_name_pool_str1666[sizeof("inbraillepatterns")];
> -    char unicode_prop_name_pool_str1669[sizeof("emojicomponent")];
> -    char unicode_prop_name_pool_str1672[sizeof("ideographic")];
> -    char unicode_prop_name_pool_str1673[sizeof("taml")];
> -    char unicode_prop_name_pool_str1688[sizeof("format")];
> -    char unicode_prop_name_pool_str1694[sizeof("inornamentaldingbats")];
> -    char unicode_prop_name_pool_str1700[sizeof("coptic")];
> -    char unicode_prop_name_pool_str1702[sizeof("caseignorable")];
> -    char unicode_prop_name_pool_str1708[sizeof("idsb")];
> -    char
> unicode_prop_name_pool_str1709[sizeof("inmiscellaneousmathematicalsy
> mbolsb")];
> -    char unicode_prop_name_pool_str1712[sizeof("sogdian")];
> -    char unicode_prop_name_pool_str1715[sizeof("sogo")];
> -    char unicode_prop_name_pool_str1720[sizeof("terminalpunctuation")];
> -    char unicode_prop_name_pool_str1722[sizeof("intangut")];
> -    char unicode_prop_name_pool_str1729[sizeof("intifinagh")];
> -    char unicode_prop_name_pool_str1733[sizeof("inlowsurrogates")];
> -    char unicode_prop_name_pool_str1743[sizeof("invariationselectors")];
> -    char unicode_prop_name_pool_str1745[sizeof("copt")];
> -    char unicode_prop_name_pool_str1750[sizeof("soyo")];
> -    char unicode_prop_name_pool_str1753[sizeof("intags")];
> -    char unicode_prop_name_pool_str1756[sizeof("inverticalforms")];
> -    char unicode_prop_name_pool_str1757[sizeof("ininscriptionalparthian")];
> -    char unicode_prop_name_pool_str1760[sizeof("ininscriptionalpahlavi")];
> -    char unicode_prop_name_pool_str1763[sizeof("meroitichieroglyphs")];
> -    char unicode_prop_name_pool_str1764[sizeof("asciihexdigit")];
> -    char unicode_prop_name_pool_str1766[sizeof("inethiopicextendeda")];
> -    char unicode_prop_name_pool_str1767[sizeof("invedicextensions")];
> -    char unicode_prop_name_pool_str1781[sizeof("nand")];
> -    char unicode_prop_name_pool_str1782[sizeof("cwl")];
> -    char unicode_prop_name_pool_str1785[sizeof("cprt")];
> -    char unicode_prop_name_pool_str1791[sizeof("innushu")];
> -    char unicode_prop_name_pool_str1794[sizeof("zanabazarsquare")];
> -    char
> unicode_prop_name_pool_str1797[sizeof("ingeometricshapesextended")];
> -    char unicode_prop_name_pool_str1798[sizeof("avst")];
> -    char unicode_prop_name_pool_str1808[sizeof("imperialaramaic")];
> -    char unicode_prop_name_pool_str1810[sizeof("bopo")];
> -    char unicode_prop_name_pool_str1812[sizeof("sarb")];
> -    char unicode_prop_name_pool_str1819[sizeof("inoldpersian")];
> -    char unicode_prop_name_pool_str1830[sizeof("intaiviet")];
> -    char unicode_prop_name_pool_str1834[sizeof("mahj")];
> -    char
> unicode_prop_name_pool_str1838[sizeof("inkatakanaphoneticextensions")
> ];
> -    char unicode_prop_name_pool_str1845[sizeof("mahajani")];
> -    char unicode_prop_name_pool_str1871[sizeof("closepunctuation")];
> -    char unicode_prop_name_pool_str1875[sizeof("inlisu")];
> -    char unicode_prop_name_pool_str1878[sizeof("softdotted")];
> -    char unicode_prop_name_pool_str1897[sizeof("unknown")];
> -    char
> unicode_prop_name_pool_str1898[sizeof("invariationselectorssupplement"
> )];
> -    char unicode_prop_name_pool_str1910[sizeof("syrc")];
> -    char unicode_prop_name_pool_str1911[sizeof("hang")];
> -    char
> unicode_prop_name_pool_str1926[sizeof("incjksymbolsandpunctuation")];
> -    char unicode_prop_name_pool_str1932[sizeof("ingujarati")];
> -    char unicode_prop_name_pool_str1933[sizeof("bopomofo")];
> -    char unicode_prop_name_pool_str1936[sizeof("alpha")];
> -    char unicode_prop_name_pool_str1937[sizeof("khoj")];
> -    char unicode_prop_name_pool_str1939[sizeof("inpalmyrene")];
> -    char unicode_prop_name_pool_str1942[sizeof("ingunjalagondi")];
> -    char unicode_prop_name_pool_str1948[sizeof("inoldpermic")];
> -    char unicode_prop_name_pool_str1950[sizeof("inlepcha")];
> -    char unicode_prop_name_pool_str1951[sizeof("assigned")];
> -    char unicode_prop_name_pool_str1955[sizeof("incurrencysymbols")];
> -    char unicode_prop_name_pool_str1958[sizeof("insmallformvariants")];
> -    char unicode_prop_name_pool_str1959[sizeof("sorasompeng")];
> -    char unicode_prop_name_pool_str1964[sizeof("inlinearbsyllabary")];
> -    char unicode_prop_name_pool_str1965[sizeof("oldpersian")];
> -    char unicode_prop_name_pool_str1972[sizeof("caucasianalbanian")];
> -    char
> unicode_prop_name_pool_str1973[sizeof("inenclosedcjklettersandmonths"
> )];
> -    char unicode_prop_name_pool_str1975[sizeof("hiragana")];
> -    char unicode_prop_name_pool_str1976[sizeof("inbamum")];
> -    char unicode_prop_name_pool_str1979[sizeof("inrejang")];
> -    char unicode_prop_name_pool_str1984[sizeof("graph")];
> -    char unicode_prop_name_pool_str1990[sizeof("sharada")];
> -    char unicode_prop_name_pool_str1991[sizeof("inethiopicsupplement")];
> -    char unicode_prop_name_pool_str1996[sizeof("indevanagariextended")];
> -    char unicode_prop_name_pool_str1997[sizeof("incoptic")];
> -    char unicode_prop_name_pool_str1998[sizeof("insyriacsupplement")];
> -    char unicode_prop_name_pool_str2004[sizeof("inmeroiticcursive")];
> -    char unicode_prop_name_pool_str2014[sizeof("hmng")];
> -    char unicode_prop_name_pool_str2022[sizeof("intelugu")];
> -    char
> unicode_prop_name_pool_str2029[sizeof("incombiningdiacriticalmarks")];
> -    char unicode_prop_name_pool_str2031[sizeof("mathsymbol")];
> -    char unicode_prop_name_pool_str2036[sizeof("titlecaseletter")];
> -    char unicode_prop_name_pool_str2038[sizeof("ugar")];
> -    char
> unicode_prop_name_pool_str2039[sizeof("incombiningdiacriticalmarksforsy
> mbols")];
> -    char unicode_prop_name_pool_str2040[sizeof("spacingmark")];
> -    char unicode_prop_name_pool_str2043[sizeof("shrd")];
> -    char unicode_prop_name_pool_str2047[sizeof("injavanese")];
> -    char unicode_prop_name_pool_str2048[sizeof("syriac")];
> -    char unicode_prop_name_pool_str2054[sizeof("space")];
> -    char unicode_prop_name_pool_str2056[sizeof("hebr")];
> -    char unicode_prop_name_pool_str2061[sizeof("ext")];
> -    char unicode_prop_name_pool_str2064[sizeof("inhanguljamo")];
> -    char unicode_prop_name_pool_str2066[sizeof("phag")];
> -    char
> unicode_prop_name_pool_str2076[sizeof("inhanguljamoextendeda")];
> -    char unicode_prop_name_pool_str2082[sizeof("wancho")];
> -    char unicode_prop_name_pool_str2084[sizeof("bugi")];
> -    char unicode_prop_name_pool_str2089[sizeof("tamil")];
> -    char unicode_prop_name_pool_str2093[sizeof("sogd")];
> -    char unicode_prop_name_pool_str2094[sizeof("orkh")];
> -    char unicode_prop_name_pool_str2097[sizeof("oldpermic")];
> -    char unicode_prop_name_pool_str2100[sizeof("siddham")];
> -    char unicode_prop_name_pool_str2102[sizeof("incyrillicextendedb")];
> -    char unicode_prop_name_pool_str2105[sizeof("inbrahmi")];
> -    char
> unicode_prop_name_pool_str2108[sizeof("inmongoliansupplement")];
> -    char unicode_prop_name_pool_str2113[sizeof("thaa")];
> -    char unicode_prop_name_pool_str2118[sizeof("thaana")];
> -    char unicode_prop_name_pool_str2120[sizeof("thai")];
> -    char unicode_prop_name_pool_str2122[sizeof("buginese")];
> -    char unicode_prop_name_pool_str2127[sizeof("ingeorgiansupplement")];
> -    char unicode_prop_name_pool_str2129[sizeof("digit")];
> -    char unicode_prop_name_pool_str2132[sizeof("cyrillic")];
> -    char unicode_prop_name_pool_str2149[sizeof("sylo")];
> -    char unicode_prop_name_pool_str2150[sizeof("inphoneticextensions")];
> -    char unicode_prop_name_pool_str2151[sizeof("separator")];
> -    char unicode_prop_name_pool_str2159[sizeof("inethiopicextended")];
> -    char
> unicode_prop_name_pool_str2163[sizeof("inmathematicalalphanumericsym
> bols")];
> -    char
> unicode_prop_name_pool_str2168[sizeof("insymbolsandpictographsextend
> eda")];
> -    char unicode_prop_name_pool_str2170[sizeof("nd")];
> -    char unicode_prop_name_pool_str2176[sizeof("tirh")];
> -    char unicode_prop_name_pool_str2178[sizeof("tirhuta")];
> -    char
> unicode_prop_name_pool_str2184[sizeof("incombiningdiacriticalmarkssuppl
> ement")];
> -    char unicode_prop_name_pool_str2193[sizeof("extender")];
> -    char unicode_prop_name_pool_str2197[sizeof("wcho")];
> -    char unicode_prop_name_pool_str2199[sizeof("inbengali")];
> -    char unicode_prop_name_pool_str2201[sizeof("talu")];
> -    char unicode_prop_name_pool_str2206[sizeof("tang")];
> -    char unicode_prop_name_pool_str2207[sizeof("warangciti")];
> -    char unicode_prop_name_pool_str2210[sizeof("tagbanwa")];
> -    char unicode_prop_name_pool_str2211[sizeof("orya")];
> -    char unicode_prop_name_pool_str2212[sizeof("nl")];
> -    char unicode_prop_name_pool_str2213[sizeof("induployan")];
> -    char unicode_prop_name_pool_str2214[sizeof("cwu")];
> -    char unicode_prop_name_pool_str2216[sizeof("inbuginese")];
> -    char unicode_prop_name_pool_str2220[sizeof("telu")];
> -    char unicode_prop_name_pool_str2223[sizeof("ogam")];
> -    char unicode_prop_name_pool_str2226[sizeof("taitham")];
> -    char unicode_prop_name_pool_str2237[sizeof("rjng")];
> -    char unicode_prop_name_pool_str2240[sizeof("insuttonsignwriting")];
> -    char
> unicode_prop_name_pool_str2250[sizeof("incombiningdiacriticalmarksexte
> nded")];
> -    char unicode_prop_name_pool_str2251[sizeof("number")];
> -    char
> unicode_prop_name_pool_str2264[sizeof("inyijinghexagramsymbols")];
> -    char unicode_prop_name_pool_str2277[sizeof("whitespace")];
> -    char unicode_prop_name_pool_str2278[sizeof("currencysymbol")];
> -    char
> unicode_prop_name_pool_str2285[sizeof("inottomansiyaqnumbers")];
> -    char unicode_prop_name_pool_str2288[sizeof("inlimbu")];
> -    char unicode_prop_name_pool_str2293[sizeof("incopticepactnumbers")];
> -    char unicode_prop_name_pool_str2295[sizeof("ingeorgianextended")];
> -    char
> unicode_prop_name_pool_str2305[sizeof("inphoneticextensionssupplemen
> t")];
> -    char unicode_prop_name_pool_str2308[sizeof("any")];
> -    char unicode_prop_name_pool_str2320[sizeof("osge")];
> -    char
> unicode_prop_name_pool_str2325[sizeof("defaultignorablecodepoint")];
> -    char unicode_prop_name_pool_str2326[sizeof("hangul")];
> -    char unicode_prop_name_pool_str2333[sizeof("newa")];
> -    char unicode_prop_name_pool_str2343[sizeof("ethi")];
> -    char unicode_prop_name_pool_str2345[sizeof("hanifirohingya")];
> -    char unicode_prop_name_pool_str2346[sizeof("hmnp")];
> -    char unicode_prop_name_pool_str2348[sizeof("olditalic")];
> -    char
> unicode_prop_name_pool_str2349[sizeof("incjkunifiedideographsextension
> b")];
> -    char unicode_prop_name_pool_str2352[sizeof("rohg")];
> -    char
> unicode_prop_name_pool_str2353[sizeof("innyiakengpuachuehmong")];
> -    char
> unicode_prop_name_pool_str2355[sizeof("incjkradicalssupplement")];
> -    char unicode_prop_name_pool_str2364[sizeof("newtailue")];
> -    char unicode_prop_name_pool_str2365[sizeof("newline")];
> -    char unicode_prop_name_pool_str2366[sizeof("lepcha")];
> -    char unicode_prop_name_pool_str2375[sizeof("deprecated")];
> -    char unicode_prop_name_pool_str2381[sizeof("buhd")];
> -    char unicode_prop_name_pool_str2391[sizeof("inglagolitic")];
> -    char unicode_prop_name_pool_str2395[sizeof("inaegeannumbers")];
> -    char unicode_prop_name_pool_str2400[sizeof("modifiersymbol")];
> -    char unicode_prop_name_pool_str2410[sizeof("surrogate")];
> -    char unicode_prop_name_pool_str2418[sizeof("inletterlikesymbols")];
> -    char unicode_prop_name_pool_str2426[sizeof("idstrinaryoperator")];
> -    char unicode_prop_name_pool_str2442[sizeof("intagalog")];
> -    char unicode_prop_name_pool_str2443[sizeof("tangut")];
> -    char unicode_prop_name_pool_str2445[sizeof("osmanya")];
> -    char unicode_prop_name_pool_str2447[sizeof("oalpha")];
> -    char unicode_prop_name_pool_str2448[sizeof("inphagspa")];
> -    char unicode_prop_name_pool_str2455[sizeof("ugaritic")];
> -    char unicode_prop_name_pool_str2456[sizeof("otheridcontinue")];
> -    char
> unicode_prop_name_pool_str2460[sizeof("inarabicpresentationformsb")];
> -    char unicode_prop_name_pool_str2462[sizeof("inbassavah")];
> -    char unicode_prop_name_pool_str2469[sizeof("other")];
> -    char unicode_prop_name_pool_str2478[sizeof("othernumber")];
> -    char unicode_prop_name_pool_str2480[sizeof("sylotinagri")];
> -    char unicode_prop_name_pool_str2487[sizeof("ingothic")];
> -    char unicode_prop_name_pool_str2498[sizeof("inbuhid")];
> -    char unicode_prop_name_pool_str2502[sizeof("inlatin1supplement")];
> -    char unicode_prop_name_pool_str2516[sizeof("intagbanwa")];
> -    char unicode_prop_name_pool_str2523[sizeof("shaw")];
> -    char unicode_prop_name_pool_str2529[sizeof("oldhungarian")];
> -    char unicode_prop_name_pool_str2538[sizeof("inmahjongtiles")];
> -    char unicode_prop_name_pool_str2542[sizeof("hung")];
> -    char unicode_prop_name_pool_str2544[sizeof("tifinagh")];
> -    char unicode_prop_name_pool_str2554[sizeof("inbopomofo")];
> -    char unicode_prop_name_pool_str2561[sizeof("narb")];
> -    char unicode_prop_name_pool_str2571[sizeof("inyisyllables")];
> -    char unicode_prop_name_pool_str2573[sizeof("kayahli")];
> -    char unicode_prop_name_pool_str2578[sizeof("otheralphabetic")];
> -    char unicode_prop_name_pool_str2582[sizeof("phagspa")];
> -    char unicode_prop_name_pool_str2584[sizeof("inprivateusearea")];
> -    char unicode_prop_name_pool_str2588[sizeof("elba")];
> -    char unicode_prop_name_pool_str2591[sizeof("nchar")];
> -    char unicode_prop_name_pool_str2607[sizeof("spaceseparator")];
> -    char unicode_prop_name_pool_str2609[sizeof("tibt")];
> -    char unicode_prop_name_pool_str2611[sizeof("extendedpictographic")];
> -    char unicode_prop_name_pool_str2615[sizeof("tibetan")];
> -    char unicode_prop_name_pool_str2616[sizeof("sgnw")];
> -    char unicode_prop_name_pool_str2622[sizeof("hexdigit")];
> -    char unicode_prop_name_pool_str2623[sizeof("tfng")];
> -    char unicode_prop_name_pool_str2627[sizeof("inbamumsupplement")];
> -    char unicode_prop_name_pool_str2632[sizeof("tavt")];
> -    char unicode_prop_name_pool_str2633[sizeof("incombininghalfmarks")];
> -    char
> unicode_prop_name_pool_str2634[sizeof("inarabicmathematicalalphabetics
> ymbols")];
> -    char unicode_prop_name_pool_str2638[sizeof("khudawadi")];
> -    char
> unicode_prop_name_pool_str2641[sizeof("inhalfwidthandfullwidthforms")];
> -    char unicode_prop_name_pool_str2652[sizeof("inhangulsyllables")];
> -    char unicode_prop_name_pool_str2653[sizeof("elym")];
> -    char unicode_prop_name_pool_str2669[sizeof("symbol")];
> -    char unicode_prop_name_pool_str2692[sizeof("bassavah")];
> -    char unicode_prop_name_pool_str2696[sizeof("elymaic")];
> -    char
> unicode_prop_name_pool_str2698[sizeof("changeswhencasemapped")];
> -    char unicode_prop_name_pool_str2709[sizeof("oldturkic")];
> -    char unicode_prop_name_pool_str2725[sizeof("inplayingcards")];
> -    char unicode_prop_name_pool_str2767[sizeof("zp")];
> -    char unicode_prop_name_pool_str2775[sizeof("elbasan")];
> -    char unicode_prop_name_pool_str2776[sizeof("buhid")];
> -    char
> unicode_prop_name_pool_str2779[sizeof("noncharactercodepoint")];
> -    char unicode_prop_name_pool_str2785[sizeof("finalpunctuation")];
> -    char unicode_prop_name_pool_str2794[sizeof("inpsalterpahlavi")];
> -    char unicode_prop_name_pool_str2800[sizeof("inpaucinhau")];
> -    char unicode_prop_name_pool_str2801[sizeof("nonspacingmark")];
> -    char
> unicode_prop_name_pool_str2804[sizeof("changeswhentitlecased")];
> -    char unicode_prop_name_pool_str2808[sizeof("inindicsiyaqnumbers")];
> -    char unicode_prop_name_pool_str2813[sizeof("phlp")];
> -    char unicode_prop_name_pool_str2824[sizeof("wspace")];
> -    char unicode_prop_name_pool_str2831[sizeof("nbat")];
> -    char unicode_prop_name_pool_str2836[sizeof("hluw")];
> -    char unicode_prop_name_pool_str2838[sizeof("cypriot")];
> -    char unicode_prop_name_pool_str2839[sizeof("nabataean")];
> -    char unicode_prop_name_pool_str2841[sizeof("inalchemicalsymbols")];
> -    char unicode_prop_name_pool_str2847[sizeof("dupl")];
> -    char unicode_prop_name_pool_str2856[sizeof("otherlowercase")];
> -    char unicode_prop_name_pool_str2875[sizeof("inarabicsupplement")];
> -    char
> unicode_prop_name_pool_str2876[sizeof("inalphabeticpresentationforms")
> ];
> -    char unicode_prop_name_pool_str2890[sizeof("otherletter")];
> -    char unicode_prop_name_pool_str2916[sizeof("emojipresentation")];
> -    char
> unicode_prop_name_pool_str2930[sizeof("changeswhenlowercased")];
> -    char unicode_prop_name_pool_str2953[sizeof("dashpunctuation")];
> -    char unicode_prop_name_pool_str2954[sizeof("oldsogdian")];
> -    char unicode_prop_name_pool_str2970[sizeof("intangutcomponents")];
> -    char unicode_prop_name_pool_str2977[sizeof("soyombo")];
> -    char unicode_prop_name_pool_str2996[sizeof("paragraphseparator")];
> -    char
> unicode_prop_name_pool_str3012[sizeof("changeswhencasefolded")];
> -    char unicode_prop_name_pool_str3015[sizeof("othersymbol")];
> -    char unicode_prop_name_pool_str3020[sizeof("inlatinextendedb")];
> -    char unicode_prop_name_pool_str3072[sizeof("otheruppercase")];
> -    char unicode_prop_name_pool_str3079[sizeof("otheridstart")];
> -    char unicode_prop_name_pool_str3084[sizeof("inhebrew")];
> -    char unicode_prop_name_pool_str3088[sizeof("oldnortharabian")];
> -    char unicode_prop_name_pool_str3092[sizeof("omath")];
> -    char unicode_prop_name_pool_str3099[sizeof("incypriotsyllabary")];
> -    char
> unicode_prop_name_pool_str3118[sizeof("inmathematicaloperators")];
> -    char
> unicode_prop_name_pool_str3146[sizeof("changeswhenuppercased")];
> -    char unicode_prop_name_pool_str3154[sizeof("nshu")];
> -    char
> unicode_prop_name_pool_str3182[sizeof("insuperscriptsandsubscripts")];
> -    char unicode_prop_name_pool_str3188[sizeof("ogrext")];
> -    char
> unicode_prop_name_pool_str3197[sizeof("inhanguljamoextendedb")];
> -    char unicode_prop_name_pool_str3198[sizeof("alphabetic")];
> -    char unicode_prop_name_pool_str3199[sizeof("dep")];
> -    char unicode_prop_name_pool_str3216[sizeof("oupper")];
> -    char unicode_prop_name_pool_str3258[sizeof("zyyy")];
> -    char unicode_prop_name_pool_str3267[sizeof("aghb")];
> -    char unicode_prop_name_pool_str3285[sizeof("ogham")];
> -    char unicode_prop_name_pool_str3306[sizeof("rejang")];
> -    char unicode_prop_name_pool_str3324[sizeof("tagb")];
> -    char unicode_prop_name_pool_str3350[sizeof("hyphen")];
> -    char
> unicode_prop_name_pool_str3355[sizeof("insupplementalarrowsa")];
> -    char unicode_prop_name_pool_str3413[sizeof("inpahawhhmong")];
> -    char unicode_prop_name_pool_str3459[sizeof("nushu")];
> -    char unicode_prop_name_pool_str3478[sizeof("othermath")];
> -    char
> unicode_prop_name_pool_str3491[sizeof("insupplementalarrowsc")];
> -    char
> unicode_prop_name_pool_str3494[sizeof("insupplementalmathematicalope
> rators")];
> -    char
> unicode_prop_name_pool_str3500[sizeof("otherdefaultignorablecodepoint
> ")];
> -    char
> unicode_prop_name_pool_str3527[sizeof("inhighprivateusesurrogates")];
> -    char unicode_prop_name_pool_str3538[sizeof("duployan")];
> -    char unicode_prop_name_pool_str3663[sizeof("oldsoutharabian")];
> -    char unicode_prop_name_pool_str3666[sizeof("tglg")];
> -    char unicode_prop_name_pool_str3685[sizeof("tagalog")];
> -    char unicode_prop_name_pool_str3692[sizeof("inbopomofoextended")];
> -    char unicode_prop_name_pool_str3731[sizeof("signwriting")];
> -    char unicode_prop_name_pool_str3750[sizeof("inegyptianhieroglyphs")];
> -    char
> unicode_prop_name_pool_str3763[sizeof("inegyptianhieroglyphformatcont
> rols")];
> -    char unicode_prop_name_pool_str3807[sizeof("upper")];
> -    char unicode_prop_name_pool_str3810[sizeof("otherpunctuation")];
> -    char unicode_prop_name_pool_str3872[sizeof("ethiopic")];
> -    char unicode_prop_name_pool_str3881[sizeof("hebrew")];
> -    char unicode_prop_name_pool_str3901[sizeof("telugu")];
> -    char unicode_prop_name_pool_str3910[sizeof("uppercase")];
> -    char
> unicode_prop_name_pool_str3937[sizeof("insupplementalpunctuation")];
> -    char unicode_prop_name_pool_str3946[sizeof("unifiedideograph")];
> -    char unicode_prop_name_pool_str3961[sizeof("pahawhhmong")];
> -    char unicode_prop_name_pool_str3971[sizeof("inglagoliticsupplement")];
> -    char unicode_prop_name_pool_str3992[sizeof("inboxdrawing")];
> -    char unicode_prop_name_pool_str4279[sizeof("uppercaseletter")];
> -    char
> unicode_prop_name_pool_str4298[sizeof("othergraphemeextend")];
> -    char unicode_prop_name_pool_str4401[sizeof("inhighsurrogates")];
> -    char
> unicode_prop_name_pool_str4476[sizeof("insupplementalarrowsb")];
> -    char
> unicode_prop_name_pool_str4562[sizeof("inhangulcompatibilityjamo")];
> -    char unicode_prop_name_pool_str4563[sizeof("egyp")];
> -    char
> unicode_prop_name_pool_str4577[sizeof("insupplementalsymbolsandpicto
> graphs")];
> -    char
> unicode_prop_name_pool_str4659[sizeof("nyiakengpuachuehmong")];
> -    char
> unicode_prop_name_pool_str4688[sizeof("insupplementaryprivateusearea
> a")];
> -    char unicode_prop_name_pool_str4822[sizeof("openpunctuation")];
> -    char unicode_prop_name_pool_str4851[sizeof("egyptianhieroglyphs")];
> -    char
> unicode_prop_name_pool_str5809[sizeof("insupplementaryprivateusearea
> b")];
> -  };
> -static const struct unicode_prop_name_pool_t
> unicode_prop_name_pool_contents =
> -  {
> -    "lana",
> -    "z",
> -    "yi",
> -    "lina",
> -    "mn",
> -    "yiii",
> -    "cn",
> -    "maka",
> -    "mani",
> -    "zzzz",
> -    "inkannada",
> -    "ci",
> -    "lo",
> -    "lao",
> -    "laoo",
> -    "miao",
> -    "innko",
> -    "co",
> -    "me",
> -    "loe",
> -    "gran",
> -    "pi",
> -    "lineara",
> -    "mark",
> -    "cari",
> -    "carian",
> -    "po",
> -    "mendekikakui",
> -    "grek",
> -    "pe",
> -    "meeteimayek",
> -    "inkharoshthi",
> -    "geor",
> -    "greek",
> -    "mro",
> -    "mroo",
> -    "kana",
> -    "mero",
> -    "m",
> -    "gonm",
> -    "cakm",
> -    "inosmanya",
> -    "inmanichaean",
> -    "inarmenian",
> -    "inmro",
> -    "inmiao",
> -    "c",
> -    "inchakma",
> -    "common",
> -    "mandaic",
> -    "inmyanmar",
> -    "inmakasar",
> -    "qaai",
> -    "inideographicsymbolsandpunctuation",
> -    "inkhmer",
> -    "cans",
> -    "prependedconcatenationmark",
> -    "lm",
> -    "marc",
> -    "connectorpunctuation",
> -    "inrunic",
> -    "incarian",
> -    "inavestan",
> -    "combiningmark",
> -    "incuneiformnumbersandpunctuation",
> -    "merc",
> -    "perm",
> -    "inahom",
> -    "inipaextensions",
> -    "incherokee",
> -    "insharada",
> -    "makasar",
> -    "inarrows",
> -    "lc",
> -    "masaramgondi",
> -    "incuneiform",
> -    "mc",
> -    "cc",
> -    "inzanabazarsquare",
> -    "lineseparator",
> -    "armn",
> -    "qmark",
> -    "armi",
> -    "insamaritan",
> -    "armenian",
> -    "inmarchen",
> -    "inmasaramgondi",
> -    "qaac",
> -    "pc",
> -    "inscriptionalparthian",
> -    "latn",
> -    "latin",
> -    "ri",
> -    "inthaana",
> -    "inkhmersymbols",
> -    "inkatakana",
> -    "incyrillic",
> -    "inthai",
> -    "incham",
> -    "inkaithi",
> -    "zs",
> -    "mtei",
> -    "vai",
> -    "vaii",
> -    "initialpunctuation",
> -    "cs",
> -    "insyriac",
> -    "pcm",
> -    "intakri",
> -    "mand",
> -    "l",
> -    "ps",
> -    "dia",
> -    "inkanaextendeda",
> -    "di",
> -    "mend",
> -    "modi",
> -    "ideo",
> -    "katakana",
> -    "prti",
> -    "inideographicdescriptioncharacters",
> -    "inlineara",
> -    "xidcontinue",
> -    "brai",
> -    "inlao",
> -    "ascii",
> -    "privateuse",
> -    "arabic",
> -    "mongolian",
> -    "inmyanmarextendeda",
> -    "inruminumeralsymbols",
> -    "letter",
> -    "innandinagari",
> -    "inmeeteimayek",
> -    "inoldnortharabian",
> -    "grlink",
> -    "knda",
> -    "kannada",
> -    "incjkcompatibilityforms",
> -    "incjkcompatibilityideographs",
> -    "inmodi",
> -    "kali",
> -    "control",
> -    "inadlam",
> -    "inspecials",
> -    "inmendekikakui",
> -    "intransportandmapsymbols",
> -    "letternumber",
> -    "xidc",
> -    "inmedefaidrin",
> -    "inchesssymbols",
> -    "inemoticons",
> -    "brahmi",
> -    "inolditalic",
> -    "palm",
> -    "inlycian",
> -    "inmiscellaneousmathematicalsymbolsa",
> -    "xids",
> -    "psalterpahlavi",
> -    "insundanese",
> -    "inoldsogdian",
> -    "diacritic",
> -    "gothic",
> -    "inancientsymbols",
> -    "meroiticcursive",
> -    "inmalayalam",
> -    "patternwhitespace",
> -    "sk",
> -    "insmallkanaextension",
> -    "inmandaic",
> -    "lt",
> -    "so",
> -    "inlinearbideograms",
> -    "incommonindicnumberforms",
> -    "incjkcompatibilityideographssupplement",
> -    "idc",
> -    "inoldsoutharabian",
> -    "insylotinagri",
> -    "idsbinaryoperator",
> -    "sora",
> -    "bamum",
> -    "inkanasupplement",
> -    "incjkstrokes",
> -    "joinc",
> -    "inopticalcharacterrecognition",
> -    "vs",
> -    "indominotiles",
> -    "batk",
> -    "grext",
> -    "batak",
> -    "patws",
> -    "inmodifiertoneletters",
> -    "ital",
> -    "bass",
> -    "decimalnumber",
> -    "alnum",
> -    "ids",
> -    "print",
> -    "inlatinextendeda",
> -    "intaitham",
> -    "inmusicalsymbols",
> -    "intaile",
> -    "samr",
> -    "samaritan",
> -    "s",
> -    "inlatinextendede",
> -    "bali",
> -    "lisu",
> -    "pauc",
> -    "patternsyntax",
> -    "incontrolpictures",
> -    "blank",
> -    "inmiscellaneoussymbols",
> -    "ll",
> -    "inancientgreekmusicalnotation",
> -    "zl",
> -    "inlydian",
> -    "sm",
> -    "inmiscellaneoussymbolsandarrows",
> -    "inugaritic",
> -    "bengali",
> -    "pd",
> -    "inmiscellaneoussymbolsandpictographs",
> -    "medf",
> -    "cf",
> -    "balinese",
> -    "medefaidrin",
> -    "han",
> -    "intamil",
> -    "hani",
> -    "inmultani",
> -    "hano",
> -    "inshorthandformatcontrols",
> -    "insaurashtra",
> -    "pf",
> -    "inoldturkic",
> -    "idcontinue",
> -    "hanunoo",
> -    "sc",
> -    "inkhojki",
> -    "idst",
> -    "canadianaboriginal",
> -    "hira",
> -    "plrd",
> -    "incaucasianalbanian",
> -    "indeseret",
> -    "inearlydynasticcuneiform",
> -    "inspacingmodifierletters",
> -    "innewa",
> -    "idstart",
> -    "zinh",
> -    "incyrillicextendeda",
> -    "dsrt",
> -    "cased",
> -    "glagolitic",
> -    "inhanifirohingya",
> -    "inancientgreeknumbers",
> -    "inmeeteimayekextensions",
> -    "intaixuanjingsymbols",
> -    "joincontrol",
> -    "runr",
> -    "inwarangciti",
> -    "deseret",
> -    "inhiragana",
> -    "sind",
> -    "cherokee",
> -    "inlatinextendedc",
> -    "adlm",
> -    "phoenician",
> -    "cher",
> -    "marchen",
> -    "inkhudawadi",
> -    "sinhala",
> -    "lower",
> -    "graphemelink",
> -    "xidstart",
> -    "ingrantha",
> -    "bidic",
> -    "xdigit",
> -    "casedletter",
> -    "gong",
> -    "multani",
> -    "gunjalagondi",
> -    "cham",
> -    "chakma",
> -    "mong",
> -    "kaithi",
> -    "inmahajani",
> -    "graphemebase",
> -    "insiddham",
> -    "inogham",
> -    "inosage",
> -    "incountingrodnumerals",
> -    "inwancho",
> -    "khojki",
> -    "ingeneralpunctuation",
> -    "georgian",
> -    "incyrillicextendedc",
> -    "inkayahli",
> -    "khar",
> -    "inoriya",
> -    "manichaean",
> -    "bamu",
> -    "zanb",
> -    "oriya",
> -    "inolchiki",
> -    "linb",
> -    "inethiopic",
> -    "wara",
> -    "ingeorgian",
> -    "innabataean",
> -    "inkanbun",
> -    "adlam",
> -    "inbhaiksuki",
> -    "insinhala",
> -    "inelbasan",
> -    "lowercase",
> -    "takri",
> -    "inmongolian",
> -    "invai",
> -    "xsux",
> -    "cntrl",
> -    "emoji",
> -    "sterm",
> -    "cuneiform",
> -    "cwcm",
> -    "hatran",
> -    "linearb",
> -    "taile",
> -    "inlatinextendedadditional",
> -    "inenclosedalphanumerics",
> -    "anatolianhieroglyphs",
> -    "incyrillicsupplement",
> -    "intamilsupplement",
> -    "inmiscellaneoustechnical",
> -    "ahom",
> -    "incherokeesupplement",
> -    "takr",
> -    "khmr",
> -    "incjkunifiedideographsextensiona",
> -    "quotationmark",
> -    "lyci",
> -    "lycian",
> -    "ingurmukhi",
> -    "runic",
> -    "limb",
> -    "inscriptionalpahlavi",
> -    "hatr",
> -    "variationselector",
> -    "modifierletter",
> -    "incjkunifiedideographsextensione",
> -    "mymr",
> -    "myanmar",
> -    "lu",
> -    "kharoshthi",
> -    "inarabic",
> -    "radical",
> -    "khmer",
> -    "inunifiedcanadianaboriginalsyllabics",
> -    "osage",
> -    "sundanese",
> -    "innewtailue",
> -    "logicalorderexception",
> -    "math",
> -    "braille",
> -    "goth",
> -    "insorasompeng",
> -    "insoyombo",
> -    "arab",
> -    "saur",
> -    "guru",
> -    "term",
> -    "paucinhau",
> -    "inbasiclatin",
> -    "inarabicpresentationformsa",
> -    "punct",
> -    "gurmukhi",
> -    "grantha",
> -    "inshavian",
> -    "osma",
> -    "inenclosedalphanumericsupplement",
> -    "intirhuta",
> -    "inelymaic",
> -    "inhatran",
> -    "incjkunifiedideographsextensionc",
> -    "emojimodifier",
> -    "uideo",
> -    "bidicontrol",
> -    "phnx",
> -    "limbu",
> -    "n",
> -    "inenclosedideographicsupplement",
> -    "mult",
> -    "kthi",
> -    "incjkunifiedideographs",
> -    "ingreekandcoptic",
> -    "inoldhungarian",
> -    "incjkcompatibility",
> -    "grbase",
> -    "nandinagari",
> -    "brah",
> -    "no",
> -    "sd",
> -    "nko",
> -    "nkoo",
> -    "xpeo",
> -    "sidd",
> -    "inherited",
> -    "p",
> -    "phli",
> -    "inmeroitichieroglyphs",
> -    "inphoenician",
> -    "inmayannumerals",
> -    "saurashtra",
> -    "inkangxiradicals",
> -    "enclosingmark",
> -    "graphemeextend",
> -    "beng",
> -    "inbatak",
> -    "glag",
> -    "ahex",
> -    "patsyn",
> -    "odi",
> -    "dogra",
> -    "intibetan",
> -    "lydi",
> -    "lydian",
> -    "inblockelements",
> -    "cwcf",
> -    "inunifiedcanadianaboriginalsyllabicsextended",
> -    "regionalindicator",
> -    "ingreekextended",
> -    "emojimodifierbase",
> -    "inanatolianhieroglyphs",
> -    "indogra",
> -    "taiviet",
> -    "inyiradicals",
> -    "unassigned",
> -    "insundanesesupplement",
> -    "innumberforms",
> -    "lowercaseletter",
> -    "dogr",
> -    "lepc",
> -    "bhks",
> -    "word",
> -    "gujr",
> -    "inphaistosdisc",
> -    "bhaiksuki",
> -    "dash",
> -    "inarabicextendeda",
> -    "gujarati",
> -    "inlatinextendedd",
> -    "innoblock",
> -    "java",
> -    "ingeometricshapes",
> -    "cyrl",
> -    "indevanagari",
> -    "inbalinese",
> -    "inbyzantinemusicalsymbols",
> -    "tale",
> -    "deva",
> -    "hex",
> -    "inmyanmarextendedb",
> -    "sinh",
> -    "cwt",
> -    "shavian",
> -    "devanagari",
> -    "oidc",
> -    "javanese",
> -    "mlym",
> -    "incjkunifiedideographsextensiond",
> -    "sentenceterminal",
> -    "malayalam",
> -    "inhanunoo",
> -    "insinhalaarchaicnumbers",
> -    "olck",
> -    "inimperialaramaic",
> -    "olower",
> -    "palmyrene",
> -    "avestan",
> -    "incjkunifiedideographsextensionf",
> -    "insogdian",
> -    "indingbats",
> -    "olchiki",
> -    "oids",
> -    "punctuation",
> -    "sund",
> -    "inbraillepatterns",
> -    "emojicomponent",
> -    "ideographic",
> -    "taml",
> -    "format",
> -    "inornamentaldingbats",
> -    "coptic",
> -    "caseignorable",
> -    "idsb",
> -    "inmiscellaneousmathematicalsymbolsb",
> -    "sogdian",
> -    "sogo",
> -    "terminalpunctuation",
> -    "intangut",
> -    "intifinagh",
> -    "inlowsurrogates",
> -    "invariationselectors",
> -    "copt",
> -    "soyo",
> -    "intags",
> -    "inverticalforms",
> -    "ininscriptionalparthian",
> -    "ininscriptionalpahlavi",
> -    "meroitichieroglyphs",
> -    "asciihexdigit",
> -    "inethiopicextendeda",
> -    "invedicextensions",
> -    "nand",
> -    "cwl",
> -    "cprt",
> -    "innushu",
> -    "zanabazarsquare",
> -    "ingeometricshapesextended",
> -    "avst",
> -    "imperialaramaic",
> -    "bopo",
> -    "sarb",
> -    "inoldpersian",
> -    "intaiviet",
> -    "mahj",
> -    "inkatakanaphoneticextensions",
> -    "mahajani",
> -    "closepunctuation",
> -    "inlisu",
> -    "softdotted",
> -    "unknown",
> -    "invariationselectorssupplement",
> -    "syrc",
> -    "hang",
> -    "incjksymbolsandpunctuation",
> -    "ingujarati",
> -    "bopomofo",
> -    "alpha",
> -    "khoj",
> -    "inpalmyrene",
> -    "ingunjalagondi",
> -    "inoldpermic",
> -    "inlepcha",
> -    "assigned",
> -    "incurrencysymbols",
> -    "insmallformvariants",
> -    "sorasompeng",
> -    "inlinearbsyllabary",
> -    "oldpersian",
> -    "caucasianalbanian",
> -    "inenclosedcjklettersandmonths",
> -    "hiragana",
> -    "inbamum",
> -    "inrejang",
> -    "graph",
> -    "sharada",
> -    "inethiopicsupplement",
> -    "indevanagariextended",
> -    "incoptic",
> -    "insyriacsupplement",
> -    "inmeroiticcursive",
> -    "hmng",
> -    "intelugu",
> -    "incombiningdiacriticalmarks",
> -    "mathsymbol",
> -    "titlecaseletter",
> -    "ugar",
> -    "incombiningdiacriticalmarksforsymbols",
> -    "spacingmark",
> -    "shrd",
> -    "injavanese",
> -    "syriac",
> -    "space",
> -    "hebr",
> -    "ext",
> -    "inhanguljamo",
> -    "phag",
> -    "inhanguljamoextendeda",
> -    "wancho",
> -    "bugi",
> -    "tamil",
> -    "sogd",
> -    "orkh",
> -    "oldpermic",
> -    "siddham",
> -    "incyrillicextendedb",
> -    "inbrahmi",
> -    "inmongoliansupplement",
> -    "thaa",
> -    "thaana",
> -    "thai",
> -    "buginese",
> -    "ingeorgiansupplement",
> -    "digit",
> -    "cyrillic",
> -    "sylo",
> -    "inphoneticextensions",
> -    "separator",
> -    "inethiopicextended",
> -    "inmathematicalalphanumericsymbols",
> -    "insymbolsandpictographsextendeda",
> -    "nd",
> -    "tirh",
> -    "tirhuta",
> -    "incombiningdiacriticalmarkssupplement",
> -    "extender",
> -    "wcho",
> -    "inbengali",
> -    "talu",
> -    "tang",
> -    "warangciti",
> -    "tagbanwa",
> -    "orya",
> -    "nl",
> -    "induployan",
> -    "cwu",
> -    "inbuginese",
> -    "telu",
> -    "ogam",
> -    "taitham",
> -    "rjng",
> -    "insuttonsignwriting",
> -    "incombiningdiacriticalmarksextended",
> -    "number",
> -    "inyijinghexagramsymbols",
> -    "whitespace",
> -    "currencysymbol",
> -    "inottomansiyaqnumbers",
> -    "inlimbu",
> -    "incopticepactnumbers",
> -    "ingeorgianextended",
> -    "inphoneticextensionssupplement",
> -    "any",
> -    "osge",
> -    "defaultignorablecodepoint",
> -    "hangul",
> -    "newa",
> -    "ethi",
> -    "hanifirohingya",
> -    "hmnp",
> -    "olditalic",
> -    "incjkunifiedideographsextensionb",
> -    "rohg",
> -    "innyiakengpuachuehmong",
> -    "incjkradicalssupplement",
> -    "newtailue",
> -    "newline",
> -    "lepcha",
> -    "deprecated",
> -    "buhd",
> -    "inglagolitic",
> -    "inaegeannumbers",
> -    "modifiersymbol",
> -    "surrogate",
> -    "inletterlikesymbols",
> -    "idstrinaryoperator",
> -    "intagalog",
> -    "tangut",
> -    "osmanya",
> -    "oalpha",
> -    "inphagspa",
> -    "ugaritic",
> -    "otheridcontinue",
> -    "inarabicpresentationformsb",
> -    "inbassavah",
> -    "other",
> -    "othernumber",
> -    "sylotinagri",
> -    "ingothic",
> -    "inbuhid",
> -    "inlatin1supplement",
> -    "intagbanwa",
> -    "shaw",
> -    "oldhungarian",
> -    "inmahjongtiles",
> -    "hung",
> -    "tifinagh",
> -    "inbopomofo",
> -    "narb",
> -    "inyisyllables",
> -    "kayahli",
> -    "otheralphabetic",
> -    "phagspa",
> -    "inprivateusearea",
> -    "elba",
> -    "nchar",
> -    "spaceseparator",
> -    "tibt",
> -    "extendedpictographic",
> -    "tibetan",
> -    "sgnw",
> -    "hexdigit",
> -    "tfng",
> -    "inbamumsupplement",
> -    "tavt",
> -    "incombininghalfmarks",
> -    "inarabicmathematicalalphabeticsymbols",
> -    "khudawadi",
> -    "inhalfwidthandfullwidthforms",
> -    "inhangulsyllables",
> -    "elym",
> -    "symbol",
> -    "bassavah",
> -    "elymaic",
> -    "changeswhencasemapped",
> -    "oldturkic",
> -    "inplayingcards",
> -    "zp",
> -    "elbasan",
> -    "buhid",
> -    "noncharactercodepoint",
> -    "finalpunctuation",
> -    "inpsalterpahlavi",
> -    "inpaucinhau",
> -    "nonspacingmark",
> -    "changeswhentitlecased",
> -    "inindicsiyaqnumbers",
> -    "phlp",
> -    "wspace",
> -    "nbat",
> -    "hluw",
> -    "cypriot",
> -    "nabataean",
> -    "inalchemicalsymbols",
> -    "dupl",
> -    "otherlowercase",
> -    "inarabicsupplement",
> -    "inalphabeticpresentationforms",
> -    "otherletter",
> -    "emojipresentation",
> -    "changeswhenlowercased",
> -    "dashpunctuation",
> -    "oldsogdian",
> -    "intangutcomponents",
> -    "soyombo",
> -    "paragraphseparator",
> -    "changeswhencasefolded",
> -    "othersymbol",
> -    "inlatinextendedb",
> -    "otheruppercase",
> -    "otheridstart",
> -    "inhebrew",
> -    "oldnortharabian",
> -    "omath",
> -    "incypriotsyllabary",
> -    "inmathematicaloperators",
> -    "changeswhenuppercased",
> -    "nshu",
> -    "insuperscriptsandsubscripts",
> -    "ogrext",
> -    "inhanguljamoextendedb",
> -    "alphabetic",
> -    "dep",
> -    "oupper",
> -    "zyyy",
> -    "aghb",
> -    "ogham",
> -    "rejang",
> -    "tagb",
> -    "hyphen",
> -    "insupplementalarrowsa",
> -    "inpahawhhmong",
> -    "nushu",
> -    "othermath",
> -    "insupplementalarrowsc",
> -    "insupplementalmathematicaloperators",
> -    "otherdefaultignorablecodepoint",
> -    "inhighprivateusesurrogates",
> -    "duployan",
> -    "oldsoutharabian",
> -    "tglg",
> -    "tagalog",
> -    "inbopomofoextended",
> -    "signwriting",
> -    "inegyptianhieroglyphs",
> -    "inegyptianhieroglyphformatcontrols",
> -    "upper",
> -    "otherpunctuation",
> -    "ethiopic",
> -    "hebrew",
> -    "telugu",
> -    "uppercase",
> -    "insupplementalpunctuation",
> -    "unifiedideograph",
> -    "pahawhhmong",
> -    "inglagoliticsupplement",
> -    "inboxdrawing",
> -    "uppercaseletter",
> -    "othergraphemeextend",
> -    "inhighsurrogates",
> -    "insupplementalarrowsb",
> -    "inhangulcompatibilityjamo",
> -    "egyp",
> -    "insupplementalsymbolsandpictographs",
> -    "nyiakengpuachuehmong",
> -    "insupplementaryprivateuseareaa",
> -    "openpunctuation",
> -    "egyptianhieroglyphs",
> -    "insupplementaryprivateuseareab"
> -  };
> -#define unicode_prop_name_pool ((const char *)
> &unicode_prop_name_pool_contents)
> -static const struct PoolPropertyNameCtype *
> -unicode_lookup_property_name (register const char *str, register size_t
> len)
> -{
> -  static const struct PoolPropertyNameCtype wordlist[] =
> -    {
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1},
> -
> -      {pool_offset(10),                               238},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(14),                                  262},
> -      {-1},
> -
> -      {pool_offset(16),                                 261},
> -
> -      {pool_offset(17),                               125},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(24),                                 154},
> -
> -      {pool_offset(25),                               261},
> -      {-1},
> -
> -      {pool_offset(27),                                  53},
> -
> -      {pool_offset(28),                               139},
> -      {-1},
> -
> -      {pool_offset(30),                               142},
> -      {-1}, {-1},
> -
> -      {pool_offset(33),                               252},
> -
> -      {pool_offset(34),                          295},
> -
> -      {pool_offset(35),                                  40},
> -      {-1},
> -
> -      {pool_offset(37),                                 130},
> -
> -      {pool_offset(38),                                121},
> -
> -      {pool_offset(39),                               121},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(43),                               153},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(51),                              283},
> -      {-1},
> -
> -      {pool_offset(53),                                  54},
> -      {-1}, {-1},
> -
> -      {pool_offset(56),                                 147},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(60),                                131},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(70),                                83},
> -      {-1},
> -
> -      {pool_offset(72),                                 205},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(76),                            125},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(84),                               137},
> -      {-1},
> -
> -      {pool_offset(86),                                39},
> -
> -      {pool_offset(87),                              39},
> -      {-1}, {-1},
> -
> -      {pool_offset(90),                                 206},
> -
> -      {pool_offset(91),                       150},
> -      {-1}, {-1},
> -
> -      {pool_offset(94),                                87},
> -      {-1},
> -
> -      {pool_offset(96),                                 201},
> -      {-1}, {-1},
> -
> -      {pool_offset(99),                        149},
> -      {-1},
> -
> -      {pool_offset(101),                       460},
> -
> -      {pool_offset(102),                                80},
> -
> -      {pool_offset(103),                               87},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(107),                                157},
> -
> -      {pool_offset(108),                               157},
> -      {-1},
> -
> -      {pool_offset(110),                               113},
> -
> -      {pool_offset(111),                               152},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(120),                                  137},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(133),                               144},
> -
> -      {pool_offset(134),                                45},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(139),                          446},
> -      {-1}, {-1},
> -
> -      {pool_offset(142),                       463},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(146),                         277},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(151),                              512},
> -
> -      {pool_offset(152),                             516},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(156),                                   37},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(163),                           478},
> -      {-1}, {-1},
> -
> -      {pool_offset(166),                              55},
> -      {-1}, {-1},
> -
> -      {pool_offset(169),                            141},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(182),                          301},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(187),                          503},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(192),                               106},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(200), 517},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(204),                            314},
> -      {-1}, {-1},
> -
> -      {pool_offset(207),                                38},
> -      {-1},
> -
> -      {pool_offset(209),         207},
> -      {-1},
> -
> -      {pool_offset(211),                                 129},
> -
> -      {pool_offset(212),                               143},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(219),               199},
> -
> -      {pool_offset(220),                            309},
> -
> -      {pool_offset(221),                           437},
> -      {-1},
> -
> -      {pool_offset(223),                          464},
> -      {-1},
> -
> -      {pool_offset(225),                      137},
> -
> -      {pool_offset(226),   506},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(231),                               151},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(238),                               177},
> -
> -      {pool_offset(239),                             492},
> -
> -      {pool_offset(240),                    271},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1},
> -
> -      {pool_offset(251),                         306},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(257),                          480},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1},
> -
> -      {pool_offset(268),                            139},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(272),                           344},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(277),                                 120},
> -      {-1},
> -
> -      {pool_offset(279),                       144},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(283),                        505},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(290),                                 146},
> -      {-1}, {-1},
> -
> -      {pool_offset(293),                                  43},
> -      {-1},
> -
> -      {pool_offset(295),                  496},
> -      {-1}, {-1},
> -
> -      {pool_offset(298),                      264},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(302),                                22},
> -      {-1}, {-1},
> -
> -      {pool_offset(305),                              210},
> -
> -      {pool_offset(306),                               105},
> -      {-1}, {-1},
> -
> -      {pool_offset(309),                        284},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(316),                            22},
> -      {-1},
> -
> -      {pool_offset(318),                          500},
> -
> -      {pool_offset(319),                     501},
> -      {-1},
> -
> -      {pool_offset(321),                                56},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(330),                                 199},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(335),              108},
> -
> -      {pool_offset(336),                               122},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(340),                              122},
> -      {-1},
> -
> -      {pool_offset(342),                                 212},
> -      {-1}, {-1},
> -
> -      {pool_offset(345),                           282},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(352),                     320},
> -      {-1}, {-1},
> -
> -      {pool_offset(355),                         375},
> -
> -      {pool_offset(356),                         275},
> -
> -      {pool_offset(357),                             298},
> -      {-1},
> -
> -      {pool_offset(359),                             405},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(367),                           476},
> -      {-1},
> -
> -      {pool_offset(369),                                 266},
> -      {-1}, {-1},
> -
> -      {pool_offset(372),                               149},
> -      {-1}, {-1},
> -
> -      {pool_offset(375),                                254},
> -
> -      {pool_offset(376),                               254},
> -      {-1}, {-1},
> -
> -      {pool_offset(379),                 205},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(383),                                  57},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(399),                           280},
> -      {-1},
> -
> -      {pool_offset(401),                                207},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(415),                            491},
> -      {-1},
> -
> -      {pool_offset(417),                               141},
> -      {-1},
> -
> -      {pool_offset(419),                                  119},
> -
> -      {pool_offset(420),                                 208},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(427),                                 66},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(431),                    521},
> -      {-1},
> -
> -      {pool_offset(433),                                  62},
> -      {-1}, {-1},
> -
> -      {pool_offset(436),                               150},
> -
> -      {pool_offset(437),                               155},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(441),                               104},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(445),                           113},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(449),                               108},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(456), 372},
> -
> -      {pool_offset(457),                          450},
> -
> -      {pool_offset(458),                        259},
> -      {-1}, {-1},
> -
> -      {pool_offset(461),                                34},
> -      {-1},
> -
> -      {pool_offset(463),                              299},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(472),                               14},
> -      {-1},
> -
> -      {pool_offset(474),                          54},
> -      {-1}, {-1},
> -
> -      {pool_offset(477),                              21},
> -
> -      {pool_offset(478),                          156},
> -      {-1},
> -
> -      {pool_offset(480),                 406},
> -
> -      {pool_offset(481),               471},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(485),                             119},
> -      {-1},
> -
> -      {pool_offset(487),                      495},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1},
> -
> -      {pool_offset(499),                      412},
> -
> -      {pool_offset(500),                  462},
> -      {-1}, {-1},
> -
> -      {pool_offset(503),                              86},
> -
> -      {pool_offset(504),                               112},
> -      {-1}, {-1},
> -
> -      {pool_offset(507),                            112},
> -      {-1},
> -
> -      {pool_offset(509),            425},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(514),       419},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(528),                             489},
> -
> -      {pool_offset(529),                               114},
> -      {-1}, {-1},
> -
> -      {pool_offset(532),                             43},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(536),                            538},
> -      {-1},
> -
> -      {pool_offset(538),                         429},
> -      {-1},
> -
> -      {pool_offset(540),                     537},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(545),           550},
> -      {-1},
> -
> -      {pool_offset(547),                       167},
> -      {-1},
> -
> -      {pool_offset(549),                               259},
> -
> -      {pool_offset(550),                      515},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(558),                     555},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(564),                        548},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(573),                              33},
> -      {-1},
> -
> -      {pool_offset(575),                        439},
> -      {-1}, {-1},
> -
> -      {pool_offset(578),                               195},
> -      {-1},
> -
> -      {pool_offset(580),                           436},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(588), 355},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(594),                               260},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(603),                     209},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(619),                        325},
> -
> -      {pool_offset(620),                       472},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1},
> -
> -      {pool_offset(632),                           66},
> -      {-1},
> -
> -      {pool_offset(634),                              82},
> -
> -      {pool_offset(635),                   434},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(639),                    151},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(643),                        296},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(648),                  197},
> -
> -      {pool_offset(649),                                 225},
> -      {-1}, {-1},
> -
> -      {pool_offset(652),               522},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(656),                          285},
> -
> -      {pool_offset(657),                                 133},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(665),                                 227},
> -
> -      {pool_offset(666),                 431},
> -      {-1},
> -
> -      {pool_offset(668),           396},
> -
> -      {pool_offset(669), 562},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(677),                                102},
> -
> -      {pool_offset(678),                  461},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1},
> -
> -      {pool_offset(699),                      395},
> -      {-1},
> -
> -      {pool_offset(701),                  100},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(707),                               230},
> -
> -      {pool_offset(708),                               26},
> -
> -      {pool_offset(709),                   520},
> -
> -      {pool_offset(710),                       380},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(715),                              110},
> -      {-1}, {-1},
> -
> -      {pool_offset(718),      348},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(722),                                 255},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(728),                      543},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(732),                                28},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(739),                               85},
> -      {-1},
> -
> -      {pool_offset(741),                               28},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(749),                              197},
> -      {-1}, {-1},
> -
> -      {pool_offset(752),              393},
> -
> -      {pool_offset(753),                               175},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(760),                                27},
> -      {-1}, {-1},
> -
> -      {pool_offset(763),                      163},
> -      {-1},
> -
> -      {pool_offset(765),                               13},
> -      {-1},
> -
> -      {pool_offset(767),                                103},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(776),                                7},
> -      {-1},
> -
> -      {pool_offset(778),                   269},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(782),                          322},
> -
> -      {pool_offset(783),                   527},
> -      {-1},
> -
> -      {pool_offset(785),                            318},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(794),                               216},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(809),                          216},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(813),                                  215},
> -      {-1}, {-1},
> -
> -      {pool_offset(816),                   410},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(820),                                25},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(826),                               127},
> -
> -      {pool_offset(827),                               198},
> -
> -      {pool_offset(828),                      196},
> -
> -      {pool_offset(829),                  347},
> -
> -      {pool_offset(830),                                2},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(834),             353},
> -
> -      {pool_offset(835),                                 128},
> -
> -      {pool_offset(836),      528},
> -
> -      {pool_offset(837),                                 264},
> -
> -      {pool_offset(838),                           457},
> -
> -      {pool_offset(839),                                 226},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(843),    361},
> -
> -      {pool_offset(844),                         442},
> -
> -      {pool_offset(845),                             29},
> -
> -      {pool_offset(846),                                 200},
> -      {-1},
> -
> -      {pool_offset(848), 547},
> -      {-1},
> -
> -      {pool_offset(850),                               148},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(855),                                  44},
> -      {-1}, {-1},
> -
> -      {pool_offset(858),                            25},
> -      {-1},
> -
> -      {pool_offset(860),                        148},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(865),                                 91},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(869),                            293},
> -
> -      {pool_offset(870),                                91},
> -
> -      {pool_offset(871),                          483},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(879),                                94},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(887),          525},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(891),                       398},
> -
> -      {pool_offset(892),                                 202},
> -      {-1},
> -
> -      {pool_offset(894),                        468},
> -      {-1},
> -
> -      {pool_offset(896),                         102},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(901),                             94},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(905),                                 218},
> -
> -      {pool_offset(906),                           482},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(913),                               101},
> -      {-1},
> -
> -      {pool_offset(915),                  38},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(923),                                98},
> -      {-1},
> -
> -      {pool_offset(925),                               153},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(939),                449},
> -
> -      {pool_offset(940),                          444},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(945),           507},
> -
> -      {pool_offset(946),           272},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(950),                             486},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(972),                            103},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(977),                               106},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(981),                368},
> -      {-1}, {-1},
> -
> -      {pool_offset(984),                                64},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(993),                               41},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(999),                          81},
> -      {-1}, {-1},
> -
> -      {pool_offset(1002),                   470},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1006),              433},
> -      {-1},
> -
> -      {pool_offset(1008),            408},
> -
> -      {pool_offset(1009),               530},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1016),                        110},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1020),                               214},
> -      {-1}, {-1},
> -
> -      {pool_offset(1023),                       494},
> -      {-1},
> -
> -      {pool_offset(1025),                             64},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1035),                         374},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1039),                               118},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1047),                            52},
> -      {-1}, {-1},
> -
> -      {pool_offset(1050),                   363},
> -      {-1},
> -
> -      {pool_offset(1052),                                16},
> -
> -      {pool_offset(1053),                         204},
> -      {-1}, {-1},
> -
> -      {pool_offset(1056),                                52},
> -      {-1}, {-1},
> -
> -      {pool_offset(1059),                            143},
> -      {-1}, {-1},
> -
> -      {pool_offset(1062),                        484},
> -
> -      {pool_offset(1063),                            224},
> -      {-1}, {-1},
> -
> -      {pool_offset(1066),                                6},
> -      {-1},
> -
> -      {pool_offset(1068),                        86},
> -
> -      {pool_offset(1069),                           260},
> -      {-1},
> -
> -      {pool_offset(1071),                          485},
> -
> -      {pool_offset(1072),                               31},
> -      {-1},
> -
> -      {pool_offset(1074),                              11},
> -      {-1},
> -
> -      {pool_offset(1076),                        120},
> -      {-1},
> -
> -      {pool_offset(1078),                                89},
> -
> -      {pool_offset(1079),                            158},
> -      {-1}, {-1},
> -
> -      {pool_offset(1082),                        89},
> -      {-1},
> -
> -      {pool_offset(1084),                                46},
> -      {-1},
> -
> -      {pool_offset(1086),                              45},
> -
> -      {pool_offset(1087),                               156},
> -
> -      {pool_offset(1088),                             111},
> -
> -      {pool_offset(1089),                         479},
> -
> -      {pool_offset(1090),                        84},
> -      {-1},
> -
> -      {pool_offset(1092),                          488},
> -      {-1}, {-1},
> -
> -      {pool_offset(1095),                            308},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1101),                            447},
> -
> -      {pool_offset(1102),              531},
> -      {-1},
> -
> -      {pool_offset(1104),                           536},
> -
> -      {pool_offset(1105),                             117},
> -      {-1},
> -
> -      {pool_offset(1107),               338},
> -
> -      {pool_offset(1108),                            80},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1117),                329},
> -
> -      {pool_offset(1118),                          400},
> -      {-1}, {-1},
> -
> -      {pool_offset(1121),                               115},
> -      {-1}, {-1},
> -
> -      {pool_offset(1124),                            292},
> -      {-1},
> -
> -      {pool_offset(1126),                         142},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1132),                                26},
> -
> -      {pool_offset(1133),                               263},
> -      {-1}, {-1},
> -
> -      {pool_offset(1136),                              182},
> -
> -      {pool_offset(1137),                          328},
> -
> -      {pool_offset(1138),                               126},
> -      {-1}, {-1},
> -
> -      {pool_offset(1141),                         304},
> -      {-1},
> -
> -      {pool_offset(1143),                               257},
> -
> -      {pool_offset(1144),                         302},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1149),                        454},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1154),                           378},
> -      {-1},
> -
> -      {pool_offset(1156),                               16},
> -
> -      {pool_offset(1157),                        499},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1162),                          297},
> -
> -      {pool_offset(1163),                          448},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1169),                          132},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1178),                              240},
> -
> -      {pool_offset(1179),                        315},
> -      {-1},
> -
> -      {pool_offset(1181),                              390},
> -
> -      {pool_offset(1182),                                58},
> -
> -      {pool_offset(1183),                                3},
> -      {-1}, {-1},
> -
> -      {pool_offset(1186),                               72},
> -
> -      {pool_offset(1187),                              219},
> -      {-1},
> -
> -      {pool_offset(1189),                           58},
> -      {-1}, {-1},
> -
> -      {pool_offset(1192),                                48},
> -      {-1},
> -
> -      {pool_offset(1194),                              95},
> -      {-1}, {-1},
> -
> -      {pool_offset(1197),                            126},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1201),                              237},
> -
> -      {pool_offset(1202),          336},
> -
> -      {pool_offset(1203),            349},
> -      {-1},
> -
> -      {pool_offset(1205),                19},
> -
> -      {pool_offset(1206),               276},
> -      {-1},
> -
> -      {pool_offset(1208),                  504},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1215),           346},
> -      {-1},
> -
> -      {pool_offset(1217),                                17},
> -
> -      {pool_offset(1218),               411},
> -
> -      {pool_offset(1219),                               240},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1224),                               116},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1228),   384},
> -      {-1}, {-1},
> -
> -      {pool_offset(1231),                      210},
> -      {-1},
> -
> -      {pool_offset(1233),                               135},
> -
> -      {pool_offset(1234),                             135},
> -
> -      {pool_offset(1235),                         290},
> -      {-1},
> -
> -      {pool_offset(1237),                              214},
> -
> -      {pool_offset(1238),                               124},
> -      {-1},
> -
> -      {pool_offset(1240),               107},
> -      {-1},
> -
> -      {pool_offset(1242),                                95},
> -      {-1},
> -
> -      {pool_offset(1244),                  255},
> -      {-1},
> -
> -      {pool_offset(1246),                     129},
> -
> -      {pool_offset(1247),   560},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1262),                               159},
> -      {-1}, {-1},
> -
> -      {pool_offset(1265),                            159},
> -      {-1},
> -
> -      {pool_offset(1267),                                 134},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1275),                         115},
> -
> -      {pool_offset(1276),                           279},
> -      {-1},
> -
> -      {pool_offset(1278),                            211},
> -      {-1}, {-1},
> -
> -      {pool_offset(1281),                              116},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1286), 307},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1292),                              183},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1296),                          232},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1300),                        319},
> -      {-1},
> -
> -      {pool_offset(1302),              131},
> -      {-1},
> -
> -      {pool_offset(1304),                               145},
> -      {-1},
> -
> -      {pool_offset(1306),                             34},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1311),                                82},
> -
> -      {pool_offset(1312),                      477},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1316),                          497},
> -
> -      {pool_offset(1317),                                21},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1322),                               217},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1329),                                90},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1333),                               244},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1337),                          198},
> -
> -      {pool_offset(1338),                       267},
> -
> -      {pool_offset(1339),         421},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1347),                                8},
> -
> -      {pool_offset(1348),                            90},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1354),                             83},
> -
> -      {pool_offset(1355),                          445},
> -
> -      {pool_offset(1356),                               184},
> -
> -      {pool_offset(1357),   545},
> -      {-1}, {-1},
> -
> -      {pool_offset(1360),                          487},
> -
> -      {pool_offset(1361),                          474},
> -
> -      {pool_offset(1362),                           455},
> -      {-1},
> -
> -      {pool_offset(1364),   558},
> -
> -      {pool_offset(1365),                       74},
> -      {-1}, {-1},
> -
> -      {pool_offset(1368),                              251},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1373),                         31},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1379),                               204},
> -
> -      {pool_offset(1380),                              124},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1384),                                  160},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1388),    546},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1392),                               158},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1398),                               111},
> -
> -      {pool_offset(1399),             386},
> -      {-1},
> -
> -      {pool_offset(1401),                   274},
> -      {-1},
> -
> -      {pool_offset(1403),                     469},
> -      {-1}, {-1},
> -
> -      {pool_offset(1406),                 383},
> -      {-1}, {-1},
> -
> -      {pool_offset(1409),                              84},
> -      {-1},
> -
> -      {pool_offset(1411),                        162},
> -
> -      {pool_offset(1412),                                33},
> -      {-1},
> -
> -      {pool_offset(1414),                                 168},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1421),                                 228},
> -      {-1},
> -
> -      {pool_offset(1423),                                166},
> -
> -      {pool_offset(1424),                               166},
> -      {-1}, {-1},
> -
> -      {pool_offset(1427),                               178},
> -      {-1}, {-1},
> -
> -      {pool_offset(1430),                               222},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1435),                          106},
> -      {-1},
> -
> -      {pool_offset(1437),                                  193},
> -      {-1}, {-1},
> -
> -      {pool_offset(1440),                               107},
> -      {-1}, {-1},
> -
> -      {pool_offset(1443),              458},
> -
> -      {pool_offset(1444),                       456},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1449),                    529},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1453),                         217},
> -      {-1},
> -
> -      {pool_offset(1455),                   371},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1461),                      147},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1467),                      85},
> -
> -      {pool_offset(1468),                                29},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1473),                            326},
> -
> -      {pool_offset(1474),                                81},
> -
> -      {pool_offset(1475),                                15},
> -      {-1},
> -
> -      {pool_offset(1477),                             196},
> -      {-1},
> -
> -      {pool_offset(1479),                                186},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1486),                               67},
> -      {-1}, {-1},
> -
> -      {pool_offset(1489),                          300},
> -      {-1},
> -
> -      {pool_offset(1491),                               136},
> -
> -      {pool_offset(1492),                             136},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1499),                    351},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1506),                                47},
> -
> -      {pool_offset(1507), 316},
> -
> -      {pool_offset(1508),                  212},
> -
> -      {pool_offset(1509),                    337},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1513),                   75},
> -
> -      {pool_offset(1514),             510},
> -      {-1},
> -
> -      {pool_offset(1516),                            493},
> -
> -      {pool_offset(1517),                            239},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1524),                       388},
> -
> -      {pool_offset(1525),                          53},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1532),              331},
> -      {-1}, {-1},
> -
> -      {pool_offset(1535),                      343},
> -      {-1}, {-1},
> -
> -      {pool_offset(1538),                    128},
> -      {-1}, {-1},
> -
> -      {pool_offset(1541),                                67},
> -
> -      {pool_offset(1542),                               123},
> -      {-1}, {-1},
> -
> -      {pool_offset(1545),                                30},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1553),                                12},
> -
> -      {pool_offset(1554),                                88},
> -
> -      {pool_offset(1555),                     435},
> -      {-1},
> -
> -      {pool_offset(1557),                           30},
> -      {-1}, {-1},
> -
> -      {pool_offset(1560),                                61},
> -      {-1},
> -
> -      {pool_offset(1562),                  287},
> -      {-1}, {-1},
> -
> -      {pool_offset(1565),                            88},
> -
> -      {pool_offset(1566),                   394},
> -
> -      {pool_offset(1567),                          567},
> -      {-1}, {-1},
> -
> -      {pool_offset(1570),                               109},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1576),                  352},
> -
> -      {pool_offset(1577),                                60},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1582),                       288},
> -
> -      {pool_offset(1583),                         324},
> -      {-1},
> -
> -      {pool_offset(1585),          526},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1589),                               237},
> -      {-1},
> -
> -      {pool_offset(1591),                                65},
> -      {-1}, {-1},
> -
> -      {pool_offset(1594),                                 97},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1601),                 404},
> -      {-1},
> -
> -      {pool_offset(1603),                               224},
> -
> -      {pool_offset(1604),                                 50},
> -      {-1},
> -
> -      {pool_offset(1606),                            221},
> -
> -      {pool_offset(1607),                          65},
> -      {-1},
> -
> -      {pool_offset(1609),                               188},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1615),                           109},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1621),                               140},
> -
> -      {pool_offset(1622),   559},
> -      {-1},
> -
> -      {pool_offset(1624),                   219},
> -      {-1},
> -
> -      {pool_offset(1626),                          140},
> -      {-1},
> -
> -      {pool_offset(1628),                          311},
> -
> -      {pool_offset(1629),            481},
> -      {-1},
> -
> -      {pool_offset(1631),                               173},
> -      {-1},
> -
> -      {pool_offset(1633),                  452},
> -      {-1}, {-1},
> -
> -      {pool_offset(1636),                             190},
> -      {-1},
> -
> -      {pool_offset(1638),                          195},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1642),                             24},
> -      {-1}, {-1},
> -
> -      {pool_offset(1645),   561},
> -
> -      {pool_offset(1646),                          473},
> -
> -      {pool_offset(1647),                         354},
> -
> -      {pool_offset(1648),                            173},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1654),                               189},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1661),                        193},
> -      {-1},
> -
> -      {pool_offset(1663),                               232},
> -      {-1}, {-1},
> -
> -      {pool_offset(1666),                  357},
> -      {-1}, {-1},
> -
> -      {pool_offset(1669),                      73},
> -      {-1}, {-1},
> -
> -      {pool_offset(1672),                        104},
> -
> -      {pool_offset(1673),                               241},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1688),                              44},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1694),               549},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1700),                              56},
> -      {-1},
> -
> -      {pool_offset(1702),                       40},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1708),                               100},
> -
> -      {pool_offset(1709), 359},
> -      {-1}, {-1},
> -
> -      {pool_offset(1712),                            229},
> -      {-1}, {-1},
> -
> -      {pool_offset(1715),                               179},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1720),                244},
> -      {-1},
> -
> -      {pool_offset(1722),                           518},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1729),                         366},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1733),                    417},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1743),               422},
> -      {-1},
> -
> -      {pool_offset(1745),                                56},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1750),                               231},
> -      {-1}, {-1},
> -
> -      {pool_offset(1753),                             563},
> -      {-1}, {-1},
> -
> -      {pool_offset(1756),                    423},
> -
> -      {pool_offset(1757),            465},
> -      {-1}, {-1},
> -
> -      {pool_offset(1760),             466},
> -      {-1}, {-1},
> -
> -      {pool_offset(1763),                152},
> -
> -      {pool_offset(1764),                       15},
> -      {-1},
> -
> -      {pool_offset(1766),                409},
> -
> -      {pool_offset(1767),                  332},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1781),                               162},
> -
> -      {pool_offset(1782),                                 49},
> -      {-1}, {-1},
> -
> -      {pool_offset(1785),                                59},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1791),                            523},
> -      {-1}, {-1},
> -
> -      {pool_offset(1794),                    263},
> -      {-1}, {-1},
> -
> -      {pool_offset(1797),          552},
> -
> -      {pool_offset(1798),                                24},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1808),                    105},
> -      {-1},
> -
> -      {pool_offset(1810),                                32},
> -      {-1},
> -
> -      {pool_offset(1812),                               180},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1819),                       443},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1},
> -
> -      {pool_offset(1830),                          407},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1834),                               138},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1838),       381},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1845),                           138},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1871),                   201},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1875),                             389},
> -      {-1}, {-1},
> -
> -      {pool_offset(1878),                         228},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1897),                            252},
> -
> -      {pool_offset(1898),     564},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1},
> -
> -      {pool_offset(1910),                               234},
> -
> -      {pool_offset(1911),                                92},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1926),         373},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1932),                         291},
> -
> -      {pool_offset(1933),                            32},
> -      {-1}, {-1},
> -
> -      {pool_offset(1936),                                1},
> -
> -      {pool_offset(1937),                               117},
> -      {-1},
> -
> -      {pool_offset(1939),                        453},
> -      {-1}, {-1},
> -
> -      {pool_offset(1942),                     502},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1948),                        441},
> -      {-1},
> -
> -      {pool_offset(1950),                           327},
> -
> -      {pool_offset(1951),                            23},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(1955),                  340},
> -      {-1}, {-1},
> -
> -      {pool_offset(1958),                426},
> -
> -      {pool_offset(1959),                        230},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1964),                 430},
> -
> -      {pool_offset(1965),                         178},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1972),                   42},
> -
> -      {pool_offset(1973),      382},
> -      {-1},
> -
> -      {pool_offset(1975),                            98},
> -
> -      {pool_offset(1976),                            392},
> -      {-1}, {-1},
> -
> -      {pool_offset(1979),                           401},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1984),                                5},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1990),                            220},
> -
> -      {pool_offset(1991),               305},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(1996),               399},
> -
> -      {pool_offset(1997),                           364},
> -
> -      {pool_offset(1998),                 286},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2004),                  459},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2014),                               194},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2022),                           294},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2029),        273},
> -      {-1},
> -
> -      {pool_offset(2031),                         226},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2036),                    133},
> -      {-1},
> -
> -      {pool_offset(2038),                               250},
> -
> -      {pool_offset(2039), 341},
> -
> -      {pool_offset(2040),                        146},
> -      {-1}, {-1},
> -
> -      {pool_offset(2043),                               220},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2047),                         403},
> -
> -      {pool_offset(2048),                             234},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2054),                                9},
> -      {-1},
> -
> -      {pool_offset(2056),                                96},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2061),                                 79},
> -      {-1}, {-1},
> -
> -      {pool_offset(2064),                       303},
> -      {-1},
> -
> -      {pool_offset(2066),                               203},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2076),              402},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2082),                             256},
> -      {-1},
> -
> -      {pool_offset(2084),                                35},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2089),                              241},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2093),                               229},
> -
> -      {pool_offset(2094),                               181},
> -      {-1}, {-1},
> -
> -      {pool_offset(2097),                          177},
> -      {-1}, {-1},
> -
> -      {pool_offset(2100),                            222},
> -      {-1},
> -
> -      {pool_offset(2102),                391},
> -      {-1}, {-1},
> -
> -      {pool_offset(2105),                           475},
> -      {-1}, {-1},
> -
> -      {pool_offset(2108),              490},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2113),                               245},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2118),                             245},
> -      {-1},
> -
> -      {pool_offset(2120),                               246},
> -      {-1},
> -
> -      {pool_offset(2122),                            35},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2127),               365},
> -      {-1},
> -
> -      {pool_offset(2129),                                4},
> -      {-1}, {-1},
> -
> -      {pool_offset(2132),                            60},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2149),                               233},
> -
> -      {pool_offset(2150),               333},
> -
> -      {pool_offset(2151),                          262},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2159),                 367},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2163),  532},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2168),   556},
> -      {-1},
> -
> -      {pool_offset(2170),                                 163},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2176),                               249},
> -      {-1},
> -
> -      {pool_offset(2178),                            249},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2184), 335},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2193),                            79},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2197),                               256},
> -      {-1},
> -
> -      {pool_offset(2199),                          289},
> -      {-1},
> -
> -      {pool_offset(2201),                               164},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2206),                               242},
> -
> -      {pool_offset(2207),                         257},
> -      {-1}, {-1},
> -
> -      {pool_offset(2210),                           236},
> -
> -      {pool_offset(2211),                               182},
> -
> -      {pool_offset(2212),                                 167},
> -
> -      {pool_offset(2213),                         524},
> -
> -      {pool_offset(2214),                                 51},
> -      {-1},
> -
> -      {pool_offset(2216),                         321},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2220),                               243},
> -      {-1}, {-1},
> -
> -      {pool_offset(2223),                               172},
> -      {-1}, {-1},
> -
> -      {pool_offset(2226),                            238},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1},
> -
> -      {pool_offset(2237),                               213},
> -      {-1}, {-1},
> -
> -      {pool_offset(2240),                533},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2250), 323},
> -
> -      {pool_offset(2251),                             160},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2264),            385},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2277),                         258},
> -
> -      {pool_offset(2278),                     218},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2285),              540},
> -      {-1}, {-1},
> -
> -      {pool_offset(2288),                            317},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2293),               438},
> -      {-1},
> -
> -      {pool_offset(2295),                 330},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2305),     334},
> -      {-1}, {-1},
> -
> -      {pool_offset(2308),                                 20},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1},
> -
> -      {pool_offset(2320),                               183},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2325),           62},
> -
> -      {pool_offset(2326),                              92},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2333),                               165},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2343),                                77},
> -      {-1},
> -
> -      {pool_offset(2345),                      93},
> -
> -      {pool_offset(2346),                               171},
> -      {-1},
> -
> -      {pool_offset(2348),                          175},
> -
> -      {pool_offset(2349),   557},
> -      {-1}, {-1},
> -
> -      {pool_offset(2352),                                93},
> -
> -      {pool_offset(2353),             535},
> -      {-1},
> -
> -      {pool_offset(2355),            370},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2364),                          164},
> -
> -      {pool_offset(2365),                              0},
> -
> -      {pool_offset(2366),                             123},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2375),                          63},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2381),                                36},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2391),                       362},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2395),                    432},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2400),                     225},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2410),                           57},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2418),                342},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2426),                 101},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2442),                          310},
> -
> -      {pool_offset(2443),                             242},
> -      {-1},
> -
> -      {pool_offset(2445),                            184},
> -      {-1},
> -
> -      {pool_offset(2447),                             185},
> -
> -      {pool_offset(2448),                          397},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2455),                           250},
> -
> -      {pool_offset(2456),                    188},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2460),         427},
> -      {-1},
> -
> -      {pool_offset(2462),                         513},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2469),                               37},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2478),                        168},
> -      {-1},
> -
> -      {pool_offset(2480),                        233},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2487),                           440},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1},
> -
> -      {pool_offset(2498),                            312},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2502),                 268},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2516),                         313},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2523),                               221},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2529),                       174},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2538),                     542},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2542),                               174},
> -      {-1},
> -
> -      {pool_offset(2544),                           248},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2554),                         376},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2561),                               176},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2571),                      387},
> -      {-1},
> -
> -      {pool_offset(2573),                            114},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2578),                    185},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2582),                            203},
> -      {-1},
> -
> -      {pool_offset(2584),                   418},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2588),                                70},
> -      {-1}, {-1},
> -
> -      {pool_offset(2591),                              169},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2607),                     266},
> -      {-1},
> -
> -      {pool_offset(2609),                               247},
> -      {-1},
> -
> -      {pool_offset(2611),                78},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2615),                            247},
> -
> -      {pool_offset(2616),                               223},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2622),                            97},
> -
> -      {pool_offset(2623),                               248},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2627),                  511},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2632),                               239},
> -
> -      {pool_offset(2633),               424},
> -
> -      {pool_offset(2634), 541},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2638),                          118},
> -      {-1}, {-1},
> -
> -      {pool_offset(2641),       428},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1},
> -
> -      {pool_offset(2652),                  413},
> -
> -      {pool_offset(2653),                                71},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2669),                             215},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2692),                            27},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2696),                             71},
> -      {-1},
> -
> -      {pool_offset(2698),               48},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1},
> -
> -      {pool_offset(2709),                          181},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2725),                     544},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2767),                                 265},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2775),                             70},
> -
> -      {pool_offset(2776),                               36},
> -      {-1}, {-1},
> -
> -      {pool_offset(2779),              169},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2785),                   202},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2794),                   467},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2800),                        498},
> -
> -      {pool_offset(2801),                     154},
> -      {-1}, {-1},
> -
> -      {pool_offset(2804),               50},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(2808),                539},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2813),                               209},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1},
> -
> -      {pool_offset(2824),                             258},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2831),                               161},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2836),                                19},
> -      {-1},
> -
> -      {pool_offset(2838),                             59},
> -
> -      {pool_offset(2839),                          161},
> -      {-1},
> -
> -      {pool_offset(2841),                551},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2847),                                68},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2856),                     190},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2875),                 281},
> -
> -      {pool_offset(2876),      420},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2890),                        130},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2916),                   76},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2930),               49},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2953),                    200},
> -
> -      {pool_offset(2954),                         179},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2970),                 519},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2977),                            231},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(2996),                 265},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3012),               47},
> -      {-1}, {-1},
> -
> -      {pool_offset(3015),                        227},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3020),                   270},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3072),                     192},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3079),                       189},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3084),                           278},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(3088),                    176},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(3092),                              191},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3099),                 451},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3118),            345},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3146),               51},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3154),                               170},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3182),        339},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3188),                             187},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3197),              414},
> -
> -      {pool_offset(3198),                          18},
> -
> -      {pool_offset(3199),                                 63},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3216),                             192},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3258),                                55},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3267),                                42},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3285),                              172},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1},
> -
> -      {pool_offset(3306),                             213},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3324),                               236},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3350),                              99},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3355),              356},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(3413),                      514},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3459),                              170},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3478),                          191},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(3491),              553},
> -      {-1}, {-1},
> -
> -      {pool_offset(3494), 360},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3500),     186},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3527),         416},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1},
> -
> -      {pool_offset(3538),                            68},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3663),                    180},
> -      {-1}, {-1},
> -
> -      {pool_offset(3666),                               235},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3685),                            235},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3692),                 379},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1},
> -
> -      {pool_offset(3731),                        223},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3750),              508},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(3763), 509},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3807),                               10},
> -      {-1}, {-1},
> -
> -      {pool_offset(3810),                   206},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3872),                            77},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3881),                              96},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1},
> -
> -      {pool_offset(3901),                             243},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3910),                          253},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3937),          369},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3946),                   251},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3961),                        194},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(3971),             534},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1},
> -
> -      {pool_offset(3992),                       350},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(4279),                    134},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(4298),                187},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(4401),                   415},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1},
> -
> -      {pool_offset(4476),              358},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(4562),          377},
> -
> -      {pool_offset(4563),                                69},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(4577), 554},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(4659),               171},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1},
> -
> -      {pool_offset(4688),     565},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(4822),                    208},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1},
> -
> -      {pool_offset(4851),                 69},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
> -      {-1}, {-1}, {-1},
> -
> -      {pool_offset(5809),     566}
> -    };
> -
> -  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
> -    {
> -      register unsigned int key = hash (str, len);
> -
> -      if (key <= MAX_HASH_VALUE)
> -        {
> -          register int o = wordlist[key].name;
> -          if (o >= 0)
> -            {
> -              register const char *s = o + unicode_prop_name_pool;
> -
> -              if ((((unsigned char)*str ^ (unsigned char)*s) & ~32) == 0
> && !gperf_case_strncmp (str, s, len) && s[len] == '\0')
> -                return &wordlist[key];
> -            }
> -        }
> -    }
> -  return 0;
> -}
> -
> -
> -
> -#define UNICODE_PROPERTY_VERSION  12_1_0
> -
> -#define PROPERTY_NAME_MAX_SIZE  59
> -#define CODE_RANGES_NUM         568
> -
> -#define PROP_INDEX_NEWLINE 0
> -#define PROP_INDEX_ALPHA 1
> -#define PROP_INDEX_BLANK 2
> -#define PROP_INDEX_CNTRL 3
> -#define PROP_INDEX_DIGIT 4
> -#define PROP_INDEX_GRAPH 5
> -#define PROP_INDEX_LOWER 6
> -#define PROP_INDEX_PRINT 7
> -#define PROP_INDEX_PUNCT 8
> -#define PROP_INDEX_SPACE 9
> -#define PROP_INDEX_UPPER 10
> -#define PROP_INDEX_XDIGIT 11
> -#define PROP_INDEX_WORD 12
> -#define PROP_INDEX_ALNUM 13
> -#define PROP_INDEX_ASCII 14
> -#define PROP_INDEX_ASCIIHEXDIGIT 15
> -#define PROP_INDEX_AHEX 15
> -#define PROP_INDEX_ADLM 16
> -#define PROP_INDEX_ADLAM 16
> -#define PROP_INDEX_AHOM 17
> -#define PROP_INDEX_ALPHABETIC 18
> -#define PROP_INDEX_ANATOLIANHIEROGLYPHS 19
> -#define PROP_INDEX_HLUW 19
> -#define PROP_INDEX_ANY 20
> -#define PROP_INDEX_ARABIC 21
> -#define PROP_INDEX_ARAB 21
> -#define PROP_INDEX_ARMN 22
> -#define PROP_INDEX_ARMENIAN 22
> -#define PROP_INDEX_ASSIGNED 23
> -#define PROP_INDEX_AVST 24
> -#define PROP_INDEX_AVESTAN 24
> -#define PROP_INDEX_BALINESE 25
> -#define PROP_INDEX_BALI 25
> -#define PROP_INDEX_BAMUM 26
> -#define PROP_INDEX_BAMU 26
> -#define PROP_INDEX_BASSAVAH 27
> -#define PROP_INDEX_BASS 27
> -#define PROP_INDEX_BATAK 28
> -#define PROP_INDEX_BATK 28
> -#define PROP_INDEX_BENG 29
> -#define PROP_INDEX_BENGALI 29
> -#define PROP_INDEX_BHKS 30
> -#define PROP_INDEX_BHAIKSUKI 30
> -#define PROP_INDEX_BIDICONTROL 31
> -#define PROP_INDEX_BIDIC 31
> -#define PROP_INDEX_BOPO 32
> -#define PROP_INDEX_BOPOMOFO 32
> -#define PROP_INDEX_BRAHMI 33
> -#define PROP_INDEX_BRAH 33
> -#define PROP_INDEX_BRAI 34
> -#define PROP_INDEX_BRAILLE 34
> -#define PROP_INDEX_BUGI 35
> -#define PROP_INDEX_BUGINESE 35
> -#define PROP_INDEX_BUHD 36
> -#define PROP_INDEX_BUHID 36
> -#define PROP_INDEX_C 37
> -#define PROP_INDEX_OTHER 37
> -#define PROP_INDEX_CANS 38
> -#define PROP_INDEX_CANADIANABORIGINAL 38
> -#define PROP_INDEX_CARI 39
> -#define PROP_INDEX_CARIAN 39
> -#define PROP_INDEX_CI 40
> -#define PROP_INDEX_CASEIGNORABLE 40
> -#define PROP_INDEX_CASED 41
> -#define PROP_INDEX_AGHB 42
> -#define PROP_INDEX_CAUCASIANALBANIAN 42
> -#define PROP_INDEX_CONTROL 43
> -#define PROP_INDEX_CC 43
> -#define PROP_INDEX_CF 44
> -#define PROP_INDEX_FORMAT 44
> -#define PROP_INDEX_CHAKMA 45
> -#define PROP_INDEX_CAKM 45
> -#define PROP_INDEX_CHAM 46
> -#define PROP_INDEX_CWCF 47
> -#define PROP_INDEX_CHANGESWHENCASEFOLDED 47
> -#define PROP_INDEX_CWCM 48
> -#define PROP_INDEX_CHANGESWHENCASEMAPPED 48
> -#define PROP_INDEX_CWL 49
> -#define PROP_INDEX_CHANGESWHENLOWERCASED 49
> -#define PROP_INDEX_CWT 50
> -#define PROP_INDEX_CHANGESWHENTITLECASED 50
> -#define PROP_INDEX_CWU 51
> -#define PROP_INDEX_CHANGESWHENUPPERCASED 51
> -#define PROP_INDEX_CHER 52
> -#define PROP_INDEX_CHEROKEE 52
> -#define PROP_INDEX_CN 53
> -#define PROP_INDEX_UNASSIGNED 53
> -#define PROP_INDEX_PRIVATEUSE 54
> -#define PROP_INDEX_CO 54
> -#define PROP_INDEX_ZYYY 55
> -#define PROP_INDEX_COMMON 55
> -#define PROP_INDEX_COPT 56
> -#define PROP_INDEX_COPTIC 56
> -#define PROP_INDEX_QAAC 56
> -#define PROP_INDEX_CS 57
> -#define PROP_INDEX_SURROGATE 57
> -#define PROP_INDEX_XSUX 58
> -#define PROP_INDEX_CUNEIFORM 58
> -#define PROP_INDEX_CPRT 59
> -#define PROP_INDEX_CYPRIOT 59
> -#define PROP_INDEX_CYRILLIC 60
> -#define PROP_INDEX_CYRL 60
> -#define PROP_INDEX_DASH 61
> -#define PROP_INDEX_DEFAULTIGNORABLECODEPOINT 62
> -#define PROP_INDEX_DI 62
> -#define PROP_INDEX_DEP 63
> -#define PROP_INDEX_DEPRECATED 63
> -#define PROP_INDEX_DSRT 64
> -#define PROP_INDEX_DESERET 64
> -#define PROP_INDEX_DEVA 65
> -#define PROP_INDEX_DEVANAGARI 65
> -#define PROP_INDEX_DIACRITIC 66
> -#define PROP_INDEX_DIA 66
> -#define PROP_INDEX_DOGRA 67
> -#define PROP_INDEX_DOGR 67
> -#define PROP_INDEX_DUPL 68
> -#define PROP_INDEX_DUPLOYAN 68
> -#define PROP_INDEX_EGYPTIANHIEROGLYPHS 69
> -#define PROP_INDEX_EGYP 69
> -#define PROP_INDEX_ELBA 70
> -#define PROP_INDEX_ELBASAN 70
> -#define PROP_INDEX_ELYM 71
> -#define PROP_INDEX_ELYMAIC 71
> -#define PROP_INDEX_EMOJI 72
> -#define PROP_INDEX_EMOJICOMPONENT 73
> -#define PROP_INDEX_EMOJIMODIFIER 74
> -#define PROP_INDEX_EMOJIMODIFIERBASE 75
> -#define PROP_INDEX_EMOJIPRESENTATION 76
> -#define PROP_INDEX_ETHIOPIC 77
> -#define PROP_INDEX_ETHI 77
> -#define PROP_INDEX_EXTENDEDPICTOGRAPHIC 78
> -#define PROP_INDEX_EXT 79
> -#define PROP_INDEX_EXTENDER 79
> -#define PROP_INDEX_GEORGIAN 80
> -#define PROP_INDEX_GEOR 80
> -#define PROP_INDEX_GLAG 81
> -#define PROP_INDEX_GLAGOLITIC 81
> -#define PROP_INDEX_GOTH 82
> -#define PROP_INDEX_GOTHIC 82
> -#define PROP_INDEX_GRAN 83
> -#define PROP_INDEX_GRANTHA 83
> -#define PROP_INDEX_GRBASE 84
> -#define PROP_INDEX_GRAPHEMEBASE 84
> -#define PROP_INDEX_GREXT 85
> -#define PROP_INDEX_GRAPHEMEEXTEND 85
> -#define PROP_INDEX_GRAPHEMELINK 86
> -#define PROP_INDEX_GRLINK 86
> -#define PROP_INDEX_GREEK 87
> -#define PROP_INDEX_GREK 87
> -#define PROP_INDEX_GUJARATI 88
> -#define PROP_INDEX_GUJR 88
> -#define PROP_INDEX_GUNJALAGONDI 89
> -#define PROP_INDEX_GONG 89
> -#define PROP_INDEX_GURU 90
> -#define PROP_INDEX_GURMUKHI 90
> -#define PROP_INDEX_HANI 91
> -#define PROP_INDEX_HAN 91
> -#define PROP_INDEX_HANG 92
> -#define PROP_INDEX_HANGUL 92
> -#define PROP_INDEX_HANIFIROHINGYA 93
> -#define PROP_INDEX_ROHG 93
> -#define PROP_INDEX_HANUNOO 94
> -#define PROP_INDEX_HANO 94
> -#define PROP_INDEX_HATR 95
> -#define PROP_INDEX_HATRAN 95
> -#define PROP_INDEX_HEBREW 96
> -#define PROP_INDEX_HEBR 96
> -#define PROP_INDEX_HEXDIGIT 97
> -#define PROP_INDEX_HEX 97
> -#define PROP_INDEX_HIRAGANA 98
> -#define PROP_INDEX_HIRA 98
> -#define PROP_INDEX_HYPHEN 99
> -#define PROP_INDEX_IDSB 100
> -#define PROP_INDEX_IDSBINARYOPERATOR 100
> -#define PROP_INDEX_IDST 101
> -#define PROP_INDEX_IDSTRINARYOPERATOR 101
> -#define PROP_INDEX_IDCONTINUE 102
> -#define PROP_INDEX_IDC 102
> -#define PROP_INDEX_IDS 103
> -#define PROP_INDEX_IDSTART 103
> -#define PROP_INDEX_IDEO 104
> -#define PROP_INDEX_IDEOGRAPHIC 104
> -#define PROP_INDEX_ARMI 105
> -#define PROP_INDEX_IMPERIALARAMAIC 105
> -#define PROP_INDEX_ZINH 106
> -#define PROP_INDEX_INHERITED 106
> -#define PROP_INDEX_QAAI 106
> -#define PROP_INDEX_PHLI 107
> -#define PROP_INDEX_INSCRIPTIONALPAHLAVI 107
> -#define PROP_INDEX_INSCRIPTIONALPARTHIAN 108
> -#define PROP_INDEX_PRTI 108
> -#define PROP_INDEX_JAVANESE 109
> -#define PROP_INDEX_JAVA 109
> -#define PROP_INDEX_JOINC 110
> -#define PROP_INDEX_JOINCONTROL 110
> -#define PROP_INDEX_KAITHI 111
> -#define PROP_INDEX_KTHI 111
> -#define PROP_INDEX_KNDA 112
> -#define PROP_INDEX_KANNADA 112
> -#define PROP_INDEX_KATAKANA 113
> -#define PROP_INDEX_KANA 113
> -#define PROP_INDEX_KAYAHLI 114
> -#define PROP_INDEX_KALI 114
> -#define PROP_INDEX_KHAROSHTHI 115
> -#define PROP_INDEX_KHAR 115
> -#define PROP_INDEX_KHMR 116
> -#define PROP_INDEX_KHMER 116
> -#define PROP_INDEX_KHOJ 117
> -#define PROP_INDEX_KHOJKI 117
> -#define PROP_INDEX_KHUDAWADI 118
> -#define PROP_INDEX_SIND 118
> -#define PROP_INDEX_L 119
> -#define PROP_INDEX_LETTER 119
> -#define PROP_INDEX_LC 120
> -#define PROP_INDEX_CASEDLETTER 120
> -#define PROP_INDEX_LAO 121
> -#define PROP_INDEX_LAOO 121
> -#define PROP_INDEX_LATN 122
> -#define PROP_INDEX_LATIN 122
> -#define PROP_INDEX_LEPC 123
> -#define PROP_INDEX_LEPCHA 123
> -#define PROP_INDEX_LIMBU 124
> -#define PROP_INDEX_LIMB 124
> -#define PROP_INDEX_LINA 125
> -#define PROP_INDEX_LINEARA 125
> -#define PROP_INDEX_LINB 126
> -#define PROP_INDEX_LINEARB 126
> -#define PROP_INDEX_LISU 127
> -#define PROP_INDEX_LOWERCASELETTER 128
> -#define PROP_INDEX_LL 128
> -#define PROP_INDEX_LM 129
> -#define PROP_INDEX_MODIFIERLETTER 129
> -#define PROP_INDEX_LO 130
> -#define PROP_INDEX_OTHERLETTER 130
> -#define PROP_INDEX_LOGICALORDEREXCEPTION 131
> -#define PROP_INDEX_LOE 131
> -#define PROP_INDEX_LOWERCASE 132
> -#define PROP_INDEX_LT 133
> -#define PROP_INDEX_TITLECASELETTER 133
> -#define PROP_INDEX_UPPERCASELETTER 134
> -#define PROP_INDEX_LU 134
> -#define PROP_INDEX_LYCI 135
> -#define PROP_INDEX_LYCIAN 135
> -#define PROP_INDEX_LYDI 136
> -#define PROP_INDEX_LYDIAN 136
> -#define PROP_INDEX_M 137
> -#define PROP_INDEX_COMBININGMARK 137
> -#define PROP_INDEX_MARK 137
> -#define PROP_INDEX_MAHJ 138
> -#define PROP_INDEX_MAHAJANI 138
> -#define PROP_INDEX_MAKASAR 139
> -#define PROP_INDEX_MAKA 139
> -#define PROP_INDEX_MALAYALAM 140
> -#define PROP_INDEX_MLYM 140
> -#define PROP_INDEX_MAND 141
> -#define PROP_INDEX_MANDAIC 141
> -#define PROP_INDEX_MANI 142
> -#define PROP_INDEX_MANICHAEAN 142
> -#define PROP_INDEX_MARC 143
> -#define PROP_INDEX_MARCHEN 143
> -#define PROP_INDEX_MASARAMGONDI 144
> -#define PROP_INDEX_GONM 144
> -#define PROP_INDEX_MATH 145
> -#define PROP_INDEX_MC 146
> -#define PROP_INDEX_SPACINGMARK 146
> -#define PROP_INDEX_ENCLOSINGMARK 147
> -#define PROP_INDEX_ME 147
> -#define PROP_INDEX_MEDEFAIDRIN 148
> -#define PROP_INDEX_MEDF 148
> -#define PROP_INDEX_MEETEIMAYEK 149
> -#define PROP_INDEX_MTEI 149
> -#define PROP_INDEX_MENDEKIKAKUI 150
> -#define PROP_INDEX_MEND 150
> -#define PROP_INDEX_MEROITICCURSIVE 151
> -#define PROP_INDEX_MERC 151
> -#define PROP_INDEX_MEROITICHIEROGLYPHS 152
> -#define PROP_INDEX_MERO 152
> -#define PROP_INDEX_PLRD 153
> -#define PROP_INDEX_MIAO 153
> -#define PROP_INDEX_MN 154
> -#define PROP_INDEX_NONSPACINGMARK 154
> -#define PROP_INDEX_MODI 155
> -#define PROP_INDEX_MONGOLIAN 156
> -#define PROP_INDEX_MONG 156
> -#define PROP_INDEX_MRO 157
> -#define PROP_INDEX_MROO 157
> -#define PROP_INDEX_MULT 158
> -#define PROP_INDEX_MULTANI 158
> -#define PROP_INDEX_MYANMAR 159
> -#define PROP_INDEX_MYMR 159
> -#define PROP_INDEX_NUMBER 160
> -#define PROP_INDEX_N 160
> -#define PROP_INDEX_NABATAEAN 161
> -#define PROP_INDEX_NBAT 161
> -#define PROP_INDEX_NAND 162
> -#define PROP_INDEX_NANDINAGARI 162
> -#define PROP_INDEX_DECIMALNUMBER 163
> -#define PROP_INDEX_ND 163
> -#define PROP_INDEX_TALU 164
> -#define PROP_INDEX_NEWTAILUE 164
> -#define PROP_INDEX_NEWA 165
> -#define PROP_INDEX_NKO 166
> -#define PROP_INDEX_NKOO 166
> -#define PROP_INDEX_LETTERNUMBER 167
> -#define PROP_INDEX_NL 167
> -#define PROP_INDEX_OTHERNUMBER 168
> -#define PROP_INDEX_NO 168
> -#define PROP_INDEX_NONCHARACTERCODEPOINT 169
> -#define PROP_INDEX_NCHAR 169
> -#define PROP_INDEX_NSHU 170
> -#define PROP_INDEX_NUSHU 170
> -#define PROP_INDEX_HMNP 171
> -#define PROP_INDEX_NYIAKENGPUACHUEHMONG 171
> -#define PROP_INDEX_OGHAM 172
> -#define PROP_INDEX_OGAM 172
> -#define PROP_INDEX_OLCK 173
> -#define PROP_INDEX_OLCHIKI 173
> -#define PROP_INDEX_HUNG 174
> -#define PROP_INDEX_OLDHUNGARIAN 174
> -#define PROP_INDEX_ITAL 175
> -#define PROP_INDEX_OLDITALIC 175
> -#define PROP_INDEX_NARB 176
> -#define PROP_INDEX_OLDNORTHARABIAN 176
> -#define PROP_INDEX_OLDPERMIC 177
> -#define PROP_INDEX_PERM 177
> -#define PROP_INDEX_OLDPERSIAN 178
> -#define PROP_INDEX_XPEO 178
> -#define PROP_INDEX_SOGO 179
> -#define PROP_INDEX_OLDSOGDIAN 179
> -#define PROP_INDEX_SARB 180
> -#define PROP_INDEX_OLDSOUTHARABIAN 180
> -#define PROP_INDEX_OLDTURKIC 181
> -#define PROP_INDEX_ORKH 181
> -#define PROP_INDEX_ORYA 182
> -#define PROP_INDEX_ORIYA 182
> -#define PROP_INDEX_OSAGE 183
> -#define PROP_INDEX_OSGE 183
> -#define PROP_INDEX_OSMANYA 184
> -#define PROP_INDEX_OSMA 184
> -#define PROP_INDEX_OTHERALPHABETIC 185
> -#define PROP_INDEX_OALPHA 185
> -#define PROP_INDEX_ODI 186
> -#define PROP_INDEX_OTHERDEFAULTIGNORABLECODEPOINT 186
> -#define PROP_INDEX_OGREXT 187
> -#define PROP_INDEX_OTHERGRAPHEMEEXTEND 187
> -#define PROP_INDEX_OIDC 188
> -#define PROP_INDEX_OTHERIDCONTINUE 188
> -#define PROP_INDEX_OTHERIDSTART 189
> -#define PROP_INDEX_OIDS 189
> -#define PROP_INDEX_OTHERLOWERCASE 190
> -#define PROP_INDEX_OLOWER 190
> -#define PROP_INDEX_OTHERMATH 191
> -#define PROP_INDEX_OMATH 191
> -#define PROP_INDEX_OTHERUPPERCASE 192
> -#define PROP_INDEX_OUPPER 192
> -#define PROP_INDEX_P 193
> -#define PROP_INDEX_PUNCTUATION 193
> -#define PROP_INDEX_PAHAWHHMONG 194
> -#define PROP_INDEX_HMNG 194
> -#define PROP_INDEX_PALMYRENE 195
> -#define PROP_INDEX_PALM 195
> -#define PROP_INDEX_PATTERNSYNTAX 196
> -#define PROP_INDEX_PATSYN 196
> -#define PROP_INDEX_PATWS 197
> -#define PROP_INDEX_PATTERNWHITESPACE 197
> -#define PROP_INDEX_PAUCINHAU 198
> -#define PROP_INDEX_PAUC 198
> -#define PROP_INDEX_CONNECTORPUNCTUATION 199
> -#define PROP_INDEX_PC 199
> -#define PROP_INDEX_DASHPUNCTUATION 200
> -#define PROP_INDEX_PD 200
> -#define PROP_INDEX_PE 201
> -#define PROP_INDEX_CLOSEPUNCTUATION 201
> -#define PROP_INDEX_FINALPUNCTUATION 202
> -#define PROP_INDEX_PF 202
> -#define PROP_INDEX_PHAG 203
> -#define PROP_INDEX_PHAGSPA 203
> -#define PROP_INDEX_PHOENICIAN 204
> -#define PROP_INDEX_PHNX 204
> -#define PROP_INDEX_PI 205
> -#define PROP_INDEX_INITIALPUNCTUATION 205
> -#define PROP_INDEX_OTHERPUNCTUATION 206
> -#define PROP_INDEX_PO 206
> -#define PROP_INDEX_PREPENDEDCONCATENATIONMARK 207
> -#define PROP_INDEX_PCM 207
> -#define PROP_INDEX_PS 208
> -#define PROP_INDEX_OPENPUNCTUATION 208
> -#define PROP_INDEX_PHLP 209
> -#define PROP_INDEX_PSALTERPAHLAVI 209
> -#define PROP_INDEX_QUOTATIONMARK 210
> -#define PROP_INDEX_QMARK 210
> -#define PROP_INDEX_RADICAL 211
> -#define PROP_INDEX_RI 212
> -#define PROP_INDEX_REGIONALINDICATOR 212
> -#define PROP_INDEX_REJANG 213
> -#define PROP_INDEX_RJNG 213
> -#define PROP_INDEX_RUNIC 214
> -#define PROP_INDEX_RUNR 214
> -#define PROP_INDEX_S 215
> -#define PROP_INDEX_SYMBOL 215
> -#define PROP_INDEX_SAMARITAN 216
> -#define PROP_INDEX_SAMR 216
> -#define PROP_INDEX_SAURASHTRA 217
> -#define PROP_INDEX_SAUR 217
> -#define PROP_INDEX_SC 218
> -#define PROP_INDEX_CURRENCYSYMBOL 218
> -#define PROP_INDEX_SENTENCETERMINAL 219
> -#define PROP_INDEX_STERM 219
> -#define PROP_INDEX_SHARADA 220
> -#define PROP_INDEX_SHRD 220
> -#define PROP_INDEX_SHAVIAN 221
> -#define PROP_INDEX_SHAW 221
> -#define PROP_INDEX_SIDDHAM 222
> -#define PROP_INDEX_SIDD 222
> -#define PROP_INDEX_SIGNWRITING 223
> -#define PROP_INDEX_SGNW 223
> -#define PROP_INDEX_SINH 224
> -#define PROP_INDEX_SINHALA 224
> -#define PROP_INDEX_SK 225
> -#define PROP_INDEX_MODIFIERSYMBOL 225
> -#define PROP_INDEX_MATHSYMBOL 226
> -#define PROP_INDEX_SM 226
> -#define PROP_INDEX_SO 227
> -#define PROP_INDEX_OTHERSYMBOL 227
> -#define PROP_INDEX_SD 228
> -#define PROP_INDEX_SOFTDOTTED 228
> -#define PROP_INDEX_SOGD 229
> -#define PROP_INDEX_SOGDIAN 229
> -#define PROP_INDEX_SORASOMPENG 230
> -#define PROP_INDEX_SORA 230
> -#define PROP_INDEX_SOYO 231
> -#define PROP_INDEX_SOYOMBO 231
> -#define PROP_INDEX_SUND 232
> -#define PROP_INDEX_SUNDANESE 232
> -#define PROP_INDEX_SYLO 233
> -#define PROP_INDEX_SYLOTINAGRI 233
> -#define PROP_INDEX_SYRC 234
> -#define PROP_INDEX_SYRIAC 234
> -#define PROP_INDEX_TGLG 235
> -#define PROP_INDEX_TAGALOG 235
> -#define PROP_INDEX_TAGBANWA 236
> -#define PROP_INDEX_TAGB 236
> -#define PROP_INDEX_TAILE 237
> -#define PROP_INDEX_TALE 237
> -#define PROP_INDEX_TAITHAM 238
> -#define PROP_INDEX_LANA 238
> -#define PROP_INDEX_TAIVIET 239
> -#define PROP_INDEX_TAVT 239
> -#define PROP_INDEX_TAKRI 240
> -#define PROP_INDEX_TAKR 240
> -#define PROP_INDEX_TAMIL 241
> -#define PROP_INDEX_TAML 241
> -#define PROP_INDEX_TANG 242
> -#define PROP_INDEX_TANGUT 242
> -#define PROP_INDEX_TELUGU 243
> -#define PROP_INDEX_TELU 243
> -#define PROP_INDEX_TERM 244
> -#define PROP_INDEX_TERMINALPUNCTUATION 244
> -#define PROP_INDEX_THAA 245
> -#define PROP_INDEX_THAANA 245
> -#define PROP_INDEX_THAI 246
> -#define PROP_INDEX_TIBT 247
> -#define PROP_INDEX_TIBETAN 247
> -#define PROP_INDEX_TFNG 248
> -#define PROP_INDEX_TIFINAGH 248
> -#define PROP_INDEX_TIRHUTA 249
> -#define PROP_INDEX_TIRH 249
> -#define PROP_INDEX_UGAR 250
> -#define PROP_INDEX_UGARITIC 250
> -#define PROP_INDEX_UNIFIEDIDEOGRAPH 251
> -#define PROP_INDEX_UIDEO 251
> -#define PROP_INDEX_ZZZZ 252
> -#define PROP_INDEX_UNKNOWN 252
> -#define PROP_INDEX_UPPERCASE 253
> -#define PROP_INDEX_VAII 254
> -#define PROP_INDEX_VAI 254
> -#define PROP_INDEX_VARIATIONSELECTOR 255
> -#define PROP_INDEX_VS 255
> -#define PROP_INDEX_WCHO 256
> -#define PROP_INDEX_WANCHO 256
> -#define PROP_INDEX_WARANGCITI 257
> -#define PROP_INDEX_WARA 257
> -#define PROP_INDEX_WHITESPACE 258
> -#define PROP_INDEX_WSPACE 258
> -#define PROP_INDEX_XIDC 259
> -#define PROP_INDEX_XIDCONTINUE 259
> -#define PROP_INDEX_XIDS 260
> -#define PROP_INDEX_XIDSTART 260
> -#define PROP_INDEX_YI 261
> -#define PROP_INDEX_YIII 261
> -#define PROP_INDEX_SEPARATOR 262
> -#define PROP_INDEX_Z 262
> -#define PROP_INDEX_ZANABAZARSQUARE 263
> -#define PROP_INDEX_ZANB 263
> -#define PROP_INDEX_ZL 264
> -#define PROP_INDEX_LINESEPARATOR 264
> -#define PROP_INDEX_ZP 265
> -#define PROP_INDEX_PARAGRAPHSEPARATOR 265
> -#define PROP_INDEX_ZS 266
> -#define PROP_INDEX_SPACESEPARATOR 266
> -#define PROP_INDEX_INBASICLATIN 267
> -#define PROP_INDEX_INLATIN1SUPPLEMENT 268
> -#define PROP_INDEX_INLATINEXTENDEDA 269
> -#define PROP_INDEX_INLATINEXTENDEDB 270
> -#define PROP_INDEX_INIPAEXTENSIONS 271
> -#define PROP_INDEX_INSPACINGMODIFIERLETTERS 272
> -#define PROP_INDEX_INCOMBININGDIACRITICALMARKS 273
> -#define PROP_INDEX_INGREEKANDCOPTIC 274
> -#define PROP_INDEX_INCYRILLIC 275
> -#define PROP_INDEX_INCYRILLICSUPPLEMENT 276
> -#define PROP_INDEX_INARMENIAN 277
> -#define PROP_INDEX_INHEBREW 278
> -#define PROP_INDEX_INARABIC 279
> -#define PROP_INDEX_INSYRIAC 280
> -#define PROP_INDEX_INARABICSUPPLEMENT 281
> -#define PROP_INDEX_INTHAANA 282
> -#define PROP_INDEX_INNKO 283
> -#define PROP_INDEX_INSAMARITAN 284
> -#define PROP_INDEX_INMANDAIC 285
> -#define PROP_INDEX_INSYRIACSUPPLEMENT 286
> -#define PROP_INDEX_INARABICEXTENDEDA 287
> -#define PROP_INDEX_INDEVANAGARI 288
> -#define PROP_INDEX_INBENGALI 289
> -#define PROP_INDEX_INGURMUKHI 290
> -#define PROP_INDEX_INGUJARATI 291
> -#define PROP_INDEX_INORIYA 292
> -#define PROP_INDEX_INTAMIL 293
> -#define PROP_INDEX_INTELUGU 294
> -#define PROP_INDEX_INKANNADA 295
> -#define PROP_INDEX_INMALAYALAM 296
> -#define PROP_INDEX_INSINHALA 297
> -#define PROP_INDEX_INTHAI 298
> -#define PROP_INDEX_INLAO 299
> -#define PROP_INDEX_INTIBETAN 300
> -#define PROP_INDEX_INMYANMAR 301
> -#define PROP_INDEX_INGEORGIAN 302
> -#define PROP_INDEX_INHANGULJAMO 303
> -#define PROP_INDEX_INETHIOPIC 304
> -#define PROP_INDEX_INETHIOPICSUPPLEMENT 305
> -#define PROP_INDEX_INCHEROKEE 306
> -#define PROP_INDEX_INUNIFIEDCANADIANABORIGINALSYLLABICS 307
> -#define PROP_INDEX_INOGHAM 308
> -#define PROP_INDEX_INRUNIC 309
> -#define PROP_INDEX_INTAGALOG 310
> -#define PROP_INDEX_INHANUNOO 311
> -#define PROP_INDEX_INBUHID 312
> -#define PROP_INDEX_INTAGBANWA 313
> -#define PROP_INDEX_INKHMER 314
> -#define PROP_INDEX_INMONGOLIAN 315
> -#define
> PROP_INDEX_INUNIFIEDCANADIANABORIGINALSYLLABICSEXTENDED 316
> -#define PROP_INDEX_INLIMBU 317
> -#define PROP_INDEX_INTAILE 318
> -#define PROP_INDEX_INNEWTAILUE 319
> -#define PROP_INDEX_INKHMERSYMBOLS 320
> -#define PROP_INDEX_INBUGINESE 321
> -#define PROP_INDEX_INTAITHAM 322
> -#define PROP_INDEX_INCOMBININGDIACRITICALMARKSEXTENDED 323
> -#define PROP_INDEX_INBALINESE 324
> -#define PROP_INDEX_INSUNDANESE 325
> -#define PROP_INDEX_INBATAK 326
> -#define PROP_INDEX_INLEPCHA 327
> -#define PROP_INDEX_INOLCHIKI 328
> -#define PROP_INDEX_INCYRILLICEXTENDEDC 329
> -#define PROP_INDEX_INGEORGIANEXTENDED 330
> -#define PROP_INDEX_INSUNDANESESUPPLEMENT 331
> -#define PROP_INDEX_INVEDICEXTENSIONS 332
> -#define PROP_INDEX_INPHONETICEXTENSIONS 333
> -#define PROP_INDEX_INPHONETICEXTENSIONSSUPPLEMENT 334
> -#define PROP_INDEX_INCOMBININGDIACRITICALMARKSSUPPLEMENT 335
> -#define PROP_INDEX_INLATINEXTENDEDADDITIONAL 336
> -#define PROP_INDEX_INGREEKEXTENDED 337
> -#define PROP_INDEX_INGENERALPUNCTUATION 338
> -#define PROP_INDEX_INSUPERSCRIPTSANDSUBSCRIPTS 339
> -#define PROP_INDEX_INCURRENCYSYMBOLS 340
> -#define PROP_INDEX_INCOMBININGDIACRITICALMARKSFORSYMBOLS 341
> -#define PROP_INDEX_INLETTERLIKESYMBOLS 342
> -#define PROP_INDEX_INNUMBERFORMS 343
> -#define PROP_INDEX_INARROWS 344
> -#define PROP_INDEX_INMATHEMATICALOPERATORS 345
> -#define PROP_INDEX_INMISCELLANEOUSTECHNICAL 346
> -#define PROP_INDEX_INCONTROLPICTURES 347
> -#define PROP_INDEX_INOPTICALCHARACTERRECOGNITION 348
> -#define PROP_INDEX_INENCLOSEDALPHANUMERICS 349
> -#define PROP_INDEX_INBOXDRAWING 350
> -#define PROP_INDEX_INBLOCKELEMENTS 351
> -#define PROP_INDEX_INGEOMETRICSHAPES 352
> -#define PROP_INDEX_INMISCELLANEOUSSYMBOLS 353
> -#define PROP_INDEX_INDINGBATS 354
> -#define PROP_INDEX_INMISCELLANEOUSMATHEMATICALSYMBOLSA 355
> -#define PROP_INDEX_INSUPPLEMENTALARROWSA 356
> -#define PROP_INDEX_INBRAILLEPATTERNS 357
> -#define PROP_INDEX_INSUPPLEMENTALARROWSB 358
> -#define PROP_INDEX_INMISCELLANEOUSMATHEMATICALSYMBOLSB 359
> -#define PROP_INDEX_INSUPPLEMENTALMATHEMATICALOPERATORS 360
> -#define PROP_INDEX_INMISCELLANEOUSSYMBOLSANDARROWS 361
> -#define PROP_INDEX_INGLAGOLITIC 362
> -#define PROP_INDEX_INLATINEXTENDEDC 363
> -#define PROP_INDEX_INCOPTIC 364
> -#define PROP_INDEX_INGEORGIANSUPPLEMENT 365
> -#define PROP_INDEX_INTIFINAGH 366
> -#define PROP_INDEX_INETHIOPICEXTENDED 367
> -#define PROP_INDEX_INCYRILLICEXTENDEDA 368
> -#define PROP_INDEX_INSUPPLEMENTALPUNCTUATION 369
> -#define PROP_INDEX_INCJKRADICALSSUPPLEMENT 370
> -#define PROP_INDEX_INKANGXIRADICALS 371
> -#define PROP_INDEX_INIDEOGRAPHICDESCRIPTIONCHARACTERS 372
> -#define PROP_INDEX_INCJKSYMBOLSANDPUNCTUATION 373
> -#define PROP_INDEX_INHIRAGANA 374
> -#define PROP_INDEX_INKATAKANA 375
> -#define PROP_INDEX_INBOPOMOFO 376
> -#define PROP_INDEX_INHANGULCOMPATIBILITYJAMO 377
> -#define PROP_INDEX_INKANBUN 378
> -#define PROP_INDEX_INBOPOMOFOEXTENDED 379
> -#define PROP_INDEX_INCJKSTROKES 380
> -#define PROP_INDEX_INKATAKANAPHONETICEXTENSIONS 381
> -#define PROP_INDEX_INENCLOSEDCJKLETTERSANDMONTHS 382
> -#define PROP_INDEX_INCJKCOMPATIBILITY 383
> -#define PROP_INDEX_INCJKUNIFIEDIDEOGRAPHSEXTENSIONA 384
> -#define PROP_INDEX_INYIJINGHEXAGRAMSYMBOLS 385
> -#define PROP_INDEX_INCJKUNIFIEDIDEOGRAPHS 386
> -#define PROP_INDEX_INYISYLLABLES 387
> -#define PROP_INDEX_INYIRADICALS 388
> -#define PROP_INDEX_INLISU 389
> -#define PROP_INDEX_INVAI 390
> -#define PROP_INDEX_INCYRILLICEXTENDEDB 391
> -#define PROP_INDEX_INBAMUM 392
> -#define PROP_INDEX_INMODIFIERTONELETTERS 393
> -#define PROP_INDEX_INLATINEXTENDEDD 394
> -#define PROP_INDEX_INSYLOTINAGRI 395
> -#define PROP_INDEX_INCOMMONINDICNUMBERFORMS 396
> -#define PROP_INDEX_INPHAGSPA 397
> -#define PROP_INDEX_INSAURASHTRA 398
> -#define PROP_INDEX_INDEVANAGARIEXTENDED 399
> -#define PROP_INDEX_INKAYAHLI 400
> -#define PROP_INDEX_INREJANG 401
> -#define PROP_INDEX_INHANGULJAMOEXTENDEDA 402
> -#define PROP_INDEX_INJAVANESE 403
> -#define PROP_INDEX_INMYANMAREXTENDEDB 404
> -#define PROP_INDEX_INCHAM 405
> -#define PROP_INDEX_INMYANMAREXTENDEDA 406
> -#define PROP_INDEX_INTAIVIET 407
> -#define PROP_INDEX_INMEETEIMAYEKEXTENSIONS 408
> -#define PROP_INDEX_INETHIOPICEXTENDEDA 409
> -#define PROP_INDEX_INLATINEXTENDEDE 410
> -#define PROP_INDEX_INCHEROKEESUPPLEMENT 411
> -#define PROP_INDEX_INMEETEIMAYEK 412
> -#define PROP_INDEX_INHANGULSYLLABLES 413
> -#define PROP_INDEX_INHANGULJAMOEXTENDEDB 414
> -#define PROP_INDEX_INHIGHSURROGATES 415
> -#define PROP_INDEX_INHIGHPRIVATEUSESURROGATES 416
> -#define PROP_INDEX_INLOWSURROGATES 417
> -#define PROP_INDEX_INPRIVATEUSEAREA 418
> -#define PROP_INDEX_INCJKCOMPATIBILITYIDEOGRAPHS 419
> -#define PROP_INDEX_INALPHABETICPRESENTATIONFORMS 420
> -#define PROP_INDEX_INARABICPRESENTATIONFORMSA 421
> -#define PROP_INDEX_INVARIATIONSELECTORS 422
> -#define PROP_INDEX_INVERTICALFORMS 423
> -#define PROP_INDEX_INCOMBININGHALFMARKS 424
> -#define PROP_INDEX_INCJKCOMPATIBILITYFORMS 425
> -#define PROP_INDEX_INSMALLFORMVARIANTS 426
> -#define PROP_INDEX_INARABICPRESENTATIONFORMSB 427
> -#define PROP_INDEX_INHALFWIDTHANDFULLWIDTHFORMS 428
> -#define PROP_INDEX_INSPECIALS 429
> -#define PROP_INDEX_INLINEARBSYLLABARY 430
> -#define PROP_INDEX_INLINEARBIDEOGRAMS 431
> -#define PROP_INDEX_INAEGEANNUMBERS 432
> -#define PROP_INDEX_INANCIENTGREEKNUMBERS 433
> -#define PROP_INDEX_INANCIENTSYMBOLS 434
> -#define PROP_INDEX_INPHAISTOSDISC 435
> -#define PROP_INDEX_INLYCIAN 436
> -#define PROP_INDEX_INCARIAN 437
> -#define PROP_INDEX_INCOPTICEPACTNUMBERS 438
> -#define PROP_INDEX_INOLDITALIC 439
> -#define PROP_INDEX_INGOTHIC 440
> -#define PROP_INDEX_INOLDPERMIC 441
> -#define PROP_INDEX_INUGARITIC 442
> -#define PROP_INDEX_INOLDPERSIAN 443
> -#define PROP_INDEX_INDESERET 444
> -#define PROP_INDEX_INSHAVIAN 445
> -#define PROP_INDEX_INOSMANYA 446
> -#define PROP_INDEX_INOSAGE 447
> -#define PROP_INDEX_INELBASAN 448
> -#define PROP_INDEX_INCAUCASIANALBANIAN 449
> -#define PROP_INDEX_INLINEARA 450
> -#define PROP_INDEX_INCYPRIOTSYLLABARY 451
> -#define PROP_INDEX_INIMPERIALARAMAIC 452
> -#define PROP_INDEX_INPALMYRENE 453
> -#define PROP_INDEX_INNABATAEAN 454
> -#define PROP_INDEX_INHATRAN 455
> -#define PROP_INDEX_INPHOENICIAN 456
> -#define PROP_INDEX_INLYDIAN 457
> -#define PROP_INDEX_INMEROITICHIEROGLYPHS 458
> -#define PROP_INDEX_INMEROITICCURSIVE 459
> -#define PROP_INDEX_INKHAROSHTHI 460
> -#define PROP_INDEX_INOLDSOUTHARABIAN 461
> -#define PROP_INDEX_INOLDNORTHARABIAN 462
> -#define PROP_INDEX_INMANICHAEAN 463
> -#define PROP_INDEX_INAVESTAN 464
> -#define PROP_INDEX_ININSCRIPTIONALPARTHIAN 465
> -#define PROP_INDEX_ININSCRIPTIONALPAHLAVI 466
> -#define PROP_INDEX_INPSALTERPAHLAVI 467
> -#define PROP_INDEX_INOLDTURKIC 468
> -#define PROP_INDEX_INOLDHUNGARIAN 469
> -#define PROP_INDEX_INHANIFIROHINGYA 470
> -#define PROP_INDEX_INRUMINUMERALSYMBOLS 471
> -#define PROP_INDEX_INOLDSOGDIAN 472
> -#define PROP_INDEX_INSOGDIAN 473
> -#define PROP_INDEX_INELYMAIC 474
> -#define PROP_INDEX_INBRAHMI 475
> -#define PROP_INDEX_INKAITHI 476
> -#define PROP_INDEX_INSORASOMPENG 477
> -#define PROP_INDEX_INCHAKMA 478
> -#define PROP_INDEX_INMAHAJANI 479
> -#define PROP_INDEX_INSHARADA 480
> -#define PROP_INDEX_INSINHALAARCHAICNUMBERS 481
> -#define PROP_INDEX_INKHOJKI 482
> -#define PROP_INDEX_INMULTANI 483
> -#define PROP_INDEX_INKHUDAWADI 484
> -#define PROP_INDEX_INGRANTHA 485
> -#define PROP_INDEX_INNEWA 486
> -#define PROP_INDEX_INTIRHUTA 487
> -#define PROP_INDEX_INSIDDHAM 488
> -#define PROP_INDEX_INMODI 489
> -#define PROP_INDEX_INMONGOLIANSUPPLEMENT 490
> -#define PROP_INDEX_INTAKRI 491
> -#define PROP_INDEX_INAHOM 492
> -#define PROP_INDEX_INDOGRA 493
> -#define PROP_INDEX_INWARANGCITI 494
> -#define PROP_INDEX_INNANDINAGARI 495
> -#define PROP_INDEX_INZANABAZARSQUARE 496
> -#define PROP_INDEX_INSOYOMBO 497
> -#define PROP_INDEX_INPAUCINHAU 498
> -#define PROP_INDEX_INBHAIKSUKI 499
> -#define PROP_INDEX_INMARCHEN 500
> -#define PROP_INDEX_INMASARAMGONDI 501
> -#define PROP_INDEX_INGUNJALAGONDI 502
> -#define PROP_INDEX_INMAKASAR 503
> -#define PROP_INDEX_INTAMILSUPPLEMENT 504
> -#define PROP_INDEX_INCUNEIFORM 505
> -#define PROP_INDEX_INCUNEIFORMNUMBERSANDPUNCTUATION 506
> -#define PROP_INDEX_INEARLYDYNASTICCUNEIFORM 507
> -#define PROP_INDEX_INEGYPTIANHIEROGLYPHS 508
> -#define PROP_INDEX_INEGYPTIANHIEROGLYPHFORMATCONTROLS 509
> -#define PROP_INDEX_INANATOLIANHIEROGLYPHS 510
> -#define PROP_INDEX_INBAMUMSUPPLEMENT 511
> -#define PROP_INDEX_INMRO 512
> -#define PROP_INDEX_INBASSAVAH 513
> -#define PROP_INDEX_INPAHAWHHMONG 514
> -#define PROP_INDEX_INMEDEFAIDRIN 515
> -#define PROP_INDEX_INMIAO 516
> -#define PROP_INDEX_INIDEOGRAPHICSYMBOLSANDPUNCTUATION 517
> -#define PROP_INDEX_INTANGUT 518
> -#define PROP_INDEX_INTANGUTCOMPONENTS 519
> -#define PROP_INDEX_INKANASUPPLEMENT 520
> -#define PROP_INDEX_INKANAEXTENDEDA 521
> -#define PROP_INDEX_INSMALLKANAEXTENSION 522
> -#define PROP_INDEX_INNUSHU 523
> -#define PROP_INDEX_INDUPLOYAN 524
> -#define PROP_INDEX_INSHORTHANDFORMATCONTROLS 525
> -#define PROP_INDEX_INBYZANTINEMUSICALSYMBOLS 526
> -#define PROP_INDEX_INMUSICALSYMBOLS 527
> -#define PROP_INDEX_INANCIENTGREEKMUSICALNOTATION 528
> -#define PROP_INDEX_INMAYANNUMERALS 529
> -#define PROP_INDEX_INTAIXUANJINGSYMBOLS 530
> -#define PROP_INDEX_INCOUNTINGRODNUMERALS 531
> -#define PROP_INDEX_INMATHEMATICALALPHANUMERICSYMBOLS 532
> -#define PROP_INDEX_INSUTTONSIGNWRITING 533
> -#define PROP_INDEX_INGLAGOLITICSUPPLEMENT 534
> -#define PROP_INDEX_INNYIAKENGPUACHUEHMONG 535
> -#define PROP_INDEX_INWANCHO 536
> -#define PROP_INDEX_INMENDEKIKAKUI 537
> -#define PROP_INDEX_INADLAM 538
> -#define PROP_INDEX_ININDICSIYAQNUMBERS 539
> -#define PROP_INDEX_INOTTOMANSIYAQNUMBERS 540
> -#define PROP_INDEX_INARABICMATHEMATICALALPHABETICSYMBOLS 541
> -#define PROP_INDEX_INMAHJONGTILES 542
> -#define PROP_INDEX_INDOMINOTILES 543
> -#define PROP_INDEX_INPLAYINGCARDS 544
> -#define PROP_INDEX_INENCLOSEDALPHANUMERICSUPPLEMENT 545
> -#define PROP_INDEX_INENCLOSEDIDEOGRAPHICSUPPLEMENT 546
> -#define PROP_INDEX_INMISCELLANEOUSSYMBOLSANDPICTOGRAPHS 547
> -#define PROP_INDEX_INEMOTICONS 548
> -#define PROP_INDEX_INORNAMENTALDINGBATS 549
> -#define PROP_INDEX_INTRANSPORTANDMAPSYMBOLS 550
> -#define PROP_INDEX_INALCHEMICALSYMBOLS 551
> -#define PROP_INDEX_INGEOMETRICSHAPESEXTENDED 552
> -#define PROP_INDEX_INSUPPLEMENTALARROWSC 553
> -#define PROP_INDEX_INSUPPLEMENTALSYMBOLSANDPICTOGRAPHS 554
> -#define PROP_INDEX_INCHESSSYMBOLS 555
> -#define PROP_INDEX_INSYMBOLSANDPICTOGRAPHSEXTENDEDA 556
> -#define PROP_INDEX_INCJKUNIFIEDIDEOGRAPHSEXTENSIONB 557
> -#define PROP_INDEX_INCJKUNIFIEDIDEOGRAPHSEXTENSIONC 558
> -#define PROP_INDEX_INCJKUNIFIEDIDEOGRAPHSEXTENSIOND 559
> -#define PROP_INDEX_INCJKUNIFIEDIDEOGRAPHSEXTENSIONE 560
> -#define PROP_INDEX_INCJKUNIFIEDIDEOGRAPHSEXTENSIONF 561
> -#define PROP_INDEX_INCJKCOMPATIBILITYIDEOGRAPHSSUPPLEMENT 562
> -#define PROP_INDEX_INTAGS 563
> -#define PROP_INDEX_INVARIATIONSELECTORSSUPPLEMENT 564
> -#define PROP_INDEX_INSUPPLEMENTARYPRIVATEUSEAREAA 565
> -#define PROP_INDEX_INSUPPLEMENTARYPRIVATEUSEAREAB 566
> -#define PROP_INDEX_INNOBLOCK 567
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_pr
> operty_data_posix.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_pr
> operty_data_posix.c
> deleted file mode 100644
> index 205b9c0159e8..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_pr
> operty_data_posix.c
> +++ /dev/null
> @@ -1,5347 +0,0 @@
> -/* ANSI-C code produced by gperf version 3.1 */
> -/* Command-line: /usr/local/bin/gperf -T -C -c -t -j1 -L ANSI-C --ignore-case -
> -pic -Q unicode_prop_name_pool -N unicode_lookup_property_name --
> output-file gperf2.tmp unicode_property_data_posix.gperf  */
> -/* Computed positions: -k'1,3' */
> -
> -#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
> -      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
> -      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
> -      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
> -      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
> -      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
> -      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
> -      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
> -      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
> -      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
> -      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
> -      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
> -      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
> -      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
> -      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
> -      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
> -      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
> -      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
> -      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
> -      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
> -      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
> -      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
> -      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
> -/* The character set is not based on ISO-646.  */
> -#error "gperf generated tables don't work with this execution character set.
> Please report a bug to <bug-gperf@gnu.org>."
> -#endif
> -
> -
> -
> -/* Generated by make_unicode_property_data.py. */
> -
> -
> -/* PROPERTY: 'NEWLINE': POSIX [[:NEWLINE:]] */
> -static const OnigCodePoint
> -CR_NEWLINE[] = { 1,
> -0x000a, 0x000a,
> -}; /* END of CR_NEWLINE */
> -
> -/* PROPERTY: 'Alpha': POSIX [[:Alpha:]] */
> -static const OnigCodePoint
> -CR_Alpha[] = { 679,
> -0x0041, 0x005a,
> -0x0061, 0x007a,
> -0x00aa, 0x00aa,
> -0x00b5, 0x00b5,
> -0x00ba, 0x00ba,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00f6,
> -0x00f8, 0x02c1,
> -0x02c6, 0x02d1,
> -0x02e0, 0x02e4,
> -0x02ec, 0x02ec,
> -0x02ee, 0x02ee,
> -0x0345, 0x0345,
> -0x0370, 0x0374,
> -0x0376, 0x0377,
> -0x037a, 0x037d,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x03f5,
> -0x03f7, 0x0481,
> -0x048a, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x0559,
> -0x0560, 0x0588,
> -0x05b0, 0x05bd,
> -0x05bf, 0x05bf,
> -0x05c1, 0x05c2,
> -0x05c4, 0x05c5,
> -0x05c7, 0x05c7,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f2,
> -0x0610, 0x061a,
> -0x0620, 0x0657,
> -0x0659, 0x065f,
> -0x066e, 0x06d3,
> -0x06d5, 0x06dc,
> -0x06e1, 0x06e8,
> -0x06ed, 0x06ef,
> -0x06fa, 0x06fc,
> -0x06ff, 0x06ff,
> -0x0710, 0x073f,
> -0x074d, 0x07b1,
> -0x07ca, 0x07ea,
> -0x07f4, 0x07f5,
> -0x07fa, 0x07fa,
> -0x0800, 0x0817,
> -0x081a, 0x082c,
> -0x0840, 0x0858,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x08d4, 0x08df,
> -0x08e3, 0x08e9,
> -0x08f0, 0x093b,
> -0x093d, 0x094c,
> -0x094e, 0x0950,
> -0x0955, 0x0963,
> -0x0971, 0x0983,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bd, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09cc,
> -0x09ce, 0x09ce,
> -0x09d7, 0x09d7,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e3,
> -0x09f0, 0x09f1,
> -0x09fc, 0x09fc,
> -0x0a01, 0x0a03,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4c,
> -0x0a51, 0x0a51,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a70, 0x0a75,
> -0x0a81, 0x0a83,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abd, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acc,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae3,
> -0x0af9, 0x0afc,
> -0x0b01, 0x0b03,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3d, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4c,
> -0x0b56, 0x0b57,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b63,
> -0x0b71, 0x0b71,
> -0x0b82, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcc,
> -0x0bd0, 0x0bd0,
> -0x0bd7, 0x0bd7,
> -0x0c00, 0x0c03,
> -0x0c05, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4c,
> -0x0c55, 0x0c56,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c63,
> -0x0c80, 0x0c83,
> -0x0c85, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbd, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccc,
> -0x0cd5, 0x0cd6,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce3,
> -0x0cf1, 0x0cf2,
> -0x0d00, 0x0d03,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d3a,
> -0x0d3d, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4c,
> -0x0d4e, 0x0d4e,
> -0x0d54, 0x0d57,
> -0x0d5f, 0x0d63,
> -0x0d7a, 0x0d7f,
> -0x0d82, 0x0d83,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0df2, 0x0df3,
> -0x0e01, 0x0e3a,
> -0x0e40, 0x0e46,
> -0x0e4d, 0x0e4d,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0eb9,
> -0x0ebb, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0ecd, 0x0ecd,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f00,
> -0x0f40, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f71, 0x0f81,
> -0x0f88, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x1000, 0x1036,
> -0x1038, 0x1038,
> -0x103b, 0x103f,
> -0x1050, 0x108f,
> -0x109a, 0x109d,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x10fa,
> -0x10fc, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x1380, 0x138f,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1401, 0x166c,
> -0x166f, 0x167f,
> -0x1681, 0x169a,
> -0x16a0, 0x16ea,
> -0x16ee, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1713,
> -0x1720, 0x1733,
> -0x1740, 0x1753,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1772, 0x1773,
> -0x1780, 0x17b3,
> -0x17b6, 0x17c8,
> -0x17d7, 0x17d7,
> -0x17dc, 0x17dc,
> -0x1820, 0x1878,
> -0x1880, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1920, 0x192b,
> -0x1930, 0x1938,
> -0x1950, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x1a00, 0x1a1b,
> -0x1a20, 0x1a5e,
> -0x1a61, 0x1a74,
> -0x1aa7, 0x1aa7,
> -0x1b00, 0x1b33,
> -0x1b35, 0x1b43,
> -0x1b45, 0x1b4b,
> -0x1b80, 0x1ba9,
> -0x1bac, 0x1baf,
> -0x1bba, 0x1be5,
> -0x1be7, 0x1bf1,
> -0x1c00, 0x1c36,
> -0x1c4d, 0x1c4f,
> -0x1c5a, 0x1c7d,
> -0x1c80, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1ce9, 0x1cec,
> -0x1cee, 0x1cf3,
> -0x1cf5, 0x1cf6,
> -0x1cfa, 0x1cfa,
> -0x1d00, 0x1dbf,
> -0x1de7, 0x1df4,
> -0x1e00, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fbc,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fcc,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fe0, 0x1fec,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffc,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210a, 0x2113,
> -0x2115, 0x2115,
> -0x2119, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x212d,
> -0x212f, 0x2139,
> -0x213c, 0x213f,
> -0x2145, 0x2149,
> -0x214e, 0x214e,
> -0x2160, 0x2188,
> -0x24b6, 0x24e9,
> -0x2c00, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2ce4,
> -0x2ceb, 0x2cee,
> -0x2cf2, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d6f,
> -0x2d80, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x2de0, 0x2dff,
> -0x2e2f, 0x2e2f,
> -0x3005, 0x3007,
> -0x3021, 0x3029,
> -0x3031, 0x3035,
> -0x3038, 0x303c,
> -0x3041, 0x3096,
> -0x309d, 0x309f,
> -0x30a1, 0x30fa,
> -0x30fc, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x31a0, 0x31ba,
> -0x31f0, 0x31ff,
> -0x3400, 0x4db5,
> -0x4e00, 0x9fef,
> -0xa000, 0xa48c,
> -0xa4d0, 0xa4fd,
> -0xa500, 0xa60c,
> -0xa610, 0xa61f,
> -0xa62a, 0xa62b,
> -0xa640, 0xa66e,
> -0xa674, 0xa67b,
> -0xa67f, 0xa6ef,
> -0xa717, 0xa71f,
> -0xa722, 0xa788,
> -0xa78b, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa805,
> -0xa807, 0xa827,
> -0xa840, 0xa873,
> -0xa880, 0xa8c3,
> -0xa8c5, 0xa8c5,
> -0xa8f2, 0xa8f7,
> -0xa8fb, 0xa8fb,
> -0xa8fd, 0xa8ff,
> -0xa90a, 0xa92a,
> -0xa930, 0xa952,
> -0xa960, 0xa97c,
> -0xa980, 0xa9b2,
> -0xa9b4, 0xa9bf,
> -0xa9cf, 0xa9cf,
> -0xa9e0, 0xa9ef,
> -0xa9fa, 0xa9fe,
> -0xaa00, 0xaa36,
> -0xaa40, 0xaa4d,
> -0xaa60, 0xaa76,
> -0xaa7a, 0xaabe,
> -0xaac0, 0xaac0,
> -0xaac2, 0xaac2,
> -0xaadb, 0xaadd,
> -0xaae0, 0xaaef,
> -0xaaf2, 0xaaf5,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab5a,
> -0xab5c, 0xab67,
> -0xab70, 0xabea,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xf900, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb28,
> -0xfb2a, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbb1,
> -0xfbd3, 0xfd3d,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfb,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xff21, 0xff3a,
> -0xff41, 0xff5a,
> -0xff66, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10140, 0x10174,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x10300, 0x1031f,
> -0x1032d, 0x1034a,
> -0x10350, 0x1037a,
> -0x10380, 0x1039d,
> -0x103a0, 0x103c3,
> -0x103c8, 0x103cf,
> -0x103d1, 0x103d5,
> -0x10400, 0x1049d,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10860, 0x10876,
> -0x10880, 0x1089e,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x10900, 0x10915,
> -0x10920, 0x10939,
> -0x10980, 0x109b7,
> -0x109be, 0x109bf,
> -0x10a00, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a60, 0x10a7c,
> -0x10a80, 0x10a9c,
> -0x10ac0, 0x10ac7,
> -0x10ac9, 0x10ae4,
> -0x10b00, 0x10b35,
> -0x10b40, 0x10b55,
> -0x10b60, 0x10b72,
> -0x10b80, 0x10b91,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10d00, 0x10d27,
> -0x10f00, 0x10f1c,
> -0x10f27, 0x10f27,
> -0x10f30, 0x10f45,
> -0x10fe0, 0x10ff6,
> -0x11000, 0x11045,
> -0x11082, 0x110b8,
> -0x110d0, 0x110e8,
> -0x11100, 0x11132,
> -0x11144, 0x11146,
> -0x11150, 0x11172,
> -0x11176, 0x11176,
> -0x11180, 0x111bf,
> -0x111c1, 0x111c4,
> -0x111da, 0x111da,
> -0x111dc, 0x111dc,
> -0x11200, 0x11211,
> -0x11213, 0x11234,
> -0x11237, 0x11237,
> -0x1123e, 0x1123e,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a8,
> -0x112b0, 0x112e8,
> -0x11300, 0x11303,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133d, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134c,
> -0x11350, 0x11350,
> -0x11357, 0x11357,
> -0x1135d, 0x11363,
> -0x11400, 0x11441,
> -0x11443, 0x11445,
> -0x11447, 0x1144a,
> -0x1145f, 0x1145f,
> -0x11480, 0x114c1,
> -0x114c4, 0x114c5,
> -0x114c7, 0x114c7,
> -0x11580, 0x115b5,
> -0x115b8, 0x115be,
> -0x115d8, 0x115dd,
> -0x11600, 0x1163e,
> -0x11640, 0x11640,
> -0x11644, 0x11644,
> -0x11680, 0x116b5,
> -0x116b8, 0x116b8,
> -0x11700, 0x1171a,
> -0x1171d, 0x1172a,
> -0x11800, 0x11838,
> -0x118a0, 0x118df,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d7,
> -0x119da, 0x119df,
> -0x119e1, 0x119e1,
> -0x119e3, 0x119e4,
> -0x11a00, 0x11a32,
> -0x11a35, 0x11a3e,
> -0x11a50, 0x11a97,
> -0x11a9d, 0x11a9d,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c36,
> -0x11c38, 0x11c3e,
> -0x11c40, 0x11c40,
> -0x11c72, 0x11c8f,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d41,
> -0x11d43, 0x11d43,
> -0x11d46, 0x11d47,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d96,
> -0x11d98, 0x11d98,
> -0x11ee0, 0x11ef6,
> -0x12000, 0x12399,
> -0x12400, 0x1246e,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16ad0, 0x16aed,
> -0x16b00, 0x16b2f,
> -0x16b40, 0x16b43,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e7f,
> -0x16f00, 0x16f4a,
> -0x16f4f, 0x16f87,
> -0x16f8f, 0x16f9f,
> -0x16fe0, 0x16fe1,
> -0x16fe3, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1bc9e, 0x1bc9e,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d6c0,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6fa,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d734,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d76e,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d7a8,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7cb,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e100, 0x1e12c,
> -0x1e137, 0x1e13d,
> -0x1e14e, 0x1e14e,
> -0x1e2c0, 0x1e2eb,
> -0x1e800, 0x1e8c4,
> -0x1e900, 0x1e943,
> -0x1e947, 0x1e947,
> -0x1e94b, 0x1e94b,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x1f130, 0x1f149,
> -0x1f150, 0x1f169,
> -0x1f170, 0x1f189,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -}; /* END of CR_Alpha */
> -
> -/* PROPERTY: 'Blank': POSIX [[:Blank:]] */
> -static const OnigCodePoint
> -CR_Blank[] = { 8,
> -0x0009, 0x0009,
> -0x0020, 0x0020,
> -0x00a0, 0x00a0,
> -0x1680, 0x1680,
> -0x2000, 0x200a,
> -0x202f, 0x202f,
> -0x205f, 0x205f,
> -0x3000, 0x3000,
> -}; /* END of CR_Blank */
> -
> -/* PROPERTY: 'Cntrl': POSIX [[:Cntrl:]] */
> -static const OnigCodePoint
> -CR_Cntrl[] = { 2,
> -0x0000, 0x001f,
> -0x007f, 0x009f,
> -}; /* END of CR_Cntrl */
> -
> -/* PROPERTY: 'Digit': POSIX [[:Digit:]] */
> -static const OnigCodePoint
> -CR_Digit[] = { 59,
> -0x0030, 0x0039,
> -0x0660, 0x0669,
> -0x06f0, 0x06f9,
> -0x07c0, 0x07c9,
> -0x0966, 0x096f,
> -0x09e6, 0x09ef,
> -0x0a66, 0x0a6f,
> -0x0ae6, 0x0aef,
> -0x0b66, 0x0b6f,
> -0x0be6, 0x0bef,
> -0x0c66, 0x0c6f,
> -0x0ce6, 0x0cef,
> -0x0d66, 0x0d6f,
> -0x0de6, 0x0def,
> -0x0e50, 0x0e59,
> -0x0ed0, 0x0ed9,
> -0x0f20, 0x0f29,
> -0x1040, 0x1049,
> -0x1090, 0x1099,
> -0x17e0, 0x17e9,
> -0x1810, 0x1819,
> -0x1946, 0x194f,
> -0x19d0, 0x19d9,
> -0x1a80, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1b50, 0x1b59,
> -0x1bb0, 0x1bb9,
> -0x1c40, 0x1c49,
> -0x1c50, 0x1c59,
> -0xa620, 0xa629,
> -0xa8d0, 0xa8d9,
> -0xa900, 0xa909,
> -0xa9d0, 0xa9d9,
> -0xa9f0, 0xa9f9,
> -0xaa50, 0xaa59,
> -0xabf0, 0xabf9,
> -0xff10, 0xff19,
> -0x104a0, 0x104a9,
> -0x10d30, 0x10d39,
> -0x11066, 0x1106f,
> -0x110f0, 0x110f9,
> -0x11136, 0x1113f,
> -0x111d0, 0x111d9,
> -0x112f0, 0x112f9,
> -0x11450, 0x11459,
> -0x114d0, 0x114d9,
> -0x11650, 0x11659,
> -0x116c0, 0x116c9,
> -0x11730, 0x11739,
> -0x118e0, 0x118e9,
> -0x11c50, 0x11c59,
> -0x11d50, 0x11d59,
> -0x11da0, 0x11da9,
> -0x16a60, 0x16a69,
> -0x16b50, 0x16b59,
> -0x1d7ce, 0x1d7ff,
> -0x1e140, 0x1e149,
> -0x1e2f0, 0x1e2f9,
> -0x1e950, 0x1e959,
> -}; /* END of CR_Digit */
> -
> -/* PROPERTY: 'Graph': POSIX [[:Graph:]] */
> -static const OnigCodePoint
> -CR_Graph[] = { 671,
> -0x0021, 0x007e,
> -0x00a1, 0x0377,
> -0x037a, 0x037f,
> -0x0384, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x058a,
> -0x058d, 0x058f,
> -0x0591, 0x05c7,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f4,
> -0x0600, 0x061c,
> -0x061e, 0x070d,
> -0x070f, 0x074a,
> -0x074d, 0x07b1,
> -0x07c0, 0x07fa,
> -0x07fd, 0x082d,
> -0x0830, 0x083e,
> -0x0840, 0x085b,
> -0x085e, 0x085e,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x08d3, 0x0983,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bc, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09ce,
> -0x09d7, 0x09d7,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e3,
> -0x09e6, 0x09fe,
> -0x0a01, 0x0a03,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a3c, 0x0a3c,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4d,
> -0x0a51, 0x0a51,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a66, 0x0a76,
> -0x0a81, 0x0a83,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abc, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acd,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae3,
> -0x0ae6, 0x0af1,
> -0x0af9, 0x0aff,
> -0x0b01, 0x0b03,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3c, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4d,
> -0x0b56, 0x0b57,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b63,
> -0x0b66, 0x0b77,
> -0x0b82, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcd,
> -0x0bd0, 0x0bd0,
> -0x0bd7, 0x0bd7,
> -0x0be6, 0x0bfa,
> -0x0c00, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4d,
> -0x0c55, 0x0c56,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c63,
> -0x0c66, 0x0c6f,
> -0x0c77, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbc, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccd,
> -0x0cd5, 0x0cd6,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce3,
> -0x0ce6, 0x0cef,
> -0x0cf1, 0x0cf2,
> -0x0d00, 0x0d03,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4f,
> -0x0d54, 0x0d63,
> -0x0d66, 0x0d7f,
> -0x0d82, 0x0d83,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0dca, 0x0dca,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0de6, 0x0def,
> -0x0df2, 0x0df4,
> -0x0e01, 0x0e3a,
> -0x0e3f, 0x0e5b,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0ec8, 0x0ecd,
> -0x0ed0, 0x0ed9,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f71, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x0fbe, 0x0fcc,
> -0x0fce, 0x0fda,
> -0x1000, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x135d, 0x137c,
> -0x1380, 0x1399,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1400, 0x167f,
> -0x1681, 0x169c,
> -0x16a0, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1714,
> -0x1720, 0x1736,
> -0x1740, 0x1753,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1772, 0x1773,
> -0x1780, 0x17dd,
> -0x17e0, 0x17e9,
> -0x17f0, 0x17f9,
> -0x1800, 0x180e,
> -0x1810, 0x1819,
> -0x1820, 0x1878,
> -0x1880, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1920, 0x192b,
> -0x1930, 0x193b,
> -0x1940, 0x1940,
> -0x1944, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x19d0, 0x19da,
> -0x19de, 0x1a1b,
> -0x1a1e, 0x1a5e,
> -0x1a60, 0x1a7c,
> -0x1a7f, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1aa0, 0x1aad,
> -0x1ab0, 0x1abe,
> -0x1b00, 0x1b4b,
> -0x1b50, 0x1b7c,
> -0x1b80, 0x1bf3,
> -0x1bfc, 0x1c37,
> -0x1c3b, 0x1c49,
> -0x1c4d, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cc7,
> -0x1cd0, 0x1cfa,
> -0x1d00, 0x1df9,
> -0x1dfb, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fc4,
> -0x1fc6, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fdd, 0x1fef,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffe,
> -0x200b, 0x2027,
> -0x202a, 0x202e,
> -0x2030, 0x205e,
> -0x2060, 0x2064,
> -0x2066, 0x2071,
> -0x2074, 0x208e,
> -0x2090, 0x209c,
> -0x20a0, 0x20bf,
> -0x20d0, 0x20f0,
> -0x2100, 0x218b,
> -0x2190, 0x2426,
> -0x2440, 0x244a,
> -0x2460, 0x2b73,
> -0x2b76, 0x2b95,
> -0x2b98, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2cf3,
> -0x2cf9, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d70,
> -0x2d7f, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x2de0, 0x2e4f,
> -0x2e80, 0x2e99,
> -0x2e9b, 0x2ef3,
> -0x2f00, 0x2fd5,
> -0x2ff0, 0x2ffb,
> -0x3001, 0x303f,
> -0x3041, 0x3096,
> -0x3099, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x3190, 0x31ba,
> -0x31c0, 0x31e3,
> -0x31f0, 0x321e,
> -0x3220, 0x4db5,
> -0x4dc0, 0x9fef,
> -0xa000, 0xa48c,
> -0xa490, 0xa4c6,
> -0xa4d0, 0xa62b,
> -0xa640, 0xa6f7,
> -0xa700, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa82b,
> -0xa830, 0xa839,
> -0xa840, 0xa877,
> -0xa880, 0xa8c5,
> -0xa8ce, 0xa8d9,
> -0xa8e0, 0xa953,
> -0xa95f, 0xa97c,
> -0xa980, 0xa9cd,
> -0xa9cf, 0xa9d9,
> -0xa9de, 0xa9fe,
> -0xaa00, 0xaa36,
> -0xaa40, 0xaa4d,
> -0xaa50, 0xaa59,
> -0xaa5c, 0xaac2,
> -0xaadb, 0xaaf6,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab67,
> -0xab70, 0xabed,
> -0xabf0, 0xabf9,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xe000, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbc1,
> -0xfbd3, 0xfd3f,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfd,
> -0xfe00, 0xfe19,
> -0xfe20, 0xfe52,
> -0xfe54, 0xfe66,
> -0xfe68, 0xfe6b,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xfeff, 0xfeff,
> -0xff01, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0xffe0, 0xffe6,
> -0xffe8, 0xffee,
> -0xfff9, 0xfffd,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10100, 0x10102,
> -0x10107, 0x10133,
> -0x10137, 0x1018e,
> -0x10190, 0x1019b,
> -0x101a0, 0x101a0,
> -0x101d0, 0x101fd,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x102e0, 0x102fb,
> -0x10300, 0x10323,
> -0x1032d, 0x1034a,
> -0x10350, 0x1037a,
> -0x10380, 0x1039d,
> -0x1039f, 0x103c3,
> -0x103c8, 0x103d5,
> -0x10400, 0x1049d,
> -0x104a0, 0x104a9,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x1056f, 0x1056f,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10857, 0x1089e,
> -0x108a7, 0x108af,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x108fb, 0x1091b,
> -0x1091f, 0x10939,
> -0x1093f, 0x1093f,
> -0x10980, 0x109b7,
> -0x109bc, 0x109cf,
> -0x109d2, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a38, 0x10a3a,
> -0x10a3f, 0x10a48,
> -0x10a50, 0x10a58,
> -0x10a60, 0x10a9f,
> -0x10ac0, 0x10ae6,
> -0x10aeb, 0x10af6,
> -0x10b00, 0x10b35,
> -0x10b39, 0x10b55,
> -0x10b58, 0x10b72,
> -0x10b78, 0x10b91,
> -0x10b99, 0x10b9c,
> -0x10ba9, 0x10baf,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10cfa, 0x10d27,
> -0x10d30, 0x10d39,
> -0x10e60, 0x10e7e,
> -0x10f00, 0x10f27,
> -0x10f30, 0x10f59,
> -0x10fe0, 0x10ff6,
> -0x11000, 0x1104d,
> -0x11052, 0x1106f,
> -0x1107f, 0x110c1,
> -0x110cd, 0x110cd,
> -0x110d0, 0x110e8,
> -0x110f0, 0x110f9,
> -0x11100, 0x11134,
> -0x11136, 0x11146,
> -0x11150, 0x11176,
> -0x11180, 0x111cd,
> -0x111d0, 0x111df,
> -0x111e1, 0x111f4,
> -0x11200, 0x11211,
> -0x11213, 0x1123e,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a9,
> -0x112b0, 0x112ea,
> -0x112f0, 0x112f9,
> -0x11300, 0x11303,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133b, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134d,
> -0x11350, 0x11350,
> -0x11357, 0x11357,
> -0x1135d, 0x11363,
> -0x11366, 0x1136c,
> -0x11370, 0x11374,
> -0x11400, 0x11459,
> -0x1145b, 0x1145b,
> -0x1145d, 0x1145f,
> -0x11480, 0x114c7,
> -0x114d0, 0x114d9,
> -0x11580, 0x115b5,
> -0x115b8, 0x115dd,
> -0x11600, 0x11644,
> -0x11650, 0x11659,
> -0x11660, 0x1166c,
> -0x11680, 0x116b8,
> -0x116c0, 0x116c9,
> -0x11700, 0x1171a,
> -0x1171d, 0x1172b,
> -0x11730, 0x1173f,
> -0x11800, 0x1183b,
> -0x118a0, 0x118f2,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d7,
> -0x119da, 0x119e4,
> -0x11a00, 0x11a47,
> -0x11a50, 0x11aa2,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c36,
> -0x11c38, 0x11c45,
> -0x11c50, 0x11c6c,
> -0x11c70, 0x11c8f,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d47,
> -0x11d50, 0x11d59,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d98,
> -0x11da0, 0x11da9,
> -0x11ee0, 0x11ef8,
> -0x11fc0, 0x11ff1,
> -0x11fff, 0x12399,
> -0x12400, 0x1246e,
> -0x12470, 0x12474,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x13430, 0x13438,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16a60, 0x16a69,
> -0x16a6e, 0x16a6f,
> -0x16ad0, 0x16aed,
> -0x16af0, 0x16af5,
> -0x16b00, 0x16b45,
> -0x16b50, 0x16b59,
> -0x16b5b, 0x16b61,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e9a,
> -0x16f00, 0x16f4a,
> -0x16f4f, 0x16f87,
> -0x16f8f, 0x16f9f,
> -0x16fe0, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1bc9c, 0x1bca3,
> -0x1d000, 0x1d0f5,
> -0x1d100, 0x1d126,
> -0x1d129, 0x1d1e8,
> -0x1d200, 0x1d245,
> -0x1d2e0, 0x1d2f3,
> -0x1d300, 0x1d356,
> -0x1d360, 0x1d378,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d7cb,
> -0x1d7ce, 0x1da8b,
> -0x1da9b, 0x1da9f,
> -0x1daa1, 0x1daaf,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e100, 0x1e12c,
> -0x1e130, 0x1e13d,
> -0x1e140, 0x1e149,
> -0x1e14e, 0x1e14f,
> -0x1e2c0, 0x1e2f9,
> -0x1e2ff, 0x1e2ff,
> -0x1e800, 0x1e8c4,
> -0x1e8c7, 0x1e8d6,
> -0x1e900, 0x1e94b,
> -0x1e950, 0x1e959,
> -0x1e95e, 0x1e95f,
> -0x1ec71, 0x1ecb4,
> -0x1ed01, 0x1ed3d,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x1eef0, 0x1eef1,
> -0x1f000, 0x1f02b,
> -0x1f030, 0x1f093,
> -0x1f0a0, 0x1f0ae,
> -0x1f0b1, 0x1f0bf,
> -0x1f0c1, 0x1f0cf,
> -0x1f0d1, 0x1f0f5,
> -0x1f100, 0x1f10c,
> -0x1f110, 0x1f16c,
> -0x1f170, 0x1f1ac,
> -0x1f1e6, 0x1f202,
> -0x1f210, 0x1f23b,
> -0x1f240, 0x1f248,
> -0x1f250, 0x1f251,
> -0x1f260, 0x1f265,
> -0x1f300, 0x1f6d5,
> -0x1f6e0, 0x1f6ec,
> -0x1f6f0, 0x1f6fa,
> -0x1f700, 0x1f773,
> -0x1f780, 0x1f7d8,
> -0x1f7e0, 0x1f7eb,
> -0x1f800, 0x1f80b,
> -0x1f810, 0x1f847,
> -0x1f850, 0x1f859,
> -0x1f860, 0x1f887,
> -0x1f890, 0x1f8ad,
> -0x1f900, 0x1f90b,
> -0x1f90d, 0x1f971,
> -0x1f973, 0x1f976,
> -0x1f97a, 0x1f9a2,
> -0x1f9a5, 0x1f9aa,
> -0x1f9ae, 0x1f9ca,
> -0x1f9cd, 0x1fa53,
> -0x1fa60, 0x1fa6d,
> -0x1fa70, 0x1fa73,
> -0x1fa78, 0x1fa7a,
> -0x1fa80, 0x1fa82,
> -0x1fa90, 0x1fa95,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -0xe0001, 0xe0001,
> -0xe0020, 0xe007f,
> -0xe0100, 0xe01ef,
> -0xf0000, 0xffffd,
> -0x100000, 0x10fffd,
> -}; /* END of CR_Graph */
> -
> -/* PROPERTY: 'Lower': POSIX [[:Lower:]] */
> -static const OnigCodePoint
> -CR_Lower[] = { 649,
> -0x0061, 0x007a,
> -0x00aa, 0x00aa,
> -0x00b5, 0x00b5,
> -0x00ba, 0x00ba,
> -0x00df, 0x00f6,
> -0x00f8, 0x00ff,
> -0x0101, 0x0101,
> -0x0103, 0x0103,
> -0x0105, 0x0105,
> -0x0107, 0x0107,
> -0x0109, 0x0109,
> -0x010b, 0x010b,
> -0x010d, 0x010d,
> -0x010f, 0x010f,
> -0x0111, 0x0111,
> -0x0113, 0x0113,
> -0x0115, 0x0115,
> -0x0117, 0x0117,
> -0x0119, 0x0119,
> -0x011b, 0x011b,
> -0x011d, 0x011d,
> -0x011f, 0x011f,
> -0x0121, 0x0121,
> -0x0123, 0x0123,
> -0x0125, 0x0125,
> -0x0127, 0x0127,
> -0x0129, 0x0129,
> -0x012b, 0x012b,
> -0x012d, 0x012d,
> -0x012f, 0x012f,
> -0x0131, 0x0131,
> -0x0133, 0x0133,
> -0x0135, 0x0135,
> -0x0137, 0x0138,
> -0x013a, 0x013a,
> -0x013c, 0x013c,
> -0x013e, 0x013e,
> -0x0140, 0x0140,
> -0x0142, 0x0142,
> -0x0144, 0x0144,
> -0x0146, 0x0146,
> -0x0148, 0x0149,
> -0x014b, 0x014b,
> -0x014d, 0x014d,
> -0x014f, 0x014f,
> -0x0151, 0x0151,
> -0x0153, 0x0153,
> -0x0155, 0x0155,
> -0x0157, 0x0157,
> -0x0159, 0x0159,
> -0x015b, 0x015b,
> -0x015d, 0x015d,
> -0x015f, 0x015f,
> -0x0161, 0x0161,
> -0x0163, 0x0163,
> -0x0165, 0x0165,
> -0x0167, 0x0167,
> -0x0169, 0x0169,
> -0x016b, 0x016b,
> -0x016d, 0x016d,
> -0x016f, 0x016f,
> -0x0171, 0x0171,
> -0x0173, 0x0173,
> -0x0175, 0x0175,
> -0x0177, 0x0177,
> -0x017a, 0x017a,
> -0x017c, 0x017c,
> -0x017e, 0x0180,
> -0x0183, 0x0183,
> -0x0185, 0x0185,
> -0x0188, 0x0188,
> -0x018c, 0x018d,
> -0x0192, 0x0192,
> -0x0195, 0x0195,
> -0x0199, 0x019b,
> -0x019e, 0x019e,
> -0x01a1, 0x01a1,
> -0x01a3, 0x01a3,
> -0x01a5, 0x01a5,
> -0x01a8, 0x01a8,
> -0x01aa, 0x01ab,
> -0x01ad, 0x01ad,
> -0x01b0, 0x01b0,
> -0x01b4, 0x01b4,
> -0x01b6, 0x01b6,
> -0x01b9, 0x01ba,
> -0x01bd, 0x01bf,
> -0x01c6, 0x01c6,
> -0x01c9, 0x01c9,
> -0x01cc, 0x01cc,
> -0x01ce, 0x01ce,
> -0x01d0, 0x01d0,
> -0x01d2, 0x01d2,
> -0x01d4, 0x01d4,
> -0x01d6, 0x01d6,
> -0x01d8, 0x01d8,
> -0x01da, 0x01da,
> -0x01dc, 0x01dd,
> -0x01df, 0x01df,
> -0x01e1, 0x01e1,
> -0x01e3, 0x01e3,
> -0x01e5, 0x01e5,
> -0x01e7, 0x01e7,
> -0x01e9, 0x01e9,
> -0x01eb, 0x01eb,
> -0x01ed, 0x01ed,
> -0x01ef, 0x01f0,
> -0x01f3, 0x01f3,
> -0x01f5, 0x01f5,
> -0x01f9, 0x01f9,
> -0x01fb, 0x01fb,
> -0x01fd, 0x01fd,
> -0x01ff, 0x01ff,
> -0x0201, 0x0201,
> -0x0203, 0x0203,
> -0x0205, 0x0205,
> -0x0207, 0x0207,
> -0x0209, 0x0209,
> -0x020b, 0x020b,
> -0x020d, 0x020d,
> -0x020f, 0x020f,
> -0x0211, 0x0211,
> -0x0213, 0x0213,
> -0x0215, 0x0215,
> -0x0217, 0x0217,
> -0x0219, 0x0219,
> -0x021b, 0x021b,
> -0x021d, 0x021d,
> -0x021f, 0x021f,
> -0x0221, 0x0221,
> -0x0223, 0x0223,
> -0x0225, 0x0225,
> -0x0227, 0x0227,
> -0x0229, 0x0229,
> -0x022b, 0x022b,
> -0x022d, 0x022d,
> -0x022f, 0x022f,
> -0x0231, 0x0231,
> -0x0233, 0x0239,
> -0x023c, 0x023c,
> -0x023f, 0x0240,
> -0x0242, 0x0242,
> -0x0247, 0x0247,
> -0x0249, 0x0249,
> -0x024b, 0x024b,
> -0x024d, 0x024d,
> -0x024f, 0x0293,
> -0x0295, 0x02b8,
> -0x02c0, 0x02c1,
> -0x02e0, 0x02e4,
> -0x0345, 0x0345,
> -0x0371, 0x0371,
> -0x0373, 0x0373,
> -0x0377, 0x0377,
> -0x037a, 0x037d,
> -0x0390, 0x0390,
> -0x03ac, 0x03ce,
> -0x03d0, 0x03d1,
> -0x03d5, 0x03d7,
> -0x03d9, 0x03d9,
> -0x03db, 0x03db,
> -0x03dd, 0x03dd,
> -0x03df, 0x03df,
> -0x03e1, 0x03e1,
> -0x03e3, 0x03e3,
> -0x03e5, 0x03e5,
> -0x03e7, 0x03e7,
> -0x03e9, 0x03e9,
> -0x03eb, 0x03eb,
> -0x03ed, 0x03ed,
> -0x03ef, 0x03f3,
> -0x03f5, 0x03f5,
> -0x03f8, 0x03f8,
> -0x03fb, 0x03fc,
> -0x0430, 0x045f,
> -0x0461, 0x0461,
> -0x0463, 0x0463,
> -0x0465, 0x0465,
> -0x0467, 0x0467,
> -0x0469, 0x0469,
> -0x046b, 0x046b,
> -0x046d, 0x046d,
> -0x046f, 0x046f,
> -0x0471, 0x0471,
> -0x0473, 0x0473,
> -0x0475, 0x0475,
> -0x0477, 0x0477,
> -0x0479, 0x0479,
> -0x047b, 0x047b,
> -0x047d, 0x047d,
> -0x047f, 0x047f,
> -0x0481, 0x0481,
> -0x048b, 0x048b,
> -0x048d, 0x048d,
> -0x048f, 0x048f,
> -0x0491, 0x0491,
> -0x0493, 0x0493,
> -0x0495, 0x0495,
> -0x0497, 0x0497,
> -0x0499, 0x0499,
> -0x049b, 0x049b,
> -0x049d, 0x049d,
> -0x049f, 0x049f,
> -0x04a1, 0x04a1,
> -0x04a3, 0x04a3,
> -0x04a5, 0x04a5,
> -0x04a7, 0x04a7,
> -0x04a9, 0x04a9,
> -0x04ab, 0x04ab,
> -0x04ad, 0x04ad,
> -0x04af, 0x04af,
> -0x04b1, 0x04b1,
> -0x04b3, 0x04b3,
> -0x04b5, 0x04b5,
> -0x04b7, 0x04b7,
> -0x04b9, 0x04b9,
> -0x04bb, 0x04bb,
> -0x04bd, 0x04bd,
> -0x04bf, 0x04bf,
> -0x04c2, 0x04c2,
> -0x04c4, 0x04c4,
> -0x04c6, 0x04c6,
> -0x04c8, 0x04c8,
> -0x04ca, 0x04ca,
> -0x04cc, 0x04cc,
> -0x04ce, 0x04cf,
> -0x04d1, 0x04d1,
> -0x04d3, 0x04d3,
> -0x04d5, 0x04d5,
> -0x04d7, 0x04d7,
> -0x04d9, 0x04d9,
> -0x04db, 0x04db,
> -0x04dd, 0x04dd,
> -0x04df, 0x04df,
> -0x04e1, 0x04e1,
> -0x04e3, 0x04e3,
> -0x04e5, 0x04e5,
> -0x04e7, 0x04e7,
> -0x04e9, 0x04e9,
> -0x04eb, 0x04eb,
> -0x04ed, 0x04ed,
> -0x04ef, 0x04ef,
> -0x04f1, 0x04f1,
> -0x04f3, 0x04f3,
> -0x04f5, 0x04f5,
> -0x04f7, 0x04f7,
> -0x04f9, 0x04f9,
> -0x04fb, 0x04fb,
> -0x04fd, 0x04fd,
> -0x04ff, 0x04ff,
> -0x0501, 0x0501,
> -0x0503, 0x0503,
> -0x0505, 0x0505,
> -0x0507, 0x0507,
> -0x0509, 0x0509,
> -0x050b, 0x050b,
> -0x050d, 0x050d,
> -0x050f, 0x050f,
> -0x0511, 0x0511,
> -0x0513, 0x0513,
> -0x0515, 0x0515,
> -0x0517, 0x0517,
> -0x0519, 0x0519,
> -0x051b, 0x051b,
> -0x051d, 0x051d,
> -0x051f, 0x051f,
> -0x0521, 0x0521,
> -0x0523, 0x0523,
> -0x0525, 0x0525,
> -0x0527, 0x0527,
> -0x0529, 0x0529,
> -0x052b, 0x052b,
> -0x052d, 0x052d,
> -0x052f, 0x052f,
> -0x0560, 0x0588,
> -0x10d0, 0x10fa,
> -0x10fd, 0x10ff,
> -0x13f8, 0x13fd,
> -0x1c80, 0x1c88,
> -0x1d00, 0x1dbf,
> -0x1e01, 0x1e01,
> -0x1e03, 0x1e03,
> -0x1e05, 0x1e05,
> -0x1e07, 0x1e07,
> -0x1e09, 0x1e09,
> -0x1e0b, 0x1e0b,
> -0x1e0d, 0x1e0d,
> -0x1e0f, 0x1e0f,
> -0x1e11, 0x1e11,
> -0x1e13, 0x1e13,
> -0x1e15, 0x1e15,
> -0x1e17, 0x1e17,
> -0x1e19, 0x1e19,
> -0x1e1b, 0x1e1b,
> -0x1e1d, 0x1e1d,
> -0x1e1f, 0x1e1f,
> -0x1e21, 0x1e21,
> -0x1e23, 0x1e23,
> -0x1e25, 0x1e25,
> -0x1e27, 0x1e27,
> -0x1e29, 0x1e29,
> -0x1e2b, 0x1e2b,
> -0x1e2d, 0x1e2d,
> -0x1e2f, 0x1e2f,
> -0x1e31, 0x1e31,
> -0x1e33, 0x1e33,
> -0x1e35, 0x1e35,
> -0x1e37, 0x1e37,
> -0x1e39, 0x1e39,
> -0x1e3b, 0x1e3b,
> -0x1e3d, 0x1e3d,
> -0x1e3f, 0x1e3f,
> -0x1e41, 0x1e41,
> -0x1e43, 0x1e43,
> -0x1e45, 0x1e45,
> -0x1e47, 0x1e47,
> -0x1e49, 0x1e49,
> -0x1e4b, 0x1e4b,
> -0x1e4d, 0x1e4d,
> -0x1e4f, 0x1e4f,
> -0x1e51, 0x1e51,
> -0x1e53, 0x1e53,
> -0x1e55, 0x1e55,
> -0x1e57, 0x1e57,
> -0x1e59, 0x1e59,
> -0x1e5b, 0x1e5b,
> -0x1e5d, 0x1e5d,
> -0x1e5f, 0x1e5f,
> -0x1e61, 0x1e61,
> -0x1e63, 0x1e63,
> -0x1e65, 0x1e65,
> -0x1e67, 0x1e67,
> -0x1e69, 0x1e69,
> -0x1e6b, 0x1e6b,
> -0x1e6d, 0x1e6d,
> -0x1e6f, 0x1e6f,
> -0x1e71, 0x1e71,
> -0x1e73, 0x1e73,
> -0x1e75, 0x1e75,
> -0x1e77, 0x1e77,
> -0x1e79, 0x1e79,
> -0x1e7b, 0x1e7b,
> -0x1e7d, 0x1e7d,
> -0x1e7f, 0x1e7f,
> -0x1e81, 0x1e81,
> -0x1e83, 0x1e83,
> -0x1e85, 0x1e85,
> -0x1e87, 0x1e87,
> -0x1e89, 0x1e89,
> -0x1e8b, 0x1e8b,
> -0x1e8d, 0x1e8d,
> -0x1e8f, 0x1e8f,
> -0x1e91, 0x1e91,
> -0x1e93, 0x1e93,
> -0x1e95, 0x1e9d,
> -0x1e9f, 0x1e9f,
> -0x1ea1, 0x1ea1,
> -0x1ea3, 0x1ea3,
> -0x1ea5, 0x1ea5,
> -0x1ea7, 0x1ea7,
> -0x1ea9, 0x1ea9,
> -0x1eab, 0x1eab,
> -0x1ead, 0x1ead,
> -0x1eaf, 0x1eaf,
> -0x1eb1, 0x1eb1,
> -0x1eb3, 0x1eb3,
> -0x1eb5, 0x1eb5,
> -0x1eb7, 0x1eb7,
> -0x1eb9, 0x1eb9,
> -0x1ebb, 0x1ebb,
> -0x1ebd, 0x1ebd,
> -0x1ebf, 0x1ebf,
> -0x1ec1, 0x1ec1,
> -0x1ec3, 0x1ec3,
> -0x1ec5, 0x1ec5,
> -0x1ec7, 0x1ec7,
> -0x1ec9, 0x1ec9,
> -0x1ecb, 0x1ecb,
> -0x1ecd, 0x1ecd,
> -0x1ecf, 0x1ecf,
> -0x1ed1, 0x1ed1,
> -0x1ed3, 0x1ed3,
> -0x1ed5, 0x1ed5,
> -0x1ed7, 0x1ed7,
> -0x1ed9, 0x1ed9,
> -0x1edb, 0x1edb,
> -0x1edd, 0x1edd,
> -0x1edf, 0x1edf,
> -0x1ee1, 0x1ee1,
> -0x1ee3, 0x1ee3,
> -0x1ee5, 0x1ee5,
> -0x1ee7, 0x1ee7,
> -0x1ee9, 0x1ee9,
> -0x1eeb, 0x1eeb,
> -0x1eed, 0x1eed,
> -0x1eef, 0x1eef,
> -0x1ef1, 0x1ef1,
> -0x1ef3, 0x1ef3,
> -0x1ef5, 0x1ef5,
> -0x1ef7, 0x1ef7,
> -0x1ef9, 0x1ef9,
> -0x1efb, 0x1efb,
> -0x1efd, 0x1efd,
> -0x1eff, 0x1f07,
> -0x1f10, 0x1f15,
> -0x1f20, 0x1f27,
> -0x1f30, 0x1f37,
> -0x1f40, 0x1f45,
> -0x1f50, 0x1f57,
> -0x1f60, 0x1f67,
> -0x1f70, 0x1f7d,
> -0x1f80, 0x1f87,
> -0x1f90, 0x1f97,
> -0x1fa0, 0x1fa7,
> -0x1fb0, 0x1fb4,
> -0x1fb6, 0x1fb7,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fc7,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fd7,
> -0x1fe0, 0x1fe7,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ff7,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x210a, 0x210a,
> -0x210e, 0x210f,
> -0x2113, 0x2113,
> -0x212f, 0x212f,
> -0x2134, 0x2134,
> -0x2139, 0x2139,
> -0x213c, 0x213d,
> -0x2146, 0x2149,
> -0x214e, 0x214e,
> -0x2170, 0x217f,
> -0x2184, 0x2184,
> -0x24d0, 0x24e9,
> -0x2c30, 0x2c5e,
> -0x2c61, 0x2c61,
> -0x2c65, 0x2c66,
> -0x2c68, 0x2c68,
> -0x2c6a, 0x2c6a,
> -0x2c6c, 0x2c6c,
> -0x2c71, 0x2c71,
> -0x2c73, 0x2c74,
> -0x2c76, 0x2c7d,
> -0x2c81, 0x2c81,
> -0x2c83, 0x2c83,
> -0x2c85, 0x2c85,
> -0x2c87, 0x2c87,
> -0x2c89, 0x2c89,
> -0x2c8b, 0x2c8b,
> -0x2c8d, 0x2c8d,
> -0x2c8f, 0x2c8f,
> -0x2c91, 0x2c91,
> -0x2c93, 0x2c93,
> -0x2c95, 0x2c95,
> -0x2c97, 0x2c97,
> -0x2c99, 0x2c99,
> -0x2c9b, 0x2c9b,
> -0x2c9d, 0x2c9d,
> -0x2c9f, 0x2c9f,
> -0x2ca1, 0x2ca1,
> -0x2ca3, 0x2ca3,
> -0x2ca5, 0x2ca5,
> -0x2ca7, 0x2ca7,
> -0x2ca9, 0x2ca9,
> -0x2cab, 0x2cab,
> -0x2cad, 0x2cad,
> -0x2caf, 0x2caf,
> -0x2cb1, 0x2cb1,
> -0x2cb3, 0x2cb3,
> -0x2cb5, 0x2cb5,
> -0x2cb7, 0x2cb7,
> -0x2cb9, 0x2cb9,
> -0x2cbb, 0x2cbb,
> -0x2cbd, 0x2cbd,
> -0x2cbf, 0x2cbf,
> -0x2cc1, 0x2cc1,
> -0x2cc3, 0x2cc3,
> -0x2cc5, 0x2cc5,
> -0x2cc7, 0x2cc7,
> -0x2cc9, 0x2cc9,
> -0x2ccb, 0x2ccb,
> -0x2ccd, 0x2ccd,
> -0x2ccf, 0x2ccf,
> -0x2cd1, 0x2cd1,
> -0x2cd3, 0x2cd3,
> -0x2cd5, 0x2cd5,
> -0x2cd7, 0x2cd7,
> -0x2cd9, 0x2cd9,
> -0x2cdb, 0x2cdb,
> -0x2cdd, 0x2cdd,
> -0x2cdf, 0x2cdf,
> -0x2ce1, 0x2ce1,
> -0x2ce3, 0x2ce4,
> -0x2cec, 0x2cec,
> -0x2cee, 0x2cee,
> -0x2cf3, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0xa641, 0xa641,
> -0xa643, 0xa643,
> -0xa645, 0xa645,
> -0xa647, 0xa647,
> -0xa649, 0xa649,
> -0xa64b, 0xa64b,
> -0xa64d, 0xa64d,
> -0xa64f, 0xa64f,
> -0xa651, 0xa651,
> -0xa653, 0xa653,
> -0xa655, 0xa655,
> -0xa657, 0xa657,
> -0xa659, 0xa659,
> -0xa65b, 0xa65b,
> -0xa65d, 0xa65d,
> -0xa65f, 0xa65f,
> -0xa661, 0xa661,
> -0xa663, 0xa663,
> -0xa665, 0xa665,
> -0xa667, 0xa667,
> -0xa669, 0xa669,
> -0xa66b, 0xa66b,
> -0xa66d, 0xa66d,
> -0xa681, 0xa681,
> -0xa683, 0xa683,
> -0xa685, 0xa685,
> -0xa687, 0xa687,
> -0xa689, 0xa689,
> -0xa68b, 0xa68b,
> -0xa68d, 0xa68d,
> -0xa68f, 0xa68f,
> -0xa691, 0xa691,
> -0xa693, 0xa693,
> -0xa695, 0xa695,
> -0xa697, 0xa697,
> -0xa699, 0xa699,
> -0xa69b, 0xa69d,
> -0xa723, 0xa723,
> -0xa725, 0xa725,
> -0xa727, 0xa727,
> -0xa729, 0xa729,
> -0xa72b, 0xa72b,
> -0xa72d, 0xa72d,
> -0xa72f, 0xa731,
> -0xa733, 0xa733,
> -0xa735, 0xa735,
> -0xa737, 0xa737,
> -0xa739, 0xa739,
> -0xa73b, 0xa73b,
> -0xa73d, 0xa73d,
> -0xa73f, 0xa73f,
> -0xa741, 0xa741,
> -0xa743, 0xa743,
> -0xa745, 0xa745,
> -0xa747, 0xa747,
> -0xa749, 0xa749,
> -0xa74b, 0xa74b,
> -0xa74d, 0xa74d,
> -0xa74f, 0xa74f,
> -0xa751, 0xa751,
> -0xa753, 0xa753,
> -0xa755, 0xa755,
> -0xa757, 0xa757,
> -0xa759, 0xa759,
> -0xa75b, 0xa75b,
> -0xa75d, 0xa75d,
> -0xa75f, 0xa75f,
> -0xa761, 0xa761,
> -0xa763, 0xa763,
> -0xa765, 0xa765,
> -0xa767, 0xa767,
> -0xa769, 0xa769,
> -0xa76b, 0xa76b,
> -0xa76d, 0xa76d,
> -0xa76f, 0xa778,
> -0xa77a, 0xa77a,
> -0xa77c, 0xa77c,
> -0xa77f, 0xa77f,
> -0xa781, 0xa781,
> -0xa783, 0xa783,
> -0xa785, 0xa785,
> -0xa787, 0xa787,
> -0xa78c, 0xa78c,
> -0xa78e, 0xa78e,
> -0xa791, 0xa791,
> -0xa793, 0xa795,
> -0xa797, 0xa797,
> -0xa799, 0xa799,
> -0xa79b, 0xa79b,
> -0xa79d, 0xa79d,
> -0xa79f, 0xa79f,
> -0xa7a1, 0xa7a1,
> -0xa7a3, 0xa7a3,
> -0xa7a5, 0xa7a5,
> -0xa7a7, 0xa7a7,
> -0xa7a9, 0xa7a9,
> -0xa7af, 0xa7af,
> -0xa7b5, 0xa7b5,
> -0xa7b7, 0xa7b7,
> -0xa7b9, 0xa7b9,
> -0xa7bb, 0xa7bb,
> -0xa7bd, 0xa7bd,
> -0xa7bf, 0xa7bf,
> -0xa7c3, 0xa7c3,
> -0xa7f8, 0xa7fa,
> -0xab30, 0xab5a,
> -0xab5c, 0xab67,
> -0xab70, 0xabbf,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xff41, 0xff5a,
> -0x10428, 0x1044f,
> -0x104d8, 0x104fb,
> -0x10cc0, 0x10cf2,
> -0x118c0, 0x118df,
> -0x16e60, 0x16e7f,
> -0x1d41a, 0x1d433,
> -0x1d44e, 0x1d454,
> -0x1d456, 0x1d467,
> -0x1d482, 0x1d49b,
> -0x1d4b6, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d4cf,
> -0x1d4ea, 0x1d503,
> -0x1d51e, 0x1d537,
> -0x1d552, 0x1d56b,
> -0x1d586, 0x1d59f,
> -0x1d5ba, 0x1d5d3,
> -0x1d5ee, 0x1d607,
> -0x1d622, 0x1d63b,
> -0x1d656, 0x1d66f,
> -0x1d68a, 0x1d6a5,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6e1,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d71b,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d755,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d78f,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7c9,
> -0x1d7cb, 0x1d7cb,
> -0x1e922, 0x1e943,
> -}; /* END of CR_Lower */
> -
> -/* PROPERTY: 'Print': POSIX [[:Print:]] */
> -static const OnigCodePoint
> -CR_Print[] = { 668,
> -0x0020, 0x007e,
> -0x00a0, 0x0377,
> -0x037a, 0x037f,
> -0x0384, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x058a,
> -0x058d, 0x058f,
> -0x0591, 0x05c7,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f4,
> -0x0600, 0x061c,
> -0x061e, 0x070d,
> -0x070f, 0x074a,
> -0x074d, 0x07b1,
> -0x07c0, 0x07fa,
> -0x07fd, 0x082d,
> -0x0830, 0x083e,
> -0x0840, 0x085b,
> -0x085e, 0x085e,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x08d3, 0x0983,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bc, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09ce,
> -0x09d7, 0x09d7,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e3,
> -0x09e6, 0x09fe,
> -0x0a01, 0x0a03,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a3c, 0x0a3c,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4d,
> -0x0a51, 0x0a51,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a66, 0x0a76,
> -0x0a81, 0x0a83,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abc, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acd,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae3,
> -0x0ae6, 0x0af1,
> -0x0af9, 0x0aff,
> -0x0b01, 0x0b03,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3c, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4d,
> -0x0b56, 0x0b57,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b63,
> -0x0b66, 0x0b77,
> -0x0b82, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcd,
> -0x0bd0, 0x0bd0,
> -0x0bd7, 0x0bd7,
> -0x0be6, 0x0bfa,
> -0x0c00, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4d,
> -0x0c55, 0x0c56,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c63,
> -0x0c66, 0x0c6f,
> -0x0c77, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbc, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccd,
> -0x0cd5, 0x0cd6,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce3,
> -0x0ce6, 0x0cef,
> -0x0cf1, 0x0cf2,
> -0x0d00, 0x0d03,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4f,
> -0x0d54, 0x0d63,
> -0x0d66, 0x0d7f,
> -0x0d82, 0x0d83,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0dca, 0x0dca,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0de6, 0x0def,
> -0x0df2, 0x0df4,
> -0x0e01, 0x0e3a,
> -0x0e3f, 0x0e5b,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0ec8, 0x0ecd,
> -0x0ed0, 0x0ed9,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f71, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x0fbe, 0x0fcc,
> -0x0fce, 0x0fda,
> -0x1000, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x135d, 0x137c,
> -0x1380, 0x1399,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1400, 0x169c,
> -0x16a0, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1714,
> -0x1720, 0x1736,
> -0x1740, 0x1753,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1772, 0x1773,
> -0x1780, 0x17dd,
> -0x17e0, 0x17e9,
> -0x17f0, 0x17f9,
> -0x1800, 0x180e,
> -0x1810, 0x1819,
> -0x1820, 0x1878,
> -0x1880, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1920, 0x192b,
> -0x1930, 0x193b,
> -0x1940, 0x1940,
> -0x1944, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x19d0, 0x19da,
> -0x19de, 0x1a1b,
> -0x1a1e, 0x1a5e,
> -0x1a60, 0x1a7c,
> -0x1a7f, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1aa0, 0x1aad,
> -0x1ab0, 0x1abe,
> -0x1b00, 0x1b4b,
> -0x1b50, 0x1b7c,
> -0x1b80, 0x1bf3,
> -0x1bfc, 0x1c37,
> -0x1c3b, 0x1c49,
> -0x1c4d, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cc7,
> -0x1cd0, 0x1cfa,
> -0x1d00, 0x1df9,
> -0x1dfb, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fc4,
> -0x1fc6, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fdd, 0x1fef,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffe,
> -0x2000, 0x2027,
> -0x202a, 0x2064,
> -0x2066, 0x2071,
> -0x2074, 0x208e,
> -0x2090, 0x209c,
> -0x20a0, 0x20bf,
> -0x20d0, 0x20f0,
> -0x2100, 0x218b,
> -0x2190, 0x2426,
> -0x2440, 0x244a,
> -0x2460, 0x2b73,
> -0x2b76, 0x2b95,
> -0x2b98, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2cf3,
> -0x2cf9, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d70,
> -0x2d7f, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x2de0, 0x2e4f,
> -0x2e80, 0x2e99,
> -0x2e9b, 0x2ef3,
> -0x2f00, 0x2fd5,
> -0x2ff0, 0x2ffb,
> -0x3000, 0x303f,
> -0x3041, 0x3096,
> -0x3099, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x3190, 0x31ba,
> -0x31c0, 0x31e3,
> -0x31f0, 0x321e,
> -0x3220, 0x4db5,
> -0x4dc0, 0x9fef,
> -0xa000, 0xa48c,
> -0xa490, 0xa4c6,
> -0xa4d0, 0xa62b,
> -0xa640, 0xa6f7,
> -0xa700, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa82b,
> -0xa830, 0xa839,
> -0xa840, 0xa877,
> -0xa880, 0xa8c5,
> -0xa8ce, 0xa8d9,
> -0xa8e0, 0xa953,
> -0xa95f, 0xa97c,
> -0xa980, 0xa9cd,
> -0xa9cf, 0xa9d9,
> -0xa9de, 0xa9fe,
> -0xaa00, 0xaa36,
> -0xaa40, 0xaa4d,
> -0xaa50, 0xaa59,
> -0xaa5c, 0xaac2,
> -0xaadb, 0xaaf6,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab67,
> -0xab70, 0xabed,
> -0xabf0, 0xabf9,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xe000, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbc1,
> -0xfbd3, 0xfd3f,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfd,
> -0xfe00, 0xfe19,
> -0xfe20, 0xfe52,
> -0xfe54, 0xfe66,
> -0xfe68, 0xfe6b,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xfeff, 0xfeff,
> -0xff01, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0xffe0, 0xffe6,
> -0xffe8, 0xffee,
> -0xfff9, 0xfffd,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10100, 0x10102,
> -0x10107, 0x10133,
> -0x10137, 0x1018e,
> -0x10190, 0x1019b,
> -0x101a0, 0x101a0,
> -0x101d0, 0x101fd,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x102e0, 0x102fb,
> -0x10300, 0x10323,
> -0x1032d, 0x1034a,
> -0x10350, 0x1037a,
> -0x10380, 0x1039d,
> -0x1039f, 0x103c3,
> -0x103c8, 0x103d5,
> -0x10400, 0x1049d,
> -0x104a0, 0x104a9,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x1056f, 0x1056f,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10857, 0x1089e,
> -0x108a7, 0x108af,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x108fb, 0x1091b,
> -0x1091f, 0x10939,
> -0x1093f, 0x1093f,
> -0x10980, 0x109b7,
> -0x109bc, 0x109cf,
> -0x109d2, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a38, 0x10a3a,
> -0x10a3f, 0x10a48,
> -0x10a50, 0x10a58,
> -0x10a60, 0x10a9f,
> -0x10ac0, 0x10ae6,
> -0x10aeb, 0x10af6,
> -0x10b00, 0x10b35,
> -0x10b39, 0x10b55,
> -0x10b58, 0x10b72,
> -0x10b78, 0x10b91,
> -0x10b99, 0x10b9c,
> -0x10ba9, 0x10baf,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10cfa, 0x10d27,
> -0x10d30, 0x10d39,
> -0x10e60, 0x10e7e,
> -0x10f00, 0x10f27,
> -0x10f30, 0x10f59,
> -0x10fe0, 0x10ff6,
> -0x11000, 0x1104d,
> -0x11052, 0x1106f,
> -0x1107f, 0x110c1,
> -0x110cd, 0x110cd,
> -0x110d0, 0x110e8,
> -0x110f0, 0x110f9,
> -0x11100, 0x11134,
> -0x11136, 0x11146,
> -0x11150, 0x11176,
> -0x11180, 0x111cd,
> -0x111d0, 0x111df,
> -0x111e1, 0x111f4,
> -0x11200, 0x11211,
> -0x11213, 0x1123e,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a9,
> -0x112b0, 0x112ea,
> -0x112f0, 0x112f9,
> -0x11300, 0x11303,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133b, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134d,
> -0x11350, 0x11350,
> -0x11357, 0x11357,
> -0x1135d, 0x11363,
> -0x11366, 0x1136c,
> -0x11370, 0x11374,
> -0x11400, 0x11459,
> -0x1145b, 0x1145b,
> -0x1145d, 0x1145f,
> -0x11480, 0x114c7,
> -0x114d0, 0x114d9,
> -0x11580, 0x115b5,
> -0x115b8, 0x115dd,
> -0x11600, 0x11644,
> -0x11650, 0x11659,
> -0x11660, 0x1166c,
> -0x11680, 0x116b8,
> -0x116c0, 0x116c9,
> -0x11700, 0x1171a,
> -0x1171d, 0x1172b,
> -0x11730, 0x1173f,
> -0x11800, 0x1183b,
> -0x118a0, 0x118f2,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d7,
> -0x119da, 0x119e4,
> -0x11a00, 0x11a47,
> -0x11a50, 0x11aa2,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c36,
> -0x11c38, 0x11c45,
> -0x11c50, 0x11c6c,
> -0x11c70, 0x11c8f,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d47,
> -0x11d50, 0x11d59,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d98,
> -0x11da0, 0x11da9,
> -0x11ee0, 0x11ef8,
> -0x11fc0, 0x11ff1,
> -0x11fff, 0x12399,
> -0x12400, 0x1246e,
> -0x12470, 0x12474,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x13430, 0x13438,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16a60, 0x16a69,
> -0x16a6e, 0x16a6f,
> -0x16ad0, 0x16aed,
> -0x16af0, 0x16af5,
> -0x16b00, 0x16b45,
> -0x16b50, 0x16b59,
> -0x16b5b, 0x16b61,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e9a,
> -0x16f00, 0x16f4a,
> -0x16f4f, 0x16f87,
> -0x16f8f, 0x16f9f,
> -0x16fe0, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1bc9c, 0x1bca3,
> -0x1d000, 0x1d0f5,
> -0x1d100, 0x1d126,
> -0x1d129, 0x1d1e8,
> -0x1d200, 0x1d245,
> -0x1d2e0, 0x1d2f3,
> -0x1d300, 0x1d356,
> -0x1d360, 0x1d378,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d7cb,
> -0x1d7ce, 0x1da8b,
> -0x1da9b, 0x1da9f,
> -0x1daa1, 0x1daaf,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e100, 0x1e12c,
> -0x1e130, 0x1e13d,
> -0x1e140, 0x1e149,
> -0x1e14e, 0x1e14f,
> -0x1e2c0, 0x1e2f9,
> -0x1e2ff, 0x1e2ff,
> -0x1e800, 0x1e8c4,
> -0x1e8c7, 0x1e8d6,
> -0x1e900, 0x1e94b,
> -0x1e950, 0x1e959,
> -0x1e95e, 0x1e95f,
> -0x1ec71, 0x1ecb4,
> -0x1ed01, 0x1ed3d,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x1eef0, 0x1eef1,
> -0x1f000, 0x1f02b,
> -0x1f030, 0x1f093,
> -0x1f0a0, 0x1f0ae,
> -0x1f0b1, 0x1f0bf,
> -0x1f0c1, 0x1f0cf,
> -0x1f0d1, 0x1f0f5,
> -0x1f100, 0x1f10c,
> -0x1f110, 0x1f16c,
> -0x1f170, 0x1f1ac,
> -0x1f1e6, 0x1f202,
> -0x1f210, 0x1f23b,
> -0x1f240, 0x1f248,
> -0x1f250, 0x1f251,
> -0x1f260, 0x1f265,
> -0x1f300, 0x1f6d5,
> -0x1f6e0, 0x1f6ec,
> -0x1f6f0, 0x1f6fa,
> -0x1f700, 0x1f773,
> -0x1f780, 0x1f7d8,
> -0x1f7e0, 0x1f7eb,
> -0x1f800, 0x1f80b,
> -0x1f810, 0x1f847,
> -0x1f850, 0x1f859,
> -0x1f860, 0x1f887,
> -0x1f890, 0x1f8ad,
> -0x1f900, 0x1f90b,
> -0x1f90d, 0x1f971,
> -0x1f973, 0x1f976,
> -0x1f97a, 0x1f9a2,
> -0x1f9a5, 0x1f9aa,
> -0x1f9ae, 0x1f9ca,
> -0x1f9cd, 0x1fa53,
> -0x1fa60, 0x1fa6d,
> -0x1fa70, 0x1fa73,
> -0x1fa78, 0x1fa7a,
> -0x1fa80, 0x1fa82,
> -0x1fa90, 0x1fa95,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -0xe0001, 0xe0001,
> -0xe0020, 0xe007f,
> -0xe0100, 0xe01ef,
> -0xf0000, 0xffffd,
> -0x100000, 0x10fffd,
> -}; /* END of CR_Print */
> -
> -/* PROPERTY: 'Punct': POSIX [[:Punct:]] */
> -static const OnigCodePoint
> -CR_Punct[] = { 182,
> -0x0021, 0x0023,
> -0x0025, 0x002a,
> -0x002c, 0x002f,
> -0x003a, 0x003b,
> -0x003f, 0x0040,
> -0x005b, 0x005d,
> -0x005f, 0x005f,
> -0x007b, 0x007b,
> -0x007d, 0x007d,
> -0x00a1, 0x00a1,
> -0x00a7, 0x00a7,
> -0x00ab, 0x00ab,
> -0x00b6, 0x00b7,
> -0x00bb, 0x00bb,
> -0x00bf, 0x00bf,
> -0x037e, 0x037e,
> -0x0387, 0x0387,
> -0x055a, 0x055f,
> -0x0589, 0x058a,
> -0x05be, 0x05be,
> -0x05c0, 0x05c0,
> -0x05c3, 0x05c3,
> -0x05c6, 0x05c6,
> -0x05f3, 0x05f4,
> -0x0609, 0x060a,
> -0x060c, 0x060d,
> -0x061b, 0x061b,
> -0x061e, 0x061f,
> -0x066a, 0x066d,
> -0x06d4, 0x06d4,
> -0x0700, 0x070d,
> -0x07f7, 0x07f9,
> -0x0830, 0x083e,
> -0x085e, 0x085e,
> -0x0964, 0x0965,
> -0x0970, 0x0970,
> -0x09fd, 0x09fd,
> -0x0a76, 0x0a76,
> -0x0af0, 0x0af0,
> -0x0c77, 0x0c77,
> -0x0c84, 0x0c84,
> -0x0df4, 0x0df4,
> -0x0e4f, 0x0e4f,
> -0x0e5a, 0x0e5b,
> -0x0f04, 0x0f12,
> -0x0f14, 0x0f14,
> -0x0f3a, 0x0f3d,
> -0x0f85, 0x0f85,
> -0x0fd0, 0x0fd4,
> -0x0fd9, 0x0fda,
> -0x104a, 0x104f,
> -0x10fb, 0x10fb,
> -0x1360, 0x1368,
> -0x1400, 0x1400,
> -0x166e, 0x166e,
> -0x169b, 0x169c,
> -0x16eb, 0x16ed,
> -0x1735, 0x1736,
> -0x17d4, 0x17d6,
> -0x17d8, 0x17da,
> -0x1800, 0x180a,
> -0x1944, 0x1945,
> -0x1a1e, 0x1a1f,
> -0x1aa0, 0x1aa6,
> -0x1aa8, 0x1aad,
> -0x1b5a, 0x1b60,
> -0x1bfc, 0x1bff,
> -0x1c3b, 0x1c3f,
> -0x1c7e, 0x1c7f,
> -0x1cc0, 0x1cc7,
> -0x1cd3, 0x1cd3,
> -0x2010, 0x2027,
> -0x2030, 0x2043,
> -0x2045, 0x2051,
> -0x2053, 0x205e,
> -0x207d, 0x207e,
> -0x208d, 0x208e,
> -0x2308, 0x230b,
> -0x2329, 0x232a,
> -0x2768, 0x2775,
> -0x27c5, 0x27c6,
> -0x27e6, 0x27ef,
> -0x2983, 0x2998,
> -0x29d8, 0x29db,
> -0x29fc, 0x29fd,
> -0x2cf9, 0x2cfc,
> -0x2cfe, 0x2cff,
> -0x2d70, 0x2d70,
> -0x2e00, 0x2e2e,
> -0x2e30, 0x2e4f,
> -0x3001, 0x3003,
> -0x3008, 0x3011,
> -0x3014, 0x301f,
> -0x3030, 0x3030,
> -0x303d, 0x303d,
> -0x30a0, 0x30a0,
> -0x30fb, 0x30fb,
> -0xa4fe, 0xa4ff,
> -0xa60d, 0xa60f,
> -0xa673, 0xa673,
> -0xa67e, 0xa67e,
> -0xa6f2, 0xa6f7,
> -0xa874, 0xa877,
> -0xa8ce, 0xa8cf,
> -0xa8f8, 0xa8fa,
> -0xa8fc, 0xa8fc,
> -0xa92e, 0xa92f,
> -0xa95f, 0xa95f,
> -0xa9c1, 0xa9cd,
> -0xa9de, 0xa9df,
> -0xaa5c, 0xaa5f,
> -0xaade, 0xaadf,
> -0xaaf0, 0xaaf1,
> -0xabeb, 0xabeb,
> -0xfd3e, 0xfd3f,
> -0xfe10, 0xfe19,
> -0xfe30, 0xfe52,
> -0xfe54, 0xfe61,
> -0xfe63, 0xfe63,
> -0xfe68, 0xfe68,
> -0xfe6a, 0xfe6b,
> -0xff01, 0xff03,
> -0xff05, 0xff0a,
> -0xff0c, 0xff0f,
> -0xff1a, 0xff1b,
> -0xff1f, 0xff20,
> -0xff3b, 0xff3d,
> -0xff3f, 0xff3f,
> -0xff5b, 0xff5b,
> -0xff5d, 0xff5d,
> -0xff5f, 0xff65,
> -0x10100, 0x10102,
> -0x1039f, 0x1039f,
> -0x103d0, 0x103d0,
> -0x1056f, 0x1056f,
> -0x10857, 0x10857,
> -0x1091f, 0x1091f,
> -0x1093f, 0x1093f,
> -0x10a50, 0x10a58,
> -0x10a7f, 0x10a7f,
> -0x10af0, 0x10af6,
> -0x10b39, 0x10b3f,
> -0x10b99, 0x10b9c,
> -0x10f55, 0x10f59,
> -0x11047, 0x1104d,
> -0x110bb, 0x110bc,
> -0x110be, 0x110c1,
> -0x11140, 0x11143,
> -0x11174, 0x11175,
> -0x111c5, 0x111c8,
> -0x111cd, 0x111cd,
> -0x111db, 0x111db,
> -0x111dd, 0x111df,
> -0x11238, 0x1123d,
> -0x112a9, 0x112a9,
> -0x1144b, 0x1144f,
> -0x1145b, 0x1145b,
> -0x1145d, 0x1145d,
> -0x114c6, 0x114c6,
> -0x115c1, 0x115d7,
> -0x11641, 0x11643,
> -0x11660, 0x1166c,
> -0x1173c, 0x1173e,
> -0x1183b, 0x1183b,
> -0x119e2, 0x119e2,
> -0x11a3f, 0x11a46,
> -0x11a9a, 0x11a9c,
> -0x11a9e, 0x11aa2,
> -0x11c41, 0x11c45,
> -0x11c70, 0x11c71,
> -0x11ef7, 0x11ef8,
> -0x11fff, 0x11fff,
> -0x12470, 0x12474,
> -0x16a6e, 0x16a6f,
> -0x16af5, 0x16af5,
> -0x16b37, 0x16b3b,
> -0x16b44, 0x16b44,
> -0x16e97, 0x16e9a,
> -0x16fe2, 0x16fe2,
> -0x1bc9f, 0x1bc9f,
> -0x1da87, 0x1da8b,
> -0x1e95e, 0x1e95f,
> -}; /* END of CR_Punct */
> -
> -/* PROPERTY: 'Space': POSIX [[:Space:]] */
> -static const OnigCodePoint
> -CR_Space[] = { 10,
> -0x0009, 0x000d,
> -0x0020, 0x0020,
> -0x0085, 0x0085,
> -0x00a0, 0x00a0,
> -0x1680, 0x1680,
> -0x2000, 0x200a,
> -0x2028, 0x2029,
> -0x202f, 0x202f,
> -0x205f, 0x205f,
> -0x3000, 0x3000,
> -}; /* END of CR_Space */
> -
> -/* PROPERTY: 'Upper': POSIX [[:Upper:]] */
> -static const OnigCodePoint
> -CR_Upper[] = { 641,
> -0x0041, 0x005a,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00de,
> -0x0100, 0x0100,
> -0x0102, 0x0102,
> -0x0104, 0x0104,
> -0x0106, 0x0106,
> -0x0108, 0x0108,
> -0x010a, 0x010a,
> -0x010c, 0x010c,
> -0x010e, 0x010e,
> -0x0110, 0x0110,
> -0x0112, 0x0112,
> -0x0114, 0x0114,
> -0x0116, 0x0116,
> -0x0118, 0x0118,
> -0x011a, 0x011a,
> -0x011c, 0x011c,
> -0x011e, 0x011e,
> -0x0120, 0x0120,
> -0x0122, 0x0122,
> -0x0124, 0x0124,
> -0x0126, 0x0126,
> -0x0128, 0x0128,
> -0x012a, 0x012a,
> -0x012c, 0x012c,
> -0x012e, 0x012e,
> -0x0130, 0x0130,
> -0x0132, 0x0132,
> -0x0134, 0x0134,
> -0x0136, 0x0136,
> -0x0139, 0x0139,
> -0x013b, 0x013b,
> -0x013d, 0x013d,
> -0x013f, 0x013f,
> -0x0141, 0x0141,
> -0x0143, 0x0143,
> -0x0145, 0x0145,
> -0x0147, 0x0147,
> -0x014a, 0x014a,
> -0x014c, 0x014c,
> -0x014e, 0x014e,
> -0x0150, 0x0150,
> -0x0152, 0x0152,
> -0x0154, 0x0154,
> -0x0156, 0x0156,
> -0x0158, 0x0158,
> -0x015a, 0x015a,
> -0x015c, 0x015c,
> -0x015e, 0x015e,
> -0x0160, 0x0160,
> -0x0162, 0x0162,
> -0x0164, 0x0164,
> -0x0166, 0x0166,
> -0x0168, 0x0168,
> -0x016a, 0x016a,
> -0x016c, 0x016c,
> -0x016e, 0x016e,
> -0x0170, 0x0170,
> -0x0172, 0x0172,
> -0x0174, 0x0174,
> -0x0176, 0x0176,
> -0x0178, 0x0179,
> -0x017b, 0x017b,
> -0x017d, 0x017d,
> -0x0181, 0x0182,
> -0x0184, 0x0184,
> -0x0186, 0x0187,
> -0x0189, 0x018b,
> -0x018e, 0x0191,
> -0x0193, 0x0194,
> -0x0196, 0x0198,
> -0x019c, 0x019d,
> -0x019f, 0x01a0,
> -0x01a2, 0x01a2,
> -0x01a4, 0x01a4,
> -0x01a6, 0x01a7,
> -0x01a9, 0x01a9,
> -0x01ac, 0x01ac,
> -0x01ae, 0x01af,
> -0x01b1, 0x01b3,
> -0x01b5, 0x01b5,
> -0x01b7, 0x01b8,
> -0x01bc, 0x01bc,
> -0x01c4, 0x01c4,
> -0x01c7, 0x01c7,
> -0x01ca, 0x01ca,
> -0x01cd, 0x01cd,
> -0x01cf, 0x01cf,
> -0x01d1, 0x01d1,
> -0x01d3, 0x01d3,
> -0x01d5, 0x01d5,
> -0x01d7, 0x01d7,
> -0x01d9, 0x01d9,
> -0x01db, 0x01db,
> -0x01de, 0x01de,
> -0x01e0, 0x01e0,
> -0x01e2, 0x01e2,
> -0x01e4, 0x01e4,
> -0x01e6, 0x01e6,
> -0x01e8, 0x01e8,
> -0x01ea, 0x01ea,
> -0x01ec, 0x01ec,
> -0x01ee, 0x01ee,
> -0x01f1, 0x01f1,
> -0x01f4, 0x01f4,
> -0x01f6, 0x01f8,
> -0x01fa, 0x01fa,
> -0x01fc, 0x01fc,
> -0x01fe, 0x01fe,
> -0x0200, 0x0200,
> -0x0202, 0x0202,
> -0x0204, 0x0204,
> -0x0206, 0x0206,
> -0x0208, 0x0208,
> -0x020a, 0x020a,
> -0x020c, 0x020c,
> -0x020e, 0x020e,
> -0x0210, 0x0210,
> -0x0212, 0x0212,
> -0x0214, 0x0214,
> -0x0216, 0x0216,
> -0x0218, 0x0218,
> -0x021a, 0x021a,
> -0x021c, 0x021c,
> -0x021e, 0x021e,
> -0x0220, 0x0220,
> -0x0222, 0x0222,
> -0x0224, 0x0224,
> -0x0226, 0x0226,
> -0x0228, 0x0228,
> -0x022a, 0x022a,
> -0x022c, 0x022c,
> -0x022e, 0x022e,
> -0x0230, 0x0230,
> -0x0232, 0x0232,
> -0x023a, 0x023b,
> -0x023d, 0x023e,
> -0x0241, 0x0241,
> -0x0243, 0x0246,
> -0x0248, 0x0248,
> -0x024a, 0x024a,
> -0x024c, 0x024c,
> -0x024e, 0x024e,
> -0x0370, 0x0370,
> -0x0372, 0x0372,
> -0x0376, 0x0376,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x038f,
> -0x0391, 0x03a1,
> -0x03a3, 0x03ab,
> -0x03cf, 0x03cf,
> -0x03d2, 0x03d4,
> -0x03d8, 0x03d8,
> -0x03da, 0x03da,
> -0x03dc, 0x03dc,
> -0x03de, 0x03de,
> -0x03e0, 0x03e0,
> -0x03e2, 0x03e2,
> -0x03e4, 0x03e4,
> -0x03e6, 0x03e6,
> -0x03e8, 0x03e8,
> -0x03ea, 0x03ea,
> -0x03ec, 0x03ec,
> -0x03ee, 0x03ee,
> -0x03f4, 0x03f4,
> -0x03f7, 0x03f7,
> -0x03f9, 0x03fa,
> -0x03fd, 0x042f,
> -0x0460, 0x0460,
> -0x0462, 0x0462,
> -0x0464, 0x0464,
> -0x0466, 0x0466,
> -0x0468, 0x0468,
> -0x046a, 0x046a,
> -0x046c, 0x046c,
> -0x046e, 0x046e,
> -0x0470, 0x0470,
> -0x0472, 0x0472,
> -0x0474, 0x0474,
> -0x0476, 0x0476,
> -0x0478, 0x0478,
> -0x047a, 0x047a,
> -0x047c, 0x047c,
> -0x047e, 0x047e,
> -0x0480, 0x0480,
> -0x048a, 0x048a,
> -0x048c, 0x048c,
> -0x048e, 0x048e,
> -0x0490, 0x0490,
> -0x0492, 0x0492,
> -0x0494, 0x0494,
> -0x0496, 0x0496,
> -0x0498, 0x0498,
> -0x049a, 0x049a,
> -0x049c, 0x049c,
> -0x049e, 0x049e,
> -0x04a0, 0x04a0,
> -0x04a2, 0x04a2,
> -0x04a4, 0x04a4,
> -0x04a6, 0x04a6,
> -0x04a8, 0x04a8,
> -0x04aa, 0x04aa,
> -0x04ac, 0x04ac,
> -0x04ae, 0x04ae,
> -0x04b0, 0x04b0,
> -0x04b2, 0x04b2,
> -0x04b4, 0x04b4,
> -0x04b6, 0x04b6,
> -0x04b8, 0x04b8,
> -0x04ba, 0x04ba,
> -0x04bc, 0x04bc,
> -0x04be, 0x04be,
> -0x04c0, 0x04c1,
> -0x04c3, 0x04c3,
> -0x04c5, 0x04c5,
> -0x04c7, 0x04c7,
> -0x04c9, 0x04c9,
> -0x04cb, 0x04cb,
> -0x04cd, 0x04cd,
> -0x04d0, 0x04d0,
> -0x04d2, 0x04d2,
> -0x04d4, 0x04d4,
> -0x04d6, 0x04d6,
> -0x04d8, 0x04d8,
> -0x04da, 0x04da,
> -0x04dc, 0x04dc,
> -0x04de, 0x04de,
> -0x04e0, 0x04e0,
> -0x04e2, 0x04e2,
> -0x04e4, 0x04e4,
> -0x04e6, 0x04e6,
> -0x04e8, 0x04e8,
> -0x04ea, 0x04ea,
> -0x04ec, 0x04ec,
> -0x04ee, 0x04ee,
> -0x04f0, 0x04f0,
> -0x04f2, 0x04f2,
> -0x04f4, 0x04f4,
> -0x04f6, 0x04f6,
> -0x04f8, 0x04f8,
> -0x04fa, 0x04fa,
> -0x04fc, 0x04fc,
> -0x04fe, 0x04fe,
> -0x0500, 0x0500,
> -0x0502, 0x0502,
> -0x0504, 0x0504,
> -0x0506, 0x0506,
> -0x0508, 0x0508,
> -0x050a, 0x050a,
> -0x050c, 0x050c,
> -0x050e, 0x050e,
> -0x0510, 0x0510,
> -0x0512, 0x0512,
> -0x0514, 0x0514,
> -0x0516, 0x0516,
> -0x0518, 0x0518,
> -0x051a, 0x051a,
> -0x051c, 0x051c,
> -0x051e, 0x051e,
> -0x0520, 0x0520,
> -0x0522, 0x0522,
> -0x0524, 0x0524,
> -0x0526, 0x0526,
> -0x0528, 0x0528,
> -0x052a, 0x052a,
> -0x052c, 0x052c,
> -0x052e, 0x052e,
> -0x0531, 0x0556,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x13a0, 0x13f5,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1e00, 0x1e00,
> -0x1e02, 0x1e02,
> -0x1e04, 0x1e04,
> -0x1e06, 0x1e06,
> -0x1e08, 0x1e08,
> -0x1e0a, 0x1e0a,
> -0x1e0c, 0x1e0c,
> -0x1e0e, 0x1e0e,
> -0x1e10, 0x1e10,
> -0x1e12, 0x1e12,
> -0x1e14, 0x1e14,
> -0x1e16, 0x1e16,
> -0x1e18, 0x1e18,
> -0x1e1a, 0x1e1a,
> -0x1e1c, 0x1e1c,
> -0x1e1e, 0x1e1e,
> -0x1e20, 0x1e20,
> -0x1e22, 0x1e22,
> -0x1e24, 0x1e24,
> -0x1e26, 0x1e26,
> -0x1e28, 0x1e28,
> -0x1e2a, 0x1e2a,
> -0x1e2c, 0x1e2c,
> -0x1e2e, 0x1e2e,
> -0x1e30, 0x1e30,
> -0x1e32, 0x1e32,
> -0x1e34, 0x1e34,
> -0x1e36, 0x1e36,
> -0x1e38, 0x1e38,
> -0x1e3a, 0x1e3a,
> -0x1e3c, 0x1e3c,
> -0x1e3e, 0x1e3e,
> -0x1e40, 0x1e40,
> -0x1e42, 0x1e42,
> -0x1e44, 0x1e44,
> -0x1e46, 0x1e46,
> -0x1e48, 0x1e48,
> -0x1e4a, 0x1e4a,
> -0x1e4c, 0x1e4c,
> -0x1e4e, 0x1e4e,
> -0x1e50, 0x1e50,
> -0x1e52, 0x1e52,
> -0x1e54, 0x1e54,
> -0x1e56, 0x1e56,
> -0x1e58, 0x1e58,
> -0x1e5a, 0x1e5a,
> -0x1e5c, 0x1e5c,
> -0x1e5e, 0x1e5e,
> -0x1e60, 0x1e60,
> -0x1e62, 0x1e62,
> -0x1e64, 0x1e64,
> -0x1e66, 0x1e66,
> -0x1e68, 0x1e68,
> -0x1e6a, 0x1e6a,
> -0x1e6c, 0x1e6c,
> -0x1e6e, 0x1e6e,
> -0x1e70, 0x1e70,
> -0x1e72, 0x1e72,
> -0x1e74, 0x1e74,
> -0x1e76, 0x1e76,
> -0x1e78, 0x1e78,
> -0x1e7a, 0x1e7a,
> -0x1e7c, 0x1e7c,
> -0x1e7e, 0x1e7e,
> -0x1e80, 0x1e80,
> -0x1e82, 0x1e82,
> -0x1e84, 0x1e84,
> -0x1e86, 0x1e86,
> -0x1e88, 0x1e88,
> -0x1e8a, 0x1e8a,
> -0x1e8c, 0x1e8c,
> -0x1e8e, 0x1e8e,
> -0x1e90, 0x1e90,
> -0x1e92, 0x1e92,
> -0x1e94, 0x1e94,
> -0x1e9e, 0x1e9e,
> -0x1ea0, 0x1ea0,
> -0x1ea2, 0x1ea2,
> -0x1ea4, 0x1ea4,
> -0x1ea6, 0x1ea6,
> -0x1ea8, 0x1ea8,
> -0x1eaa, 0x1eaa,
> -0x1eac, 0x1eac,
> -0x1eae, 0x1eae,
> -0x1eb0, 0x1eb0,
> -0x1eb2, 0x1eb2,
> -0x1eb4, 0x1eb4,
> -0x1eb6, 0x1eb6,
> -0x1eb8, 0x1eb8,
> -0x1eba, 0x1eba,
> -0x1ebc, 0x1ebc,
> -0x1ebe, 0x1ebe,
> -0x1ec0, 0x1ec0,
> -0x1ec2, 0x1ec2,
> -0x1ec4, 0x1ec4,
> -0x1ec6, 0x1ec6,
> -0x1ec8, 0x1ec8,
> -0x1eca, 0x1eca,
> -0x1ecc, 0x1ecc,
> -0x1ece, 0x1ece,
> -0x1ed0, 0x1ed0,
> -0x1ed2, 0x1ed2,
> -0x1ed4, 0x1ed4,
> -0x1ed6, 0x1ed6,
> -0x1ed8, 0x1ed8,
> -0x1eda, 0x1eda,
> -0x1edc, 0x1edc,
> -0x1ede, 0x1ede,
> -0x1ee0, 0x1ee0,
> -0x1ee2, 0x1ee2,
> -0x1ee4, 0x1ee4,
> -0x1ee6, 0x1ee6,
> -0x1ee8, 0x1ee8,
> -0x1eea, 0x1eea,
> -0x1eec, 0x1eec,
> -0x1eee, 0x1eee,
> -0x1ef0, 0x1ef0,
> -0x1ef2, 0x1ef2,
> -0x1ef4, 0x1ef4,
> -0x1ef6, 0x1ef6,
> -0x1ef8, 0x1ef8,
> -0x1efa, 0x1efa,
> -0x1efc, 0x1efc,
> -0x1efe, 0x1efe,
> -0x1f08, 0x1f0f,
> -0x1f18, 0x1f1d,
> -0x1f28, 0x1f2f,
> -0x1f38, 0x1f3f,
> -0x1f48, 0x1f4d,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f5f,
> -0x1f68, 0x1f6f,
> -0x1fb8, 0x1fbb,
> -0x1fc8, 0x1fcb,
> -0x1fd8, 0x1fdb,
> -0x1fe8, 0x1fec,
> -0x1ff8, 0x1ffb,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210b, 0x210d,
> -0x2110, 0x2112,
> -0x2115, 0x2115,
> -0x2119, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x212d,
> -0x2130, 0x2133,
> -0x213e, 0x213f,
> -0x2145, 0x2145,
> -0x2160, 0x216f,
> -0x2183, 0x2183,
> -0x24b6, 0x24cf,
> -0x2c00, 0x2c2e,
> -0x2c60, 0x2c60,
> -0x2c62, 0x2c64,
> -0x2c67, 0x2c67,
> -0x2c69, 0x2c69,
> -0x2c6b, 0x2c6b,
> -0x2c6d, 0x2c70,
> -0x2c72, 0x2c72,
> -0x2c75, 0x2c75,
> -0x2c7e, 0x2c80,
> -0x2c82, 0x2c82,
> -0x2c84, 0x2c84,
> -0x2c86, 0x2c86,
> -0x2c88, 0x2c88,
> -0x2c8a, 0x2c8a,
> -0x2c8c, 0x2c8c,
> -0x2c8e, 0x2c8e,
> -0x2c90, 0x2c90,
> -0x2c92, 0x2c92,
> -0x2c94, 0x2c94,
> -0x2c96, 0x2c96,
> -0x2c98, 0x2c98,
> -0x2c9a, 0x2c9a,
> -0x2c9c, 0x2c9c,
> -0x2c9e, 0x2c9e,
> -0x2ca0, 0x2ca0,
> -0x2ca2, 0x2ca2,
> -0x2ca4, 0x2ca4,
> -0x2ca6, 0x2ca6,
> -0x2ca8, 0x2ca8,
> -0x2caa, 0x2caa,
> -0x2cac, 0x2cac,
> -0x2cae, 0x2cae,
> -0x2cb0, 0x2cb0,
> -0x2cb2, 0x2cb2,
> -0x2cb4, 0x2cb4,
> -0x2cb6, 0x2cb6,
> -0x2cb8, 0x2cb8,
> -0x2cba, 0x2cba,
> -0x2cbc, 0x2cbc,
> -0x2cbe, 0x2cbe,
> -0x2cc0, 0x2cc0,
> -0x2cc2, 0x2cc2,
> -0x2cc4, 0x2cc4,
> -0x2cc6, 0x2cc6,
> -0x2cc8, 0x2cc8,
> -0x2cca, 0x2cca,
> -0x2ccc, 0x2ccc,
> -0x2cce, 0x2cce,
> -0x2cd0, 0x2cd0,
> -0x2cd2, 0x2cd2,
> -0x2cd4, 0x2cd4,
> -0x2cd6, 0x2cd6,
> -0x2cd8, 0x2cd8,
> -0x2cda, 0x2cda,
> -0x2cdc, 0x2cdc,
> -0x2cde, 0x2cde,
> -0x2ce0, 0x2ce0,
> -0x2ce2, 0x2ce2,
> -0x2ceb, 0x2ceb,
> -0x2ced, 0x2ced,
> -0x2cf2, 0x2cf2,
> -0xa640, 0xa640,
> -0xa642, 0xa642,
> -0xa644, 0xa644,
> -0xa646, 0xa646,
> -0xa648, 0xa648,
> -0xa64a, 0xa64a,
> -0xa64c, 0xa64c,
> -0xa64e, 0xa64e,
> -0xa650, 0xa650,
> -0xa652, 0xa652,
> -0xa654, 0xa654,
> -0xa656, 0xa656,
> -0xa658, 0xa658,
> -0xa65a, 0xa65a,
> -0xa65c, 0xa65c,
> -0xa65e, 0xa65e,
> -0xa660, 0xa660,
> -0xa662, 0xa662,
> -0xa664, 0xa664,
> -0xa666, 0xa666,
> -0xa668, 0xa668,
> -0xa66a, 0xa66a,
> -0xa66c, 0xa66c,
> -0xa680, 0xa680,
> -0xa682, 0xa682,
> -0xa684, 0xa684,
> -0xa686, 0xa686,
> -0xa688, 0xa688,
> -0xa68a, 0xa68a,
> -0xa68c, 0xa68c,
> -0xa68e, 0xa68e,
> -0xa690, 0xa690,
> -0xa692, 0xa692,
> -0xa694, 0xa694,
> -0xa696, 0xa696,
> -0xa698, 0xa698,
> -0xa69a, 0xa69a,
> -0xa722, 0xa722,
> -0xa724, 0xa724,
> -0xa726, 0xa726,
> -0xa728, 0xa728,
> -0xa72a, 0xa72a,
> -0xa72c, 0xa72c,
> -0xa72e, 0xa72e,
> -0xa732, 0xa732,
> -0xa734, 0xa734,
> -0xa736, 0xa736,
> -0xa738, 0xa738,
> -0xa73a, 0xa73a,
> -0xa73c, 0xa73c,
> -0xa73e, 0xa73e,
> -0xa740, 0xa740,
> -0xa742, 0xa742,
> -0xa744, 0xa744,
> -0xa746, 0xa746,
> -0xa748, 0xa748,
> -0xa74a, 0xa74a,
> -0xa74c, 0xa74c,
> -0xa74e, 0xa74e,
> -0xa750, 0xa750,
> -0xa752, 0xa752,
> -0xa754, 0xa754,
> -0xa756, 0xa756,
> -0xa758, 0xa758,
> -0xa75a, 0xa75a,
> -0xa75c, 0xa75c,
> -0xa75e, 0xa75e,
> -0xa760, 0xa760,
> -0xa762, 0xa762,
> -0xa764, 0xa764,
> -0xa766, 0xa766,
> -0xa768, 0xa768,
> -0xa76a, 0xa76a,
> -0xa76c, 0xa76c,
> -0xa76e, 0xa76e,
> -0xa779, 0xa779,
> -0xa77b, 0xa77b,
> -0xa77d, 0xa77e,
> -0xa780, 0xa780,
> -0xa782, 0xa782,
> -0xa784, 0xa784,
> -0xa786, 0xa786,
> -0xa78b, 0xa78b,
> -0xa78d, 0xa78d,
> -0xa790, 0xa790,
> -0xa792, 0xa792,
> -0xa796, 0xa796,
> -0xa798, 0xa798,
> -0xa79a, 0xa79a,
> -0xa79c, 0xa79c,
> -0xa79e, 0xa79e,
> -0xa7a0, 0xa7a0,
> -0xa7a2, 0xa7a2,
> -0xa7a4, 0xa7a4,
> -0xa7a6, 0xa7a6,
> -0xa7a8, 0xa7a8,
> -0xa7aa, 0xa7ae,
> -0xa7b0, 0xa7b4,
> -0xa7b6, 0xa7b6,
> -0xa7b8, 0xa7b8,
> -0xa7ba, 0xa7ba,
> -0xa7bc, 0xa7bc,
> -0xa7be, 0xa7be,
> -0xa7c2, 0xa7c2,
> -0xa7c4, 0xa7c6,
> -0xff21, 0xff3a,
> -0x10400, 0x10427,
> -0x104b0, 0x104d3,
> -0x10c80, 0x10cb2,
> -0x118a0, 0x118bf,
> -0x16e40, 0x16e5f,
> -0x1d400, 0x1d419,
> -0x1d434, 0x1d44d,
> -0x1d468, 0x1d481,
> -0x1d49c, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b5,
> -0x1d4d0, 0x1d4e9,
> -0x1d504, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d538, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d56c, 0x1d585,
> -0x1d5a0, 0x1d5b9,
> -0x1d5d4, 0x1d5ed,
> -0x1d608, 0x1d621,
> -0x1d63c, 0x1d655,
> -0x1d670, 0x1d689,
> -0x1d6a8, 0x1d6c0,
> -0x1d6e2, 0x1d6fa,
> -0x1d71c, 0x1d734,
> -0x1d756, 0x1d76e,
> -0x1d790, 0x1d7a8,
> -0x1d7ca, 0x1d7ca,
> -0x1e900, 0x1e921,
> -0x1f130, 0x1f149,
> -0x1f150, 0x1f169,
> -0x1f170, 0x1f189,
> -}; /* END of CR_Upper */
> -
> -/* PROPERTY: 'XDigit': POSIX [[:XDigit:]] */
> -static const OnigCodePoint
> -CR_XDigit[] = { 3,
> -0x0030, 0x0039,
> -0x0041, 0x0046,
> -0x0061, 0x0066,
> -}; /* END of CR_XDigit */
> -
> -/* PROPERTY: 'Word': POSIX [[:Word:]] */
> -static const OnigCodePoint
> -CR_Word[] = { 716,
> -0x0030, 0x0039,
> -0x0041, 0x005a,
> -0x005f, 0x005f,
> -0x0061, 0x007a,
> -0x00aa, 0x00aa,
> -0x00b5, 0x00b5,
> -0x00ba, 0x00ba,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00f6,
> -0x00f8, 0x02c1,
> -0x02c6, 0x02d1,
> -0x02e0, 0x02e4,
> -0x02ec, 0x02ec,
> -0x02ee, 0x02ee,
> -0x0300, 0x0374,
> -0x0376, 0x0377,
> -0x037a, 0x037d,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x03f5,
> -0x03f7, 0x0481,
> -0x0483, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x0559,
> -0x0560, 0x0588,
> -0x0591, 0x05bd,
> -0x05bf, 0x05bf,
> -0x05c1, 0x05c2,
> -0x05c4, 0x05c5,
> -0x05c7, 0x05c7,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f2,
> -0x0610, 0x061a,
> -0x0620, 0x0669,
> -0x066e, 0x06d3,
> -0x06d5, 0x06dc,
> -0x06df, 0x06e8,
> -0x06ea, 0x06fc,
> -0x06ff, 0x06ff,
> -0x0710, 0x074a,
> -0x074d, 0x07b1,
> -0x07c0, 0x07f5,
> -0x07fa, 0x07fa,
> -0x07fd, 0x07fd,
> -0x0800, 0x082d,
> -0x0840, 0x085b,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x08d3, 0x08e1,
> -0x08e3, 0x0963,
> -0x0966, 0x096f,
> -0x0971, 0x0983,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bc, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09ce,
> -0x09d7, 0x09d7,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e3,
> -0x09e6, 0x09f1,
> -0x09fc, 0x09fc,
> -0x09fe, 0x09fe,
> -0x0a01, 0x0a03,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a3c, 0x0a3c,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4d,
> -0x0a51, 0x0a51,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a66, 0x0a75,
> -0x0a81, 0x0a83,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abc, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acd,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae3,
> -0x0ae6, 0x0aef,
> -0x0af9, 0x0aff,
> -0x0b01, 0x0b03,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3c, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4d,
> -0x0b56, 0x0b57,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b63,
> -0x0b66, 0x0b6f,
> -0x0b71, 0x0b71,
> -0x0b82, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcd,
> -0x0bd0, 0x0bd0,
> -0x0bd7, 0x0bd7,
> -0x0be6, 0x0bef,
> -0x0c00, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4d,
> -0x0c55, 0x0c56,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c63,
> -0x0c66, 0x0c6f,
> -0x0c80, 0x0c83,
> -0x0c85, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbc, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccd,
> -0x0cd5, 0x0cd6,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce3,
> -0x0ce6, 0x0cef,
> -0x0cf1, 0x0cf2,
> -0x0d00, 0x0d03,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4e,
> -0x0d54, 0x0d57,
> -0x0d5f, 0x0d63,
> -0x0d66, 0x0d6f,
> -0x0d7a, 0x0d7f,
> -0x0d82, 0x0d83,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0dca, 0x0dca,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0de6, 0x0def,
> -0x0df2, 0x0df3,
> -0x0e01, 0x0e3a,
> -0x0e40, 0x0e4e,
> -0x0e50, 0x0e59,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0ec8, 0x0ecd,
> -0x0ed0, 0x0ed9,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f00,
> -0x0f18, 0x0f19,
> -0x0f20, 0x0f29,
> -0x0f35, 0x0f35,
> -0x0f37, 0x0f37,
> -0x0f39, 0x0f39,
> -0x0f3e, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f71, 0x0f84,
> -0x0f86, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x0fc6, 0x0fc6,
> -0x1000, 0x1049,
> -0x1050, 0x109d,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x10fa,
> -0x10fc, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x135d, 0x135f,
> -0x1380, 0x138f,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1401, 0x166c,
> -0x166f, 0x167f,
> -0x1681, 0x169a,
> -0x16a0, 0x16ea,
> -0x16ee, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1714,
> -0x1720, 0x1734,
> -0x1740, 0x1753,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1772, 0x1773,
> -0x1780, 0x17d3,
> -0x17d7, 0x17d7,
> -0x17dc, 0x17dd,
> -0x17e0, 0x17e9,
> -0x180b, 0x180d,
> -0x1810, 0x1819,
> -0x1820, 0x1878,
> -0x1880, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1920, 0x192b,
> -0x1930, 0x193b,
> -0x1946, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x19d0, 0x19d9,
> -0x1a00, 0x1a1b,
> -0x1a20, 0x1a5e,
> -0x1a60, 0x1a7c,
> -0x1a7f, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1aa7, 0x1aa7,
> -0x1ab0, 0x1abe,
> -0x1b00, 0x1b4b,
> -0x1b50, 0x1b59,
> -0x1b6b, 0x1b73,
> -0x1b80, 0x1bf3,
> -0x1c00, 0x1c37,
> -0x1c40, 0x1c49,
> -0x1c4d, 0x1c7d,
> -0x1c80, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1cd0, 0x1cd2,
> -0x1cd4, 0x1cfa,
> -0x1d00, 0x1df9,
> -0x1dfb, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fbc,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fcc,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fe0, 0x1fec,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffc,
> -0x203f, 0x2040,
> -0x2054, 0x2054,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x20d0, 0x20f0,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210a, 0x2113,
> -0x2115, 0x2115,
> -0x2119, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x212d,
> -0x212f, 0x2139,
> -0x213c, 0x213f,
> -0x2145, 0x2149,
> -0x214e, 0x214e,
> -0x2160, 0x2188,
> -0x24b6, 0x24e9,
> -0x2c00, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2ce4,
> -0x2ceb, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d6f,
> -0x2d7f, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x2de0, 0x2dff,
> -0x2e2f, 0x2e2f,
> -0x3005, 0x3007,
> -0x3021, 0x302f,
> -0x3031, 0x3035,
> -0x3038, 0x303c,
> -0x3041, 0x3096,
> -0x3099, 0x309a,
> -0x309d, 0x309f,
> -0x30a1, 0x30fa,
> -0x30fc, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x31a0, 0x31ba,
> -0x31f0, 0x31ff,
> -0x3400, 0x4db5,
> -0x4e00, 0x9fef,
> -0xa000, 0xa48c,
> -0xa4d0, 0xa4fd,
> -0xa500, 0xa60c,
> -0xa610, 0xa62b,
> -0xa640, 0xa672,
> -0xa674, 0xa67d,
> -0xa67f, 0xa6f1,
> -0xa717, 0xa71f,
> -0xa722, 0xa788,
> -0xa78b, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa827,
> -0xa840, 0xa873,
> -0xa880, 0xa8c5,
> -0xa8d0, 0xa8d9,
> -0xa8e0, 0xa8f7,
> -0xa8fb, 0xa8fb,
> -0xa8fd, 0xa92d,
> -0xa930, 0xa953,
> -0xa960, 0xa97c,
> -0xa980, 0xa9c0,
> -0xa9cf, 0xa9d9,
> -0xa9e0, 0xa9fe,
> -0xaa00, 0xaa36,
> -0xaa40, 0xaa4d,
> -0xaa50, 0xaa59,
> -0xaa60, 0xaa76,
> -0xaa7a, 0xaac2,
> -0xaadb, 0xaadd,
> -0xaae0, 0xaaef,
> -0xaaf2, 0xaaf6,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab5a,
> -0xab5c, 0xab67,
> -0xab70, 0xabea,
> -0xabec, 0xabed,
> -0xabf0, 0xabf9,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xf900, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb28,
> -0xfb2a, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbb1,
> -0xfbd3, 0xfd3d,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfb,
> -0xfe00, 0xfe0f,
> -0xfe20, 0xfe2f,
> -0xfe33, 0xfe34,
> -0xfe4d, 0xfe4f,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xff10, 0xff19,
> -0xff21, 0xff3a,
> -0xff3f, 0xff3f,
> -0xff41, 0xff5a,
> -0xff66, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10140, 0x10174,
> -0x101fd, 0x101fd,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x102e0, 0x102e0,
> -0x10300, 0x1031f,
> -0x1032d, 0x1034a,
> -0x10350, 0x1037a,
> -0x10380, 0x1039d,
> -0x103a0, 0x103c3,
> -0x103c8, 0x103cf,
> -0x103d1, 0x103d5,
> -0x10400, 0x1049d,
> -0x104a0, 0x104a9,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10860, 0x10876,
> -0x10880, 0x1089e,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x10900, 0x10915,
> -0x10920, 0x10939,
> -0x10980, 0x109b7,
> -0x109be, 0x109bf,
> -0x10a00, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a38, 0x10a3a,
> -0x10a3f, 0x10a3f,
> -0x10a60, 0x10a7c,
> -0x10a80, 0x10a9c,
> -0x10ac0, 0x10ac7,
> -0x10ac9, 0x10ae6,
> -0x10b00, 0x10b35,
> -0x10b40, 0x10b55,
> -0x10b60, 0x10b72,
> -0x10b80, 0x10b91,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10d00, 0x10d27,
> -0x10d30, 0x10d39,
> -0x10f00, 0x10f1c,
> -0x10f27, 0x10f27,
> -0x10f30, 0x10f50,
> -0x10fe0, 0x10ff6,
> -0x11000, 0x11046,
> -0x11066, 0x1106f,
> -0x1107f, 0x110ba,
> -0x110d0, 0x110e8,
> -0x110f0, 0x110f9,
> -0x11100, 0x11134,
> -0x11136, 0x1113f,
> -0x11144, 0x11146,
> -0x11150, 0x11173,
> -0x11176, 0x11176,
> -0x11180, 0x111c4,
> -0x111c9, 0x111cc,
> -0x111d0, 0x111da,
> -0x111dc, 0x111dc,
> -0x11200, 0x11211,
> -0x11213, 0x11237,
> -0x1123e, 0x1123e,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a8,
> -0x112b0, 0x112ea,
> -0x112f0, 0x112f9,
> -0x11300, 0x11303,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133b, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134d,
> -0x11350, 0x11350,
> -0x11357, 0x11357,
> -0x1135d, 0x11363,
> -0x11366, 0x1136c,
> -0x11370, 0x11374,
> -0x11400, 0x1144a,
> -0x11450, 0x11459,
> -0x1145e, 0x1145f,
> -0x11480, 0x114c5,
> -0x114c7, 0x114c7,
> -0x114d0, 0x114d9,
> -0x11580, 0x115b5,
> -0x115b8, 0x115c0,
> -0x115d8, 0x115dd,
> -0x11600, 0x11640,
> -0x11644, 0x11644,
> -0x11650, 0x11659,
> -0x11680, 0x116b8,
> -0x116c0, 0x116c9,
> -0x11700, 0x1171a,
> -0x1171d, 0x1172b,
> -0x11730, 0x11739,
> -0x11800, 0x1183a,
> -0x118a0, 0x118e9,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d7,
> -0x119da, 0x119e1,
> -0x119e3, 0x119e4,
> -0x11a00, 0x11a3e,
> -0x11a47, 0x11a47,
> -0x11a50, 0x11a99,
> -0x11a9d, 0x11a9d,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c36,
> -0x11c38, 0x11c40,
> -0x11c50, 0x11c59,
> -0x11c72, 0x11c8f,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d47,
> -0x11d50, 0x11d59,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d98,
> -0x11da0, 0x11da9,
> -0x11ee0, 0x11ef6,
> -0x12000, 0x12399,
> -0x12400, 0x1246e,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16a60, 0x16a69,
> -0x16ad0, 0x16aed,
> -0x16af0, 0x16af4,
> -0x16b00, 0x16b36,
> -0x16b40, 0x16b43,
> -0x16b50, 0x16b59,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e7f,
> -0x16f00, 0x16f4a,
> -0x16f4f, 0x16f87,
> -0x16f8f, 0x16f9f,
> -0x16fe0, 0x16fe1,
> -0x16fe3, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1bc9d, 0x1bc9e,
> -0x1d165, 0x1d169,
> -0x1d16d, 0x1d172,
> -0x1d17b, 0x1d182,
> -0x1d185, 0x1d18b,
> -0x1d1aa, 0x1d1ad,
> -0x1d242, 0x1d244,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d6c0,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6fa,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d734,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d76e,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d7a8,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7cb,
> -0x1d7ce, 0x1d7ff,
> -0x1da00, 0x1da36,
> -0x1da3b, 0x1da6c,
> -0x1da75, 0x1da75,
> -0x1da84, 0x1da84,
> -0x1da9b, 0x1da9f,
> -0x1daa1, 0x1daaf,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e100, 0x1e12c,
> -0x1e130, 0x1e13d,
> -0x1e140, 0x1e149,
> -0x1e14e, 0x1e14e,
> -0x1e2c0, 0x1e2f9,
> -0x1e800, 0x1e8c4,
> -0x1e8d0, 0x1e8d6,
> -0x1e900, 0x1e94b,
> -0x1e950, 0x1e959,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x1f130, 0x1f149,
> -0x1f150, 0x1f169,
> -0x1f170, 0x1f189,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -0xe0100, 0xe01ef,
> -}; /* END of CR_Word */
> -
> -/* PROPERTY: 'Alnum': POSIX [[:Alnum:]] */
> -static const OnigCodePoint
> -CR_Alnum[] = { 715,
> -0x0030, 0x0039,
> -0x0041, 0x005a,
> -0x0061, 0x007a,
> -0x00aa, 0x00aa,
> -0x00b5, 0x00b5,
> -0x00ba, 0x00ba,
> -0x00c0, 0x00d6,
> -0x00d8, 0x00f6,
> -0x00f8, 0x02c1,
> -0x02c6, 0x02d1,
> -0x02e0, 0x02e4,
> -0x02ec, 0x02ec,
> -0x02ee, 0x02ee,
> -0x0345, 0x0345,
> -0x0370, 0x0374,
> -0x0376, 0x0377,
> -0x037a, 0x037d,
> -0x037f, 0x037f,
> -0x0386, 0x0386,
> -0x0388, 0x038a,
> -0x038c, 0x038c,
> -0x038e, 0x03a1,
> -0x03a3, 0x03f5,
> -0x03f7, 0x0481,
> -0x048a, 0x052f,
> -0x0531, 0x0556,
> -0x0559, 0x0559,
> -0x0560, 0x0588,
> -0x05b0, 0x05bd,
> -0x05bf, 0x05bf,
> -0x05c1, 0x05c2,
> -0x05c4, 0x05c5,
> -0x05c7, 0x05c7,
> -0x05d0, 0x05ea,
> -0x05ef, 0x05f2,
> -0x0610, 0x061a,
> -0x0620, 0x0657,
> -0x0659, 0x0669,
> -0x066e, 0x06d3,
> -0x06d5, 0x06dc,
> -0x06e1, 0x06e8,
> -0x06ed, 0x06fc,
> -0x06ff, 0x06ff,
> -0x0710, 0x073f,
> -0x074d, 0x07b1,
> -0x07c0, 0x07ea,
> -0x07f4, 0x07f5,
> -0x07fa, 0x07fa,
> -0x0800, 0x0817,
> -0x081a, 0x082c,
> -0x0840, 0x0858,
> -0x0860, 0x086a,
> -0x08a0, 0x08b4,
> -0x08b6, 0x08bd,
> -0x08d4, 0x08df,
> -0x08e3, 0x08e9,
> -0x08f0, 0x093b,
> -0x093d, 0x094c,
> -0x094e, 0x0950,
> -0x0955, 0x0963,
> -0x0966, 0x096f,
> -0x0971, 0x0983,
> -0x0985, 0x098c,
> -0x098f, 0x0990,
> -0x0993, 0x09a8,
> -0x09aa, 0x09b0,
> -0x09b2, 0x09b2,
> -0x09b6, 0x09b9,
> -0x09bd, 0x09c4,
> -0x09c7, 0x09c8,
> -0x09cb, 0x09cc,
> -0x09ce, 0x09ce,
> -0x09d7, 0x09d7,
> -0x09dc, 0x09dd,
> -0x09df, 0x09e3,
> -0x09e6, 0x09f1,
> -0x09fc, 0x09fc,
> -0x0a01, 0x0a03,
> -0x0a05, 0x0a0a,
> -0x0a0f, 0x0a10,
> -0x0a13, 0x0a28,
> -0x0a2a, 0x0a30,
> -0x0a32, 0x0a33,
> -0x0a35, 0x0a36,
> -0x0a38, 0x0a39,
> -0x0a3e, 0x0a42,
> -0x0a47, 0x0a48,
> -0x0a4b, 0x0a4c,
> -0x0a51, 0x0a51,
> -0x0a59, 0x0a5c,
> -0x0a5e, 0x0a5e,
> -0x0a66, 0x0a75,
> -0x0a81, 0x0a83,
> -0x0a85, 0x0a8d,
> -0x0a8f, 0x0a91,
> -0x0a93, 0x0aa8,
> -0x0aaa, 0x0ab0,
> -0x0ab2, 0x0ab3,
> -0x0ab5, 0x0ab9,
> -0x0abd, 0x0ac5,
> -0x0ac7, 0x0ac9,
> -0x0acb, 0x0acc,
> -0x0ad0, 0x0ad0,
> -0x0ae0, 0x0ae3,
> -0x0ae6, 0x0aef,
> -0x0af9, 0x0afc,
> -0x0b01, 0x0b03,
> -0x0b05, 0x0b0c,
> -0x0b0f, 0x0b10,
> -0x0b13, 0x0b28,
> -0x0b2a, 0x0b30,
> -0x0b32, 0x0b33,
> -0x0b35, 0x0b39,
> -0x0b3d, 0x0b44,
> -0x0b47, 0x0b48,
> -0x0b4b, 0x0b4c,
> -0x0b56, 0x0b57,
> -0x0b5c, 0x0b5d,
> -0x0b5f, 0x0b63,
> -0x0b66, 0x0b6f,
> -0x0b71, 0x0b71,
> -0x0b82, 0x0b83,
> -0x0b85, 0x0b8a,
> -0x0b8e, 0x0b90,
> -0x0b92, 0x0b95,
> -0x0b99, 0x0b9a,
> -0x0b9c, 0x0b9c,
> -0x0b9e, 0x0b9f,
> -0x0ba3, 0x0ba4,
> -0x0ba8, 0x0baa,
> -0x0bae, 0x0bb9,
> -0x0bbe, 0x0bc2,
> -0x0bc6, 0x0bc8,
> -0x0bca, 0x0bcc,
> -0x0bd0, 0x0bd0,
> -0x0bd7, 0x0bd7,
> -0x0be6, 0x0bef,
> -0x0c00, 0x0c03,
> -0x0c05, 0x0c0c,
> -0x0c0e, 0x0c10,
> -0x0c12, 0x0c28,
> -0x0c2a, 0x0c39,
> -0x0c3d, 0x0c44,
> -0x0c46, 0x0c48,
> -0x0c4a, 0x0c4c,
> -0x0c55, 0x0c56,
> -0x0c58, 0x0c5a,
> -0x0c60, 0x0c63,
> -0x0c66, 0x0c6f,
> -0x0c80, 0x0c83,
> -0x0c85, 0x0c8c,
> -0x0c8e, 0x0c90,
> -0x0c92, 0x0ca8,
> -0x0caa, 0x0cb3,
> -0x0cb5, 0x0cb9,
> -0x0cbd, 0x0cc4,
> -0x0cc6, 0x0cc8,
> -0x0cca, 0x0ccc,
> -0x0cd5, 0x0cd6,
> -0x0cde, 0x0cde,
> -0x0ce0, 0x0ce3,
> -0x0ce6, 0x0cef,
> -0x0cf1, 0x0cf2,
> -0x0d00, 0x0d03,
> -0x0d05, 0x0d0c,
> -0x0d0e, 0x0d10,
> -0x0d12, 0x0d3a,
> -0x0d3d, 0x0d44,
> -0x0d46, 0x0d48,
> -0x0d4a, 0x0d4c,
> -0x0d4e, 0x0d4e,
> -0x0d54, 0x0d57,
> -0x0d5f, 0x0d63,
> -0x0d66, 0x0d6f,
> -0x0d7a, 0x0d7f,
> -0x0d82, 0x0d83,
> -0x0d85, 0x0d96,
> -0x0d9a, 0x0db1,
> -0x0db3, 0x0dbb,
> -0x0dbd, 0x0dbd,
> -0x0dc0, 0x0dc6,
> -0x0dcf, 0x0dd4,
> -0x0dd6, 0x0dd6,
> -0x0dd8, 0x0ddf,
> -0x0de6, 0x0def,
> -0x0df2, 0x0df3,
> -0x0e01, 0x0e3a,
> -0x0e40, 0x0e46,
> -0x0e4d, 0x0e4d,
> -0x0e50, 0x0e59,
> -0x0e81, 0x0e82,
> -0x0e84, 0x0e84,
> -0x0e86, 0x0e8a,
> -0x0e8c, 0x0ea3,
> -0x0ea5, 0x0ea5,
> -0x0ea7, 0x0eb9,
> -0x0ebb, 0x0ebd,
> -0x0ec0, 0x0ec4,
> -0x0ec6, 0x0ec6,
> -0x0ecd, 0x0ecd,
> -0x0ed0, 0x0ed9,
> -0x0edc, 0x0edf,
> -0x0f00, 0x0f00,
> -0x0f20, 0x0f29,
> -0x0f40, 0x0f47,
> -0x0f49, 0x0f6c,
> -0x0f71, 0x0f81,
> -0x0f88, 0x0f97,
> -0x0f99, 0x0fbc,
> -0x1000, 0x1036,
> -0x1038, 0x1038,
> -0x103b, 0x1049,
> -0x1050, 0x109d,
> -0x10a0, 0x10c5,
> -0x10c7, 0x10c7,
> -0x10cd, 0x10cd,
> -0x10d0, 0x10fa,
> -0x10fc, 0x1248,
> -0x124a, 0x124d,
> -0x1250, 0x1256,
> -0x1258, 0x1258,
> -0x125a, 0x125d,
> -0x1260, 0x1288,
> -0x128a, 0x128d,
> -0x1290, 0x12b0,
> -0x12b2, 0x12b5,
> -0x12b8, 0x12be,
> -0x12c0, 0x12c0,
> -0x12c2, 0x12c5,
> -0x12c8, 0x12d6,
> -0x12d8, 0x1310,
> -0x1312, 0x1315,
> -0x1318, 0x135a,
> -0x1380, 0x138f,
> -0x13a0, 0x13f5,
> -0x13f8, 0x13fd,
> -0x1401, 0x166c,
> -0x166f, 0x167f,
> -0x1681, 0x169a,
> -0x16a0, 0x16ea,
> -0x16ee, 0x16f8,
> -0x1700, 0x170c,
> -0x170e, 0x1713,
> -0x1720, 0x1733,
> -0x1740, 0x1753,
> -0x1760, 0x176c,
> -0x176e, 0x1770,
> -0x1772, 0x1773,
> -0x1780, 0x17b3,
> -0x17b6, 0x17c8,
> -0x17d7, 0x17d7,
> -0x17dc, 0x17dc,
> -0x17e0, 0x17e9,
> -0x1810, 0x1819,
> -0x1820, 0x1878,
> -0x1880, 0x18aa,
> -0x18b0, 0x18f5,
> -0x1900, 0x191e,
> -0x1920, 0x192b,
> -0x1930, 0x1938,
> -0x1946, 0x196d,
> -0x1970, 0x1974,
> -0x1980, 0x19ab,
> -0x19b0, 0x19c9,
> -0x19d0, 0x19d9,
> -0x1a00, 0x1a1b,
> -0x1a20, 0x1a5e,
> -0x1a61, 0x1a74,
> -0x1a80, 0x1a89,
> -0x1a90, 0x1a99,
> -0x1aa7, 0x1aa7,
> -0x1b00, 0x1b33,
> -0x1b35, 0x1b43,
> -0x1b45, 0x1b4b,
> -0x1b50, 0x1b59,
> -0x1b80, 0x1ba9,
> -0x1bac, 0x1be5,
> -0x1be7, 0x1bf1,
> -0x1c00, 0x1c36,
> -0x1c40, 0x1c49,
> -0x1c4d, 0x1c7d,
> -0x1c80, 0x1c88,
> -0x1c90, 0x1cba,
> -0x1cbd, 0x1cbf,
> -0x1ce9, 0x1cec,
> -0x1cee, 0x1cf3,
> -0x1cf5, 0x1cf6,
> -0x1cfa, 0x1cfa,
> -0x1d00, 0x1dbf,
> -0x1de7, 0x1df4,
> -0x1e00, 0x1f15,
> -0x1f18, 0x1f1d,
> -0x1f20, 0x1f45,
> -0x1f48, 0x1f4d,
> -0x1f50, 0x1f57,
> -0x1f59, 0x1f59,
> -0x1f5b, 0x1f5b,
> -0x1f5d, 0x1f5d,
> -0x1f5f, 0x1f7d,
> -0x1f80, 0x1fb4,
> -0x1fb6, 0x1fbc,
> -0x1fbe, 0x1fbe,
> -0x1fc2, 0x1fc4,
> -0x1fc6, 0x1fcc,
> -0x1fd0, 0x1fd3,
> -0x1fd6, 0x1fdb,
> -0x1fe0, 0x1fec,
> -0x1ff2, 0x1ff4,
> -0x1ff6, 0x1ffc,
> -0x2071, 0x2071,
> -0x207f, 0x207f,
> -0x2090, 0x209c,
> -0x2102, 0x2102,
> -0x2107, 0x2107,
> -0x210a, 0x2113,
> -0x2115, 0x2115,
> -0x2119, 0x211d,
> -0x2124, 0x2124,
> -0x2126, 0x2126,
> -0x2128, 0x2128,
> -0x212a, 0x212d,
> -0x212f, 0x2139,
> -0x213c, 0x213f,
> -0x2145, 0x2149,
> -0x214e, 0x214e,
> -0x2160, 0x2188,
> -0x24b6, 0x24e9,
> -0x2c00, 0x2c2e,
> -0x2c30, 0x2c5e,
> -0x2c60, 0x2ce4,
> -0x2ceb, 0x2cee,
> -0x2cf2, 0x2cf3,
> -0x2d00, 0x2d25,
> -0x2d27, 0x2d27,
> -0x2d2d, 0x2d2d,
> -0x2d30, 0x2d67,
> -0x2d6f, 0x2d6f,
> -0x2d80, 0x2d96,
> -0x2da0, 0x2da6,
> -0x2da8, 0x2dae,
> -0x2db0, 0x2db6,
> -0x2db8, 0x2dbe,
> -0x2dc0, 0x2dc6,
> -0x2dc8, 0x2dce,
> -0x2dd0, 0x2dd6,
> -0x2dd8, 0x2dde,
> -0x2de0, 0x2dff,
> -0x2e2f, 0x2e2f,
> -0x3005, 0x3007,
> -0x3021, 0x3029,
> -0x3031, 0x3035,
> -0x3038, 0x303c,
> -0x3041, 0x3096,
> -0x309d, 0x309f,
> -0x30a1, 0x30fa,
> -0x30fc, 0x30ff,
> -0x3105, 0x312f,
> -0x3131, 0x318e,
> -0x31a0, 0x31ba,
> -0x31f0, 0x31ff,
> -0x3400, 0x4db5,
> -0x4e00, 0x9fef,
> -0xa000, 0xa48c,
> -0xa4d0, 0xa4fd,
> -0xa500, 0xa60c,
> -0xa610, 0xa62b,
> -0xa640, 0xa66e,
> -0xa674, 0xa67b,
> -0xa67f, 0xa6ef,
> -0xa717, 0xa71f,
> -0xa722, 0xa788,
> -0xa78b, 0xa7bf,
> -0xa7c2, 0xa7c6,
> -0xa7f7, 0xa805,
> -0xa807, 0xa827,
> -0xa840, 0xa873,
> -0xa880, 0xa8c3,
> -0xa8c5, 0xa8c5,
> -0xa8d0, 0xa8d9,
> -0xa8f2, 0xa8f7,
> -0xa8fb, 0xa8fb,
> -0xa8fd, 0xa92a,
> -0xa930, 0xa952,
> -0xa960, 0xa97c,
> -0xa980, 0xa9b2,
> -0xa9b4, 0xa9bf,
> -0xa9cf, 0xa9d9,
> -0xa9e0, 0xa9fe,
> -0xaa00, 0xaa36,
> -0xaa40, 0xaa4d,
> -0xaa50, 0xaa59,
> -0xaa60, 0xaa76,
> -0xaa7a, 0xaabe,
> -0xaac0, 0xaac0,
> -0xaac2, 0xaac2,
> -0xaadb, 0xaadd,
> -0xaae0, 0xaaef,
> -0xaaf2, 0xaaf5,
> -0xab01, 0xab06,
> -0xab09, 0xab0e,
> -0xab11, 0xab16,
> -0xab20, 0xab26,
> -0xab28, 0xab2e,
> -0xab30, 0xab5a,
> -0xab5c, 0xab67,
> -0xab70, 0xabea,
> -0xabf0, 0xabf9,
> -0xac00, 0xd7a3,
> -0xd7b0, 0xd7c6,
> -0xd7cb, 0xd7fb,
> -0xf900, 0xfa6d,
> -0xfa70, 0xfad9,
> -0xfb00, 0xfb06,
> -0xfb13, 0xfb17,
> -0xfb1d, 0xfb28,
> -0xfb2a, 0xfb36,
> -0xfb38, 0xfb3c,
> -0xfb3e, 0xfb3e,
> -0xfb40, 0xfb41,
> -0xfb43, 0xfb44,
> -0xfb46, 0xfbb1,
> -0xfbd3, 0xfd3d,
> -0xfd50, 0xfd8f,
> -0xfd92, 0xfdc7,
> -0xfdf0, 0xfdfb,
> -0xfe70, 0xfe74,
> -0xfe76, 0xfefc,
> -0xff10, 0xff19,
> -0xff21, 0xff3a,
> -0xff41, 0xff5a,
> -0xff66, 0xffbe,
> -0xffc2, 0xffc7,
> -0xffca, 0xffcf,
> -0xffd2, 0xffd7,
> -0xffda, 0xffdc,
> -0x10000, 0x1000b,
> -0x1000d, 0x10026,
> -0x10028, 0x1003a,
> -0x1003c, 0x1003d,
> -0x1003f, 0x1004d,
> -0x10050, 0x1005d,
> -0x10080, 0x100fa,
> -0x10140, 0x10174,
> -0x10280, 0x1029c,
> -0x102a0, 0x102d0,
> -0x10300, 0x1031f,
> -0x1032d, 0x1034a,
> -0x10350, 0x1037a,
> -0x10380, 0x1039d,
> -0x103a0, 0x103c3,
> -0x103c8, 0x103cf,
> -0x103d1, 0x103d5,
> -0x10400, 0x1049d,
> -0x104a0, 0x104a9,
> -0x104b0, 0x104d3,
> -0x104d8, 0x104fb,
> -0x10500, 0x10527,
> -0x10530, 0x10563,
> -0x10600, 0x10736,
> -0x10740, 0x10755,
> -0x10760, 0x10767,
> -0x10800, 0x10805,
> -0x10808, 0x10808,
> -0x1080a, 0x10835,
> -0x10837, 0x10838,
> -0x1083c, 0x1083c,
> -0x1083f, 0x10855,
> -0x10860, 0x10876,
> -0x10880, 0x1089e,
> -0x108e0, 0x108f2,
> -0x108f4, 0x108f5,
> -0x10900, 0x10915,
> -0x10920, 0x10939,
> -0x10980, 0x109b7,
> -0x109be, 0x109bf,
> -0x10a00, 0x10a03,
> -0x10a05, 0x10a06,
> -0x10a0c, 0x10a13,
> -0x10a15, 0x10a17,
> -0x10a19, 0x10a35,
> -0x10a60, 0x10a7c,
> -0x10a80, 0x10a9c,
> -0x10ac0, 0x10ac7,
> -0x10ac9, 0x10ae4,
> -0x10b00, 0x10b35,
> -0x10b40, 0x10b55,
> -0x10b60, 0x10b72,
> -0x10b80, 0x10b91,
> -0x10c00, 0x10c48,
> -0x10c80, 0x10cb2,
> -0x10cc0, 0x10cf2,
> -0x10d00, 0x10d27,
> -0x10d30, 0x10d39,
> -0x10f00, 0x10f1c,
> -0x10f27, 0x10f27,
> -0x10f30, 0x10f45,
> -0x10fe0, 0x10ff6,
> -0x11000, 0x11045,
> -0x11066, 0x1106f,
> -0x11082, 0x110b8,
> -0x110d0, 0x110e8,
> -0x110f0, 0x110f9,
> -0x11100, 0x11132,
> -0x11136, 0x1113f,
> -0x11144, 0x11146,
> -0x11150, 0x11172,
> -0x11176, 0x11176,
> -0x11180, 0x111bf,
> -0x111c1, 0x111c4,
> -0x111d0, 0x111da,
> -0x111dc, 0x111dc,
> -0x11200, 0x11211,
> -0x11213, 0x11234,
> -0x11237, 0x11237,
> -0x1123e, 0x1123e,
> -0x11280, 0x11286,
> -0x11288, 0x11288,
> -0x1128a, 0x1128d,
> -0x1128f, 0x1129d,
> -0x1129f, 0x112a8,
> -0x112b0, 0x112e8,
> -0x112f0, 0x112f9,
> -0x11300, 0x11303,
> -0x11305, 0x1130c,
> -0x1130f, 0x11310,
> -0x11313, 0x11328,
> -0x1132a, 0x11330,
> -0x11332, 0x11333,
> -0x11335, 0x11339,
> -0x1133d, 0x11344,
> -0x11347, 0x11348,
> -0x1134b, 0x1134c,
> -0x11350, 0x11350,
> -0x11357, 0x11357,
> -0x1135d, 0x11363,
> -0x11400, 0x11441,
> -0x11443, 0x11445,
> -0x11447, 0x1144a,
> -0x11450, 0x11459,
> -0x1145f, 0x1145f,
> -0x11480, 0x114c1,
> -0x114c4, 0x114c5,
> -0x114c7, 0x114c7,
> -0x114d0, 0x114d9,
> -0x11580, 0x115b5,
> -0x115b8, 0x115be,
> -0x115d8, 0x115dd,
> -0x11600, 0x1163e,
> -0x11640, 0x11640,
> -0x11644, 0x11644,
> -0x11650, 0x11659,
> -0x11680, 0x116b5,
> -0x116b8, 0x116b8,
> -0x116c0, 0x116c9,
> -0x11700, 0x1171a,
> -0x1171d, 0x1172a,
> -0x11730, 0x11739,
> -0x11800, 0x11838,
> -0x118a0, 0x118e9,
> -0x118ff, 0x118ff,
> -0x119a0, 0x119a7,
> -0x119aa, 0x119d7,
> -0x119da, 0x119df,
> -0x119e1, 0x119e1,
> -0x119e3, 0x119e4,
> -0x11a00, 0x11a32,
> -0x11a35, 0x11a3e,
> -0x11a50, 0x11a97,
> -0x11a9d, 0x11a9d,
> -0x11ac0, 0x11af8,
> -0x11c00, 0x11c08,
> -0x11c0a, 0x11c36,
> -0x11c38, 0x11c3e,
> -0x11c40, 0x11c40,
> -0x11c50, 0x11c59,
> -0x11c72, 0x11c8f,
> -0x11c92, 0x11ca7,
> -0x11ca9, 0x11cb6,
> -0x11d00, 0x11d06,
> -0x11d08, 0x11d09,
> -0x11d0b, 0x11d36,
> -0x11d3a, 0x11d3a,
> -0x11d3c, 0x11d3d,
> -0x11d3f, 0x11d41,
> -0x11d43, 0x11d43,
> -0x11d46, 0x11d47,
> -0x11d50, 0x11d59,
> -0x11d60, 0x11d65,
> -0x11d67, 0x11d68,
> -0x11d6a, 0x11d8e,
> -0x11d90, 0x11d91,
> -0x11d93, 0x11d96,
> -0x11d98, 0x11d98,
> -0x11da0, 0x11da9,
> -0x11ee0, 0x11ef6,
> -0x12000, 0x12399,
> -0x12400, 0x1246e,
> -0x12480, 0x12543,
> -0x13000, 0x1342e,
> -0x14400, 0x14646,
> -0x16800, 0x16a38,
> -0x16a40, 0x16a5e,
> -0x16a60, 0x16a69,
> -0x16ad0, 0x16aed,
> -0x16b00, 0x16b2f,
> -0x16b40, 0x16b43,
> -0x16b50, 0x16b59,
> -0x16b63, 0x16b77,
> -0x16b7d, 0x16b8f,
> -0x16e40, 0x16e7f,
> -0x16f00, 0x16f4a,
> -0x16f4f, 0x16f87,
> -0x16f8f, 0x16f9f,
> -0x16fe0, 0x16fe1,
> -0x16fe3, 0x16fe3,
> -0x17000, 0x187f7,
> -0x18800, 0x18af2,
> -0x1b000, 0x1b11e,
> -0x1b150, 0x1b152,
> -0x1b164, 0x1b167,
> -0x1b170, 0x1b2fb,
> -0x1bc00, 0x1bc6a,
> -0x1bc70, 0x1bc7c,
> -0x1bc80, 0x1bc88,
> -0x1bc90, 0x1bc99,
> -0x1bc9e, 0x1bc9e,
> -0x1d400, 0x1d454,
> -0x1d456, 0x1d49c,
> -0x1d49e, 0x1d49f,
> -0x1d4a2, 0x1d4a2,
> -0x1d4a5, 0x1d4a6,
> -0x1d4a9, 0x1d4ac,
> -0x1d4ae, 0x1d4b9,
> -0x1d4bb, 0x1d4bb,
> -0x1d4bd, 0x1d4c3,
> -0x1d4c5, 0x1d505,
> -0x1d507, 0x1d50a,
> -0x1d50d, 0x1d514,
> -0x1d516, 0x1d51c,
> -0x1d51e, 0x1d539,
> -0x1d53b, 0x1d53e,
> -0x1d540, 0x1d544,
> -0x1d546, 0x1d546,
> -0x1d54a, 0x1d550,
> -0x1d552, 0x1d6a5,
> -0x1d6a8, 0x1d6c0,
> -0x1d6c2, 0x1d6da,
> -0x1d6dc, 0x1d6fa,
> -0x1d6fc, 0x1d714,
> -0x1d716, 0x1d734,
> -0x1d736, 0x1d74e,
> -0x1d750, 0x1d76e,
> -0x1d770, 0x1d788,
> -0x1d78a, 0x1d7a8,
> -0x1d7aa, 0x1d7c2,
> -0x1d7c4, 0x1d7cb,
> -0x1d7ce, 0x1d7ff,
> -0x1e000, 0x1e006,
> -0x1e008, 0x1e018,
> -0x1e01b, 0x1e021,
> -0x1e023, 0x1e024,
> -0x1e026, 0x1e02a,
> -0x1e100, 0x1e12c,
> -0x1e137, 0x1e13d,
> -0x1e140, 0x1e149,
> -0x1e14e, 0x1e14e,
> -0x1e2c0, 0x1e2eb,
> -0x1e2f0, 0x1e2f9,
> -0x1e800, 0x1e8c4,
> -0x1e900, 0x1e943,
> -0x1e947, 0x1e947,
> -0x1e94b, 0x1e94b,
> -0x1e950, 0x1e959,
> -0x1ee00, 0x1ee03,
> -0x1ee05, 0x1ee1f,
> -0x1ee21, 0x1ee22,
> -0x1ee24, 0x1ee24,
> -0x1ee27, 0x1ee27,
> -0x1ee29, 0x1ee32,
> -0x1ee34, 0x1ee37,
> -0x1ee39, 0x1ee39,
> -0x1ee3b, 0x1ee3b,
> -0x1ee42, 0x1ee42,
> -0x1ee47, 0x1ee47,
> -0x1ee49, 0x1ee49,
> -0x1ee4b, 0x1ee4b,
> -0x1ee4d, 0x1ee4f,
> -0x1ee51, 0x1ee52,
> -0x1ee54, 0x1ee54,
> -0x1ee57, 0x1ee57,
> -0x1ee59, 0x1ee59,
> -0x1ee5b, 0x1ee5b,
> -0x1ee5d, 0x1ee5d,
> -0x1ee5f, 0x1ee5f,
> -0x1ee61, 0x1ee62,
> -0x1ee64, 0x1ee64,
> -0x1ee67, 0x1ee6a,
> -0x1ee6c, 0x1ee72,
> -0x1ee74, 0x1ee77,
> -0x1ee79, 0x1ee7c,
> -0x1ee7e, 0x1ee7e,
> -0x1ee80, 0x1ee89,
> -0x1ee8b, 0x1ee9b,
> -0x1eea1, 0x1eea3,
> -0x1eea5, 0x1eea9,
> -0x1eeab, 0x1eebb,
> -0x1f130, 0x1f149,
> -0x1f150, 0x1f169,
> -0x1f170, 0x1f189,
> -0x20000, 0x2a6d6,
> -0x2a700, 0x2b734,
> -0x2b740, 0x2b81d,
> -0x2b820, 0x2cea1,
> -0x2ceb0, 0x2ebe0,
> -0x2f800, 0x2fa1d,
> -}; /* END of CR_Alnum */
> -
> -/* PROPERTY: 'ASCII': POSIX [[:ASCII:]] */
> -static const OnigCodePoint
> -CR_ASCII[] = { 1,
> -0x0000, 0x007f,
> -}; /* END of CR_ASCII */
> -
> -
> -static const OnigCodePoint*
> -const CodeRanges[] = {
> -  CR_NEWLINE,
> -  CR_Alpha,
> -  CR_Blank,
> -  CR_Cntrl,
> -  CR_Digit,
> -  CR_Graph,
> -  CR_Lower,
> -  CR_Print,
> -  CR_Punct,
> -  CR_Space,
> -  CR_Upper,
> -  CR_XDigit,
> -  CR_Word,
> -  CR_Alnum,
> -  CR_ASCII,
> -};
> -
> -#define pool_offset(s) offsetof(struct unicode_prop_name_pool_t,
> unicode_prop_name_pool_str##s)
> -
> -
> -#define TOTAL_KEYWORDS 15
> -#define MIN_WORD_LENGTH 4
> -#define MAX_WORD_LENGTH 7
> -#define MIN_HASH_VALUE 5
> -#define MAX_HASH_VALUE 19
> -/* maximum key range = 15, duplicates = 0 */
> -
> -#ifndef GPERF_DOWNCASE
> -#define GPERF_DOWNCASE 1
> -static unsigned char gperf_downcase[256] =
> -  {
> -      0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,  13,  14,
> -     15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
> -     30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
> -     45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
> -     60,  61,  62,  63,  64,  97,  98,  99, 100, 101, 102, 103, 104, 105, 106,
> -    107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
> -    122,  91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103, 104,
> -    105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
> -    120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
> -    135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
> -    150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
> -    165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
> -    180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
> -    195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
> -    210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
> -    225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
> -    240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
> -    255
> -  };
> -#endif
> -
> -#ifndef GPERF_CASE_STRNCMP
> -#define GPERF_CASE_STRNCMP 1
> -static int
> -gperf_case_strncmp (register const char *s1, register const char *s2,
> register size_t n)
> -{
> -  for (; n > 0;)
> -    {
> -      unsigned char c1 = gperf_downcase[(unsigned char)*s1++];
> -      unsigned char c2 = gperf_downcase[(unsigned char)*s2++];
> -      if (c1 != 0 && c1 == c2)
> -        {
> -          n--;
> -          continue;
> -        }
> -      return (int)c1 - (int)c2;
> -    }
> -  return 0;
> -}
> -#endif
> -
> -#ifdef __GNUC__
> -__inline
> -#else
> -#ifdef __cplusplus
> -inline
> -#endif
> -#endif
> -static unsigned int
> -hash (register const char *str, register size_t len)
> -{
> -  static const unsigned char asso_values[] =
> -    {
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20,  2, 12,  5,  3, 20,
> -      20, 10, 20,  0, 20, 20,  9, 20,  1, 20,
> -       0, 20,  9,  7,  3,  6, 20,  2,  3, 20,
> -      20, 20, 20, 20, 20, 20, 20,  2, 12,  5,
> -       3, 20, 20, 10, 20,  0, 20, 20,  9, 20,
> -       1, 20,  0, 20,  9,  7,  3,  6, 20,  2,
> -       3, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
> -      20, 20, 20, 20, 20, 20
> -    };
> -  return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned
> char)str[0]];
> -}
> -
> -struct unicode_prop_name_pool_t
> -  {
> -    char unicode_prop_name_pool_str5[sizeof("print")];
> -    char unicode_prop_name_pool_str6[sizeof("punct")];
> -    char unicode_prop_name_pool_str7[sizeof("alpha")];
> -    char unicode_prop_name_pool_str8[sizeof("alnum")];
> -    char unicode_prop_name_pool_str9[sizeof("xdigit")];
> -    char unicode_prop_name_pool_str10[sizeof("newline")];
> -    char unicode_prop_name_pool_str11[sizeof("upper")];
> -    char unicode_prop_name_pool_str12[sizeof("ascii")];
> -    char unicode_prop_name_pool_str13[sizeof("cntrl")];
> -    char unicode_prop_name_pool_str14[sizeof("space")];
> -    char unicode_prop_name_pool_str15[sizeof("word")];
> -    char unicode_prop_name_pool_str16[sizeof("lower")];
> -    char unicode_prop_name_pool_str17[sizeof("graph")];
> -    char unicode_prop_name_pool_str18[sizeof("digit")];
> -    char unicode_prop_name_pool_str19[sizeof("blank")];
> -  };
> -static const struct unicode_prop_name_pool_t
> unicode_prop_name_pool_contents =
> -  {
> -    "print",
> -    "punct",
> -    "alpha",
> -    "alnum",
> -    "xdigit",
> -    "newline",
> -    "upper",
> -    "ascii",
> -    "cntrl",
> -    "space",
> -    "word",
> -    "lower",
> -    "graph",
> -    "digit",
> -    "blank"
> -  };
> -#define unicode_prop_name_pool ((const char *)
> &unicode_prop_name_pool_contents)
> -static const struct PoolPropertyNameCtype *
> -unicode_lookup_property_name (register const char *str, register size_t
> len)
> -{
> -  static const struct PoolPropertyNameCtype wordlist[] =
> -    {
> -      {-1}, {-1}, {-1}, {-1}, {-1},
> -
> -      {pool_offset(5),                                7},
> -
> -      {pool_offset(6),                                8},
> -
> -      {pool_offset(7),                                1},
> -
> -      {pool_offset(8),                               13},
> -
> -      {pool_offset(9),                              11},
> -
> -      {pool_offset(10),                              0},
> -
> -      {pool_offset(11),                               10},
> -
> -      {pool_offset(12),                               14},
> -
> -      {pool_offset(13),                                3},
> -
> -      {pool_offset(14),                                9},
> -
> -      {pool_offset(15),                                12},
> -
> -      {pool_offset(16),                                6},
> -
> -      {pool_offset(17),                                5},
> -
> -      {pool_offset(18),                                4},
> -
> -      {pool_offset(19),                                2}
> -    };
> -
> -  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
> -    {
> -      register unsigned int key = hash (str, len);
> -
> -      if (key <= MAX_HASH_VALUE)
> -        {
> -          register int o = wordlist[key].name;
> -          if (o >= 0)
> -            {
> -              register const char *s = o + unicode_prop_name_pool;
> -
> -              if ((((unsigned char)*str ^ (unsigned char)*s) & ~32) == 0
> && !gperf_case_strncmp (str, s, len) && s[len] == '\0')
> -                return &wordlist[key];
> -            }
> -        }
> -    }
> -  return 0;
> -}
> -
> -
> -
> -#define PROPERTY_NAME_MAX_SIZE  17
> -#define CODE_RANGES_NUM         15
> -
> -#define PROP_INDEX_NEWLINE 0
> -#define PROP_INDEX_ALPHA 1
> -#define PROP_INDEX_BLANK 2
> -#define PROP_INDEX_CNTRL 3
> -#define PROP_INDEX_DIGIT 4
> -#define PROP_INDEX_GRAPH 5
> -#define PROP_INDEX_LOWER 6
> -#define PROP_INDEX_PRINT 7
> -#define PROP_INDEX_PUNCT 8
> -#define PROP_INDEX_SPACE 9
> -#define PROP_INDEX_UPPER 10
> -#define PROP_INDEX_XDIGIT 11
> -#define PROP_INDEX_WORD 12
> -#define PROP_INDEX_ALNUM 13
> -#define PROP_INDEX_ASCII 14
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_un
> fold_key.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_u
> nfold_key.c
> deleted file mode 100644
> index 1f03b21cfe54..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_un
> fold_key.c
> +++ /dev/null
> @@ -1,3299 +0,0 @@
> -/* This file was converted by gperf_unfold_key_conv.py
> -      from gperf output file. */
> -/* ANSI-C code produced by gperf version 3.1 */
> -/* Command-line: /usr/local/bin/gperf -n -C -T -c -t -j1 -L ANSI-C -F,-1,0 -N
> onigenc_unicode_unfold_key unicode_unfold_key.gperf  */
> -/* Computed positions: -k'1-3' */
> -
> -
> -
> -/* This gperf source file was generated by make_unicode_fold_data.py */
> -
> -/*-
> - * Copyright (c) 2017-2018  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -//#include <string.h>
> -#include "regenc.h"
> -
> -#define TOTAL_KEYWORDS 1487
> -#define MIN_WORD_LENGTH 3
> -#define MAX_WORD_LENGTH 3
> -#define MIN_HASH_VALUE 10
> -#define MAX_HASH_VALUE 1958
> -/* maximum key range = 1949, duplicates = 0 */
> -
> -#ifdef __GNUC__
> -__inline
> -#else
> -#ifdef __cplusplus
> -inline
> -#endif
> -#endif
> -/*ARGSUSED*/
> -static unsigned int
> -hash(OnigCodePoint codes[])
> -{
> -  static const unsigned short asso_values[] =
> -    {
> -         9,    5,    2,  111,  176,    1,  110, 1959, 1959, 1959,
> -      1959, 1959, 1959,   13, 1959, 1959, 1959,   77, 1959, 1959,
> -        63, 1959, 1959, 1959, 1959,   86, 1959, 1959, 1959,    7,
> -      1959,    0,    3, 1959,  191,  624, 1536,  132, 1519,  613,
> -      1513,  607, 1602,  586, 1505,    4, 1497,  570, 1492,  554,
> -      1482,  907, 1601,  898, 1469,  595, 1468,  405, 1463,  546,
> -      1458,  538, 1453,  474, 1444,  890, 1596,  877, 1419,  725,
> -      1590,  698, 1588,  635, 1160,  682, 1021,  338, 1122,  671,
> -       812,  559,  819, 1580,  756, 1082,  744, 1438,  637, 1428,
> -       266, 1429, 1502, 1285, 1440, 1578,  467, 1419,  873,  490,
> -      1380,  779,  731, 1057, 1261, 1034, 1567,  762, 1389,  495,
> -      1510,  156,  648,  805, 1537,  862, 1523,  853, 1469,  845,
> -      1252,  796,  342, 1297,  801, 1287,  542, 1408,  477, 1400,
> -       237, 1109,   20, 1099,  548, 1067,    1, 1280,  326, 1043,
> -       767, 1030,  756,  938,  598,  254,   26, 1275,  165, 1270,
> -       149, 1575,   15, 1368,  133, 1202,  625,  403,  408,  373,
> -       296, 1397,  283,  519, 1381,  503, 1372,   18,    6,  415,
> -      1253,  769,    8,  484, 1358,  658, 1565,  464,  427,  244,
> -      1241,  360, 1233,  390, 1350,  219,  377,  206, 1223,  328,
> -      1211,  145, 1198,  454,  135,   73, 1020,  103, 1012,   63,
> -       995,   53,  748,  196,  573,  116,  684,   93,  983,   83,
> -      1004,  182,  735,   31,  713,  319,  977,  306,  706,   44,
> -       836,  293, 1187,  280, 1135,  268,  671,  976, 1350,  447,
> -      1182,  437,  964,  946,  351,  932, 1349,  923, 1090, 1194,
> -      1175,  827, 1299, 1165, 1410, 1155, 1522, 1557,  313, 1146,
> -       424, 1136,  233, 1130,  161, 1316,   93,  167,  134,  618,
> -      1959, 1118,  128, 1342, 1959, 1335,  124, 1331,   75, 1327,
> -       191, 1308,   45, 1545, 1959, 1534,    1,  230,    9,  643,
> -         5, 1564,   40, 1553,   65,  531,   55,  993,   25, 1476,
> -         2
> -    };
> -  return asso_values[(unsigned char)onig_codes_byte_at(codes, 2)+35] +
> asso_values[(unsigned char)onig_codes_byte_at(codes, 1)+1] +
> asso_values[(unsigned char)onig_codes_byte_at(codes, 0)];
> -}
> -
> -const struct ByUnfoldKey *
> -onigenc_unicode_unfold_key(OnigCodePoint code)
> -{
> -  static const struct ByUnfoldKey wordlist[] =
> -    {
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -
> -      {0x1040a, 3441, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x01f1, 483, 1},
> -
> -      {0x1e0a, 1882, 1},
> -
> -      {0x040a, 1029, 1},
> -
> -      {0x010a, 186, 1},
> -
> -      {0x1f0a, 2243, 1},
> -
> -      {0x2c0a, 2606, 1},
> -
> -      {0x1f85, 154, 2},
> -
> -      {0x0189, 619, 1},
> -
> -      {0x1f89, 134, 2},
> -
> -      {0x1ff3, 96, 2},
> -
> -      {0x1c85, 954, 1},
> -
> -      {0xab85, 1663, 1},
> -
> -      {0x10c85, 3654, 1},
> -
> -      {0xab89, 1675, 1},
> -
> -      {0x10c89, 3666, 1},
> -
> -      {0x1e84, 2066, 1},
> -
> -      {0x2c75, 2738, 1},
> -
> -      {0x0184, 360, 1},
> -
> -      {0x1f84, 149, 2},
> -
> -      {0x2c84, 2747, 1},
> -
> -      {0xab75, 1615, 1},
> -
> -      {0xa784, 3261, 1},
> -
> -      {0x1c84, 954, 1},
> -
> -      {0xab84, 1660, 1},
> -
> -      {0x10c84, 3651, 1},
> -
> -      {0x104b2, 3537, 1},
> -
> -      {0x1f6f, 2378, 1},
> -
> -      {0x2c6f, 604, 1},
> -
> -      {0x1eb2, 2120, 1},
> -
> -      {0x04b2, 1159, 1},
> -
> -      {0x01b2, 700, 1},
> -
> -      {0x1fb2, 249, 2},
> -
> -      {0x2cb2, 2816, 1},
> -
> -      {0xa684, 3096, 1},
> -
> -      {0xa7b2, 709, 1},
> -
> -      {0x1cb2, 1564, 1},
> -
> -      {0xabb2, 1798, 1},
> -
> -      {0x10cb2, 3789, 1},
> -
> -      {0x104b8, 3555, 1},
> -
> -      {0x01f7, 414, 1},
> -
> -      {0x1ff7, 67, 3},
> -
> -      {0x1eb8, 2129, 1},
> -
> -      {0x04b8, 1168, 1},
> -
> -      {0x01b8, 408, 1},
> -
> -      {0x1fb8, 2423, 1},
> -
> -      {0x2cb8, 2825, 1},
> -
> -      {0x2ced, 2894, 1},
> -
> -      {0xa7b8, 3315, 1},
> -
> -      {0x1cb8, 1582, 1},
> -
> -      {0xabb8, 1816, 1},
> -
> -      {0x1ea6, 2102, 1},
> -
> -      {0x04a6, 1141, 1},
> -
> -      {0x01a6, 679, 1},
> -
> -      {0x1fa6, 239, 2},
> -
> -      {0x2ca6, 2798, 1},
> -
> -      {0x1ffb, 2420, 1},
> -
> -      {0xa7a6, 3303, 1},
> -
> -      {0x1ca6, 1528, 1},
> -
> -      {0xaba6, 1762, 1},
> -
> -      {0x10ca6, 3753, 1},
> -
> -      {0x1ea4, 2099, 1},
> -
> -      {0x04a4, 1138, 1},
> -
> -      {0x01a4, 390, 1},
> -
> -      {0x1fa4, 229, 2},
> -
> -      {0x2ca4, 2795, 1},
> -
> -      {0x1ff9, 2408, 1},
> -
> -      {0xa7a4, 3300, 1},
> -
> -      {0x1ca4, 1522, 1},
> -
> -      {0xaba4, 1756, 1},
> -
> -      {0x10ca4, 3747, 1},
> -
> -      {0x1ea0, 2093, 1},
> -
> -      {0x04a0, 1132, 1},
> -
> -      {0x01a0, 384, 1},
> -
> -      {0x1fa0, 209, 2},
> -
> -      {0x2ca0, 2789, 1},
> -
> -      {0x1fe9, 2438, 1},
> -
> -      {0xa7a0, 3294, 1},
> -
> -      {0x1ca0, 1510, 1},
> -
> -      {0xaba0, 1744, 1},
> -
> -      {0x10ca0, 3735, 1},
> -
> -      {0x1eae, 2114, 1},
> -
> -      {0x04ae, 1153, 1},
> -
> -      {0x01ae, 691, 1},
> -
> -      {0x1fae, 239, 2},
> -
> -      {0x2cae, 2810, 1},
> -
> -      {0x13fd, 1855, 1},
> -
> -      {0xa7ae, 655, 1},
> -
> -      {0x1cae, 1552, 1},
> -
> -      {0xabae, 1786, 1},
> -
> -      {0x10cae, 3777, 1},
> -
> -      {0x1eac, 2111, 1},
> -
> -      {0x04ac, 1150, 1},
> -
> -      {0x01ac, 396, 1},
> -
> -      {0x1fac, 229, 2},
> -
> -      {0x2cac, 2807, 1},
> -
> -      {0x00dd, 162, 1},
> -
> -      {0xa7ac, 637, 1},
> -
> -      {0x1cac, 1546, 1},
> -
> -      {0xabac, 1780, 1},
> -
> -      {0x10cac, 3771, 1},
> -
> -      {0x1ea2, 2096, 1},
> -
> -      {0x04a2, 1135, 1},
> -
> -      {0x01a2, 387, 1},
> -
> -      {0x1fa2, 219, 2},
> -
> -      {0x2ca2, 2792, 1},
> -
> -      {0x10b2, 2954, 1},
> -
> -      {0xa7a2, 3297, 1},
> -
> -      {0x1ca2, 1516, 1},
> -
> -      {0xaba2, 1750, 1},
> -
> -      {0x10ca2, 3741, 1},
> -
> -      {0x118b2, 3846, 1},
> -
> -      {0x050a, 1291, 1},
> -
> -      {0x020a, 517, 1},
> -
> -      {0x1eaa, 2108, 1},
> -
> -      {0x04aa, 1147, 1},
> -
> -      {0x13fb, 1849, 1},
> -
> -      {0x1faa, 219, 2},
> -
> -      {0x2caa, 2804, 1},
> -
> -      {0x10b8, 2972, 1},
> -
> -      {0xa7aa, 646, 1},
> -
> -      {0x1caa, 1540, 1},
> -
> -      {0xabaa, 1774, 1},
> -
> -      {0x10caa, 3765, 1},
> -
> -      {0x118b8, 3864, 1},
> -
> -      {0x1fe7, 47, 3},
> -
> -      {0x13f9, 1843, 1},
> -
> -      {0x10402, 3417, 1},
> -
> -      {0x10a6, 2918, 1},
> -
> -      {0x1fe3, 41, 3},
> -
> -      {0x1e02, 1870, 1},
> -
> -      {0x0402, 1005, 1},
> -
> -      {0x0102, 174, 1},
> -
> -      {0x118a6, 3810, 1},
> -
> -      {0x2c02, 2582, 1},
> -
> -      {0x019f, 673, 1},
> -
> -      {0x1f9f, 204, 2},
> -
> -      {0x00df, 24, 2},
> -
> -      {0x10a4, 2912, 1},
> -
> -      {0xab77, 1621, 1},
> -
> -      {0x1c9f, 1507, 1},
> -
> -      {0xab9f, 1741, 1},
> -
> -      {0x10c9f, 3732, 1},
> -
> -      {0x118a4, 3804, 1},
> -
> -      {0x049c, 1126, 1},
> -
> -      {0x019c, 664, 1},
> -
> -      {0x1f9c, 189, 2},
> -
> -      {0x2c9c, 2783, 1},
> -
> -      {0x10a0, 2900, 1},
> -
> -      {0xa79c, 3288, 1},
> -
> -      {0x1c9c, 1498, 1},
> -
> -      {0xab9c, 1732, 1},
> -
> -      {0x10c9c, 3723, 1},
> -
> -      {0x118a0, 3792, 1},
> -
> -      {0x1e4c, 1981, 1},
> -
> -      {0xab73, 1609, 1},
> -
> -      {0x014c, 279, 1},
> -
> -      {0x1f4c, 2339, 1},
> -
> -      {0x10ae, 2942, 1},
> -
> -      {0x004c, 31, 1},
> -
> -      {0xa74c, 3192, 1},
> -
> -      {0x01db, 450, 1},
> -
> -      {0x1fdb, 2402, 1},
> -
> -      {0x118ae, 3834, 1},
> -
> -      {0x00db, 156, 1},
> -
> -      {0x1ede, 2186, 1},
> -
> -      {0x04de, 1225, 1},
> -
> -      {0x01de, 456, 1},
> -
> -      {0x10ac, 2936, 1},
> -
> -      {0x2cde, 2882, 1},
> -
> -      {0x00de, 165, 1},
> -
> -      {0xab71, 1603, 1},
> -
> -      {0xa64c, 3039, 1},
> -
> -      {0x118ac, 3828, 1},
> -
> -      {0x24b8, 2504, 1},
> -
> -      {0x03f1, 802, 1},
> -
> -      {0x03ff, 730, 1},
> -
> -      {0x104b0, 3531, 1},
> -
> -      {0x10a2, 2906, 1},
> -
> -      {0x03f5, 758, 1},
> -
> -      {0x1eb0, 2117, 1},
> -
> -      {0x04b0, 1156, 1},
> -
> -      {0x0389, 739, 1},
> -
> -      {0x118a2, 3798, 1},
> -
> -      {0x2cb0, 2813, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa7b0, 712, 1},
> -
> -      {0x1cb0, 1558, 1},
> -
> -      {0xabb0, 1792, 1},
> -
> -      {0x10cb0, 3783, 1},
> -
> -      {0x2165, 2462, 1},
> -
> -      {0x10aa, 2930, 1},
> -
> -      {0x1feb, 2414, 1},
> -
> -      {0x2ceb, 2891, 1},
> -
> -      {0x1ea8, 2105, 1},
> -
> -      {0x04a8, 1144, 1},
> -
> -      {0x118aa, 3822, 1},
> -
> -      {0x1fa8, 209, 2},
> -
> -      {0x2ca8, 2801, 1},
> -
> -      {0x03fd, 724, 1},
> -
> -      {0xa7a8, 3306, 1},
> -
> -      {0x1ca8, 1534, 1},
> -
> -      {0xaba8, 1768, 1},
> -
> -      {0x10ca8, 3759, 1},
> -
> -      {0x1e98, 38, 2},
> -
> -      {0x0498, 1120, 1},
> -
> -      {0x0198, 375, 1},
> -
> -      {0x1f98, 169, 2},
> -
> -      {0x2c98, 2777, 1},
> -
> -      {0x2161, 2450, 1},
> -
> -      {0xa798, 3282, 1},
> -
> -      {0x1c98, 1486, 1},
> -
> -      {0xab98, 1720, 1},
> -
> -      {0x10c98, 3711, 1},
> -
> -      {0x03f7, 890, 1},
> -
> -      {0x216f, 2492, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1e96, 16, 2},
> -
> -      {0x0496, 1117, 1},
> -
> -      {0x0196, 652, 1},
> -
> -      {0x1f96, 199, 2},
> -
> -      {0x2c96, 2774, 1},
> -
> -      {0xa698, 3126, 1},
> -
> -      {0xa796, 3279, 1},
> -
> -      {0x1c96, 1480, 1},
> -
> -      {0xab96, 1714, 1},
> -
> -      {0x10c96, 3705, 1},
> -
> -      {0x03a6, 816, 1},
> -
> -      {0x1ef2, 2216, 1},
> -
> -      {0x04f2, 1255, 1},
> -
> -      {0x01f2, 483, 1},
> -
> -      {0x1ff2, 257, 2},
> -
> -      {0x2cf2, 2897, 1},
> -
> -      {0x01d9, 447, 1},
> -
> -      {0x1fd9, 2432, 1},
> -
> -      {0xa696, 3123, 1},
> -
> -      {0x00d9, 150, 1},
> -
> -      {0x03a4, 810, 1},
> -
> -      {0x1f5f, 2354, 1},
> -
> -      {0x03f9, 884, 1},
> -
> -      {0x0502, 1279, 1},
> -
> -      {0x0202, 505, 1},
> -
> -      {0x1e90, 2084, 1},
> -
> -      {0x0490, 1108, 1},
> -
> -      {0x0190, 628, 1},
> -
> -      {0x1f90, 169, 2},
> -
> -      {0x2c90, 2765, 1},
> -
> -      {0x03a0, 798, 1},
> -
> -      {0xa790, 3270, 1},
> -
> -      {0x1c90, 1462, 1},
> -
> -      {0xab90, 1696, 1},
> -
> -      {0x10c90, 3687, 1},
> -
> -      {0x1e6e, 2033, 1},
> -
> -      {0x046e, 1069, 1},
> -
> -      {0x016e, 330, 1},
> -
> -      {0x1f6e, 2375, 1},
> -
> -      {0x2c6e, 667, 1},
> -
> -      {0x10b0, 2948, 1},
> -
> -      {0xa76e, 3243, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa690, 3114, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x118b0, 3840, 1},
> -
> -      {0x104be, 3573, 1},
> -
> -      {0x054c, 1429, 1},
> -
> -      {0x024c, 598, 1},
> -
> -      {0x1ebe, 2138, 1},
> -
> -      {0x04be, 1177, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1fbe, 773, 1},
> -
> -      {0x2cbe, 2834, 1},
> -
> -      {0x10a8, 2924, 1},
> -
> -      {0xa7be, 3324, 1},
> -
> -      {0x1cbe, 1594, 1},
> -
> -      {0xabbe, 1834, 1},
> -
> -      {0x104bc, 3567, 1},
> -
> -      {0x118a8, 3816, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1ebc, 2135, 1},
> -
> -      {0x04bc, 1174, 1},
> -
> -      {0x01bc, 411, 1},
> -
> -      {0x1fbc, 62, 2},
> -
> -      {0x2cbc, 2831, 1},
> -
> -      {0x017f, 52, 1},
> -
> -      {0xa7bc, 3321, 1},
> -
> -      {0x2c7f, 583, 1},
> -
> -      {0xabbc, 1828, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x104ba, 3561, 1},
> -
> -      {0xab7f, 1645, 1},
> -
> -      {0x03aa, 830, 1},
> -
> -      {0x1eba, 2132, 1},
> -
> -      {0x04ba, 1171, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1fba, 2381, 1},
> -
> -      {0x2cba, 2828, 1},
> -
> -      {0x017d, 351, 1},
> -
> -      {0xa7ba, 3318, 1},
> -
> -      {0x1cba, 1588, 1},
> -
> -      {0xabba, 1822, 1},
> -
> -      {0xa77d, 1858, 1},
> -
> -      {0x104b6, 3549, 1},
> -
> -      {0xab7d, 1639, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1eb6, 2126, 1},
> -
> -      {0x04b6, 1165, 1},
> -
> -      {0x16e4c, 3924, 1},
> -
> -      {0x1fb6, 58, 2},
> -
> -      {0x2cb6, 2822, 1},
> -
> -      {0x039f, 795, 1},
> -
> -      {0xa7b6, 3312, 1},
> -
> -      {0x1cb6, 1576, 1},
> -
> -      {0xabb6, 1810, 1},
> -
> -      {0x01d5, 441, 1},
> -
> -      {0x104b4, 3543, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x00d5, 141, 1},
> -
> -      {0x1eb4, 2123, 1},
> -
> -      {0x04b4, 1162, 1},
> -
> -      {0x039c, 785, 1},
> -
> -      {0x1fb4, 50, 2},
> -
> -      {0x2cb4, 2819, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa7b4, 3309, 1},
> -
> -      {0x1cb4, 1570, 1},
> -
> -      {0xabb4, 1804, 1},
> -
> -      {0x1e9a, 0, 2},
> -
> -      {0x049a, 1123, 1},
> -
> -      {0x2c67, 2726, 1},
> -
> -      {0x1f9a, 179, 2},
> -
> -      {0x2c9a, 2780, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa79a, 3285, 1},
> -
> -      {0x1c9a, 1492, 1},
> -
> -      {0xab9a, 1726, 1},
> -
> -      {0x10c9a, 3717, 1},
> -
> -      {0x1e2a, 1930, 1},
> -
> -      {0x042a, 980, 1},
> -
> -      {0x012a, 234, 1},
> -
> -      {0x1f2a, 2285, 1},
> -
> -      {0x2c2a, 2702, 1},
> -
> -      {0x03de, 857, 1},
> -
> -      {0xa72a, 3144, 1},
> -
> -      {0x10be, 2990, 1},
> -
> -      {0xa69a, 3129, 1},
> -
> -      {0x0057, 65, 1},
> -
> -      {0x104c7, 3600, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x118be, 3882, 1},
> -
> -      {0x1e90a, 4014, 1},
> -
> -      {0x04c7, 1189, 1},
> -
> -      {0x01c7, 421, 1},
> -
> -      {0x1fc7, 15, 3},
> -      {0xffffffff, -1, 0},
> -
> -      {0x00c7, 99, 1},
> -
> -      {0x10bc, 2984, 1},
> -
> -      {0x03b0, 41, 3},
> -
> -      {0xff37, 3399, 1},
> -
> -      {0x1e92, 2087, 1},
> -
> -      {0x0492, 1111, 1},
> -
> -      {0x118bc, 3876, 1},
> -
> -      {0x1f92, 179, 2},
> -
> -      {0x2c92, 2768, 1},
> -
> -      {0xfb02, 12, 2},
> -
> -      {0xa792, 3273, 1},
> -
> -      {0x1c92, 1468, 1},
> -
> -      {0xab92, 1702, 1},
> -
> -      {0x10c92, 3693, 1},
> -
> -      {0x10ba, 2978, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x03a8, 823, 1},
> -
> -      {0x1e7c, 2054, 1},
> -
> -      {0x047c, 1090, 1},
> -
> -      {0x118ba, 3870, 1},
> -
> -      {0x0537, 1366, 1},
> -
> -      {0x1e97, 34, 2},
> -
> -      {0xa692, 3117, 1},
> -
> -      {0x0197, 649, 1},
> -
> -      {0x1f97, 204, 2},
> -
> -      {0xab7c, 1636, 1},
> -
> -      {0x0398, 768, 1},
> -
> -      {0x10b6, 2966, 1},
> -
> -      {0x1c97, 1483, 1},
> -
> -      {0xab97, 1717, 1},
> -
> -      {0x10c97, 3708, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x118b6, 3858, 1},
> -
> -      {0x16e5f, 3981, 1},
> -
> -      {0x1e94, 2090, 1},
> -
> -      {0x0494, 1114, 1},
> -
> -      {0x0194, 640, 1},
> -
> -      {0x1f94, 189, 2},
> -
> -      {0x2c94, 2771, 1},
> -
> -      {0x0396, 762, 1},
> -
> -      {0x10b4, 2960, 1},
> -
> -      {0x1c94, 1474, 1},
> -
> -      {0xab94, 1708, 1},
> -
> -      {0x10c94, 3699, 1},
> -
> -      {0x24be, 2522, 1},
> -
> -      {0x118b4, 3852, 1},
> -
> -      {0x10416, 3477, 1},
> -
> -      {0x1e7a, 2051, 1},
> -
> -      {0x047a, 1087, 1},
> -
> -      {0x1e16, 1900, 1},
> -
> -      {0x0416, 916, 1},
> -
> -      {0x0116, 204, 1},
> -
> -      {0xa694, 3120, 1},
> -
> -      {0x2c16, 2642, 1},
> -
> -      {0x017b, 348, 1},
> -
> -      {0xab7a, 1630, 1},
> -
> -      {0x24bc, 2516, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa77b, 3249, 1},
> -
> -      {0x1e86, 2069, 1},
> -
> -      {0xab7b, 1633, 1},
> -
> -      {0x0186, 616, 1},
> -
> -      {0x1f86, 159, 2},
> -
> -      {0x2c86, 2750, 1},
> -
> -      {0x0390, 25, 3},
> -
> -      {0xa786, 3264, 1},
> -
> -      {0x1c86, 980, 1},
> -
> -      {0xab86, 1666, 1},
> -
> -      {0x10c86, 3657, 1},
> -
> -      {0x24ba, 2510, 1},
> -
> -      {0x01d7, 444, 1},
> -
> -      {0x1fd7, 31, 3},
> -
> -      {0x10c7, 3014, 1},
> -
> -      {0x018f, 625, 1},
> -
> -      {0x1f8f, 164, 2},
> -
> -      {0xff2a, 3360, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa686, 3099, 1},
> -
> -      {0x104c4, 3591, 1},
> -
> -      {0xab8f, 1693, 1},
> -
> -      {0x10c8f, 3684, 1},
> -
> -      {0x1ec4, 2147, 1},
> -
> -      {0x24b6, 2498, 1},
> -
> -      {0x01c4, 417, 1},
> -
> -      {0x1fc4, 54, 2},
> -
> -      {0x2cc4, 2843, 1},
> -
> -      {0x00c4, 89, 1},
> -
> -      {0xa7c4, 3276, 1},
> -
> -      {0x104c2, 3585, 1},
> -
> -      {0x216e, 2489, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1ec2, 2144, 1},
> -
> -      {0x052a, 1339, 1},
> -
> -      {0x022a, 562, 1},
> -
> -      {0x1fc2, 253, 2},
> -
> -      {0x2cc2, 2840, 1},
> -
> -      {0x00c2, 83, 1},
> -
> -      {0xa7c2, 3327, 1},
> -
> -      {0x1e9e, 24, 2},
> -
> -      {0x049e, 1129, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1f9e, 199, 2},
> -
> -      {0x2c9e, 2786, 1},
> -
> -      {0x037f, 887, 1},
> -
> -      {0xa79e, 3291, 1},
> -
> -      {0x1c9e, 1504, 1},
> -
> -      {0xab9e, 1738, 1},
> -
> -      {0x10c9e, 3729, 1},
> -
> -      {0x1e8e, 2081, 1},
> -
> -      {0x048e, 1105, 1},
> -
> -      {0x018e, 453, 1},
> -
> -      {0x1f8e, 159, 2},
> -
> -      {0x2c8e, 2762, 1},
> -
> -      {0x013d, 258, 1},
> -
> -      {0x1f3d, 2318, 1},
> -
> -      {0x1041c, 3495, 1},
> -
> -      {0xab8e, 1690, 1},
> -
> -      {0x10c8e, 3681, 1},
> -
> -      {0x1e1c, 1909, 1},
> -
> -      {0x041c, 934, 1},
> -
> -      {0x011c, 213, 1},
> -
> -      {0x1f1c, 2273, 1},
> -
> -      {0x2c1c, 2660, 1},
> -
> -      {0x1e902, 3990, 1},
> -
> -      {0x1f5d, 2351, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa68e, 3111, 1},
> -
> -      {0x24c7, 2549, 1},
> -
> -      {0x1e8a, 2075, 1},
> -
> -      {0x048a, 1099, 1},
> -
> -      {0x018a, 622, 1},
> -
> -      {0x1f8a, 139, 2},
> -
> -      {0x2c8a, 2756, 1},
> -
> -      {0x03d5, 816, 1},
> -
> -      {0x1e40, 1963, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xab8a, 1678, 1},
> -
> -      {0x10c8a, 3669, 1},
> -
> -      {0x16e57, 3957, 1},
> -
> -      {0x1e4a, 1978, 1},
> -
> -      {0xa740, 3174, 1},
> -
> -      {0x014a, 276, 1},
> -
> -      {0x1f4a, 2333, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x004a, 24, 1},
> -
> -      {0xa74a, 3189, 1},
> -
> -      {0xa68a, 3105, 1},
> -
> -      {0x1e82, 2063, 1},
> -
> -      {0x039a, 778, 1},
> -
> -      {0x0182, 357, 1},
> -
> -      {0x1f82, 139, 2},
> -
> -      {0x2c82, 2744, 1},
> -
> -      {0xa640, 3020, 1},
> -
> -      {0xa782, 3258, 1},
> -
> -      {0x1c82, 940, 1},
> -
> -      {0xab82, 1654, 1},
> -
> -      {0x10c82, 3645, 1},
> -
> -      {0xa64a, 3035, 1},
> -
> -      {0x10c4, 3008, 1},
> -
> -      {0x0516, 1309, 1},
> -
> -      {0x0216, 535, 1},
> -
> -      {0x2167, 2468, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1e80, 2060, 1},
> -
> -      {0x0480, 1096, 1},
> -
> -      {0xa682, 3093, 1},
> -
> -      {0x1f80, 129, 2},
> -
> -      {0x2c80, 2741, 1},
> -
> -      {0x10c2, 3002, 1},
> -
> -      {0xa780, 3255, 1},
> -
> -      {0x1c80, 902, 1},
> -
> -      {0xab80, 1648, 1},
> -
> -      {0x10c80, 3639, 1},
> -
> -      {0x212a, 27, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1efa, 2228, 1},
> -
> -      {0x04fa, 1267, 1},
> -
> -      {0x01fa, 493, 1},
> -
> -      {0x1ffa, 2417, 1},
> -
> -      {0x1041a, 3489, 1},
> -
> -      {0x0392, 748, 1},
> -
> -      {0xa680, 3090, 1},
> -
> -      {0x1e1a, 1906, 1},
> -
> -      {0x041a, 928, 1},
> -
> -      {0x011a, 210, 1},
> -
> -      {0x1f1a, 2267, 1},
> -
> -      {0x2c1a, 2654, 1},
> -
> -      {0x10418, 3483, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1f5b, 2348, 1},
> -
> -      {0x1e18, 1903, 1},
> -
> -      {0x0418, 922, 1},
> -
> -      {0x0118, 207, 1},
> -
> -      {0x1f18, 2261, 1},
> -
> -      {0x2c18, 2648, 1},
> -
> -      {0x1040e, 3453, 1},
> -
> -      {0x2c63, 1861, 1},
> -
> -      {0x0397, 765, 1},
> -
> -      {0x1e0e, 1888, 1},
> -
> -      {0x040e, 1041, 1},
> -
> -      {0x010e, 192, 1},
> -
> -      {0x1f0e, 2255, 1},
> -
> -      {0x2c0e, 2618, 1},
> -
> -      {0x1e2e, 1936, 1},
> -
> -      {0x042e, 993, 1},
> -
> -      {0x012e, 240, 1},
> -
> -      {0x1f2e, 2297, 1},
> -
> -      {0x2c2e, 2714, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa72e, 3150, 1},
> -
> -      {0x0394, 755, 1},
> -
> -      {0x1040c, 3447, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x24c4, 2540, 1},
> -
> -      {0x1e0c, 1885, 1},
> -
> -      {0x040c, 1035, 1},
> -
> -      {0x010c, 189, 1},
> -
> -      {0x1f0c, 2249, 1},
> -
> -      {0x2c0c, 2612, 1},
> -
> -      {0x01a9, 685, 1},
> -
> -      {0x1fa9, 214, 2},
> -
> -      {0x053d, 1384, 1},
> -
> -      {0x023d, 378, 1},
> -
> -      {0x24c2, 2534, 1},
> -
> -      {0x1ca9, 1537, 1},
> -
> -      {0xaba9, 1771, 1},
> -
> -      {0x10ca9, 3762, 1},
> -
> -      {0x10408, 3435, 1},
> -
> -      {0x051c, 1318, 1},
> -
> -      {0x021c, 544, 1},
> -
> -      {0x1e08, 1879, 1},
> -
> -      {0x0408, 1023, 1},
> -
> -      {0x0108, 183, 1},
> -
> -      {0x1f08, 2237, 1},
> -
> -      {0x2c08, 2600, 1},
> -
> -      {0x0386, 733, 1},
> -
> -      {0x10414, 3471, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x13fa, 1846, 1},
> -
> -      {0x1e14, 1897, 1},
> -
> -      {0x0414, 909, 1},
> -
> -      {0x0114, 201, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x2c14, 2636, 1},
> -
> -      {0x0540, 1393, 1},
> -
> -      {0x1f6d, 2372, 1},
> -
> -      {0x2c6d, 607, 1},
> -
> -      {0x038f, 842, 1},
> -
> -      {0x10406, 3429, 1},
> -
> -      {0x054a, 1423, 1},
> -
> -      {0x024a, 595, 1},
> -
> -      {0x1e06, 1876, 1},
> -
> -      {0x0406, 1017, 1},
> -
> -      {0x0106, 180, 1},
> -
> -      {0x10404, 3423, 1},
> -
> -      {0x2c06, 2594, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1e04, 1873, 1},
> -
> -      {0x0404, 1011, 1},
> -
> -      {0x0104, 177, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x2c04, 2588, 1},
> -
> -      {0x1ee0, 2189, 1},
> -
> -      {0x04e0, 1228, 1},
> -
> -      {0x01e0, 459, 1},
> -
> -      {0x10400, 3411, 1},
> -
> -      {0x2ce0, 2885, 1},
> -
> -      {0x03c2, 806, 1},
> -
> -      {0x1e00, 1867, 1},
> -
> -      {0x0400, 999, 1},
> -
> -      {0x0100, 171, 1},
> -
> -      {0x0179, 345, 1},
> -
> -      {0x2c00, 2576, 1},
> -
> -      {0x16e5d, 3975, 1},
> -
> -      {0x039e, 792, 1},
> -
> -      {0xa779, 3246, 1},
> -
> -      {0x10426, 3525, 1},
> -
> -      {0xab79, 1627, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1e26, 1924, 1},
> -
> -      {0x0426, 968, 1},
> -
> -      {0x0126, 228, 1},
> -
> -      {0xfb16, 125, 2},
> -
> -      {0x2c26, 2690, 1},
> -
> -      {0x038e, 839, 1},
> -
> -      {0xa726, 3138, 1},
> -
> -      {0x16e40, 3888, 1},
> -
> -      {0x1ef4, 2219, 1},
> -
> -      {0x04f4, 1258, 1},
> -
> -      {0x01f4, 487, 1},
> -
> -      {0x1ff4, 101, 2},
> -
> -      {0x16e4a, 3918, 1},
> -
> -      {0x051a, 1315, 1},
> -
> -      {0x021a, 541, 1},
> -
> -      {0x10a9, 2927, 1},
> -
> -      {0x1f4d, 2342, 1},
> -
> -      {0xff2e, 3372, 1},
> -
> -      {0x004d, 34, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x118a9, 3819, 1},
> -
> -      {0x0518, 1312, 1},
> -
> -      {0x0218, 538, 1},
> -
> -      {0x1e8c, 2078, 1},
> -
> -      {0x048c, 1102, 1},
> -
> -      {0x038a, 742, 1},
> -
> -      {0x1f8c, 149, 2},
> -
> -      {0x2c8c, 2759, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x050e, 1297, 1},
> -
> -      {0x020e, 523, 1},
> -
> -      {0xab8c, 1684, 1},
> -
> -      {0x10c8c, 3675, 1},
> -
> -      {0x104bf, 3576, 1},
> -
> -      {0x052e, 1345, 1},
> -
> -      {0x022e, 568, 1},
> -
> -      {0x1e2c, 1933, 1},
> -
> -      {0x042c, 987, 1},
> -
> -      {0x012c, 237, 1},
> -
> -      {0x1f2c, 2291, 1},
> -
> -      {0x2c2c, 2708, 1},
> -
> -      {0xa68c, 3108, 1},
> -
> -      {0xa72c, 3147, 1},
> -
> -      {0x1cbf, 1597, 1},
> -
> -      {0xabbf, 1837, 1},
> -
> -      {0x050c, 1294, 1},
> -
> -      {0x020c, 520, 1},
> -
> -      {0x1e28, 1927, 1},
> -
> -      {0x0428, 974, 1},
> -
> -      {0x0128, 231, 1},
> -
> -      {0x1f28, 2279, 1},
> -
> -      {0x2c28, 2696, 1},
> -
> -      {0x1fab, 224, 2},
> -
> -      {0xa728, 3141, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa7ab, 631, 1},
> -
> -      {0x1cab, 1543, 1},
> -
> -      {0xabab, 1777, 1},
> -
> -      {0x10cab, 3768, 1},
> -
> -      {0x16e5b, 3969, 1},
> -
> -      {0x10424, 3519, 1},
> -
> -      {0x0508, 1288, 1},
> -
> -      {0x0208, 514, 1},
> -
> -      {0x1e24, 1921, 1},
> -
> -      {0x0424, 962, 1},
> -
> -      {0x0124, 225, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x2c24, 2684, 1},
> -
> -      {0x104b7, 3552, 1},
> -
> -      {0xa724, 3135, 1},
> -
> -      {0x0514, 1306, 1},
> -
> -      {0x0214, 532, 1},
> -
> -      {0x03fa, 893, 1},
> -
> -      {0x01b7, 706, 1},
> -
> -      {0x1fb7, 10, 3},
> -
> -      {0x104b3, 3540, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1cb7, 1579, 1},
> -
> -      {0xabb7, 1813, 1},
> -
> -      {0x01b3, 402, 1},
> -
> -      {0x1fb3, 62, 2},
> -
> -      {0x0506, 1285, 1},
> -
> -      {0x0206, 511, 1},
> -
> -      {0xa7b3, 3330, 1},
> -
> -      {0x1cb3, 1567, 1},
> -
> -      {0xabb3, 1801, 1},
> -
> -      {0x10422, 3513, 1},
> -
> -      {0x0504, 1282, 1},
> -
> -      {0x0204, 508, 1},
> -
> -      {0x1e22, 1918, 1},
> -
> -      {0x0422, 954, 1},
> -
> -      {0x0122, 222, 1},
> -
> -      {0xff26, 3348, 1},
> -
> -      {0x2c22, 2678, 1},
> -
> -      {0xff35, 3393, 1},
> -
> -      {0xa722, 3132, 1},
> -
> -      {0x104b1, 3534, 1},
> -
> -      {0x0143, 267, 1},
> -
> -      {0x0500, 1276, 1},
> -
> -      {0x0200, 502, 1},
> -
> -      {0x0043, 6, 1},
> -
> -      {0x01b1, 697, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x2163, 2456, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa7b1, 688, 1},
> -
> -      {0x1cb1, 1561, 1},
> -
> -      {0xabb1, 1795, 1},
> -
> -      {0x10cb1, 3786, 1},
> -
> -      {0x0526, 1333, 1},
> -
> -      {0x0226, 556, 1},
> -
> -      {0x0535, 1360, 1},
> -
> -      {0x10bf, 2993, 1},
> -
> -      {0x03a9, 826, 1},
> -
> -      {0x01a7, 393, 1},
> -
> -      {0x1fa7, 244, 2},
> -
> -      {0x1e916, 4050, 1},
> -
> -      {0x118bf, 3885, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1ca7, 1531, 1},
> -
> -      {0xaba7, 1765, 1},
> -
> -      {0x10ca7, 3756, 1},
> -
> -      {0x054d, 1432, 1},
> -
> -      {0x1f6b, 2366, 1},
> -
> -      {0x2c6b, 2732, 1},
> -
> -      {0x10ab, 2933, 1},
> -
> -      {0x1e48, 1975, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xff2c, 3366, 1},
> -
> -      {0x1f48, 2327, 1},
> -
> -      {0x118ab, 3825, 1},
> -
> -      {0x0048, 21, 1},
> -
> -      {0xa748, 3186, 1},
> -
> -      {0x1e88, 2072, 1},
> -
> -      {0x1f69, 2360, 1},
> -
> -      {0x2c69, 2729, 1},
> -
> -      {0x1f88, 129, 2},
> -
> -      {0x2c88, 2753, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xff28, 3354, 1},
> -
> -      {0x1c88, 3035, 1},
> -
> -      {0xab88, 1672, 1},
> -
> -      {0x10c88, 3663, 1},
> -
> -      {0x1e42, 1966, 1},
> -
> -      {0xa648, 3032, 1},
> -
> -      {0x052c, 1342, 1},
> -
> -      {0x022c, 565, 1},
> -
> -      {0x10b7, 2969, 1},
> -
> -      {0x0042, 3, 1},
> -
> -      {0xa742, 3177, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa688, 3102, 1},
> -
> -      {0x118b7, 3861, 1},
> -
> -      {0x216d, 2486, 1},
> -
> -      {0x10b3, 2957, 1},
> -
> -      {0xff24, 3342, 1},
> -
> -      {0x0528, 1336, 1},
> -
> -      {0x0228, 559, 1},
> -
> -      {0x03e0, 860, 1},
> -
> -      {0x118b3, 3849, 1},
> -
> -      {0x1e56, 1996, 1},
> -
> -      {0xa642, 3023, 1},
> -
> -      {0x0156, 294, 1},
> -
> -      {0x1f56, 62, 3},
> -
> -      {0x16e4d, 3927, 1},
> -
> -      {0x0056, 62, 1},
> -
> -      {0xa756, 3207, 1},
> -
> -      {0x24bf, 2525, 1},
> -
> -      {0x1f59, 2345, 1},
> -
> -      {0x1e4e, 1984, 1},
> -
> -      {0x0059, 71, 1},
> -
> -      {0x014e, 282, 1},
> -
> -      {0x0524, 1330, 1},
> -
> -      {0x0224, 553, 1},
> -
> -      {0x004e, 37, 1},
> -
> -      {0xa74e, 3195, 1},
> -
> -      {0x10b1, 2951, 1},
> -
> -      {0x042d, 990, 1},
> -
> -      {0xa656, 3054, 1},
> -
> -      {0x1f2d, 2294, 1},
> -
> -      {0x2c2d, 2711, 1},
> -
> -      {0x118b1, 3843, 1},
> -
> -      {0xff22, 3336, 1},
> -
> -      {0x03f4, 768, 1},
> -
> -      {0x042f, 996, 1},
> -
> -      {0x1e91c, 4068, 1},
> -
> -      {0x1f2f, 2300, 1},
> -
> -      {0xa64e, 3042, 1},
> -
> -      {0x104ce, 3621, 1},
> -
> -      {0x10a7, 2921, 1},
> -
> -      {0x2126, 826, 1},
> -
> -      {0x1ece, 2162, 1},
> -
> -      {0xfb14, 109, 2},
> -      {0xffffffff, -1, 0},
> -
> -      {0x118a7, 3813, 1},
> -
> -      {0x2cce, 2858, 1},
> -
> -      {0x00ce, 120, 1},
> -
> -      {0x104b9, 3558, 1},
> -
> -      {0x038c, 836, 1},
> -
> -      {0x0522, 1327, 1},
> -
> -      {0x0222, 550, 1},
> -
> -      {0xff33, 3387, 1},
> -
> -      {0x24b7, 2501, 1},
> -
> -      {0x1fb9, 2426, 1},
> -
> -      {0xfb06, 29, 2},
> -
> -      {0x0543, 1402, 1},
> -
> -      {0x0243, 354, 1},
> -
> -      {0x1cb9, 1585, 1},
> -
> -      {0xabb9, 1819, 1},
> -
> -      {0x1e54, 1993, 1},
> -
> -      {0xfb04, 5, 3},
> -
> -      {0x0154, 291, 1},
> -
> -      {0x1f54, 57, 3},
> -
> -      {0xff31, 3381, 1},
> -
> -      {0x0054, 56, 1},
> -
> -      {0xa754, 3204, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1e52, 1990, 1},
> -
> -      {0x0533, 1354, 1},
> -
> -      {0x0152, 288, 1},
> -
> -      {0x1f52, 52, 3},
> -
> -      {0xfb00, 4, 2},
> -
> -      {0x0052, 49, 1},
> -
> -      {0xa752, 3201, 1},
> -
> -      {0x03ab, 833, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1e50, 1987, 1},
> -
> -      {0xa654, 3051, 1},
> -
> -      {0x0150, 285, 1},
> -
> -      {0x1f50, 84, 2},
> -
> -      {0x0531, 1348, 1},
> -
> -      {0x0050, 43, 1},
> -
> -      {0xa750, 3198, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0xa652, 3048, 1},
> -
> -      {0x0548, 1417, 1},
> -
> -      {0x0248, 592, 1},
> -
> -      {0x10420, 3507, 1},
> -
> -      {0x013f, 261, 1},
> -
> -      {0x1f3f, 2324, 1},
> -
> -      {0x1e20, 1915, 1},
> -
> -      {0x0420, 947, 1},
> -
> -      {0x0120, 219, 1},
> -
> -      {0xa650, 3045, 1},
> -
> -      {0x2c20, 2672, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x16e43, 3897, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1e91a, 4062, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1041e, 3501, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0542, 1399, 1},
> -
> -      {0x1e1e, 1912, 1},
> -
> -      {0x041e, 940, 1},
> -
> -      {0x011e, 216, 1},
> -
> -      {0x1e918, 4056, 1},
> -
> -      {0x2c1e, 2666, 1},
> -
> -      {0x10412, 3465, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1e12, 1894, 1},
> -
> -      {0x0412, 902, 1},
> -
> -      {0x0112, 198, 1},
> -
> -      {0x1e90e, 4026, 1},
> -
> -      {0x2c12, 2630, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x10410, 3459, 1},
> -
> -      {0xff2d, 3369, 1},
> -
> -      {0x0556, 1459, 1},
> -
> -      {0x1e10, 1891, 1},
> -
> -      {0x0410, 896, 1},
> -
> -      {0x0110, 195, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x2c10, 2624, 1},
> -
> -      {0xff2f, 3375, 1},
> -
> -      {0x10b9, 2975, 1},
> -
> -      {0x16e48, 3912, 1},
> -
> -      {0x054e, 1435, 1},
> -
> -      {0x024e, 601, 1},
> -
> -      {0x1e90c, 4020, 1},
> -
> -      {0x118b9, 3867, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x104ca, 3609, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1eca, 2156, 1},
> -
> -      {0x03a7, 820, 1},
> -
> -      {0x01ca, 425, 1},
> -
> -      {0x1fca, 2393, 1},
> -
> -      {0x2cca, 2852, 1},
> -
> -      {0x00ca, 108, 1},
> -
> -      {0x104c8, 3603, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x16e42, 3894, 1},
> -
> -      {0x1ec8, 2153, 1},
> -
> -      {0x1e908, 4008, 1},
> -
> -      {0x01c8, 421, 1},
> -
> -      {0x1fc8, 2387, 1},
> -
> -      {0x2cc8, 2849, 1},
> -
> -      {0x00c8, 102, 1},
> -
> -      {0x1e6c, 2030, 1},
> -
> -      {0x046c, 1066, 1},
> -
> -      {0x016c, 327, 1},
> -
> -      {0x1f6c, 2369, 1},
> -
> -      {0x1e914, 4044, 1},
> -
> -      {0x104c6, 3597, 1},
> -
> -      {0xa76c, 3240, 1},
> -
> -      {0x0388, 736, 1},
> -
> -      {0x1ec6, 2150, 1},
> -
> -      {0x216b, 2480, 1},
> -
> -      {0x16e56, 3954, 1},
> -
> -      {0x1fc6, 67, 2},
> -
> -      {0x2cc6, 2846, 1},
> -
> -      {0x00c6, 96, 1},
> -
> -      {0xa7c6, 1864, 1},
> -
> -      {0x16e59, 3963, 1},
> -
> -      {0x1e906, 4002, 1},
> -
> -      {0x0554, 1453, 1},
> -
> -      {0xa66c, 3087, 1},
> -
> -      {0x16e4e, 3930, 1},
> -
> -      {0x2169, 2474, 1},
> -
> -      {0x24ce, 2570, 1},
> -
> -      {0x1e904, 3996, 1},
> -
> -      {0x104c5, 3594, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0552, 1447, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x04c5, 1186, 1},
> -
> -      {0x01c5, 417, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x24b9, 2507, 1},
> -
> -      {0x00c5, 92, 1},
> -
> -      {0xa7c5, 682, 1},
> -
> -      {0x1e900, 3984, 1},
> -
> -      {0x0550, 1441, 1},
> -
> -      {0x104c0, 3579, 1},
> -
> -      {0x104b5, 3546, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1ec0, 2141, 1},
> -
> -      {0x04c0, 1201, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x01b5, 405, 1},
> -
> -      {0x2cc0, 2837, 1},
> -
> -      {0x00c0, 77, 1},
> -
> -      {0x00b5, 785, 1},
> -
> -      {0x053f, 1390, 1},
> -
> -      {0x1cb5, 1573, 1},
> -
> -      {0xabb5, 1807, 1},
> -
> -      {0x1fad, 234, 2},
> -
> -      {0x0520, 1324, 1},
> -
> -      {0x0220, 381, 1},
> -
> -      {0xa7ad, 661, 1},
> -
> -      {0x1cad, 1549, 1},
> -
> -      {0xabad, 1783, 1},
> -
> -      {0x10cad, 3774, 1},
> -
> -      {0x1efc, 2231, 1},
> -
> -      {0x04fc, 1270, 1},
> -
> -      {0x01fc, 496, 1},
> -
> -      {0x1ffc, 96, 2},
> -
> -      {0x16e54, 3948, 1},
> -
> -      {0x1fa5, 234, 2},
> -      {0xffffffff, -1, 0},
> -
> -      {0x051e, 1321, 1},
> -
> -      {0x021e, 547, 1},
> -
> -      {0x1ca5, 1525, 1},
> -
> -      {0xaba5, 1759, 1},
> -
> -      {0x10ca5, 3750, 1},
> -
> -      {0x16e52, 3942, 1},
> -
> -      {0x01af, 399, 1},
> -
> -      {0x1faf, 244, 2},
> -
> -      {0x0512, 1303, 1},
> -
> -      {0x0212, 529, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1caf, 1555, 1},
> -
> -      {0xabaf, 1789, 1},
> -
> -      {0x10caf, 3780, 1},
> -
> -      {0x16e50, 3936, 1},
> -
> -      {0x1fa3, 224, 2},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0510, 1300, 1},
> -
> -      {0x0210, 526, 1},
> -
> -      {0x1ca3, 1519, 1},
> -
> -      {0xaba3, 1753, 1},
> -
> -      {0x10ca3, 3744, 1},
> -
> -      {0x0429, 977, 1},
> -
> -      {0x1fa1, 214, 2},
> -
> -      {0x1f29, 2282, 1},
> -
> -      {0x2c29, 2699, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1ca1, 1513, 1},
> -
> -      {0xaba1, 1747, 1},
> -
> -      {0x10ca1, 3738, 1},
> -
> -      {0x1e6a, 2027, 1},
> -
> -      {0x046a, 1063, 1},
> -
> -      {0x016a, 324, 1},
> -
> -      {0x1f6a, 2363, 1},
> -
> -      {0x1e46, 1972, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa76a, 3237, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x0046, 15, 1},
> -
> -      {0xa746, 3183, 1},
> -
> -      {0x10c5, 3011, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1e68, 2024, 1},
> -
> -      {0x0468, 1060, 1},
> -
> -      {0x0168, 321, 1},
> -
> -      {0x1f68, 2357, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa66a, 3084, 1},
> -
> -      {0xa768, 3234, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0xa646, 3029, 1},
> -
> -      {0x10c0, 2996, 1},
> -
> -      {0x10b5, 2963, 1},
> -
> -      {0x24ca, 2558, 1},
> -
> -      {0x13fc, 1852, 1},
> -
> -      {0x1e44, 1969, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x118b5, 3855, 1},
> -
> -      {0x10ad, 2939, 1},
> -
> -      {0xa668, 3081, 1},
> -
> -      {0x0044, 9, 1},
> -
> -      {0xa744, 3180, 1},
> -
> -      {0x24c8, 2552, 1},
> -
> -      {0x118ad, 3831, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1e64, 2018, 1},
> -
> -      {0x0464, 1054, 1},
> -
> -      {0x0164, 315, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x2c64, 676, 1},
> -
> -      {0x10a5, 2915, 1},
> -
> -      {0xa764, 3228, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa644, 3026, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x118a5, 3807, 1},
> -
> -      {0x24c6, 2546, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x10af, 2945, 1},
> -
> -      {0x1e32, 1942, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0132, 243, 1},
> -
> -      {0xa664, 3075, 1},
> -
> -      {0x118af, 3837, 1},
> -
> -      {0x104cb, 3612, 1},
> -
> -      {0xa732, 3153, 1},
> -
> -      {0x10a3, 2909, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x04cb, 1195, 1},
> -
> -      {0x01cb, 425, 1},
> -
> -      {0x1fcb, 2396, 1},
> -
> -      {0x118a3, 3801, 1},
> -
> -      {0x00cb, 111, 1},
> -
> -      {0x24c5, 2543, 1},
> -
> -      {0x10a1, 2903, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1e62, 2015, 1},
> -
> -      {0x0462, 1050, 1},
> -
> -      {0x0162, 312, 1},
> -
> -      {0x118a1, 3795, 1},
> -
> -      {0x2c62, 658, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa762, 3225, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x24c0, 2528, 1},
> -
> -      {0x1e60, 2011, 1},
> -
> -      {0x0460, 1047, 1},
> -
> -      {0x0160, 309, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x2c60, 2717, 1},
> -
> -      {0xff29, 3357, 1},
> -
> -      {0xa760, 3222, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa662, 3072, 1},
> -
> -      {0x1ee2, 2192, 1},
> -
> -      {0x04e2, 1231, 1},
> -
> -      {0x01e2, 462, 1},
> -
> -      {0x1fe2, 36, 3},
> -
> -      {0x2ce2, 2888, 1},
> -
> -      {0x042b, 984, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1f2b, 2288, 1},
> -
> -      {0x2c2b, 2705, 1},
> -
> -      {0xa660, 3069, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x216c, 2483, 1},
> -
> -      {0x1eda, 2180, 1},
> -
> -      {0x04da, 1219, 1},
> -
> -      {0x104bd, 3570, 1},
> -
> -      {0x1fda, 2399, 1},
> -
> -      {0x2cda, 2876, 1},
> -
> -      {0x00da, 153, 1},
> -
> -      {0x1ed8, 2177, 1},
> -
> -      {0x04d8, 1216, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1fd8, 2429, 1},
> -
> -      {0x2cd8, 2873, 1},
> -
> -      {0x00d8, 147, 1},
> -
> -      {0x1cbd, 1591, 1},
> -
> -      {0xabbd, 1831, 1},
> -
> -      {0x0546, 1411, 1},
> -
> -      {0x0246, 589, 1},
> -
> -      {0x1ed6, 2174, 1},
> -
> -      {0x04d6, 1213, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1fd6, 76, 2},
> -
> -      {0x2cd6, 2870, 1},
> -
> -      {0x00d6, 144, 1},
> -
> -      {0x104d2, 3633, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1ed2, 2168, 1},
> -
> -      {0x04d2, 1207, 1},
> -
> -      {0x10427, 3528, 1},
> -
> -      {0x1fd2, 20, 3},
> -
> -      {0x2cd2, 2864, 1},
> -
> -      {0x00d2, 132, 1},
> -
> -      {0x0427, 971, 1},
> -
> -      {0x104d0, 3627, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x2c27, 2693, 1},
> -
> -      {0x1ed0, 2165, 1},
> -
> -      {0x04d0, 1204, 1},
> -
> -      {0x0544, 1405, 1},
> -
> -      {0x0244, 694, 1},
> -
> -      {0x2cd0, 2861, 1},
> -
> -      {0x00d0, 126, 1},
> -
> -      {0x03a5, 813, 1},
> -
> -      {0x104cd, 3618, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0xff32, 3384, 1},
> -
> -      {0x04cd, 1198, 1},
> -
> -      {0x01cd, 429, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x104c3, 3588, 1},
> -
> -      {0x00cd, 117, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x04c3, 1183, 1},
> -
> -      {0x104bb, 3564, 1},
> -
> -      {0x1fc3, 71, 2},
> -
> -      {0x16e46, 3906, 1},
> -
> -      {0x00c3, 86, 1},
> -
> -      {0x03a3, 806, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1fbb, 2384, 1},
> -
> -      {0x104cc, 3615, 1},
> -
> -      {0x0532, 1351, 1},
> -
> -      {0x0232, 574, 1},
> -
> -      {0x1ecc, 2159, 1},
> -
> -      {0xabbb, 1825, 1},
> -
> -      {0x03a1, 802, 1},
> -
> -      {0x1fcc, 71, 2},
> -
> -      {0x2ccc, 2855, 1},
> -
> -      {0x00cc, 114, 1},
> -
> -      {0x019d, 670, 1},
> -
> -      {0x1f9d, 194, 2},
> -
> -      {0x1e78, 2048, 1},
> -
> -      {0x0478, 1084, 1},
> -
> -      {0x0178, 168, 1},
> -
> -      {0x1c9d, 1501, 1},
> -
> -      {0xab9d, 1735, 1},
> -
> -      {0x10c9d, 3726, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x16e44, 3900, 1},
> -
> -      {0xab78, 1624, 1},
> -
> -      {0x1e9b, 2011, 1},
> -
> -      {0x10bd, 2987, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1f9b, 184, 2},
> -
> -      {0xff2b, 3363, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x118bd, 3879, 1},
> -
> -      {0x1c9b, 1495, 1},
> -
> -      {0xab9b, 1729, 1},
> -
> -      {0x10c9b, 3720, 1},
> -
> -      {0x216a, 2477, 1},
> -
> -      {0x24cb, 2561, 1},
> -
> -      {0x1e99, 42, 2},
> -
> -      {0x1e920, 4080, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1f99, 174, 2},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1c99, 1489, 1},
> -
> -      {0xab99, 1723, 1},
> -
> -      {0x10c99, 3714, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x2168, 2471, 1},
> -
> -      {0x0193, 634, 1},
> -
> -      {0x1f93, 184, 2},
> -
> -      {0x1e91e, 4074, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1c93, 1471, 1},
> -
> -      {0xab93, 1705, 1},
> -
> -      {0x10c93, 3696, 1},
> -
> -      {0x0191, 369, 1},
> -
> -      {0x1f91, 174, 2},
> -
> -      {0x1e912, 4038, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1c91, 1465, 1},
> -
> -      {0xab91, 1699, 1},
> -
> -      {0x10c91, 3690, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x10cd, 3017, 1},
> -
> -      {0xff27, 3351, 1},
> -
> -      {0x1e910, 4032, 1},
> -
> -      {0x0187, 363, 1},
> -
> -      {0x1f87, 164, 2},
> -
> -      {0x0055, 59, 1},
> -
> -      {0x2164, 2459, 1},
> -
> -      {0x10c3, 3005, 1},
> -
> -      {0x1c87, 1050, 1},
> -
> -      {0xab87, 1669, 1},
> -
> -      {0x10c87, 3660, 1},
> -
> -      {0x0145, 270, 1},
> -
> -      {0x10bb, 2981, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0045, 12, 1},
> -
> -      {0x24bd, 2519, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x118bb, 3873, 1},
> -
> -      {0x1e72, 2039, 1},
> -
> -      {0x0472, 1075, 1},
> -
> -      {0x0172, 336, 1},
> -
> -      {0x2132, 2444, 1},
> -
> -      {0x2c72, 2735, 1},
> -
> -      {0x1e70, 2036, 1},
> -
> -      {0x0470, 1072, 1},
> -
> -      {0x0170, 333, 1},
> -
> -      {0xab72, 1606, 1},
> -
> -      {0x2c70, 610, 1},
> -
> -      {0x1e66, 2021, 1},
> -
> -      {0x0466, 1057, 1},
> -
> -      {0x0166, 318, 1},
> -
> -      {0xab70, 1600, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1e3a, 1954, 1},
> -
> -      {0xa766, 3231, 1},
> -
> -      {0x1e5a, 2002, 1},
> -
> -      {0x1f3a, 2309, 1},
> -
> -      {0x015a, 300, 1},
> -
> -      {0x2162, 2453, 1},
> -
> -      {0xa73a, 3165, 1},
> -
> -      {0x005a, 74, 1},
> -
> -      {0xa75a, 3213, 1},
> -
> -      {0x03e2, 863, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x104cf, 3624, 1},
> -
> -      {0x1e58, 1999, 1},
> -
> -      {0xa666, 3078, 1},
> -
> -      {0x0158, 297, 1},
> -
> -      {0x2160, 2447, 1},
> -
> -      {0x01cf, 432, 1},
> -
> -      {0x0058, 68, 1},
> -
> -      {0xa758, 3210, 1},
> -
> -      {0x00cf, 123, 1},
> -
> -      {0xa65a, 3060, 1},
> -
> -      {0x03da, 851, 1},
> -
> -      {0x24cd, 2567, 1},
> -
> -      {0x1eec, 2207, 1},
> -
> -      {0x04ec, 1246, 1},
> -
> -      {0x01ec, 477, 1},
> -
> -      {0x1fec, 2441, 1},
> -
> -      {0x03d8, 848, 1},
> -
> -      {0x212b, 92, 1},
> -
> -      {0x24c3, 2537, 1},
> -
> -      {0xa658, 3057, 1},
> -
> -      {0x1edc, 2183, 1},
> -
> -      {0x04dc, 1222, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x24bb, 2513, 1},
> -
> -      {0x2cdc, 2879, 1},
> -
> -      {0x00dc, 159, 1},
> -
> -      {0x03d6, 798, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x24cc, 2564, 1},
> -
> -      {0x1eea, 2204, 1},
> -
> -      {0x04ea, 1243, 1},
> -
> -      {0x01ea, 474, 1},
> -
> -      {0x1fea, 2411, 1},
> -
> -      {0x1ee8, 2201, 1},
> -
> -      {0x04e8, 1240, 1},
> -
> -      {0x01e8, 471, 1},
> -
> -      {0x1fe8, 2435, 1},
> -
> -      {0x1ee6, 2198, 1},
> -
> -      {0x04e6, 1237, 1},
> -
> -      {0x01e6, 468, 1},
> -
> -      {0x1fe6, 88, 2},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x03d0, 748, 1},
> -
> -      {0x1ee4, 2195, 1},
> -
> -      {0x04e4, 1234, 1},
> -
> -      {0x01e4, 465, 1},
> -
> -      {0x1fe4, 80, 2},
> -
> -      {0x104c9, 3606, 1},
> -
> -      {0x104c1, 3582, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x04c9, 1192, 1},
> -
> -      {0x04c1, 1180, 1},
> -
> -      {0x1fc9, 2390, 1},
> -
> -      {0x1f95, 194, 2},
> -
> -      {0x00c9, 105, 1},
> -
> -      {0x00c1, 80, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1c95, 1477, 1},
> -
> -      {0xab95, 1711, 1},
> -
> -      {0x10c95, 3702, 1},
> -
> -      {0x018b, 366, 1},
> -
> -      {0x1f8b, 144, 2},
> -
> -      {0x0555, 1456, 1},
> -
> -      {0x0587, 105, 2},
> -
> -      {0xa78b, 3267, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xab8b, 1681, 1},
> -
> -      {0x10c8b, 3672, 1},
> -
> -      {0x1e76, 2045, 1},
> -
> -      {0x0476, 1081, 1},
> -
> -      {0x0176, 342, 1},
> -
> -      {0x0545, 1408, 1},
> -
> -      {0x0245, 703, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x039d, 789, 1},
> -
> -      {0x1f83, 144, 2},
> -
> -      {0xab76, 1618, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xff3a, 3408, 1},
> -
> -      {0x1c83, 950, 1},
> -
> -      {0xab83, 1657, 1},
> -
> -      {0x10c83, 3648, 1},
> -
> -      {0x0141, 264, 1},
> -
> -      {0x0181, 613, 1},
> -
> -      {0x1f81, 134, 2},
> -
> -      {0x0041, 0, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x039b, 782, 1},
> -
> -      {0x1c81, 909, 1},
> -
> -      {0xab81, 1651, 1},
> -
> -      {0x10c81, 3642, 1},
> -
> -      {0x0149, 46, 2},
> -
> -      {0x1f49, 2330, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0049, 4086, 1},
> -
> -      {0x053a, 1375, 1},
> -
> -      {0x023a, 2720, 1},
> -
> -      {0x1e7e, 2057, 1},
> -
> -      {0x047e, 1093, 1},
> -
> -      {0x0399, 773, 1},
> -
> -      {0x1e5e, 2008, 1},
> -
> -      {0x2c7e, 580, 1},
> -
> -      {0x015e, 306, 1},
> -
> -      {0xa77e, 3252, 1},
> -
> -      {0x16e55, 3951, 1},
> -
> -      {0xab7e, 1642, 1},
> -
> -      {0xa75e, 3219, 1},
> -
> -      {0x104d1, 3630, 1},
> -
> -      {0x1e5c, 2005, 1},
> -
> -      {0x0393, 752, 1},
> -
> -      {0x015c, 303, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x01d1, 435, 1},
> -
> -      {0x16e45, 3903, 1},
> -
> -      {0xa75c, 3216, 1},
> -
> -      {0x00d1, 129, 1},
> -
> -      {0x10421, 3510, 1},
> -
> -      {0x0391, 745, 1},
> -
> -      {0xa65e, 3066, 1},
> -
> -      {0x1e3e, 1960, 1},
> -
> -      {0x0421, 950, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1f3e, 2321, 1},
> -
> -      {0x2c21, 2675, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa73e, 3171, 1},
> -
> -      {0xa65c, 3063, 1},
> -
> -      {0x10c1, 2999, 1},
> -
> -      {0x1e36, 1948, 1},
> -
> -      {0x1e38, 1951, 1},
> -
> -      {0x0136, 249, 1},
> -
> -      {0x24cf, 2573, 1},
> -
> -      {0x1f38, 2303, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa736, 3159, 1},
> -
> -      {0xa738, 3162, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0345, 773, 1},
> -
> -      {0x1e34, 1945, 1},
> -
> -      {0x16e5a, 3966, 1},
> -
> -      {0x0134, 246, 1},
> -
> -      {0x1041d, 3498, 1},
> -
> -      {0x013b, 255, 1},
> -
> -      {0x1f3b, 2312, 1},
> -
> -      {0xa734, 3156, 1},
> -
> -      {0x041d, 937, 1},
> -
> -      {0x0372, 718, 1},
> -
> -      {0x1f1d, 2276, 1},
> -
> -      {0x2c1d, 2663, 1},
> -
> -      {0x16e58, 3960, 1},
> -
> -      {0x1041b, 3492, 1},
> -
> -      {0x0370, 715, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x041b, 931, 1},
> -
> -      {0x10419, 3486, 1},
> -
> -      {0x1f1b, 2270, 1},
> -
> -      {0x2c1b, 2657, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0419, 925, 1},
> -
> -      {0x10417, 3480, 1},
> -
> -      {0x1f19, 2264, 1},
> -
> -      {0x2c19, 2651, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0417, 919, 1},
> -
> -      {0x10415, 3474, 1},
> -
> -      {0x10413, 3468, 1},
> -
> -      {0x2c17, 2645, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0415, 913, 1},
> -
> -      {0x0413, 906, 1},
> -
> -      {0x2166, 2465, 1},
> -
> -      {0x2c15, 2639, 1},
> -
> -      {0x2c13, 2633, 1},
> -
> -      {0x0053, 52, 1},
> -
> -      {0x03cf, 845, 1},
> -
> -      {0x1efe, 2234, 1},
> -
> -      {0x04fe, 1273, 1},
> -
> -      {0x01fe, 499, 1},
> -
> -      {0x1040f, 3456, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x24c9, 2555, 1},
> -
> -      {0x24c1, 2531, 1},
> -
> -      {0x040f, 1044, 1},
> -
> -      {0x03ec, 878, 1},
> -
> -      {0x1f0f, 2258, 1},
> -
> -      {0x2c0f, 2621, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1040d, 3450, 1},
> -
> -      {0x0541, 1396, 1},
> -
> -      {0x0241, 586, 1},
> -
> -      {0x03dc, 854, 1},
> -
> -      {0x040d, 1038, 1},
> -
> -      {0x1040b, 3444, 1},
> -
> -      {0x1f0d, 2252, 1},
> -
> -      {0x2c0d, 2615, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x040b, 1032, 1},
> -
> -      {0x0549, 1420, 1},
> -
> -      {0x1f0b, 2246, 1},
> -
> -      {0x2c0b, 2609, 1},
> -
> -      {0x10409, 3438, 1},
> -
> -      {0x03ea, 875, 1},
> -
> -      {0x0139, 252, 1},
> -
> -      {0x1f39, 2306, 1},
> -
> -      {0x0409, 1026, 1},
> -
> -      {0x03e8, 872, 1},
> -
> -      {0x1f09, 2240, 1},
> -
> -      {0x2c09, 2603, 1},
> -
> -      {0x10405, 3426, 1},
> -
> -      {0x03e6, 869, 1},
> -
> -      {0xff21, 3333, 1},
> -
> -      {0x1f4b, 2336, 1},
> -
> -      {0x0405, 1014, 1},
> -
> -      {0x004b, 27, 1},
> -
> -      {0x10403, 3420, 1},
> -
> -      {0x2c05, 2591, 1},
> -
> -      {0x03e4, 866, 1},
> -
> -      {0x104d3, 3636, 1},
> -
> -      {0x0403, 1008, 1},
> -
> -      {0xff36, 3396, 1},
> -
> -      {0xff38, 3402, 1},
> -
> -      {0x2c03, 2585, 1},
> -
> -      {0x01d3, 438, 1},
> -
> -      {0x1fd3, 25, 3},
> -
> -      {0x0395, 758, 1},
> -
> -      {0x00d3, 135, 1},
> -
> -      {0x0051, 46, 1},
> -
> -      {0x053e, 1387, 1},
> -
> -      {0x023e, 2723, 1},
> -
> -      {0xff34, 3390, 1},
> -
> -      {0x16e41, 3891, 1},
> -
> -      {0x10401, 3414, 1},
> -
> -      {0x1ef0, 2213, 1},
> -
> -      {0x04f0, 1252, 1},
> -
> -      {0x01f0, 20, 2},
> -
> -      {0x0401, 1002, 1},
> -
> -      {0x0536, 1363, 1},
> -
> -      {0x0538, 1369, 1},
> -
> -      {0x2c01, 2579, 1},
> -
> -      {0x16e49, 3915, 1},
> -
> -      {0x004f, 40, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0376, 721, 1},
> -
> -      {0x1eee, 2210, 1},
> -
> -      {0x04ee, 1249, 1},
> -
> -      {0x01ee, 480, 1},
> -
> -      {0x0534, 1357, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x053b, 1378, 1},
> -
> -      {0x023b, 577, 1},
> -
> -      {0x16e5e, 3978, 1},
> -
> -      {0x1ef8, 2225, 1},
> -
> -      {0x04f8, 1264, 1},
> -
> -      {0x01f8, 490, 1},
> -
> -      {0x1ff8, 2405, 1},
> -
> -      {0x1ed4, 2171, 1},
> -
> -      {0x04d4, 1210, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x16e5c, 3972, 1},
> -
> -      {0x2cd4, 2867, 1},
> -
> -      {0x00d4, 138, 1},
> -
> -      {0x2183, 2495, 1},
> -
> -      {0x1ef6, 2222, 1},
> -
> -      {0x04f6, 1261, 1},
> -
> -      {0x01f6, 372, 1},
> -
> -      {0x1ff6, 92, 2},
> -
> -      {0x1f8d, 154, 2},
> -
> -      {0x0147, 273, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xa78d, 643, 1},
> -
> -      {0x0047, 18, 1},
> -
> -      {0xab8d, 1687, 1},
> -
> -      {0x10c8d, 3678, 1},
> -
> -      {0x1e74, 2042, 1},
> -
> -      {0x0474, 1078, 1},
> -
> -      {0x0174, 339, 1},
> -
> -      {0x1e3c, 1957, 1},
> -
> -      {0x0553, 1450, 1},
> -
> -      {0x1e30, 1939, 1},
> -
> -      {0x1f3c, 2315, 1},
> -
> -      {0x0130, 261, 2},
> -
> -      {0xab74, 1612, 1},
> -
> -      {0xa73c, 3168, 1},
> -
> -      {0x10425, 3522, 1},
> -
> -      {0x03d1, 768, 1},
> -
> -      {0x10423, 3516, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0425, 965, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0423, 959, 1},
> -
> -      {0x2c25, 2687, 1},
> -
> -      {0x1041f, 3504, 1},
> -
> -      {0x2c23, 2681, 1},
> -
> -      {0xff39, 3405, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x041f, 944, 1},
> -
> -      {0x10411, 3462, 1},
> -
> -      {0x10407, 3432, 1},
> -
> -      {0x2c1f, 2669, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0411, 899, 1},
> -
> -      {0x0407, 1020, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x2c11, 2627, 1},
> -
> -      {0x2c07, 2597, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -
> -      {0x0539, 1372, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x13f8, 1840, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x054b, 1426, 1},
> -
> -      {0x16e53, 3945, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0551, 1444, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x054f, 1438, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x03fe, 727, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x16e4b, 3921, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -
> -      {0xff30, 3378, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x16e51, 3939, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0547, 1414, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0xff25, 3345, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0xff23, 3339, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x053c, 1381, 1},
> -
> -      {0x16e4f, 3933, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x0230, 571, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0xfb17, 117, 2},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0xfb15, 113, 2},
> -
> -      {0xfb13, 121, 2},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x03f0, 778, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x16e47, 3909, 1},
> -      {0xffffffff, -1, 0},
> -
> -      {0x03ee, 881, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0xfb05, 29, 2},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -
> -      {0xfb03, 0, 3},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1e921, 4083, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0xfb01, 8, 2},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1e91d, 4071, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1e91b, 4065, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1e919, 4059, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1e917, 4053, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1e915, 4047, 1},
> -
> -      {0x1e913, 4041, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1e90f, 4029, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1e90d, 4023, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1e90b, 4017, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1e909, 4011, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1e905, 3999, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -
> -      {0x1e903, 3993, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0},
> -
> -      {0x1e901, 3987, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> {0xffffffff, -1, 0},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1e91f, 4077, 1},
> -      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
> -
> -      {0x1e911, 4035, 1},
> -
> -      {0x1e907, 4005, 1}
> -    };
> -
> -    int key = hash(&code);
> -    if (key <= MAX_HASH_VALUE) {
> -      OnigCodePoint gcode = wordlist[key].code;
> -      if (code == gcode && wordlist[key].index >= 0) {
> -        return &wordlist[key];
> -      }
> -    }
> -  return 0;
> -}
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_w
> b_data.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_w
> b_data.c
> deleted file mode 100644
> index ed7537f4d6c4..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/unicode_w
> b_data.c
> +++ /dev/null
> @@ -1,1023 +0,0 @@
> -/* unicode_wb_data.c: Generated by make_unicode_wb_data.py. */
> -/*-
> - * Copyright (c) 2019  K.Kosako  <kkosako0 AT gmail DOT com>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#define WORD_BREAK_PROPERTY_VERSION  12_1_0
> -
> -/*
> -ALetter
> -CR
> -Double_Quote
> -Extend
> -ExtendNumLet
> -Format
> -Hebrew_Letter
> -Katakana
> -LF
> -MidLetter
> -MidNum
> -MidNumLet
> -Newline
> -Numeric
> -Regional_Indicator
> -Single_Quote
> -WSegSpace
> -ZWJ
> -*/
> -
> -static int WB_RANGE_NUM = 970;
> -static WB_RANGE_TYPE WB_RANGES[] = {
> - {0x00000a, 0x00000a, WB_LF },
> - {0x00000b, 0x00000c, WB_Newline },
> - {0x00000d, 0x00000d, WB_CR },
> - {0x000020, 0x000020, WB_WSegSpace },
> - {0x000022, 0x000022, WB_Double_Quote },
> - {0x000027, 0x000027, WB_Single_Quote },
> - {0x00002c, 0x00002c, WB_MidNum },
> - {0x00002e, 0x00002e, WB_MidNumLet },
> - {0x000030, 0x000039, WB_Numeric },
> - {0x00003a, 0x00003a, WB_MidLetter },
> - {0x00003b, 0x00003b, WB_MidNum },
> - {0x000041, 0x00005a, WB_ALetter },
> - {0x00005f, 0x00005f, WB_ExtendNumLet },
> - {0x000061, 0x00007a, WB_ALetter },
> - {0x000085, 0x000085, WB_Newline },
> - {0x0000aa, 0x0000aa, WB_ALetter },
> - {0x0000ad, 0x0000ad, WB_Format },
> - {0x0000b5, 0x0000b5, WB_ALetter },
> - {0x0000b7, 0x0000b7, WB_MidLetter },
> - {0x0000ba, 0x0000ba, WB_ALetter },
> - {0x0000c0, 0x0000d6, WB_ALetter },
> - {0x0000d8, 0x0000f6, WB_ALetter },
> - {0x0000f8, 0x0002d7, WB_ALetter },
> - {0x0002de, 0x0002e4, WB_ALetter },
> - {0x0002ec, 0x0002ff, WB_ALetter },
> - {0x000300, 0x00036f, WB_Extend },
> - {0x000370, 0x000374, WB_ALetter },
> - {0x000376, 0x000377, WB_ALetter },
> - {0x00037a, 0x00037d, WB_ALetter },
> - {0x00037e, 0x00037e, WB_MidNum },
> - {0x00037f, 0x00037f, WB_ALetter },
> - {0x000386, 0x000386, WB_ALetter },
> - {0x000387, 0x000387, WB_MidLetter },
> - {0x000388, 0x00038a, WB_ALetter },
> - {0x00038c, 0x00038c, WB_ALetter },
> - {0x00038e, 0x0003a1, WB_ALetter },
> - {0x0003a3, 0x0003f5, WB_ALetter },
> - {0x0003f7, 0x000481, WB_ALetter },
> - {0x000483, 0x000489, WB_Extend },
> - {0x00048a, 0x00052f, WB_ALetter },
> - {0x000531, 0x000556, WB_ALetter },
> - {0x000559, 0x000559, WB_ALetter },
> - {0x00055b, 0x00055c, WB_ALetter },
> - {0x00055e, 0x00055e, WB_ALetter },
> - {0x000560, 0x000588, WB_ALetter },
> - {0x000589, 0x000589, WB_MidNum },
> - {0x000591, 0x0005bd, WB_Extend },
> - {0x0005bf, 0x0005bf, WB_Extend },
> - {0x0005c1, 0x0005c2, WB_Extend },
> - {0x0005c4, 0x0005c5, WB_Extend },
> - {0x0005c7, 0x0005c7, WB_Extend },
> - {0x0005d0, 0x0005ea, WB_Hebrew_Letter },
> - {0x0005ef, 0x0005f2, WB_Hebrew_Letter },
> - {0x0005f3, 0x0005f3, WB_ALetter },
> - {0x0005f4, 0x0005f4, WB_MidLetter },
> - {0x000600, 0x000605, WB_Format },
> - {0x00060c, 0x00060d, WB_MidNum },
> - {0x000610, 0x00061a, WB_Extend },
> - {0x00061c, 0x00061c, WB_Format },
> - {0x000620, 0x00064a, WB_ALetter },
> - {0x00064b, 0x00065f, WB_Extend },
> - {0x000660, 0x000669, WB_Numeric },
> - {0x00066b, 0x00066b, WB_Numeric },
> - {0x00066c, 0x00066c, WB_MidNum },
> - {0x00066e, 0x00066f, WB_ALetter },
> - {0x000670, 0x000670, WB_Extend },
> - {0x000671, 0x0006d3, WB_ALetter },
> - {0x0006d5, 0x0006d5, WB_ALetter },
> - {0x0006d6, 0x0006dc, WB_Extend },
> - {0x0006dd, 0x0006dd, WB_Format },
> - {0x0006df, 0x0006e4, WB_Extend },
> - {0x0006e5, 0x0006e6, WB_ALetter },
> - {0x0006e7, 0x0006e8, WB_Extend },
> - {0x0006ea, 0x0006ed, WB_Extend },
> - {0x0006ee, 0x0006ef, WB_ALetter },
> - {0x0006f0, 0x0006f9, WB_Numeric },
> - {0x0006fa, 0x0006fc, WB_ALetter },
> - {0x0006ff, 0x0006ff, WB_ALetter },
> - {0x00070f, 0x00070f, WB_Format },
> - {0x000710, 0x000710, WB_ALetter },
> - {0x000711, 0x000711, WB_Extend },
> - {0x000712, 0x00072f, WB_ALetter },
> - {0x000730, 0x00074a, WB_Extend },
> - {0x00074d, 0x0007a5, WB_ALetter },
> - {0x0007a6, 0x0007b0, WB_Extend },
> - {0x0007b1, 0x0007b1, WB_ALetter },
> - {0x0007c0, 0x0007c9, WB_Numeric },
> - {0x0007ca, 0x0007ea, WB_ALetter },
> - {0x0007eb, 0x0007f3, WB_Extend },
> - {0x0007f4, 0x0007f5, WB_ALetter },
> - {0x0007f8, 0x0007f8, WB_MidNum },
> - {0x0007fa, 0x0007fa, WB_ALetter },
> - {0x0007fd, 0x0007fd, WB_Extend },
> - {0x000800, 0x000815, WB_ALetter },
> - {0x000816, 0x000819, WB_Extend },
> - {0x00081a, 0x00081a, WB_ALetter },
> - {0x00081b, 0x000823, WB_Extend },
> - {0x000824, 0x000824, WB_ALetter },
> - {0x000825, 0x000827, WB_Extend },
> - {0x000828, 0x000828, WB_ALetter },
> - {0x000829, 0x00082d, WB_Extend },
> - {0x000840, 0x000858, WB_ALetter },
> - {0x000859, 0x00085b, WB_Extend },
> - {0x000860, 0x00086a, WB_ALetter },
> - {0x0008a0, 0x0008b4, WB_ALetter },
> - {0x0008b6, 0x0008bd, WB_ALetter },
> - {0x0008d3, 0x0008e1, WB_Extend },
> - {0x0008e2, 0x0008e2, WB_Format },
> - {0x0008e3, 0x000903, WB_Extend },
> - {0x000904, 0x000939, WB_ALetter },
> - {0x00093a, 0x00093c, WB_Extend },
> - {0x00093d, 0x00093d, WB_ALetter },
> - {0x00093e, 0x00094f, WB_Extend },
> - {0x000950, 0x000950, WB_ALetter },
> - {0x000951, 0x000957, WB_Extend },
> - {0x000958, 0x000961, WB_ALetter },
> - {0x000962, 0x000963, WB_Extend },
> - {0x000966, 0x00096f, WB_Numeric },
> - {0x000971, 0x000980, WB_ALetter },
> - {0x000981, 0x000983, WB_Extend },
> - {0x000985, 0x00098c, WB_ALetter },
> - {0x00098f, 0x000990, WB_ALetter },
> - {0x000993, 0x0009a8, WB_ALetter },
> - {0x0009aa, 0x0009b0, WB_ALetter },
> - {0x0009b2, 0x0009b2, WB_ALetter },
> - {0x0009b6, 0x0009b9, WB_ALetter },
> - {0x0009bc, 0x0009bc, WB_Extend },
> - {0x0009bd, 0x0009bd, WB_ALetter },
> - {0x0009be, 0x0009c4, WB_Extend },
> - {0x0009c7, 0x0009c8, WB_Extend },
> - {0x0009cb, 0x0009cd, WB_Extend },
> - {0x0009ce, 0x0009ce, WB_ALetter },
> - {0x0009d7, 0x0009d7, WB_Extend },
> - {0x0009dc, 0x0009dd, WB_ALetter },
> - {0x0009df, 0x0009e1, WB_ALetter },
> - {0x0009e2, 0x0009e3, WB_Extend },
> - {0x0009e6, 0x0009ef, WB_Numeric },
> - {0x0009f0, 0x0009f1, WB_ALetter },
> - {0x0009fc, 0x0009fc, WB_ALetter },
> - {0x0009fe, 0x0009fe, WB_Extend },
> - {0x000a01, 0x000a03, WB_Extend },
> - {0x000a05, 0x000a0a, WB_ALetter },
> - {0x000a0f, 0x000a10, WB_ALetter },
> - {0x000a13, 0x000a28, WB_ALetter },
> - {0x000a2a, 0x000a30, WB_ALetter },
> - {0x000a32, 0x000a33, WB_ALetter },
> - {0x000a35, 0x000a36, WB_ALetter },
> - {0x000a38, 0x000a39, WB_ALetter },
> - {0x000a3c, 0x000a3c, WB_Extend },
> - {0x000a3e, 0x000a42, WB_Extend },
> - {0x000a47, 0x000a48, WB_Extend },
> - {0x000a4b, 0x000a4d, WB_Extend },
> - {0x000a51, 0x000a51, WB_Extend },
> - {0x000a59, 0x000a5c, WB_ALetter },
> - {0x000a5e, 0x000a5e, WB_ALetter },
> - {0x000a66, 0x000a6f, WB_Numeric },
> - {0x000a70, 0x000a71, WB_Extend },
> - {0x000a72, 0x000a74, WB_ALetter },
> - {0x000a75, 0x000a75, WB_Extend },
> - {0x000a81, 0x000a83, WB_Extend },
> - {0x000a85, 0x000a8d, WB_ALetter },
> - {0x000a8f, 0x000a91, WB_ALetter },
> - {0x000a93, 0x000aa8, WB_ALetter },
> - {0x000aaa, 0x000ab0, WB_ALetter },
> - {0x000ab2, 0x000ab3, WB_ALetter },
> - {0x000ab5, 0x000ab9, WB_ALetter },
> - {0x000abc, 0x000abc, WB_Extend },
> - {0x000abd, 0x000abd, WB_ALetter },
> - {0x000abe, 0x000ac5, WB_Extend },
> - {0x000ac7, 0x000ac9, WB_Extend },
> - {0x000acb, 0x000acd, WB_Extend },
> - {0x000ad0, 0x000ad0, WB_ALetter },
> - {0x000ae0, 0x000ae1, WB_ALetter },
> - {0x000ae2, 0x000ae3, WB_Extend },
> - {0x000ae6, 0x000aef, WB_Numeric },
> - {0x000af9, 0x000af9, WB_ALetter },
> - {0x000afa, 0x000aff, WB_Extend },
> - {0x000b01, 0x000b03, WB_Extend },
> - {0x000b05, 0x000b0c, WB_ALetter },
> - {0x000b0f, 0x000b10, WB_ALetter },
> - {0x000b13, 0x000b28, WB_ALetter },
> - {0x000b2a, 0x000b30, WB_ALetter },
> - {0x000b32, 0x000b33, WB_ALetter },
> - {0x000b35, 0x000b39, WB_ALetter },
> - {0x000b3c, 0x000b3c, WB_Extend },
> - {0x000b3d, 0x000b3d, WB_ALetter },
> - {0x000b3e, 0x000b44, WB_Extend },
> - {0x000b47, 0x000b48, WB_Extend },
> - {0x000b4b, 0x000b4d, WB_Extend },
> - {0x000b56, 0x000b57, WB_Extend },
> - {0x000b5c, 0x000b5d, WB_ALetter },
> - {0x000b5f, 0x000b61, WB_ALetter },
> - {0x000b62, 0x000b63, WB_Extend },
> - {0x000b66, 0x000b6f, WB_Numeric },
> - {0x000b71, 0x000b71, WB_ALetter },
> - {0x000b82, 0x000b82, WB_Extend },
> - {0x000b83, 0x000b83, WB_ALetter },
> - {0x000b85, 0x000b8a, WB_ALetter },
> - {0x000b8e, 0x000b90, WB_ALetter },
> - {0x000b92, 0x000b95, WB_ALetter },
> - {0x000b99, 0x000b9a, WB_ALetter },
> - {0x000b9c, 0x000b9c, WB_ALetter },
> - {0x000b9e, 0x000b9f, WB_ALetter },
> - {0x000ba3, 0x000ba4, WB_ALetter },
> - {0x000ba8, 0x000baa, WB_ALetter },
> - {0x000bae, 0x000bb9, WB_ALetter },
> - {0x000bbe, 0x000bc2, WB_Extend },
> - {0x000bc6, 0x000bc8, WB_Extend },
> - {0x000bca, 0x000bcd, WB_Extend },
> - {0x000bd0, 0x000bd0, WB_ALetter },
> - {0x000bd7, 0x000bd7, WB_Extend },
> - {0x000be6, 0x000bef, WB_Numeric },
> - {0x000c00, 0x000c04, WB_Extend },
> - {0x000c05, 0x000c0c, WB_ALetter },
> - {0x000c0e, 0x000c10, WB_ALetter },
> - {0x000c12, 0x000c28, WB_ALetter },
> - {0x000c2a, 0x000c39, WB_ALetter },
> - {0x000c3d, 0x000c3d, WB_ALetter },
> - {0x000c3e, 0x000c44, WB_Extend },
> - {0x000c46, 0x000c48, WB_Extend },
> - {0x000c4a, 0x000c4d, WB_Extend },
> - {0x000c55, 0x000c56, WB_Extend },
> - {0x000c58, 0x000c5a, WB_ALetter },
> - {0x000c60, 0x000c61, WB_ALetter },
> - {0x000c62, 0x000c63, WB_Extend },
> - {0x000c66, 0x000c6f, WB_Numeric },
> - {0x000c80, 0x000c80, WB_ALetter },
> - {0x000c81, 0x000c83, WB_Extend },
> - {0x000c85, 0x000c8c, WB_ALetter },
> - {0x000c8e, 0x000c90, WB_ALetter },
> - {0x000c92, 0x000ca8, WB_ALetter },
> - {0x000caa, 0x000cb3, WB_ALetter },
> - {0x000cb5, 0x000cb9, WB_ALetter },
> - {0x000cbc, 0x000cbc, WB_Extend },
> - {0x000cbd, 0x000cbd, WB_ALetter },
> - {0x000cbe, 0x000cc4, WB_Extend },
> - {0x000cc6, 0x000cc8, WB_Extend },
> - {0x000cca, 0x000ccd, WB_Extend },
> - {0x000cd5, 0x000cd6, WB_Extend },
> - {0x000cde, 0x000cde, WB_ALetter },
> - {0x000ce0, 0x000ce1, WB_ALetter },
> - {0x000ce2, 0x000ce3, WB_Extend },
> - {0x000ce6, 0x000cef, WB_Numeric },
> - {0x000cf1, 0x000cf2, WB_ALetter },
> - {0x000d00, 0x000d03, WB_Extend },
> - {0x000d05, 0x000d0c, WB_ALetter },
> - {0x000d0e, 0x000d10, WB_ALetter },
> - {0x000d12, 0x000d3a, WB_ALetter },
> - {0x000d3b, 0x000d3c, WB_Extend },
> - {0x000d3d, 0x000d3d, WB_ALetter },
> - {0x000d3e, 0x000d44, WB_Extend },
> - {0x000d46, 0x000d48, WB_Extend },
> - {0x000d4a, 0x000d4d, WB_Extend },
> - {0x000d4e, 0x000d4e, WB_ALetter },
> - {0x000d54, 0x000d56, WB_ALetter },
> - {0x000d57, 0x000d57, WB_Extend },
> - {0x000d5f, 0x000d61, WB_ALetter },
> - {0x000d62, 0x000d63, WB_Extend },
> - {0x000d66, 0x000d6f, WB_Numeric },
> - {0x000d7a, 0x000d7f, WB_ALetter },
> - {0x000d82, 0x000d83, WB_Extend },
> - {0x000d85, 0x000d96, WB_ALetter },
> - {0x000d9a, 0x000db1, WB_ALetter },
> - {0x000db3, 0x000dbb, WB_ALetter },
> - {0x000dbd, 0x000dbd, WB_ALetter },
> - {0x000dc0, 0x000dc6, WB_ALetter },
> - {0x000dca, 0x000dca, WB_Extend },
> - {0x000dcf, 0x000dd4, WB_Extend },
> - {0x000dd6, 0x000dd6, WB_Extend },
> - {0x000dd8, 0x000ddf, WB_Extend },
> - {0x000de6, 0x000def, WB_Numeric },
> - {0x000df2, 0x000df3, WB_Extend },
> - {0x000e31, 0x000e31, WB_Extend },
> - {0x000e34, 0x000e3a, WB_Extend },
> - {0x000e47, 0x000e4e, WB_Extend },
> - {0x000e50, 0x000e59, WB_Numeric },
> - {0x000eb1, 0x000eb1, WB_Extend },
> - {0x000eb4, 0x000ebc, WB_Extend },
> - {0x000ec8, 0x000ecd, WB_Extend },
> - {0x000ed0, 0x000ed9, WB_Numeric },
> - {0x000f00, 0x000f00, WB_ALetter },
> - {0x000f18, 0x000f19, WB_Extend },
> - {0x000f20, 0x000f29, WB_Numeric },
> - {0x000f35, 0x000f35, WB_Extend },
> - {0x000f37, 0x000f37, WB_Extend },
> - {0x000f39, 0x000f39, WB_Extend },
> - {0x000f3e, 0x000f3f, WB_Extend },
> - {0x000f40, 0x000f47, WB_ALetter },
> - {0x000f49, 0x000f6c, WB_ALetter },
> - {0x000f71, 0x000f84, WB_Extend },
> - {0x000f86, 0x000f87, WB_Extend },
> - {0x000f88, 0x000f8c, WB_ALetter },
> - {0x000f8d, 0x000f97, WB_Extend },
> - {0x000f99, 0x000fbc, WB_Extend },
> - {0x000fc6, 0x000fc6, WB_Extend },
> - {0x00102b, 0x00103e, WB_Extend },
> - {0x001040, 0x001049, WB_Numeric },
> - {0x001056, 0x001059, WB_Extend },
> - {0x00105e, 0x001060, WB_Extend },
> - {0x001062, 0x001064, WB_Extend },
> - {0x001067, 0x00106d, WB_Extend },
> - {0x001071, 0x001074, WB_Extend },
> - {0x001082, 0x00108d, WB_Extend },
> - {0x00108f, 0x00108f, WB_Extend },
> - {0x001090, 0x001099, WB_Numeric },
> - {0x00109a, 0x00109d, WB_Extend },
> - {0x0010a0, 0x0010c5, WB_ALetter },
> - {0x0010c7, 0x0010c7, WB_ALetter },
> - {0x0010cd, 0x0010cd, WB_ALetter },
> - {0x0010d0, 0x0010fa, WB_ALetter },
> - {0x0010fc, 0x001248, WB_ALetter },
> - {0x00124a, 0x00124d, WB_ALetter },
> - {0x001250, 0x001256, WB_ALetter },
> - {0x001258, 0x001258, WB_ALetter },
> - {0x00125a, 0x00125d, WB_ALetter },
> - {0x001260, 0x001288, WB_ALetter },
> - {0x00128a, 0x00128d, WB_ALetter },
> - {0x001290, 0x0012b0, WB_ALetter },
> - {0x0012b2, 0x0012b5, WB_ALetter },
> - {0x0012b8, 0x0012be, WB_ALetter },
> - {0x0012c0, 0x0012c0, WB_ALetter },
> - {0x0012c2, 0x0012c5, WB_ALetter },
> - {0x0012c8, 0x0012d6, WB_ALetter },
> - {0x0012d8, 0x001310, WB_ALetter },
> - {0x001312, 0x001315, WB_ALetter },
> - {0x001318, 0x00135a, WB_ALetter },
> - {0x00135d, 0x00135f, WB_Extend },
> - {0x001380, 0x00138f, WB_ALetter },
> - {0x0013a0, 0x0013f5, WB_ALetter },
> - {0x0013f8, 0x0013fd, WB_ALetter },
> - {0x001401, 0x00166c, WB_ALetter },
> - {0x00166f, 0x00167f, WB_ALetter },
> - {0x001680, 0x001680, WB_WSegSpace },
> - {0x001681, 0x00169a, WB_ALetter },
> - {0x0016a0, 0x0016ea, WB_ALetter },
> - {0x0016ee, 0x0016f8, WB_ALetter },
> - {0x001700, 0x00170c, WB_ALetter },
> - {0x00170e, 0x001711, WB_ALetter },
> - {0x001712, 0x001714, WB_Extend },
> - {0x001720, 0x001731, WB_ALetter },
> - {0x001732, 0x001734, WB_Extend },
> - {0x001740, 0x001751, WB_ALetter },
> - {0x001752, 0x001753, WB_Extend },
> - {0x001760, 0x00176c, WB_ALetter },
> - {0x00176e, 0x001770, WB_ALetter },
> - {0x001772, 0x001773, WB_Extend },
> - {0x0017b4, 0x0017d3, WB_Extend },
> - {0x0017dd, 0x0017dd, WB_Extend },
> - {0x0017e0, 0x0017e9, WB_Numeric },
> - {0x00180b, 0x00180d, WB_Extend },
> - {0x00180e, 0x00180e, WB_Format },
> - {0x001810, 0x001819, WB_Numeric },
> - {0x001820, 0x001878, WB_ALetter },
> - {0x001880, 0x001884, WB_ALetter },
> - {0x001885, 0x001886, WB_Extend },
> - {0x001887, 0x0018a8, WB_ALetter },
> - {0x0018a9, 0x0018a9, WB_Extend },
> - {0x0018aa, 0x0018aa, WB_ALetter },
> - {0x0018b0, 0x0018f5, WB_ALetter },
> - {0x001900, 0x00191e, WB_ALetter },
> - {0x001920, 0x00192b, WB_Extend },
> - {0x001930, 0x00193b, WB_Extend },
> - {0x001946, 0x00194f, WB_Numeric },
> - {0x0019d0, 0x0019d9, WB_Numeric },
> - {0x001a00, 0x001a16, WB_ALetter },
> - {0x001a17, 0x001a1b, WB_Extend },
> - {0x001a55, 0x001a5e, WB_Extend },
> - {0x001a60, 0x001a7c, WB_Extend },
> - {0x001a7f, 0x001a7f, WB_Extend },
> - {0x001a80, 0x001a89, WB_Numeric },
> - {0x001a90, 0x001a99, WB_Numeric },
> - {0x001ab0, 0x001abe, WB_Extend },
> - {0x001b00, 0x001b04, WB_Extend },
> - {0x001b05, 0x001b33, WB_ALetter },
> - {0x001b34, 0x001b44, WB_Extend },
> - {0x001b45, 0x001b4b, WB_ALetter },
> - {0x001b50, 0x001b59, WB_Numeric },
> - {0x001b6b, 0x001b73, WB_Extend },
> - {0x001b80, 0x001b82, WB_Extend },
> - {0x001b83, 0x001ba0, WB_ALetter },
> - {0x001ba1, 0x001bad, WB_Extend },
> - {0x001bae, 0x001baf, WB_ALetter },
> - {0x001bb0, 0x001bb9, WB_Numeric },
> - {0x001bba, 0x001be5, WB_ALetter },
> - {0x001be6, 0x001bf3, WB_Extend },
> - {0x001c00, 0x001c23, WB_ALetter },
> - {0x001c24, 0x001c37, WB_Extend },
> - {0x001c40, 0x001c49, WB_Numeric },
> - {0x001c4d, 0x001c4f, WB_ALetter },
> - {0x001c50, 0x001c59, WB_Numeric },
> - {0x001c5a, 0x001c7d, WB_ALetter },
> - {0x001c80, 0x001c88, WB_ALetter },
> - {0x001c90, 0x001cba, WB_ALetter },
> - {0x001cbd, 0x001cbf, WB_ALetter },
> - {0x001cd0, 0x001cd2, WB_Extend },
> - {0x001cd4, 0x001ce8, WB_Extend },
> - {0x001ce9, 0x001cec, WB_ALetter },
> - {0x001ced, 0x001ced, WB_Extend },
> - {0x001cee, 0x001cf3, WB_ALetter },
> - {0x001cf4, 0x001cf4, WB_Extend },
> - {0x001cf5, 0x001cf6, WB_ALetter },
> - {0x001cf7, 0x001cf9, WB_Extend },
> - {0x001cfa, 0x001cfa, WB_ALetter },
> - {0x001d00, 0x001dbf, WB_ALetter },
> - {0x001dc0, 0x001df9, WB_Extend },
> - {0x001dfb, 0x001dff, WB_Extend },
> - {0x001e00, 0x001f15, WB_ALetter },
> - {0x001f18, 0x001f1d, WB_ALetter },
> - {0x001f20, 0x001f45, WB_ALetter },
> - {0x001f48, 0x001f4d, WB_ALetter },
> - {0x001f50, 0x001f57, WB_ALetter },
> - {0x001f59, 0x001f59, WB_ALetter },
> - {0x001f5b, 0x001f5b, WB_ALetter },
> - {0x001f5d, 0x001f5d, WB_ALetter },
> - {0x001f5f, 0x001f7d, WB_ALetter },
> - {0x001f80, 0x001fb4, WB_ALetter },
> - {0x001fb6, 0x001fbc, WB_ALetter },
> - {0x001fbe, 0x001fbe, WB_ALetter },
> - {0x001fc2, 0x001fc4, WB_ALetter },
> - {0x001fc6, 0x001fcc, WB_ALetter },
> - {0x001fd0, 0x001fd3, WB_ALetter },
> - {0x001fd6, 0x001fdb, WB_ALetter },
> - {0x001fe0, 0x001fec, WB_ALetter },
> - {0x001ff2, 0x001ff4, WB_ALetter },
> - {0x001ff6, 0x001ffc, WB_ALetter },
> - {0x002000, 0x002006, WB_WSegSpace },
> - {0x002008, 0x00200a, WB_WSegSpace },
> - {0x00200c, 0x00200c, WB_Extend },
> - {0x00200d, 0x00200d, WB_ZWJ },
> - {0x00200e, 0x00200f, WB_Format },
> - {0x002018, 0x002019, WB_MidNumLet },
> - {0x002024, 0x002024, WB_MidNumLet },
> - {0x002027, 0x002027, WB_MidLetter },
> - {0x002028, 0x002029, WB_Newline },
> - {0x00202a, 0x00202e, WB_Format },
> - {0x00202f, 0x00202f, WB_ExtendNumLet },
> - {0x00203f, 0x002040, WB_ExtendNumLet },
> - {0x002044, 0x002044, WB_MidNum },
> - {0x002054, 0x002054, WB_ExtendNumLet },
> - {0x00205f, 0x00205f, WB_WSegSpace },
> - {0x002060, 0x002064, WB_Format },
> - {0x002066, 0x00206f, WB_Format },
> - {0x002071, 0x002071, WB_ALetter },
> - {0x00207f, 0x00207f, WB_ALetter },
> - {0x002090, 0x00209c, WB_ALetter },
> - {0x0020d0, 0x0020f0, WB_Extend },
> - {0x002102, 0x002102, WB_ALetter },
> - {0x002107, 0x002107, WB_ALetter },
> - {0x00210a, 0x002113, WB_ALetter },
> - {0x002115, 0x002115, WB_ALetter },
> - {0x002119, 0x00211d, WB_ALetter },
> - {0x002124, 0x002124, WB_ALetter },
> - {0x002126, 0x002126, WB_ALetter },
> - {0x002128, 0x002128, WB_ALetter },
> - {0x00212a, 0x00212d, WB_ALetter },
> - {0x00212f, 0x002139, WB_ALetter },
> - {0x00213c, 0x00213f, WB_ALetter },
> - {0x002145, 0x002149, WB_ALetter },
> - {0x00214e, 0x00214e, WB_ALetter },
> - {0x002160, 0x002188, WB_ALetter },
> - {0x0024b6, 0x0024e9, WB_ALetter },
> - {0x002c00, 0x002c2e, WB_ALetter },
> - {0x002c30, 0x002c5e, WB_ALetter },
> - {0x002c60, 0x002ce4, WB_ALetter },
> - {0x002ceb, 0x002cee, WB_ALetter },
> - {0x002cef, 0x002cf1, WB_Extend },
> - {0x002cf2, 0x002cf3, WB_ALetter },
> - {0x002d00, 0x002d25, WB_ALetter },
> - {0x002d27, 0x002d27, WB_ALetter },
> - {0x002d2d, 0x002d2d, WB_ALetter },
> - {0x002d30, 0x002d67, WB_ALetter },
> - {0x002d6f, 0x002d6f, WB_ALetter },
> - {0x002d7f, 0x002d7f, WB_Extend },
> - {0x002d80, 0x002d96, WB_ALetter },
> - {0x002da0, 0x002da6, WB_ALetter },
> - {0x002da8, 0x002dae, WB_ALetter },
> - {0x002db0, 0x002db6, WB_ALetter },
> - {0x002db8, 0x002dbe, WB_ALetter },
> - {0x002dc0, 0x002dc6, WB_ALetter },
> - {0x002dc8, 0x002dce, WB_ALetter },
> - {0x002dd0, 0x002dd6, WB_ALetter },
> - {0x002dd8, 0x002dde, WB_ALetter },
> - {0x002de0, 0x002dff, WB_Extend },
> - {0x002e2f, 0x002e2f, WB_ALetter },
> - {0x003000, 0x003000, WB_WSegSpace },
> - {0x003005, 0x003005, WB_ALetter },
> - {0x00302a, 0x00302f, WB_Extend },
> - {0x003031, 0x003035, WB_Katakana },
> - {0x00303b, 0x00303c, WB_ALetter },
> - {0x003099, 0x00309a, WB_Extend },
> - {0x00309b, 0x00309c, WB_Katakana },
> - {0x0030a0, 0x0030fa, WB_Katakana },
> - {0x0030fc, 0x0030ff, WB_Katakana },
> - {0x003105, 0x00312f, WB_ALetter },
> - {0x003131, 0x00318e, WB_ALetter },
> - {0x0031a0, 0x0031ba, WB_ALetter },
> - {0x0031f0, 0x0031ff, WB_Katakana },
> - {0x0032d0, 0x0032fe, WB_Katakana },
> - {0x003300, 0x003357, WB_Katakana },
> - {0x00a000, 0x00a48c, WB_ALetter },
> - {0x00a4d0, 0x00a4fd, WB_ALetter },
> - {0x00a500, 0x00a60c, WB_ALetter },
> - {0x00a610, 0x00a61f, WB_ALetter },
> - {0x00a620, 0x00a629, WB_Numeric },
> - {0x00a62a, 0x00a62b, WB_ALetter },
> - {0x00a640, 0x00a66e, WB_ALetter },
> - {0x00a66f, 0x00a672, WB_Extend },
> - {0x00a674, 0x00a67d, WB_Extend },
> - {0x00a67f, 0x00a69d, WB_ALetter },
> - {0x00a69e, 0x00a69f, WB_Extend },
> - {0x00a6a0, 0x00a6ef, WB_ALetter },
> - {0x00a6f0, 0x00a6f1, WB_Extend },
> - {0x00a717, 0x00a7bf, WB_ALetter },
> - {0x00a7c2, 0x00a7c6, WB_ALetter },
> - {0x00a7f7, 0x00a801, WB_ALetter },
> - {0x00a802, 0x00a802, WB_Extend },
> - {0x00a803, 0x00a805, WB_ALetter },
> - {0x00a806, 0x00a806, WB_Extend },
> - {0x00a807, 0x00a80a, WB_ALetter },
> - {0x00a80b, 0x00a80b, WB_Extend },
> - {0x00a80c, 0x00a822, WB_ALetter },
> - {0x00a823, 0x00a827, WB_Extend },
> - {0x00a840, 0x00a873, WB_ALetter },
> - {0x00a880, 0x00a881, WB_Extend },
> - {0x00a882, 0x00a8b3, WB_ALetter },
> - {0x00a8b4, 0x00a8c5, WB_Extend },
> - {0x00a8d0, 0x00a8d9, WB_Numeric },
> - {0x00a8e0, 0x00a8f1, WB_Extend },
> - {0x00a8f2, 0x00a8f7, WB_ALetter },
> - {0x00a8fb, 0x00a8fb, WB_ALetter },
> - {0x00a8fd, 0x00a8fe, WB_ALetter },
> - {0x00a8ff, 0x00a8ff, WB_Extend },
> - {0x00a900, 0x00a909, WB_Numeric },
> - {0x00a90a, 0x00a925, WB_ALetter },
> - {0x00a926, 0x00a92d, WB_Extend },
> - {0x00a930, 0x00a946, WB_ALetter },
> - {0x00a947, 0x00a953, WB_Extend },
> - {0x00a960, 0x00a97c, WB_ALetter },
> - {0x00a980, 0x00a983, WB_Extend },
> - {0x00a984, 0x00a9b2, WB_ALetter },
> - {0x00a9b3, 0x00a9c0, WB_Extend },
> - {0x00a9cf, 0x00a9cf, WB_ALetter },
> - {0x00a9d0, 0x00a9d9, WB_Numeric },
> - {0x00a9e5, 0x00a9e5, WB_Extend },
> - {0x00a9f0, 0x00a9f9, WB_Numeric },
> - {0x00aa00, 0x00aa28, WB_ALetter },
> - {0x00aa29, 0x00aa36, WB_Extend },
> - {0x00aa40, 0x00aa42, WB_ALetter },
> - {0x00aa43, 0x00aa43, WB_Extend },
> - {0x00aa44, 0x00aa4b, WB_ALetter },
> - {0x00aa4c, 0x00aa4d, WB_Extend },
> - {0x00aa50, 0x00aa59, WB_Numeric },
> - {0x00aa7b, 0x00aa7d, WB_Extend },
> - {0x00aab0, 0x00aab0, WB_Extend },
> - {0x00aab2, 0x00aab4, WB_Extend },
> - {0x00aab7, 0x00aab8, WB_Extend },
> - {0x00aabe, 0x00aabf, WB_Extend },
> - {0x00aac1, 0x00aac1, WB_Extend },
> - {0x00aae0, 0x00aaea, WB_ALetter },
> - {0x00aaeb, 0x00aaef, WB_Extend },
> - {0x00aaf2, 0x00aaf4, WB_ALetter },
> - {0x00aaf5, 0x00aaf6, WB_Extend },
> - {0x00ab01, 0x00ab06, WB_ALetter },
> - {0x00ab09, 0x00ab0e, WB_ALetter },
> - {0x00ab11, 0x00ab16, WB_ALetter },
> - {0x00ab20, 0x00ab26, WB_ALetter },
> - {0x00ab28, 0x00ab2e, WB_ALetter },
> - {0x00ab30, 0x00ab67, WB_ALetter },
> - {0x00ab70, 0x00abe2, WB_ALetter },
> - {0x00abe3, 0x00abea, WB_Extend },
> - {0x00abec, 0x00abed, WB_Extend },
> - {0x00abf0, 0x00abf9, WB_Numeric },
> - {0x00ac00, 0x00d7a3, WB_ALetter },
> - {0x00d7b0, 0x00d7c6, WB_ALetter },
> - {0x00d7cb, 0x00d7fb, WB_ALetter },
> - {0x00fb00, 0x00fb06, WB_ALetter },
> - {0x00fb13, 0x00fb17, WB_ALetter },
> - {0x00fb1d, 0x00fb1d, WB_Hebrew_Letter },
> - {0x00fb1e, 0x00fb1e, WB_Extend },
> - {0x00fb1f, 0x00fb28, WB_Hebrew_Letter },
> - {0x00fb2a, 0x00fb36, WB_Hebrew_Letter },
> - {0x00fb38, 0x00fb3c, WB_Hebrew_Letter },
> - {0x00fb3e, 0x00fb3e, WB_Hebrew_Letter },
> - {0x00fb40, 0x00fb41, WB_Hebrew_Letter },
> - {0x00fb43, 0x00fb44, WB_Hebrew_Letter },
> - {0x00fb46, 0x00fb4f, WB_Hebrew_Letter },
> - {0x00fb50, 0x00fbb1, WB_ALetter },
> - {0x00fbd3, 0x00fd3d, WB_ALetter },
> - {0x00fd50, 0x00fd8f, WB_ALetter },
> - {0x00fd92, 0x00fdc7, WB_ALetter },
> - {0x00fdf0, 0x00fdfb, WB_ALetter },
> - {0x00fe00, 0x00fe0f, WB_Extend },
> - {0x00fe10, 0x00fe10, WB_MidNum },
> - {0x00fe13, 0x00fe13, WB_MidLetter },
> - {0x00fe14, 0x00fe14, WB_MidNum },
> - {0x00fe20, 0x00fe2f, WB_Extend },
> - {0x00fe33, 0x00fe34, WB_ExtendNumLet },
> - {0x00fe4d, 0x00fe4f, WB_ExtendNumLet },
> - {0x00fe50, 0x00fe50, WB_MidNum },
> - {0x00fe52, 0x00fe52, WB_MidNumLet },
> - {0x00fe54, 0x00fe54, WB_MidNum },
> - {0x00fe55, 0x00fe55, WB_MidLetter },
> - {0x00fe70, 0x00fe74, WB_ALetter },
> - {0x00fe76, 0x00fefc, WB_ALetter },
> - {0x00feff, 0x00feff, WB_Format },
> - {0x00ff07, 0x00ff07, WB_MidNumLet },
> - {0x00ff0c, 0x00ff0c, WB_MidNum },
> - {0x00ff0e, 0x00ff0e, WB_MidNumLet },
> - {0x00ff10, 0x00ff19, WB_Numeric },
> - {0x00ff1a, 0x00ff1a, WB_MidLetter },
> - {0x00ff1b, 0x00ff1b, WB_MidNum },
> - {0x00ff21, 0x00ff3a, WB_ALetter },
> - {0x00ff3f, 0x00ff3f, WB_ExtendNumLet },
> - {0x00ff41, 0x00ff5a, WB_ALetter },
> - {0x00ff66, 0x00ff9d, WB_Katakana },
> - {0x00ff9e, 0x00ff9f, WB_Extend },
> - {0x00ffa0, 0x00ffbe, WB_ALetter },
> - {0x00ffc2, 0x00ffc7, WB_ALetter },
> - {0x00ffca, 0x00ffcf, WB_ALetter },
> - {0x00ffd2, 0x00ffd7, WB_ALetter },
> - {0x00ffda, 0x00ffdc, WB_ALetter },
> - {0x00fff9, 0x00fffb, WB_Format },
> - {0x010000, 0x01000b, WB_ALetter },
> - {0x01000d, 0x010026, WB_ALetter },
> - {0x010028, 0x01003a, WB_ALetter },
> - {0x01003c, 0x01003d, WB_ALetter },
> - {0x01003f, 0x01004d, WB_ALetter },
> - {0x010050, 0x01005d, WB_ALetter },
> - {0x010080, 0x0100fa, WB_ALetter },
> - {0x010140, 0x010174, WB_ALetter },
> - {0x0101fd, 0x0101fd, WB_Extend },
> - {0x010280, 0x01029c, WB_ALetter },
> - {0x0102a0, 0x0102d0, WB_ALetter },
> - {0x0102e0, 0x0102e0, WB_Extend },
> - {0x010300, 0x01031f, WB_ALetter },
> - {0x01032d, 0x01034a, WB_ALetter },
> - {0x010350, 0x010375, WB_ALetter },
> - {0x010376, 0x01037a, WB_Extend },
> - {0x010380, 0x01039d, WB_ALetter },
> - {0x0103a0, 0x0103c3, WB_ALetter },
> - {0x0103c8, 0x0103cf, WB_ALetter },
> - {0x0103d1, 0x0103d5, WB_ALetter },
> - {0x010400, 0x01049d, WB_ALetter },
> - {0x0104a0, 0x0104a9, WB_Numeric },
> - {0x0104b0, 0x0104d3, WB_ALetter },
> - {0x0104d8, 0x0104fb, WB_ALetter },
> - {0x010500, 0x010527, WB_ALetter },
> - {0x010530, 0x010563, WB_ALetter },
> - {0x010600, 0x010736, WB_ALetter },
> - {0x010740, 0x010755, WB_ALetter },
> - {0x010760, 0x010767, WB_ALetter },
> - {0x010800, 0x010805, WB_ALetter },
> - {0x010808, 0x010808, WB_ALetter },
> - {0x01080a, 0x010835, WB_ALetter },
> - {0x010837, 0x010838, WB_ALetter },
> - {0x01083c, 0x01083c, WB_ALetter },
> - {0x01083f, 0x010855, WB_ALetter },
> - {0x010860, 0x010876, WB_ALetter },
> - {0x010880, 0x01089e, WB_ALetter },
> - {0x0108e0, 0x0108f2, WB_ALetter },
> - {0x0108f4, 0x0108f5, WB_ALetter },
> - {0x010900, 0x010915, WB_ALetter },
> - {0x010920, 0x010939, WB_ALetter },
> - {0x010980, 0x0109b7, WB_ALetter },
> - {0x0109be, 0x0109bf, WB_ALetter },
> - {0x010a00, 0x010a00, WB_ALetter },
> - {0x010a01, 0x010a03, WB_Extend },
> - {0x010a05, 0x010a06, WB_Extend },
> - {0x010a0c, 0x010a0f, WB_Extend },
> - {0x010a10, 0x010a13, WB_ALetter },
> - {0x010a15, 0x010a17, WB_ALetter },
> - {0x010a19, 0x010a35, WB_ALetter },
> - {0x010a38, 0x010a3a, WB_Extend },
> - {0x010a3f, 0x010a3f, WB_Extend },
> - {0x010a60, 0x010a7c, WB_ALetter },
> - {0x010a80, 0x010a9c, WB_ALetter },
> - {0x010ac0, 0x010ac7, WB_ALetter },
> - {0x010ac9, 0x010ae4, WB_ALetter },
> - {0x010ae5, 0x010ae6, WB_Extend },
> - {0x010b00, 0x010b35, WB_ALetter },
> - {0x010b40, 0x010b55, WB_ALetter },
> - {0x010b60, 0x010b72, WB_ALetter },
> - {0x010b80, 0x010b91, WB_ALetter },
> - {0x010c00, 0x010c48, WB_ALetter },
> - {0x010c80, 0x010cb2, WB_ALetter },
> - {0x010cc0, 0x010cf2, WB_ALetter },
> - {0x010d00, 0x010d23, WB_ALetter },
> - {0x010d24, 0x010d27, WB_Extend },
> - {0x010d30, 0x010d39, WB_Numeric },
> - {0x010f00, 0x010f1c, WB_ALetter },
> - {0x010f27, 0x010f27, WB_ALetter },
> - {0x010f30, 0x010f45, WB_ALetter },
> - {0x010f46, 0x010f50, WB_Extend },
> - {0x010fe0, 0x010ff6, WB_ALetter },
> - {0x011000, 0x011002, WB_Extend },
> - {0x011003, 0x011037, WB_ALetter },
> - {0x011038, 0x011046, WB_Extend },
> - {0x011066, 0x01106f, WB_Numeric },
> - {0x01107f, 0x011082, WB_Extend },
> - {0x011083, 0x0110af, WB_ALetter },
> - {0x0110b0, 0x0110ba, WB_Extend },
> - {0x0110bd, 0x0110bd, WB_Format },
> - {0x0110cd, 0x0110cd, WB_Format },
> - {0x0110d0, 0x0110e8, WB_ALetter },
> - {0x0110f0, 0x0110f9, WB_Numeric },
> - {0x011100, 0x011102, WB_Extend },
> - {0x011103, 0x011126, WB_ALetter },
> - {0x011127, 0x011134, WB_Extend },
> - {0x011136, 0x01113f, WB_Numeric },
> - {0x011144, 0x011144, WB_ALetter },
> - {0x011145, 0x011146, WB_Extend },
> - {0x011150, 0x011172, WB_ALetter },
> - {0x011173, 0x011173, WB_Extend },
> - {0x011176, 0x011176, WB_ALetter },
> - {0x011180, 0x011182, WB_Extend },
> - {0x011183, 0x0111b2, WB_ALetter },
> - {0x0111b3, 0x0111c0, WB_Extend },
> - {0x0111c1, 0x0111c4, WB_ALetter },
> - {0x0111c9, 0x0111cc, WB_Extend },
> - {0x0111d0, 0x0111d9, WB_Numeric },
> - {0x0111da, 0x0111da, WB_ALetter },
> - {0x0111dc, 0x0111dc, WB_ALetter },
> - {0x011200, 0x011211, WB_ALetter },
> - {0x011213, 0x01122b, WB_ALetter },
> - {0x01122c, 0x011237, WB_Extend },
> - {0x01123e, 0x01123e, WB_Extend },
> - {0x011280, 0x011286, WB_ALetter },
> - {0x011288, 0x011288, WB_ALetter },
> - {0x01128a, 0x01128d, WB_ALetter },
> - {0x01128f, 0x01129d, WB_ALetter },
> - {0x01129f, 0x0112a8, WB_ALetter },
> - {0x0112b0, 0x0112de, WB_ALetter },
> - {0x0112df, 0x0112ea, WB_Extend },
> - {0x0112f0, 0x0112f9, WB_Numeric },
> - {0x011300, 0x011303, WB_Extend },
> - {0x011305, 0x01130c, WB_ALetter },
> - {0x01130f, 0x011310, WB_ALetter },
> - {0x011313, 0x011328, WB_ALetter },
> - {0x01132a, 0x011330, WB_ALetter },
> - {0x011332, 0x011333, WB_ALetter },
> - {0x011335, 0x011339, WB_ALetter },
> - {0x01133b, 0x01133c, WB_Extend },
> - {0x01133d, 0x01133d, WB_ALetter },
> - {0x01133e, 0x011344, WB_Extend },
> - {0x011347, 0x011348, WB_Extend },
> - {0x01134b, 0x01134d, WB_Extend },
> - {0x011350, 0x011350, WB_ALetter },
> - {0x011357, 0x011357, WB_Extend },
> - {0x01135d, 0x011361, WB_ALetter },
> - {0x011362, 0x011363, WB_Extend },
> - {0x011366, 0x01136c, WB_Extend },
> - {0x011370, 0x011374, WB_Extend },
> - {0x011400, 0x011434, WB_ALetter },
> - {0x011435, 0x011446, WB_Extend },
> - {0x011447, 0x01144a, WB_ALetter },
> - {0x011450, 0x011459, WB_Numeric },
> - {0x01145e, 0x01145e, WB_Extend },
> - {0x01145f, 0x01145f, WB_ALetter },
> - {0x011480, 0x0114af, WB_ALetter },
> - {0x0114b0, 0x0114c3, WB_Extend },
> - {0x0114c4, 0x0114c5, WB_ALetter },
> - {0x0114c7, 0x0114c7, WB_ALetter },
> - {0x0114d0, 0x0114d9, WB_Numeric },
> - {0x011580, 0x0115ae, WB_ALetter },
> - {0x0115af, 0x0115b5, WB_Extend },
> - {0x0115b8, 0x0115c0, WB_Extend },
> - {0x0115d8, 0x0115db, WB_ALetter },
> - {0x0115dc, 0x0115dd, WB_Extend },
> - {0x011600, 0x01162f, WB_ALetter },
> - {0x011630, 0x011640, WB_Extend },
> - {0x011644, 0x011644, WB_ALetter },
> - {0x011650, 0x011659, WB_Numeric },
> - {0x011680, 0x0116aa, WB_ALetter },
> - {0x0116ab, 0x0116b7, WB_Extend },
> - {0x0116b8, 0x0116b8, WB_ALetter },
> - {0x0116c0, 0x0116c9, WB_Numeric },
> - {0x01171d, 0x01172b, WB_Extend },
> - {0x011730, 0x011739, WB_Numeric },
> - {0x011800, 0x01182b, WB_ALetter },
> - {0x01182c, 0x01183a, WB_Extend },
> - {0x0118a0, 0x0118df, WB_ALetter },
> - {0x0118e0, 0x0118e9, WB_Numeric },
> - {0x0118ff, 0x0118ff, WB_ALetter },
> - {0x0119a0, 0x0119a7, WB_ALetter },
> - {0x0119aa, 0x0119d0, WB_ALetter },
> - {0x0119d1, 0x0119d7, WB_Extend },
> - {0x0119da, 0x0119e0, WB_Extend },
> - {0x0119e1, 0x0119e1, WB_ALetter },
> - {0x0119e3, 0x0119e3, WB_ALetter },
> - {0x0119e4, 0x0119e4, WB_Extend },
> - {0x011a00, 0x011a00, WB_ALetter },
> - {0x011a01, 0x011a0a, WB_Extend },
> - {0x011a0b, 0x011a32, WB_ALetter },
> - {0x011a33, 0x011a39, WB_Extend },
> - {0x011a3a, 0x011a3a, WB_ALetter },
> - {0x011a3b, 0x011a3e, WB_Extend },
> - {0x011a47, 0x011a47, WB_Extend },
> - {0x011a50, 0x011a50, WB_ALetter },
> - {0x011a51, 0x011a5b, WB_Extend },
> - {0x011a5c, 0x011a89, WB_ALetter },
> - {0x011a8a, 0x011a99, WB_Extend },
> - {0x011a9d, 0x011a9d, WB_ALetter },
> - {0x011ac0, 0x011af8, WB_ALetter },
> - {0x011c00, 0x011c08, WB_ALetter },
> - {0x011c0a, 0x011c2e, WB_ALetter },
> - {0x011c2f, 0x011c36, WB_Extend },
> - {0x011c38, 0x011c3f, WB_Extend },
> - {0x011c40, 0x011c40, WB_ALetter },
> - {0x011c50, 0x011c59, WB_Numeric },
> - {0x011c72, 0x011c8f, WB_ALetter },
> - {0x011c92, 0x011ca7, WB_Extend },
> - {0x011ca9, 0x011cb6, WB_Extend },
> - {0x011d00, 0x011d06, WB_ALetter },
> - {0x011d08, 0x011d09, WB_ALetter },
> - {0x011d0b, 0x011d30, WB_ALetter },
> - {0x011d31, 0x011d36, WB_Extend },
> - {0x011d3a, 0x011d3a, WB_Extend },
> - {0x011d3c, 0x011d3d, WB_Extend },
> - {0x011d3f, 0x011d45, WB_Extend },
> - {0x011d46, 0x011d46, WB_ALetter },
> - {0x011d47, 0x011d47, WB_Extend },
> - {0x011d50, 0x011d59, WB_Numeric },
> - {0x011d60, 0x011d65, WB_ALetter },
> - {0x011d67, 0x011d68, WB_ALetter },
> - {0x011d6a, 0x011d89, WB_ALetter },
> - {0x011d8a, 0x011d8e, WB_Extend },
> - {0x011d90, 0x011d91, WB_Extend },
> - {0x011d93, 0x011d97, WB_Extend },
> - {0x011d98, 0x011d98, WB_ALetter },
> - {0x011da0, 0x011da9, WB_Numeric },
> - {0x011ee0, 0x011ef2, WB_ALetter },
> - {0x011ef3, 0x011ef6, WB_Extend },
> - {0x012000, 0x012399, WB_ALetter },
> - {0x012400, 0x01246e, WB_ALetter },
> - {0x012480, 0x012543, WB_ALetter },
> - {0x013000, 0x01342e, WB_ALetter },
> - {0x013430, 0x013438, WB_Format },
> - {0x014400, 0x014646, WB_ALetter },
> - {0x016800, 0x016a38, WB_ALetter },
> - {0x016a40, 0x016a5e, WB_ALetter },
> - {0x016a60, 0x016a69, WB_Numeric },
> - {0x016ad0, 0x016aed, WB_ALetter },
> - {0x016af0, 0x016af4, WB_Extend },
> - {0x016b00, 0x016b2f, WB_ALetter },
> - {0x016b30, 0x016b36, WB_Extend },
> - {0x016b40, 0x016b43, WB_ALetter },
> - {0x016b50, 0x016b59, WB_Numeric },
> - {0x016b63, 0x016b77, WB_ALetter },
> - {0x016b7d, 0x016b8f, WB_ALetter },
> - {0x016e40, 0x016e7f, WB_ALetter },
> - {0x016f00, 0x016f4a, WB_ALetter },
> - {0x016f4f, 0x016f4f, WB_Extend },
> - {0x016f50, 0x016f50, WB_ALetter },
> - {0x016f51, 0x016f87, WB_Extend },
> - {0x016f8f, 0x016f92, WB_Extend },
> - {0x016f93, 0x016f9f, WB_ALetter },
> - {0x016fe0, 0x016fe1, WB_ALetter },
> - {0x016fe3, 0x016fe3, WB_ALetter },
> - {0x01b000, 0x01b000, WB_Katakana },
> - {0x01b164, 0x01b167, WB_Katakana },
> - {0x01bc00, 0x01bc6a, WB_ALetter },
> - {0x01bc70, 0x01bc7c, WB_ALetter },
> - {0x01bc80, 0x01bc88, WB_ALetter },
> - {0x01bc90, 0x01bc99, WB_ALetter },
> - {0x01bc9d, 0x01bc9e, WB_Extend },
> - {0x01bca0, 0x01bca3, WB_Format },
> - {0x01d165, 0x01d169, WB_Extend },
> - {0x01d16d, 0x01d172, WB_Extend },
> - {0x01d173, 0x01d17a, WB_Format },
> - {0x01d17b, 0x01d182, WB_Extend },
> - {0x01d185, 0x01d18b, WB_Extend },
> - {0x01d1aa, 0x01d1ad, WB_Extend },
> - {0x01d242, 0x01d244, WB_Extend },
> - {0x01d400, 0x01d454, WB_ALetter },
> - {0x01d456, 0x01d49c, WB_ALetter },
> - {0x01d49e, 0x01d49f, WB_ALetter },
> - {0x01d4a2, 0x01d4a2, WB_ALetter },
> - {0x01d4a5, 0x01d4a6, WB_ALetter },
> - {0x01d4a9, 0x01d4ac, WB_ALetter },
> - {0x01d4ae, 0x01d4b9, WB_ALetter },
> - {0x01d4bb, 0x01d4bb, WB_ALetter },
> - {0x01d4bd, 0x01d4c3, WB_ALetter },
> - {0x01d4c5, 0x01d505, WB_ALetter },
> - {0x01d507, 0x01d50a, WB_ALetter },
> - {0x01d50d, 0x01d514, WB_ALetter },
> - {0x01d516, 0x01d51c, WB_ALetter },
> - {0x01d51e, 0x01d539, WB_ALetter },
> - {0x01d53b, 0x01d53e, WB_ALetter },
> - {0x01d540, 0x01d544, WB_ALetter },
> - {0x01d546, 0x01d546, WB_ALetter },
> - {0x01d54a, 0x01d550, WB_ALetter },
> - {0x01d552, 0x01d6a5, WB_ALetter },
> - {0x01d6a8, 0x01d6c0, WB_ALetter },
> - {0x01d6c2, 0x01d6da, WB_ALetter },
> - {0x01d6dc, 0x01d6fa, WB_ALetter },
> - {0x01d6fc, 0x01d714, WB_ALetter },
> - {0x01d716, 0x01d734, WB_ALetter },
> - {0x01d736, 0x01d74e, WB_ALetter },
> - {0x01d750, 0x01d76e, WB_ALetter },
> - {0x01d770, 0x01d788, WB_ALetter },
> - {0x01d78a, 0x01d7a8, WB_ALetter },
> - {0x01d7aa, 0x01d7c2, WB_ALetter },
> - {0x01d7c4, 0x01d7cb, WB_ALetter },
> - {0x01d7ce, 0x01d7ff, WB_Numeric },
> - {0x01da00, 0x01da36, WB_Extend },
> - {0x01da3b, 0x01da6c, WB_Extend },
> - {0x01da75, 0x01da75, WB_Extend },
> - {0x01da84, 0x01da84, WB_Extend },
> - {0x01da9b, 0x01da9f, WB_Extend },
> - {0x01daa1, 0x01daaf, WB_Extend },
> - {0x01e000, 0x01e006, WB_Extend },
> - {0x01e008, 0x01e018, WB_Extend },
> - {0x01e01b, 0x01e021, WB_Extend },
> - {0x01e023, 0x01e024, WB_Extend },
> - {0x01e026, 0x01e02a, WB_Extend },
> - {0x01e100, 0x01e12c, WB_ALetter },
> - {0x01e130, 0x01e136, WB_Extend },
> - {0x01e137, 0x01e13d, WB_ALetter },
> - {0x01e140, 0x01e149, WB_Numeric },
> - {0x01e14e, 0x01e14e, WB_ALetter },
> - {0x01e2c0, 0x01e2eb, WB_ALetter },
> - {0x01e2ec, 0x01e2ef, WB_Extend },
> - {0x01e2f0, 0x01e2f9, WB_Numeric },
> - {0x01e800, 0x01e8c4, WB_ALetter },
> - {0x01e8d0, 0x01e8d6, WB_Extend },
> - {0x01e900, 0x01e943, WB_ALetter },
> - {0x01e944, 0x01e94a, WB_Extend },
> - {0x01e94b, 0x01e94b, WB_ALetter },
> - {0x01e950, 0x01e959, WB_Numeric },
> - {0x01ee00, 0x01ee03, WB_ALetter },
> - {0x01ee05, 0x01ee1f, WB_ALetter },
> - {0x01ee21, 0x01ee22, WB_ALetter },
> - {0x01ee24, 0x01ee24, WB_ALetter },
> - {0x01ee27, 0x01ee27, WB_ALetter },
> - {0x01ee29, 0x01ee32, WB_ALetter },
> - {0x01ee34, 0x01ee37, WB_ALetter },
> - {0x01ee39, 0x01ee39, WB_ALetter },
> - {0x01ee3b, 0x01ee3b, WB_ALetter },
> - {0x01ee42, 0x01ee42, WB_ALetter },
> - {0x01ee47, 0x01ee47, WB_ALetter },
> - {0x01ee49, 0x01ee49, WB_ALetter },
> - {0x01ee4b, 0x01ee4b, WB_ALetter },
> - {0x01ee4d, 0x01ee4f, WB_ALetter },
> - {0x01ee51, 0x01ee52, WB_ALetter },
> - {0x01ee54, 0x01ee54, WB_ALetter },
> - {0x01ee57, 0x01ee57, WB_ALetter },
> - {0x01ee59, 0x01ee59, WB_ALetter },
> - {0x01ee5b, 0x01ee5b, WB_ALetter },
> - {0x01ee5d, 0x01ee5d, WB_ALetter },
> - {0x01ee5f, 0x01ee5f, WB_ALetter },
> - {0x01ee61, 0x01ee62, WB_ALetter },
> - {0x01ee64, 0x01ee64, WB_ALetter },
> - {0x01ee67, 0x01ee6a, WB_ALetter },
> - {0x01ee6c, 0x01ee72, WB_ALetter },
> - {0x01ee74, 0x01ee77, WB_ALetter },
> - {0x01ee79, 0x01ee7c, WB_ALetter },
> - {0x01ee7e, 0x01ee7e, WB_ALetter },
> - {0x01ee80, 0x01ee89, WB_ALetter },
> - {0x01ee8b, 0x01ee9b, WB_ALetter },
> - {0x01eea1, 0x01eea3, WB_ALetter },
> - {0x01eea5, 0x01eea9, WB_ALetter },
> - {0x01eeab, 0x01eebb, WB_ALetter },
> - {0x01f130, 0x01f149, WB_ALetter },
> - {0x01f150, 0x01f169, WB_ALetter },
> - {0x01f170, 0x01f189, WB_ALetter },
> - {0x01f1e6, 0x01f1ff, WB_Regional_Indicator },
> - {0x01f3fb, 0x01f3ff, WB_Extend },
> - {0x0e0001, 0x0e0001, WB_Format },
> - {0x0e0020, 0x0e007f, WB_Extend },
> - {0x0e0100, 0x0e01ef, WB_Extend }
> -};
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/utf16_le.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/utf16_le.c
> deleted file mode 100644
> index 535713852f7d..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/utf16_le.c
> +++ /dev/null
> @@ -1,309 +0,0 @@
> -
> /**********************************************************
> ************
> -  utf16_le.c -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2019  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -#include "regint.h"  /* for USE_CALLOUT */
> -
> -static int
> -init(void)
> -{
> -#ifdef USE_CALLOUT
> -
> -    int id;
> -    OnigEncoding enc;
> -    char* name;
> -    unsigned int args[4];
> -    OnigValue    opts[4];
> -
> -    enc = ONIG_ENCODING_UTF16_LE;
> -
> -    name = "F\000A\000I\000L\000\000\000";            BC0_P(name, fail);
> -    name = "M\000I\000S\000M\000A\000T\000C\000H\000\000\000";
> BC0_P(name, mismatch);
> -
> -    name = "M\000A\000X\000\000\000";
> -    args[0] = ONIG_TYPE_TAG | ONIG_TYPE_LONG;
> -    args[1] = ONIG_TYPE_CHAR;
> -    opts[0].c = 'X';
> -    BC_B_O(name, max, 2, args, 1, opts);
> -
> -    name = "E\000R\000R\000O\000R\000\000\000";
> -    args[0] = ONIG_TYPE_LONG; opts[0].l = ONIG_ABORT;
> -    BC_P_O(name, error, 1, args, 1, opts);
> -
> -    name = "C\000O\000U\000N\000T\000\000\000";
> -    args[0] = ONIG_TYPE_CHAR; opts[0].c = '>';
> -    BC_B_O(name, count, 1, args, 1, opts);
> -
> -    name =
> "T\000O\000T\000A\000L\000_\000C\000O\000U\000N\000T\000\000\000";
> -    args[0] = ONIG_TYPE_CHAR; opts[0].c = '>';
> -    BC_B_O(name, total_count, 1, args, 1, opts);
> -
> -    name = "C\000M\000P\000\000\000";
> -    args[0] = ONIG_TYPE_TAG | ONIG_TYPE_LONG;
> -    args[1] = ONIG_TYPE_STRING;
> -    args[2] = ONIG_TYPE_TAG | ONIG_TYPE_LONG;
> -    BC_P(name, cmp, 3, args);
> -
> -#endif /* USE_CALLOUT */
> -
> -  return ONIG_NORMAL;
> -}
> -
> -static const int EncLen_UTF16[] = {
> -  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> -  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> -  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> -  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> -  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> -  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> -  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> -  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> -  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> -  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> -  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> -  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> -  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> -  2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 2, 2, 2, 2,
> -  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> -  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
> -};
> -
> -static int
> -utf16le_code_to_mbclen(OnigCodePoint code)
> -{
> -  if (code > 0xffff) {
> -    if (code > 0x10ffff)
> -      return ONIGERR_INVALID_CODE_POINT_VALUE;
> -    else
> -      return 4;
> -  }
> -  else {
> -    return 2;
> -  }
> -}
> -
> -static int
> -utf16le_mbc_enc_len(const UChar* p)
> -{
> -  return EncLen_UTF16[*(p+1)];
> -}
> -
> -static int
> -is_valid_mbc_string(const UChar* p, const UChar* end)
> -{
> -  const UChar* end1 = end - 1;
> -
> -  while (p < end1) {
> -    int len = utf16le_mbc_enc_len(p);
> -    if (len == 4) {
> -      if (p + 3 < end && ! UTF16_IS_SURROGATE_SECOND(*(p + 3)))
> -        return FALSE;
> -    }
> -    else
> -      if (UTF16_IS_SURROGATE_SECOND(*(p + 1)))
> -        return FALSE;
> -
> -    p += len;
> -  }
> -
> -  if (p != end)
> -    return FALSE;
> -  else
> -    return TRUE;
> -}
> -
> -static int
> -utf16le_is_mbc_newline(const UChar* p, const UChar* end)
> -{
> -  if (p + 1 < end) {
> -    if (*p == 0x0a && *(p+1) == 0x00)
> -      return 1;
> -#ifdef USE_UNICODE_ALL_LINE_TERMINATORS
> -    if ((
> -#ifndef USE_CRNL_AS_LINE_TERMINATOR
> -         *p == 0x0d ||
> -#endif
> -         *p == 0x85) && *(p+1) == 0x00)
> -      return 1;
> -
> -    if (*(p+1) == 0x20 && (*p == 0x29 || *p == 0x28))
> -      return 1;
> -#endif
> -  }
> -  return 0;
> -}
> -
> -static OnigCodePoint
> -utf16le_mbc_to_code(const UChar* p, const UChar* end ARG_UNUSED)
> -{
> -  OnigCodePoint code;
> -  UChar c0 = *p;
> -  UChar c1 = *(p+1);
> -
> -  if (UTF16_IS_SURROGATE_FIRST(c1)) {
> -    code = ((((c1 - 0xd8) << 2) + ((c0  & 0xc0) >> 6) + 1) << 16)
> -         + ((((c0 & 0x3f) << 2) + (p[3] - 0xdc)) << 8)
> -         + p[2];
> -  }
> -  else {
> -    code = c1 * 256 + p[0];
> -  }
> -  return code;
> -}
> -
> -static int
> -utf16le_code_to_mbc(OnigCodePoint code, UChar *buf)
> -{
> -  UChar* p = buf;
> -
> -  if (code > 0xffff) {
> -    unsigned int plane, high;
> -
> -    plane = (code >> 16) - 1;
> -    high = (code & 0xff00) >> 8;
> -
> -    *p++ = ((plane & 0x03) << 6) + (high >> 2);
> -    *p++ = (plane >> 2) + 0xd8;
> -    *p++ = (UChar )(code & 0xff);
> -    *p   = (high & 0x03) + 0xdc;
> -    return 4;
> -  }
> -  else {
> -    *p++ = (UChar )(code & 0xff);
> -    *p++ = (UChar )((code & 0xff00) >> 8);
> -    return 2;
> -  }
> -}
> -
> -static int
> -utf16le_mbc_case_fold(OnigCaseFoldType flag,
> -                      const UChar** pp, const UChar* end, UChar* fold)
> -{
> -  const UChar* p = *pp;
> -
> -  if (ONIGENC_IS_ASCII_CODE(*p) && *(p+1) == 0) {
> -#ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI
> -    if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) != 0) {
> -      if (*p == 0x49) {
> -        *fold++ = 0x31;
> -        *fold   = 0x01;
> -        (*pp) += 2;
> -        return 2;
> -      }
> -    }
> -#endif
> -
> -    *fold++ = ONIGENC_ASCII_CODE_TO_LOWER_CASE(*p);
> -    *fold   = 0;
> -    *pp += 2;
> -    return 2;
> -  }
> -  else
> -    return onigenc_unicode_mbc_case_fold(ONIG_ENCODING_UTF16_LE,
> flag, pp, end,
> -                                         fold);
> -}
> -
> -#if 0
> -static int
> -utf16le_is_mbc_ambiguous(OnigCaseFoldType flag, const UChar** pp,
> -                         const UChar* end)
> -{
> -  const UChar* p = *pp;
> -
> -  (*pp) += EncLen_UTF16[*(p+1)];
> -
> -  if (*(p+1) == 0) {
> -    int c, v;
> -
> -    if (*p == 0xdf && (flag &
> INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR) != 0) {
> -      return TRUE;
> -    }
> -
> -    c = *p;
> -    v = ONIGENC_IS_UNICODE_ISO_8859_1_BIT_CTYPE(c,
> -                       (BIT_CTYPE_UPPER | BIT_CTYPE_LOWER));
> -    if ((v | BIT_CTYPE_LOWER) != 0) {
> -      /* 0xaa, 0xb5, 0xba are lower case letter, but can't convert. */
> -      if (c >= 0xaa && c <= 0xba)
> -        return FALSE;
> -      else
> -        return TRUE;
> -    }
> -    return (v != 0 ? TRUE : FALSE);
> -  }
> -
> -  return FALSE;
> -}
> -#endif
> -
> -static UChar*
> -utf16le_left_adjust_char_head(const UChar* start, const UChar* s)
> -{
> -  if (s <= start) return (UChar* )s;
> -
> -  if ((s - start) % 2 == 1) {
> -    s--;
> -  }
> -
> -  if (UTF16_IS_SURROGATE_SECOND(*(s+1)) && s > start + 1 &&
> -      UTF16_IS_SURROGATE_FIRST(*(s-1)))
> -    s -= 2;
> -
> -  return (UChar* )s;
> -}
> -
> -static int
> -utf16le_get_case_fold_codes_by_str(OnigCaseFoldType flag,
> -    const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem
> items[])
> -{
> -  return
> onigenc_unicode_get_case_fold_codes_by_str(ONIG_ENCODING_UTF16_L
> E,
> -                                                    flag, p, end, items);
> -}
> -
> -OnigEncodingType OnigEncodingUTF16_LE = {
> -  utf16le_mbc_enc_len,
> -  "UTF-16LE",   /* name */
> -  4,            /* max enc length */
> -  2,            /* min enc length */
> -  utf16le_is_mbc_newline,
> -  utf16le_mbc_to_code,
> -  utf16le_code_to_mbclen,
> -  utf16le_code_to_mbc,
> -  utf16le_mbc_case_fold,
> -  onigenc_unicode_apply_all_case_fold,
> -  utf16le_get_case_fold_codes_by_str,
> -  onigenc_unicode_property_name_to_ctype,
> -  onigenc_unicode_is_code_ctype,
> -  onigenc_utf16_32_get_ctype_code_range,
> -  utf16le_left_adjust_char_head,
> -  onigenc_always_false_is_allowed_reverse_match,
> -  init,
> -  0, /* is_initialized */
> -  is_valid_mbc_string,
> -  ENC_FLAG_UNICODE|ENC_FLAG_SKIP_OFFSET_1,
> -  0, 0
> -};
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/OnigurumaI
> ntrinsics.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaIntrinsics.c
> similarity index 91%
> rename from
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/OnigurumaInt
> rinsics.c
> rename to
> MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaIntrinsics.c
> index 05584a4b4f81..536c7e0f1b26 100644
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/OnigurumaI
> ntrinsics.c
> +++
> b/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaIntrinsics.c
> @@ -3,6 +3,7 @@
>    Provide intrinsics within Oniguruma
> 
>    (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
> +  Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
> 
>    SPDX-License-Identifier: BSD-2-Clause-Patent
>  **/
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c
> b/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c
> new file mode 100644
> index 000000000000..a2baa4dd0dd1
> --- /dev/null
> +++
> b/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c
> @@ -0,0 +1,90 @@
> +/** @file
> +
> +  Module to rewrite stdlib references within Oniguruma
> +
> +  (C) Copyright 2014-2015 Hewlett Packard Enterprise Development LP<BR>
> +  Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
> +
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +#include "OnigurumaUefiPort.h"
> +
> +#define ONIGMEM_HEAD_SIGNATURE    SIGNATURE_32('o','m','h','d')
> +
> +typedef struct {
> +  UINT32    Signature;
> +  UINTN     Size;
> +} ONIGMEM_HEAD;
> +
> +#define ONIGMEM_OVERHEAD sizeof(ONIGMEM_HEAD)
> +
> +int EFIAPI sprintf_s(char *str, size_t sizeOfBuffer, char const *fmt, ...)
> +{
> +  VA_LIST Marker;
> +  int   NumberOfPrinted;
> +
> +  VA_START (Marker, fmt);
> +  NumberOfPrinted = (int)AsciiVSPrint (str, sizeOfBuffer, fmt, Marker);
> +  VA_END (Marker);
> +
> +  return NumberOfPrinted;
> +}
> +
> +int OnigStrCmp (char* Str1, char* Str2)
> +{
> +  return (int)AsciiStrCmp (Str1, Str2);
> +}
> +
> +int strlen(const char* str)
> +{
> +  return strlen_s(str, MAX_STRING_SIZE);
> +}
> +
> +void * malloc (size_t size)
> +{
> +  ONIGMEM_HEAD  *PoolHdr;
> +  UINTN          NewSize;
> +  VOID           *Data;
> +
> +  NewSize = (UINTN)(size) + ONIGMEM_OVERHEAD;
> +
> +  Data  = AllocatePool (NewSize);
> +  if (Data != NULL) {
> +    PoolHdr = (ONIGMEM_HEAD *)Data;
> +    PoolHdr->Signature = ONIGMEM_HEAD_SIGNATURE;
> +    PoolHdr->Size      = size;
> +
> +    return (VOID *)(PoolHdr + 1);
> +  }
> +  return NULL;
> +}
> +
> +void * realloc (void *ptr, size_t size)
> +{
> +  ONIGMEM_HEAD  *OldPoolHdr;
> +  ONIGMEM_HEAD  *NewPoolHdr;
> +  UINTN          OldSize;
> +  UINTN          NewSize;
> +  VOID           *Data;
> +
> +  NewSize = (UINTN)size + ONIGMEM_OVERHEAD;
> +  Data = AllocatePool (NewSize);
> +  if (Data != NULL) {
> +    NewPoolHdr = (ONIGMEM_HEAD *)Data;
> +    NewPoolHdr->Signature = ONIGMEM_HEAD_SIGNATURE;
> +    NewPoolHdr->Size      = size;
> +    if (ptr != NULL) {
> +      OldPoolHdr = (ONIGMEM_HEAD *)ptr - 1;
> +      ASSERT (OldPoolHdr->Signature == ONIGMEM_HEAD_SIGNATURE);
> +      OldSize = OldPoolHdr->Size;
> +
> +      CopyMem ((VOID *)(NewPoolHdr + 1), ptr, MIN (OldSize, size));
> +      FreePool ((VOID *)OldPoolHdr);
> +    }
> +
> +    return (VOID *)(NewPoolHdr + 1);
> +  }
> +
> +  return NULL;
> +}
> +
> diff --git a/.gitmodules b/.gitmodules
> index b30f5bf136bc..87fe46f7fa7b 100644
> --- a/.gitmodules
> +++ b/.gitmodules
> @@ -7,3 +7,6 @@
>  [submodule "UnitTestFrameworkPkg/Library/CmockaLib/cmocka"]
>  	path = UnitTestFrameworkPkg/Library/CmockaLib/cmocka
>  	url = https://git.cryptomilk.org/projects/cmocka.git
> +[submodule
> "MdeModulePkg/Universal/RegularExpressionDxe/oniguruma"]
> +	path = MdeModulePkg/Universal/RegularExpressionDxe/oniguruma
> +	url = https://github.com/kkos/oniguruma
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/AUTHORS
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/AUTHORS
> deleted file mode 100644
> index 3005435d8fae..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/AUTHORS
> +++ /dev/null
> @@ -1 +0,0 @@
> -<kkosako0@gmail.com> (K.Kosako)
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/COPYING
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/COPYING
> deleted file mode 100644
> index e17cee6be203..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/COPYING
> +++ /dev/null
> @@ -1,26 +0,0 @@
> -Oniguruma LICENSE
> ------------------
> -
> -Copyright (c) 2002-2018  K.Kosako  <kkosako0@gmail.com>
> -All rights reserved.
> -
> -Redistribution and use in source and binary forms, with or without
> -modification, are permitted provided that the following conditions
> -are met:
> -1. Redistributions of source code must retain the above copyright
> -   notice, this list of conditions and the following disclaimer.
> -2. Redistributions in binary form must reproduce the above copyright
> -   notice, this list of conditions and the following disclaimer in the
> -   documentation and/or other materials provided with the distribution.
> -
> -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS''
> AND
> -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
> THE
> -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> -ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE
> LIABLE
> -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
> OF
> -SUCH DAMAGE.
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/README
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/README
> deleted file mode 100644
> index 4975466cedf2..000000000000
> --- a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/README
> +++ /dev/null
> @@ -1,195 +0,0 @@
> -README  2018/04/05
> -
> -Oniguruma  ----   (C) K.Kosako
> -
> -https://github.com/kkos/oniguruma
> -
> -FIXED Security Issues (in Oniguruma 6.3.0):
> -  CVE-2017-9224, CVE-2017-9225, CVE-2017-9226
> -  CVE-2017-9227, CVE-2017-9228, CVE-2017-9229
> -
> ----
> -Oniguruma is a modern and flexible regular expressions library. It
> -encompasses features from different regular expression implementations
> -that traditionally exist in different languages. It comes close to
> -being a complete superset of all regular expression features found
> -in other regular expression implementations.
> -
> -Its features include:
> -* Character encoding can be specified per regular expression object.
> -* Several regular expression types are supported:
> -  * POSIX
> -  * Grep
> -  * GNU Regex
> -  * Perl
> -  * Java
> -  * Ruby
> -  * Emacs
> -
> -Supported character encodings:
> -
> -  ASCII, UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE,
> -  EUC-JP, EUC-TW, EUC-KR, EUC-CN,
> -  Shift_JIS, Big5, GB18030, KOI8-R, CP1251,
> -  ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5,
> -  ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10,
> -  ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16
> -
> -* GB18030: contributed by KUBO Takehiro
> -* CP1251:  contributed by Byte
> -------------------------------------------------------------
> -
> -License
> -
> -   BSD license.
> -
> -
> -Install
> -
> - Case 1: Unix and Cygwin platform
> -
> -   1. autoreconf -vfi   (* case: configure script is not found.)
> -
> -   2. ./configure
> -   3. make
> -   4. make install
> -
> -   * uninstall
> -
> -     make uninstall
> -
> -   * configuration check
> -
> -     onig-config --cflags
> -     onig-config --libs
> -     onig-config --prefix
> -     onig-config --exec-prefix
> -
> -
> -
> - Case 2: Windows 64/32bit platform (Visual Studio)
> -
> -   execute make_win64 or make_win32
> -
> -      src/onig_s.lib:  static link library
> -      src/onig.dll:    dynamic link library
> -
> -  * test (ASCII/Shift_JIS)
> -      1. cd src
> -      2. copy ..\windows\testc.c .
> -      3. nmake -f Makefile.windows ctest
> -
> -  (I have checked by Visual Studio Community 2015)
> -
> -
> -
> -Regular Expressions
> -
> -  See doc/RE (or doc/RE.ja for Japanese).
> -
> -
> -Usage
> -
> -  Include oniguruma.h in your program. (Oniguruma API)
> -  See doc/API for Oniguruma API.
> -
> -  If you want to disable UChar type (== unsigned char) definition
> -  in oniguruma.h, define ONIG_ESCAPE_UCHAR_COLLISION and then
> -  include oniguruma.h.
> -
> -  If you want to disable regex_t type definition in oniguruma.h,
> -  define ONIG_ESCAPE_REGEX_T_COLLISION and then include oniguruma.h.
> -
> -  Example of the compiling/linking command line in Unix or Cygwin,
> -  (prefix == /usr/local case)
> -
> -    cc sample.c -L/usr/local/lib -lonig
> -
> -
> -  If you want to use static link library(onig_s.lib) in Win32,
> -  add option -DONIG_EXTERN=extern to C compiler.
> -
> -
> -
> -Sample Programs
> -
> -  sample/simple.c    example of the minimum (Oniguruma API)
> -  sample/names.c     example of the named group callback.
> -  sample/encode.c    example of some encodings.
> -  sample/listcap.c   example of the capture history.
> -  sample/posix.c     POSIX API sample.
> -  sample/sql.c       example of the variable meta characters.
> -                     (SQL-like pattern matching)
> -  sample/user_property.c  example of user defined Unicode property.
> -
> -Test Programs
> -  sample/syntax.c    Perl, Java and ASIS syntax test.
> -  sample/crnl.c      --enable-crnl-as-line-terminator test
> -
> -
> -Source Files
> -
> -  oniguruma.h        Oniguruma API header file. (public)
> -  onig-config.in     configuration check program template.
> -
> -  regenc.h           character encodings framework header file.
> -  regint.h           internal definitions
> -  regparse.h         internal definitions for regparse.c and regcomp.c
> -  regcomp.c          compiling and optimization functions
> -  regenc.c           character encodings framework.
> -  regerror.c         error message function
> -  regext.c           extended API functions. (deluxe version API)
> -  regexec.c          search and match functions
> -  regparse.c         parsing functions.
> -  regsyntax.c        pattern syntax functions and built-in syntax definitions.
> -  regtrav.c          capture history tree data traverse functions.
> -  regversion.c       version info function.
> -  st.h               hash table functions header file
> -  st.c               hash table functions
> -
> -  oniggnu.h          GNU regex API header file. (public)
> -  reggnu.c           GNU regex API functions
> -
> -  onigposix.h        POSIX API header file. (public)
> -  regposerr.c        POSIX error message function.
> -  regposix.c         POSIX API functions.
> -
> -  mktable.c          character type table generator.
> -  ascii.c            ASCII encoding.
> -  euc_jp.c           EUC-JP encoding.
> -  euc_tw.c           EUC-TW encoding.
> -  euc_kr.c           EUC-KR, EUC-CN encoding.
> -  sjis.c             Shift_JIS encoding.
> -  big5.c             Big5      encoding.
> -  gb18030.c          GB18030   encoding.
> -  koi8.c             KOI8      encoding.
> -  koi8_r.c           KOI8-R    encoding.
> -  cp1251.c           CP1251    encoding.
> -  iso8859_1.c        ISO-8859-1  encoding. (Latin-1)
> -  iso8859_2.c        ISO-8859-2  encoding. (Latin-2)
> -  iso8859_3.c        ISO-8859-3  encoding. (Latin-3)
> -  iso8859_4.c        ISO-8859-4  encoding. (Latin-4)
> -  iso8859_5.c        ISO-8859-5  encoding. (Cyrillic)
> -  iso8859_6.c        ISO-8859-6  encoding. (Arabic)
> -  iso8859_7.c        ISO-8859-7  encoding. (Greek)
> -  iso8859_8.c        ISO-8859-8  encoding. (Hebrew)
> -  iso8859_9.c        ISO-8859-9  encoding. (Latin-5 or Turkish)
> -  iso8859_10.c       ISO-8859-10 encoding. (Latin-6 or Nordic)
> -  iso8859_11.c       ISO-8859-11 encoding. (Thai)
> -  iso8859_13.c       ISO-8859-13 encoding. (Latin-7 or Baltic Rim)
> -  iso8859_14.c       ISO-8859-14 encoding. (Latin-8 or Celtic)
> -  iso8859_15.c       ISO-8859-15 encoding. (Latin-9 or West European with Euro)
> -  iso8859_16.c       ISO-8859-16 encoding.
> -                     (Latin-10 or South-Eastern European with Euro)
> -  utf8.c             UTF-8    encoding.
> -  utf16_be.c         UTF-16BE encoding.
> -  utf16_le.c         UTF-16LE encoding.
> -  utf32_be.c         UTF-32BE encoding.
> -  utf32_le.c         UTF-32LE encoding.
> -  unicode.c          common codes of Unicode encoding.
> -
> -  win32/Makefile     Makefile for Win32 (VC++)
> -  win32/config.h     config.h for Win32
> -
> -
> -and I'm thankful to Akinori MUSHA.
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/oniggnu.h
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/oniggnu.h
> deleted file mode 100644
> index 313e5915c3ea..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/oniggnu.h
> +++ /dev/null
> @@ -1,87 +0,0 @@
> -#ifndef ONIGGNU_H
> -#define ONIGGNU_H
> -
> /**********************************************************
> ************
> -  oniggnu.h - Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2005  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#include "oniguruma.h"
> -
> -#ifdef __cplusplus
> -extern "C" {
> -#endif
> -
> -enum {
> -  RE_MBCTYPE_ASCII = 0,
> -  RE_MBCTYPE_EUC   = 1,
> -  RE_MBCTYPE_SJIS  = 2,
> -  RE_MBCTYPE_UTF8  = 3
> -};
> -
> -/* GNU regex options */
> -#ifndef RE_NREGS
> -#define RE_NREGS                ONIG_NREGION
> -#endif
> -
> -#define RE_OPTION_IGNORECASE         ONIG_OPTION_IGNORECASE
> -#define RE_OPTION_EXTENDED           ONIG_OPTION_EXTEND
> -#define RE_OPTION_MULTILINE          ONIG_OPTION_MULTILINE
> -#define RE_OPTION_SINGLELINE         ONIG_OPTION_SINGLELINE
> -#define RE_OPTION_LONGEST            ONIG_OPTION_FIND_LONGEST
> -#define RE_OPTION_POSIXLINE
> (RE_OPTION_MULTILINE|RE_OPTION_SINGLELINE)
> -#define RE_OPTION_FIND_NOT_EMPTY
> ONIG_OPTION_FIND_NOT_EMPTY
> -#define RE_OPTION_NEGATE_SINGLELINE
> ONIG_OPTION_NEGATE_SINGLELINE
> -#define RE_OPTION_DONT_CAPTURE_GROUP
> ONIG_OPTION_DONT_CAPTURE_GROUP
> -#define RE_OPTION_CAPTURE_GROUP
> ONIG_OPTION_CAPTURE_GROUP
> -
> -
> -ONIG_EXTERN
> -void re_mbcinit P_((int));
> -ONIG_EXTERN
> -int re_compile_pattern P_((const char*, int, struct re_pattern_buffer*,
> char* err_buf));
> -ONIG_EXTERN
> -int re_recompile_pattern P_((const char*, int, struct re_pattern_buffer*,
> char* err_buf));
> -ONIG_EXTERN
> -void re_free_pattern P_((struct re_pattern_buffer*));
> -ONIG_EXTERN
> -int re_adjust_startpos P_((struct re_pattern_buffer*, const char*, int, int,
> int));
> -ONIG_EXTERN
> -int re_search P_((struct re_pattern_buffer*, const char*, int, int, int, struct
> re_registers*));
> -ONIG_EXTERN
> -int re_match P_((struct re_pattern_buffer*, const char *, int, int, struct
> re_registers*));
> -ONIG_EXTERN
> -void re_set_casetable P_((const char*));
> -ONIG_EXTERN
> -void re_free_registers P_((struct re_registers*));
> -ONIG_EXTERN
> -int re_alloc_pattern P_((struct re_pattern_buffer**));  /* added */
> -
> -#ifdef __cplusplus
> -}
> -#endif
> -
> -#endif /* ONIGGNU_H */
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/onigposix.h
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/onigposix.h
> deleted file mode 100644
> index 62266da76e75..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/onigposix.h
> +++ /dev/null
> @@ -1,172 +0,0 @@
> -#ifndef ONIGPOSIX_H
> -#define ONIGPOSIX_H
> -
> /**********************************************************
> ************
> -  onigposix.h - Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2018  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -#include "OnigurumaUefiPort.h"
> -
> -#ifdef __cplusplus
> -extern "C" {
> -#endif
> -
> -/* options */
> -#define REG_ICASE          (1<<0)
> -#define REG_NEWLINE        (1<<1)
> -#define REG_NOTBOL         (1<<2)
> -#define REG_NOTEOL         (1<<3)
> -#define REG_EXTENDED       (1<<4) /* if not set, Basic Onigular Expression */
> -#define REG_NOSUB          (1<<5)
> -
> -/* POSIX error codes */
> -#define REG_NOMATCH          1
> -#define REG_BADPAT           2
> -#define REG_ECOLLATE         3
> -#define REG_ECTYPE           4
> -#define REG_EESCAPE          5
> -#define REG_ESUBREG          6
> -#define REG_EBRACK           7
> -#define REG_EPAREN           8
> -#define REG_EBRACE           9
> -#define REG_BADBR           10
> -#define REG_ERANGE          11
> -#define REG_ESPACE          12
> -#define REG_BADRPT          13
> -
> -/* extended error codes */
> -#define REG_EONIG_INTERNAL  14
> -#define REG_EONIG_BADWC     15
> -#define REG_EONIG_BADARG    16
> -/* #define REG_EONIG_THREAD    17 */
> -
> -/* character encodings (for reg_set_encoding()) */
> -#define REG_POSIX_ENCODING_ASCII     0
> -#define REG_POSIX_ENCODING_EUC_JP    1
> -#define REG_POSIX_ENCODING_SJIS      2
> -#define REG_POSIX_ENCODING_UTF8      3
> -#define REG_POSIX_ENCODING_UTF16_BE  4
> -#define REG_POSIX_ENCODING_UTF16_LE  5
> -
> -
> -typedef int regoff_t;
> -
> -typedef struct {
> -  regoff_t  rm_so;
> -  regoff_t  rm_eo;
> -} regmatch_t;
> -
> -/* POSIX regex_t */
> -typedef struct {
> -  void*   onig;          /* Oniguruma regex_t*  */
> -  size_t  re_nsub;
> -  int     comp_options;
> -} regex_t;
> -
> -
> -#ifndef P_
> -#if defined(__STDC__) || defined(_WIN32)
> -# define P_(args) args
> -#else
> -# define P_(args) ()
> -#endif
> -#endif
> -
> -#ifndef ONIG_EXTERN
> -#if defined(_WIN32) && !defined(__GNUC__)
> -#if defined(ONIGURUMA_EXPORT)
> -#define ONIG_EXTERN   extern __declspec(dllexport)
> -#else
> -#define ONIG_EXTERN   extern __declspec(dllimport)
> -#endif
> -#endif
> -#endif
> -
> -#ifndef ONIG_EXTERN
> -#define ONIG_EXTERN   extern
> -#endif
> -
> -#ifndef ONIGURUMA_H
> -typedef unsigned int        OnigOptionType;
> -
> -/* syntax */
> -typedef struct {
> -  unsigned int op;
> -  unsigned int op2;
> -  unsigned int behavior;
> -  OnigOptionType options;    /* default option */
> -} OnigSyntaxType;
> -
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxPosixBasic;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxPosixExtended;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxEmacs;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxGrep;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxGnuRegex;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxJava;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxPerl;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxRuby;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxOniguruma;
> -
> -/* predefined syntaxes (see regsyntax.c) */
> -#define ONIG_SYNTAX_POSIX_BASIC        (&OnigSyntaxPosixBasic)
> -#define ONIG_SYNTAX_POSIX_EXTENDED     (&OnigSyntaxPosixExtended)
> -#define ONIG_SYNTAX_EMACS              (&OnigSyntaxEmacs)
> -#define ONIG_SYNTAX_GREP               (&OnigSyntaxGrep)
> -#define ONIG_SYNTAX_GNU_REGEX          (&OnigSyntaxGnuRegex)
> -#define ONIG_SYNTAX_JAVA               (&OnigSyntaxJava)
> -#define ONIG_SYNTAX_PERL               (&OnigSyntaxPerl)
> -#define ONIG_SYNTAX_RUBY               (&OnigSyntaxRuby)
> -#define ONIG_SYNTAX_ONIGURUMA          (&OnigSyntaxOniguruma)
> -/* default syntax */
> -#define ONIG_SYNTAX_DEFAULT             OnigDefaultSyntax
> -
> -ONIG_EXTERN OnigSyntaxType*  OnigDefaultSyntax;
> -
> -ONIG_EXTERN int  onig_set_default_syntax P_((OnigSyntaxType* syntax));
> -ONIG_EXTERN void onig_copy_syntax P_((OnigSyntaxType* to,
> OnigSyntaxType* from));
> -ONIG_EXTERN const char* onig_version P_((void));
> -ONIG_EXTERN const char* onig_copyright P_((void));
> -ONIG_EXTERN int onig_end P_((void));
> -
> -#endif /* ONIGURUMA_H */
> -
> -
> -ONIG_EXTERN int    regcomp P_((regex_t* reg, const char* pat, int options));
> -ONIG_EXTERN int    regexec P_((regex_t* reg, const char* str, size_t nmatch,
> regmatch_t* matches, int options));
> -ONIG_EXTERN void   regfree P_((regex_t* reg));
> -ONIG_EXTERN size_t regerror P_((int code, const regex_t* reg, char* buf,
> size_t size));
> -
> -/* extended API */
> -ONIG_EXTERN void reg_set_encoding P_((int enc));
> -ONIG_EXTERN int  reg_name_to_group_numbers P_((regex_t* reg, const
> unsigned char* name, const unsigned char* name_end, int** nums));
> -ONIG_EXTERN int  reg_foreach_name P_((regex_t* reg, int (*func)(const
> unsigned char*, const unsigned char*,int,int*,regex_t*,void*), void* arg));
> -ONIG_EXTERN int  reg_number_of_names P_((regex_t* reg));
> -
> -#ifdef __cplusplus
> -}
> -#endif
> -
> -#endif /* ONIGPOSIX_H */
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/oniguruma.
> h
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/oniguruma.
> h
> deleted file mode 100644
> index a2158e5cf971..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/oniguruma.
> h
> +++ /dev/null
> @@ -1,1014 +0,0 @@
> -#ifndef ONIGURUMA_H
> -#define ONIGURUMA_H
> -
> /**********************************************************
> ************
> -  oniguruma.h - Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2019  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#include "OnigurumaUefiPort.h"
> -
> -#ifdef __cplusplus
> -extern "C" {
> -#endif
> -
> -#define ONIGURUMA
> -#define ONIGURUMA_VERSION_MAJOR   6
> -#define ONIGURUMA_VERSION_MINOR   9
> -#define ONIGURUMA_VERSION_TEENY   3
> -
> -#define ONIGURUMA_VERSION_INT     60903
> -
> -#ifndef P_
> -#if defined(__STDC__) || defined(_WIN32)
> -# define P_(args) args
> -#else
> -# define P_(args) ()
> -#endif
> -#endif
> -
> -#ifndef PV_
> -# define PV_(args) args
> -#endif
> -
> -#ifndef ONIG_STATIC
> -#ifndef ONIG_EXTERN
> -#if defined(_WIN32) && !defined(__GNUC__)
> -#if defined(ONIGURUMA_EXPORT)
> -#define ONIG_EXTERN   extern __declspec(dllexport)
> -#else
> -#define ONIG_EXTERN   extern __declspec(dllimport)
> -#endif
> -#endif
> -#endif
> -
> -#ifndef ONIG_EXTERN
> -#define ONIG_EXTERN   extern
> -#endif
> -#else
> -#define ONIG_EXTERN   extern
> -#endif
> -
> -/* PART: character encoding */
> -
> -#ifndef ONIG_ESCAPE_UCHAR_COLLISION
> -#define UChar OnigUChar
> -#endif
> -
> -typedef unsigned int   OnigCodePoint;
> -typedef unsigned char  OnigUChar;
> -typedef unsigned int   OnigCtype;
> -typedef unsigned int   OnigLen;
> -
> -#define ONIG_INFINITE_DISTANCE  ~((OnigLen )0)
> -
> -typedef unsigned int OnigCaseFoldType; /* case fold flag */
> -
> -ONIG_EXTERN OnigCaseFoldType OnigDefaultCaseFoldFlag;
> -
> -/* #define ONIGENC_CASE_FOLD_HIRAGANA_KATAKANA  (1<<1) */
> -/* #define ONIGENC_CASE_FOLD_KATAKANA_WIDTH     (1<<2) */
> -#define ONIGENC_CASE_FOLD_TURKISH_AZERI         (1<<20)
> -#define INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR   (1<<30)
> -
> -#define ONIGENC_CASE_FOLD_MIN
> INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR
> -#define ONIGENC_CASE_FOLD_DEFAULT  OnigDefaultCaseFoldFlag
> -
> -
> -#define ONIGENC_MAX_COMP_CASE_FOLD_CODE_LEN       3
> -#define ONIGENC_GET_CASE_FOLD_CODES_MAX_NUM      13
> -/* 13 => Unicode:0x1ffc */
> -
> -/* code range */
> -#define ONIGENC_CODE_RANGE_NUM(range)     ((int )range[0])
> -#define ONIGENC_CODE_RANGE_FROM(range,i)  range[((i)*2) + 1]
> -#define ONIGENC_CODE_RANGE_TO(range,i)    range[((i)*2) + 2]
> -
> -typedef struct {
> -  int byte_len;  /* argument(original) character(s) byte length */
> -  int code_len;  /* number of code */
> -  OnigCodePoint code[ONIGENC_MAX_COMP_CASE_FOLD_CODE_LEN];
> -} OnigCaseFoldCodeItem;
> -
> -typedef struct {
> -  OnigCodePoint esc;
> -  OnigCodePoint anychar;
> -  OnigCodePoint anytime;
> -  OnigCodePoint zero_or_one_time;
> -  OnigCodePoint one_or_more_time;
> -  OnigCodePoint anychar_anytime;
> -} OnigMetaCharTableType;
> -
> -typedef int (*OnigApplyAllCaseFoldFunc)(OnigCodePoint from,
> OnigCodePoint* to, int to_len, void* arg);
> -
> -typedef struct OnigEncodingTypeST {
> -  int    (*mbc_enc_len)(const OnigUChar* p);
> -  const char*   name;
> -  int           max_enc_len;
> -  int           min_enc_len;
> -  int    (*is_mbc_newline)(const OnigUChar* p, const OnigUChar* end);
> -  OnigCodePoint (*mbc_to_code)(const OnigUChar* p, const OnigUChar*
> end);
> -  int    (*code_to_mbclen)(OnigCodePoint code);
> -  int    (*code_to_mbc)(OnigCodePoint code, OnigUChar *buf);
> -  int    (*mbc_case_fold)(OnigCaseFoldType flag, const OnigUChar** pp,
> const OnigUChar* end, OnigUChar* to);
> -  int    (*apply_all_case_fold)(OnigCaseFoldType flag,
> OnigApplyAllCaseFoldFunc f, void* arg);
> -  int    (*get_case_fold_codes_by_str)(OnigCaseFoldType flag, const
> OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem acs[]);
> -  int    (*property_name_to_ctype)(struct OnigEncodingTypeST* enc,
> OnigUChar* p, OnigUChar* end);
> -  int    (*is_code_ctype)(OnigCodePoint code, OnigCtype ctype);
> -  int    (*get_ctype_code_range)(OnigCtype ctype, OnigCodePoint* sb_out,
> const OnigCodePoint* ranges[]);
> -  OnigUChar* (*left_adjust_char_head)(const OnigUChar* start, const
> OnigUChar* p);
> -  int    (*is_allowed_reverse_match)(const OnigUChar* p, const OnigUChar*
> end);
> -  int    (*init)(void);
> -  int    (*is_initialized)(void);
> -  int    (*is_valid_mbc_string)(const OnigUChar* s, const OnigUChar* end);
> -  unsigned int flag;
> -  OnigCodePoint sb_range;
> -  int index;
> -} OnigEncodingType;
> -
> -typedef OnigEncodingType* OnigEncoding;
> -
> -ONIG_EXTERN OnigEncodingType OnigEncodingASCII;
> -ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_1;
> -ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_2;
> -ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_3;
> -ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_4;
> -ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_5;
> -ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_6;
> -ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_7;
> -ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_8;
> -ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_9;
> -ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_10;
> -ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_11;
> -ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_13;
> -ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_14;
> -ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_15;
> -ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_16;
> -ONIG_EXTERN OnigEncodingType OnigEncodingUTF8;
> -ONIG_EXTERN OnigEncodingType OnigEncodingUTF16_BE;
> -ONIG_EXTERN OnigEncodingType OnigEncodingUTF16_LE;
> -ONIG_EXTERN OnigEncodingType OnigEncodingUTF32_BE;
> -ONIG_EXTERN OnigEncodingType OnigEncodingUTF32_LE;
> -ONIG_EXTERN OnigEncodingType OnigEncodingEUC_JP;
> -ONIG_EXTERN OnigEncodingType OnigEncodingEUC_TW;
> -ONIG_EXTERN OnigEncodingType OnigEncodingEUC_KR;
> -ONIG_EXTERN OnigEncodingType OnigEncodingEUC_CN;
> -ONIG_EXTERN OnigEncodingType OnigEncodingSJIS;
> -ONIG_EXTERN OnigEncodingType OnigEncodingKOI8;
> -ONIG_EXTERN OnigEncodingType OnigEncodingKOI8_R;
> -ONIG_EXTERN OnigEncodingType OnigEncodingCP1251;
> -ONIG_EXTERN OnigEncodingType OnigEncodingBIG5;
> -ONIG_EXTERN OnigEncodingType OnigEncodingGB18030;
> -
> -#define ONIG_ENCODING_ASCII        (&OnigEncodingASCII)
> -#define ONIG_ENCODING_ISO_8859_1   (&OnigEncodingISO_8859_1)
> -#define ONIG_ENCODING_ISO_8859_2   (&OnigEncodingISO_8859_2)
> -#define ONIG_ENCODING_ISO_8859_3   (&OnigEncodingISO_8859_3)
> -#define ONIG_ENCODING_ISO_8859_4   (&OnigEncodingISO_8859_4)
> -#define ONIG_ENCODING_ISO_8859_5   (&OnigEncodingISO_8859_5)
> -#define ONIG_ENCODING_ISO_8859_6   (&OnigEncodingISO_8859_6)
> -#define ONIG_ENCODING_ISO_8859_7   (&OnigEncodingISO_8859_7)
> -#define ONIG_ENCODING_ISO_8859_8   (&OnigEncodingISO_8859_8)
> -#define ONIG_ENCODING_ISO_8859_9   (&OnigEncodingISO_8859_9)
> -#define ONIG_ENCODING_ISO_8859_10  (&OnigEncodingISO_8859_10)
> -#define ONIG_ENCODING_ISO_8859_11  (&OnigEncodingISO_8859_11)
> -#define ONIG_ENCODING_ISO_8859_13  (&OnigEncodingISO_8859_13)
> -#define ONIG_ENCODING_ISO_8859_14  (&OnigEncodingISO_8859_14)
> -#define ONIG_ENCODING_ISO_8859_15  (&OnigEncodingISO_8859_15)
> -#define ONIG_ENCODING_ISO_8859_16  (&OnigEncodingISO_8859_16)
> -#define ONIG_ENCODING_UTF8         (&OnigEncodingUTF8)
> -#define ONIG_ENCODING_UTF16_BE     (&OnigEncodingUTF16_BE)
> -#define ONIG_ENCODING_UTF16_LE     (&OnigEncodingUTF16_LE)
> -#define ONIG_ENCODING_UTF32_BE     (&OnigEncodingUTF32_BE)
> -#define ONIG_ENCODING_UTF32_LE     (&OnigEncodingUTF32_LE)
> -#define ONIG_ENCODING_EUC_JP       (&OnigEncodingEUC_JP)
> -#define ONIG_ENCODING_EUC_TW       (&OnigEncodingEUC_TW)
> -#define ONIG_ENCODING_EUC_KR       (&OnigEncodingEUC_KR)
> -#define ONIG_ENCODING_EUC_CN       (&OnigEncodingEUC_CN)
> -#define ONIG_ENCODING_SJIS         (&OnigEncodingSJIS)
> -#define ONIG_ENCODING_KOI8         (&OnigEncodingKOI8)
> -#define ONIG_ENCODING_KOI8_R       (&OnigEncodingKOI8_R)
> -#define ONIG_ENCODING_CP1251       (&OnigEncodingCP1251)
> -#define ONIG_ENCODING_BIG5         (&OnigEncodingBIG5)
> -#define ONIG_ENCODING_GB18030      (&OnigEncodingGB18030)
> -
> -#define ONIG_ENCODING_UNDEF    ((OnigEncoding )0)
> -
> -
> -/* work size */
> -#define ONIGENC_CODE_TO_MBC_MAXLEN       7
> -#define ONIGENC_MBC_CASE_FOLD_MAXLEN    18
> -/* 18: 6(max-byte) * 3(case-fold chars) */
> -
> -/* character types */
> -typedef enum {
> -  ONIGENC_CTYPE_NEWLINE = 0,
> -  ONIGENC_CTYPE_ALPHA   = 1,
> -  ONIGENC_CTYPE_BLANK   = 2,
> -  ONIGENC_CTYPE_CNTRL   = 3,
> -  ONIGENC_CTYPE_DIGIT   = 4,
> -  ONIGENC_CTYPE_GRAPH   = 5,
> -  ONIGENC_CTYPE_LOWER   = 6,
> -  ONIGENC_CTYPE_PRINT   = 7,
> -  ONIGENC_CTYPE_PUNCT   = 8,
> -  ONIGENC_CTYPE_SPACE   = 9,
> -  ONIGENC_CTYPE_UPPER   = 10,
> -  ONIGENC_CTYPE_XDIGIT  = 11,
> -  ONIGENC_CTYPE_WORD    = 12,
> -  ONIGENC_CTYPE_ALNUM   = 13,  /* alpha || digit */
> -  ONIGENC_CTYPE_ASCII   = 14
> -} OnigEncCtype;
> -
> -#define ONIGENC_MAX_STD_CTYPE  ONIGENC_CTYPE_ASCII
> -
> -
> -#define onig_enc_len(enc,p,end)        ONIGENC_MBC_ENC_LEN(enc,p)
> -
> -#define ONIGENC_IS_UNDEF(enc)          ((enc) == ONIG_ENCODING_UNDEF)
> -#define ONIGENC_IS_SINGLEBYTE(enc)     (ONIGENC_MBC_MAXLEN(enc)
> == 1)
> -#define ONIGENC_IS_MBC_HEAD(enc,p)
> (ONIGENC_MBC_ENC_LEN(enc,p) != 1)
> -#define ONIGENC_IS_MBC_ASCII(p)           (*(p)   < 128)
> -#define ONIGENC_IS_CODE_ASCII(code)       ((code) < 128)
> -#define ONIGENC_IS_MBC_WORD(enc,s,end) \
> -   ONIGENC_IS_CODE_WORD(enc,ONIGENC_MBC_TO_CODE(enc,s,end))
> -#define ONIGENC_IS_MBC_WORD_ASCII(enc,s,end)
> onigenc_is_mbc_word_ascii(enc,s,end)
> -
> -#define ONIGENC_NAME(enc)                      ((enc)->name)
> -
> -#define ONIGENC_MBC_CASE_FOLD(enc,flag,pp,end,buf) \
> -  (enc)->mbc_case_fold(flag,(const OnigUChar** )pp,end,buf)
> -#define ONIGENC_IS_ALLOWED_REVERSE_MATCH(enc,s,end) \
> -        (enc)->is_allowed_reverse_match(s,end)
> -#define ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc,start,s) \
> -        (enc)->left_adjust_char_head(start, s)
> -#define ONIGENC_IS_VALID_MBC_STRING(enc,s,end) \
> -        (enc)->is_valid_mbc_string(s,end)
> -#define ONIGENC_APPLY_ALL_CASE_FOLD(enc,case_fold_flag,f,arg) \
> -        (enc)->apply_all_case_fold(case_fold_flag,f,arg)
> -#define
> ONIGENC_GET_CASE_FOLD_CODES_BY_STR(enc,case_fold_flag,p,end,acs) \
> -       (enc)->get_case_fold_codes_by_str(case_fold_flag,p,end,acs)
> -#define ONIGENC_STEP_BACK(enc,start,s,n) \
> -        onigenc_step_back((enc),(start),(s),(n))
> -
> -#define ONIGENC_MBC_ENC_LEN(enc,p)             (enc)->mbc_enc_len(p)
> -#define ONIGENC_MBC_MAXLEN(enc)               ((enc)->max_enc_len)
> -#define ONIGENC_MBC_MAXLEN_DIST(enc)
> ONIGENC_MBC_MAXLEN(enc)
> -#define ONIGENC_MBC_MINLEN(enc)               ((enc)->min_enc_len)
> -#define ONIGENC_IS_MBC_NEWLINE(enc,p,end)      (enc)-
> >is_mbc_newline((p),(end))
> -#define ONIGENC_MBC_TO_CODE(enc,p,end)         (enc)-
> >mbc_to_code((p),(end))
> -#define ONIGENC_CODE_TO_MBCLEN(enc,code)       (enc)-
> >code_to_mbclen(code)
> -#define ONIGENC_CODE_TO_MBC(enc,code,buf)      (enc)-
> >code_to_mbc(code,buf)
> -#define ONIGENC_PROPERTY_NAME_TO_CTYPE(enc,p,end) \
> -  (enc)->property_name_to_ctype(enc,p,end)
> -
> -#define ONIGENC_IS_CODE_CTYPE(enc,code,ctype)  (enc)-
> >is_code_ctype(code,ctype)
> -
> -#define ONIGENC_IS_CODE_NEWLINE(enc,code) \
> -        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_NEWLINE)
> -#define ONIGENC_IS_CODE_GRAPH(enc,code) \
> -        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_GRAPH)
> -#define ONIGENC_IS_CODE_PRINT(enc,code) \
> -        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_PRINT)
> -#define ONIGENC_IS_CODE_ALNUM(enc,code) \
> -        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_ALNUM)
> -#define ONIGENC_IS_CODE_ALPHA(enc,code) \
> -        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_ALPHA)
> -#define ONIGENC_IS_CODE_LOWER(enc,code) \
> -        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_LOWER)
> -#define ONIGENC_IS_CODE_UPPER(enc,code) \
> -        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_UPPER)
> -#define ONIGENC_IS_CODE_CNTRL(enc,code) \
> -        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_CNTRL)
> -#define ONIGENC_IS_CODE_PUNCT(enc,code) \
> -        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_PUNCT)
> -#define ONIGENC_IS_CODE_SPACE(enc,code) \
> -        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_SPACE)
> -#define ONIGENC_IS_CODE_BLANK(enc,code) \
> -        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_BLANK)
> -#define ONIGENC_IS_CODE_DIGIT(enc,code) \
> -        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_DIGIT)
> -#define ONIGENC_IS_CODE_XDIGIT(enc,code) \
> -        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_XDIGIT)
> -#define ONIGENC_IS_CODE_WORD(enc,code) \
> -        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_WORD)
> -
> -#define ONIGENC_GET_CTYPE_CODE_RANGE(enc,ctype,sbout,ranges) \
> -        (enc)->get_ctype_code_range(ctype,sbout,ranges)
> -
> -ONIG_EXTERN
> -OnigUChar* onigenc_step_back P_((OnigEncoding enc, const OnigUChar*
> start, const OnigUChar* s, int n));
> -
> -
> -/* encoding API */
> -ONIG_EXTERN
> -int onigenc_init P_((void));
> -ONIG_EXTERN
> -int onig_initialize_encoding P_((OnigEncoding enc));
> -ONIG_EXTERN
> -int onigenc_set_default_encoding P_((OnigEncoding enc));
> -ONIG_EXTERN
> -OnigEncoding onigenc_get_default_encoding P_((void));
> -ONIG_EXTERN
> -void  onigenc_set_default_caseconv_table P_((const OnigUChar* table));
> -ONIG_EXTERN
> -OnigUChar* onigenc_get_right_adjust_char_head_with_prev
> P_((OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const
> OnigUChar** prev));
> -ONIG_EXTERN
> -OnigUChar* onigenc_get_prev_char_head P_((OnigEncoding enc, const
> OnigUChar* start, const OnigUChar* s));
> -ONIG_EXTERN
> -OnigUChar* onigenc_get_left_adjust_char_head P_((OnigEncoding enc,
> const OnigUChar* start, const OnigUChar* s));
> -ONIG_EXTERN
> -OnigUChar* onigenc_get_right_adjust_char_head P_((OnigEncoding enc,
> const OnigUChar* start, const OnigUChar* s));
> -ONIG_EXTERN
> -int onigenc_strlen P_((OnigEncoding enc, const OnigUChar* p, const
> OnigUChar* end));
> -ONIG_EXTERN
> -int onigenc_strlen_null P_((OnigEncoding enc, const OnigUChar* p));
> -ONIG_EXTERN
> -int onigenc_str_bytelen_null P_((OnigEncoding enc, const OnigUChar* p));
> -ONIG_EXTERN
> -int onigenc_is_valid_mbc_string P_((OnigEncoding enc, const OnigUChar* s,
> const OnigUChar* end));
> -ONIG_EXTERN
> -OnigUChar* onigenc_strdup P_((OnigEncoding enc, const OnigUChar* s,
> const OnigUChar* end));
> -
> -
> -/* PART: regular expression */
> -
> -/* config parameters */
> -#define ONIG_NREGION                          10
> -#define ONIG_MAX_CAPTURE_NUM          2147483647  /* 2**31 - 1 */
> -#define ONIG_MAX_BACKREF_NUM                1000
> -#define ONIG_MAX_REPEAT_NUM               100000
> -#define ONIG_MAX_MULTI_BYTE_RANGES_NUM     10000
> -/* constants */
> -#define ONIG_MAX_ERROR_MESSAGE_LEN            90
> -
> -typedef unsigned int        OnigOptionType;
> -
> -#define ONIG_OPTION_DEFAULT            ONIG_OPTION_NONE
> -
> -/* options */
> -#define ONIG_OPTION_NONE                 0U
> -/* options (compile time) */
> -#define ONIG_OPTION_IGNORECASE           1U
> -#define ONIG_OPTION_EXTEND               (ONIG_OPTION_IGNORECASE
> << 1)
> -#define ONIG_OPTION_MULTILINE            (ONIG_OPTION_EXTEND             <<
> 1)
> -#define ONIG_OPTION_SINGLELINE           (ONIG_OPTION_MULTILINE
> << 1)
> -#define ONIG_OPTION_FIND_LONGEST         (ONIG_OPTION_SINGLELINE
> << 1)
> -#define ONIG_OPTION_FIND_NOT_EMPTY
> (ONIG_OPTION_FIND_LONGEST       << 1)
> -#define ONIG_OPTION_NEGATE_SINGLELINE
> (ONIG_OPTION_FIND_NOT_EMPTY     << 1)
> -#define ONIG_OPTION_DONT_CAPTURE_GROUP
> (ONIG_OPTION_NEGATE_SINGLELINE  << 1)
> -#define ONIG_OPTION_CAPTURE_GROUP
> (ONIG_OPTION_DONT_CAPTURE_GROUP << 1)
> -/* options (search time) */
> -#define ONIG_OPTION_NOTBOL
> (ONIG_OPTION_CAPTURE_GROUP << 1)
> -#define ONIG_OPTION_NOTEOL                    (ONIG_OPTION_NOTBOL << 1)
> -#define ONIG_OPTION_POSIX_REGION              (ONIG_OPTION_NOTEOL <<
> 1)
> -#define ONIG_OPTION_CHECK_VALIDITY_OF_STRING
> (ONIG_OPTION_POSIX_REGION << 1)
> -/* #define ONIG_OPTION_CRLF_AS_LINE_SEPARATOR
> (ONIG_OPTION_CHECK_VALIDITY_OF_STRING << 1) */
> -/* options (compile time) */
> -#define ONIG_OPTION_WORD_IS_ASCII
> (ONIG_OPTION_CHECK_VALIDITY_OF_STRING << 4)
> -#define ONIG_OPTION_DIGIT_IS_ASCII
> (ONIG_OPTION_WORD_IS_ASCII << 1)
> -#define ONIG_OPTION_SPACE_IS_ASCII
> (ONIG_OPTION_DIGIT_IS_ASCII << 1)
> -#define ONIG_OPTION_POSIX_IS_ASCII
> (ONIG_OPTION_SPACE_IS_ASCII << 1)
> -#define ONIG_OPTION_TEXT_SEGMENT_EXTENDED_GRAPHEME_CLUSTER
> (ONIG_OPTION_POSIX_IS_ASCII << 1)
> -#define ONIG_OPTION_TEXT_SEGMENT_WORD
> (ONIG_OPTION_TEXT_SEGMENT_EXTENDED_GRAPHEME_CLUSTER << 1)
> -
> -#define ONIG_OPTION_MAXBIT
> ONIG_OPTION_TEXT_SEGMENT_WORD  /* limit */
> -
> -#define ONIG_OPTION_ON(options,regopt)      ((options) |= (regopt))
> -#define ONIG_OPTION_OFF(options,regopt)     ((options) &= ~(regopt))
> -#define ONIG_IS_OPTION_ON(options,option)   ((options) & (option))
> -
> -/* syntax */
> -typedef struct {
> -  unsigned int   op;
> -  unsigned int   op2;
> -  unsigned int   behavior;
> -  OnigOptionType options;   /* default option */
> -  OnigMetaCharTableType meta_char_table;
> -} OnigSyntaxType;
> -
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxASIS;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxPosixBasic;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxPosixExtended;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxEmacs;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxGrep;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxGnuRegex;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxJava;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxPerl;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxPerl_NG;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxRuby;
> -ONIG_EXTERN OnigSyntaxType OnigSyntaxOniguruma;
> -
> -/* predefined syntaxes (see regsyntax.c) */
> -#define ONIG_SYNTAX_ASIS               (&OnigSyntaxASIS)
> -#define ONIG_SYNTAX_POSIX_BASIC        (&OnigSyntaxPosixBasic)
> -#define ONIG_SYNTAX_POSIX_EXTENDED     (&OnigSyntaxPosixExtended)
> -#define ONIG_SYNTAX_EMACS              (&OnigSyntaxEmacs)
> -#define ONIG_SYNTAX_GREP               (&OnigSyntaxGrep)
> -#define ONIG_SYNTAX_GNU_REGEX          (&OnigSyntaxGnuRegex)
> -#define ONIG_SYNTAX_JAVA               (&OnigSyntaxJava)
> -#define ONIG_SYNTAX_PERL               (&OnigSyntaxPerl)
> -#define ONIG_SYNTAX_PERL_NG            (&OnigSyntaxPerl_NG)
> -#define ONIG_SYNTAX_RUBY               (&OnigSyntaxRuby)
> -#define ONIG_SYNTAX_ONIGURUMA          (&OnigSyntaxOniguruma)
> -
> -/* default syntax */
> -ONIG_EXTERN OnigSyntaxType*   OnigDefaultSyntax;
> -#define ONIG_SYNTAX_DEFAULT   OnigDefaultSyntax
> -
> -/* syntax (operators) */
> -#define ONIG_SYN_OP_VARIABLE_META_CHARACTERS    (1U<<0)
> -#define ONIG_SYN_OP_DOT_ANYCHAR                 (1U<<1)   /* . */
> -#define ONIG_SYN_OP_ASTERISK_ZERO_INF           (1U<<2)   /* * */
> -#define ONIG_SYN_OP_ESC_ASTERISK_ZERO_INF       (1U<<3)
> -#define ONIG_SYN_OP_PLUS_ONE_INF                (1U<<4)   /* + */
> -#define ONIG_SYN_OP_ESC_PLUS_ONE_INF            (1U<<5)
> -#define ONIG_SYN_OP_QMARK_ZERO_ONE              (1U<<6)   /* ? */
> -#define ONIG_SYN_OP_ESC_QMARK_ZERO_ONE          (1U<<7)
> -#define ONIG_SYN_OP_BRACE_INTERVAL              (1U<<8)   /* {lower,upper}
> */
> -#define ONIG_SYN_OP_ESC_BRACE_INTERVAL          (1U<<9)   /*
> \{lower,upper\} */
> -#define ONIG_SYN_OP_VBAR_ALT                    (1U<<10)   /* | */
> -#define ONIG_SYN_OP_ESC_VBAR_ALT                (1U<<11)  /* \| */
> -#define ONIG_SYN_OP_LPAREN_SUBEXP               (1U<<12)  /* (...)   */
> -#define ONIG_SYN_OP_ESC_LPAREN_SUBEXP           (1U<<13)  /* \(...\) */
> -#define ONIG_SYN_OP_ESC_AZ_BUF_ANCHOR           (1U<<14)  /* \A, \Z, \z
> */
> -#define ONIG_SYN_OP_ESC_CAPITAL_G_BEGIN_ANCHOR  (1U<<15)  /* \G
> */
> -#define ONIG_SYN_OP_DECIMAL_BACKREF             (1U<<16)  /* \num   */
> -#define ONIG_SYN_OP_BRACKET_CC                  (1U<<17)  /* [...]  */
> -#define ONIG_SYN_OP_ESC_W_WORD                  (1U<<18)  /* \w, \W */
> -#define ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END     (1U<<19)  /* \<. \>
> */
> -#define ONIG_SYN_OP_ESC_B_WORD_BOUND            (1U<<20)  /* \b, \B */
> -#define ONIG_SYN_OP_ESC_S_WHITE_SPACE           (1U<<21)  /* \s, \S */
> -#define ONIG_SYN_OP_ESC_D_DIGIT                 (1U<<22)  /* \d, \D */
> -#define ONIG_SYN_OP_LINE_ANCHOR                 (1U<<23)  /* ^, $   */
> -#define ONIG_SYN_OP_POSIX_BRACKET               (1U<<24)  /* [:xxxx:] */
> -#define ONIG_SYN_OP_QMARK_NON_GREEDY            (1U<<25)
> /* ??,*?,+?,{n,m}? */
> -#define ONIG_SYN_OP_ESC_CONTROL_CHARS           (1U<<26)  /*
> \n,\r,\t,\a ... */
> -#define ONIG_SYN_OP_ESC_C_CONTROL               (1U<<27)  /* \cx  */
> -#define ONIG_SYN_OP_ESC_OCTAL3                  (1U<<28)  /* \OOO */
> -#define ONIG_SYN_OP_ESC_X_HEX2                  (1U<<29)  /* \xHH */
> -#define ONIG_SYN_OP_ESC_X_BRACE_HEX8            (1U<<30)  /*
> \x{7HHHHHHH} */
> -#define ONIG_SYN_OP_ESC_O_BRACE_OCTAL           (1U<<31)  /*
> \o{1OOOOOOOOOO} */
> -
> -#define ONIG_SYN_OP2_ESC_CAPITAL_Q_QUOTE        (1U<<0)  /* \Q...\E */
> -#define ONIG_SYN_OP2_QMARK_GROUP_EFFECT         (1U<<1)  /* (?...) */
> -#define ONIG_SYN_OP2_OPTION_PERL                (1U<<2)  /* (?imsx),(?-imsx)
> */
> -#define ONIG_SYN_OP2_OPTION_RUBY                (1U<<3)  /* (?imx), (?-imx)
> */
> -#define ONIG_SYN_OP2_PLUS_POSSESSIVE_REPEAT     (1U<<4)
> /* ?+,*+,++ */
> -#define ONIG_SYN_OP2_PLUS_POSSESSIVE_INTERVAL   (1U<<5)  /* {n,m}+
> */
> -#define ONIG_SYN_OP2_CCLASS_SET_OP              (1U<<6)  /* [...&&..[..]..]
> */
> -#define ONIG_SYN_OP2_QMARK_LT_NAMED_GROUP       (1U<<7)  /*
> (?<name>...) */
> -#define ONIG_SYN_OP2_ESC_K_NAMED_BACKREF        (1U<<8)  /*
> \k<name> */
> -#define ONIG_SYN_OP2_ESC_G_SUBEXP_CALL          (1U<<9)  /* \g<name>,
> \g<n> */
> -#define ONIG_SYN_OP2_ATMARK_CAPTURE_HISTORY     (1U<<10) /*
> (?@..),(?@<x>..) */
> -#define ONIG_SYN_OP2_ESC_CAPITAL_C_BAR_CONTROL  (1U<<11) /* \C-x
> */
> -#define ONIG_SYN_OP2_ESC_CAPITAL_M_BAR_META     (1U<<12) /* \M-x
> */
> -#define ONIG_SYN_OP2_ESC_V_VTAB                 (1U<<13) /* \v as VTAB */
> -#define ONIG_SYN_OP2_ESC_U_HEX4                 (1U<<14) /* \uHHHH */
> -#define ONIG_SYN_OP2_ESC_GNU_BUF_ANCHOR         (1U<<15) /* \`, \' */
> -#define ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY  (1U<<16) /*
> \p{...}, \P{...} */
> -#define ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT (1U<<17) /*
> \p{^..}, \P{^..} */
> -/* #define ONIG_SYN_OP2_CHAR_PROPERTY_PREFIX_IS (1U<<18) */
> -#define ONIG_SYN_OP2_ESC_H_XDIGIT               (1U<<19) /* \h, \H */
> -#define ONIG_SYN_OP2_INEFFECTIVE_ESCAPE         (1U<<20) /* \ */
> -#define ONIG_SYN_OP2_QMARK_LPAREN_IF_ELSE       (1U<<21) /* (?(n))
> (?(...)...|...) */
> -#define ONIG_SYN_OP2_ESC_CAPITAL_K_KEEP         (1U<<22) /* \K */
> -#define ONIG_SYN_OP2_ESC_CAPITAL_R_GENERAL_NEWLINE (1U<<23) /*
> \R \r\n else [\x0a-\x0d] */
> -#define ONIG_SYN_OP2_ESC_CAPITAL_N_O_SUPER_DOT  (1U<<24) /* \N
> (?-m:.), \O (?m:.) */
> -#define ONIG_SYN_OP2_QMARK_TILDE_ABSENT_GROUP   (1U<<25) /*
> (?~...) */
> -#define ONIG_SYN_OP2_ESC_X_Y_GRAPHEME_CLUSTER   (1U<<26) /*
> obsoleted: use next */
> -#define ONIG_SYN_OP2_ESC_X_Y_TEXT_SEGMENT       (1U<<26) /* \X \y \Y
> */
> -#define ONIG_SYN_OP2_QMARK_PERL_SUBEXP_CALL     (1U<<27) /* (?R),
> (?&name)... */
> -#define ONIG_SYN_OP2_QMARK_BRACE_CALLOUT_CONTENTS (1U<<28)
> /* (?{...}) (?{{...}}) */
> -#define ONIG_SYN_OP2_ASTERISK_CALLOUT_NAME      (1U<<29) /*
> (*name) (*name{a,..}) */
> -#define ONIG_SYN_OP2_OPTION_ONIGURUMA           (1U<<30) /*
> (?imxWDSPy) */
> -
> -/* syntax (behavior) */
> -#define ONIG_SYN_CONTEXT_INDEP_ANCHORS           (1U<<31) /* not
> implemented */
> -#define ONIG_SYN_CONTEXT_INDEP_REPEAT_OPS        (1U<<0)  /* ?, *, +,
> {n,m} */
> -#define ONIG_SYN_CONTEXT_INVALID_REPEAT_OPS      (1U<<1)  /* error
> or ignore */
> -#define ONIG_SYN_ALLOW_UNMATCHED_CLOSE_SUBEXP    (1U<<2)
> /* ...)... */
> -#define ONIG_SYN_ALLOW_INVALID_INTERVAL          (1U<<3)  /* {??? */
> -#define ONIG_SYN_ALLOW_INTERVAL_LOW_ABBREV       (1U<<4)  /* {,n} =>
> {0,n} */
> -#define ONIG_SYN_STRICT_CHECK_BACKREF            (1U<<5)  /*
> /(\1)/,/\1()/ ..*/
> -#define ONIG_SYN_DIFFERENT_LEN_ALT_LOOK_BEHIND   (1U<<6)  /*
> (?<=a|bc) */
> -#define ONIG_SYN_CAPTURE_ONLY_NAMED_GROUP        (1U<<7)  /* see
> doc/RE */
> -#define ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME (1U<<8)  /*
> (?<x>)(?<x>) */
> -#define ONIG_SYN_FIXED_INTERVAL_IS_GREEDY_ONLY   (1U<<9)  /*
> a{n}?=(?:a{n})? */
> -
> -/* syntax (behavior) in char class [...] */
> -#define ONIG_SYN_NOT_NEWLINE_IN_NEGATIVE_CC      (1U<<20) /* [^...]
> */
> -#define ONIG_SYN_BACKSLASH_ESCAPE_IN_CC          (1U<<21) /* [..\w..]
> etc.. */
> -#define ONIG_SYN_ALLOW_EMPTY_RANGE_IN_CC         (1U<<22)
> -#define ONIG_SYN_ALLOW_DOUBLE_RANGE_OP_IN_CC     (1U<<23) /* [0-
> 9-a]=[0-9\-a] */
> -#define ONIG_SYN_ALLOW_INVALID_CODE_END_OF_RANGE_IN_CC
> (1U<<26)
> -/* syntax (behavior) warning */
> -#define ONIG_SYN_WARN_CC_OP_NOT_ESCAPED          (1U<<24) /* [,-,] */
> -#define ONIG_SYN_WARN_REDUNDANT_NESTED_REPEAT    (1U<<25) /*
> (?:a*)+ */
> -
> -/* meta character specifiers (onig_set_meta_char()) */
> -#define ONIG_META_CHAR_ESCAPE               0
> -#define ONIG_META_CHAR_ANYCHAR              1
> -#define ONIG_META_CHAR_ANYTIME              2
> -#define ONIG_META_CHAR_ZERO_OR_ONE_TIME     3
> -#define ONIG_META_CHAR_ONE_OR_MORE_TIME     4
> -#define ONIG_META_CHAR_ANYCHAR_ANYTIME      5
> -
> -#define ONIG_INEFFECTIVE_META_CHAR          0
> -
> -/* error codes */
> -#define ONIG_IS_PATTERN_ERROR(ecode)   ((ecode) <= -100 && (ecode) >
> -1000)
> -/* normal return */
> -#define ONIG_NORMAL                                            0
> -#define ONIG_MISMATCH                                         -1
> -#define ONIG_NO_SUPPORT_CONFIG                                -2
> -#define ONIG_ABORT                                            -3
> -
> -/* internal error */
> -#define ONIGERR_MEMORY                                         -5
> -#define ONIGERR_TYPE_BUG                                       -6
> -#define ONIGERR_PARSER_BUG                                    -11
> -#define ONIGERR_STACK_BUG                                     -12
> -#define ONIGERR_UNDEFINED_BYTECODE                            -13
> -#define ONIGERR_UNEXPECTED_BYTECODE                           -14
> -#define ONIGERR_MATCH_STACK_LIMIT_OVER                        -15
> -#define ONIGERR_PARSE_DEPTH_LIMIT_OVER                        -16
> -#define ONIGERR_RETRY_LIMIT_IN_MATCH_OVER                     -17
> -#define ONIGERR_DEFAULT_ENCODING_IS_NOT_SETTED                -21
> -#define
> ONIGERR_SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR  -22
> -#define ONIGERR_FAIL_TO_INITIALIZE                            -23
> -/* general error */
> -#define ONIGERR_INVALID_ARGUMENT                              -30
> -/* syntax error */
> -#define ONIGERR_END_PATTERN_AT_LEFT_BRACE                    -100
> -#define ONIGERR_END_PATTERN_AT_LEFT_BRACKET                  -101
> -#define ONIGERR_EMPTY_CHAR_CLASS                             -102
> -#define ONIGERR_PREMATURE_END_OF_CHAR_CLASS                  -103
> -#define ONIGERR_END_PATTERN_AT_ESCAPE                        -104
> -#define ONIGERR_END_PATTERN_AT_META                          -105
> -#define ONIGERR_END_PATTERN_AT_CONTROL                       -106
> -#define ONIGERR_META_CODE_SYNTAX                             -108
> -#define ONIGERR_CONTROL_CODE_SYNTAX                          -109
> -#define ONIGERR_CHAR_CLASS_VALUE_AT_END_OF_RANGE             -110
> -#define ONIGERR_CHAR_CLASS_VALUE_AT_START_OF_RANGE           -111
> -#define ONIGERR_UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS      -
> 112
> -#define ONIGERR_TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED      -
> 113
> -#define ONIGERR_TARGET_OF_REPEAT_OPERATOR_INVALID            -114
> -#define ONIGERR_NESTED_REPEAT_OPERATOR                       -115
> -#define ONIGERR_UNMATCHED_CLOSE_PARENTHESIS                  -116
> -#define ONIGERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS       -
> 117
> -#define ONIGERR_END_PATTERN_IN_GROUP                         -118
> -#define ONIGERR_UNDEFINED_GROUP_OPTION                       -119
> -#define ONIGERR_INVALID_POSIX_BRACKET_TYPE                   -121
> -#define ONIGERR_INVALID_LOOK_BEHIND_PATTERN                  -122
> -#define ONIGERR_INVALID_REPEAT_RANGE_PATTERN                 -123
> -/* values error (syntax error) */
> -#define ONIGERR_TOO_BIG_NUMBER                               -200
> -#define ONIGERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE              -201
> -#define ONIGERR_UPPER_SMALLER_THAN_LOWER_IN_REPEAT_RANGE     -
> 202
> -#define ONIGERR_EMPTY_RANGE_IN_CHAR_CLASS                    -203
> -#define ONIGERR_MISMATCH_CODE_LENGTH_IN_CLASS_RANGE          -204
> -#define ONIGERR_TOO_MANY_MULTI_BYTE_RANGES                   -205
> -#define ONIGERR_TOO_SHORT_MULTI_BYTE_STRING                  -206
> -#define ONIGERR_TOO_BIG_BACKREF_NUMBER                       -207
> -#define ONIGERR_INVALID_BACKREF                              -208
> -#define ONIGERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED         -
> 209
> -#define ONIGERR_TOO_MANY_CAPTURES                            -210
> -#define ONIGERR_TOO_LONG_WIDE_CHAR_VALUE                     -212
> -#define ONIGERR_EMPTY_GROUP_NAME                             -214
> -#define ONIGERR_INVALID_GROUP_NAME                           -215
> -#define ONIGERR_INVALID_CHAR_IN_GROUP_NAME                   -216
> -#define ONIGERR_UNDEFINED_NAME_REFERENCE                     -217
> -#define ONIGERR_UNDEFINED_GROUP_REFERENCE                    -218
> -#define ONIGERR_MULTIPLEX_DEFINED_NAME                       -219
> -#define ONIGERR_MULTIPLEX_DEFINITION_NAME_CALL               -220
> -#define ONIGERR_NEVER_ENDING_RECURSION                       -221
> -#define ONIGERR_GROUP_NUMBER_OVER_FOR_CAPTURE_HISTORY        -
> 222
> -#define ONIGERR_INVALID_CHAR_PROPERTY_NAME                   -223
> -#define ONIGERR_INVALID_IF_ELSE_SYNTAX                       -224
> -#define ONIGERR_INVALID_ABSENT_GROUP_PATTERN                 -225
> -#define ONIGERR_INVALID_ABSENT_GROUP_GENERATOR_PATTERN       -
> 226
> -#define ONIGERR_INVALID_CALLOUT_PATTERN                      -227
> -#define ONIGERR_INVALID_CALLOUT_NAME                         -228
> -#define ONIGERR_UNDEFINED_CALLOUT_NAME                       -229
> -#define ONIGERR_INVALID_CALLOUT_BODY                         -230
> -#define ONIGERR_INVALID_CALLOUT_TAG_NAME                     -231
> -#define ONIGERR_INVALID_CALLOUT_ARG                          -232
> -#define ONIGERR_INVALID_CODE_POINT_VALUE                     -400
> -#define ONIGERR_INVALID_WIDE_CHAR_VALUE                      -400
> -#define ONIGERR_TOO_BIG_WIDE_CHAR_VALUE                      -401
> -#define ONIGERR_NOT_SUPPORTED_ENCODING_COMBINATION           -402
> -#define ONIGERR_INVALID_COMBINATION_OF_OPTIONS               -403
> -#define ONIGERR_TOO_MANY_USER_DEFINED_OBJECTS                -404
> -#define ONIGERR_TOO_LONG_PROPERTY_NAME                       -405
> -#define ONIGERR_LIBRARY_IS_NOT_INITIALIZED                   -500
> -
> -/* errors related to thread */
> -/* #define ONIGERR_OVER_THREAD_PASS_LIMIT_COUNT                -1001 */
> -
> -
> -/* must be smaller than MEM_STATUS_BITS_NUM (unsigned int * 8) */
> -#define ONIG_MAX_CAPTURE_HISTORY_GROUP   31
> -#define ONIG_IS_CAPTURE_HISTORY_GROUP(r, i) \
> -  ((i) <= ONIG_MAX_CAPTURE_HISTORY_GROUP && (r)->list && (r)->list[i])
> -
> -typedef struct OnigCaptureTreeNodeStruct {
> -  int group;   /* group number */
> -  int beg;
> -  int end;
> -  int allocated;
> -  int num_childs;
> -  struct OnigCaptureTreeNodeStruct** childs;
> -} OnigCaptureTreeNode;
> -
> -/* match result region type */
> -struct re_registers {
> -  int  allocated;
> -  int  num_regs;
> -  int* beg;
> -  int* end;
> -  /* extended */
> -  OnigCaptureTreeNode* history_root;  /* capture history tree root */
> -};
> -
> -/* capture tree traverse */
> -#define ONIG_TRAVERSE_CALLBACK_AT_FIRST   1
> -#define ONIG_TRAVERSE_CALLBACK_AT_LAST    2
> -#define ONIG_TRAVERSE_CALLBACK_AT_BOTH \
> -  ( ONIG_TRAVERSE_CALLBACK_AT_FIRST |
> ONIG_TRAVERSE_CALLBACK_AT_LAST )
> -
> -
> -#define ONIG_REGION_NOTPOS            -1
> -
> -typedef struct re_registers   OnigRegion;
> -
> -typedef struct {
> -  OnigEncoding enc;
> -  OnigUChar* par;
> -  OnigUChar* par_end;
> -} OnigErrorInfo;
> -
> -typedef struct {
> -  int lower;
> -  int upper;
> -} OnigRepeatRange;
> -
> -typedef void (*OnigWarnFunc) P_((const char* s));
> -extern void onig_null_warn P_((const char* s));
> -#define ONIG_NULL_WARN       onig_null_warn
> -
> -#define ONIG_CHAR_TABLE_SIZE   256
> -
> -struct re_pattern_buffer;
> -typedef struct re_pattern_buffer OnigRegexType;
> -typedef OnigRegexType*  OnigRegex;
> -
> -#ifndef ONIG_ESCAPE_REGEX_T_COLLISION
> -  typedef OnigRegexType  regex_t;
> -#endif
> -
> -
> -typedef struct {
> -  int             num_of_elements;
> -  OnigEncoding    pattern_enc;
> -  OnigEncoding    target_enc;
> -  OnigSyntaxType* syntax;
> -  OnigOptionType  option;
> -  OnigCaseFoldType   case_fold_flag;
> -} OnigCompileInfo;
> -
> -
> -/* types for callout */
> -typedef enum {
> -  ONIG_CALLOUT_IN_PROGRESS   = 1, /* 1<<0 */
> -  ONIG_CALLOUT_IN_RETRACTION = 2  /* 1<<1 */
> -} OnigCalloutIn;
> -
> -#define ONIG_CALLOUT_IN_BOTH  (ONIG_CALLOUT_IN_PROGRESS |
> ONIG_CALLOUT_IN_RETRACTION)
> -
> -typedef enum {
> -  ONIG_CALLOUT_OF_CONTENTS = 0,
> -  ONIG_CALLOUT_OF_NAME     = 1
> -} OnigCalloutOf;
> -
> -typedef enum {
> -  ONIG_CALLOUT_TYPE_SINGLE              = 0,
> -  ONIG_CALLOUT_TYPE_START_CALL          = 1,
> -  ONIG_CALLOUT_TYPE_BOTH_CALL           = 2,
> -  ONIG_CALLOUT_TYPE_START_MARK_END_CALL = 3,
> -} OnigCalloutType;
> -
> -
> -#define ONIG_NON_NAME_ID        -1
> -#define ONIG_NON_CALLOUT_NUM     0
> -
> -#define ONIG_CALLOUT_MAX_ARGS_NUM     4
> -#define ONIG_CALLOUT_DATA_SLOT_NUM    5
> -
> -struct OnigCalloutArgsStruct;
> -typedef struct OnigCalloutArgsStruct OnigCalloutArgs;
> -
> -typedef int (*OnigCalloutFunc)(OnigCalloutArgs* args, void* user_data);
> -
> -/* callout function return values (less than -1: error code) */
> -typedef enum {
> -  ONIG_CALLOUT_FAIL     =  1,
> -  ONIG_CALLOUT_SUCCESS  =  0
> -} OnigCalloutResult;
> -
> -typedef enum {
> -  ONIG_TYPE_VOID     = 0,
> -  ONIG_TYPE_LONG     = 1<<0,
> -  ONIG_TYPE_CHAR     = 1<<1,
> -  ONIG_TYPE_STRING   = 1<<2,
> -  ONIG_TYPE_POINTER  = 1<<3,
> -  ONIG_TYPE_TAG      = 1<<4,
> -} OnigType;
> -
> -typedef union {
> -  long l;
> -  OnigCodePoint c;
> -  struct {
> -    OnigUChar* start;
> -    OnigUChar* end;
> -  } s;
> -  void* p;
> -  int tag;  /* tag -> callout_num */
> -} OnigValue;
> -
> -
> -struct OnigMatchParamStruct;
> -typedef struct OnigMatchParamStruct OnigMatchParam;
> -
> -
> -/* Oniguruma Native API */
> -
> -ONIG_EXTERN
> -int onig_initialize P_((OnigEncoding encodings[], int number_of_encodings));
> -/* onig_init(): deprecated function. Use onig_initialize(). */
> -ONIG_EXTERN
> -int onig_init P_((void));
> -ONIG_EXTERN
> -int EFIAPI onig_error_code_to_str PV_((OnigUChar* s, int err_code, ...));
> -ONIG_EXTERN
> -int onig_is_error_code_needs_param PV_((int code));
> -ONIG_EXTERN
> -void onig_set_warn_func P_((OnigWarnFunc f));
> -ONIG_EXTERN
> -void onig_set_verb_warn_func P_((OnigWarnFunc f));
> -ONIG_EXTERN
> -int onig_new P_((OnigRegex*, const OnigUChar* pattern, const
> OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc,
> OnigSyntaxType* syntax, OnigErrorInfo* einfo));
> -ONIG_EXTERN
> -int  onig_reg_init P_((OnigRegex reg, OnigOptionType option,
> OnigCaseFoldType case_fold_flag, OnigEncoding enc, OnigSyntaxType*
> syntax));
> -int onig_new_without_alloc P_((OnigRegex, const OnigUChar* pattern,
> const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc,
> OnigSyntaxType* syntax, OnigErrorInfo* einfo));
> -ONIG_EXTERN
> -int onig_new_deluxe P_((OnigRegex* reg, const OnigUChar* pattern, const
> OnigUChar* pattern_end, OnigCompileInfo* ci, OnigErrorInfo* einfo));
> -ONIG_EXTERN
> -void onig_free P_((OnigRegex));
> -ONIG_EXTERN
> -void onig_free_body P_((OnigRegex));
> -ONIG_EXTERN
> -int onig_scan(OnigRegex reg, const OnigUChar* str, const OnigUChar* end,
> OnigRegion* region, OnigOptionType option, int (*scan_callback)(int, int,
> OnigRegion*, void*), void* callback_arg);
> -ONIG_EXTERN
> -int onig_search P_((OnigRegex, const OnigUChar* str, const OnigUChar*
> end, const OnigUChar* start, const OnigUChar* range, OnigRegion* region,
> OnigOptionType option));
> -ONIG_EXTERN
> -int onig_search_with_param P_((OnigRegex, const OnigUChar* str, const
> OnigUChar* end, const OnigUChar* start, const OnigUChar* range,
> OnigRegion* region, OnigOptionType option, OnigMatchParam* mp));
> -ONIG_EXTERN
> -int onig_match P_((OnigRegex, const OnigUChar* str, const OnigUChar*
> end, const OnigUChar* at, OnigRegion* region, OnigOptionType option));
> -ONIG_EXTERN
> -int onig_match_with_param P_((OnigRegex, const OnigUChar* str, const
> OnigUChar* end, const OnigUChar* at, OnigRegion* region, OnigOptionType
> option, OnigMatchParam* mp));
> -ONIG_EXTERN
> -OnigRegion* onig_region_new P_((void));
> -ONIG_EXTERN
> -void onig_region_init P_((OnigRegion* region));
> -ONIG_EXTERN
> -void onig_region_free P_((OnigRegion* region, int free_self));
> -ONIG_EXTERN
> -void onig_region_copy P_((OnigRegion* to, OnigRegion* from));
> -ONIG_EXTERN
> -void onig_region_clear P_((OnigRegion* region));
> -ONIG_EXTERN
> -int onig_region_resize P_((OnigRegion* region, int n));
> -ONIG_EXTERN
> -int onig_region_set P_((OnigRegion* region, int at, int beg, int end));
> -ONIG_EXTERN
> -int onig_name_to_group_numbers P_((OnigRegex reg, const OnigUChar*
> name, const OnigUChar* name_end, int** nums));
> -ONIG_EXTERN
> -int onig_name_to_backref_number P_((OnigRegex reg, const OnigUChar*
> name, const OnigUChar* name_end, OnigRegion *region));
> -ONIG_EXTERN
> -int onig_foreach_name P_((OnigRegex reg, int (*func)(const OnigUChar*,
> const OnigUChar*,int,int*,OnigRegex,void*), void* arg));
> -ONIG_EXTERN
> -int onig_number_of_names P_((OnigRegex reg));
> -ONIG_EXTERN
> -int onig_number_of_captures P_((OnigRegex reg));
> -ONIG_EXTERN
> -int onig_number_of_capture_histories P_((OnigRegex reg));
> -ONIG_EXTERN
> -OnigCaptureTreeNode* onig_get_capture_tree P_((OnigRegion* region));
> -ONIG_EXTERN
> -int onig_capture_tree_traverse P_((OnigRegion* region, int at,
> int(*callback_func)(int,int,int,int,int,void*), void* arg));
> -ONIG_EXTERN
> -int onig_noname_group_capture_is_active P_((OnigRegex reg));
> -ONIG_EXTERN
> -OnigEncoding onig_get_encoding P_((OnigRegex reg));
> -ONIG_EXTERN
> -OnigOptionType onig_get_options P_((OnigRegex reg));
> -ONIG_EXTERN
> -OnigCaseFoldType onig_get_case_fold_flag P_((OnigRegex reg));
> -ONIG_EXTERN
> -OnigSyntaxType* onig_get_syntax P_((OnigRegex reg));
> -ONIG_EXTERN
> -int onig_set_default_syntax P_((OnigSyntaxType* syntax));
> -ONIG_EXTERN
> -void onig_copy_syntax P_((OnigSyntaxType* to, OnigSyntaxType* from));
> -ONIG_EXTERN
> -unsigned int onig_get_syntax_op P_((OnigSyntaxType* syntax));
> -ONIG_EXTERN
> -unsigned int onig_get_syntax_op2 P_((OnigSyntaxType* syntax));
> -ONIG_EXTERN
> -unsigned int onig_get_syntax_behavior P_((OnigSyntaxType* syntax));
> -ONIG_EXTERN
> -OnigOptionType onig_get_syntax_options P_((OnigSyntaxType* syntax));
> -ONIG_EXTERN
> -void onig_set_syntax_op P_((OnigSyntaxType* syntax, unsigned int op));
> -ONIG_EXTERN
> -void onig_set_syntax_op2 P_((OnigSyntaxType* syntax, unsigned int op2));
> -ONIG_EXTERN
> -void onig_set_syntax_behavior P_((OnigSyntaxType* syntax, unsigned int
> behavior));
> -ONIG_EXTERN
> -void onig_set_syntax_options P_((OnigSyntaxType* syntax,
> OnigOptionType options));
> -ONIG_EXTERN
> -int onig_set_meta_char P_((OnigSyntaxType* syntax, unsigned int what,
> OnigCodePoint code));
> -ONIG_EXTERN
> -void onig_copy_encoding P_((OnigEncoding to, OnigEncoding from));
> -ONIG_EXTERN
> -OnigCaseFoldType onig_get_default_case_fold_flag P_((void));
> -ONIG_EXTERN
> -int onig_set_default_case_fold_flag P_((OnigCaseFoldType case_fold_flag));
> -ONIG_EXTERN
> -unsigned int onig_get_match_stack_limit_size P_((void));
> -ONIG_EXTERN
> -int onig_set_match_stack_limit_size P_((unsigned int size));
> -ONIG_EXTERN
> -unsigned long onig_get_retry_limit_in_match P_((void));
> -ONIG_EXTERN
> -int onig_set_retry_limit_in_match P_((unsigned long n));
> -ONIG_EXTERN
> -unsigned int onig_get_parse_depth_limit P_((void));
> -ONIG_EXTERN
> -int onig_set_capture_num_limit P_((int num));
> -ONIG_EXTERN
> -int onig_set_parse_depth_limit P_((unsigned int depth));
> -ONIG_EXTERN
> -int onig_unicode_define_user_property P_((const char* name,
> OnigCodePoint* ranges));
> -ONIG_EXTERN
> -int onig_end P_((void));
> -ONIG_EXTERN
> -const char* onig_version P_((void));
> -ONIG_EXTERN
> -const char* onig_copyright P_((void));
> -
> -/* for OnigMatchParam */
> -ONIG_EXTERN
> -OnigMatchParam* onig_new_match_param P_((void));
> -ONIG_EXTERN
> -void onig_free_match_param P_((OnigMatchParam* p));
> -ONIG_EXTERN
> -void onig_free_match_param_content P_((OnigMatchParam* p));
> -ONIG_EXTERN
> -int onig_initialize_match_param P_((OnigMatchParam* mp));
> -ONIG_EXTERN
> -int onig_set_match_stack_limit_size_of_match_param
> P_((OnigMatchParam* param, unsigned int limit));
> -ONIG_EXTERN
> -int onig_set_retry_limit_in_match_of_match_param
> P_((OnigMatchParam* param, unsigned long limit));
> -ONIG_EXTERN
> -int onig_set_progress_callout_of_match_param P_((OnigMatchParam*
> param, OnigCalloutFunc f));
> -ONIG_EXTERN
> -int onig_set_retraction_callout_of_match_param P_((OnigMatchParam*
> param, OnigCalloutFunc f));
> -ONIG_EXTERN
> -int onig_set_callout_user_data_of_match_param P_((OnigMatchParam*
> param, void* user_data));
> -
> -/* for callout functions */
> -ONIG_EXTERN
> -OnigCalloutFunc onig_get_progress_callout P_((void));
> -ONIG_EXTERN
> -int onig_set_progress_callout P_((OnigCalloutFunc f));
> -ONIG_EXTERN
> -OnigCalloutFunc onig_get_retraction_callout P_((void));
> -ONIG_EXTERN
> -int onig_set_retraction_callout P_((OnigCalloutFunc f));
> -ONIG_EXTERN
> -int onig_set_callout_of_name P_((OnigEncoding enc, OnigCalloutType type,
> OnigUChar* name, OnigUChar* name_end, int callout_in, OnigCalloutFunc
> callout, OnigCalloutFunc end_callout, int arg_num, unsigned int arg_types[],
> int optional_arg_num, OnigValue opt_defaults[]));
> -ONIG_EXTERN
> -OnigUChar* onig_get_callout_name_by_name_id P_((int id));
> -ONIG_EXTERN
> -int onig_get_callout_num_by_tag P_((OnigRegex reg, const OnigUChar* tag,
> const OnigUChar* tag_end));
> -ONIG_EXTERN
> -int onig_get_callout_data_by_tag P_((OnigRegex reg, OnigMatchParam*
> mp, const OnigUChar* tag, const OnigUChar* tag_end, int slot, OnigType*
> type, OnigValue* val));
> -ONIG_EXTERN
> -int onig_set_callout_data_by_tag P_((OnigRegex reg, OnigMatchParam*
> mp, const OnigUChar* tag, const OnigUChar* tag_end, int slot, OnigType
> type, OnigValue* val));
> -
> -/* used in callout functions */
> -ONIG_EXTERN
> -int onig_get_callout_num_by_callout_args P_((OnigCalloutArgs* args));
> -ONIG_EXTERN
> -OnigCalloutIn onig_get_callout_in_by_callout_args P_((OnigCalloutArgs*
> args));
> -ONIG_EXTERN
> -int onig_get_name_id_by_callout_args P_((OnigCalloutArgs* args));
> -ONIG_EXTERN
> -const OnigUChar* onig_get_contents_by_callout_args
> P_((OnigCalloutArgs* args));
> -ONIG_EXTERN
> -const OnigUChar* onig_get_contents_end_by_callout_args
> P_((OnigCalloutArgs* args));
> -ONIG_EXTERN
> -int onig_get_args_num_by_callout_args P_((OnigCalloutArgs* args));
> -ONIG_EXTERN
> -int onig_get_passed_args_num_by_callout_args P_((OnigCalloutArgs*
> args));
> -ONIG_EXTERN
> -int onig_get_arg_by_callout_args P_((OnigCalloutArgs* args, int index,
> OnigType* type, OnigValue* val));
> -ONIG_EXTERN
> -const OnigUChar* onig_get_string_by_callout_args P_((OnigCalloutArgs*
> args));
> -ONIG_EXTERN
> -const OnigUChar* onig_get_string_end_by_callout_args
> P_((OnigCalloutArgs* args));
> -ONIG_EXTERN
> -const OnigUChar* onig_get_start_by_callout_args P_((OnigCalloutArgs*
> args));
> -ONIG_EXTERN
> -const OnigUChar* onig_get_right_range_by_callout_args
> P_((OnigCalloutArgs* args));
> -ONIG_EXTERN
> -const OnigUChar* onig_get_current_by_callout_args P_((OnigCalloutArgs*
> args));
> -ONIG_EXTERN
> -OnigRegex onig_get_regex_by_callout_args P_((OnigCalloutArgs* args));
> -ONIG_EXTERN
> -unsigned long onig_get_retry_counter_by_callout_args
> P_((OnigCalloutArgs* args));
> -ONIG_EXTERN
> -int onig_callout_tag_is_exist_at_callout_num P_((OnigRegex reg, int
> callout_num));
> -ONIG_EXTERN
> -const OnigUChar* onig_get_callout_tag_start P_((OnigRegex reg, int
> callout_num));
> -ONIG_EXTERN
> -const OnigUChar* onig_get_callout_tag_end P_((OnigRegex reg, int
> callout_num));
> -ONIG_EXTERN
> -int onig_get_callout_data_dont_clear_old P_((OnigRegex reg,
> OnigMatchParam* mp, int callout_num, int slot, OnigType* type, OnigValue*
> val));
> -ONIG_EXTERN
> -int onig_get_callout_data_by_callout_args_self_dont_clear_old
> P_((OnigCalloutArgs* args, int slot, OnigType* type, OnigValue* val));
> -ONIG_EXTERN
> -int onig_get_callout_data P_((OnigRegex reg, OnigMatchParam* mp, int
> callout_num, int slot, OnigType* type, OnigValue* val));
> -ONIG_EXTERN
> -int onig_get_callout_data_by_callout_args P_((OnigCalloutArgs* args, int
> callout_num, int slot, OnigType* type, OnigValue* val));
> -ONIG_EXTERN
> -int onig_get_callout_data_by_callout_args_self P_((OnigCalloutArgs* args,
> int slot, OnigType* type, OnigValue* val));
> -ONIG_EXTERN
> -int onig_set_callout_data P_((OnigRegex reg, OnigMatchParam* mp, int
> callout_num, int slot, OnigType type, OnigValue* val));
> -ONIG_EXTERN
> -int onig_set_callout_data_by_callout_args P_((OnigCalloutArgs* args, int
> callout_num, int slot, OnigType type, OnigValue* val));
> -ONIG_EXTERN
> -int onig_set_callout_data_by_callout_args_self P_((OnigCalloutArgs* args,
> int slot, OnigType type, OnigValue* val));
> -ONIG_EXTERN
> -int onig_get_capture_range_in_callout P_((OnigCalloutArgs* args, int
> mem_num, int* begin, int* end));
> -ONIG_EXTERN
> -int onig_get_used_stack_size_in_callout P_((OnigCalloutArgs* args, int*
> used_num, int* used_bytes));
> -
> -/* builtin callout functions */
> -ONIG_EXTERN
> -int onig_builtin_fail P_((OnigCalloutArgs* args, void* user_data));
> -ONIG_EXTERN
> -int onig_builtin_mismatch P_((OnigCalloutArgs* args, void* user_data));
> -ONIG_EXTERN
> -int onig_builtin_error P_((OnigCalloutArgs* args, void* user_data));
> -ONIG_EXTERN
> -int onig_builtin_count P_((OnigCalloutArgs* args, void* user_data));
> -ONIG_EXTERN
> -int onig_builtin_total_count P_((OnigCalloutArgs* args, void* user_data));
> -ONIG_EXTERN
> -int onig_builtin_max P_((OnigCalloutArgs* args, void* user_data));
> -ONIG_EXTERN
> -int onig_builtin_cmp P_((OnigCalloutArgs* args, void* user_data));
> -
> -ONIG_EXTERN
> -int onig_setup_builtin_monitors_by_ascii_encoded_name P_((void* fp));
> -
> -#ifdef __cplusplus
> -}
> -#endif
> -
> -#endif /* ONIGURUMA_H */
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regenc.h
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regenc.h
> deleted file mode 100644
> index fc0e96bc6181..000000000000
> --- a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regenc.h
> +++ /dev/null
> @@ -1,279 +0,0 @@
> -#ifndef REGENC_H
> -#define REGENC_H
> -
> /**********************************************************
> ************
> -  regenc.h -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2019  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#ifndef ONIGURUMA_EXPORT
> -#define ONIGURUMA_EXPORT
> -#endif
> -
> -//#include "config.h"
> -//#include <stddef.h>
> -
> -#ifdef ONIG_ESCAPE_UCHAR_COLLISION
> -#undef ONIG_ESCAPE_UCHAR_COLLISION
> -#endif
> -
> -#include "oniguruma.h"
> -
> -typedef struct {
> -  OnigCodePoint from;
> -  OnigCodePoint to;
> -} OnigPairCaseFoldCodes;
> -
> -
> -#ifndef NULL
> -#define NULL   ((void* )0)
> -#endif
> -
> -#ifndef TRUE
> -#define TRUE    1
> -#endif
> -
> -#ifndef FALSE
> -#define FALSE   0
> -#endif
> -
> -#ifndef ARG_UNUSED
> -#if defined(__GNUC__)
> -#  define ARG_UNUSED  __attribute__ ((unused))
> -#else
> -#  define ARG_UNUSED
> -#endif
> -#endif
> -
> -#define ONIG_IS_NULL(p)                    (((void*)(p)) == (void*)0)
> -#define ONIG_IS_NOT_NULL(p)                (((void*)(p)) != (void*)0)
> -#define ONIG_CHECK_NULL_RETURN(p)          if (ONIG_IS_NULL(p)) return
> NULL
> -#define ONIG_CHECK_NULL_RETURN_VAL(p,val)  if (ONIG_IS_NULL(p))
> return (val)
> -
> -#define MAX_CODE_POINT         (~((OnigCodePoint )0))
> -
> -#define enclen(enc,p)          ONIGENC_MBC_ENC_LEN(enc,p)
> -
> -/* character types bit flag */
> -#define BIT_CTYPE_NEWLINE  (1<< ONIGENC_CTYPE_NEWLINE)
> -#define BIT_CTYPE_ALPHA    (1<< ONIGENC_CTYPE_ALPHA)
> -#define BIT_CTYPE_BLANK    (1<< ONIGENC_CTYPE_BLANK)
> -#define BIT_CTYPE_CNTRL    (1<< ONIGENC_CTYPE_CNTRL)
> -#define BIT_CTYPE_DIGIT    (1<< ONIGENC_CTYPE_DIGIT)
> -#define BIT_CTYPE_GRAPH    (1<< ONIGENC_CTYPE_GRAPH)
> -#define BIT_CTYPE_LOWER    (1<< ONIGENC_CTYPE_LOWER)
> -#define BIT_CTYPE_PRINT    (1<< ONIGENC_CTYPE_PRINT)
> -#define BIT_CTYPE_PUNCT    (1<< ONIGENC_CTYPE_PUNCT)
> -#define BIT_CTYPE_SPACE    (1<< ONIGENC_CTYPE_SPACE)
> -#define BIT_CTYPE_UPPER    (1<< ONIGENC_CTYPE_UPPER)
> -#define BIT_CTYPE_XDIGIT   (1<< ONIGENC_CTYPE_XDIGIT)
> -#define BIT_CTYPE_WORD     (1<< ONIGENC_CTYPE_WORD)
> -#define BIT_CTYPE_ALNUM    (1<< ONIGENC_CTYPE_ALNUM)
> -#define BIT_CTYPE_ASCII    (1<< ONIGENC_CTYPE_ASCII)
> -
> -#define CTYPE_TO_BIT(ctype)  (1<<(ctype))
> -#define CTYPE_IS_WORD_GRAPH_PRINT(ctype) \
> -  ((ctype) == ONIGENC_CTYPE_WORD || (ctype) ==
> ONIGENC_CTYPE_GRAPH ||\
> -   (ctype) == ONIGENC_CTYPE_PRINT)
> -
> -
> -typedef struct {
> -  UChar    *name;
> -  int       ctype;
> -  short int len;
> -} PosixBracketEntryType;
> -
> -struct PropertyNameCtype {
> -  char *name;
> -  int ctype;
> -};
> -
> -/* #define USE_CRNL_AS_LINE_TERMINATOR */
> -#define USE_UNICODE_PROPERTIES
> -#define USE_UNICODE_EXTENDED_GRAPHEME_CLUSTER
> -#define USE_UNICODE_WORD_BREAK
> -/* #define USE_UNICODE_CASE_FOLD_TURKISH_AZERI */
> -/* #define USE_UNICODE_ALL_LINE_TERMINATORS */  /* see Unicode.org
> UTS #18 */
> -
> -
> -#define ONIG_ENCODING_INIT_DEFAULT           ONIG_ENCODING_ASCII
> -
> -
> -#define ENC_SKIP_OFFSET_1_OR_0             7
> -
> -#define ENC_FLAG_ASCII_COMPATIBLE      (1<<0)
> -#define ENC_FLAG_UNICODE               (1<<1)
> -#define ENC_FLAG_SKIP_OFFSET_MASK      (7<<2)
> -#define ENC_FLAG_SKIP_OFFSET_0             0
> -#define ENC_FLAG_SKIP_OFFSET_1         (1<<2)
> -#define ENC_FLAG_SKIP_OFFSET_2         (2<<2)
> -#define ENC_FLAG_SKIP_OFFSET_3         (3<<2)
> -#define ENC_FLAG_SKIP_OFFSET_4         (4<<2)
> -#define ENC_FLAG_SKIP_OFFSET_1_OR_0
> (ENC_SKIP_OFFSET_1_OR_0<<2)
> -
> -#define ENC_GET_SKIP_OFFSET(enc) \
> -  (((enc)->flag & ENC_FLAG_SKIP_OFFSET_MASK)>>2)
> -
> -
> -/* for encoding system implementation (internal) */
> -extern int onigenc_end(void);
> -extern int onigenc_ascii_apply_all_case_fold P_((OnigCaseFoldType flag,
> OnigApplyAllCaseFoldFunc f, void* arg));
> -extern int onigenc_ascii_get_case_fold_codes_by_str
> P_((OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end,
> OnigCaseFoldCodeItem items[]));
> -extern int onigenc_apply_all_case_fold_with_map P_((int map_size, const
> OnigPairCaseFoldCodes map[], int ess_tsett_flag, OnigCaseFoldType flag,
> OnigApplyAllCaseFoldFunc f, void* arg));
> -extern int onigenc_get_case_fold_codes_by_str_with_map P_((int
> map_size, const OnigPairCaseFoldCodes map[], int ess_tsett_flag,
> OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end,
> OnigCaseFoldCodeItem items[]));
> -extern int onigenc_not_support_get_ctype_code_range P_((OnigCtype
> ctype, OnigCodePoint* sb_out, const OnigCodePoint* ranges[]));
> -extern int onigenc_is_mbc_newline_0x0a P_((const UChar* p, const
> UChar* end));
> -
> -
> -/* methods for single byte encoding */
> -extern int onigenc_ascii_mbc_case_fold P_((OnigCaseFoldType flag, const
> UChar** p, const UChar* end, UChar* lower));
> -extern int onigenc_single_byte_mbc_enc_len P_((const UChar* p));
> -extern OnigCodePoint onigenc_single_byte_mbc_to_code P_((const
> UChar* p, const UChar* end));
> -extern int onigenc_single_byte_code_to_mbclen P_((OnigCodePoint
> code));
> -extern int onigenc_single_byte_code_to_mbc P_((OnigCodePoint code,
> UChar *buf));
> -extern UChar* onigenc_single_byte_left_adjust_char_head P_((const
> UChar* start, const UChar* s));
> -extern int onigenc_always_true_is_allowed_reverse_match P_((const
> UChar* s, const UChar* end));
> -extern int onigenc_always_false_is_allowed_reverse_match P_((const
> UChar* s, const UChar* end));
> -extern int onigenc_always_true_is_valid_mbc_string P_((const UChar* s,
> const UChar* end));
> -extern int onigenc_length_check_is_valid_mbc_string P_((OnigEncoding
> enc, const UChar* s, const UChar* end));
> -
> -/* methods for multi byte encoding */
> -extern OnigCodePoint onigenc_mbn_mbc_to_code P_((OnigEncoding enc,
> const UChar* p, const UChar* end));
> -extern int onigenc_mbn_mbc_case_fold P_((OnigEncoding enc,
> OnigCaseFoldType flag, const UChar** p, const UChar* end, UChar* lower));
> -extern int onigenc_mb2_code_to_mbclen P_((OnigCodePoint code));
> -extern int onigenc_mb2_code_to_mbc P_((OnigEncoding enc,
> OnigCodePoint code, UChar *buf));
> -extern int onigenc_minimum_property_name_to_ctype P_((OnigEncoding
> enc, UChar* p, UChar* end));
> -extern int onigenc_unicode_property_name_to_ctype P_((OnigEncoding
> enc, UChar* p, UChar* end));
> -extern int onigenc_is_mbc_word_ascii P_((OnigEncoding enc, UChar* s,
> const UChar* end));
> -extern int onigenc_mb2_is_code_ctype P_((OnigEncoding enc,
> OnigCodePoint code, unsigned int ctype));
> -extern int onigenc_mb4_code_to_mbclen P_((OnigCodePoint code));
> -extern int onigenc_mb4_code_to_mbc P_((OnigEncoding enc,
> OnigCodePoint code, UChar *buf));
> -extern int onigenc_mb4_is_code_ctype P_((OnigEncoding enc,
> OnigCodePoint code, unsigned int ctype));
> -extern struct PropertyNameCtype*
> onigenc_euc_jp_lookup_property_name P_((register const char *str,
> register size_t len));
> -extern struct PropertyNameCtype* onigenc_sjis_lookup_property_name
> P_((register const char *str, register size_t len));
> -
> -/* in unicode.c */
> -extern int onigenc_unicode_is_code_ctype P_((OnigCodePoint code,
> unsigned int ctype));
> -extern int onigenc_utf16_32_get_ctype_code_range P_((OnigCtype ctype,
> OnigCodePoint *sb_out, const OnigCodePoint* ranges[]));
> -extern int onigenc_unicode_ctype_code_range P_((OnigCtype ctype, const
> OnigCodePoint* ranges[]));
> -extern int onigenc_unicode_get_case_fold_codes_by_str
> P_((OnigEncoding enc, OnigCaseFoldType flag, const OnigUChar* p, const
> OnigUChar* end, OnigCaseFoldCodeItem items[]));
> -extern int onigenc_unicode_mbc_case_fold P_((OnigEncoding enc,
> OnigCaseFoldType flag, const UChar** pp, const UChar* end, UChar* fold));
> -extern int onigenc_unicode_apply_all_case_fold P_((OnigCaseFoldType flag,
> OnigApplyAllCaseFoldFunc f, void* arg));
> -
> -extern int onigenc_egcb_is_break_position P_((OnigEncoding enc, UChar*
> p, UChar* prev, const UChar* start, const UChar* end));
> -
> -#ifdef USE_UNICODE_WORD_BREAK
> -extern int onigenc_wb_is_break_position P_((OnigEncoding enc, UChar* p,
> UChar* prev, const UChar* start, const UChar* end));
> -#endif
> -
> -#define UTF16_IS_SURROGATE_FIRST(c)    (((c) & 0xfc) == 0xd8)
> -#define UTF16_IS_SURROGATE_SECOND(c)   (((c) & 0xfc) == 0xdc)
> -
> -/* from unicode generated codes */
> -#define FOLDS1_FOLD(i)         (OnigUnicodeFolds1 + (i))
> -#define FOLDS2_FOLD(i)         (OnigUnicodeFolds2 + (i))
> -#define FOLDS3_FOLD(i)         (OnigUnicodeFolds3 + (i))
> -#define FOLDS1_UNFOLDS_NUM(i)  (OnigUnicodeFolds1[(i)+1])
> -#define FOLDS2_UNFOLDS_NUM(i)  (OnigUnicodeFolds2[(i)+2])
> -#define FOLDS3_UNFOLDS_NUM(i)  (OnigUnicodeFolds3[(i)+3])
> -#define FOLDS1_UNFOLDS(i)      (OnigUnicodeFolds1 + (i) + 2)
> -#define FOLDS2_UNFOLDS(i)      (OnigUnicodeFolds2 + (i) + 3)
> -#define FOLDS3_UNFOLDS(i)      (OnigUnicodeFolds3 + (i) + 4)
> -#define FOLDS1_NEXT_INDEX(i)   ((i) + 2 + OnigUnicodeFolds1[(i)+1])
> -#define FOLDS2_NEXT_INDEX(i)   ((i) + 3 + OnigUnicodeFolds2[(i)+2])
> -#define FOLDS3_NEXT_INDEX(i)   ((i) + 4 + OnigUnicodeFolds3[(i)+3])
> -
> -#define FOLDS_FOLD_ADDR_BUK(buk, addr) do {\
> -  if ((buk)->fold_len == 1)\
> -    addr = OnigUnicodeFolds1 + (buk)->index;\
> -  else if ((buk)->fold_len == 2)\
> -    addr = OnigUnicodeFolds2 + (buk)->index;\
> -  else if ((buk)->fold_len == 3)\
> -    addr = OnigUnicodeFolds3 + (buk)->index;\
> -  else\
> -    return ONIGERR_INVALID_CODE_POINT_VALUE;\
> -} while (0)
> -
> -extern OnigCodePoint OnigUnicodeFolds1[];
> -extern OnigCodePoint OnigUnicodeFolds2[];
> -extern OnigCodePoint OnigUnicodeFolds3[];
> -
> -struct ByUnfoldKey {
> -  OnigCodePoint code;
> -  short int     index;
> -  short int     fold_len;
> -};
> -
> -extern const struct ByUnfoldKey*
> onigenc_unicode_unfold_key(OnigCodePoint code);
> -extern int onigenc_unicode_fold1_key(OnigCodePoint code[]);
> -extern int onigenc_unicode_fold2_key(OnigCodePoint code[]);
> -extern int onigenc_unicode_fold3_key(OnigCodePoint code[]);
> -
> -extern int onig_codes_cmp(OnigCodePoint a[], OnigCodePoint b[], int n);
> -extern int onig_codes_byte_at(OnigCodePoint code[], int at);
> -
> -
> -
> -#define ONIGENC_ISO_8859_1_TO_LOWER_CASE(c) \
> -  OnigEncISO_8859_1_ToLowerCaseTable[c]
> -#define ONIGENC_ISO_8859_1_TO_UPPER_CASE(c) \
> -  OnigEncISO_8859_1_ToUpperCaseTable[c]
> -
> -extern const UChar OnigEncISO_8859_1_ToLowerCaseTable[];
> -extern const UChar OnigEncISO_8859_1_ToUpperCaseTable[];
> -
> -extern int
> -onigenc_with_ascii_strncmp P_((OnigEncoding enc, const UChar* p, const
> UChar* end, const UChar* sascii /* ascii */, int n));
> -extern UChar*
> -onigenc_step P_((OnigEncoding enc, const UChar* p, const UChar* end, int
> n));
> -
> -/* defined in regexec.c, but used in enc/xxx.c */
> -extern int  onig_is_in_code_range P_((const UChar* p, OnigCodePoint
> code));
> -
> -extern OnigEncoding  OnigEncDefaultCharEncoding;
> -extern const UChar  OnigEncAsciiToLowerCaseTable[];
> -extern const UChar  OnigEncAsciiToUpperCaseTable[];
> -extern const unsigned short OnigEncAsciiCtypeTable[];
> -
> -
> -#define ONIGENC_IS_ASCII_CODE(code)  ((code) < 0x80)
> -#define ONIGENC_ASCII_CODE_TO_LOWER_CASE(c)
> OnigEncAsciiToLowerCaseTable[c]
> -#define ONIGENC_ASCII_CODE_TO_UPPER_CASE(c)
> OnigEncAsciiToUpperCaseTable[c]
> -#define ONIGENC_IS_ASCII_CODE_CTYPE(code,ctype) \
> -  ((OnigEncAsciiCtypeTable[code] & CTYPE_TO_BIT(ctype)) != 0)
> -#define ONIGENC_IS_ASCII_CODE_WORD(code) \
> -  ((OnigEncAsciiCtypeTable[code] &
> CTYPE_TO_BIT(ONIGENC_CTYPE_WORD)) != 0)
> -#define ONIGENC_IS_ASCII_CODE_CASE_AMBIG(code) \
> - (ONIGENC_IS_ASCII_CODE_CTYPE(code, ONIGENC_CTYPE_UPPER) ||\
> -  ONIGENC_IS_ASCII_CODE_CTYPE(code, ONIGENC_CTYPE_LOWER))
> -
> -#define ONIGENC_IS_UNICODE_ENCODING(enc) \
> -  (((enc)->flag & ENC_FLAG_UNICODE) != 0)
> -
> -#define ONIGENC_IS_ASCII_COMPATIBLE_ENCODING(enc)  \
> -  (((enc)->flag & ENC_FLAG_ASCII_COMPATIBLE) != 0)
> -
> -#endif /* REGENC_H */
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regint.h
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regint.h
> deleted file mode 100644
> index 87704f2be895..000000000000
> --- a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regint.h
> +++ /dev/null
> @@ -1,1117 +0,0 @@
> -#ifndef REGINT_H
> -#define REGINT_H
> -
> /**********************************************************
> ************
> -  regint.h -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2019  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -/* for debug */
> -/* #define ONIG_DEBUG_PARSE */
> -/* #define ONIG_DEBUG_COMPILE */
> -/* #define ONIG_DEBUG_SEARCH */
> -/* #define ONIG_DEBUG_MATCH */
> -/* #define ONIG_DONT_OPTIMIZE */
> -
> -/* for byte-code statistical data. */
> -/* #define ONIG_DEBUG_STATISTICS */
> -
> -#if defined(ONIG_DEBUG_PARSE) || defined(ONIG_DEBUG_MATCH) || \
> -    defined(ONIG_DEBUG_SEARCH) || defined(ONIG_DEBUG_COMPILE) ||
> \
> -    defined(ONIG_DEBUG_STATISTICS)
> -#ifndef ONIG_DEBUG
> -#define ONIG_DEBUG
> -#endif
> -#endif
> -
> -#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
> -    (defined(__ppc__) && defined(__APPLE__)) || \
> -    defined(__x86_64) || defined(__x86_64__) || \
> -    defined(__mc68020__)
> -#define PLATFORM_UNALIGNED_WORD_ACCESS
> -#endif
> -
> -#ifdef __GNUC__
> -#define USE_GOTO_LABELS_AS_VALUES
> -#endif
> -
> -/* config */
> -/* spec. config */
> -#define USE_CALL
> -#define USE_CALLOUT
> -#define USE_BACKREF_WITH_LEVEL        /* \k<name+n>, \k<name-n> */
> -#define USE_STUBBORN_CHECK_CAPTURES_IN_EMPTY_REPEAT     /*
> /(?:()|())*\2/ */
> -#define USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE     /* /\n$/
> =~ "\n" */
> -#define USE_WARNING_REDUNDANT_NESTED_REPEAT_OPERATOR
> -#define USE_RETRY_LIMIT_IN_MATCH
> -#ifdef USE_GOTO_LABELS_AS_VALUES
> -#define USE_THREADED_CODE
> -#define USE_DIRECT_THREADED_CODE
> -#endif
> -
> -/* internal config */
> -#define USE_OP_PUSH_OR_JUMP_EXACT
> -#define USE_QUANT_PEEK_NEXT
> -#define USE_ST_LIBRARY
> -
> -#define USE_WORD_BEGIN_END        /* "\<", "\>" */
> -#define USE_CAPTURE_HISTORY
> -#define USE_VARIABLE_META_CHARS
> -#define USE_POSIX_API_REGION_OPTION
> -#define USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE
> -
> -#include "regenc.h"
> -
> -#define INIT_MATCH_STACK_SIZE                     160
> -#define DEFAULT_MATCH_STACK_LIMIT_SIZE              0 /* unlimited */
> -#define DEFAULT_RETRY_LIMIT_IN_MATCH         10000000
> -#define DEFAULT_PARSE_DEPTH_LIMIT                4096
> -
> -/* */
> -/* escape other system UChar definition */
> -#ifdef ONIG_ESCAPE_UCHAR_COLLISION
> -#undef ONIG_ESCAPE_UCHAR_COLLISION
> -#endif
> -
> -#define xmalloc     malloc
> -#define xrealloc    realloc
> -#define xcalloc     calloc
> -#define xfree       free
> -
> -#define st_init_table                  onig_st_init_table
> -#define st_init_table_with_size        onig_st_init_table_with_size
> -#define st_init_numtable               onig_st_init_numtable
> -#define st_init_numtable_with_size     onig_st_init_numtable_with_size
> -#define st_init_strtable               onig_st_init_strtable
> -#define st_init_strtable_with_size     onig_st_init_strtable_with_size
> -#define st_delete                      onig_st_delete
> -#define st_delete_safe                 onig_st_delete_safe
> -#define st_insert                      onig_st_insert
> -#define st_lookup                      onig_st_lookup
> -#define st_foreach                     onig_st_foreach
> -#define st_add_direct                  onig_st_add_direct
> -#define st_free_table                  onig_st_free_table
> -#define st_cleanup_safe                onig_st_cleanup_safe
> -#define st_copy                        onig_st_copy
> -#define st_nothing_key_clone           onig_st_nothing_key_clone
> -#define st_nothing_key_free            onig_st_nothing_key_free
> -/* */
> -#define onig_st_is_member              st_is_member
> -
> -//#define xmemset     memset
> -//#define xmemcpy     memcpy
> -//#define xmemmove    memmove
> -
> -#if defined(_WIN32) && !defined(__GNUC__)
> -#define xalloca     _alloca
> -#define xvsnprintf(buf,size,fmt,args)
> _vsnprintf_s(buf,size,_TRUNCATE,fmt,args)
> -#define xsnprintf   sprintf_s
> -#define xstrcat(dest,src,size)   strcat_s(dest,size,src)
> -#else
> -#define xalloca     alloca
> -#define xvsnprintf  vsnprintf
> -#define xsnprintf   snprintf
> -#define xstrcat(dest,src,size)   strcat(dest,src)
> -#endif
> -
> -#if 0
> -#include <stddef.h>
> -#include <limits.h>
> -#include <stdlib.h>
> -
> -#ifdef HAVE_STDINT_H
> -#include <stdint.h>
> -#endif
> -
> -#if defined(HAVE_ALLOCA_H) && !defined(__GNUC__)
> -#include <alloca.h>
> -#endif
> -
> -#include <string.h>
> -
> -#include <ctype.h>
> -#ifdef HAVE_SYS_TYPES_H
> -#ifndef __BORLANDC__
> -#include <sys/types.h>
> -#endif
> -#endif
> -
> -#ifdef HAVE_INTTYPES_H
> -#include <inttypes.h>
> -#endif
> -
> -#ifdef __BORLANDC__
> -#include <malloc.h>
> -#endif
> -
> -#ifdef ONIG_DEBUG
> -# include <stdio.h>
> -#endif
> -#endif
> -
> -#ifdef _WIN32
> -#if defined(_MSC_VER) && (_MSC_VER < 1300)
> -typedef int  intptr_t;
> -typedef unsigned int  uintptr_t;
> -#endif
> -#endif
> -
> -typedef INTN  intptr_t;
> -typedef UINTN uintptr_t;
> -
> -#ifndef offsetof
> -#define offsetof OFFSET_OF
> -#endif
> -
> -#ifdef MIN
> -#undef MIN
> -#endif
> -#ifdef MAX
> -#undef MAX
> -#endif
> -
> -#define MIN(a,b) (((a)>(b))?(b):(a))
> -#define MAX(a,b) (((a)<(b))?(b):(a))
> -
> -#define IS_NULL(p)                    (((void*)(p)) == (void*)0)
> -#define IS_NOT_NULL(p)                (((void*)(p)) != (void*)0)
> -#define CHECK_NULL_RETURN(p)          if (IS_NULL(p)) return NULL
> -#define CHECK_NULL_RETURN_MEMERR(p)   if (IS_NULL(p)) return
> ONIGERR_MEMORY
> -#define NULL_UCHARP                   ((UChar* )0)
> -
> -#define CHAR_MAP_SIZE       256
> -#define INFINITE_LEN        ONIG_INFINITE_DISTANCE
> -
> -#ifdef PLATFORM_UNALIGNED_WORD_ACCESS
> -
> -#define PLATFORM_GET_INC(val,p,type) do{\
> -  val  = *(type* )p;\
> -  (p) += sizeof(type);\
> -} while(0)
> -
> -#else
> -
> -#define PLATFORM_GET_INC(val,p,type) do{\
> -  xmemcpy(&val, (p), sizeof(type));\
> -  (p) += sizeof(type);\
> -} while(0)
> -
> -/* sizeof(OnigCodePoint) */
> -#ifdef SIZEOF_SIZE_T
> -# define WORD_ALIGNMENT_SIZE     SIZEOF_SIZE_T
> -#else
> -# define WORD_ALIGNMENT_SIZE     SIZEOF_LONG
> -#endif
> -
> -#define GET_ALIGNMENT_PAD_SIZE(addr,pad_size) do {\
> -  (pad_size) = WORD_ALIGNMENT_SIZE - ((uintptr_t )(addr) %
> WORD_ALIGNMENT_SIZE);\
> -  if ((pad_size) == WORD_ALIGNMENT_SIZE) (pad_size) = 0;\
> -} while (0)
> -
> -#define ALIGNMENT_RIGHT(addr) do {\
> -  (addr) += (WORD_ALIGNMENT_SIZE - 1);\
> -  (addr) -= ((uintptr_t )(addr) % WORD_ALIGNMENT_SIZE);\
> -} while (0)
> -
> -#endif /* PLATFORM_UNALIGNED_WORD_ACCESS */
> -
> -
> -#ifdef USE_CALLOUT
> -
> -typedef struct {
> -  int           flag;
> -  OnigCalloutOf of;
> -  int           in;
> -  int           name_id;
> -  const UChar*  tag_start;
> -  const UChar*  tag_end;
> -  OnigCalloutType type;
> -  OnigCalloutFunc start_func;
> -  OnigCalloutFunc end_func;
> -  union {
> -    struct {
> -      const UChar* start;
> -      const UChar* end;
> -    } content;
> -    struct {
> -      int num;
> -      int passed_num;
> -      OnigType  types[ONIG_CALLOUT_MAX_ARGS_NUM];
> -      OnigValue vals[ONIG_CALLOUT_MAX_ARGS_NUM];
> -    } arg;
> -  } u;
> -} CalloutListEntry;
> -
> -#endif
> -
> -/* stack pop level */
> -enum StackPopLevel {
> -  STACK_POP_LEVEL_FREE      = 0,
> -  STACK_POP_LEVEL_MEM_START = 1,
> -  STACK_POP_LEVEL_ALL       = 2
> -};
> -
> -/* optimize flags */
> -enum OptimizeType {
> -  OPTIMIZE_NONE = 0,
> -  OPTIMIZE_STR,                   /* Slow Search */
> -  OPTIMIZE_STR_FAST,              /* Sunday quick search / BMH */
> -  OPTIMIZE_STR_FAST_STEP_FORWARD, /* Sunday quick search / BMH */
> -  OPTIMIZE_STR_CASE_FOLD_FAST,    /* Sunday quick search / BMH (ignore
> case) */
> -  OPTIMIZE_STR_CASE_FOLD,         /* Slow Search (ignore case) */
> -  OPTIMIZE_MAP                    /* char map */
> -};
> -
> -/* bit status */
> -typedef unsigned int  MemStatusType;
> -
> -#define MEM_STATUS_BITS_NUM          (sizeof(MemStatusType) * 8)
> -#define MEM_STATUS_CLEAR(stats)      (stats) = 0
> -#define MEM_STATUS_ON_ALL(stats)     (stats) = ~((MemStatusType )0)
> -#define MEM_STATUS_AT(stats,n) \
> -  ((n) < (int )MEM_STATUS_BITS_NUM  ?  ((stats) & ((MemStatusType )1 <<
> n)) : ((stats) & 1))
> -#define MEM_STATUS_AT0(stats,n) \
> -  ((n) > 0 && (n) < (int )MEM_STATUS_BITS_NUM  ?  ((stats) &
> ((MemStatusType )1 << n)) : ((stats) & 1))
> -
> -#define MEM_STATUS_ON(stats,n) do {\
> -  if ((n) < (int )MEM_STATUS_BITS_NUM) {\
> -    if ((n) != 0)\
> -      (stats) |= ((MemStatusType )1 << (n));\
> -  }\
> -  else\
> -    (stats) |= 1;\
> -} while (0)
> -
> -#define MEM_STATUS_ON_SIMPLE(stats,n) do {\
> -    if ((n) < (int )MEM_STATUS_BITS_NUM)\
> -    (stats) |= ((MemStatusType )1 << (n));\
> -} while (0)
> -
> -
> -#define INT_MAX_LIMIT           ((1UL << (SIZEOF_INT * 8 - 1)) - 1)
> -
> -#define IS_CODE_WORD_ASCII(enc,code) \
> -  (ONIGENC_IS_CODE_ASCII(code) &&
> ONIGENC_IS_CODE_WORD(enc,code))
> -#define IS_CODE_DIGIT_ASCII(enc, code) \
> -  (ONIGENC_IS_CODE_ASCII(code) && ONIGENC_IS_CODE_DIGIT(enc,code))
> -#define IS_CODE_XDIGIT_ASCII(enc, code) \
> -  (ONIGENC_IS_CODE_ASCII(code) &&
> ONIGENC_IS_CODE_XDIGIT(enc,code))
> -
> -#define DIGITVAL(code)    ((code) - '0')
> -#define ODIGITVAL(code)   DIGITVAL(code)
> -#define XDIGITVAL(enc,code) \
> -  (IS_CODE_DIGIT_ASCII(enc,code) ? DIGITVAL(code) \
> -   : (ONIGENC_IS_CODE_UPPER(enc,code) ? (code) - 'A' + 10 : (code) - 'a' +
> 10))
> -
> -#define IS_SINGLELINE(option)     ((option) & ONIG_OPTION_SINGLELINE)
> -#define IS_MULTILINE(option)      ((option) & ONIG_OPTION_MULTILINE)
> -#define IS_IGNORECASE(option)     ((option) & ONIG_OPTION_IGNORECASE)
> -#define IS_EXTEND(option)         ((option) & ONIG_OPTION_EXTEND)
> -#define IS_FIND_LONGEST(option)   ((option) &
> ONIG_OPTION_FIND_LONGEST)
> -#define IS_FIND_NOT_EMPTY(option) ((option) &
> ONIG_OPTION_FIND_NOT_EMPTY)
> -#define IS_FIND_CONDITION(option) ((option) & \
> -          (ONIG_OPTION_FIND_LONGEST | ONIG_OPTION_FIND_NOT_EMPTY))
> -#define IS_NOTBOL(option)         ((option) & ONIG_OPTION_NOTBOL)
> -#define IS_NOTEOL(option)         ((option) & ONIG_OPTION_NOTEOL)
> -#define IS_POSIX_REGION(option)   ((option) &
> ONIG_OPTION_POSIX_REGION)
> -
> -#define IS_WORD_ASCII(option) \
> -  ((option) & (ONIG_OPTION_WORD_IS_ASCII |
> ONIG_OPTION_POSIX_IS_ASCII))
> -#define IS_DIGIT_ASCII(option) \
> -  ((option) & (ONIG_OPTION_DIGIT_IS_ASCII |
> ONIG_OPTION_POSIX_IS_ASCII))
> -#define IS_SPACE_ASCII(option) \
> -  ((option) & (ONIG_OPTION_SPACE_IS_ASCII |
> ONIG_OPTION_POSIX_IS_ASCII))
> -#define IS_POSIX_ASCII(option)    ((option) &
> ONIG_OPTION_POSIX_IS_ASCII)
> -
> -#define IS_ASCII_MODE_CTYPE_OPTION(ctype, options) \
> -  ((ctype) >= 0 && \
> -  (((ctype) < ONIGENC_CTYPE_ASCII  && IS_POSIX_ASCII(options)) ||\
> -   ((ctype) == ONIGENC_CTYPE_WORD  && IS_WORD_ASCII(options))  ||\
> -   ((ctype) == ONIGENC_CTYPE_DIGIT && IS_DIGIT_ASCII(options)) ||\
> -   ((ctype) == ONIGENC_CTYPE_SPACE && IS_SPACE_ASCII(options))))
> -
> -#define DISABLE_CASE_FOLD_MULTI_CHAR(case_fold_flag) \
> -  ((case_fold_flag) & ~INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR)
> -
> -#define INFINITE_REPEAT         -1
> -#define IS_INFINITE_REPEAT(n)   ((n) == INFINITE_REPEAT)
> -
> -/* bitset */
> -#define BITS_PER_BYTE      8
> -#define SINGLE_BYTE_SIZE   (1 << BITS_PER_BYTE)
> -#define BITS_IN_ROOM       (sizeof(Bits) * BITS_PER_BYTE)
> -#define BITSET_SIZE        (SINGLE_BYTE_SIZE / BITS_IN_ROOM)
> -
> -#ifdef PLATFORM_UNALIGNED_WORD_ACCESS
> -typedef unsigned int   Bits;
> -#else
> -typedef unsigned char  Bits;
> -#endif
> -typedef Bits           BitSet[BITSET_SIZE];
> -typedef Bits*          BitSetRef;
> -
> -#define SIZE_BITSET        sizeof(BitSet)
> -
> -#define BITSET_CLEAR(bs) do {\
> -  int i;\
> -  for (i = 0; i < (int )BITSET_SIZE; i++) { (bs)[i] = 0; } \
> -} while (0)
> -
> -#define BS_ROOM(bs,pos)            (bs)[pos / BITS_IN_ROOM]
> -#define BS_BIT(pos)                (1 << (pos % BITS_IN_ROOM))
> -
> -#define BITSET_AT(bs, pos)         (BS_ROOM(bs,pos) & BS_BIT(pos))
> -#define BITSET_SET_BIT(bs, pos)     BS_ROOM(bs,pos) |= BS_BIT(pos)
> -#define BITSET_CLEAR_BIT(bs, pos)   BS_ROOM(bs,pos) &= ~(BS_BIT(pos))
> -#define BITSET_INVERT_BIT(bs, pos)  BS_ROOM(bs,pos) ^= BS_BIT(pos)
> -
> -/* bytes buffer */
> -typedef struct _BBuf {
> -  UChar* p;
> -  unsigned int used;
> -  unsigned int alloc;
> -} BBuf;
> -
> -#define BB_INIT(buf,size)    bbuf_init((BBuf* )(buf), (size))
> -
> -#define BB_SIZE_INC(buf,inc) do{\
> -  (buf)->alloc += (inc);\
> -  (buf)->p = (UChar* )xrealloc((buf)->p, (buf)->alloc);\
> -  if (IS_NULL((buf)->p)) return(ONIGERR_MEMORY);\
> -} while (0)
> -
> -#define BB_EXPAND(buf,low) do{\
> -  unsigned int OldSize_ = (buf)->alloc * sizeof((buf)->p[0]);\
> -  do { (buf)->alloc *= 2; } while ((buf)->alloc < (unsigned int )low);\
> -  (buf)->p = (UChar* )xrealloc((buf)->p, (buf)->alloc, OldSize_);\
> -  if (IS_NULL((buf)->p)) return(ONIGERR_MEMORY);\
> -} while (0)
> -
> -#define BB_ENSURE_SIZE(buf,size) do{\
> -  unsigned int new_alloc = (buf)->alloc;\
> -  while (new_alloc < (unsigned int )(size)) { new_alloc *= 2; }\
> -  if ((buf)->alloc != new_alloc) {\
> -    (buf)->p = (UChar* )xrealloc((buf)->p, new_alloc, (buf)->alloc);\
> -    if (IS_NULL((buf)->p)) return(ONIGERR_MEMORY);\
> -    (buf)->alloc = new_alloc;\
> -  }\
> -} while (0)
> -
> -#define BB_WRITE(buf,pos,bytes,n) do{\
> -  int used = (pos) + (n);\
> -  if ((buf)->alloc < (unsigned int )used) BB_EXPAND((buf),used);\
> -  xmemcpy((buf)->p + (pos), (bytes), (n));\
> -  if ((buf)->used < (unsigned int )used) (buf)->used = used;\
> -} while (0)
> -
> -#define BB_WRITE1(buf,pos,byte) do{\
> -  int used = (pos) + 1;\
> -  if ((buf)->alloc < (unsigned int )used) BB_EXPAND((buf),used);\
> -  (buf)->p[(pos)] = (byte);\
> -  if ((buf)->used < (unsigned int )used) (buf)->used = used;\
> -} while (0)
> -
> -#define BB_ADD(buf,bytes,n)       BB_WRITE((buf),(buf)->used,(bytes),(n))
> -#define BB_ADD1(buf,byte)         BB_WRITE1((buf),(buf)->used,(byte))
> -#define BB_GET_ADD_ADDRESS(buf)   ((buf)->p + (buf)->used)
> -#define BB_GET_OFFSET_POS(buf)    ((buf)->used)
> -
> -/* from < to */
> -#define BB_MOVE_RIGHT(buf,from,to,n) do {\
> -  if ((unsigned int )((to)+(n)) > (buf)->alloc) BB_EXPAND((buf),(to) + (n));\
> -  xmemmove((buf)->p + (to), (buf)->p + (from), (n));\
> -  if ((unsigned int )((to)+(n)) > (buf)->used) (buf)->used = (to) + (n);\
> -} while (0)
> -
> -/* from > to */
> -#define BB_MOVE_LEFT(buf,from,to,n) do {\
> -  xmemmove((buf)->p + (to), (buf)->p + (from), (n));\
> -} while (0)
> -
> -/* from > to */
> -#define BB_MOVE_LEFT_REDUCE(buf,from,to) do {\
> -  xmemmove((buf)->p + (to), (buf)->p + (from), (buf)->used - (from));\
> -  (buf)->used -= (from - to);\
> -} while (0)
> -
> -#define BB_INSERT(buf,pos,bytes,n) do {\
> -  if (pos >= (buf)->used) {\
> -    BB_WRITE(buf,pos,bytes,n);\
> -  }\
> -  else {\
> -    BB_MOVE_RIGHT((buf),(pos),(pos) + (n),((buf)->used - (pos)));\
> -    xmemcpy((buf)->p + (pos), (bytes), (n));\
> -  }\
> -} while (0)
> -
> -#define BB_GET_BYTE(buf, pos) (buf)->p[(pos)]
> -
> -
> -/* has body */
> -#define ANCR_PREC_READ        (1<<0)
> -#define ANCR_PREC_READ_NOT    (1<<1)
> -#define ANCR_LOOK_BEHIND      (1<<2)
> -#define ANCR_LOOK_BEHIND_NOT  (1<<3)
> -/* no body */
> -#define ANCR_BEGIN_BUF        (1<<4)
> -#define ANCR_BEGIN_LINE       (1<<5)
> -#define ANCR_BEGIN_POSITION   (1<<6)
> -#define ANCR_END_BUF          (1<<7)
> -#define ANCR_SEMI_END_BUF     (1<<8)
> -#define ANCR_END_LINE         (1<<9)
> -#define ANCR_WORD_BOUNDARY    (1<<10)
> -#define ANCR_NO_WORD_BOUNDARY (1<<11)
> -#define ANCR_WORD_BEGIN       (1<<12)
> -#define ANCR_WORD_END         (1<<13)
> -#define ANCR_ANYCHAR_INF      (1<<14)
> -#define ANCR_ANYCHAR_INF_ML   (1<<15)
> -#define ANCR_TEXT_SEGMENT_BOUNDARY    (1<<16)
> -#define ANCR_NO_TEXT_SEGMENT_BOUNDARY (1<<17)
> -
> -
> -#define ANCHOR_HAS_BODY(a)      ((a)->type < ANCR_BEGIN_BUF)
> -
> -#define IS_WORD_ANCHOR_TYPE(type) \
> -  ((type) == ANCR_WORD_BOUNDARY || (type) ==
> ANCR_NO_WORD_BOUNDARY || \
> -   (type) == ANCR_WORD_BEGIN || (type) == ANCR_WORD_END)
> -
> -/* operation code */
> -enum OpCode {
> -  OP_FINISH = 0,        /* matching process terminator (no more alternative) */
> -  OP_END    = 1,        /* pattern code terminator (success end) */
> -
> -  OP_EXACT1 = 2,        /* single byte, N = 1 */
> -  OP_EXACT2,            /* single byte, N = 2 */
> -  OP_EXACT3,            /* single byte, N = 3 */
> -  OP_EXACT4,            /* single byte, N = 4 */
> -  OP_EXACT5,            /* single byte, N = 5 */
> -  OP_EXACTN,            /* single byte */
> -  OP_EXACTMB2N1,        /* mb-length = 2 N = 1 */
> -  OP_EXACTMB2N2,        /* mb-length = 2 N = 2 */
> -  OP_EXACTMB2N3,        /* mb-length = 2 N = 3 */
> -  OP_EXACTMB2N,         /* mb-length = 2 */
> -  OP_EXACTMB3N,         /* mb-length = 3 */
> -  OP_EXACTMBN,          /* other length */
> -
> -  OP_EXACT1_IC,         /* single byte, N = 1, ignore case */
> -  OP_EXACTN_IC,         /* single byte,        ignore case */
> -
> -  OP_CCLASS,
> -  OP_CCLASS_MB,
> -  OP_CCLASS_MIX,
> -  OP_CCLASS_NOT,
> -  OP_CCLASS_MB_NOT,
> -  OP_CCLASS_MIX_NOT,
> -
> -  OP_ANYCHAR,                 /* "."  */
> -  OP_ANYCHAR_ML,              /* "."  multi-line */
> -  OP_ANYCHAR_STAR,            /* ".*" */
> -  OP_ANYCHAR_ML_STAR,         /* ".*" multi-line */
> -  OP_ANYCHAR_STAR_PEEK_NEXT,
> -  OP_ANYCHAR_ML_STAR_PEEK_NEXT,
> -
> -  OP_WORD,
> -  OP_WORD_ASCII,
> -  OP_NO_WORD,
> -  OP_NO_WORD_ASCII,
> -  OP_WORD_BOUNDARY,
> -  OP_NO_WORD_BOUNDARY,
> -  OP_WORD_BEGIN,
> -  OP_WORD_END,
> -
> -  OP_TEXT_SEGMENT_BOUNDARY,
> -
> -  OP_BEGIN_BUF,
> -  OP_END_BUF,
> -  OP_BEGIN_LINE,
> -  OP_END_LINE,
> -  OP_SEMI_END_BUF,
> -  OP_BEGIN_POSITION,
> -
> -  OP_BACKREF1,
> -  OP_BACKREF2,
> -  OP_BACKREF_N,
> -  OP_BACKREF_N_IC,
> -  OP_BACKREF_MULTI,
> -  OP_BACKREF_MULTI_IC,
> -  OP_BACKREF_WITH_LEVEL,        /* \k<xxx+n>, \k<xxx-n> */
> -  OP_BACKREF_WITH_LEVEL_IC,     /* \k<xxx+n>, \k<xxx-n> */
> -  OP_BACKREF_CHECK,             /* (?(n)), (?('name')) */
> -  OP_BACKREF_CHECK_WITH_LEVEL,  /* (?(n-level)), (?('name-level')) */
> -
> -  OP_MEMORY_START,
> -  OP_MEMORY_START_PUSH,   /* push back-tracker to stack */
> -  OP_MEMORY_END_PUSH,     /* push back-tracker to stack */
> -  OP_MEMORY_END_PUSH_REC, /* push back-tracker to stack */
> -  OP_MEMORY_END,
> -  OP_MEMORY_END_REC,      /* push marker to stack */
> -
> -  OP_FAIL,               /* pop stack and move */
> -  OP_JUMP,
> -  OP_PUSH,
> -  OP_PUSH_SUPER,
> -  OP_POP_OUT,
> -#ifdef USE_OP_PUSH_OR_JUMP_EXACT
> -  OP_PUSH_OR_JUMP_EXACT1,  /* if match exact then push, else jump. */
> -#endif
> -  OP_PUSH_IF_PEEK_NEXT,    /* if match exact then push, else none. */
> -  OP_REPEAT,               /* {n,m} */
> -  OP_REPEAT_NG,            /* {n,m}? (non greedy) */
> -  OP_REPEAT_INC,
> -  OP_REPEAT_INC_NG,        /* non greedy */
> -  OP_REPEAT_INC_SG,        /* search and get in stack */
> -  OP_REPEAT_INC_NG_SG,     /* search and get in stack (non greedy) */
> -  OP_EMPTY_CHECK_START,     /* null loop checker start */
> -  OP_EMPTY_CHECK_END,       /* null loop checker end   */
> -  OP_EMPTY_CHECK_END_MEMST, /* null loop checker end (with capture
> status) */
> -  OP_EMPTY_CHECK_END_MEMST_PUSH, /* with capture status and push
> check-end */
> -
> -  OP_PREC_READ_START,       /* (?=...)  start */
> -  OP_PREC_READ_END,         /* (?=...)  end   */
> -  OP_PREC_READ_NOT_START,   /* (?!...)  start */
> -  OP_PREC_READ_NOT_END,     /* (?!...)  end   */
> -  OP_ATOMIC_START,          /* (?>...)  start */
> -  OP_ATOMIC_END,            /* (?>...)  end   */
> -  OP_LOOK_BEHIND,           /* (?<=...) start (no needs end opcode) */
> -  OP_LOOK_BEHIND_NOT_START, /* (?<!...) start */
> -  OP_LOOK_BEHIND_NOT_END,   /* (?<!...) end   */
> -
> -  OP_CALL,                  /* \g<name> */
> -  OP_RETURN,
> -  OP_PUSH_SAVE_VAL,
> -  OP_UPDATE_VAR,
> -#ifdef USE_CALLOUT
> -  OP_CALLOUT_CONTENTS,      /* (?{...}) (?{{...}}) */
> -  OP_CALLOUT_NAME,          /* (*name) (*name[tag](args...)) */
> -#endif
> -};
> -
> -enum SaveType {
> -  SAVE_KEEP = 0, /* SAVE S */
> -  SAVE_S = 1,
> -  SAVE_RIGHT_RANGE = 2,
> -};
> -
> -enum UpdateVarType {
> -  UPDATE_VAR_KEEP_FROM_STACK_LAST     = 0,
> -  UPDATE_VAR_S_FROM_STACK             = 1,
> -  UPDATE_VAR_RIGHT_RANGE_FROM_STACK   = 2,
> -  UPDATE_VAR_RIGHT_RANGE_FROM_S_STACK = 3,
> -  UPDATE_VAR_RIGHT_RANGE_INIT         = 4,
> -};
> -
> -enum TextSegmentBoundaryType {
> -  EXTENDED_GRAPHEME_CLUSTER_BOUNDARY = 0,
> -  WORD_BOUNDARY = 1,
> -};
> -
> -typedef int RelAddrType;
> -typedef int AbsAddrType;
> -typedef int LengthType;
> -typedef int RepeatNumType;
> -typedef int MemNumType;
> -typedef void* PointerType;
> -typedef int SaveType;
> -typedef int UpdateVarType;
> -typedef int ModeType;
> -
> -#define SIZE_OPCODE           1
> -#define SIZE_RELADDR          sizeof(RelAddrType)
> -#define SIZE_ABSADDR          sizeof(AbsAddrType)
> -#define SIZE_LENGTH           sizeof(LengthType)
> -#define SIZE_MEMNUM           sizeof(MemNumType)
> -#define SIZE_REPEATNUM        sizeof(RepeatNumType)
> -#define SIZE_OPTION           sizeof(OnigOptionType)
> -#define SIZE_CODE_POINT       sizeof(OnigCodePoint)
> -#define SIZE_POINTER          sizeof(PointerType)
> -#define SIZE_SAVE_TYPE        sizeof(SaveType)
> -#define SIZE_UPDATE_VAR_TYPE  sizeof(UpdateVarType)
> -#define SIZE_MODE             sizeof(ModeType)
> -
> -#define GET_RELADDR_INC(addr,p)    PLATFORM_GET_INC(addr,   p,
> RelAddrType)
> -#define GET_ABSADDR_INC(addr,p)    PLATFORM_GET_INC(addr,   p,
> AbsAddrType)
> -#define GET_LENGTH_INC(len,p)      PLATFORM_GET_INC(len,    p,
> LengthType)
> -#define GET_MEMNUM_INC(num,p)      PLATFORM_GET_INC(num,    p,
> MemNumType)
> -#define GET_REPEATNUM_INC(num,p)   PLATFORM_GET_INC(num,    p,
> RepeatNumType)
> -#define GET_OPTION_INC(option,p)   PLATFORM_GET_INC(option, p,
> OnigOptionType)
> -#define GET_POINTER_INC(ptr,p)     PLATFORM_GET_INC(ptr,    p,
> PointerType)
> -#define GET_SAVE_TYPE_INC(type,p)       PLATFORM_GET_INC(type, p,
> SaveType)
> -#define GET_UPDATE_VAR_TYPE_INC(type,p) PLATFORM_GET_INC(type, p,
> UpdateVarType)
> -#define GET_MODE_INC(mode,p)            PLATFORM_GET_INC(mode, p,
> ModeType)
> -
> -/* code point's address must be aligned address. */
> -#define GET_CODE_POINT(code,p)   code = *((OnigCodePoint* )(p))
> -#define GET_BYTE_INC(byte,p) do{\
> -  byte = *(p);\
> -  (p)++;\
> -} while(0)
> -
> -
> -/* op-code + arg size */
> -#if 0
> -#define SIZE_OP_ANYCHAR_STAR            SIZE_OPCODE
> -#define SIZE_OP_ANYCHAR_STAR_PEEK_NEXT (SIZE_OPCODE + 1)
> -#define SIZE_OP_JUMP                   (SIZE_OPCODE + SIZE_RELADDR)
> -#define SIZE_OP_PUSH                   (SIZE_OPCODE + SIZE_RELADDR)
> -#define SIZE_OP_PUSH_SUPER             (SIZE_OPCODE + SIZE_RELADDR)
> -#define SIZE_OP_POP_OUT                 SIZE_OPCODE
> -#ifdef USE_OP_PUSH_OR_JUMP_EXACT
> -#define SIZE_OP_PUSH_OR_JUMP_EXACT1    (SIZE_OPCODE +
> SIZE_RELADDR + 1)
> -#endif
> -#define SIZE_OP_PUSH_IF_PEEK_NEXT      (SIZE_OPCODE + SIZE_RELADDR +
> 1)
> -#define SIZE_OP_REPEAT_INC             (SIZE_OPCODE + SIZE_MEMNUM)
> -#define SIZE_OP_REPEAT_INC_NG          (SIZE_OPCODE + SIZE_MEMNUM)
> -#define SIZE_OP_WORD_BOUNDARY          (SIZE_OPCODE + SIZE_MODE)
> -#define SIZE_OP_PREC_READ_START         SIZE_OPCODE
> -#define SIZE_OP_PREC_READ_NOT_START    (SIZE_OPCODE +
> SIZE_RELADDR)
> -#define SIZE_OP_PREC_READ_END           SIZE_OPCODE
> -#define SIZE_OP_PREC_READ_NOT_END       SIZE_OPCODE
> -#define SIZE_OP_FAIL                    SIZE_OPCODE
> -#define SIZE_OP_MEMORY_START           (SIZE_OPCODE + SIZE_MEMNUM)
> -#define SIZE_OP_MEMORY_START_PUSH      (SIZE_OPCODE +
> SIZE_MEMNUM)
> -#define SIZE_OP_MEMORY_END_PUSH        (SIZE_OPCODE +
> SIZE_MEMNUM)
> -#define SIZE_OP_MEMORY_END_PUSH_REC    (SIZE_OPCODE +
> SIZE_MEMNUM)
> -#define SIZE_OP_MEMORY_END             (SIZE_OPCODE + SIZE_MEMNUM)
> -#define SIZE_OP_MEMORY_END_REC         (SIZE_OPCODE + SIZE_MEMNUM)
> -#define SIZE_OP_ATOMIC_START            SIZE_OPCODE
> -#define SIZE_OP_ATOMIC_END              SIZE_OPCODE
> -#define SIZE_OP_EMPTY_CHECK_START       (SIZE_OPCODE +
> SIZE_MEMNUM)
> -#define SIZE_OP_EMPTY_CHECK_END         (SIZE_OPCODE + SIZE_MEMNUM)
> -#define SIZE_OP_LOOK_BEHIND            (SIZE_OPCODE + SIZE_LENGTH)
> -#define SIZE_OP_LOOK_BEHIND_NOT_START  (SIZE_OPCODE +
> SIZE_RELADDR + SIZE_LENGTH)
> -#define SIZE_OP_LOOK_BEHIND_NOT_END     SIZE_OPCODE
> -#define SIZE_OP_CALL                   (SIZE_OPCODE + SIZE_ABSADDR)
> -#define SIZE_OP_RETURN                  SIZE_OPCODE
> -#define SIZE_OP_PUSH_SAVE_VAL          (SIZE_OPCODE + SIZE_SAVE_TYPE +
> SIZE_MEMNUM)
> -#define SIZE_OP_UPDATE_VAR             (SIZE_OPCODE +
> SIZE_UPDATE_VAR_TYPE + SIZE_MEMNUM)
> -
> -#ifdef USE_CALLOUT
> -#define SIZE_OP_CALLOUT_CONTENTS       (SIZE_OPCODE + SIZE_MEMNUM)
> -#define SIZE_OP_CALLOUT_NAME           (SIZE_OPCODE + SIZE_MEMNUM +
> SIZE_MEMNUM)
> -#endif
> -
> -#else  /* if 0 */
> -
> -/* for relative address increment to go next op. */
> -#define SIZE_INC_OP                     1
> -
> -#define SIZE_OP_ANYCHAR_STAR            1
> -#define SIZE_OP_ANYCHAR_STAR_PEEK_NEXT  1
> -#define SIZE_OP_JUMP                    1
> -#define SIZE_OP_PUSH                    1
> -#define SIZE_OP_PUSH_SUPER              1
> -#define SIZE_OP_POP_OUT                 1
> -#ifdef USE_OP_PUSH_OR_JUMP_EXACT
> -#define SIZE_OP_PUSH_OR_JUMP_EXACT1     1
> -#endif
> -#define SIZE_OP_PUSH_IF_PEEK_NEXT       1
> -#define SIZE_OP_REPEAT                  1
> -#define SIZE_OP_REPEAT_INC              1
> -#define SIZE_OP_REPEAT_INC_NG           1
> -#define SIZE_OP_WORD_BOUNDARY           1
> -#define SIZE_OP_PREC_READ_START         1
> -#define SIZE_OP_PREC_READ_NOT_START     1
> -#define SIZE_OP_PREC_READ_END           1
> -#define SIZE_OP_PREC_READ_NOT_END       1
> -#define SIZE_OP_BACKREF                 1
> -#define SIZE_OP_FAIL                    1
> -#define SIZE_OP_MEMORY_START            1
> -#define SIZE_OP_MEMORY_START_PUSH       1
> -#define SIZE_OP_MEMORY_END_PUSH         1
> -#define SIZE_OP_MEMORY_END_PUSH_REC     1
> -#define SIZE_OP_MEMORY_END              1
> -#define SIZE_OP_MEMORY_END_REC          1
> -#define SIZE_OP_ATOMIC_START            1
> -#define SIZE_OP_ATOMIC_END              1
> -#define SIZE_OP_EMPTY_CHECK_START       1
> -#define SIZE_OP_EMPTY_CHECK_END         1
> -#define SIZE_OP_LOOK_BEHIND             1
> -#define SIZE_OP_LOOK_BEHIND_NOT_START   1
> -#define SIZE_OP_LOOK_BEHIND_NOT_END     1
> -#define SIZE_OP_CALL                    1
> -#define SIZE_OP_RETURN                  1
> -#define SIZE_OP_PUSH_SAVE_VAL           1
> -#define SIZE_OP_UPDATE_VAR              1
> -
> -#ifdef USE_CALLOUT
> -#define SIZE_OP_CALLOUT_CONTENTS        1
> -#define SIZE_OP_CALLOUT_NAME            1
> -#endif
> -#endif /* if 0 */
> -
> -
> -#define MC_ESC(syn)               (syn)->meta_char_table.esc
> -#define MC_ANYCHAR(syn)           (syn)->meta_char_table.anychar
> -#define MC_ANYTIME(syn)           (syn)->meta_char_table.anytime
> -#define MC_ZERO_OR_ONE_TIME(syn)  (syn)-
> >meta_char_table.zero_or_one_time
> -#define MC_ONE_OR_MORE_TIME(syn)  (syn)-
> >meta_char_table.one_or_more_time
> -#define MC_ANYCHAR_ANYTIME(syn)   (syn)-
> >meta_char_table.anychar_anytime
> -
> -#define IS_MC_ESC_CODE(code, syn) \
> -  ((code) == MC_ESC(syn) && \
> -   !IS_SYNTAX_OP2((syn), ONIG_SYN_OP2_INEFFECTIVE_ESCAPE))
> -
> -
> -#define SYN_POSIX_COMMON_OP \
> - ( ONIG_SYN_OP_DOT_ANYCHAR | ONIG_SYN_OP_POSIX_BRACKET | \
> -   ONIG_SYN_OP_DECIMAL_BACKREF | \
> -   ONIG_SYN_OP_BRACKET_CC | ONIG_SYN_OP_ASTERISK_ZERO_INF | \
> -   ONIG_SYN_OP_LINE_ANCHOR | \
> -   ONIG_SYN_OP_ESC_CONTROL_CHARS )
> -
> -#define SYN_GNU_REGEX_OP \
> -  ( ONIG_SYN_OP_DOT_ANYCHAR | ONIG_SYN_OP_BRACKET_CC | \
> -    ONIG_SYN_OP_POSIX_BRACKET | ONIG_SYN_OP_DECIMAL_BACKREF | \
> -    ONIG_SYN_OP_BRACE_INTERVAL | ONIG_SYN_OP_LPAREN_SUBEXP | \
> -    ONIG_SYN_OP_VBAR_ALT | \
> -    ONIG_SYN_OP_ASTERISK_ZERO_INF | ONIG_SYN_OP_PLUS_ONE_INF | \
> -    ONIG_SYN_OP_QMARK_ZERO_ONE | \
> -    ONIG_SYN_OP_ESC_AZ_BUF_ANCHOR |
> ONIG_SYN_OP_ESC_CAPITAL_G_BEGIN_ANCHOR | \
> -    ONIG_SYN_OP_ESC_W_WORD | \
> -    ONIG_SYN_OP_ESC_B_WORD_BOUND |
> ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END | \
> -    ONIG_SYN_OP_ESC_S_WHITE_SPACE | ONIG_SYN_OP_ESC_D_DIGIT | \
> -    ONIG_SYN_OP_LINE_ANCHOR )
> -
> -#define SYN_GNU_REGEX_BV \
> -  ( ONIG_SYN_CONTEXT_INDEP_ANCHORS |
> ONIG_SYN_CONTEXT_INDEP_REPEAT_OPS | \
> -    ONIG_SYN_CONTEXT_INVALID_REPEAT_OPS |
> ONIG_SYN_ALLOW_INVALID_INTERVAL | \
> -    ONIG_SYN_BACKSLASH_ESCAPE_IN_CC |
> ONIG_SYN_ALLOW_DOUBLE_RANGE_OP_IN_CC )
> -
> -
> -#define NCCLASS_FLAGS(cc)           ((cc)->flags)
> -#define NCCLASS_FLAG_SET(cc,flag)    (NCCLASS_FLAGS(cc) |= (flag))
> -#define NCCLASS_FLAG_CLEAR(cc,flag)  (NCCLASS_FLAGS(cc) &= ~(flag))
> -#define IS_NCCLASS_FLAG_ON(cc,flag) ((NCCLASS_FLAGS(cc) & (flag)) != 0)
> -
> -/* cclass node */
> -#define FLAG_NCCLASS_NOT           (1<<0)
> -#define FLAG_NCCLASS_SHARE         (1<<1)
> -
> -#define NCCLASS_SET_NOT(nd)     NCCLASS_FLAG_SET(nd,
> FLAG_NCCLASS_NOT)
> -#define NCCLASS_CLEAR_NOT(nd)   NCCLASS_FLAG_CLEAR(nd,
> FLAG_NCCLASS_NOT)
> -#define IS_NCCLASS_NOT(nd)      IS_NCCLASS_FLAG_ON(nd,
> FLAG_NCCLASS_NOT)
> -
> -
> -typedef struct {
> -#ifdef USE_DIRECT_THREADED_CODE
> -  const void* opaddr;
> -#else
> -  enum OpCode opcode;
> -#endif
> -  union {
> -    struct {
> -      UChar s[16];  /* Now used first 7 bytes only. */
> -    } exact;
> -    struct {
> -      UChar* s;
> -      LengthType n;   /* number of chars */
> -    } exact_n; /* EXACTN, EXACTN_IC, EXACTMB2N, EXACTMB3N */
> -    struct {
> -      UChar* s;
> -      LengthType n;   /* number of chars */
> -      LengthType len; /* char byte length */
> -    } exact_len_n; /* EXACTMBN */
> -    struct {
> -      BitSetRef bsp;
> -    } cclass;
> -    struct {
> -      void*  mb;
> -    } cclass_mb;
> -    struct {
> -      void*  mb; /* mb must be same position with cclass_mb for match_at().
> */
> -      BitSetRef bsp;
> -    } cclass_mix;
> -    struct {
> -      UChar c;
> -    } anychar_star_peek_next;
> -    struct {
> -      ModeType mode;
> -    } word_boundary; /* OP_WORD_BOUNDARY,
> OP_NO_WORD_BOUNDARY, OP_WORD_BEGIN, OP_WORD_END */
> -    struct {
> -      enum TextSegmentBoundaryType type;
> -      int not;
> -    } text_segment_boundary;
> -    struct {
> -      union {
> -        MemNumType  n1; /* num == 1 */
> -        MemNumType* ns; /* num >  1 */
> -      };
> -      int num;
> -      int nest_level;
> -    } backref_general; /* BACKREF_MULTI, BACKREF_MULTI_IC,
> BACKREF_WITH_LEVEL, BACKREF_CHECK, BACKREF_CHECK_WITH_LEVEL, */
> -    struct {
> -      MemNumType n1;
> -    } backref_n; /* BACKREF_N, BACKREF_N_IC */
> -    struct {
> -      MemNumType num;
> -    } memory_start; /* MEMORY_START, MEMORY_START_PUSH */
> -    struct {
> -      MemNumType num;
> -    } memory_end; /* MEMORY_END, MEMORY_END_REC,
> MEMORY_END_PUSH, MEMORY_END_PUSH_REC */
> -    struct {
> -      RelAddrType addr;
> -    } jump;
> -    struct {
> -      RelAddrType addr;
> -    } push;
> -    struct {
> -      RelAddrType addr;
> -      UChar c;
> -    } push_or_jump_exact1;
> -    struct {
> -      RelAddrType addr;
> -      UChar c;
> -    } push_if_peek_next;
> -    struct {
> -      MemNumType  id;
> -      RelAddrType addr;
> -    } repeat; /* REPEAT, REPEAT_NG */
> -    struct {
> -      MemNumType  id;
> -    } repeat_inc; /* REPEAT_INC, REPEAT_INC_SG, REPEAT_INC_NG,
> REPEAT_INC_NG_SG */
> -    struct {
> -      MemNumType mem;
> -    } empty_check_start;
> -    struct {
> -      MemNumType mem;
> -    } empty_check_end; /* EMPTY_CHECK_END,
> EMPTY_CHECK_END_MEMST, EMPTY_CHECK_END_MEMST_PUSH */
> -    struct {
> -      RelAddrType addr;
> -    } prec_read_not_start;
> -    struct {
> -      LengthType len;
> -    } look_behind;
> -    struct {
> -      LengthType  len;
> -      RelAddrType addr;
> -    } look_behind_not_start;
> -    struct {
> -      AbsAddrType addr;
> -    } call;
> -    struct {
> -      SaveType   type;
> -      MemNumType id;
> -    } push_save_val;
> -    struct {
> -      UpdateVarType type;
> -      MemNumType id;
> -    } update_var;
> -#ifdef USE_CALLOUT
> -    struct {
> -      MemNumType num;
> -    } callout_contents;
> -    struct {
> -      MemNumType num;
> -      MemNumType id;
> -    } callout_name;
> -#endif
> -  };
> -} Operation;
> -
> -typedef struct {
> -  const UChar* pattern;
> -  const UChar* pattern_end;
> -#ifdef USE_CALLOUT
> -  void*  tag_table;
> -  int    callout_num;
> -  int    callout_list_alloc;
> -  CalloutListEntry* callout_list;    /* index: callout num */
> -#endif
> -} RegexExt;
> -
> -struct re_pattern_buffer {
> -  /* common members of BBuf(bytes-buffer) */
> -  Operation*   ops;
> -#ifdef USE_DIRECT_THREADED_CODE
> -  enum OpCode* ocs;
> -#endif
> -  Operation*   ops_curr;
> -  unsigned int ops_used;    /* used space for ops */
> -  unsigned int ops_alloc;   /* allocated space for ops */
> -  unsigned char* string_pool;
> -  unsigned char* string_pool_end;
> -
> -  int num_mem;                   /* used memory(...) num counted from 1 */
> -  int num_repeat;                /* OP_REPEAT/OP_REPEAT_NG id-counter */
> -  int num_null_check;            /* OP_EMPTY_CHECK_START/END id counter */
> -  int num_call;                  /* number of subexp call */
> -  unsigned int capture_history;  /* (?@...) flag (1-31) */
> -  unsigned int bt_mem_start;     /* need backtrack flag */
> -  unsigned int bt_mem_end;       /* need backtrack flag */
> -  int stack_pop_level;
> -  int repeat_range_alloc;
> -  OnigRepeatRange* repeat_range;
> -
> -  OnigEncoding      enc;
> -  OnigOptionType    options;
> -  OnigSyntaxType*   syntax;
> -  OnigCaseFoldType  case_fold_flag;
> -  void*             name_table;
> -
> -  /* optimization info (string search, char-map and anchors) */
> -  int            optimize;          /* optimize flag */
> -  int            threshold_len;     /* search str-length for apply optimize */
> -  int            anchor;            /* BEGIN_BUF, BEGIN_POS, (SEMI_)END_BUF */
> -  OnigLen        anchor_dmin;       /* (SEMI_)END_BUF anchor distance */
> -  OnigLen        anchor_dmax;       /* (SEMI_)END_BUF anchor distance */
> -  int            sub_anchor;        /* start-anchor for exact or map */
> -  unsigned char *exact;
> -  unsigned char *exact_end;
> -  unsigned char  map[CHAR_MAP_SIZE]; /* used as BMH skip or char-map */
> -  int            map_offset;
> -  OnigLen        dmin;                      /* min-distance of exact or map */
> -  OnigLen        dmax;                      /* max-distance of exact or map */
> -  RegexExt*      extp;
> -};
> -
> -#define COP(reg)            ((reg)->ops_curr)
> -#define COP_CURR_OFFSET(reg)  ((reg)->ops_used - 1)
> -#define COP_CURR_OFFSET_BYTES(reg, p)  \
> -  ((int )((char* )(&((reg)->ops_curr->p)) - (char* )((reg)->ops)))
> -
> -
> -extern void onig_add_end_call(void (*func)(void));
> -
> -#ifdef ONIG_DEBUG
> -
> -#ifdef ONIG_DEBUG_COMPILE
> -extern void onig_print_compiled_byte_code_list(FILE* f, regex_t* reg);
> -#endif
> -
> -#ifdef ONIG_DEBUG_STATISTICS
> -extern void onig_statistics_init P_((void));
> -extern int  onig_print_statistics P_((FILE* f));
> -#endif
> -#endif
> -
> -extern void   onig_warning(const char* s);
> -extern UChar* onig_error_code_to_format P_((int code));
> -extern void  EFIAPI onig_snprintf_with_pattern PV_((UChar buf[], int
> bufsize, OnigEncoding enc, UChar* pat, UChar* pat_end, const UChar
> *fmt, ...));
> -extern int    onig_compile P_((regex_t* reg, const UChar* pattern, const
> UChar* pattern_end, OnigErrorInfo* einfo));
> -extern int    onig_is_code_in_cc_len P_((int enclen, OnigCodePoint code,
> void* /* CClassNode* */ cc));
> -extern RegexExt* onig_get_regex_ext(regex_t* reg);
> -extern int    onig_ext_set_pattern(regex_t* reg, const UChar* pattern,
> const UChar* pattern_end);
> -extern int    onig_positive_int_multiply(int x, int y);
> -
> -#ifdef USE_CALLOUT
> -
> -extern OnigCalloutType onig_get_callout_type_by_name_id(int name_id);
> -extern OnigCalloutFunc onig_get_callout_start_func_by_name_id(int id);
> -extern OnigCalloutFunc onig_get_callout_end_func_by_name_id(int id);
> -extern int             onig_callout_tag_table_free(void* table);
> -extern void            onig_free_reg_callout_list(int n, CalloutListEntry* list);
> -extern CalloutListEntry* onig_reg_callout_list_at(regex_t* reg, int num);
> -extern OnigCalloutFunc onig_get_callout_start_func(regex_t* reg, int
> callout_num);
> -
> -/* for definition of builtin callout */
> -#define BC0_P(name, func)  do {\
> -  int len = onigenc_str_bytelen_null(enc, (UChar* )name);\
> -  id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\
> -                              (UChar* )(name), (UChar* )((name) + len),\
> -                              ONIG_CALLOUT_IN_PROGRESS,\
> -                              onig_builtin_ ## func, 0, 0, 0, 0, 0);\
> -  if (id < 0) return id;\
> -} while(0)
> -
> -#define BC0_R(name, func)  do {\
> -  int len = onigenc_str_bytelen_null(enc, (UChar* )name);\
> -  id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\
> -                              (UChar* )(name), (UChar* )((name) + len),\
> -                              ONIG_CALLOUT_IN_RETRACTION,\
> -                              onig_builtin_ ## func, 0, 0, 0, 0, 0);\
> -  if (id < 0) return id;\
> -} while(0)
> -
> -#define BC0_B(name, func)  do {\
> -  int len = onigenc_str_bytelen_null(enc, (UChar* )name);\
> -  id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\
> -                              (UChar* )(name), (UChar* )((name) + len),\
> -                              ONIG_CALLOUT_IN_BOTH,\
> -                              onig_builtin_ ## func, 0, 0, 0, 0, 0);\
> -  if (id < 0) return id;\
> -} while(0)
> -
> -#define BC_P(name, func, na, ts)  do {\
> -  int len = onigenc_str_bytelen_null(enc, (UChar* )name);\
> -  id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\
> -                              (UChar* )(name), (UChar* )((name) + len),\
> -                              ONIG_CALLOUT_IN_PROGRESS,\
> -                                onig_builtin_ ## func, 0, (na), (ts), 0, 0); \
> -  if (id < 0) return id;\
> -} while(0)
> -
> -#define BC_P_O(name, func, nts, ts, nopts, opts)  do {\
> -  int len = onigenc_str_bytelen_null(enc, (UChar* )name);\
> -  id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\
> -                           (UChar* )(name), (UChar* )((name) + len),\
> -                           ONIG_CALLOUT_IN_PROGRESS,\
> -                           onig_builtin_ ## func, 0, (nts), (ts), (nopts), (opts));\
> -  if (id < 0) return id;\
> -} while(0)
> -
> -#define BC_B(name, func, na, ts)  do {\
> -  int len = onigenc_str_bytelen_null(enc, (UChar* )name);\
> -  id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\
> -                              (UChar* )(name), (UChar* )((name) + len),\
> -                              ONIG_CALLOUT_IN_BOTH,\
> -                              onig_builtin_ ## func, 0, (na), (ts), 0, 0);\
> -  if (id < 0) return id;\
> -} while(0)
> -
> -#define BC_B_O(name, func, nts, ts, nopts, opts)  do {\
> -  int len = onigenc_str_bytelen_null(enc, (UChar* )name);\
> -  id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\
> -                           (UChar* )(name), (UChar* )((name) + len),\
> -                           ONIG_CALLOUT_IN_BOTH,\
> -                           onig_builtin_ ## func, 0, (nts), (ts), (nopts), (opts));\
> -  if (id < 0) return id;\
> -} while(0)
> -
> -#endif /* USE_CALLOUT */
> -
> -
> -/* strend hash */
> -typedef void hash_table_type;
> -
> -#ifdef _WIN32
> -# include <windows.h>
> -typedef ULONG_PTR hash_data_type;
> -#else
> -//typedef unsigned long hash_data_type;
> -#endif
> -
> -typedef UINTN hash_data_type;
> -
> -extern hash_table_type* onig_st_init_strend_table_with_size P_((int size));
> -extern int onig_st_lookup_strend P_((hash_table_type* table, const
> UChar* str_key, const UChar* end_key, hash_data_type *value));
> -extern int onig_st_insert_strend P_((hash_table_type* table, const UChar*
> str_key, const UChar* end_key, hash_data_type value));
> -
> -typedef int (*ONIGENC_INIT_PROPERTY_LIST_FUNC_TYPE)(void);
> -
> -#endif /* REGINT_H */
> -#include <ProcessorBind.h>
> -#define INT_MAX MAX_INTN
> -#define LONG_MAX MAX_UINTN
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.h
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.h
> deleted file mode 100644
> index 29e64341dfd7..000000000000
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.h
> +++ /dev/null
> @@ -1,455 +0,0 @@
> -#ifndef REGPARSE_H
> -#define REGPARSE_H
> -
> /**********************************************************
> ************
> -  regparse.h -  Oniguruma (regular expression library)
> -
> **********************************************************
> ************/
> -/*-
> - * Copyright (c) 2002-2019  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
> - * All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS
> IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
> BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF
> - * SUCH DAMAGE.
> - */
> -
> -#include "regint.h"
> -
> -#define NODE_STRING_MARGIN         16
> -#define NODE_STRING_BUF_SIZE       24  /* sizeof(CClassNode) -
> sizeof(int)*4 */
> -#define NODE_BACKREFS_SIZE          6
> -
> -/* node type */
> -typedef enum {
> -  NODE_STRING    =  0,
> -  NODE_CCLASS    =  1,
> -  NODE_CTYPE     =  2,
> -  NODE_BACKREF   =  3,
> -  NODE_QUANT     =  4,
> -  NODE_BAG       =  5,
> -  NODE_ANCHOR    =  6,
> -  NODE_LIST      =  7,
> -  NODE_ALT       =  8,
> -  NODE_CALL      =  9,
> -  NODE_GIMMICK   = 10
> -} NodeType;
> -
> -enum BagType {
> -  BAG_MEMORY         = 0,
> -  BAG_OPTION         = 1,
> -  BAG_STOP_BACKTRACK = 2,
> -  BAG_IF_ELSE        = 3,
> -};
> -
> -enum GimmickType {
> -  GIMMICK_FAIL       = 0,
> -  GIMMICK_SAVE       = 1,
> -  GIMMICK_UPDATE_VAR = 2,
> -#ifdef USE_CALLOUT
> -  GIMMICK_CALLOUT    = 3,
> -#endif
> -};
> -
> -enum BodyEmptyType {
> -  BODY_IS_NOT_EMPTY             = 0,
> -  BODY_IS_EMPTY_POSSIBILITY     = 1,
> -  BODY_IS_EMPTY_POSSIBILITY_MEM = 2,
> -  BODY_IS_EMPTY_POSSIBILITY_REC = 3
> -};
> -
> -typedef struct {
> -  NodeType node_type;
> -  int status;
> -
> -  UChar* s;
> -  UChar* end;
> -  unsigned int flag;
> -  int    capacity;    /* (allocated size - 1) or 0: use buf[] */
> -  UChar  buf[NODE_STRING_BUF_SIZE];
> -} StrNode;
> -
> -typedef struct {
> -  NodeType node_type;
> -  int status;
> -
> -  unsigned int flags;
> -  BitSet bs;
> -  BBuf*  mbuf;   /* multi-byte info or NULL */
> -} CClassNode;
> -
> -typedef struct {
> -  NodeType node_type;
> -  int status;
> -  struct _Node* body;
> -
> -  int lower;
> -  int upper;
> -  int greedy;
> -  enum BodyEmptyType emptiness;
> -  struct _Node* head_exact;
> -  struct _Node* next_head_exact;
> -  int is_refered;     /* include called node. don't eliminate even if {0} */
> -} QuantNode;
> -
> -typedef struct {
> -  NodeType node_type;
> -  int status;
> -  struct _Node* body;
> -
> -  enum BagType type;
> -  union {
> -    struct {
> -      int regnum;
> -      AbsAddrType called_addr;
> -      int entry_count;
> -      int called_state;
> -    } m;
> -    struct {
> -      OnigOptionType options;
> -    } o;
> -    struct {
> -      /* body is condition */
> -      struct _Node* Then;
> -      struct _Node* Else;
> -    } te;
> -  };
> -  /* for multiple call reference */
> -  OnigLen min_len;   /* min length (byte) */
> -  OnigLen max_len;   /* max length (byte) */
> -  int char_len;      /* character length  */
> -  int opt_count;     /* referenced count in optimize_nodes() */
> -} BagNode;
> -
> -#ifdef USE_CALL
> -
> -typedef struct {
> -  int           offset;
> -  struct _Node* target;
> -} UnsetAddr;
> -
> -typedef struct {
> -  int        num;
> -  int        alloc;
> -  UnsetAddr* us;
> -} UnsetAddrList;
> -
> -typedef struct {
> -  NodeType node_type;
> -  int status;
> -  struct _Node* body; /* to BagNode : BAG_MEMORY */
> -
> -  int     by_number;
> -  int     group_num;
> -  UChar*  name;
> -  UChar*  name_end;
> -  int     entry_count;
> -} CallNode;
> -
> -#endif
> -
> -typedef struct {
> -  NodeType node_type;
> -  int status;
> -
> -  int  back_num;
> -  int  back_static[NODE_BACKREFS_SIZE];
> -  int* back_dynamic;
> -  int  nest_level;
> -} BackRefNode;
> -
> -typedef struct {
> -  NodeType node_type;
> -  int status;
> -  struct _Node* body;
> -
> -  int type;
> -  int char_len;
> -  int ascii_mode;
> -} AnchorNode;
> -
> -typedef struct {
> -  NodeType node_type;
> -  int status;
> -
> -  struct _Node* car;
> -  struct _Node* cdr;
> -} ConsAltNode;
> -
> -typedef struct {
> -  NodeType node_type;
> -  int status;
> -
> -  int ctype;
> -  int not;
> -  OnigOptionType options;
> -  int ascii_mode;
> -} CtypeNode;
> -
> -typedef struct {
> -  NodeType node_type;
> -  int status;
> -
> -  enum GimmickType type;
> -  int  detail_type;
> -  int  num;
> -  int  id;
> -} GimmickNode;
> -
> -typedef struct _Node {
> -  union {
> -    struct {
> -      NodeType node_type;
> -      int status;
> -      struct _Node* body;
> -    } base;
> -
> -    StrNode       str;
> -    CClassNode    cclass;
> -    QuantNode     quant;
> -    BagNode       bag;
> -    BackRefNode   backref;
> -    AnchorNode    anchor;
> -    ConsAltNode   cons;
> -    CtypeNode     ctype;
> -#ifdef USE_CALL
> -    CallNode      call;
> -#endif
> -    GimmickNode   gimmick;
> -  } u;
> -} Node;
> -
> -#define NULL_NODE  ((Node* )0)
> -
> -
> -/* node type bit */
> -#define NODE_TYPE2BIT(type)      (1<<(type))
> -
> -#define NODE_BIT_STRING     NODE_TYPE2BIT(NODE_STRING)
> -#define NODE_BIT_CCLASS     NODE_TYPE2BIT(NODE_CCLASS)
> -#define NODE_BIT_CTYPE      NODE_TYPE2BIT(NODE_CTYPE)
> -#define NODE_BIT_BACKREF    NODE_TYPE2BIT(NODE_BACKREF)
> -#define NODE_BIT_QUANT      NODE_TYPE2BIT(NODE_QUANT)
> -#define NODE_BIT_BAG        NODE_TYPE2BIT(NODE_BAG)
> -#define NODE_BIT_ANCHOR     NODE_TYPE2BIT(NODE_ANCHOR)
> -#define NODE_BIT_LIST       NODE_TYPE2BIT(NODE_LIST)
> -#define NODE_BIT_ALT        NODE_TYPE2BIT(NODE_ALT)
> -#define NODE_BIT_CALL       NODE_TYPE2BIT(NODE_CALL)
> -#define NODE_BIT_GIMMICK    NODE_TYPE2BIT(NODE_GIMMICK)
> -
> -#define NODE_TYPE(node)             ((node)->u.base.node_type)
> -#define NODE_SET_TYPE(node, ntype)   (node)->u.base.node_type =
> (ntype)
> -
> -#define STR_(node)         (&((node)->u.str))
> -#define CCLASS_(node)      (&((node)->u.cclass))
> -#define CTYPE_(node)       (&((node)->u.ctype))
> -#define BACKREF_(node)     (&((node)->u.backref))
> -#define QUANT_(node)       (&((node)->u.quant))
> -#define BAG_(node)         (&((node)->u.bag))
> -#define ANCHOR_(node)      (&((node)->u.anchor))
> -#define CONS_(node)        (&((node)->u.cons))
> -#define CALL_(node)        (&((node)->u.call))
> -#define GIMMICK_(node)     (&((node)->u.gimmick))
> -
> -#define NODE_CAR(node)         (CONS_(node)->car)
> -#define NODE_CDR(node)         (CONS_(node)->cdr)
> -
> -#define CTYPE_ANYCHAR      -1
> -#define NODE_IS_ANYCHAR(node) \
> -  (NODE_TYPE(node) == NODE_CTYPE && CTYPE_(node)->ctype ==
> CTYPE_ANYCHAR)
> -
> -#define CTYPE_OPTION(node, reg) \
> -  (NODE_IS_FIXED_OPTION(node) ? CTYPE_(node)->options : reg->options)
> -
> -
> -#define ANCR_ANYCHAR_INF_MASK  (ANCR_ANYCHAR_INF |
> ANCR_ANYCHAR_INF_ML)
> -#define ANCR_END_BUF_MASK      (ANCR_END_BUF |
> ANCR_SEMI_END_BUF)
> -
> -#define NODE_STRING_RAW                (1<<0) /* by backslashed number */
> -#define NODE_STRING_AMBIG              (1<<1)
> -#define NODE_STRING_GOOD_AMBIG         (1<<2)
> -#define NODE_STRING_DONT_GET_OPT_INFO  (1<<3)
> -
> -#define NODE_STRING_LEN(node)            (int )((node)->u.str.end - (node)-
> >u.str.s)
> -#define NODE_STRING_SET_RAW(node)        (node)->u.str.flag |=
> NODE_STRING_RAW
> -#define NODE_STRING_CLEAR_RAW(node)      (node)->u.str.flag &=
> ~NODE_STRING_RAW
> -#define NODE_STRING_SET_AMBIG(node)      (node)->u.str.flag |=
> NODE_STRING_AMBIG
> -#define NODE_STRING_SET_GOOD_AMBIG(node) (node)->u.str.flag |=
> NODE_STRING_GOOD_AMBIG
> -#define NODE_STRING_SET_DONT_GET_OPT_INFO(node) \
> -  (node)->u.str.flag |= NODE_STRING_DONT_GET_OPT_INFO
> -#define NODE_STRING_IS_RAW(node) \
> -  (((node)->u.str.flag & NODE_STRING_RAW) != 0)
> -#define NODE_STRING_IS_AMBIG(node) \
> -  (((node)->u.str.flag & NODE_STRING_AMBIG) != 0)
> -#define NODE_STRING_IS_GOOD_AMBIG(node) \
> -  (((node)->u.str.flag & NODE_STRING_GOOD_AMBIG) != 0)
> -#define NODE_STRING_IS_DONT_GET_OPT_INFO(node) \
> -  (((node)->u.str.flag & NODE_STRING_DONT_GET_OPT_INFO) != 0)
> -
> -#define BACKREFS_P(br) \
> -  (IS_NOT_NULL((br)->back_dynamic) ? (br)->back_dynamic : (br)-
> >back_static)
> -
> -/* node status bits */
> -#define NODE_ST_MIN_FIXED             (1<<0)
> -#define NODE_ST_MAX_FIXED             (1<<1)
> -#define NODE_ST_CLEN_FIXED            (1<<2)
> -#define NODE_ST_MARK1                 (1<<3)
> -#define NODE_ST_MARK2                 (1<<4)
> -#define NODE_ST_STRICT_REAL_REPEAT    (1<<5)
> -#define NODE_ST_RECURSION             (1<<6)
> -#define NODE_ST_CALLED                (1<<7)
> -#define NODE_ST_ADDR_FIXED            (1<<8)
> -#define NODE_ST_NAMED_GROUP           (1<<9)
> -#define NODE_ST_IN_REAL_REPEAT        (1<<10) /* STK_REPEAT is nested in
> stack. */
> -#define NODE_ST_IN_ZERO_REPEAT        (1<<11) /* (....){0} */
> -#define NODE_ST_IN_MULTI_ENTRY        (1<<12)
> -#define NODE_ST_NEST_LEVEL            (1<<13)
> -#define NODE_ST_BY_NUMBER             (1<<14) /* {n,m} */
> -#define NODE_ST_BY_NAME               (1<<15) /* backref by name */
> -#define NODE_ST_BACKREF               (1<<16)
> -#define NODE_ST_CHECKER               (1<<17)
> -#define NODE_ST_FIXED_OPTION          (1<<18)
> -#define NODE_ST_PROHIBIT_RECURSION    (1<<19)
> -#define NODE_ST_SUPER                 (1<<20)
> -
> -
> -#define NODE_STATUS(node)           (((Node* )node)->u.base.status)
> -#define NODE_STATUS_ADD(node,f)     (NODE_STATUS(node) |=
> (NODE_ST_ ## f))
> -#define NODE_STATUS_REMOVE(node,f)  (NODE_STATUS(node) &=
> ~(NODE_ST_ ## f))
> -
> -#define NODE_IS_BY_NUMBER(node)       ((NODE_STATUS(node) &
> NODE_ST_BY_NUMBER)      != 0)
> -#define NODE_IS_IN_REAL_REPEAT(node)  ((NODE_STATUS(node) &
> NODE_ST_IN_REAL_REPEAT) != 0)
> -#define NODE_IS_CALLED(node)          ((NODE_STATUS(node) &
> NODE_ST_CALLED)         != 0)
> -#define NODE_IS_IN_MULTI_ENTRY(node)  ((NODE_STATUS(node) &
> NODE_ST_IN_MULTI_ENTRY) != 0)
> -#define NODE_IS_RECURSION(node)       ((NODE_STATUS(node) &
> NODE_ST_RECURSION)      != 0)
> -#define NODE_IS_IN_ZERO_REPEAT(node)  ((NODE_STATUS(node) &
> NODE_ST_IN_ZERO_REPEAT) != 0)
> -#define NODE_IS_NAMED_GROUP(node)     ((NODE_STATUS(node) &
> NODE_ST_NAMED_GROUP)  != 0)
> -#define NODE_IS_ADDR_FIXED(node)      ((NODE_STATUS(node) &
> NODE_ST_ADDR_FIXED)   != 0)
> -#define NODE_IS_CLEN_FIXED(node)      ((NODE_STATUS(node) &
> NODE_ST_CLEN_FIXED)   != 0)
> -#define NODE_IS_MIN_FIXED(node)       ((NODE_STATUS(node) &
> NODE_ST_MIN_FIXED)    != 0)
> -#define NODE_IS_MAX_FIXED(node)       ((NODE_STATUS(node) &
> NODE_ST_MAX_FIXED)    != 0)
> -#define NODE_IS_MARK1(node)           ((NODE_STATUS(node) &
> NODE_ST_MARK1)        != 0)
> -#define NODE_IS_MARK2(node)           ((NODE_STATUS(node) &
> NODE_ST_MARK2)        != 0)
> -#define NODE_IS_NEST_LEVEL(node)      ((NODE_STATUS(node) &
> NODE_ST_NEST_LEVEL)   != 0)
> -#define NODE_IS_BY_NAME(node)         ((NODE_STATUS(node) &
> NODE_ST_BY_NAME)      != 0)
> -#define NODE_IS_BACKREF(node)         ((NODE_STATUS(node) &
> NODE_ST_BACKREF)      != 0)
> -#define NODE_IS_CHECKER(node)         ((NODE_STATUS(node) &
> NODE_ST_CHECKER)      != 0)
> -#define NODE_IS_FIXED_OPTION(node)    ((NODE_STATUS(node) &
> NODE_ST_FIXED_OPTION) != 0)
> -#define NODE_IS_SUPER(node)           ((NODE_STATUS(node) &
> NODE_ST_SUPER)        != 0)
> -#define NODE_IS_PROHIBIT_RECURSION(node) \
> -    ((NODE_STATUS(node) & NODE_ST_PROHIBIT_RECURSION) != 0)
> -#define NODE_IS_STRICT_REAL_REPEAT(node) \
> -    ((NODE_STATUS(node) & NODE_ST_STRICT_REAL_REPEAT) != 0)
> -
> -#define NODE_BODY(node)           ((node)->u.base.body)
> -#define NODE_QUANT_BODY(node)     ((node)->body)
> -#define NODE_BAG_BODY(node)       ((node)->body)
> -#define NODE_CALL_BODY(node)      ((node)->body)
> -#define NODE_ANCHOR_BODY(node)    ((node)->body)
> -
> -#define SCANENV_MEMENV_SIZE               8
> -#define SCANENV_MEMENV(senv) \
> - (IS_NOT_NULL((senv)->mem_env_dynamic) ? \
> -    (senv)->mem_env_dynamic : (senv)->mem_env_static)
> -
> -typedef struct {
> -  Node* node;
> -#if 0
> -  int in;
> -  int recursion;
> -#endif
> -} MemEnv;
> -
> -typedef struct {
> -  enum SaveType type;
> -} SaveItem;
> -
> -typedef struct {
> -  OnigOptionType   options;
> -  OnigCaseFoldType case_fold_flag;
> -  OnigEncoding     enc;
> -  OnigSyntaxType*  syntax;
> -  MemStatusType    capture_history;
> -  MemStatusType    bt_mem_start;
> -  MemStatusType    bt_mem_end;
> -  MemStatusType    backrefed_mem;
> -  UChar*           pattern;
> -  UChar*           pattern_end;
> -  UChar*           error;
> -  UChar*           error_end;
> -  regex_t*         reg;       /* for reg->names only */
> -  int              num_call;
> -#ifdef USE_CALL
> -  UnsetAddrList*   unset_addr_list;
> -  int              has_call_zero;
> -#endif
> -  int              num_mem;
> -  int              num_named;
> -  int              mem_alloc;
> -  MemEnv           mem_env_static[SCANENV_MEMENV_SIZE];
> -  MemEnv*          mem_env_dynamic;
> -  unsigned int     parse_depth;
> -
> -  int keep_num;
> -  int save_num;
> -  int save_alloc_num;
> -  SaveItem* saves;
> -} ScanEnv;
> -
> -
> -#define IS_SYNTAX_OP(syn, opm)    (((syn)->op  & (opm)) != 0)
> -#define IS_SYNTAX_OP2(syn, opm)   (((syn)->op2 & (opm)) != 0)
> -#define IS_SYNTAX_BV(syn, bvm)    (((syn)->behavior & (bvm)) != 0)
> -
> -typedef struct {
> -  int new_val;
> -} GroupNumRemap;
> -
> -extern int    onig_renumber_name_table P_((regex_t* reg,
> GroupNumRemap* map));
> -
> -extern int    onig_strncmp P_((const UChar* s1, const UChar* s2, int n));
> -extern void   onig_strcpy P_((UChar* dest, const UChar* src, const UChar*
> end));
> -extern void   onig_scan_env_set_error_string P_((ScanEnv* env, int ecode,
> UChar* arg, UChar* arg_end));
> -extern int    onig_scan_unsigned_number P_((UChar** src, const UChar*
> end, OnigEncoding enc));
> -extern void   onig_reduce_nested_quantifier P_((Node* pnode, Node*
> cnode));
> -extern void   onig_node_conv_to_str_node P_((Node* node, int raw));
> -extern int    onig_node_str_cat P_((Node* node, const UChar* s, const
> UChar* end));
> -extern int    onig_node_str_set P_((Node* node, const UChar* s, const
> UChar* end));
> -extern void   onig_node_free P_((Node* node));
> -extern Node*  onig_node_new_bag P_((enum BagType type));
> -extern Node*  onig_node_new_anchor P_((int type, int ascii_mode));
> -extern Node*  onig_node_new_str P_((const UChar* s, const UChar* end));
> -extern Node*  onig_node_new_list P_((Node* left, Node* right));
> -extern Node*  onig_node_list_add P_((Node* list, Node* x));
> -extern Node*  onig_node_new_alt P_((Node* left, Node* right));
> -extern void   onig_node_str_clear P_((Node* node));
> -extern int    onig_names_free P_((regex_t* reg));
> -extern int    onig_parse_tree P_((Node** root, const UChar* pattern, const
> UChar* end, regex_t* reg, ScanEnv* env));
> -extern int    onig_free_shared_cclass_table P_((void));
> -extern int    onig_is_code_in_cc P_((OnigEncoding enc, OnigCodePoint code,
> CClassNode* cc));
> -extern OnigLen onig_get_tiny_min_len(Node* node, unsigned int
> inhibit_node_types, int* invalid_node);
> -
> -#ifdef USE_CALLOUT
> -extern int onig_global_callout_names_free(void);
> -#endif
> -
> -#ifdef ONIG_DEBUG
> -extern int onig_print_names(FILE*, regex_t*);
> -#endif
> -
> -#endif /* REGPARSE_H */
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/st.h
> b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/st.h
> deleted file mode 100644
> index c42f379058dd..000000000000
> --- a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/st.h
> +++ /dev/null
> @@ -1,69 +0,0 @@
> -/* This is a public domain general purpose hash table package written by
> Peter Moore @ UCB. */
> -
> -/* @(#) st.h 5.1 89/12/14 */
> -
> -#ifndef ST_INCLUDED
> -
> -#define ST_INCLUDED
> -
> -#ifdef _WIN32
> -# include <windows.h>
> -typedef ULONG_PTR st_data_t;
> -#else
> -// typedef unsigned long st_data_t;
> -#endif
> -#define ST_DATA_T_DEFINED
> -typedef UINTN st_data_t;
> -
> -typedef struct st_table st_table;
> -
> -struct st_hash_type {
> -    int (*compare)();
> -    int (*hash)();
> -};
> -
> -struct st_table {
> -    struct st_hash_type *type;
> -    int num_bins;
> -    int num_entries;
> -    struct st_table_entry **bins;
> -};
> -
> -#define st_is_member(table,key) st_lookup(table,key,(st_data_t *)0)
> -
> -enum st_retval {ST_CONTINUE, ST_STOP, ST_DELETE, ST_CHECK};
> -
> -#ifndef _
> -# define _(args) args
> -#endif
> -#ifndef ANYARGS
> -# ifdef __cplusplus
> -#   define ANYARGS ...
> -# else
> -#   define ANYARGS
> -# endif
> -#endif
> -
> -st_table *st_init_table _((struct st_hash_type *));
> -st_table *st_init_table_with_size _((struct st_hash_type *, int));
> -st_table *st_init_numtable _((void));
> -st_table *st_init_numtable_with_size _((int));
> -st_table *st_init_strtable _((void));
> -st_table *st_init_strtable_with_size _((int));
> -int st_delete _((st_table *, st_data_t *, st_data_t *));
> -int st_delete_safe _((st_table *, st_data_t *, st_data_t *, st_data_t));
> -int st_insert _((st_table *, st_data_t, st_data_t));
> -int st_lookup _((st_table *, st_data_t, st_data_t *));
> -int st_foreach _((st_table *, int (*)(ANYARGS), st_data_t));
> -void st_add_direct _((st_table *, st_data_t, st_data_t));
> -void st_free_table _((st_table *));
> -void st_cleanup_safe _((st_table *, st_data_t));
> -st_table *st_copy _((st_table *));
> -
> -#define ST_NUMCMP	((int (*)()) 0)
> -#define ST_NUMHASH	((int (*)()) -2)
> -
> -#define st_numcmp	ST_NUMCMP
> -#define st_numhash	ST_NUMHASH
> -
> -#endif /* ST_INCLUDED */
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/Oniguruma
> UefiPort.h
> b/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h
> similarity index 62%
> rename from
> MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/OnigurumaUe
> fiPort.h
> rename to
> MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h
> index 299f414fd624..fe8e7cac019d 100644
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/Oniguruma
> UefiPort.h
> +++
> b/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h
> @@ -3,6 +3,7 @@
>    Module to rewrite stdlib references within Oniguruma
> 
>    (C) Copyright 2014-2015 Hewlett Packard Enterprise Development LP<BR>
> +  Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
> 
>    SPDX-License-Identifier: BSD-2-Clause-Patent
>  **/
> @@ -15,14 +16,35 @@
>  #include <Library/BaseLib.h>
>  #include <Library/DebugLib.h>
> 
> -#undef _WIN32
> +
> +#define ONIG_NO_STANDARD_C_HEADERS
> +#define ONIG_NO_PRINT
>  #define P_(args) args
> 
> -#define SIZEOF_LONG sizeof(long)
> -#define SIZEOF_INT  sizeof(int)
> -typedef UINTN size_t;
> +#define INT_MAX   0x7FFFFFFF
> +#define LONG_MAX  0x7FFFFFFF
> +#define UINT_MAX  0xFFFFFFFF
> +#define ULONG_MAX 0xFFFFFFFF
> +
> +
> +#define SIZEOF_LONG      4
> +#define SIZEOF_LONG_LONG 8
> +typedef UINTN       size_t;
> +typedef UINT32      uint32_t;
> +typedef INTN        intptr_t;
> +
> +#ifndef offsetof
> +#define offsetof OFFSET_OF
> +#endif
> +
> +#ifdef MDE_CPU_IA32
> +#define SIZEOF_VOIDP 4
> +#endif
> +
> +#ifdef MDE_CPU_X64
> +#define SIZEOF_VOIDP 8
> +#endif
> 
> -#define malloc(n) AllocatePool(n)
>  #define calloc(n,s) AllocateZeroPool((n)*(s))
> 
>  #define free(p)             \
> @@ -35,7 +57,6 @@ typedef UINTN size_t;
>      }                       \
>    } while (FALSE)
> 
> -#define realloc(OldPtr,NewSize,OldSize)
> ReallocatePool(OldSize,NewSize,OldPtr)
>  #define xmemmove(Dest,Src,Length) CopyMem(Dest,Src,Length)
>  #define xmemcpy(Dest,Src,Length) CopyMem(Dest,Src,Length)
>  #define xmemset(Buffer,Value,Length) SetMem(Buffer,Length,Value)
> @@ -44,6 +65,7 @@ typedef UINTN size_t;
>  #define va_list VA_LIST
>  #define va_arg(a,b) VA_ARG(a,b)
>  #define va_end(a) VA_END(a)
> +#define va_start VA_START
> 
>  #define FILE VOID
>  #define stdout NULL
> @@ -51,12 +73,19 @@ typedef UINTN size_t;
>  #define fputs(a,b)
>  #define vsnprintf (int)AsciiVSPrint
>  #define _vsnprintf vsnprintf
> +#define xsnprintf sprintf_s
> +#define xvsnprintf  vsnprintf
> +#define alloca malloc
> 
>  #define setlocale(a,b)
>  #define LC_ALL 0
> 
> +#define UCHAR_MAX 255
>  #define MAX_STRING_SIZE 0x1000
>  #define strlen_s(String,MaxSize)            AsciiStrnLenS (String, MaxSize)
> +#define xstrncpy(Dest, Src, MaxSize)        strcat_s(Dest,MaxSize,Src)
> +#define xstrcat(Dest,Src,MaxSize)           strcat(Dest,Src,MaxSize)
> +#define strcat(Dest,Src,MaxSize)            strcat_s(Dest,MaxSize,Src)
>  #define strcat_s(Dest,MaxSize,Src)          AsciiStrCatS (Dest, MaxSize, Src)
>  #define strncpy_s(Dest,MaxSize,Src,Length)  AsciiStrnCpyS (Dest, MaxSize,
> Src, Length)
>  #define strcmp                              OnigStrCmp
> @@ -64,6 +93,9 @@ typedef UINTN size_t;
>  int OnigStrCmp (char* Str1, char* Str2);
> 
>  int EFIAPI sprintf_s (char *str, size_t sizeOfBuffer, char const *fmt, ...);
> +int strlen(const char* str);
> +void* malloc(size_t size);
> +void* realloc(void *ptr, size_t size);
> 
>  #define exit(n) ASSERT(FALSE);
> 
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.
> h
> b/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.
> h
> index 7354dec333a6..3f046af363ea 100644
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.
> h
> +++
> b/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.
> h
> @@ -2,6 +2,7 @@
>    EFI_REGULAR_EXPRESSION_PROTOCOL Header File.
> 
>    (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
> +  Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
> 
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> @@ -10,7 +11,7 @@
>  #ifndef __REGULAR_EXPRESSIONDXE_H__
>  #define __REGULAR_EXPRESSIONDXE_H__
> 
> -#include "Oniguruma/oniguruma.h"
> +#include "oniguruma/src/oniguruma.h"
> 
>  #include <Uefi.h>
>  #include <Protocol/RegularExpressionProtocol.h>
> diff --git
> a/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.i
> nf
> b/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.i
> nf
> index dd33205fcebe..c19b7f94f6a0 100644
> ---
> a/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.i
> nf
> +++
> b/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.i
> nf
> @@ -1,7 +1,7 @@
>  ## @file
>  #  EFI_REGULAR_EXPRESSION_PROTOCOL Implementation
>  #
> -#  Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
> +#  Copyright (c) 2018-2020, Intel Corporation. All rights reserved.<BR>
>  #  (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
>  #
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent
> @@ -18,40 +18,40 @@ [Defines]
>  [Sources]
>    RegularExpressionDxe.c
>    RegularExpressionDxe.h
> -  Oniguruma/OnigurumaUefiPort.h
> -  Oniguruma/OnigurumaUefiPort.c
> -  Oniguruma/OnigurumaIntrinsics.c | MSFT
> +  OnigurumaUefiPort.h
> +  OnigurumaUefiPort.c
> +  OnigurumaIntrinsics.c | MSFT
> 
>  # Upstream Oniguruma code
> -  Oniguruma/onig_init.c
> -  Oniguruma/oniguruma.h
> -  Oniguruma/regcomp.c
> -  Oniguruma/regenc.c
> -  Oniguruma/regenc.h
> -  Oniguruma/regerror.c
> -  Oniguruma/regexec.c
> -  Oniguruma/oniggnu.h
> -  Oniguruma/reggnu.c
> -  Oniguruma/regint.h
> -  Oniguruma/regparse.c
> -  Oniguruma/regparse.h
> -  Oniguruma/regposerr.c
> -  Oniguruma/onigposix.h
> -  Oniguruma/regposix.c
> -  Oniguruma/regsyntax.c
> -  Oniguruma/regtrav.c
> -  Oniguruma/regversion.c
> -  Oniguruma/st.c
> -  Oniguruma/st.h
> +  oniguruma/src/onig_init.c
> +  oniguruma/src/oniguruma.h
> +  oniguruma/src/regcomp.c
> +  oniguruma/src/regenc.c
> +  oniguruma/src/regenc.h
> +  oniguruma/src/regerror.c
> +  oniguruma/src/regexec.c
> +  oniguruma/src/oniggnu.h
> +  oniguruma/src/reggnu.c
> +  oniguruma/src/regint.h
> +  oniguruma/src/regparse.c
> +  oniguruma/src/regparse.h
> +  oniguruma/src/regposerr.c
> +  oniguruma/src/onigposix.h
> +  oniguruma/src/regposix.c
> +  oniguruma/src/regsyntax.c
> +  oniguruma/src/regtrav.c
> +  oniguruma/src/regversion.c
> +  oniguruma/src/st.c
> +  oniguruma/src/st.h
> 
>  # Supported Character Encodings
> -  Oniguruma/ascii.c
> -  Oniguruma/unicode.c
> -  Oniguruma/unicode_fold1_key.c
> -  Oniguruma/unicode_fold2_key.c
> -  Oniguruma/unicode_fold3_key.c
> -  Oniguruma/unicode_unfold_key.c
> -  Oniguruma/utf16_le.c
> +  oniguruma/src/ascii.c
> +  oniguruma/src/unicode.c
> +  oniguruma/src/unicode_fold1_key.c
> +  oniguruma/src/unicode_fold2_key.c
> +  oniguruma/src/unicode_fold3_key.c
> +  oniguruma/src/unicode_unfold_key.c
> +  oniguruma/src/utf16_le.c
> 
>  [Packages]
>    MdePkg/MdePkg.dec
> @@ -74,7 +74,7 @@ [Protocols]
> 
>  [BuildOptions]
>    # Enable STDARG for variable arguments
> -  *_*_*_CC_FLAGS = -DHAVE_STDARG_H
> +  *_*_*_CC_FLAGS = -DHAVE_STDARG_H -U_WIN32 -
> DONIG_VARIADIC_FUNC_ATTR=EFIAPI
> 
>    # Override MSFT build option to remove /Oi and /GL
>    MSFT:*_*_*_CC_FLAGS          = /GL-
> diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/config.h
> b/MdeModulePkg/Universal/RegularExpressionDxe/config.h
> new file mode 100644
> index 000000000000..820040066caa
> --- /dev/null
> +++ b/MdeModulePkg/Universal/RegularExpressionDxe/config.h
> @@ -0,0 +1,9 @@
> +/** @file
> +  Include file to support building the third-party oniguruma.
> +
> +Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include <OnigurumaUefiPort.h>
> diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma
> b/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma
> new file mode 160000
> index 000000000000..abfc8ff81df4
> --- /dev/null
> +++ b/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma
> @@ -0,0 +1 @@
> +Subproject commit abfc8ff81df4067f309032467785e06975678f0d
> diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/stdarg.h
> b/MdeModulePkg/Universal/RegularExpressionDxe/stdarg.h
> new file mode 100644
> index 000000000000..820040066caa
> --- /dev/null
> +++ b/MdeModulePkg/Universal/RegularExpressionDxe/stdarg.h
> @@ -0,0 +1,9 @@
> +/** @file
> +  Include file to support building the third-party oniguruma.
> +
> +Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include <OnigurumaUefiPort.h>
> diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/stddef.h
> b/MdeModulePkg/Universal/RegularExpressionDxe/stddef.h
> new file mode 100644
> index 000000000000..820040066caa
> --- /dev/null
> +++ b/MdeModulePkg/Universal/RegularExpressionDxe/stddef.h
> @@ -0,0 +1,9 @@
> +/** @file
> +  Include file to support building the third-party oniguruma.
> +
> +Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include <OnigurumaUefiPort.h>
> diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/stdio.h
> b/MdeModulePkg/Universal/RegularExpressionDxe/stdio.h
> new file mode 100644
> index 000000000000..820040066caa
> --- /dev/null
> +++ b/MdeModulePkg/Universal/RegularExpressionDxe/stdio.h
> @@ -0,0 +1,9 @@
> +/** @file
> +  Include file to support building the third-party oniguruma.
> +
> +Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include <OnigurumaUefiPort.h>
> diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/stdlib.h
> b/MdeModulePkg/Universal/RegularExpressionDxe/stdlib.h
> new file mode 100644
> index 000000000000..820040066caa
> --- /dev/null
> +++ b/MdeModulePkg/Universal/RegularExpressionDxe/stdlib.h
> @@ -0,0 +1,9 @@
> +/** @file
> +  Include file to support building the third-party oniguruma.
> +
> +Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include <OnigurumaUefiPort.h>
> diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/string.h
> b/MdeModulePkg/Universal/RegularExpressionDxe/string.h
> new file mode 100644
> index 000000000000..820040066caa
> --- /dev/null
> +++ b/MdeModulePkg/Universal/RegularExpressionDxe/string.h
> @@ -0,0 +1,9 @@
> +/** @file
> +  Include file to support building the third-party oniguruma.
> +
> +Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include <OnigurumaUefiPort.h>
> --
> 2.18.0.windows.1
> 
> 
> 


           reply	other threads:[~2020-03-05  8:20 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <15F859395BFEB9ED.8662@groups.io>]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=C0706E73DB8C124D9B9C38AA364E5D5E06041F65@SHSMSX104.ccr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox