]> granicus.if.org Git - php/commitdiff
Update to Oniguruma 6.9.0
authorChristoph M. Becker <cmbecker69@gmx.de>
Mon, 3 Sep 2018 10:09:20 +0000 (12:09 +0200)
committerChristoph M. Becker <cmbecker69@gmx.de>
Mon, 3 Sep 2018 10:26:03 +0000 (12:26 +0200)
33 files changed:
NEWS
ext/mbstring/oniguruma/HISTORY
ext/mbstring/oniguruma/README.md
ext/mbstring/oniguruma/README_japanese
ext/mbstring/oniguruma/doc/CALLOUTS.API
ext/mbstring/oniguruma/doc/CALLOUTS.API.ja
ext/mbstring/oniguruma/doc/RE
ext/mbstring/oniguruma/doc/RE.ja
ext/mbstring/oniguruma/doc/UNICODE_PROPERTIES
ext/mbstring/oniguruma/index.html
ext/mbstring/oniguruma/index_ja.html
ext/mbstring/oniguruma/src/config.h.win32
ext/mbstring/oniguruma/src/config.h.win64
ext/mbstring/oniguruma/src/euc_jp.c
ext/mbstring/oniguruma/src/euc_jp_prop.c
ext/mbstring/oniguruma/src/oniguruma.h
ext/mbstring/oniguruma/src/regcomp.c
ext/mbstring/oniguruma/src/regenc.h
ext/mbstring/oniguruma/src/regexec.c
ext/mbstring/oniguruma/src/regint.h
ext/mbstring/oniguruma/src/regparse.c
ext/mbstring/oniguruma/src/regparse.h
ext/mbstring/oniguruma/src/sjis.c
ext/mbstring/oniguruma/src/sjis_prop.c
ext/mbstring/oniguruma/src/unicode.c
ext/mbstring/oniguruma/src/unicode_egcb_data.c
ext/mbstring/oniguruma/src/unicode_fold1_key.c
ext/mbstring/oniguruma/src/unicode_fold2_key.c
ext/mbstring/oniguruma/src/unicode_fold3_key.c
ext/mbstring/oniguruma/src/unicode_fold_data.c
ext/mbstring/oniguruma/src/unicode_property_data.c
ext/mbstring/oniguruma/src/unicode_property_data_posix.c
ext/mbstring/oniguruma/src/unicode_unfold_key.c

diff --git a/NEWS b/NEWS
index ae27343d7bdd7415dc74e75c67a2f50cd9839115..0db2aabc837bc8a69c85aa85e0b04bd408001f55 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,9 @@ PHP                                                                        NEWS
   . Fixed bug #76829 (Incorrect validation of domain on idn_to_utf8()
     function). (Anatol)
 
+- MBString:
+  . Updated to Oniguruma 6.9.0. (cmb)
+
 - POSIX:
   Fixed bug #75696 (posix_getgrnam fails to print details of group). (cmb)
 
index 23567cdb979c74c5c1561fcafbfe015ed9d16f04..c1d5b0a43b9f854910e45b2ea46903fc3caf39d6 100644 (file)
@@ -1,5 +1,15 @@
 History
 
+2018/09/03: Version 6.9.0
+
+2018/08/24: add Unicode Emoji properties
+2018/08/24: update Unicode version 11.0.0
+2018/08/21: support gperf 3.1 instead of 3.0.4
+2018/08/07: add ENABLE_POSIX_API switch into src/Makefile.windows
+2018/08/02: add make_win.bat and src/config.h.windows.in
+2018/06/25: add ENABLE_POSIX_API option into CMakeLists.txt
+2018/06/04: add .travis.yml (for TravisCI)
+
 2018/04/17: Version 6.8.2
 
 2018/04/13: add doc/CALLOUTS.API.ja
@@ -2027,7 +2037,7 @@ History
 2003/01/31: [impl] rename TTRANS() to TOLOWER().
 2003/01/30: [bug]  .c.o --> .c.obj in win32\Makefile.
 2003/01/30: [impl] add -DNOT_RUBY to Makefile.in.
-                   NOT_RUBY is refered in regint.h for escape double
+                   NOT_RUBY is referred in regint.h for escape double
                    including config.h.
 2003/01/30: [impl] when string hasn't case ambiguity, don't compile
                    to ignore case opcode.
index 34a17ba282b098c554ff3f99244ae656a3115d65..cf62b33e653a08256f4ca05a851d1e104ac0902b 100644 (file)
@@ -1,3 +1,5 @@
+[![Build Status](https://travis-ci.org/kkos/oniguruma.svg?branch=master)](https://travis-ci.org/kkos/oniguruma)
+
 Oniguruma
 =========
 
@@ -5,21 +7,9 @@ https://github.com/kkos/oniguruma
 
 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:
-  * Oniguruma (native)
-  * POSIX
-  * Grep
-  * GNU Regex
-  * Perl
-  * Java
-  * Ruby
-  * Emacs
+that traditionally exist in different languages.
+
+Character encoding can be specified per regular expression object.
 
 Supported character encodings:
 
@@ -34,6 +24,13 @@ Supported character encodings:
 * CP1251:  contributed by Byte
 
 
+New feature of version 6.9.0
+--------------------------
+
+* Update Unicode version 11.0.0
+* NEW: add Emoji properties
+
+
 New feature of version 6.8.2
 --------------------------
 
@@ -59,8 +56,6 @@ New feature of version 6.8.0
 * NEW: Builtin callouts  (*FAIL) (*MISMATCH) (*ERROR{n}) (*COUNT) (*MAX{n}) etc..
 * Examples of Callouts program: [callout.c](sample/callout.c), [count.c](sample/count.c), [echo.c](sample/echo.c)
 
-(* Callout function API is experimental level and isn't fixed definitely yet. Undocumented now)
-
 
 New feature of version 6.7.1
 --------------------------
@@ -170,7 +165,7 @@ Install
 
 ### Case 2: Windows 64/32bit platform (Visual Studio)
 
-   execute make_win64 or make_win32
+   Execute make_win.bat
 
       onig_s.lib:  static link library
       onig.dll:    dynamic link library
@@ -299,5 +294,4 @@ Source Files
 |utf32_le.c         |UTF-32LE encoding                                       |
 |unicode.c          |common codes of Unicode encoding                        |
 |unicode_fold_data.c|Unicode folding data                                    |
-|win32/Makefile     |Makefile for Win32 (VC++)                               |
-|win32/config.h     |config.h for Win32                                      |
+|windows/testc.c    |Test program for Windowns (VC++)                        |
index 28da31b4aaf1ff469bbad68dc266b6b5df7fae97..b1b249acd79f81b5ed10172c81b0d0b2ef403c70 100644 (file)
@@ -1,14 +1,14 @@
 README.ja  2017/08/25
 
-µ´¼Ö  ----   (C) K.Kosako <kkosako0@gmail.com>
+鬼車  ----   (C) K.Kosako <kkosako0@gmail.com>
 
 https://github.com/kkos/oniguruma
 
-µ´¼Ö¤ÏÀµµ¬É½¸½¥é¥¤¥Ö¥é¥ê¤Ç¤¢¤ë¡£
-¤³¤Î¥é¥¤¥Ö¥é¥ê¤ÎÆÃĹ¤Ï¡¢¤½¤ì¤¾¤ì¤ÎÀµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È¤´¤È¤Ë
-ʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄê¤Ç¤­¤ë¤³¤È¤Ç¤¢¤ë¡£
+鬼車は正規表現ライブラリである。
+このライブラリの特長は、それぞれの正規表現オブジェクトごとに
+文字エンコーディングを指定できることである。
 
-¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°:
+ã\82µã\83\9dã\83¼ã\83\88ã\81\97ã\81¦ã\81\84ã\82\8bæ\96\87å­\97ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°:
 
   ASCII, UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE,
   EUC-JP, EUC-TW, EUC-KR, EUC-CN,
@@ -17,30 +17,30 @@ https://github.com/kkos/oniguruma
   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: µ×ÊÝ·òÍλáÄó¶¡
-* CP1251:  Byte»áÄó¶¡
+* GB18030: 久保健洋氏提供
+* CP1251:  Byte氏提供
 ------------------------------------------------------------
 
-¥é¥¤¥»¥ó¥¹
+ã\83©ã\82¤ã\82»ã\83³ã\82¹
 
-  BSD¥é¥¤¥»¥ó¥¹
+  BSDã\83©ã\82¤ã\82»ã\83³ã\82¹
 
 
-¥¤¥ó¥¹¥È¡¼¥ë
+インストール
 
- ¥±¡¼¥¹£±: Unix¤ÈCygwin´Ä¶­
+ ケース1: UnixとCygwin環境
 
-   1. autoreconf -vfi   (* configure¥¹¥¯¥ê¥×¥È¤¬¤Ê¤¤¤È¤­¤À¤±)
+   1. autoreconf -vfi   (* configureスクリプトがないときだけ)
 
    2. ./configure
    3. make
    4. make install
 
-   ¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë
+   アンインストール
 
      make uninstall
 
-   ¹½À®³Îǧ
+   構成確認
 
      onig-config --cflags
      onig-config --libs
@@ -49,110 +49,110 @@ https://github.com/kkos/oniguruma
 
 
 
- ¥±¡¼¥¹£²: Windows 64/32bit (Visual Studio)´Ä¶­
+ ケース2: Windows 64/32bit (Visual Studio)環境
 
-   make_win64 ¤¢¤ë¤¤¤Ï make_win32 ¤ò¼Â¹Ô
+   make_win64 あるいは make_win32 を実行
 
       onig_s.lib:  static link library
       onig.dll:    dynamic link library
 
-   * Æ°ºî¥Æ¥¹¥È (ASCII/Shift_JIS)
+   * 動作テスト (ASCII/Shift_JIS)
       1. cd src
       2. copy ..\windows\testc.c .
       3. nmake -f Makefile.windows ctest
 
-   (Visual Studio Community 2015 ¤Çưºî³Îǧ)
+   (Visual Studio Community 2015 で動作確認)
 
 
 
-Àµµ¬É½¸½
+正規表現
 
-  doc/RE.ja¤ò»²¾È
+  doc/RE.jaを参照
 
 
-»ÈÍÑÊýË¡
+使用方法
 
-  »ÈÍѤ¹¤ë¥×¥í¥°¥é¥à¤Ç¡¢oniguruma.h¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë(Oniguruma API¤Î¾ì¹ç)¡£
-  Oniguruma API¤Ë¤Ä¤¤¤Æ¤Ï¡¢doc/API.ja¤ò»²¾È¡£
+  使用するプログラムで、oniguruma.hをインクルードする(Oniguruma APIの場合)。
+  Oniguruma APIについては、doc/API.jaを参照。
 
-  oniguruma.h¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿Ì¾UChar(== unsigned char)¤ò̵¸ú¤Ë¤·¤¿¤¤¾ì¹ç
-  ¤Ë¤Ï¡¢ONIG_ESCAPE_UCHAR_COLLISION¤òdefine¤·¤Æ¤«¤éoniguruma.h¤ò¥¤¥ó¥¯¥ë¡¼¥É
-  ¤¹¤ë¤³¤È¡£¤³¤Î¤È¤­¤Ë¤ÏUChar¤ÏÄêµÁ¤µ¤ì¤º¡¢OnigUChar¤È¤¤¤¦Ì¾Á°¤ÎÄêµÁ¤Î¤ß¤¬
-  Í­¸ú¤Ë¤Ê¤ë¡£
+  oniguruma.hで定義されている型名UChar(== unsigned char)を無効にしたい場合
+  には、ONIG_ESCAPE_UCHAR_COLLISIONをdefineしてからoniguruma.hをインクルード
+  すること。このときにはUCharは定義されず、OnigUCharという名前の定義のみが
+  有効になる。
 
-  oniguruma.h¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿Ì¾regex_t¤ò̵¸ú¤Ë¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢
-  ONIG_ESCAPE_REGEX_T_COLLISION¤òdefine¤·¤Æ¤«¤éoniguruma.h¤ò¥¤¥ó¥¯¥ë¡¼¥É
-  ¤¹¤ë¤³¤È¡£¤³¤Î¤È¤­¤Ë¤Ïregex_t¤ÏÄêµÁ¤µ¤ì¤º¡¢OnigRegexType, OnigRegex¤È¤¤¤¦
-  Ì¾Á°¤ÎÄêµÁ¤Î¤ß¤¬Í­¸ú¤Ë¤Ê¤ë¡£
+  oniguruma.hで定義されている型名regex_tを無効にしたい場合には、
+  ONIG_ESCAPE_REGEX_T_COLLISIONをdefineしてからoniguruma.hをインクルード
+  すること。このときにはregex_tは定義されず、OnigRegexType, OnigRegexという
+  名前の定義のみが有効になる。
 
-  Unix/Cygwin¾å¤Ç¥³¥ó¥Ñ¥¤¥ë¡¢¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤ÎÎã¡§
-  (prefix¤¬/usr/local¤Î¤È¤­)
+  Unix/Cygwin上でコンパイル、リンクする場合の例:
+  (prefixが/usr/localのとき)
   cc sample.c -L/usr/local/lib -lonig
 
-  GNU libtool¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Î¤Ç¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤¬¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò¥µ¥Ý¡¼¥È¤·¤Æ
-  ¤¤¤ì¤Ð¡¢»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
-  ÀÅۥ饤¥Ö¥é¥ê¤È¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¤É¤Á¤é¤ò»ÈÍѤ¹¤ë¤«¤ò»ØÄꤹ¤ëÊýË¡¡¢¼Â¹Ô»þÅÀ¤Ç¤Î
-  ´Ä¶­ÀßÄêÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼«Ê¬¤ÇÄ´¤Ù¤Æ²¼¤µ¤¤¡£
-
-
-  Win32¤Ç¥¹¥¿¥Æ¥£¥Ã¥¯¥ê¥ó¥¯¥é¥¤¥Ö¥é¥ê(onig_s.lib)¤ò¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢
-  ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¤Ë -DONIG_EXTERN=extern ¤ò¥³¥ó¥Ñ¥¤¥ë°ú¿ô¤ËÄɲ乤뤳¤È¡£
-
-
-»ÈÍÑÎã¥×¥í¥°¥é¥à
-
-  sample/simple.c    ºÇ¾®Îã (Oniguruma API)
-  sample/names.c     Ì¾Á°ÉÕ¤­¥°¥ë¡¼¥×¥³¡¼¥ë¥Ð¥Ã¥¯»ÈÍÑÎã
-  sample/encode.c    ´ö¤Ä¤«¤Îʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°»ÈÍÑÎã
-  sample/listcap.c   Êá³ÍÍúÎòµ¡Ç½¤Î»ÈÍÑÎã
-  sample/posix.c     POSIX API»ÈÍÑÎã
-  sample/sql.c       ²ÄÊѥ᥿ʸ»úµ¡Ç½»ÈÍÑÎã (SQL-like ¥Ñ¥¿¡¼¥ó)
-  sample/user_property.c ¥æ¡¼¥¶ÄêµÁUnicode¥×¥í¥Ñ¥Æ¥£¤Î»ÈÍÑÎã
-
-
-¥Æ¥¹¥È¥×¥í¥°¥é¥à
-  sample/syntax.c    Perl¡¢Java¡¢ASISʸˡ¤Î¥Æ¥¹¥È
-  sample/crnl.c      --enable-crnl-as-line-terminator ¥Æ¥¹¥È
-
-
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë
-
-  oniguruma.h        µ´¼ÖAPI¥Ø¥Ã¥À (¸ø³«)
-  onig-config.in     onig-config¥×¥í¥°¥é¥à ¥Æ¥ó¥×¥ì¡¼¥È
-
-  regenc.h           Ê¸»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°ÏÈÁȤߥإåÀ
-  regint.h           ÆâÉôÀë¸À
-  regparse.h         regparse.c¤Èregcomp.c¤Î¤¿¤á¤ÎÆâÉôÀë¸À
-  regcomp.c          ¥³¥ó¥Ñ¥¤¥ë¡¢ºÇŬ²½´Ø¿ô
-  regenc.c           Ê¸»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°ÏÈÁȤß
-  regerror.c         ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸´Ø¿ô
-  regext.c           ³ÈÄ¥API´Ø¿ô
-  regexec.c          ¸¡º÷¡¢¾È¹ç´Ø¿ô
-  regparse.c         Àµµ¬É½¸½¥Ñ¥¿¡¼¥ó²òÀÏ´Ø¿ô
-  regsyntax.c        Àµµ¬É½¸½¥Ñ¥¿¡¼¥óʸˡ´Ø¿ô¡¢Áȹþ¤ßʸˡÄêµÁ
-  regtrav.c          Êá³ÍÍúÎòÌÚ½ä²ó´Ø¿ô
-  regversion.c       ÈǾðÊó´Ø¿ô
-  st.h               ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë´Ø¿ôÀë¸À
-  st.c               ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë´Ø¿ô
-
-  oniggnu.h          GNU regex API¥Ø¥Ã¥À (¸ø³«)
-  reggnu.c           GNU regex API´Ø¿ô
-
-  onigposix.h        POSIX API¥Ø¥Ã¥À (¸ø³«)
-  regposerr.c        POSIX API¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸´Ø¿ô
-  regposix.c         POSIX API´Ø¿ô
-
-  mktable.c          Ê¸»ú¥¿¥¤¥×¥Æ¡¼¥Ö¥ëÀ¸À®¥×¥í¥°¥é¥à
-  ascii.c            ASCII ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
-  euc_jp.c           EUC-JP ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
-  euc_tw.c           EUC-TW ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
-  euc_kr.c           EUC-KR, EUC-CN ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
-  sjis.c             Shift_JIS ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
-  big5.c             Big5 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
-  gb18030.c          GB18030 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
-  koi8.c             KOI8 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
-  koi8_r.c           KOI8-R ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
-  cp1251.c           CP1251 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
+  GNU libtoolを使用しているので、プラットフォームが共有ライブラリをサポートして
+  いれば、使用できるようになっている。
+  静的ライブラリと共有ライブラリのどちらを使用するかを指定する方法、実行時点での
+  環境設定方法については、自分で調べて下さい。
+
+
+  Win32でスタティックリンクライブラリ(onig_s.lib)をリンクする場合には、
+  コンパイルするときに -DONIG_EXTERN=extern をコンパイル引数に追加すること。
+
+
+使用例プログラム
+
+  sample/simple.c    最小例 (Oniguruma API)
+  sample/names.c     名前付きグループコールバック使用例
+  sample/encode.c    幾つかの文字エンコーディング使用例
+  sample/listcap.c   捕獲履歴機能の使用例
+  sample/posix.c     POSIX API使用例
+  sample/sql.c       可変メタ文字機能使用例 (SQL-like パターン)
+  sample/user_property.c ユーザ定義Unicodeプロパティの使用例
+
+
+テストプログラム
+  sample/syntax.c    Perl、Java、ASIS文法のテスト
+  sample/crnl.c      --enable-crnl-as-line-terminator テスト
+
+
+ソースファイル
+
+  oniguruma.h        鬼車APIヘッダ (公開)
+  onig-config.in     onig-configプログラム テンプレート
+
+  regenc.h           文字エンコーディング枠組みヘッダ
+  regint.h           内部宣言
+  regparse.h         regparse.cとregcomp.cのための内部宣言
+  regcomp.c          コンパイル、最適化関数
+  regenc.c           文字エンコーディング枠組み
+  regerror.c         エラーメッセージ関数
+  regext.c           拡張API関数
+  regexec.c          検索、照合関数
+  regparse.c         正規表現パターン解析関数
+  regsyntax.c        正規表現パターン文法関数、組込み文法定義
+  regtrav.c          捕獲履歴木巡回関数
+  regversion.c       版情報関数
+  st.h               ハッシュテーブル関数宣言
+  st.c               ハッシュテーブル関数
+
+  oniggnu.h          GNU regex APIヘッダ (公開)
+  reggnu.c           GNU regex API関数
+
+  onigposix.h        POSIX APIヘッダ (公開)
+  regposerr.c        POSIX APIエラーメッセージ関数
+  regposix.c         POSIX API関数
+
+  mktable.c          文字タイプテーブル生成プログラム
+  ascii.c            ASCII ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°
+  euc_jp.c           EUC-JP ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°
+  euc_tw.c           EUC-TW ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°
+  euc_kr.c           EUC-KR, EUC-CN ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°
+  sjis.c             Shift_JIS ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°
+  big5.c             Big5 ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°
+  gb18030.c          GB18030 ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°
+  koi8.c             KOI8 ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°
+  koi8_r.c           KOI8-R ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°
+  cp1251.c           CP1251 ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°
   iso8859_1.c        ISO-8859-1  (Latin-1)
   iso8859_2.c        ISO-8859-2  (Latin-2)
   iso8859_3.c        ISO-8859-3  (Latin-3)
@@ -161,23 +161,23 @@ https://github.com/kkos/oniguruma
   iso8859_6.c        ISO-8859-6  (Arabic)
   iso8859_7.c        ISO-8859-7  (Greek)
   iso8859_8.c        ISO-8859-8  (Hebrew)
-  iso8859_9.c        ISO-8859-9  (Latin-5 ¤Þ¤¿¤Ï Turkish)
-  iso8859_10.c       ISO-8859-10 (Latin-6 ¤Þ¤¿¤Ï Nordic)
+  iso8859_9.c        ISO-8859-9  (Latin-5 または Turkish)
+  iso8859_10.c       ISO-8859-10 (Latin-6 または Nordic)
   iso8859_11.c       ISO-8859-11 (Thai)
-  iso8859_13.c       ISO-8859-13 (Latin-7 ¤Þ¤¿¤Ï Baltic Rim)
-  iso8859_14.c       ISO-8859-14 (Latin-8 ¤Þ¤¿¤Ï Celtic)
-  iso8859_15.c       ISO-8859-15 (Latin-9 ¤Þ¤¿¤Ï West European with Euro)
+  iso8859_13.c       ISO-8859-13 (Latin-7 または Baltic Rim)
+  iso8859_14.c       ISO-8859-14 (Latin-8 または Celtic)
+  iso8859_15.c       ISO-8859-15 (Latin-9 または West European with Euro)
   iso8859_16.c       ISO-8859-16
-                     (Latin-10 ¤Þ¤¿¤Ï South-Eastern European with Euro)
-  utf8.c             UTF-8    ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
-  utf16_be.c         UTF-16BE ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
-  utf16_le.c         UTF-16LE ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
-  utf32_be.c         UTF-32BE ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
-  utf32_le.c         UTF-32LE ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
-  unicode.c          Unicode¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î¶¦Ä̽èÍý
-
-  win32/Makefile     Win32ÍÑ Makefile (for VC++)
-  win32/config.h     Win32ÍÑ config.h
+                     (Latin-10 または South-Eastern European with Euro)
+  utf8.c             UTF-8    ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°
+  utf16_be.c         UTF-16BE ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°
+  utf16_le.c         UTF-16LE ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°
+  utf32_be.c         UTF-32BE ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°
+  utf32_le.c         UTF-32LE ã\82¨ã\83³ã\82³ã\83¼ã\83\87ã\82£ã\83³ã\82°
+  unicode.c          Unicodeエンコーディングの共通処理
+
+  win32/Makefile     Win32 Makefile (for VC++)
+  win32/config.h     Win32 config.h
 
 
 and I'm thankful to Akinori MUSHA.
index 6003532c581d7ccb90e9e9f0e9249815395f3bfe..057a054d87dbd56aa750767f9b978553d417bf47 100644 (file)
@@ -1,4 +1,4 @@
-Callouts API  Version 6.8.2 2018/04/14
+Callouts API  Version 6.8.2 2018/06/08
 
 #include <oniguruma.h>
 
@@ -24,9 +24,9 @@ Callouts API  Version 6.8.2 2018/04/14
 
   * Callout function return value (int)
 
-    ONIG_CALLOUT_FAIL(1):     fail
-    ONIG_CALLOUT_SUCCESS(0):  success
-    less than -1:             error code (terminate search/match)
+    ONIG_CALLOUT_FAIL (== 1):     fail
+    ONIG_CALLOUT_SUCCESS (== 0):  success
+    less than -1:                 error code (terminate search/match)
 
     ONIG_CALLOUT_FAIL/SUCCESS values are ignored in retractions,
     because retraction is a part of recovery process after failure.
@@ -196,7 +196,7 @@ Callouts API  Version 6.8.2 2018/04/14
 
 # const OnigUChar* onig_get_string_by_callout_args(OnigCalloutArgs* args)
 
-  Returns the subject string adress.
+  Returns the subject string address.
   This is the second argument(str) of onig_search().
 
 
index 49d068902bf563ba9f531ba4588b20d2f408128a..c56555ad12e002dd7ed6937645cc0b6ffd94e75a 100644 (file)
@@ -1,4 +1,4 @@
-Callouts API  Version 6.8.2 2018/04/13
+Callouts API  Version 6.8.2 2018/06/08
 
 #include <oniguruma.h>
 
@@ -24,9 +24,9 @@ Callouts API  Version 6.8.2 2018/04/13
 
   * 呼び出し関数の戻り値 (int)
 
-    ONIG_CALLOUT_FAIL(1):     失敗
-    ONIG_CALLOUT_SUCCESS(0):  成功
-    -1未満:                   エラーコード (検索/照合の終了)
+    ONIG_CALLOUT_FAIL (== 1):     失敗
+    ONIG_CALLOUT_SUCCESS (== 0):  成功
+    -1未満:                       エラーコード (検索/照合の終了)
 
     ONIG_CALLOUT_FAIL/SUCCESSは、後退中の呼び出しでは無視される。
     後退は失敗の回復過程なので。
@@ -44,12 +44,12 @@ Callouts API  Version 6.8.2 2018/04/13
 
 # OnigCalloutFunc onig_get_progress_callout(void)
 
-  内容の呼び出し関数(前進)を返す
+  内容の呼び出し関数(前進)を返す
 
 
 # int onig_set_progress_callout(OnigCalloutFunc f)
 
-  内容の呼び出し関数(前進)をセットする。
+  内容の呼び出し関数(前進)をセットする。
   この値はonig_initialize_match_param()の中でデフォルトの呼び出し関数として
   セットされる。
 
@@ -58,12 +58,12 @@ Callouts API  Version 6.8.2 2018/04/13
 
 # OnigCalloutFunc onig_get_retraction_callout(void)
 
-  内容の呼び出し関数(後退)を返す
+  内容の呼び出し関数(後退)を返す
 
 
 # int onig_set_retraction_callout(OnigCalloutFunc f)
 
-  内容の呼び出し関数(後退)をセットする。
+  内容の呼び出し関数(後退)をセットする。
   この値はonig_initialize_match_param()の中でデフォルトの呼び出し関数として
   セットされる。
 
@@ -72,7 +72,7 @@ Callouts API  Version 6.8.2 2018/04/13
 
 # int onig_set_progress_callout_of_match_param(OnigMatchParam* mp, OnigCalloutFunc f)
 
-  内容の呼び出し関数(前進)をセットする。
+  内容の呼び出し関数(前進)をセットする。
 
   引数
   1 mp: match-paramアドレス
@@ -83,7 +83,7 @@ Callouts API  Version 6.8.2 2018/04/13
 
 # int onig_set_retraction_callout_of_match_param(OnigMatchParam* mp, OnigCalloutFunc f)
 
-  内容の呼び出し関数(後退)をセットする。
+  内容の呼び出し関数(後退)をセットする。
 
   引数
   1 mp: match-paramアドレス
index e75daadad5bef2fe5cee6f28623507e8c8460b42..963d0092f4bb1c99035be4d5a9b02712c09309fc 100644 (file)
@@ -1,4 +1,4 @@
-Oniguruma Regular Expressions Version 6.8.0    2018/04/13
+Oniguruma Regular Expressions Version 6.8.0    2018/07/26
 
 syntax: ONIG_SYNTAX_ONIGURUMA (default)
 
@@ -221,7 +221,8 @@ syntax: ONIG_SYNTAX_ONIGURUMA (default)
 
   (?#...)            comment
 
-  (?imxWDSP-imxWDSP)         option on/off
+  (?imxWDSP-imxWDSP:subexp)  option on/off for subexp
+
                                i: ignore case
                                m: multi-line (dot (.) also matches newline)
                                x: extended form
@@ -233,7 +234,11 @@ syntax: ONIG_SYNTAX_ONIGURUMA (default)
                                   (alnum, alpha, blank, cntrl, digit, graph,
                                    lower, print, punct, space, upper, xdigit, word)
 
-  (?imxWDSP-imxWDSP:subexp)  option on/off for subexp
+  (?imxWDSP-imxWDSP)  isolated option
+
+                      * It makes a group to the next ')' or end of the pattern.
+                        /ab(?i)c|def|gh/ == /ab(?i:c|def|gh)/
+
 
   (?:subexp)         non-capturing group
   (subexp)           capturing group
@@ -475,7 +480,6 @@ A-3. Missing features compared with perl 5.8.0
 
    + \N{name}
    + \l,\u,\L,\U,\C
-   + (?{code})
    + (??{code})
 
    * \Q...\E
index 8cc0990f3d0a0a56f5aaea8e0b73a93933fad881..a83bfb450c7f71bdf48c5745fd28434cece275f9 100644 (file)
@@ -1,4 +1,4 @@
-鬼車 正規表現 Version 6.8.0    2018/04/13
+鬼車 正規表現 Version 6.8.0    2018/07/26
 
 使用文法: ONIG_SYNTAX_ONIGURUMA (既定値)
 
 7. 拡張式集合
 
   (?#...)           注釈
-  (?imxWDSP-imxWDSP)      孤立オプション
+
+  (?imxWDSP-imxWDSP:式)   式オプション
+
                             i: 大文字小文字照合
                             m: 複数行
                             x: 拡張形式
                                (alnum, alpha, blank, cntrl, digit, graph,
                                 lower, print, punct, space, upper, xdigit, word)
 
-  (?imxWDSP-imxWDSP:式)   式オプション
+  (?imxWDSP-imxWDSP)  孤立オプション
+
+                      * これは次の')'またはパターンの終わりまでのグループを形成する
+                        /ab(?i)c|def|gh/ == /ab(?i:c|def|gh)/
+
 
   (式)              捕獲式集合
   (?:式)            非捕獲式集合
 
    + \N{name}
    + \l,\u,\L,\U,\C
-   + (?{code})
    + (??{code})
 
    * \Q...\E
index 8521f0c72c65ac0546188799dbca9fd0cbb3c06b..1f961ebda1b18b978981a2b9e6414c87281fa32f 100644 (file)
-Unicode Properties (from Unicode Version: 8.0.0)
+Unicode Properties (from Unicode Version: 11.0.0)
 
  15: ASCII_Hex_Digit
- 16: Ahom
- 17: Alphabetic
- 18: Anatolian_Hieroglyphs
- 19: Any
- 20: Arabic
- 21: Armenian
- 22: Assigned
- 23: Avestan
- 24: Balinese
- 25: Bamum
- 26: Bassa_Vah
- 27: Batak
- 28: Bengali
- 29: Bidi_Control
- 30: Bopomofo
- 31: Brahmi
- 32: Braille
- 33: Buginese
- 34: Buhid
- 35: C
- 36: Canadian_Aboriginal
- 37: Carian
- 38: Case_Ignorable
- 39: Cased
- 40: Caucasian_Albanian
- 41: Cc
- 42: Cf
- 43: Chakma
- 44: Cham
- 45: Changes_When_Casefolded
- 46: Changes_When_Casemapped
- 47: Changes_When_Lowercased
- 48: Changes_When_Titlecased
- 49: Changes_When_Uppercased
- 50: Cherokee
- 51: Cn
- 52: Co
- 53: Common
- 54: Coptic
- 55: Cs
- 56: Cuneiform
- 57: Cypriot
- 58: Cyrillic
- 59: Dash
- 60: Default_Ignorable_Code_Point
- 61: Deprecated
- 62: Deseret
- 63: Devanagari
- 64: Diacritic
- 65: Duployan
- 66: Egyptian_Hieroglyphs
- 67: Elbasan
- 68: Ethiopic
- 69: Extender
- 70: Georgian
- 71: Glagolitic
- 72: Gothic
- 73: Grantha
- 74: Grapheme_Base
- 75: Grapheme_Extend
- 76: Grapheme_Link
- 77: Greek
- 78: Gujarati
- 79: Gurmukhi
- 80: Han
- 81: Hangul
- 82: Hanunoo
- 83: Hatran
- 84: Hebrew
- 85: Hex_Digit
- 86: Hiragana
- 87: Hyphen
- 88: IDS_Binary_Operator
- 89: IDS_Trinary_Operator
- 90: ID_Continue
- 91: ID_Start
- 92: Ideographic
- 93: Imperial_Aramaic
- 94: Inherited
- 95: Inscriptional_Pahlavi
- 96: Inscriptional_Parthian
- 97: Javanese
- 98: Join_Control
- 99: Kaithi
-100: Kannada
-101: Katakana
-102: Kayah_Li
-103: Kharoshthi
-104: Khmer
-105: Khojki
-106: Khudawadi
-107: L
-108: LC
-109: Lao
-110: Latin
-111: Lepcha
-112: Limbu
-113: Linear_A
-114: Linear_B
-115: Lisu
-116: Ll
-117: Lm
-118: Lo
-119: Logical_Order_Exception
-120: Lowercase
-121: Lt
-122: Lu
-123: Lycian
-124: Lydian
-125: M
-126: Mahajani
-127: Malayalam
-128: Mandaic
-129: Manichaean
-130: Math
-131: Mc
-132: Me
-133: Meetei_Mayek
-134: Mende_Kikakui
-135: Meroitic_Cursive
-136: Meroitic_Hieroglyphs
-137: Miao
-138: Mn
-139: Modi
-140: Mongolian
-141: Mro
-142: Multani
-143: Myanmar
-144: N
-145: Nabataean
-146: Nd
-147: New_Tai_Lue
-148: Nko
-149: Nl
-150: No
-151: Noncharacter_Code_Point
-152: Ogham
-153: Ol_Chiki
-154: Old_Hungarian
-155: Old_Italic
-156: Old_North_Arabian
-157: Old_Permic
-158: Old_Persian
-159: Old_South_Arabian
-160: Old_Turkic
-161: Oriya
-162: Osmanya
-163: Other_Alphabetic
-164: Other_Default_Ignorable_Code_Point
-165: Other_Grapheme_Extend
-166: Other_ID_Continue
-167: Other_ID_Start
-168: Other_Lowercase
-169: Other_Math
-170: Other_Uppercase
-171: P
-172: Pahawh_Hmong
-173: Palmyrene
-174: Pattern_Syntax
-175: Pattern_White_Space
-176: Pau_Cin_Hau
-177: Pc
-178: Pd
-179: Pe
-180: Pf
-181: Phags_Pa
-182: Phoenician
-183: Pi
-184: Po
-185: Ps
-186: Psalter_Pahlavi
-187: Quotation_Mark
-188: Radical
-189: Rejang
-190: Runic
-191: S
-192: STerm
-193: Samaritan
-194: Saurashtra
-195: Sc
-196: Sharada
-197: Shavian
-198: Siddham
-199: SignWriting
-200: Sinhala
-201: Sk
-202: Sm
-203: So
-204: Soft_Dotted
-205: Sora_Sompeng
-206: Sundanese
-207: Syloti_Nagri
-208: Syriac
-209: Tagalog
-210: Tagbanwa
-211: Tai_Le
-212: Tai_Tham
-213: Tai_Viet
-214: Takri
-215: Tamil
-216: Telugu
-217: Terminal_Punctuation
-218: Thaana
-219: Thai
-220: Tibetan
-221: Tifinagh
-222: Tirhuta
-223: Ugaritic
-224: Unified_Ideograph
-225: Unknown
-226: Uppercase
-227: Vai
-228: Variation_Selector
-229: Warang_Citi
-230: White_Space
-231: XID_Continue
-232: XID_Start
-233: Yi
-234: Z
-235: Zl
-236: Zp
-237: Zs
- 40: Aghb
+ 16: Adlam
+ 17: Ahom
+ 18: Alphabetic
+ 19: Anatolian_Hieroglyphs
+ 20: Any
+ 21: Arabic
+ 22: Armenian
+ 23: Assigned
+ 24: Avestan
+ 25: Balinese
+ 26: Bamum
+ 27: Bassa_Vah
+ 28: Batak
+ 29: Bengali
+ 30: Bhaiksuki
+ 31: Bidi_Control
+ 32: Bopomofo
+ 33: Brahmi
+ 34: Braille
+ 35: Buginese
+ 36: Buhid
+ 37: C
+ 38: Canadian_Aboriginal
+ 39: Carian
+ 40: Case_Ignorable
+ 41: Cased
+ 42: Caucasian_Albanian
+ 43: Cc
+ 44: Cf
+ 45: Chakma
+ 46: Cham
+ 47: Changes_When_Casefolded
+ 48: Changes_When_Casemapped
+ 49: Changes_When_Lowercased
+ 50: Changes_When_Titlecased
+ 51: Changes_When_Uppercased
+ 52: Cherokee
+ 53: Cn
+ 54: Co
+ 55: Common
+ 56: Coptic
+ 57: Cs
+ 58: Cuneiform
+ 59: Cypriot
+ 60: Cyrillic
+ 61: Dash
+ 62: Default_Ignorable_Code_Point
+ 63: Deprecated
+ 64: Deseret
+ 65: Devanagari
+ 66: Diacritic
+ 67: Dogra
+ 68: Duployan
+ 69: Egyptian_Hieroglyphs
+ 70: Elbasan
+ 71: Emoji
+ 72: Emoji_Component
+ 73: Emoji_Modifier
+ 74: Emoji_Modifier_Base
+ 75: Emoji_Presentation
+ 76: Ethiopic
+ 77: Extended_Pictographic
+ 78: Extender
+ 79: Georgian
+ 80: Glagolitic
+ 81: Gothic
+ 82: Grantha
+ 83: Grapheme_Base
+ 84: Grapheme_Extend
+ 85: Grapheme_Link
+ 86: Greek
+ 87: Gujarati
+ 88: Gunjala_Gondi
+ 89: Gurmukhi
+ 90: Han
+ 91: Hangul
+ 92: Hanifi_Rohingya
+ 93: Hanunoo
+ 94: Hatran
+ 95: Hebrew
+ 96: Hex_Digit
+ 97: Hiragana
+ 98: Hyphen
+ 99: IDS_Binary_Operator
+100: IDS_Trinary_Operator
+101: ID_Continue
+102: ID_Start
+103: Ideographic
+104: Imperial_Aramaic
+105: Inherited
+106: Inscriptional_Pahlavi
+107: Inscriptional_Parthian
+108: Javanese
+109: Join_Control
+110: Kaithi
+111: Kannada
+112: Katakana
+113: Kayah_Li
+114: Kharoshthi
+115: Khmer
+116: Khojki
+117: Khudawadi
+118: L
+119: LC
+120: Lao
+121: Latin
+122: Lepcha
+123: Limbu
+124: Linear_A
+125: Linear_B
+126: Lisu
+127: Ll
+128: Lm
+129: Lo
+130: Logical_Order_Exception
+131: Lowercase
+132: Lt
+133: Lu
+134: Lycian
+135: Lydian
+136: M
+137: Mahajani
+138: Makasar
+139: Malayalam
+140: Mandaic
+141: Manichaean
+142: Marchen
+143: Masaram_Gondi
+144: Math
+145: Mc
+146: Me
+147: Medefaidrin
+148: Meetei_Mayek
+149: Mende_Kikakui
+150: Meroitic_Cursive
+151: Meroitic_Hieroglyphs
+152: Miao
+153: Mn
+154: Modi
+155: Mongolian
+156: Mro
+157: Multani
+158: Myanmar
+159: N
+160: Nabataean
+161: Nd
+162: New_Tai_Lue
+163: Newa
+164: Nko
+165: Nl
+166: No
+167: Noncharacter_Code_Point
+168: Nushu
+169: Ogham
+170: Ol_Chiki
+171: Old_Hungarian
+172: Old_Italic
+173: Old_North_Arabian
+174: Old_Permic
+175: Old_Persian
+176: Old_Sogdian
+177: Old_South_Arabian
+178: Old_Turkic
+179: Oriya
+180: Osage
+181: Osmanya
+182: Other_Alphabetic
+183: Other_Default_Ignorable_Code_Point
+184: Other_Grapheme_Extend
+185: Other_ID_Continue
+186: Other_ID_Start
+187: Other_Lowercase
+188: Other_Math
+189: Other_Uppercase
+190: P
+191: Pahawh_Hmong
+192: Palmyrene
+193: Pattern_Syntax
+194: Pattern_White_Space
+195: Pau_Cin_Hau
+196: Pc
+197: Pd
+198: Pe
+199: Pf
+200: Phags_Pa
+201: Phoenician
+202: Pi
+203: Po
+204: Prepended_Concatenation_Mark
+205: Ps
+206: Psalter_Pahlavi
+207: Quotation_Mark
+208: Radical
+209: Regional_Indicator
+210: Rejang
+211: Runic
+212: S
+213: Samaritan
+214: Saurashtra
+215: Sc
+216: Sentence_Terminal
+217: Sharada
+218: Shavian
+219: Siddham
+220: SignWriting
+221: Sinhala
+222: Sk
+223: Sm
+224: So
+225: Soft_Dotted
+226: Sogdian
+227: Sora_Sompeng
+228: Soyombo
+229: Sundanese
+230: Syloti_Nagri
+231: Syriac
+232: Tagalog
+233: Tagbanwa
+234: Tai_Le
+235: Tai_Tham
+236: Tai_Viet
+237: Takri
+238: Tamil
+239: Tangut
+240: Telugu
+241: Terminal_Punctuation
+242: Thaana
+243: Thai
+244: Tibetan
+245: Tifinagh
+246: Tirhuta
+247: Ugaritic
+248: Unified_Ideograph
+249: Unknown
+250: Uppercase
+251: Vai
+252: Variation_Selector
+253: Warang_Citi
+254: White_Space
+255: XID_Continue
+256: XID_Start
+257: Yi
+258: Z
+259: Zanabazar_Square
+260: Zl
+261: Zp
+262: Zs
+ 16: Adlm
+ 42: Aghb
  15: AHex
- 20: Arab
- 93: Armi
- 21: Armn
- 23: Avst
- 24: Bali
- 25: Bamu
- 26: Bass
- 27: Batk
- 28: Beng
- 29: Bidi_C
- 30: Bopo
- 31: Brah
- 32: Brai
- 33: Bugi
- 34: Buhd
- 43: Cakm
- 36: Cans
- 37: Cari
-108: Cased_Letter
- 50: Cher
- 38: CI
-179: Close_Punctuation
-125: Combining_Mark
-177: Connector_Punctuation
- 41: Control
- 54: Copt
- 57: Cprt
-195: Currency_Symbol
- 45: CWCF
- 46: CWCM
- 47: CWL
- 48: CWT
- 49: CWU
- 58: Cyrl
-178: Dash_Punctuation
-146: Decimal_Number
- 61: Dep
- 63: Deva
- 60: DI
- 64: Dia
- 62: Dsrt
- 65: Dupl
- 66: Egyp
- 67: Elba
-132: Enclosing_Mark
- 68: Ethi
- 69: Ext
-180: Final_Punctuation
- 42: Format
- 70: Geor
- 71: Glag
- 72: Goth
- 73: Gran
- 74: Gr_Base
- 77: Grek
- 75: Gr_Ext
- 76: Gr_Link
- 78: Gujr
- 79: Guru
- 81: Hang
- 80: Hani
- 82: Hano
- 83: Hatr
- 84: Hebr
- 85: Hex
- 86: Hira
- 18: Hluw
-172: Hmng
-154: Hung
- 90: IDC
- 92: Ideo
- 91: IDS
- 88: IDSB
- 89: IDST
-183: Initial_Punctuation
-155: Ital
- 97: Java
- 98: Join_C
-102: Kali
-101: Kana
-103: Khar
-104: Khmr
-105: Khoj
-100: Knda
- 99: Kthi
-212: Lana
-109: Laoo
-110: Latn
-111: Lepc
-107: Letter
-149: Letter_Number
-112: Limb
-113: Lina
-114: Linb
-235: Line_Separator
-119: LOE
-116: Lowercase_Letter
-123: Lyci
-124: Lydi
-126: Mahj
-128: Mand
-129: Mani
-125: Mark
-202: Math_Symbol
-134: Mend
-135: Merc
-136: Mero
-127: Mlym
-117: Modifier_Letter
-201: Modifier_Symbol
-140: Mong
-141: Mroo
-133: Mtei
-142: Mult
-143: Mymr
-156: Narb
-145: Nbat
-151: NChar
-148: Nkoo
-138: Nonspacing_Mark
-144: Number
-163: OAlpha
-164: ODI
-152: Ogam
-165: OGr_Ext
-166: OIDC
-167: OIDS
-153: Olck
-168: OLower
-169: OMath
-185: Open_Punctuation
-160: Orkh
-161: Orya
-162: Osma
- 35: Other
-118: Other_Letter
-150: Other_Number
-184: Other_Punctuation
-203: Other_Symbol
-170: OUpper
-173: Palm
-236: Paragraph_Separator
-174: Pat_Syn
-175: Pat_WS
-176: Pauc
-157: Perm
-181: Phag
- 95: Phli
-186: Phlp
-182: Phnx
-137: Plrd
- 52: Private_Use
- 96: Prti
-171: Punctuation
- 54: Qaac
- 94: Qaai
-187: QMark
-189: Rjng
-190: Runr
-193: Samr
-159: Sarb
-194: Saur
-204: SD
-234: Separator
-199: Sgnw
-197: Shaw
-196: Shrd
-198: Sidd
-106: Sind
-200: Sinh
-205: Sora
-237: Space_Separator
-131: Spacing_Mark
-206: Sund
- 55: Surrogate
-207: Sylo
-191: Symbol
-208: Syrc
-210: Tagb
-214: Takr
-211: Tale
-147: Talu
-215: Taml
-213: Tavt
-216: Telu
-217: Term
-221: Tfng
-209: Tglg
-218: Thaa
-220: Tibt
-222: Tirh
-121: Titlecase_Letter
-223: Ugar
-224: UIdeo
- 51: Unassigned
-122: Uppercase_Letter
-227: Vaii
-228: VS
-229: Wara
-230: WSpace
-231: XIDC
-232: XIDS
-158: Xpeo
- 56: Xsux
-233: Yiii
- 94: Zinh
- 53: Zyyy
-225: Zzzz
-238: In_Basic_Latin
-239: In_Latin_1_Supplement
-240: In_Latin_Extended_A
-241: In_Latin_Extended_B
-242: In_IPA_Extensions
-243: In_Spacing_Modifier_Letters
-244: In_Combining_Diacritical_Marks
-245: In_Greek_and_Coptic
-246: In_Cyrillic
-247: In_Cyrillic_Supplement
-248: In_Armenian
-249: In_Hebrew
-250: In_Arabic
-251: In_Syriac
-252: In_Arabic_Supplement
-253: In_Thaana
-254: In_NKo
-255: In_Samaritan
-256: In_Mandaic
-257: In_Arabic_Extended_A
-258: In_Devanagari
-259: In_Bengali
-260: In_Gurmukhi
-261: In_Gujarati
-262: In_Oriya
-263: In_Tamil
-264: In_Telugu
-265: In_Kannada
-266: In_Malayalam
-267: In_Sinhala
-268: In_Thai
-269: In_Lao
-270: In_Tibetan
-271: In_Myanmar
-272: In_Georgian
-273: In_Hangul_Jamo
-274: In_Ethiopic
-275: In_Ethiopic_Supplement
-276: In_Cherokee
-277: In_Unified_Canadian_Aboriginal_Syllabics
-278: In_Ogham
-279: In_Runic
-280: In_Tagalog
-281: In_Hanunoo
-282: In_Buhid
-283: In_Tagbanwa
-284: In_Khmer
-285: In_Mongolian
-286: In_Unified_Canadian_Aboriginal_Syllabics_Extended
-287: In_Limbu
-288: In_Tai_Le
-289: In_New_Tai_Lue
-290: In_Khmer_Symbols
-291: In_Buginese
-292: In_Tai_Tham
-293: In_Combining_Diacritical_Marks_Extended
-294: In_Balinese
-295: In_Sundanese
-296: In_Batak
-297: In_Lepcha
-298: In_Ol_Chiki
-299: In_Sundanese_Supplement
-300: In_Vedic_Extensions
-301: In_Phonetic_Extensions
-302: In_Phonetic_Extensions_Supplement
-303: In_Combining_Diacritical_Marks_Supplement
-304: In_Latin_Extended_Additional
-305: In_Greek_Extended
-306: In_General_Punctuation
-307: In_Superscripts_and_Subscripts
-308: In_Currency_Symbols
-309: In_Combining_Diacritical_Marks_for_Symbols
-310: In_Letterlike_Symbols
-311: In_Number_Forms
-312: In_Arrows
-313: In_Mathematical_Operators
-314: In_Miscellaneous_Technical
-315: In_Control_Pictures
-316: In_Optical_Character_Recognition
-317: In_Enclosed_Alphanumerics
-318: In_Box_Drawing
-319: In_Block_Elements
-320: In_Geometric_Shapes
-321: In_Miscellaneous_Symbols
-322: In_Dingbats
-323: In_Miscellaneous_Mathematical_Symbols_A
-324: In_Supplemental_Arrows_A
-325: In_Braille_Patterns
-326: In_Supplemental_Arrows_B
-327: In_Miscellaneous_Mathematical_Symbols_B
-328: In_Supplemental_Mathematical_Operators
-329: In_Miscellaneous_Symbols_and_Arrows
-330: In_Glagolitic
-331: In_Latin_Extended_C
-332: In_Coptic
-333: In_Georgian_Supplement
-334: In_Tifinagh
-335: In_Ethiopic_Extended
-336: In_Cyrillic_Extended_A
-337: In_Supplemental_Punctuation
-338: In_CJK_Radicals_Supplement
-339: In_Kangxi_Radicals
-340: In_Ideographic_Description_Characters
-341: In_CJK_Symbols_and_Punctuation
-342: In_Hiragana
-343: In_Katakana
-344: In_Bopomofo
-345: In_Hangul_Compatibility_Jamo
-346: In_Kanbun
-347: In_Bopomofo_Extended
-348: In_CJK_Strokes
-349: In_Katakana_Phonetic_Extensions
-350: In_Enclosed_CJK_Letters_and_Months
-351: In_CJK_Compatibility
-352: In_CJK_Unified_Ideographs_Extension_A
-353: In_Yijing_Hexagram_Symbols
-354: In_CJK_Unified_Ideographs
-355: In_Yi_Syllables
-356: In_Yi_Radicals
-357: In_Lisu
-358: In_Vai
-359: In_Cyrillic_Extended_B
-360: In_Bamum
-361: In_Modifier_Tone_Letters
-362: In_Latin_Extended_D
-363: In_Syloti_Nagri
-364: In_Common_Indic_Number_Forms
-365: In_Phags_pa
-366: In_Saurashtra
-367: In_Devanagari_Extended
-368: In_Kayah_Li
-369: In_Rejang
-370: In_Hangul_Jamo_Extended_A
-371: In_Javanese
-372: In_Myanmar_Extended_B
-373: In_Cham
-374: In_Myanmar_Extended_A
-375: In_Tai_Viet
-376: In_Meetei_Mayek_Extensions
-377: In_Ethiopic_Extended_A
-378: In_Latin_Extended_E
-379: In_Cherokee_Supplement
-380: In_Meetei_Mayek
-381: In_Hangul_Syllables
-382: In_Hangul_Jamo_Extended_B
-383: In_High_Surrogates
-384: In_High_Private_Use_Surrogates
-385: In_Low_Surrogates
-386: In_Private_Use_Area
-387: In_CJK_Compatibility_Ideographs
-388: In_Alphabetic_Presentation_Forms
-389: In_Arabic_Presentation_Forms_A
-390: In_Variation_Selectors
-391: In_Vertical_Forms
-392: In_Combining_Half_Marks
-393: In_CJK_Compatibility_Forms
-394: In_Small_Form_Variants
-395: In_Arabic_Presentation_Forms_B
-396: In_Halfwidth_and_Fullwidth_Forms
-397: In_Specials
-398: In_Linear_B_Syllabary
-399: In_Linear_B_Ideograms
-400: In_Aegean_Numbers
-401: In_Ancient_Greek_Numbers
-402: In_Ancient_Symbols
-403: In_Phaistos_Disc
-404: In_Lycian
-405: In_Carian
-406: In_Coptic_Epact_Numbers
-407: In_Old_Italic
-408: In_Gothic
-409: In_Old_Permic
-410: In_Ugaritic
-411: In_Old_Persian
-412: In_Deseret
-413: In_Shavian
-414: In_Osmanya
-415: In_Elbasan
-416: In_Caucasian_Albanian
-417: In_Linear_A
-418: In_Cypriot_Syllabary
-419: In_Imperial_Aramaic
-420: In_Palmyrene
-421: In_Nabataean
-422: In_Hatran
-423: In_Phoenician
-424: In_Lydian
-425: In_Meroitic_Hieroglyphs
-426: In_Meroitic_Cursive
-427: In_Kharoshthi
-428: In_Old_South_Arabian
-429: In_Old_North_Arabian
-430: In_Manichaean
-431: In_Avestan
-432: In_Inscriptional_Parthian
-433: In_Inscriptional_Pahlavi
-434: In_Psalter_Pahlavi
-435: In_Old_Turkic
-436: In_Old_Hungarian
-437: In_Rumi_Numeral_Symbols
-438: In_Brahmi
-439: In_Kaithi
-440: In_Sora_Sompeng
-441: In_Chakma
-442: In_Mahajani
-443: In_Sharada
-444: In_Sinhala_Archaic_Numbers
-445: In_Khojki
-446: In_Multani
-447: In_Khudawadi
-448: In_Grantha
-449: In_Tirhuta
-450: In_Siddham
-451: In_Modi
-452: In_Takri
-453: In_Ahom
-454: In_Warang_Citi
-455: In_Pau_Cin_Hau
-456: In_Cuneiform
-457: In_Cuneiform_Numbers_and_Punctuation
-458: In_Early_Dynastic_Cuneiform
-459: In_Egyptian_Hieroglyphs
-460: In_Anatolian_Hieroglyphs
-461: In_Bamum_Supplement
-462: In_Mro
-463: In_Bassa_Vah
-464: In_Pahawh_Hmong
-465: In_Miao
-466: In_Kana_Supplement
-467: In_Duployan
-468: In_Shorthand_Format_Controls
-469: In_Byzantine_Musical_Symbols
-470: In_Musical_Symbols
-471: In_Ancient_Greek_Musical_Notation
-472: In_Tai_Xuan_Jing_Symbols
-473: In_Counting_Rod_Numerals
-474: In_Mathematical_Alphanumeric_Symbols
-475: In_Sutton_SignWriting
-476: In_Mende_Kikakui
-477: In_Arabic_Mathematical_Alphabetic_Symbols
-478: In_Mahjong_Tiles
-479: In_Domino_Tiles
-480: In_Playing_Cards
-481: In_Enclosed_Alphanumeric_Supplement
-482: In_Enclosed_Ideographic_Supplement
-483: In_Miscellaneous_Symbols_and_Pictographs
-484: In_Emoticons
-485: In_Ornamental_Dingbats
-486: In_Transport_and_Map_Symbols
-487: In_Alchemical_Symbols
-488: In_Geometric_Shapes_Extended
-489: In_Supplemental_Arrows_C
-490: In_Supplemental_Symbols_and_Pictographs
-491: In_CJK_Unified_Ideographs_Extension_B
-492: In_CJK_Unified_Ideographs_Extension_C
-493: In_CJK_Unified_Ideographs_Extension_D
-494: In_CJK_Unified_Ideographs_Extension_E
-495: In_CJK_Compatibility_Ideographs_Supplement
-496: In_Tags
-497: In_Variation_Selectors_Supplement
-498: In_Supplementary_Private_Use_Area_A
-499: In_Supplementary_Private_Use_Area_B
-500: In_No_Block
+ 21: Arab
+104: Armi
+ 22: Armn
+ 24: Avst
+ 25: Bali
+ 26: Bamu
+ 27: Bass
+ 28: Batk
+ 29: Beng
+ 30: Bhks
+ 31: Bidi_C
+ 32: Bopo
+ 33: Brah
+ 34: Brai
+ 35: Bugi
+ 36: Buhd
+ 45: Cakm
+ 38: Cans
+ 39: Cari
+119: Cased_Letter
+ 52: Cher
+ 40: CI
+198: Close_Punctuation
+136: Combining_Mark
+196: Connector_Punctuation
+ 43: Control
+ 56: Copt
+ 59: Cprt
+215: Currency_Symbol
+ 47: CWCF
+ 48: CWCM
+ 49: CWL
+ 50: CWT
+ 51: CWU
+ 60: Cyrl
+197: Dash_Punctuation
+161: Decimal_Number
+ 63: Dep
+ 65: Deva
+ 62: DI
+ 66: Dia
+ 67: Dogr
+ 64: Dsrt
+ 68: Dupl
+ 69: Egyp
+ 70: Elba
+146: Enclosing_Mark
+ 76: Ethi
+ 78: Ext
+199: Final_Punctuation
+ 44: Format
+ 79: Geor
+ 80: Glag
+ 88: Gong
+143: Gonm
+ 81: Goth
+ 82: Gran
+ 83: Gr_Base
+ 86: Grek
+ 84: Gr_Ext
+ 85: Gr_Link
+ 87: Gujr
+ 89: Guru
+ 91: Hang
+ 90: Hani
+ 93: Hano
+ 94: Hatr
+ 95: Hebr
+ 96: Hex
+ 97: Hira
+ 19: Hluw
+191: Hmng
+171: Hung
+101: IDC
+103: Ideo
+102: IDS
+ 99: IDSB
+100: IDST
+202: Initial_Punctuation
+172: Ital
+108: Java
+109: Join_C
+113: Kali
+112: Kana
+114: Khar
+115: Khmr
+116: Khoj
+111: Knda
+110: Kthi
+235: Lana
+120: Laoo
+121: Latn
+122: Lepc
+118: Letter
+165: Letter_Number
+123: Limb
+124: Lina
+125: Linb
+260: Line_Separator
+130: LOE
+127: Lowercase_Letter
+134: Lyci
+135: Lydi
+137: Mahj
+138: Maka
+140: Mand
+141: Mani
+142: Marc
+136: Mark
+223: Math_Symbol
+147: Medf
+149: Mend
+150: Merc
+151: Mero
+139: Mlym
+128: Modifier_Letter
+222: Modifier_Symbol
+155: Mong
+156: Mroo
+148: Mtei
+157: Mult
+158: Mymr
+173: Narb
+160: Nbat
+167: NChar
+164: Nkoo
+153: Nonspacing_Mark
+168: Nshu
+159: Number
+182: OAlpha
+183: ODI
+169: Ogam
+184: OGr_Ext
+185: OIDC
+186: OIDS
+170: Olck
+187: OLower
+188: OMath
+205: Open_Punctuation
+178: Orkh
+179: Orya
+180: Osge
+181: Osma
+ 37: Other
+129: Other_Letter
+166: Other_Number
+203: Other_Punctuation
+224: Other_Symbol
+189: OUpper
+192: Palm
+261: Paragraph_Separator
+193: Pat_Syn
+194: Pat_WS
+195: Pauc
+204: PCM
+174: Perm
+200: Phag
+106: Phli
+206: Phlp
+201: Phnx
+152: Plrd
+ 54: Private_Use
+107: Prti
+190: Punctuation
+ 56: Qaac
+105: Qaai
+207: QMark
+209: RI
+210: Rjng
+ 92: Rohg
+211: Runr
+213: Samr
+177: Sarb
+214: Saur
+225: SD
+258: Separator
+220: Sgnw
+218: Shaw
+217: Shrd
+219: Sidd
+117: Sind
+221: Sinh
+226: Sogd
+176: Sogo
+227: Sora
+228: Soyo
+262: Space_Separator
+145: Spacing_Mark
+216: STerm
+229: Sund
+ 57: Surrogate
+230: Sylo
+212: Symbol
+231: Syrc
+233: Tagb
+237: Takr
+234: Tale
+162: Talu
+238: Taml
+239: Tang
+236: Tavt
+240: Telu
+241: Term
+245: Tfng
+232: Tglg
+242: Thaa
+244: Tibt
+246: Tirh
+132: Titlecase_Letter
+247: Ugar
+248: UIdeo
+ 53: Unassigned
+133: Uppercase_Letter
+251: Vaii
+252: VS
+253: Wara
+254: WSpace
+255: XIDC
+256: XIDS
+175: Xpeo
+ 58: Xsux
+257: Yiii
+259: Zanb
+105: Zinh
+ 55: Zyyy
+249: Zzzz
+263: In_Basic_Latin
+264: In_Latin_1_Supplement
+265: In_Latin_Extended_A
+266: In_Latin_Extended_B
+267: In_IPA_Extensions
+268: In_Spacing_Modifier_Letters
+269: In_Combining_Diacritical_Marks
+270: In_Greek_and_Coptic
+271: In_Cyrillic
+272: In_Cyrillic_Supplement
+273: In_Armenian
+274: In_Hebrew
+275: In_Arabic
+276: In_Syriac
+277: In_Arabic_Supplement
+278: In_Thaana
+279: In_NKo
+280: In_Samaritan
+281: In_Mandaic
+282: In_Syriac_Supplement
+283: In_Arabic_Extended_A
+284: In_Devanagari
+285: In_Bengali
+286: In_Gurmukhi
+287: In_Gujarati
+288: In_Oriya
+289: In_Tamil
+290: In_Telugu
+291: In_Kannada
+292: In_Malayalam
+293: In_Sinhala
+294: In_Thai
+295: In_Lao
+296: In_Tibetan
+297: In_Myanmar
+298: In_Georgian
+299: In_Hangul_Jamo
+300: In_Ethiopic
+301: In_Ethiopic_Supplement
+302: In_Cherokee
+303: In_Unified_Canadian_Aboriginal_Syllabics
+304: In_Ogham
+305: In_Runic
+306: In_Tagalog
+307: In_Hanunoo
+308: In_Buhid
+309: In_Tagbanwa
+310: In_Khmer
+311: In_Mongolian
+312: In_Unified_Canadian_Aboriginal_Syllabics_Extended
+313: In_Limbu
+314: In_Tai_Le
+315: In_New_Tai_Lue
+316: In_Khmer_Symbols
+317: In_Buginese
+318: In_Tai_Tham
+319: In_Combining_Diacritical_Marks_Extended
+320: In_Balinese
+321: In_Sundanese
+322: In_Batak
+323: In_Lepcha
+324: In_Ol_Chiki
+325: In_Cyrillic_Extended_C
+326: In_Georgian_Extended
+327: In_Sundanese_Supplement
+328: In_Vedic_Extensions
+329: In_Phonetic_Extensions
+330: In_Phonetic_Extensions_Supplement
+331: In_Combining_Diacritical_Marks_Supplement
+332: In_Latin_Extended_Additional
+333: In_Greek_Extended
+334: In_General_Punctuation
+335: In_Superscripts_and_Subscripts
+336: In_Currency_Symbols
+337: In_Combining_Diacritical_Marks_for_Symbols
+338: In_Letterlike_Symbols
+339: In_Number_Forms
+340: In_Arrows
+341: In_Mathematical_Operators
+342: In_Miscellaneous_Technical
+343: In_Control_Pictures
+344: In_Optical_Character_Recognition
+345: In_Enclosed_Alphanumerics
+346: In_Box_Drawing
+347: In_Block_Elements
+348: In_Geometric_Shapes
+349: In_Miscellaneous_Symbols
+350: In_Dingbats
+351: In_Miscellaneous_Mathematical_Symbols_A
+352: In_Supplemental_Arrows_A
+353: In_Braille_Patterns
+354: In_Supplemental_Arrows_B
+355: In_Miscellaneous_Mathematical_Symbols_B
+356: In_Supplemental_Mathematical_Operators
+357: In_Miscellaneous_Symbols_and_Arrows
+358: In_Glagolitic
+359: In_Latin_Extended_C
+360: In_Coptic
+361: In_Georgian_Supplement
+362: In_Tifinagh
+363: In_Ethiopic_Extended
+364: In_Cyrillic_Extended_A
+365: In_Supplemental_Punctuation
+366: In_CJK_Radicals_Supplement
+367: In_Kangxi_Radicals
+368: In_Ideographic_Description_Characters
+369: In_CJK_Symbols_and_Punctuation
+370: In_Hiragana
+371: In_Katakana
+372: In_Bopomofo
+373: In_Hangul_Compatibility_Jamo
+374: In_Kanbun
+375: In_Bopomofo_Extended
+376: In_CJK_Strokes
+377: In_Katakana_Phonetic_Extensions
+378: In_Enclosed_CJK_Letters_and_Months
+379: In_CJK_Compatibility
+380: In_CJK_Unified_Ideographs_Extension_A
+381: In_Yijing_Hexagram_Symbols
+382: In_CJK_Unified_Ideographs
+383: In_Yi_Syllables
+384: In_Yi_Radicals
+385: In_Lisu
+386: In_Vai
+387: In_Cyrillic_Extended_B
+388: In_Bamum
+389: In_Modifier_Tone_Letters
+390: In_Latin_Extended_D
+391: In_Syloti_Nagri
+392: In_Common_Indic_Number_Forms
+393: In_Phags_pa
+394: In_Saurashtra
+395: In_Devanagari_Extended
+396: In_Kayah_Li
+397: In_Rejang
+398: In_Hangul_Jamo_Extended_A
+399: In_Javanese
+400: In_Myanmar_Extended_B
+401: In_Cham
+402: In_Myanmar_Extended_A
+403: In_Tai_Viet
+404: In_Meetei_Mayek_Extensions
+405: In_Ethiopic_Extended_A
+406: In_Latin_Extended_E
+407: In_Cherokee_Supplement
+408: In_Meetei_Mayek
+409: In_Hangul_Syllables
+410: In_Hangul_Jamo_Extended_B
+411: In_High_Surrogates
+412: In_High_Private_Use_Surrogates
+413: In_Low_Surrogates
+414: In_Private_Use_Area
+415: In_CJK_Compatibility_Ideographs
+416: In_Alphabetic_Presentation_Forms
+417: In_Arabic_Presentation_Forms_A
+418: In_Variation_Selectors
+419: In_Vertical_Forms
+420: In_Combining_Half_Marks
+421: In_CJK_Compatibility_Forms
+422: In_Small_Form_Variants
+423: In_Arabic_Presentation_Forms_B
+424: In_Halfwidth_and_Fullwidth_Forms
+425: In_Specials
+426: In_Linear_B_Syllabary
+427: In_Linear_B_Ideograms
+428: In_Aegean_Numbers
+429: In_Ancient_Greek_Numbers
+430: In_Ancient_Symbols
+431: In_Phaistos_Disc
+432: In_Lycian
+433: In_Carian
+434: In_Coptic_Epact_Numbers
+435: In_Old_Italic
+436: In_Gothic
+437: In_Old_Permic
+438: In_Ugaritic
+439: In_Old_Persian
+440: In_Deseret
+441: In_Shavian
+442: In_Osmanya
+443: In_Osage
+444: In_Elbasan
+445: In_Caucasian_Albanian
+446: In_Linear_A
+447: In_Cypriot_Syllabary
+448: In_Imperial_Aramaic
+449: In_Palmyrene
+450: In_Nabataean
+451: In_Hatran
+452: In_Phoenician
+453: In_Lydian
+454: In_Meroitic_Hieroglyphs
+455: In_Meroitic_Cursive
+456: In_Kharoshthi
+457: In_Old_South_Arabian
+458: In_Old_North_Arabian
+459: In_Manichaean
+460: In_Avestan
+461: In_Inscriptional_Parthian
+462: In_Inscriptional_Pahlavi
+463: In_Psalter_Pahlavi
+464: In_Old_Turkic
+465: In_Old_Hungarian
+466: In_Hanifi_Rohingya
+467: In_Rumi_Numeral_Symbols
+468: In_Old_Sogdian
+469: In_Sogdian
+470: In_Brahmi
+471: In_Kaithi
+472: In_Sora_Sompeng
+473: In_Chakma
+474: In_Mahajani
+475: In_Sharada
+476: In_Sinhala_Archaic_Numbers
+477: In_Khojki
+478: In_Multani
+479: In_Khudawadi
+480: In_Grantha
+481: In_Newa
+482: In_Tirhuta
+483: In_Siddham
+484: In_Modi
+485: In_Mongolian_Supplement
+486: In_Takri
+487: In_Ahom
+488: In_Dogra
+489: In_Warang_Citi
+490: In_Zanabazar_Square
+491: In_Soyombo
+492: In_Pau_Cin_Hau
+493: In_Bhaiksuki
+494: In_Marchen
+495: In_Masaram_Gondi
+496: In_Gunjala_Gondi
+497: In_Makasar
+498: In_Cuneiform
+499: In_Cuneiform_Numbers_and_Punctuation
+500: In_Early_Dynastic_Cuneiform
+501: In_Egyptian_Hieroglyphs
+502: In_Anatolian_Hieroglyphs
+503: In_Bamum_Supplement
+504: In_Mro
+505: In_Bassa_Vah
+506: In_Pahawh_Hmong
+507: In_Medefaidrin
+508: In_Miao
+509: In_Ideographic_Symbols_and_Punctuation
+510: In_Tangut
+511: In_Tangut_Components
+512: In_Kana_Supplement
+513: In_Kana_Extended_A
+514: In_Nushu
+515: In_Duployan
+516: In_Shorthand_Format_Controls
+517: In_Byzantine_Musical_Symbols
+518: In_Musical_Symbols
+519: In_Ancient_Greek_Musical_Notation
+520: In_Mayan_Numerals
+521: In_Tai_Xuan_Jing_Symbols
+522: In_Counting_Rod_Numerals
+523: In_Mathematical_Alphanumeric_Symbols
+524: In_Sutton_SignWriting
+525: In_Glagolitic_Supplement
+526: In_Mende_Kikakui
+527: In_Adlam
+528: In_Indic_Siyaq_Numbers
+529: In_Arabic_Mathematical_Alphabetic_Symbols
+530: In_Mahjong_Tiles
+531: In_Domino_Tiles
+532: In_Playing_Cards
+533: In_Enclosed_Alphanumeric_Supplement
+534: In_Enclosed_Ideographic_Supplement
+535: In_Miscellaneous_Symbols_and_Pictographs
+536: In_Emoticons
+537: In_Ornamental_Dingbats
+538: In_Transport_and_Map_Symbols
+539: In_Alchemical_Symbols
+540: In_Geometric_Shapes_Extended
+541: In_Supplemental_Arrows_C
+542: In_Supplemental_Symbols_and_Pictographs
+543: In_Chess_Symbols
+544: In_CJK_Unified_Ideographs_Extension_B
+545: In_CJK_Unified_Ideographs_Extension_C
+546: In_CJK_Unified_Ideographs_Extension_D
+547: In_CJK_Unified_Ideographs_Extension_E
+548: In_CJK_Unified_Ideographs_Extension_F
+549: In_CJK_Compatibility_Ideographs_Supplement
+550: In_Tags
+551: In_Variation_Selectors_Supplement
+552: In_Supplementary_Private_Use_Area_A
+553: In_Supplementary_Private_Use_Area_B
+554: In_No_Block
index 82405af82c0673459210c6c5b035a2a67eb61ac5..f55084e08e040255f461b5b6c5205431e61a32cc 100755 (executable)
@@ -8,7 +8,7 @@
 <h1>Oniguruma</h1> (<a href="index_ja.html">Japanese</a>)
 
 <p>
-(c) K.Kosako, updated at: 2018/04/14
+(c) K.Kosako, updated at: 2018/08/31
 </p>
 
 <dl>
@@ -16,6 +16,7 @@
 <dt><b>What's new</b>
 </font>
 <ul>
+<li>2018/09/03: Version 6.9.0 released.</li>
 <li>2018/04/17: Version 6.8.2 released.</li>
 <li>2018/03/19: Version 6.8.1 released.</li>
 <li>2018/03/16: Version 6.8.0 released.</li>
index c93f4069f2282b7c0d3a165d84efecc591c86713..06c17531857d54bd25d0a7b8116ea5fcc8c66252 100644 (file)
@@ -8,7 +8,7 @@
 <h1>鬼車</h1>
 
 <p>
-(c) K.Kosako, 最終更新: 2018/04/14
+(c) K.Kosako, 最終更新: 2018/09/03
 </p>
 
 <dl>
@@ -16,6 +16,7 @@
 <dt><b>更新情報</b>
 </font>
 <ul>
+<li>2018/09/03: Version 6.9.0 リリース</li>
 <li>2018/04/17: Version 6.8.2 リリース</li>
 <li>2018/03/19: Version 6.8.1 リリース</li>
 <li>2018/03/16: Version 6.8.0 リリース</li>
index 9a9c43f26d482e259ceb24fa4ae46bb22796aae4..3c855588fa70650c46064c958ebec058c594d7f8 100644 (file)
@@ -1,85 +1,82 @@
-#define STDC_HEADERS 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_SYS_STAT_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STRING_H 1
-#define HAVE_MEMORY_H 1
-#define HAVE_FLOAT_H 1
-#define HAVE_OFF_T 1
-#define SIZEOF_INT 4
-#define SIZEOF_SHORT 2
-#define SIZEOF_LONG 4
-#define SIZEOF_LONG_LONG 0
-#define SIZEOF___INT64 8
-#define SIZEOF_OFF_T 4
-#define SIZEOF_VOIDP 4
-#define SIZEOF_FLOAT 4
-#define SIZEOF_DOUBLE 8
-#define SIZEOF_SIZE_T 4
-#define HAVE_PROTOTYPES 1
-#define TOKEN_PASTE(x,y) x##y
-#define HAVE_STDARG_PROTOTYPES 1
-#ifndef NORETURN
-#if _MSC_VER > 1100
-#define NORETURN(x) __declspec(noreturn) x
-#else
-#define NORETURN(x) x
-#endif
-#endif
-#define HAVE_DECL_SYS_NERR 1
-#define STDC_HEADERS 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STRING_H 1
-#define HAVE_LIMITS_H 1
-#define HAVE_FCNTL_H 1
-#define HAVE_SYS_UTIME_H 1
-#define HAVE_MEMORY_H 1
-#define uid_t int
-#define gid_t int
-#define HAVE_STRUCT_STAT_ST_RDEV 1
-#define HAVE_ST_RDEV 1
-#define GETGROUPS_T int
-#define RETSIGTYPE void
-#define HAVE_ALLOCA 1
-#define HAVE_DUP2 1
-#define HAVE_MEMCMP 1
-#define HAVE_MEMMOVE 1
-#define HAVE_MKDIR 1
-#define HAVE_STRCASECMP 1
-#define HAVE_STRNCASECMP 1
-#define HAVE_STRERROR 1
-#define HAVE_STRFTIME 1
-#define HAVE_STRCHR 1
-#define HAVE_STRSTR 1
-#define HAVE_STRTOD 1
-#define HAVE_STRTOL 1
-#define HAVE_STRTOUL 1
-#define HAVE_FLOCK 1
-#define HAVE_VSNPRINTF 1
-#define HAVE_FINITE 1
-#define HAVE_FMOD 1
-#define HAVE_FREXP 1
-#define HAVE_HYPOT 1
-#define HAVE_MODF 1
-#define HAVE_WAITPID 1
-#define HAVE_CHSIZE 1
-#define HAVE_TIMES 1
-#define HAVE__SETJMP 1
-#define HAVE_TELLDIR 1
-#define HAVE_SEEKDIR 1
-#define HAVE_MKTIME 1
-#define HAVE_COSH 1
-#define HAVE_SINH 1
-#define HAVE_TANH 1
-#define HAVE_EXECVE 1
-#define HAVE_TZNAME 1
-#define HAVE_DAYLIGHT 1
-#define SETPGRP_VOID 1
-#define inline __inline
-#define NEED_IO_SEEK_BETWEEN_RW 1
-#define RSHIFT(x,y) ((x)>>(int)y)
-#define FILE_COUNT _cnt
-#define FILE_READPTR _ptr
-#define DEFAULT_KCODE KCODE_NONE
-#define DLEXT ".so"
-#define DLEXT2 ".dll"
+#define STDC_HEADERS 1\r
+#define HAVE_SYS_TYPES_H 1\r
+#define HAVE_SYS_STAT_H 1\r
+#define HAVE_STDLIB_H 1\r
+#define HAVE_STRING_H 1\r
+#define HAVE_MEMORY_H 1\r
+#define HAVE_FLOAT_H 1\r
+#define HAVE_OFF_T 1\r
+#define SIZEOF_INT 4\r
+#define SIZEOF_SHORT 2\r
+#define SIZEOF_LONG 4\r
+#define SIZEOF_LONG_LONG 8\r
+#define SIZEOF___INT64 8\r
+#define SIZEOF_OFF_T 4\r
+#define SIZEOF_VOIDP 4\r
+#define SIZEOF_FLOAT 4\r
+#define SIZEOF_DOUBLE 8\r
+#define SIZEOF_SIZE_T 4\r
+#define HAVE_PROTOTYPES 1\r
+#define TOKEN_PASTE(x,y) x##y\r
+#define HAVE_STDARG_PROTOTYPES 1\r
+#ifndef NORETURN\r
+#if _MSC_VER > 1100\r
+#define NORETURN(x) __declspec(noreturn) x\r
+#else\r
+#define NORETURN(x) x\r
+#endif\r
+#endif\r
+#define HAVE_DECL_SYS_NERR 1\r
+#define STDC_HEADERS 1\r
+#define HAVE_STDLIB_H 1\r
+#define HAVE_STRING_H 1\r
+#define HAVE_LIMITS_H 1\r
+#define HAVE_FCNTL_H 1\r
+#define HAVE_SYS_UTIME_H 1\r
+#define HAVE_MEMORY_H 1\r
+#define uid_t int\r
+#define gid_t int\r
+#define GETGROUPS_T int\r
+#define HAVE_ALLOCA 1\r
+#define HAVE_DUP2 1\r
+#define HAVE_MEMCMP 1\r
+#define HAVE_MEMMOVE 1\r
+#define HAVE_MKDIR 1\r
+#define HAVE_STRCASECMP 1\r
+#define HAVE_STRNCASECMP 1\r
+#define HAVE_STRERROR 1\r
+#define HAVE_STRFTIME 1\r
+#define HAVE_STRCHR 1\r
+#define HAVE_STRSTR 1\r
+#define HAVE_STRTOD 1\r
+#define HAVE_STRTOL 1\r
+#define HAVE_STRTOUL 1\r
+#define HAVE_FLOCK 1\r
+#define HAVE_VSNPRINTF 1\r
+#define HAVE_FINITE 1\r
+#define HAVE_FMOD 1\r
+#define HAVE_FREXP 1\r
+#define HAVE_HYPOT 1\r
+#define HAVE_MODF 1\r
+#define HAVE_WAITPID 1\r
+#define HAVE_CHSIZE 1\r
+#define HAVE_TIMES 1\r
+#define HAVE__SETJMP 1\r
+#define HAVE_TELLDIR 1\r
+#define HAVE_SEEKDIR 1\r
+#define HAVE_MKTIME 1\r
+#define HAVE_COSH 1\r
+#define HAVE_SINH 1\r
+#define HAVE_TANH 1\r
+#define HAVE_EXECVE 1\r
+#define HAVE_TZNAME 1\r
+#define HAVE_DAYLIGHT 1\r
+#define SETPGRP_VOID 1\r
+#define inline __inline\r
+#define NEED_IO_SEEK_BETWEEN_RW 1\r
+#define RSHIFT(x,y) ((x)>>(int)y)\r
+#define FILE_COUNT _cnt\r
+#define FILE_READPTR _ptr\r
+#define DEFAULT_KCODE KCODE_NONE\r
+#define DLEXT ".so"\r
+#define DLEXT2 ".dll"\r
index dec7b757734f53522697b73c9b007676bca0ae74..c8b8c2b8b692c8bb71338f1f26c4e0e4866cb5ea 100644 (file)
@@ -1,85 +1,82 @@
-#define STDC_HEADERS 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_SYS_STAT_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STRING_H 1
-#define HAVE_MEMORY_H 1
-#define HAVE_FLOAT_H 1
-#define HAVE_OFF_T 1
-#define SIZEOF_INT 4
-#define SIZEOF_SHORT 2
-#define SIZEOF_LONG 4
-#define SIZEOF_LONG_LONG 0
-#define SIZEOF___INT64 8
-#define SIZEOF_OFF_T 4
-#define SIZEOF_VOIDP 8
-#define SIZEOF_FLOAT 4
-#define SIZEOF_DOUBLE 8
-#define SIZEOF_SIZE_T 8
-#define HAVE_PROTOTYPES 1
-#define TOKEN_PASTE(x,y) x##y
-#define HAVE_STDARG_PROTOTYPES 1
-#ifndef NORETURN
-#if _MSC_VER > 1100
-#define NORETURN(x) __declspec(noreturn) x
-#else
-#define NORETURN(x) x
-#endif
-#endif
-#define HAVE_DECL_SYS_NERR 1
-#define STDC_HEADERS 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STRING_H 1
-#define HAVE_LIMITS_H 1
-#define HAVE_FCNTL_H 1
-#define HAVE_SYS_UTIME_H 1
-#define HAVE_MEMORY_H 1
-#define uid_t int
-#define gid_t int
-#define HAVE_STRUCT_STAT_ST_RDEV 1
-#define HAVE_ST_RDEV 1
-#define GETGROUPS_T int
-#define RETSIGTYPE void
-#define HAVE_ALLOCA 1
-#define HAVE_DUP2 1
-#define HAVE_MEMCMP 1
-#define HAVE_MEMMOVE 1
-#define HAVE_MKDIR 1
-#define HAVE_STRCASECMP 1
-#define HAVE_STRNCASECMP 1
-#define HAVE_STRERROR 1
-#define HAVE_STRFTIME 1
-#define HAVE_STRCHR 1
-#define HAVE_STRSTR 1
-#define HAVE_STRTOD 1
-#define HAVE_STRTOL 1
-#define HAVE_STRTOUL 1
-#define HAVE_FLOCK 1
-#define HAVE_VSNPRINTF 1
-#define HAVE_FINITE 1
-#define HAVE_FMOD 1
-#define HAVE_FREXP 1
-#define HAVE_HYPOT 1
-#define HAVE_MODF 1
-#define HAVE_WAITPID 1
-#define HAVE_CHSIZE 1
-#define HAVE_TIMES 1
-#define HAVE__SETJMP 1
-#define HAVE_TELLDIR 1
-#define HAVE_SEEKDIR 1
-#define HAVE_MKTIME 1
-#define HAVE_COSH 1
-#define HAVE_SINH 1
-#define HAVE_TANH 1
-#define HAVE_EXECVE 1
-#define HAVE_TZNAME 1
-#define HAVE_DAYLIGHT 1
-#define SETPGRP_VOID 1
-#define inline __inline
-#define NEED_IO_SEEK_BETWEEN_RW 1
-#define RSHIFT(x,y) ((x)>>(int)y)
-#define FILE_COUNT _cnt
-#define FILE_READPTR _ptr
-#define DEFAULT_KCODE KCODE_NONE
-#define DLEXT ".so"
-#define DLEXT2 ".dll"
+#define STDC_HEADERS 1\r
+#define HAVE_SYS_TYPES_H 1\r
+#define HAVE_SYS_STAT_H 1\r
+#define HAVE_STDLIB_H 1\r
+#define HAVE_STRING_H 1\r
+#define HAVE_MEMORY_H 1\r
+#define HAVE_FLOAT_H 1\r
+#define HAVE_OFF_T 1\r
+#define SIZEOF_INT 4\r
+#define SIZEOF_SHORT 2\r
+#define SIZEOF_LONG 4\r
+#define SIZEOF_LONG_LONG 8\r
+#define SIZEOF___INT64 8\r
+#define SIZEOF_OFF_T 4\r
+#define SIZEOF_VOIDP 8\r
+#define SIZEOF_FLOAT 4\r
+#define SIZEOF_DOUBLE 8\r
+#define SIZEOF_SIZE_T 8\r
+#define HAVE_PROTOTYPES 1\r
+#define TOKEN_PASTE(x,y) x##y\r
+#define HAVE_STDARG_PROTOTYPES 1\r
+#ifndef NORETURN\r
+#if _MSC_VER > 1100\r
+#define NORETURN(x) __declspec(noreturn) x\r
+#else\r
+#define NORETURN(x) x\r
+#endif\r
+#endif\r
+#define HAVE_DECL_SYS_NERR 1\r
+#define STDC_HEADERS 1\r
+#define HAVE_STDLIB_H 1\r
+#define HAVE_STRING_H 1\r
+#define HAVE_LIMITS_H 1\r
+#define HAVE_FCNTL_H 1\r
+#define HAVE_SYS_UTIME_H 1\r
+#define HAVE_MEMORY_H 1\r
+#define uid_t int\r
+#define gid_t int\r
+#define GETGROUPS_T int\r
+#define HAVE_ALLOCA 1\r
+#define HAVE_DUP2 1\r
+#define HAVE_MEMCMP 1\r
+#define HAVE_MEMMOVE 1\r
+#define HAVE_MKDIR 1\r
+#define HAVE_STRCASECMP 1\r
+#define HAVE_STRNCASECMP 1\r
+#define HAVE_STRERROR 1\r
+#define HAVE_STRFTIME 1\r
+#define HAVE_STRCHR 1\r
+#define HAVE_STRSTR 1\r
+#define HAVE_STRTOD 1\r
+#define HAVE_STRTOL 1\r
+#define HAVE_STRTOUL 1\r
+#define HAVE_FLOCK 1\r
+#define HAVE_VSNPRINTF 1\r
+#define HAVE_FINITE 1\r
+#define HAVE_FMOD 1\r
+#define HAVE_FREXP 1\r
+#define HAVE_HYPOT 1\r
+#define HAVE_MODF 1\r
+#define HAVE_WAITPID 1\r
+#define HAVE_CHSIZE 1\r
+#define HAVE_TIMES 1\r
+#define HAVE__SETJMP 1\r
+#define HAVE_TELLDIR 1\r
+#define HAVE_SEEKDIR 1\r
+#define HAVE_MKTIME 1\r
+#define HAVE_COSH 1\r
+#define HAVE_SINH 1\r
+#define HAVE_TANH 1\r
+#define HAVE_EXECVE 1\r
+#define HAVE_TZNAME 1\r
+#define HAVE_DAYLIGHT 1\r
+#define SETPGRP_VOID 1\r
+#define inline __inline\r
+#define NEED_IO_SEEK_BETWEEN_RW 1\r
+#define RSHIFT(x,y) ((x)>>(int)y)\r
+#define FILE_COUNT _cnt\r
+#define FILE_READPTR _ptr\r
+#define DEFAULT_KCODE KCODE_NONE\r
+#define DLEXT ".so"\r
+#define DLEXT2 ".dll"\r
index ae8c2fe8d8913d4e62a86f381332308d7d756fcb..5d3c1f9bceab2ca870c0dc663c27689361aa6f34 100644 (file)
@@ -236,7 +236,7 @@ property_name_to_ctype(OnigEncoding enc, UChar* p, UChar* end)
   if (len < sizeof(q) - 1) {
     xmemcpy(q, p, (size_t )len);
     q[len] = '\0';
-    pc = euc_jp_lookup_property_name(q, len);
+    pc = onigenc_euc_jp_lookup_property_name(q, len);
     if (pc != 0)
       return pc->ctype;
   }
index 8436fa298a7b5f7c2d50f3402acd39c48a093408..3f84aef46bda607a6664ae37436766c738fe8275 100644 (file)
@@ -1,5 +1,5 @@
-/* ANSI-C code produced by gperf version 3.0.4 */
-/* Command-line: gperf -pt -T -L ANSI-C -N euc_jp_lookup_property_name --output-file euc_jp_prop.c euc_jp_prop.gperf  */
+/* ANSI-C code produced by gperf version 3.1 */
+/* Command-line: /usr/bin/gperf -pt -T -L ANSI-C -N onigenc_euc_jp_lookup_property_name --output-file gperf1.tmp euc_jp_prop.gperf  */
 /* Computed positions: -k'1,3' */
 
 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -26,7 +26,7 @@
       && ('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-gnu-gperf@gnu.org>."
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
 #endif
 
 #line 1 "euc_jp_prop.gperf"
@@ -49,7 +49,7 @@ inline
 #endif
 #endif
 static unsigned int
-hash (register const char *str, register unsigned int len)
+hash (register const char *str, register size_t len)
 {
   static unsigned char asso_values[] =
     {
@@ -80,17 +80,11 @@ hash (register const char *str, register unsigned int len)
       56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
       56, 56, 56, 56, 56, 56
     };
-  return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]];
+  return (unsigned int )len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]];
 }
 
-#ifdef __GNUC__
-__inline
-#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
 struct PropertyNameCtype *
-euc_jp_lookup_property_name (register const char *str, register unsigned int len)
+onigenc_euc_jp_lookup_property_name (register const char *str, register size_t len)
 {
   static struct PropertyNameCtype wordlist[] =
     {
@@ -144,9 +138,9 @@ euc_jp_lookup_property_name (register const char *str, register unsigned int len
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
     {
-      register int key = hash (str, len);
+      register unsigned int key = hash (str, len);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           register const char *s = wordlist[key].name;
 
index 322959a3cacf15cfb8196c592b7c1094f71c40ac..ab917c623f3b76ae8bc7cfa7f26e2fa5927f8aae 100644 (file)
@@ -35,10 +35,10 @@ extern "C" {
 
 #define ONIGURUMA
 #define ONIGURUMA_VERSION_MAJOR   6
-#define ONIGURUMA_VERSION_MINOR   8
-#define ONIGURUMA_VERSION_TEENY   2
+#define ONIGURUMA_VERSION_MINOR   9
+#define ONIGURUMA_VERSION_TEENY   0
 
-#define ONIGURUMA_VERSION_INT     60801
+#define ONIGURUMA_VERSION_INT     60900
 
 #ifndef P_
 #if defined(__STDC__) || defined(_WIN32)
index f953ed1d9d07afa8819a91d49cecde7082dda68b..83b92525d90670c3568fc22617c6081da970426f 100644 (file)
@@ -374,17 +374,6 @@ add_bitset(regex_t* reg, BitSetRef bs)
   return 0;
 }
 
-static int
-add_opcode_option(regex_t* reg, int opcode, OnigOptionType option)
-{
-  int r;
-
-  r = add_opcode(reg, opcode);
-  if (r != 0) return r;
-  r = add_option(reg, option);
-  return r;
-}
-
 static int compile_length_tree(Node* node, regex_t* reg);
 static int compile_tree(Node* node, regex_t* reg, ScanEnv* env);
 
@@ -1011,14 +1000,7 @@ compile_length_option_node(EnclosureNode* node, regex_t* reg)
   tlen = compile_length_tree(NODE_ENCLOSURE_BODY(node), reg);
   reg->options = prev;
 
-  if (tlen < 0) return tlen;
-
-  if (IS_DYNAMIC_OPTION(prev ^ node->option)) {
-    return SIZE_OP_SET_OPTION_PUSH + SIZE_OP_SET_OPTION + SIZE_OP_FAIL
-           + tlen + SIZE_OP_SET_OPTION;
-  }
-  else
-    return tlen;
+  return tlen;
 }
 
 static int
@@ -1027,23 +1009,10 @@ compile_option_node(EnclosureNode* node, regex_t* reg, ScanEnv* env)
   int r;
   OnigOptionType prev = reg->options;
 
-  if (IS_DYNAMIC_OPTION(prev ^ node->o.options)) {
-    r = add_opcode_option(reg, OP_SET_OPTION_PUSH, node->o.options);
-    if (r != 0) return r;
-    r = add_opcode_option(reg, OP_SET_OPTION, prev);
-    if (r != 0) return r;
-    r = add_opcode(reg, OP_FAIL);
-    if (r != 0) return r;
-  }
-
   reg->options = node->o.options;
   r = compile_tree(NODE_ENCLOSURE_BODY(node), reg, env);
   reg->options = prev;
 
-  if (IS_DYNAMIC_OPTION(prev ^ node->o.options)) {
-    if (r != 0) return r;
-    r = add_opcode_option(reg, OP_SET_OPTION, prev);
-  }
   return r;
 }
 
@@ -1161,7 +1130,7 @@ compile_enclosure_memory_node(EnclosureNode* node, regex_t* reg, ScanEnv* env)
     r = add_opcode(reg, OP_CALL);
     if (r != 0) return r;
     node->m.called_addr = BB_GET_OFFSET_POS(reg) + SIZE_ABSADDR + SIZE_OP_JUMP;
-    NODE_STATUS_ADD(node, NST_ADDR_FIXED);
+    NODE_STATUS_ADD(node, ADDR_FIXED);
     r = add_abs_addr(reg, (int )node->m.called_addr);
     if (r != 0) return r;
     len = compile_length_tree(NODE_ENCLOSURE_BODY(node), reg);
@@ -1179,7 +1148,7 @@ compile_enclosure_memory_node(EnclosureNode* node, regex_t* reg, ScanEnv* env)
     r = add_opcode(reg, OP_CALL);
     if (r != 0) return r;
     node->m.called_addr = BB_GET_OFFSET_POS(reg) + SIZE_ABSADDR + SIZE_OP_JUMP;
-    NODE_STATUS_ADD(node, NST_ADDR_FIXED);
+    NODE_STATUS_ADD(node, ADDR_FIXED);
     r = add_abs_addr(reg, (int )node->m.called_addr);
     if (r != 0) return r;
     len = compile_length_tree(NODE_ENCLOSURE_BODY(node), reg);
@@ -2253,7 +2222,7 @@ get_char_length_tree1(Node* node, regex_t* reg, int* len, int level)
           r = get_char_length_tree1(NODE_BODY(node), reg, len, level);
           if (r == 0) {
             en->char_len = *len;
-            NODE_STATUS_ADD(node, NST_CLEN_FIXED);
+            NODE_STATUS_ADD(node, CLEN_FIXED);
           }
         }
         break;
@@ -2759,12 +2728,12 @@ tree_min_len(Node* node, ScanEnv* env)
           if (NODE_IS_MARK1(node))
             len = 0;  /* recursive */
           else {
-            NODE_STATUS_ADD(node, NST_MARK1);
+            NODE_STATUS_ADD(node, MARK1);
             len = tree_min_len(NODE_BODY(node), env);
-            NODE_STATUS_REMOVE(node, NST_MARK1);
+            NODE_STATUS_REMOVE(node, MARK1);
 
             en->min_len = len;
-            NODE_STATUS_ADD(node, NST_MIN_FIXED);
+            NODE_STATUS_ADD(node, MIN_FIXED);
           }
         }
         break;
@@ -2896,12 +2865,12 @@ tree_max_len(Node* node, ScanEnv* env)
           if (NODE_IS_MARK1(node))
             len = INFINITE_LEN;
           else {
-            NODE_STATUS_ADD(node, NST_MARK1);
+            NODE_STATUS_ADD(node, MARK1);
             len = tree_max_len(NODE_BODY(node), env);
-            NODE_STATUS_REMOVE(node, NST_MARK1);
+            NODE_STATUS_REMOVE(node, MARK1);
 
             en->max_len = len;
-            NODE_STATUS_ADD(node, NST_MAX_FIXED);
+            NODE_STATUS_ADD(node, MAX_FIXED);
           }
         }
         break;
@@ -2991,7 +2960,7 @@ check_backrefs(Node* node, ScanEnv* env)
         if (backs[i] > env->num_mem)
           return ONIGERR_INVALID_BACKREF;
 
-        NODE_STATUS_ADD(mem_env[backs[i]].node, NST_BACKREF);
+        NODE_STATUS_ADD(mem_env[backs[i]].node, BACKREF);
       }
       r = 0;
     }
@@ -3081,9 +3050,9 @@ infinite_recursive_call_check(Node* node, ScanEnv* env, int head)
           return (head == 0 ? RECURSION_EXIST | RECURSION_MUST
                   : RECURSION_EXIST | RECURSION_MUST | RECURSION_INFINITE);
         else {
-          NODE_STATUS_ADD(node, NST_MARK2);
+          NODE_STATUS_ADD(node, MARK2);
           r = infinite_recursive_call_check(NODE_BODY(node), env, head);
-          NODE_STATUS_REMOVE(node, NST_MARK2);
+          NODE_STATUS_REMOVE(node, MARK2);
         }
       }
       else if (en->type == ENCLOSURE_IF_ELSE) {
@@ -3155,14 +3124,14 @@ infinite_recursive_call_check_trav(Node* node, ScanEnv* env)
         if (NODE_IS_RECURSION(node) && NODE_IS_CALLED(node)) {
           int ret;
 
-          NODE_STATUS_ADD(node, NST_MARK1);
+          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, NST_MARK1);
+          NODE_STATUS_REMOVE(node, MARK1);
         }
       }
       else if (en->type == ENCLOSURE_IF_ELSE) {
@@ -3216,7 +3185,7 @@ recursive_call_check(Node* node)
     r = recursive_call_check(NODE_BODY(node));
     if (r != 0) {
       if (NODE_IS_MARK1(NODE_BODY(node)))
-        NODE_STATUS_ADD(node, NST_RECURSION);
+        NODE_STATUS_ADD(node, RECURSION);
     }
     break;
 
@@ -3230,9 +3199,9 @@ recursive_call_check(Node* node)
         else if (NODE_IS_MARK1(node))
           return 1; /* recursion */
         else {
-          NODE_STATUS_ADD(node, NST_MARK2);
+          NODE_STATUS_ADD(node, MARK2);
           r = recursive_call_check(NODE_BODY(node));
-          NODE_STATUS_REMOVE(node, NST_MARK2);
+          NODE_STATUS_REMOVE(node, MARK2);
         }
       }
       else if (en->type == ENCLOSURE_IF_ELSE) {
@@ -3305,11 +3274,11 @@ recursive_call_check_trav(Node* node, ScanEnv* env, int state)
       if (en->type == ENCLOSURE_MEMORY) {
         if (NODE_IS_CALLED(node) || (state & IN_RECURSION) != 0) {
           if (! NODE_IS_RECURSION(node)) {
-            NODE_STATUS_ADD(node, NST_MARK1);
+            NODE_STATUS_ADD(node, MARK1);
             r = recursive_call_check(NODE_BODY(node));
             if (r != 0)
-              NODE_STATUS_ADD(node, NST_RECURSION);
-            NODE_STATUS_REMOVE(node, NST_MARK1);
+              NODE_STATUS_ADD(node, RECURSION);
+            NODE_STATUS_REMOVE(node, MARK1);
           }
 
           if (NODE_IS_CALLED(node))
@@ -3431,7 +3400,7 @@ next_setup(Node* node, Node* next_node, regex_t* reg)
             if (IS_NOT_NULL(y) && is_exclusive(x, y, reg)) {
               Node* en = onig_node_new_enclosure(ENCLOSURE_STOP_BACKTRACK);
               CHECK_NULL_RETURN_MEMERR(en);
-              NODE_STATUS_ADD(en, NST_STOP_BT_SIMPLE_REPEAT);
+              NODE_STATUS_ADD(en, STOP_BT_SIMPLE_REPEAT);
               swap_node(node, en);
               NODE_BODY(node) = en;
             }
@@ -3938,9 +3907,9 @@ setup_call2_call(Node* node)
 
       if (en->type == ENCLOSURE_MEMORY) {
         if (! NODE_IS_MARK1(node)) {
-          NODE_STATUS_ADD(node, NST_MARK1);
+          NODE_STATUS_ADD(node, MARK1);
           setup_call2_call(NODE_BODY(node));
-          NODE_STATUS_REMOVE(node, NST_MARK1);
+          NODE_STATUS_REMOVE(node, MARK1);
         }
       }
       else if (en->type == ENCLOSURE_IF_ELSE) {
@@ -3958,18 +3927,18 @@ setup_call2_call(Node* node)
 
   case NODE_CALL:
     if (! NODE_IS_MARK1(node)) {
-      NODE_STATUS_ADD(node, NST_MARK1);
+      NODE_STATUS_ADD(node, MARK1);
       {
         CallNode* cn = CALL_(node);
         Node* called = NODE_CALL_BODY(cn);
 
         cn->entry_count++;
 
-        NODE_STATUS_ADD(called, NST_CALLED);
+        NODE_STATUS_ADD(called, CALLED);
         ENCLOSURE_(called)->m.entry_count++;
         setup_call2_call(called);
       }
-      NODE_STATUS_REMOVE(node, NST_MARK1);
+      NODE_STATUS_REMOVE(node, MARK1);
     }
     break;
 
@@ -4011,7 +3980,7 @@ setup_call(Node* node, ScanEnv* env, int state)
 
       if (en->type == ENCLOSURE_MEMORY) {
         if ((state & IN_ZERO_REPEAT) != 0) {
-          NODE_STATUS_ADD(node, NST_IN_ZERO_REPEAT);
+          NODE_STATUS_ADD(node, IN_ZERO_REPEAT);
           ENCLOSURE_(node)->m.entry_count--;
         }
         r = setup_call(NODE_BODY(node), env, state);
@@ -4033,7 +4002,7 @@ setup_call(Node* node, ScanEnv* env, int state)
 
   case NODE_CALL:
     if ((state & IN_ZERO_REPEAT) != 0) {
-      NODE_STATUS_ADD(node, NST_IN_ZERO_REPEAT);
+      NODE_STATUS_ADD(node, IN_ZERO_REPEAT);
       CALL_(node)->entry_count--;
     }
 
@@ -4161,10 +4130,10 @@ setup_called_state_call(Node* node, int state)
           }
         }
         else {
-          NODE_STATUS_ADD(node, NST_MARK1);
+          NODE_STATUS_ADD(node, MARK1);
           en->m.called_state |= state;
           setup_called_state_call(NODE_BODY(node), state);
-          NODE_STATUS_REMOVE(node, NST_MARK1);
+          NODE_STATUS_REMOVE(node, MARK1);
         }
       }
       else if (en->type == ENCLOSURE_IF_ELSE) {
@@ -4289,9 +4258,9 @@ setup_anchor(Node* node, regex_t* reg, int state, ScanEnv* env)
 {
 /* allowed node types in look-behind */
 #define ALLOWED_TYPE_IN_LB \
-  ( BIT_NODE_LIST | BIT_NODE_ALT | BIT_NODE_STRING | BIT_NODE_CCLASS \
-  | BIT_NODE_CTYPE | BIT_NODE_ANCHOR | BIT_NODE_ENCLOSURE | BIT_NODE_QUANT \
-  | BIT_NODE_CALL | BIT_NODE_GIMMICK)
+  ( NODE_BIT_LIST | NODE_BIT_ALT | NODE_BIT_STRING | NODE_BIT_CCLASS \
+  | NODE_BIT_CTYPE | NODE_BIT_ANCHOR | NODE_BIT_ENCLOSURE | NODE_BIT_QUANT \
+  | NODE_BIT_CALL | NODE_BIT_GIMMICK)
 
 #define ALLOWED_ENCLOSURE_IN_LB       ( 1<<ENCLOSURE_MEMORY | 1<<ENCLOSURE_OPTION )
 #define ALLOWED_ENCLOSURE_IN_LB_NOT   (1<<ENCLOSURE_OPTION)
@@ -4365,10 +4334,10 @@ setup_quant(Node* node, regex_t* reg, int state, ScanEnv* env)
   Node* body = NODE_BODY(node);
 
   if ((state & IN_REAL_REPEAT) != 0) {
-    NODE_STATUS_ADD(node, NST_IN_REAL_REPEAT);
+    NODE_STATUS_ADD(node, IN_REAL_REPEAT);
   }
   if ((state & IN_MULTI_ENTRY) != 0) {
-    NODE_STATUS_ADD(node, NST_IN_MULTI_ENTRY);
+    NODE_STATUS_ADD(node, IN_MULTI_ENTRY);
   }
 
   if (IS_REPEAT_INFINITE(qn->upper) || qn->upper >= 1) {
@@ -4528,7 +4497,7 @@ setup_tree(Node* node, regex_t* reg, int state, ScanEnv* env)
             if (IS_REPEAT_INFINITE(tqn->upper) && tqn->lower <= 1 &&
                 tqn->greedy != 0) {  /* (?>a*), a*+ etc... */
               if (NODE_IS_SIMPLE_TYPE(NODE_BODY(target)))
-                NODE_STATUS_ADD(node, NST_STOP_BT_SIMPLE_REPEAT);
+                NODE_STATUS_ADD(node, STOP_BT_SIMPLE_REPEAT);
             }
           }
         }
index ae7a7740374a1a2c8a029d4c54b80d766ec0d044..ae8d65ec26e11b70a12ad782b2b5a55974b7ded7 100644 (file)
@@ -34,6 +34,7 @@
 #endif
 
 #include "config.h"
+#include <stddef.h>
 
 #ifdef ONIG_ESCAPE_UCHAR_COLLISION
 #undef ONIG_ESCAPE_UCHAR_COLLISION
@@ -158,9 +159,8 @@ extern int onigenc_mb2_is_code_ctype P_((OnigEncoding enc, OnigCodePoint code, u
 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* euc_jp_lookup_property_name P_((register const char *str, register unsigned int len));
-extern struct PropertyNameCtype* sjis_lookup_property_name P_((register const char *str, register unsigned int len));
-/* extern const struct PropertyNameCtype* unicode_lookup_property_name P_((register const char *str, register unsigned int len)); */
+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 enc/unicode.c */
 extern int onigenc_unicode_is_code_ctype P_((OnigCodePoint code, unsigned int ctype));
@@ -210,10 +210,10 @@ struct ByUnfoldKey {
   short int     fold_len;
 };
 
-extern const struct ByUnfoldKey* unicode_unfold_key(OnigCodePoint code);
-extern int unicode_fold1_key(OnigCodePoint code[]);
-extern int unicode_fold2_key(OnigCodePoint code[]);
-extern int unicode_fold3_key(OnigCodePoint code[]);
+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);
index 1ec51838a2e2cdca531972a5c8ecb635836c4de8..6c76d85175ce14d4d657f6d9f18f530eece463e0 100644 (file)
@@ -213,8 +213,6 @@ static OpInfoType OpInfo[] = {
   { OP_MEMORY_END_PUSH_REC, "mem-end-push-rec",     ARG_MEMNUM  },
   { OP_MEMORY_END,          "mem-end",              ARG_MEMNUM  },
   { OP_MEMORY_END_REC,      "mem-end-rec",          ARG_MEMNUM  },
-  { OP_SET_OPTION_PUSH,     "set-option-push",      ARG_OPTION  },
-  { OP_SET_OPTION,          "set-option",           ARG_OPTION  },
   { OP_FAIL,                "fail",                 ARG_NON },
   { OP_JUMP,                "jump",                 ARG_RELADDR },
   { OP_PUSH,                "push",                 ARG_RELADDR },
@@ -3484,22 +3482,6 @@ match_at(regex_t* reg, const UChar* str, const UChar* end,
       break;
 #endif
 
-#if 0   /* no need: IS_DYNAMIC_OPTION() == 0 */
-    case OP_SET_OPTION_PUSH:  SOP_IN(OP_SET_OPTION_PUSH);
-      GET_OPTION_INC(option, p);
-      STACK_PUSH_ALT(p, s, sprev);
-      p += SIZE_OP_SET_OPTION + SIZE_OP_FAIL;
-      SOP_OUT;
-      continue;
-      break;
-
-    case OP_SET_OPTION:  SOP_IN(OP_SET_OPTION);
-      GET_OPTION_INC(option, p);
-      SOP_OUT;
-      continue;
-      break;
-#endif
-
     case OP_EMPTY_CHECK_START:  SOP_IN(OP_EMPTY_CHECK_START);
       GET_MEMNUM_INC(mem, p);    /* mem: null check id */
       STACK_PUSH_EMPTY_CHECK_START(mem, s);
index 357b48955e1750a2d977e8eb9c229735e1e44ffe..c3d1ee15129a554c51fe6a8de0cf3f7c9541db67 100644 (file)
@@ -424,13 +424,6 @@ typedef unsigned int  MemStatusType;
    ((ctype) == ONIGENC_CTYPE_DIGIT && IS_DIGIT_ASCII(options)) ||\
    ((ctype) == ONIGENC_CTYPE_SPACE && IS_SPACE_ASCII(options))))
 
-/* OP_SET_OPTION is required for these options.
-#define IS_DYNAMIC_OPTION(option) \
-  (((option) & (ONIG_OPTION_MULTILINE | ONIG_OPTION_IGNORECASE)) != 0)
-*/
-/* ignore-case and multibyte status are included in compiled code. */
-#define IS_DYNAMIC_OPTION(option)  0
-
 #define DISABLE_CASE_FOLD_MULTI_CHAR(case_fold_flag) \
   ((case_fold_flag) & ~INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR)
 
@@ -685,10 +678,6 @@ enum OpCode {
   OP_CALLOUT_CONTENTS,      /* (?{...}) (?{{...}}) */
   OP_CALLOUT_NAME,          /* (*name) (*name[tag](args...)) */
 #endif
-
-  /* no need: IS_DYNAMIC_OPTION() == 0 */
-  OP_SET_OPTION_PUSH,    /* set option and push recover option */
-  OP_SET_OPTION          /* set option */
 };
 
 enum SaveType {
@@ -763,8 +752,6 @@ typedef int ModeType;
 #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_SET_OPTION             (SIZE_OPCODE + SIZE_OPTION)
-#define SIZE_OP_SET_OPTION_PUSH        (SIZE_OPCODE + SIZE_OPTION)
 #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)
index 64923ad82f9d0655194530a265a7a789bc7495d2..fcc05cf79e61a66d1bf94f779249ac1fb0242be9 100644 (file)
@@ -2076,20 +2076,6 @@ cons_node_free_alone(Node* node)
   onig_node_free(node);
 }
 
-extern void
-list_node_free_not_car(Node* node)
-{
-  Node* next_node;
-
- start:
-  if (IS_NULL(node)) return;
-
-  next_node = NODE_CDR(node);
-  xfree(node);
-  node = next_node;
-  goto start;
-}
-
 static Node*
 node_new(void)
 {
@@ -2154,7 +2140,7 @@ node_new_anychar_with_fixed_option(OnigOptionType option)
   node = node_new_anychar();
   ct = CTYPE_(node);
   ct->options = option;
-  NODE_STATUS_ADD(node, NST_FIXED_OPTION);
+  NODE_STATUS_ADD(node, FIXED_OPTION);
   return node;
 }
 
@@ -2303,11 +2289,11 @@ node_new_backref(int back_num, int* backrefs, int by_name,
   BACKREF_(node)->back_num = back_num;
   BACKREF_(node)->back_dynamic = (int* )NULL;
   if (by_name != 0)
-    NODE_STATUS_ADD(node, NST_BY_NAME);
+    NODE_STATUS_ADD(node, BY_NAME);
 
 #ifdef USE_BACKREF_WITH_LEVEL
   if (exist_level != 0) {
-    NODE_STATUS_ADD(node, NST_NEST_LEVEL);
+    NODE_STATUS_ADD(node, NEST_LEVEL);
     BACKREF_(node)->nest_level  = nest_level;
   }
 #endif
@@ -2315,7 +2301,7 @@ node_new_backref(int back_num, int* backrefs, int by_name,
   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, NST_RECURSION);   /* /...(\1).../ */
+      NODE_STATUS_ADD(node, RECURSION);   /* /...(\1).../ */
       break;
     }
   }
@@ -2353,7 +2339,7 @@ node_new_backref_checker(int back_num, int* backrefs, int by_name,
                           env);
   CHECK_NULL_RETURN(node);
 
-  NODE_STATUS_ADD(node, NST_CHECKER);
+  NODE_STATUS_ADD(node, CHECKER);
   return node;
 }
 
@@ -2389,7 +2375,7 @@ node_new_quantifier(int lower, int upper, int by_number)
   QUANT_(node)->next_head_exact = NULL_NODE;
   QUANT_(node)->is_refered      = 0;
   if (by_number != 0)
-    NODE_STATUS_ADD(node, NST_BY_NUMBER);
+    NODE_STATUS_ADD(node, BY_NUMBER);
 
   return node;
 }
@@ -2453,7 +2439,7 @@ node_new_memory(int is_named)
   Node* node = node_new_enclosure(ENCLOSURE_MEMORY);
   CHECK_NULL_RETURN(node);
   if (is_named != 0)
-    NODE_STATUS_ADD(node, NST_NAMED_GROUP);
+    NODE_STATUS_ADD(node, NAMED_GROUP);
 
   return node;
 }
@@ -2758,7 +2744,7 @@ make_absent_engine(Node** node, int pre_save_right_id, Node* absent,
   if (IS_NULL(x)) goto err0;
 
   if (is_range_cutter != 0)
-    NODE_STATUS_ADD(x, NST_SUPER);
+    NODE_STATUS_ADD(x, SUPER);
 
   *node = x;
   return ONIG_NORMAL;
@@ -2853,7 +2839,7 @@ make_range_clear(Node** node, ScanEnv* env)
   x = make_alt(2, ns);
   if (IS_NULL(x)) goto err0;
 
-  NODE_STATUS_ADD(x, NST_SUPER);
+  NODE_STATUS_ADD(x, SUPER);
 
   ns[0] = save;
   ns[1] = x;
@@ -3207,27 +3193,31 @@ node_new_str_raw_char(UChar c)
 }
 
 static Node*
-str_node_split_last_char(StrNode* sn, OnigEncoding enc)
+str_node_split_last_char(Node* node, OnigEncoding enc)
 {
   const UChar *p;
-  Node* n = NULL_NODE;
+  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. */
-      n = node_new_str(p, sn->end);
-      if ((sn->flag & STRING_RAW) != 0)
-        NODE_STRING_SET_RAW(n);
+      rn = node_new_str(p, sn->end);
+      if (NODE_STRING_IS_RAW(node))
+        NODE_STRING_SET_RAW(rn);
 
       sn->end = (UChar* )p;
     }
   }
-  return n;
+  return rn;
 }
 
 static int
-str_node_can_be_split(StrNode* sn, OnigEncoding enc)
+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);
   }
@@ -7529,9 +7519,8 @@ set_quantifier(Node* qnode, Node* target, int group, ScanEnv* env)
   switch (NODE_TYPE(target)) {
   case NODE_STRING:
     if (! group) {
-      StrNode* sn = STR_(target);
-      if (str_node_can_be_split(sn, env->enc)) {
-        Node* n = str_node_split_last_char(sn, env->enc);
+      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;
index 3ffbea4a80ba469c4f395404183c65e3e826c426..ff24eeb7d3bb890617983638a2f528ea1cdf012a 100644 (file)
@@ -60,21 +60,21 @@ enum GimmickType {
 /* node type bit */
 #define NODE_TYPE2BIT(type)      (1<<(type))
 
-#define BIT_NODE_STRING     NODE_TYPE2BIT(NODE_STRING)
-#define BIT_NODE_CCLASS     NODE_TYPE2BIT(NODE_CCLASS)
-#define BIT_NODE_CTYPE      NODE_TYPE2BIT(NODE_CTYPE)
-#define BIT_NODE_BACKREF    NODE_TYPE2BIT(NODE_BACKREF)
-#define BIT_NODE_QUANT      NODE_TYPE2BIT(NODE_QUANT)
-#define BIT_NODE_ENCLOSURE  NODE_TYPE2BIT(NODE_ENCLOSURE)
-#define BIT_NODE_ANCHOR     NODE_TYPE2BIT(NODE_ANCHOR)
-#define BIT_NODE_LIST       NODE_TYPE2BIT(NODE_LIST)
-#define BIT_NODE_ALT        NODE_TYPE2BIT(NODE_ALT)
-#define BIT_NODE_CALL       NODE_TYPE2BIT(NODE_CALL)
-#define BIT_NODE_GIMMICK    NODE_TYPE2BIT(NODE_GIMMICK)
+#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_ENCLOSURE  NODE_TYPE2BIT(NODE_ENCLOSURE)
+#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_IS_SIMPLE_TYPE(node) \
   ((NODE_TYPE2BIT(NODE_TYPE(node)) & \
-    (BIT_NODE_STRING | BIT_NODE_CCLASS | BIT_NODE_CTYPE | BIT_NODE_BACKREF)) != 0)
+    (NODE_BIT_STRING | NODE_BIT_CCLASS | NODE_BIT_CTYPE | NODE_BIT_BACKREF)) != 0)
 
 #define NODE_TYPE(node)             ((node)->u.base.node_type)
 #define NODE_SET_TYPE(node, ntype)   (node)->u.base.node_type = (ntype)
@@ -115,20 +115,22 @@ enum EnclosureType {
 #define NODE_STRING_BUF_SIZE       24  /* sizeof(CClassNode) - sizeof(int)*4 */
 #define NODE_BACKREFS_SIZE       6
 
-#define STRING_RAW                (1<<0) /* by backslashed number */
-#define STRING_AMBIG              (1<<1)
-#define STRING_DONT_GET_OPT_INFO  (1<<2)
+#define NODE_STRING_RAW                (1<<0) /* by backslashed number */
+#define NODE_STRING_AMBIG              (1<<1)
+#define NODE_STRING_DONT_GET_OPT_INFO  (1<<2)
 
 #define NODE_STRING_LEN(node)            (int )((node)->u.str.end - (node)->u.str.s)
-#define NODE_STRING_SET_RAW(node)          (node)->u.str.flag |= STRING_RAW
-#define NODE_STRING_CLEAR_RAW(node)        (node)->u.str.flag &= ~STRING_RAW
-#define NODE_STRING_SET_AMBIG(node)        (node)->u.str.flag |= STRING_AMBIG
+#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_DONT_GET_OPT_INFO(node) \
-  (node)->u.str.flag |= STRING_DONT_GET_OPT_INFO
-#define NODE_STRING_IS_RAW(node)          (((node)->u.str.flag & STRING_RAW)   != 0)
-#define NODE_STRING_IS_AMBIG(node)        (((node)->u.str.flag & STRING_AMBIG) != 0)
+  (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_DONT_GET_OPT_INFO(node) \
-  (((node)->u.str.flag & STRING_DONT_GET_OPT_INFO) != 0)
+  (((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)
@@ -141,56 +143,56 @@ enum QuantBodyEmpty {
 };
 
 /* node status bits */
-#define NST_MIN_FIXED             (1<<0)
-#define NST_MAX_FIXED             (1<<1)
-#define NST_CLEN_FIXED            (1<<2)
-#define NST_MARK1                 (1<<3)
-#define NST_MARK2                 (1<<4)
-#define NST_STOP_BT_SIMPLE_REPEAT (1<<5)
-#define NST_RECURSION             (1<<6)
-#define NST_CALLED                (1<<7)
-#define NST_ADDR_FIXED            (1<<8)
-#define NST_NAMED_GROUP           (1<<9)
-#define NST_IN_REAL_REPEAT        (1<<10) /* STK_REPEAT is nested in stack. */
-#define NST_IN_ZERO_REPEAT        (1<<11) /* (....){0} */
-#define NST_IN_MULTI_ENTRY        (1<<12)
-#define NST_NEST_LEVEL            (1<<13)
-#define NST_BY_NUMBER             (1<<14) /* {n,m} */
-#define NST_BY_NAME               (1<<15) /* backref by name */
-#define NST_BACKREF               (1<<16)
-#define NST_CHECKER               (1<<17)
-#define NST_FIXED_OPTION          (1<<18)
-#define NST_PROHIBIT_RECURSION    (1<<19)
-#define NST_SUPER                 (1<<20)
+#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_STOP_BT_SIMPLE_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) |= (f))
-#define NODE_STATUS_REMOVE(node,f)  (NODE_STATUS(node) &= ~(f))
-
-#define NODE_IS_BY_NUMBER(node)       ((NODE_STATUS(node) & NST_BY_NUMBER)      != 0)
-#define NODE_IS_IN_REAL_REPEAT(node)  ((NODE_STATUS(node) & NST_IN_REAL_REPEAT) != 0)
-#define NODE_IS_CALLED(node)          ((NODE_STATUS(node) & NST_CALLED)         != 0)
-#define NODE_IS_IN_MULTI_ENTRY(node)  ((NODE_STATUS(node) & NST_IN_MULTI_ENTRY) != 0)
-#define NODE_IS_RECURSION(node)       ((NODE_STATUS(node) & NST_RECURSION)      != 0)
-#define NODE_IS_IN_ZERO_REPEAT(node)  ((NODE_STATUS(node) & NST_IN_ZERO_REPEAT) != 0)
-#define NODE_IS_NAMED_GROUP(node)     ((NODE_STATUS(node) & NST_NAMED_GROUP)  != 0)
-#define NODE_IS_ADDR_FIXED(node)      ((NODE_STATUS(node) & NST_ADDR_FIXED)   != 0)
-#define NODE_IS_CLEN_FIXED(node)      ((NODE_STATUS(node) & NST_CLEN_FIXED)   != 0)
-#define NODE_IS_MIN_FIXED(node)       ((NODE_STATUS(node) & NST_MIN_FIXED)    != 0)
-#define NODE_IS_MAX_FIXED(node)       ((NODE_STATUS(node) & NST_MAX_FIXED)    != 0)
-#define NODE_IS_MARK1(node)           ((NODE_STATUS(node) & NST_MARK1)        != 0)
-#define NODE_IS_MARK2(node)           ((NODE_STATUS(node) & NST_MARK2)        != 0)
-#define NODE_IS_NEST_LEVEL(node)      ((NODE_STATUS(node) & NST_NEST_LEVEL)   != 0)
-#define NODE_IS_BY_NAME(node)         ((NODE_STATUS(node) & NST_BY_NAME)      != 0)
-#define NODE_IS_BACKREF(node)         ((NODE_STATUS(node) & NST_BACKREF)      != 0)
-#define NODE_IS_CHECKER(node)         ((NODE_STATUS(node) & NST_CHECKER)      != 0)
-#define NODE_IS_FIXED_OPTION(node)    ((NODE_STATUS(node) & NST_FIXED_OPTION) != 0)
-#define NODE_IS_SUPER(node)           ((NODE_STATUS(node) & NST_SUPER)        != 0)
+#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) & NST_PROHIBIT_RECURSION) != 0)
+    ((NODE_STATUS(node) & NODE_ST_PROHIBIT_RECURSION) != 0)
 #define NODE_IS_STOP_BT_SIMPLE_REPEAT(node) \
-    ((NODE_STATUS(node) & NST_STOP_BT_SIMPLE_REPEAT) != 0)
+    ((NODE_STATUS(node) & NODE_ST_STOP_BT_SIMPLE_REPEAT) != 0)
 
 #define NODE_BODY(node)           ((node)->u.base.body)
 #define NODE_QUANT_BODY(node)      ((node)->body)
index 12e93e88d80b372ce66a3a605c67b6eb350f92cc..4ffd44b071cd5c030060fba334c7c93ced44e25d 100644 (file)
@@ -268,7 +268,7 @@ property_name_to_ctype(OnigEncoding enc, UChar* p, UChar* end)
   if (len < sizeof(q) - 1) {
     xmemcpy(q, p, (size_t )len);
     q[len] = '\0';
-    pc = euc_jp_lookup_property_name(q, len);
+    pc = onigenc_sjis_lookup_property_name(q, len);
     if (pc != 0)
       return pc->ctype;
   }
index 83a7b451425dcf76efa05be1fcf29410b16a7d44..0d0c68f7ba8d66baa9463cd3218d71378237fdbd 100644 (file)
@@ -1,5 +1,5 @@
-/* ANSI-C code produced by gperf version 3.0.4 */
-/* Command-line: gperf -pt -T -L ANSI-C -N sjis_lookup_property_name --output-file sjis_prop.c sjis_prop.gperf  */
+/* ANSI-C code produced by gperf version 3.1 */
+/* Command-line: /usr/bin/gperf -pt -T -L ANSI-C -N onigenc_sjis_lookup_property_name --output-file gperf2.tmp sjis_prop.gperf  */
 /* Computed positions: -k'1,3' */
 
 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -26,7 +26,7 @@
       && ('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-gnu-gperf@gnu.org>."
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
 #endif
 
 #line 1 "sjis_prop.gperf"
@@ -49,7 +49,7 @@ inline
 #endif
 #endif
 static unsigned int
-hash (register const char *str, register unsigned int len)
+hash (register const char *str, register size_t len)
 {
   static unsigned char asso_values[] =
     {
@@ -80,17 +80,11 @@ hash (register const char *str, register unsigned int len)
       56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
       56, 56, 56, 56, 56, 56
     };
-  return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]];
+  return (unsigned int )len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]];
 }
 
-#ifdef __GNUC__
-__inline
-#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
 struct PropertyNameCtype *
-sjis_lookup_property_name (register const char *str, register unsigned int len)
+onigenc_sjis_lookup_property_name (register const char *str, register size_t len)
 {
   static struct PropertyNameCtype wordlist[] =
     {
@@ -144,9 +138,9 @@ sjis_lookup_property_name (register const char *str, register unsigned int len)
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
     {
-      register int key = hash (str, len);
+      register unsigned int key = hash (str, len);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           register const char *s = wordlist[key].name;
 
index a8bae66ad86644af86d0b6a3d6df135d3d91d229..63bc65c6f716675ac0070a9990f673f06440b885 100644 (file)
@@ -2,7 +2,7 @@
   unicode.c -  Oniguruma (regular expression library)
 **********************************************************************/
 /*-
- * Copyright (c) 2002-2017  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
+ * 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
@@ -104,7 +104,7 @@ onigenc_unicode_mbc_case_fold(OnigEncoding enc,
   }
 #endif
 
-  buk = unicode_unfold_key(code);
+  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);
@@ -316,7 +316,7 @@ onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc,
   }
 #endif
 
-  buk = unicode_unfold_key(code);
+  buk = onigenc_unicode_unfold_key(code);
   if (buk != 0) {
     if (buk->fold_len == 1) {
       int un;
@@ -356,7 +356,7 @@ onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc,
         for (fn = 0; fn < 2; fn++) {
           int index;
           cs[fn][0] = FOLDS2_FOLD(buk->index)[fn];
-          index = unicode_fold1_key(&cs[fn][0]);
+          index = onigenc_unicode_fold1_key(&cs[fn][0]);
           if (index >= 0) {
             int m = FOLDS1_UNFOLDS_NUM(index);
             for (i = 0; i < m; i++) {
@@ -393,7 +393,7 @@ onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc,
         for (fn = 0; fn < 3; fn++) {
           int index;
           cs[fn][0] = FOLDS3_FOLD(buk->index)[fn];
-          index = unicode_fold1_key(&cs[fn][0]);
+          index = onigenc_unicode_fold1_key(&cs[fn][0]);
           if (index >= 0) {
             int m = FOLDS1_UNFOLDS_NUM(index);
             for (i = 0; i < m; i++) {
@@ -424,7 +424,7 @@ onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc,
     }
   }
   else {
-    int index = unicode_fold1_key(&code);
+    int index = onigenc_unicode_fold1_key(&code);
     if (index >= 0) {
       int m = FOLDS1_UNFOLDS_NUM(index);
       for (i = 0; i < m; i++) {
@@ -447,7 +447,7 @@ onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc,
     codes[0] = code;
     code = ONIGENC_MBC_TO_CODE(enc, p, end);
 
-    buk = unicode_unfold_key(code);
+    buk = onigenc_unicode_unfold_key(code);
     if (buk != 0 && buk->fold_len == 1) {
       codes[1] = *FOLDS1_FOLD(buk->index);
     }
@@ -457,7 +457,7 @@ onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc,
     clen = enclen(enc, p);
     len += clen;
 
-    index = unicode_fold2_key(codes);
+    index = onigenc_unicode_fold2_key(codes);
     if (index >= 0) {
       m = FOLDS2_UNFOLDS_NUM(index);
       for (i = 0; i < m; i++) {
@@ -471,7 +471,7 @@ onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc,
     p += clen;
     if (p < end) {
       code = ONIGENC_MBC_TO_CODE(enc, p, end);
-      buk = unicode_unfold_key(code);
+      buk = onigenc_unicode_unfold_key(code);
       if (buk != 0 && buk->fold_len == 1) {
         codes[2] = *FOLDS1_FOLD(buk->index);
       }
@@ -481,7 +481,7 @@ onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc,
       clen = enclen(enc, p);
       len += clen;
 
-      index = unicode_fold3_key(codes);
+      index = onigenc_unicode_fold3_key(codes);
       if (index >= 0) {
         m = FOLDS3_UNFOLDS_NUM(index);
         for (i = 0; i < m; i++) {
@@ -497,13 +497,19 @@ onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc,
   return n;
 }
 
+#ifdef USE_UNICODE_PROPERTIES
+#include "unicode_property_data.c"
+#else
+#include "unicode_property_data_posix.c"
+#endif
+
 
 #ifdef USE_UNICODE_EXTENDED_GRAPHEME_CLUSTER
 
 enum EGCB_BREAK_TYPE {
   EGCB_NOT_BREAK = 0,
   EGCB_BREAK     = 1,
-  EGCB_BREAK_UNDEF_E_MODIFIER = 2,
+  EGCB_BREAK_UNDEF_GB11  = 2,
   EGCB_BREAK_UNDEF_RI_RI = 3
 };
 
@@ -517,10 +523,13 @@ enum EGCB_TYPE {
   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,
@@ -588,7 +597,7 @@ unicode_egcb_is_break_2code(OnigCodePoint from_code, OnigCodePoint to_code)
         && (to == EGCB_V || to == EGCB_T)) return EGCB_NOT_BREAK;
 
     /* GB8 */
-    if ((from == EGCB_LVT || from == EGCB_T) && (to == EGCB_T))
+    if ((to == EGCB_T) && (from == EGCB_LVT || from == EGCB_T))
       return EGCB_NOT_BREAK;
 
     goto GB999;
@@ -602,16 +611,13 @@ unicode_egcb_is_break_2code(OnigCodePoint from_code, OnigCodePoint to_code)
   /* GB9b */
   if (from == EGCB_Prepend) return EGCB_NOT_BREAK;
 
-  /* GB10 */
-  if (to == EGCB_E_Modifier) {
-    if (from == EGCB_E_Base || from == EGCB_E_Base_GAZ) return EGCB_NOT_BREAK;
-    if (from == EGCB_Extend) return EGCB_BREAK_UNDEF_E_MODIFIER;
-    goto GB999;
-  }
+  /* GB10 removed */
 
   /* GB11 */
   if (from == EGCB_ZWJ) {
-    if (to == EGCB_Glue_After_Zwj || to == EGCB_E_Base_GAZ) return EGCB_NOT_BREAK;
+    if (onigenc_unicode_is_code_ctype(to_code, PROP_INDEX_EXTENDEDPICTOGRAPHIC))
+      return EGCB_BREAK_UNDEF_GB11;
+
     goto GB999;
   }
 
@@ -664,12 +670,13 @@ onigenc_egcb_is_break_position(OnigEncoding enc, UChar* p, UChar* prev,
     return 1;
     break;
 
-  case EGCB_BREAK_UNDEF_E_MODIFIER:
+  case EGCB_BREAK_UNDEF_GB11:
     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_E_Base || type == EGCB_E_Base_GAZ)
+      if (onigenc_unicode_is_code_ctype(from, PROP_INDEX_EXTENDEDPICTOGRAPHIC))
         return 0;
+
+      type = egcb_get_type(from);
       if (type != EGCB_Extend)
         break;
     }
@@ -700,25 +707,6 @@ onigenc_egcb_is_break_position(OnigEncoding enc, UChar* p, UChar* prev,
 }
 
 
-/*
- Undefine __GNUC__ for Escape warnings in Clang.
-
-./unicode_property_data.c:26730:44: warning: static variable
-      'unicode_prop_name_pool_contents' is used in an inline function with
-      external linkage [-Wstatic-in-inline]
-              register const char *s = o + unicode_prop_name_pool;
-*/
-
-#ifdef __clang__
-#undef __GNUC__
-#endif
-
-#ifdef USE_UNICODE_PROPERTIES
-#include "unicode_property_data.c"
-#else
-#include "unicode_property_data_posix.c"
-#endif
-
 #define USER_DEFINED_PROPERTY_MAX_NUM  20
 
 typedef struct {
index 230440770ab91b93ba46f0f405aa245e17d23c57..fcb2daa394bb29985262b09c2117cd95e10e62a5 100644 (file)
@@ -1,6 +1,6 @@
 /* unicode_egcb_data.c: Generated by make_unicode_egcb_data.py. */
 /*-
- * Copyright (c) 2017  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
+ * 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
  * SUCH DAMAGE.
  */
 
-#define GRAPHEME_BREAK_PROPERTY_VERSION  10_0_0
+#define GRAPHEME_BREAK_PROPERTY_VERSION  11_0_0
 
 /*
 CR
 Control
-E_Base
-E_Base_GAZ
-E_Modifier
 Extend
-Glue_After_Zwj
 L
 LF
 LV
@@ -47,7 +43,7 @@ V
 ZWJ
 */
 
-static int EGCB_RANGE_NUM = 1354;
+static int EGCB_RANGE_NUM = 1321;
 static EGCB_RANGE_TYPE EGCB_RANGES[] = {
  {0x000000, 0x000009, EGCB_Control },
  {0x00000a, 0x00000a, EGCB_LF },
@@ -78,12 +74,13 @@ static EGCB_RANGE_TYPE EGCB_RANGES[] = {
  {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 },
- {0x0008d4, 0x0008e1, EGCB_Extend },
+ {0x0008d3, 0x0008e1, EGCB_Extend },
  {0x0008e2, 0x0008e2, EGCB_Prepend },
  {0x0008e3, 0x000902, EGCB_Extend },
  {0x000903, 0x000903, EGCB_SpacingMark },
@@ -108,6 +105,7 @@ static EGCB_RANGE_TYPE EGCB_RANGES[] = {
  {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 },
@@ -151,6 +149,7 @@ static EGCB_RANGE_TYPE EGCB_RANGES[] = {
  {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 },
@@ -319,14 +318,6 @@ static EGCB_RANGE_TYPE EGCB_RANGES[] = {
  {0x002028, 0x00202e, EGCB_Control },
  {0x002060, 0x00206f, EGCB_Control },
  {0x0020d0, 0x0020f0, EGCB_Extend },
- {0x00261d, 0x00261d, EGCB_E_Base },
- {0x002640, 0x002640, EGCB_Glue_After_Zwj },
- {0x002642, 0x002642, EGCB_Glue_After_Zwj },
- {0x002695, 0x002696, EGCB_Glue_After_Zwj },
- {0x0026f9, 0x0026f9, EGCB_E_Base },
- {0x002708, 0x002708, EGCB_Glue_After_Zwj },
- {0x00270a, 0x00270d, EGCB_E_Base },
- {0x002764, 0x002764, EGCB_Glue_After_Zwj },
  {0x002cef, 0x002cf1, EGCB_Extend },
  {0x002d7f, 0x002d7f, EGCB_Extend },
  {0x002de0, 0x002dff, EGCB_Extend },
@@ -346,6 +337,7 @@ static EGCB_RANGE_TYPE EGCB_RANGES[] = {
  {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 },
@@ -1201,6 +1193,8 @@ static EGCB_RANGE_TYPE EGCB_RANGES[] = {
  {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 },
@@ -1212,10 +1206,12 @@ static EGCB_RANGE_TYPE EGCB_RANGES[] = {
  {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 },
@@ -1223,7 +1219,7 @@ static EGCB_RANGE_TYPE EGCB_RANGES[] = {
  {0x0111b6, 0x0111be, EGCB_Extend },
  {0x0111bf, 0x0111c0, EGCB_SpacingMark },
  {0x0111c2, 0x0111c3, EGCB_Prepend },
- {0x0111ca, 0x0111cc, EGCB_Extend },
+ {0x0111c9, 0x0111cc, EGCB_Extend },
  {0x01122c, 0x01122e, EGCB_SpacingMark },
  {0x01122f, 0x011231, EGCB_Extend },
  {0x011232, 0x011233, EGCB_SpacingMark },
@@ -1236,7 +1232,7 @@ static EGCB_RANGE_TYPE EGCB_RANGES[] = {
  {0x0112e3, 0x0112ea, EGCB_Extend },
  {0x011300, 0x011301, EGCB_Extend },
  {0x011302, 0x011303, EGCB_SpacingMark },
- {0x01133c, 0x01133c, EGCB_Extend },
+ {0x01133b, 0x01133c, EGCB_Extend },
  {0x01133e, 0x01133e, EGCB_Extend },
  {0x01133f, 0x01133f, EGCB_SpacingMark },
  {0x011340, 0x011340, EGCB_Extend },
@@ -1253,6 +1249,7 @@ static EGCB_RANGE_TYPE EGCB_RANGES[] = {
  {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 },
@@ -1290,9 +1287,11 @@ static EGCB_RANGE_TYPE EGCB_RANGES[] = {
  {0x011722, 0x011725, EGCB_Extend },
  {0x011726, 0x011726, EGCB_SpacingMark },
  {0x011727, 0x01172b, EGCB_Extend },
- {0x011a01, 0x011a06, EGCB_Extend },
- {0x011a07, 0x011a08, EGCB_SpacingMark },
- {0x011a09, 0x011a0a, EGCB_Extend },
+ {0x01182c, 0x01182e, EGCB_SpacingMark },
+ {0x01182f, 0x011837, EGCB_Extend },
+ {0x011838, 0x011838, EGCB_SpacingMark },
+ {0x011839, 0x01183a, EGCB_Extend },
+ {0x011a01, 0x011a0a, EGCB_Extend },
  {0x011a33, 0x011a38, EGCB_Extend },
  {0x011a39, 0x011a39, EGCB_SpacingMark },
  {0x011a3a, 0x011a3a, EGCB_Prepend },
@@ -1323,6 +1322,14 @@ static EGCB_RANGE_TYPE EGCB_RANGES[] = {
  {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 },
  {0x016af0, 0x016af4, EGCB_Extend },
  {0x016b30, 0x016b36, EGCB_Extend },
  {0x016f51, 0x016f7e, EGCB_SpacingMark },
@@ -1353,51 +1360,7 @@ static EGCB_RANGE_TYPE EGCB_RANGES[] = {
  {0x01e8d0, 0x01e8d6, EGCB_Extend },
  {0x01e944, 0x01e94a, EGCB_Extend },
  {0x01f1e6, 0x01f1ff, EGCB_Regional_Indicator },
- {0x01f308, 0x01f308, EGCB_Glue_After_Zwj },
- {0x01f33e, 0x01f33e, EGCB_Glue_After_Zwj },
- {0x01f373, 0x01f373, EGCB_Glue_After_Zwj },
- {0x01f385, 0x01f385, EGCB_E_Base },
- {0x01f393, 0x01f393, EGCB_Glue_After_Zwj },
- {0x01f3a4, 0x01f3a4, EGCB_Glue_After_Zwj },
- {0x01f3a8, 0x01f3a8, EGCB_Glue_After_Zwj },
- {0x01f3c2, 0x01f3c4, EGCB_E_Base },
- {0x01f3c7, 0x01f3c7, EGCB_E_Base },
- {0x01f3ca, 0x01f3cc, EGCB_E_Base },
- {0x01f3eb, 0x01f3eb, EGCB_Glue_After_Zwj },
- {0x01f3ed, 0x01f3ed, EGCB_Glue_After_Zwj },
- {0x01f3fb, 0x01f3ff, EGCB_E_Modifier },
- {0x01f442, 0x01f443, EGCB_E_Base },
- {0x01f446, 0x01f450, EGCB_E_Base },
- {0x01f466, 0x01f469, EGCB_E_Base_GAZ },
- {0x01f46e, 0x01f46e, EGCB_E_Base },
- {0x01f470, 0x01f478, EGCB_E_Base },
- {0x01f47c, 0x01f47c, EGCB_E_Base },
- {0x01f481, 0x01f483, EGCB_E_Base },
- {0x01f485, 0x01f487, EGCB_E_Base },
- {0x01f48b, 0x01f48b, EGCB_Glue_After_Zwj },
- {0x01f4aa, 0x01f4aa, EGCB_E_Base },
- {0x01f4bb, 0x01f4bc, EGCB_Glue_After_Zwj },
- {0x01f527, 0x01f527, EGCB_Glue_After_Zwj },
- {0x01f52c, 0x01f52c, EGCB_Glue_After_Zwj },
- {0x01f574, 0x01f575, EGCB_E_Base },
- {0x01f57a, 0x01f57a, EGCB_E_Base },
- {0x01f590, 0x01f590, EGCB_E_Base },
- {0x01f595, 0x01f596, EGCB_E_Base },
- {0x01f5e8, 0x01f5e8, EGCB_Glue_After_Zwj },
- {0x01f645, 0x01f647, EGCB_E_Base },
- {0x01f64b, 0x01f64f, EGCB_E_Base },
- {0x01f680, 0x01f680, EGCB_Glue_After_Zwj },
- {0x01f692, 0x01f692, EGCB_Glue_After_Zwj },
- {0x01f6a3, 0x01f6a3, EGCB_E_Base },
- {0x01f6b4, 0x01f6b6, EGCB_E_Base },
- {0x01f6c0, 0x01f6c0, EGCB_E_Base },
- {0x01f6cc, 0x01f6cc, EGCB_E_Base },
- {0x01f918, 0x01f91c, EGCB_E_Base },
- {0x01f91e, 0x01f91f, EGCB_E_Base },
- {0x01f926, 0x01f926, EGCB_E_Base },
- {0x01f930, 0x01f939, EGCB_E_Base },
- {0x01f93d, 0x01f93e, EGCB_E_Base },
- {0x01f9d1, 0x01f9dd, EGCB_E_Base },
+ {0x01f3fb, 0x01f3ff, EGCB_Extend },
  {0x0e0000, 0x0e001f, EGCB_Control },
  {0x0e0020, 0x0e007f, EGCB_Extend },
  {0x0e0080, 0x0e00ff, EGCB_Control },
index ffaa661726f40d4a6444ccb0445b5d5417dc3afc..0f4712addb63852f93045208e4d2a9a005d6cf8a 100644 (file)
@@ -1,21 +1,47 @@
 /* This file was converted by gperf_fold_key_conv.py
       from gperf output file. */
-/* ANSI-C code produced by gperf version 3.0.4 */
-/* Command-line: gperf -n -C -T -c -t -j1 -L ANSI-C -F,-1 -N unicode_fold1_key unicode_fold1_key.gperf  */
+/* ANSI-C code produced by gperf version 3.1 */
+/* Command-line: /usr/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 1196
+#define TOTAL_KEYWORDS 1346
 #define MIN_WORD_LENGTH 3
 #define MAX_WORD_LENGTH 3
-#define MIN_HASH_VALUE 6
-#define MAX_HASH_VALUE 1304
-/* maximum key range = 1299, duplicates = 0 */
+#define MIN_HASH_VALUE 3
+#define MAX_HASH_VALUE 1765
+/* maximum key range = 1763, duplicates = 0 */
 
 #ifdef __GNUC__
 __inline
@@ -30,2517 +56,2929 @@ hash(OnigCodePoint codes[])
 {
   static const unsigned short asso_values[] =
     {
-         7,    5,   93,    4,    1,   16,  893, 1162,  891, 1085,
-       889,  380,    8,  376, 1101,  332, 1100,  329, 1099,    3,
-       874,  943,  870,  914,   87,  322, 1095,  317, 1093,  579,
-         2,   11, 1054,   13,  956,  902,   31,  775,  632,  343,
-       619,  330,  611,  323,    0,   27,  850,  311,  599,  309,
-       849, 1240,  862, 1226,  445, 1220,  591,  888,  583, 1253,
-      1091, 1217, 1087, 1079, 1074,  419,  858,  845,  441,  304,
-       400,  842,  394, 1067,  389, 1053,  383, 1211,  218, 1206,
-       202,  436,  194, 1202,  181, 1183,  153, 1177,  376, 1166,
-       166,   56,  323,    0,  571,  112,  834,  877, 1035,  609,
-       123,  901,  145,  684,  115,  933,  364, 1163,  345,  603,
-       311,  144,  573,  162,  563, 1188,  260,  964,  240, 1174,
-       476, 1034,  453,  814,  669,  454,  815,  799,  656, 1242,
-       963,  113,  806,  270,  561,  304,  795,  268, 1031,  581,
-      1157,  182,   44,  467, 1154, 1305, 1042, 1305, 1028,  387,
-       869, 1305,  362, 1305, 1142, 1305,  639,  234, 1060, 1305,
-      1131,  381,  190,  194,  780,  185,  140,   34,  209,  173,
-      1021,  369, 1017,  145, 1150,  834,  788,  820, 1011,  116,
-       773,  658, 1004, 1241,  767,   64,  762,  648,  756,  510,
-       999,  487,  750,  254,  740,  625,  733,  662,  728,  992,
-       720,  713,  533,  986,  515,  169,  427,  702,  266,  693,
-       687,  644,  337,  963,  556,  954,  524,  947,  329,  942,
-       288,  931,  229,  925,  104, 1143,   80,  908,   48, 1138,
-        71, 1133,   59, 1131,  295,  605,  276,  525,  547, 1107,
-       540,  406,  504,  156,  920,   93,  493,   84,  676,   34,
-       247,    4, 1128,   14,   18,   32,  220,    2,  131
+         4,    2,  147,   16,    1,   13, 1233,  682, 1225,  643,
+      1208,   95,    9,   89, 1391,   82,    8,   80, 1383,    6,
+      1201,  638, 1191,  602,  151,   75, 1377,   68, 1374,  464,
+         0,   11, 1369,    3, 1352,  278,   23,  424,  660,  320,
+       640,   20,  635,   34,    5,   29,  860,   27,  630,    0,
+       854, 1352,  870, 1336,  470, 1322,  623, 1319,  610,  230,
+      1184, 1309, 1159,  779, 1042,  980,  836,  844,  456,  597,
+       285,  158,  590,  477,  583,   42,  576, 1442,  447, 1119,
+       440,  922,  426, 1434,  400, 1433,  327, 1428,  567, 1417,
+       386, 1443,  458,  856,  704, 1435, 1010,   66,  232,  413,
+       204, 1417,  226, 1412,  190, 1095,  379, 1253,  198, 1211,
+       175,  209,  561,  362,  528, 1296,  257, 1169,  240, 1291,
+       508, 1163,  484, 1228,  699,  735,  831,  488,  679,  513,
+       420,  639, 1148,   83,  683,  806, 1152,   77, 1170,  537,
+      1213,    3, 1285,  166, 1410, 1766, 1394, 1766, 1206,  460,
+       757, 1766,  367, 1766, 1339, 1766,  908,   57, 1321, 1766,
+       384,  345,  686,   52, 1145,   40,  218,  180, 1135,   33,
+      1292,  276, 1282,   14, 1408,  719, 1128,  701, 1275,  129,
+      1116,  610, 1255, 1343, 1109,  874, 1097,  448,  823,  346,
+       877,  181, 1089,    0, 1077,  786, 1080,  768, 1068, 1180,
+      1060, 1056, 1048,  798,  811,  177, 1045, 1022, 1030,  993,
+      1020,  789,  353,  990,  548,  982,  517,  970,  334,  765,
+       166,  753,  138,  743,  100,  963,   87,  720,   49,  957,
+        75,  951,   62,  411,  126,  945,  113, 1266,  317,  935,
+       304,  925,  293, 1244,  714,  912,  275,  490,  263,  469,
+       395, 1297,  896,  208,  887,   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)];
 }
 
-#ifdef __GNUC__
-__inline
-#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
 int
-unicode_fold1_key(OnigCodePoint codes[])
+onigenc_unicode_fold1_key(OnigCodePoint codes[])
 {
   static const short int wordlist[] =
     {
-      -1, -1, -1, -1, -1, -1,
-
-      3240,
+      -1, -1, -1,
 
-      2547,
-
-      1016,
-
-      1772,
+      3408,
 
-      1712,
+      1900,
 
-      1751,
+      1861,
 
-      231,
+      210,
 
       171,
 
-      210,
+      3393,
 
-      884,
+      1921,
 
-      165,
+      1687,
+
+      231,
 
-      1724,
+      1879,
 
-      147,
+      1873,
 
-      2085,
+      189,
 
       183,
 
-      2106,
+      2234,
 
-      2082,
+      1312,
 
-      1322,
+      1273,
 
-      1262,
+      165,
 
-      1301,
+      789,
 
-      1253,
+      2255,
 
-      2073,
+      1333,
 
-      153,
+      1591,
 
-      887,
+      1627,
 
-      493,
+      1291,
 
-      1274,
+      1285,
 
-      156,
+      1909,
 
-      3243,
+      2237,
 
-      2088,
+      219,
 
-      2748,
+      3402,
 
-      2826,
+      2231,
 
-      2793,
+      3396,
 
-      2745,
+      2975,
 
-      3234,
+      2897,
 
-      1760,
+      2291,
 
-      2985,
+      2984,
 
-      2772,
+      3390,
 
-      219,
+      2276,
 
-      1460,
+      2942,
 
-      2829,
+      1321,
 
-      159,
+      2933,
 
-      2835,
+      2921,
 
-      144,
+      1615,
 
-      2127,
+      2978,
 
-      2751,
+      3486,
 
-      2601,
+      2900,
 
-      1085,
+      971,
 
-      1920,
+      273,
 
-      1310,
+      2894,
 
-      2730,
+      1603,
 
-      1214,
+      2642,
 
-      2034,
+      3537,
 
-      1643,
+      2183,
 
-      854,
+      1225,
 
       459,
 
-      3456,
+      2993,
 
       80,
 
-      2541,
+      2879,
 
-      1010,
+      1792,
 
-      2844,
+      3717,
 
-      2283,
+      1510,
 
-      1220,
+      1597,
 
-      2040,
+      378,
 
-      1655,
+      2432,
 
-      860,
+      3549,
+
+      2189,
+
+      1231,
 
       465,
 
-      3468,
+      857,
 
       92,
 
-      1514,
+      1038,
 
-      756,
+      1804,
 
-      405,
+      3729,
 
-      2286,
+      1522,
 
-      2733,
+      2708,
 
-      1217,
+      2543,
 
-      2037,
+      2435,
 
-      1649,
+      3543,
 
-      857,
+      2186,
+
+      1228,
 
       462,
 
-      3462,
+      863,
 
       86,
 
-      2394,
+      2882,
 
-      2727,
+      1798,
 
-      1211,
+      3723,
 
-      2031,
+      1516,
 
-      1637,
+      159,
 
-      851,
+      2555,
 
-      456,
+      3531,
 
-      3450,
+      2180,
 
-      1700,
+      1222,
 
-      3228,
+      456,
 
-      1742,
+      1456,
 
-      2406,
+      860,
 
-      138,
+      2876,
 
-      201,
+      1786,
 
-      559,
+      3711,
 
-      502,
+      1504,
 
-      541,
+      1444,
 
-      1694,
+      2966,
 
-      878,
+      2549,
 
-      2121,
+      3525,
 
-      3507,
+      2177,
 
-      132,
+      1219,
 
-      514,
+      453,
 
-      2400,
+      854,
 
-      1292,
+      2960,
 
-      2724,
+      2873,
 
-      1208,
+      1780,
 
-      2028,
+      3705,
 
-      1631,
+      1498,
 
-      848,
+      2936,
 
-      453,
+      2537,
 
-      3444,
+      2930,
 
-      2388,
+      3561,
 
-      2553,
+      2195,
 
-      1022,
+      1237,
 
-      2808,
+      471,
 
-      2565,
+      851,
 
-      1040,
+      105,
 
-      1863,
+      2924,
 
-      354,
+      1816,
 
-      1496,
+      3741,
 
-      315,
+      1534,
 
-      399,
+      3333,
 
-      12,
+      2531,
 
-      2562,
+      2918,
 
-      1034,
+      3555,
 
-      1856,
+      2192,
 
-      2217,
+      1234,
 
-      2268,
+      468,
 
-      309,
+      869,
 
-      1427,
+      99,
 
-      0,
+      399,
 
-      1346,
+      1810,
 
-      1259,
+      3735,
 
-      2079,
+      1528,
 
-      2205,
+      1645,
 
-      2382,
+      2567,
 
-      499,
+      3519,
 
-      694,
+      2174,
 
-      168,
+      1216,
 
-      1334,
+      2417,
+      -1,
 
-      2637,
+      866,
 
-      1121,
+      2870,
 
-      1941,
+      1774,
 
-      1457,
+      3699,
 
-      2577,
+      1492,
 
-      387,
+      541,
 
-      1037,
+      502,
 
-      1860,
+      2561,
 
-      1478,
+      694,
 
-      3072,
+      1891,
 
-      312,
+      559,
 
-      31,
+      201,
 
-      6,
+      848,
 
-      2526,
+      520,
 
-      995,
+      514,
 
-      1835,
+      3474,
+      -1,
 
-      2211,
+      959,
 
-      3066,
+      267,
 
-      288,
+      2525,
 
-      1688,
+      2270,
 
-      1367,
+      2630,
 
-      1340,
+      1303,
 
-      3501,
+      3513,
 
-      126,
+      2171,
 
-      2193,
+      1213,
 
-      3603,
+      366,
 
-      2538,
+      2333,
+      -1,
 
-      1007,
+      2867,
 
-      1841,
+      1768,
 
-      37,
+      3693,
 
-      1178,
+      1486,
 
-      294,
+      2021,
 
-      1574,
+      1060,
 
-      824,
+      324,
 
-      3138,
+      1189,
 
-      3387,
+      27,
 
-      1466,
+      2957,
+      -1,
 
-      2199,
+      845,
 
-      1373,
+      1723,
 
-      3069,
+      3648,
 
-      532,
+      3135,
 
-      2520,
+      1609,
 
-      989,
+      1681,
 
-      1832,
+      1375,
 
-      2949,
+      2519,
 
-      3213,
+      2012,
 
-      285,
+      1051,
 
-      3045,
+      315,
 
-      1454,
+      827,
 
-      3597,
+      12,
 
-      2631,
+      2714,
+      -1,
 
-      1115,
+      782,
 
-      2190,
+      2018,
 
-      3354,
+      1057,
 
-      2514,
+      321,
 
-      983,
+      2366,
 
-      1829,
+      4065,
 
-      1448,
+      1357,
 
-      3225,
+      2005,
 
-      282,
+      1044,
 
-      3051,
+      309,
 
-      3348,
+      3612,
 
-      2508,
+      0,
 
-      977,
+      2711,
+      -1,
 
-      1826,
+      1369,
 
-      631,
+      153,
 
-      676,
+      31,
 
-      279,
+      2726,
 
-      643,
+      2354,
 
-      2640,
+      1585,
 
-      1124,
+      1345,
 
-      1944,
+      2090,
 
-      1463,
+      1132,
 
-      3207,
+      387,
+      -1,
 
-      390,
+      1378,
 
-      3042,
+      2786,
 
-      637,
+      1606,
+      -1,
 
-      3342,
+      2009,
 
-      2502,
+      1047,
 
-      971,
+      312,
 
-      1823,
+      3438,
 
-      1256,
+      6,
 
-      2076,
+      919,
 
-      276,
+      2002,
 
-      3132,
+      1041,
 
-      496,
+      306,
 
-      3201,
+      2594,
 
-      162,
+      3864,
 
-      3039,
+      2360,
 
-      2721,
+      3321,
 
-      1205,
+      1351,
 
-      2025,
+      2033,
 
-      1625,
+      1072,
 
-      845,
+      336,
 
-      3195,
+      2450,
 
-      3438,
+      52,
 
-      3036,
+      2729,
 
-      658,
+      2228,
 
-      640,
+      1270,
 
-      378,
+      499,
 
-      2580,
+      3858,
 
-      1061,
+      168,
 
-      1884,
+      2384,
+      -1,
 
-      3141,
+      1399,
 
-      712,
+      1594,
+      -1,
 
-      336,
+      715,
 
-      613,
+      2030,
 
-      52,
+      1069,
 
-      1247,
+      333,
 
-      2067,
+      2444,
 
-      3189,
+      46,
 
-      2235,
+      3597,
 
-      3033,
+      2213,
 
-      2301,
+      1255,
 
-      3540,
+      487,
+      -1,
 
-      2919,
+      141,
 
-      1388,
+      2378,
 
-      1538,
+      1852,
 
-      786,
+      1393,
 
-      622,
+      1570,
+      -1,
 
-      2376,
+      712,
 
-      1058,
+      3591,
 
-      1881,
+      2210,
 
-      2913,
+      1252,
 
-      709,
+      483,
 
-      333,
+      393,
 
-      2700,
+      135,
 
-      46,
+      2891,
 
-      2004,
+      1846,
 
-      1583,
+      1621,
 
-      833,
+      1564,
 
-      2229,
+      3471,
 
-      3396,
+      1960,
 
-      2295,
+      956,
 
-      607,
+      3852,
+      -1,
 
-      691,
+      2273,
 
-      1382,
+      2627,
 
-      1226,
+      884,
 
-      2046,
+      3579,
 
-      1667,
+      2204,
 
-      866,
+      1246,
 
-      471,
+      480,
 
-      3480,
+      2330,
 
-      105,
+      123,
 
-      1445,
+      532,
 
-      2916,
+      1834,
 
-      1433,
+      3759,
 
-      601,
+      1552,
+      -1,
 
-      2718,
+      3573,
 
-      1202,
+      2201,
 
-      2022,
+      1243,
 
-      1619,
+      477,
 
-      842,
+      2990,
 
-      2892,
+      117,
 
-      3432,
+      878,
 
-      598,
+      1828,
 
-      1223,
+      3753,
 
-      2043,
+      1546,
 
-      1661,
+      700,
+      -1,
 
-      863,
+      3846,
 
-      468,
+      3567,
 
-      3474,
+      2198,
 
-      99,
+      1240,
 
-      3315,
+      474,
 
-      2475,
+      875,
 
-      944,
+      111,
 
-      2898,
+      658,
 
-      2418,
+      1822,
 
-      3255,
+      3747,
 
-      264,
+      1540,
 
-      3249,
+      3801,
 
-      595,
+      1984,
 
-      1049,
+      1005,
 
-      1872,
+      288,
+      -1,
 
-      3591,
+      2285,
 
-      2178,
+      2675,
 
-      324,
+      872,
 
-      2340,
+      2168,
 
-      27,
+      1210,
+      -1,
 
-      2370,
+      643,
 
-      1439,
+      2342,
 
-      2889,
+      2864,
 
-      3237,
+      1762,
 
-      2544,
+      3687,
 
-      1013,
+      1480,
+      -1, -1,
 
-      1844,
+      652,
 
-      2412,
+      3261,
 
-      1364,
+      381,
 
-      297,
+      3900,
 
-      2715,
+      3002,
 
-      1199,
+      842,
 
-      2019,
+      637,
 
-      1613,
+      1675,
 
-      839,
+      2159,
 
-      2886,
+      1201,
 
-      3426,
+      3231,
 
-      3162,
+      661,
 
-      2706,
+      2513,
 
-      1190,
+      2855,
 
-      2010,
+      1744,
 
-      1595,
+      3669,
 
-      2142,
+      1462,
 
-      2883,
+      775,
 
-      3408,
+      3882,
 
-      2817,
+      2426,
 
-      3081,
+      3318,
 
-      1046,
+      37,
 
-      1869,
+      2084,
 
-      2277,
+      1111,
 
-      2811,
+      372,
 
-      321,
+      3222,
 
-      3549,
+      3894,
 
-      3606,
+      2765,
 
-      664,
+      640,
+      -1,
 
-      2136,
+      1384,
 
-      3231,
+      2495,
 
-      2787,
+      3870,
 
-      3054,
+      3228,
 
-      2880,
+      2015,
 
-      2781,
+      1054,
 
-      2364,
+      318,
 
-      1358,
+      3903,
 
-      2616,
+      18,
 
-      1100,
+      3216,
 
-      1935,
+      1123,
 
-      1043,
+      1990,
 
-      1866,
+      1017,
 
-      372,
+      294,
 
-      2346,
+      2777,
 
-      318,
+      2372,
 
-      2853,
+      2687,
 
-      18,
+      1363,
 
-      1472,
+      3078,
 
-      3585,
+      3603,
 
-      393,
+      2216,
 
-      2223,
+      1258,
 
-      2532,
+      2348,
 
-      1001,
+      3288,
 
-      1838,
+      3876,
 
-      3078,
+      1981,
 
-      1352,
+      999,
 
-      291,
+      285,
 
-      3336,
+      1576,
 
-      2496,
+      667,
 
-      965,
+      2669,
 
-      1820,
+      3219,
 
-      381,
+      3366,
 
-      2196,
+      3069,
 
-      3330,
+      3999,
 
-      2490,
+      3552,
 
-      959,
+      2339,
 
-      1817,
+      3213,
 
-      369,
+      3924,
 
-      3324,
+      3984,
 
-      2484,
+      96,
 
-      953,
+      3075,
 
-      1814,
+      1807,
 
-      586,
+      3732,
 
-      3075,
+      1525,
 
-      3318,
+      2051,
 
-      2478,
+      1090,
 
-      947,
+      3063,
 
-      1811,
+      2486,
 
-      2775,
+      2351,
 
-      655,
+      3507,
 
-      2187,
+      1978,
 
-      2739,
+      993,
 
-      2769,
+      282,
 
-      3219,
+      3975,
 
-      1682,
+      3918,
 
-      3048,
+      2663,
+      -1,
 
-      2181,
+      1435,
 
-      3495,
+      2558,
 
-      120,
+      2279,
 
-      3579,
+      3993,
+      -1,
 
-      3183,
+      3987,
 
-      625,
+      3501,
 
-      3030,
+      1975,
 
-      3303,
+      987,
 
-      2463,
+      279,
 
-      932,
+      3981,
 
-      3177,
+      3066,
 
-      3561,
+      2657,
 
-      3027,
+      3495,
 
-      258,
-      -1,
+      1972,
 
-      3171,
+      981,
 
-      2697,
+      276,
 
-      3024,
+      3060,
+      -1,
 
-      2001,
+      2651,
 
-      1577,
+      2996,
 
-      827,
+      1669,
 
-      3165,
+      3465,
 
-      3390,
+      1957,
 
-      3021,
+      947,
 
-      3351,
+      1993,
 
-      2511,
+      1023,
 
-      980,
+      297,
 
-      652,
-      -1,
+      2621,
 
-      3312,
+      369,
 
-      2472,
+      2693,
 
-      941,
+      765,
 
-      1808,
+      3171,
 
-      3270,
+      3378,
 
-      2430,
+      2324,
 
-      899,
+      3600,
 
-      1787,
-      -1,
+      3423,
 
-      2289,
+      1936,
+
+      903,
 
       243,
 
-      2928,
+      144,
 
-      2175,
-      -1,
+      613,
 
-      1067,
+      2579,
 
-      1890,
+      3480,
 
-      2157,
+      1573,
 
-      715,
+      965,
 
-      342,
+      270,
 
-      345,
+      3360,
 
-      65,
+      2306,
 
-      74,
-      -1,
+      2636,
 
-      2901,
+      3840,
 
-      2247,
+      2039,
 
-      2256,
+      1078,
 
-      2313,
+      342,
 
-      2322,
+      2462,
 
-      3198,
+      65,
 
-      1400,
+      3594,
 
-      1409,
-      -1,
+      348,
 
-      366,
+      2477,
 
-      3159,
+      709,
 
-      706,
+      2972,
 
-      3018,
+      138,
 
-      592,
+      2396,
 
-      1064,
+      1849,
 
-      1887,
+      1411,
 
-      2997,
+      1567,
 
-      700,
+      2411,
 
-      339,
+      718,
 
-      589,
+      1426,
 
-      59,
-      -1,
+      3822,
 
-      2925,
+      3017,
+
+      724,
       -1,
 
-      2241,
+      3354,
 
-      3090,
+      3195,
 
-      2307,
+      2036,
 
-      1532,
+      1075,
 
-      779,
+      339,
 
-      1394,
+      2456,
 
-      2742,
+      59,
+      -1, -1,
 
-      1241,
+      351,
 
-      2061,
+      2483,
 
-      1697,
+      2165,
 
-      881,
+      1207,
 
-      483,
-      -1,
+      2390,
 
-      135,
+      3348,
 
-      3111,
+      1405,
 
-      2964,
-      -1,
+      2861,
 
-      2922,
+      1756,
 
-      1235,
+      3681,
 
-      2055,
+      1474,
 
-      1685,
+      1432,
 
-      875,
+      3342,
 
-      480,
+      2027,
 
-      3498,
+      1066,
 
-      123,
+      330,
 
-      3543,
+      706,
 
-      1526,
+      40,
 
-      772,
+      622,
+      -1,
 
-      2694,
+      3909,
 
-      2895,
+      3312,
+      -1,
 
-      1998,
+      3384,
 
-      1571,
+      363,
 
-      820,
+      2507,
 
-      421,
+      1387,
 
-      3384,
+      2225,
 
-      3156,
+      1267,
 
-      2877,
+      496,
 
-      2712,
+      3042,
 
-      1196,
+      162,
 
-      2016,
+      607,
 
-      1607,
+      2162,
 
-      1670,
+      1204,
 
-      2874,
+      1588,
+      -1,
 
-      3420,
+      3888,
 
-      3483,
+      2858,
 
-      108,
+      1750,
 
-      2691,
+      3675,
 
-      2871,
+      1468,
 
-      1995,
+      3327,
+      -1,
 
-      1565,
+      3225,
 
-      814,
+      634,
 
-      574,
+      2024,
 
-      3378,
+      1063,
 
-      2868,
+      327,
 
-      1232,
+      3279,
 
-      2052,
+      34,
 
-      1679,
+      3201,
 
-      872,
+      1987,
 
-      477,
+      1011,
 
-      3492,
+      291,
+      -1,
 
-      117,
+      2501,
 
-      1229,
+      2681,
 
-      2049,
+      601,
 
-      1673,
+      1381,
 
-      869,
+      3489,
 
-      474,
+      1969,
 
-      3486,
+      974,
 
-      111,
+      2345,
+      -1,
 
-      2358,
+      3192,
 
-      2709,
+      2645,
 
-      1193,
+      3483,
 
-      2013,
+      1966,
 
-      1601,
+      968,
 
-      697,
+      3114,
 
-      2589,
+      3867,
 
-      3414,
+      598,
 
-      1908,
+      2639,
 
-      1055,
+      3477,
 
-      1878,
+      1963,
 
-      357,
+      962,
       -1,
 
-      330,
-
-      670,
+      3960,
 
-      40,
+      595,
 
-      2550,
+      2633,
 
-      1019,
+      3468,
 
-      1847,
+      3072,
 
-      1052,
+      951,
 
-      1875,
+      264,
 
-      300,
+      3246,
 
-      1436,
+      2336,
 
-      327,
+      2624,
 
-      1376,
+      3309,
 
-      34,
+      3048,
 
-      2865,
+      625,
 
-      3282,
+      3189,
 
-      2442,
+      703,
 
-      911,
+      2327,
 
-      1793,
+      3435,
 
-      363,
+      1942,
 
-      2352,
+      916,
 
       249,
 
-      1370,
+      2267,
+      -1,
 
-      3276,
+      2591,
 
-      2436,
+      1651,
 
-      905,
+      574,
 
-      1790,
+      3039,
+      -1,
 
-      2169,
+      3186,
 
-      3102,
+      2318,
 
-      246,
+      3429,
 
-      3087,
+      1939,
 
-      3252,
-      -1,
+      910,
 
-      3537,
+      246,
 
-      1778,
+      745,
 
-      2163,
+      3183,
 
-      2574,
+      2585,
 
-      237,
+      3405,
 
-      3057,
+      1927,
 
-      2823,
+      2954,
 
-      3084,
+      237,
+      -1,
 
-      1664,
+      2312,
 
-      3573,
+      1918,
 
-      24,
+      3168,
 
-      3477,
+      228,
 
-      102,
+      3204,
 
-      1769,
-      -1,
+      4029,
 
-      1328,
+      1915,
 
-      228,
+      354,
 
-      3003,
+      225,
 
-      3531,
+      1339,
 
-      1361,
+      3036,
+      -1,
 
-      2202,
+      2294,
 
-      1766,
+      3372,
 
-      2145,
-      -1,
+      1330,
 
-      225,
+      2261,
 
-      3000,
+      3147,
 
-      2862,
+      2288,
 
-      1319,
+      1438,
 
-      1544,
+      1327,
 
-      792,
+      2249,
 
-      2139,
+      673,
 
-      3357,
-      -1,
+      3336,
 
-      2991,
+      3936,
+
+      3033,
 
-      1763,
+      3011,
 
-      1316,
+      1912,
 
-      2415,
+      3951,
 
       222,
 
-      2859,
+      3330,
 
-      2622,
+      3008,
 
-      1106,
+      3029,
 
-      3567,
-      -1,
+      3834,
 
-      2133,
+      2948,
 
-      375,
+      3243,
 
-      2982,
+      3005,
 
-      2856,
+      3324,
 
-      1592,
+      2282,
 
-      1313,
+      2912,
 
-      432,
+      1324,
 
-      3405,
+      3014,
 
-      1520,
+      664,
 
-      762,
+      3051,
 
-      2979,
+      3315,
+      -1,
 
-      679,
+      2048,
 
-      2274,
+      1087,
 
-      661,
+      3930,
 
-      1076,
+      2480,
 
-      1899,
+      2057,
 
-      2850,
+      688,
 
-      724,
+      357,
 
-      1502,
+      3957,
 
-      742,
+      1126,
 
-      1166,
+      2738,
 
-      628,
+      2999,
 
-      1550,
+      2414,
 
-      2976,
+      2780,
 
-      2265,
+      1429,
 
-      3363,
+      2243,
 
-      2331,
+      4062,
 
-      1070,
+      727,
 
-      1893,
+      1447,
 
-      1418,
+      3828,
+      -1,
 
-      3123,
+      2042,
 
-      685,
+      1081,
 
-      2343,
+      3912,
 
-      71,
+      2468,
 
-      1244,
+      71,
 
-      2064,
+      1996,
 
-      1703,
+      1029,
 
-      2253,
+      300,
 
-      487,
+      1639,
 
-      2319,
+      3237,
 
-      141,
-      -1,
+      2699,
 
-      1406,
-      -1,
+      2402,
 
-      2703,
+      2906,
 
-      1187,
+      1417,
 
-      2007,
+      3585,
 
-      1589,
+      2207,
 
-      9,
+      1249,
+      -1,
 
-      565,
+      736,
 
-      3402,
+      129,
 
-      1184,
+      3534,
 
-      2214,
+      1840,
 
-      1586,
+      3765,
 
-      836,
+      1558,
 
-      429,
+      592,
 
-      3399,
+      77,
 
-      1343,
+      1633,
 
-      2937,
+      1789,
 
-      634,
+      3714,
 
-      1181,
+      1507,
 
-      556,
+      3969,
 
-      1580,
+      589,
 
-      830,
+      2429,
+      -1, -1,
 
-      425,
+      3906,
 
-      3393,
+      730,
       -1,
 
-      3510,
+      345,
 
-      2904,
+      2471,
 
-      553,
+      74,
+      -1,
 
-      2931,
+      3234,
 
-      1172,
-      -1,
+      3522,
 
-      1562,
+      2540,
 
-      810,
+      586,
 
-      417,
+      450,
 
-      3375,
+      2405,
 
-      2688,
-      -1,
+      3198,
 
-      1992,
+      1420,
 
-      1559,
+      1777,
 
-      807,
+      3702,
 
-      550,
+      1495,
 
-      3372,
-      -1,
+      3516,
+      -1, -1,
 
-      2685,
+      447,
 
-      3558,
+      3180,
 
-      1989,
+      2081,
 
-      1553,
+      1108,
 
-      800,
+      1771,
 
-      2682,
+      3696,
 
-      3366,
+      1489,
 
-      1986,
+      2762,
 
-      1547,
+      3177,
 
-      796,
+      3510,
       -1,
 
-      3360,
-
-      2679,
+      2528,
 
-      1163,
+      444,
+      -1,
 
-      1983,
+      1177,
 
-      1541,
+      3174,
 
-      789,
+      1765,
 
-      414,
-      -1,
+      3690,
 
-      3516,
-      -1,
+      1483,
 
-      673,
+      1699,
 
-      2676,
+      3624,
 
-      1160,
+      2522,
 
-      1980,
+      565,
 
-      1535,
+      3450,
 
-      783,
+      3081,
 
-      411,
+      931,
 
-      2670,
+      255,
 
-      1154,
+      556,
+      -1,
 
-      1974,
+      2606,
 
-      1523,
+      3045,
 
-      767,
+      679,
 
-      408,
+      553,
 
-      2667,
+      2516,
+      -1,
 
-      1151,
+      3153,
 
-      1971,
+      432,
 
-      1517,
+      1693,
 
-      759,
+      3618,
 
-      2664,
+      3026,
 
-      1148,
+      1741,
 
-      1968,
+      3666,
 
-      1511,
+      1459,
+      -1,
 
-      752,
+      1186,
 
-      3555,
+      2423,
 
-      2658,
+      3023,
 
-      1142,
+      795,
 
-      1962,
+      3150,
 
-      1499,
+      1717,
 
-      739,
+      3642,
+      -1,
 
-      3552,
+      550,
 
-      2970,
+      3020,
 
-      2634,
+      2489,
 
-      1118,
+      3141,
 
-      1938,
+      2147,
 
-      1451,
+      2492,
 
-      2271,
+      421,
 
-      384,
+      820,
 
-      2130,
+      3132,
 
-      3546,
+      2843,
 
-      2652,
+      1720,
 
-      1136,
+      3645,
 
-      1956,
+      1450,
 
-      1487,
+      3129,
+      -1, -1,
 
-      730,
+      2123,
 
-      396,
-      -1,
+      1165,
 
-      2592,
+      408,
 
-      3153,
+      676,
 
-      1911,
+      823,
 
-      3528,
-      -1,
+      2819,
 
-      360,
+      1672,
 
-      3150,
+      682,
 
-      2847,
+      2045,
 
-      721,
+      1084,
 
-      348,
+      3963,
 
-      3525,
+      2474,
 
-      2586,
+      3459,
 
-      1082,
+      1954,
 
-      1905,
+      941,
       -1,
 
-      2262,
+      770,
 
-      1442,
+      3126,
 
-      2328,
+      2615,
 
-      3519,
+      2408,
 
-      3135,
+      3462,
 
-      1415,
+      1423,
 
-      1073,
+      944,
 
-      1896,
+      261,
 
-      3513,
+      721,
+      -1,
 
-      718,
+      2618,
       -1,
 
-      68,
+      628,
+
+      3954,
 
-      1430,
+      3411,
 
-      1490,
+      1930,
 
-      733,
+      2321,
 
-      2250,
+      240,
 
-      2259,
+      1026,
+      -1,
 
-      2316,
+      3399,
 
-      2325,
+      1924,
 
-      3105,
+      2696,
 
-      1403,
+      234,
 
-      1412,
+      3252,
       -1,
 
-      3093,
+      4056,
 
-      2556,
+      3282,
 
-      1025,
+      1342,
+      -1,
 
-      1850,
+      3417,
 
-      1484,
+      1933,
 
-      727,
+      896,
 
-      303,
+      3942,
 
-      3099,
+      1336,
+      -1,
 
-      3321,
+      2573,
 
-      2481,
+      405,
 
-      950,
+      2126,
 
-      3309,
+      1168,
 
-      2469,
+      4014,
 
-      938,
+      1663,
 
-      267,
+      2300,
 
-      3258,
+      2822,
 
-      3246,
+      1678,
 
-      261,
+      3207,
+      -1,
 
-      1781,
+      3615,
 
-      1775,
+      2222,
 
-      2184,
+      1264,
 
-      240,
+      493,
 
-      234,
+      759,
 
-      2172,
+      156,
 
-      3306,
+      3855,
 
-      2466,
+      779,
+      -1,
 
-      935,
+      3609,
 
-      1805,
+      2219,
 
-      3264,
+      1261,
 
-      2424,
+      490,
+      -1,
 
-      893,
+      150,
 
-      1784,
+      3087,
 
-      1331,
+      3849,
 
-      1325,
-      -1,
+      890,
 
-      3060,
+      1582,
+      -1, -1, -1,
 
-      2613,
+      3945,
 
-      1097,
+      1117,
 
-      1932,
+      375,
 
-      1739,
+      3588,
+      -1,
 
-      2151,
+      2771,
 
-      3168,
+      3843,
 
-      198,
+      3240,
 
-      1736,
+      132,
 
-      2559,
+      3777,
 
-      1028,
+      1843,
 
-      195,
-      -1,
+      3768,
 
-      2115,
-      -1,
+      1561,
 
-      2994,
+      3504,
 
-      2988,
+      3054,
 
-      2109,
+      990,
 
-      1289,
+      3576,
 
-      3279,
+      2438,
 
-      2439,
+      577,
 
-      908,
+      2660,
 
-      1286,
+      881,
 
-      1721,
+      120,
 
-      3015,
+      2888,
 
-      1718,
+      1831,
 
-      180,
+      3756,
 
-      1715,
+      1549,
 
-      177,
+      3570,
 
-      2802,
+      3771,
 
-      174,
-
-      2166,
+      3387,
 
-      2103,
+      3267,
 
-      2796,
+      3819,
 
-      2097,
+      114,
 
-      3117,
+      2885,
 
-      2091,
+      1825,
 
-      1271,
-      -1,
+      3750,
 
-      1268,
+      1543,
 
-      3,
+      3558,
+      -1, -1,
 
-      1265,
+      3795,
       -1,
 
-      1640,
-
-      2208,
+      102,
 
-      2124,
+      3546,
 
-      3453,
+      1813,
 
-      77,
+      3738,
 
-      2766,
+      1531,
+      -1,
 
-      1337,
+      89,
 
-      2760,
+      3540,
 
-      2280,
+      1801,
 
-      2754,
+      3726,
 
-      1238,
+      1519,
 
-      2058,
+      3798,
 
-      1691,
-      -1,
+      83,
 
-      2118,
+      3528,
 
-      3504,
+      1795,
 
-      129,
+      3720,
 
-      1628,
+      1513,
+      -1, -1,
 
-      2841,
+      2564,
 
-      450,
+      1783,
 
-      3441,
-      -1,
+      3708,
 
-      2568,
+      1501,
 
-      1622,
+      441,
+      -1,
 
-      2940,
+      2552,
 
-      447,
+      3111,
 
-      3435,
+      1759,
 
-      583,
+      3684,
 
-      2391,
+      1477,
 
-      15,
+      3456,
 
-      2805,
+      2546,
 
-      568,
+      937,
 
-      562,
+      258,
 
-      2220,
+      580,
 
-      1616,
+      438,
 
-      2934,
+      2612,
 
-      444,
+      2534,
+      -1,
 
-      3429,
+      1753,
 
-      1349,
+      3678,
 
-      1610,
+      1471,
 
-      580,
+      583,
 
-      441,
+      435,
 
-      3423,
+      2510,
 
-      2112,
+      1195,
 
-      571,
+      429,
 
-      2379,
+      1747,
 
-      1604,
+      3672,
 
-      1757,
+      1465,
 
-      438,
+      1735,
 
-      3417,
+      3660,
 
-      216,
+      568,
 
-      2373,
+      3351,
 
-      529,
+      3306,
 
-      1079,
+      3948,
 
-      1902,
+      2504,
 
-      1598,
+      4059,
 
-      526,
+      562,
+      -1,
 
-      435,
+      839,
 
-      3411,
+      1999,
 
-      2799,
+      1035,
 
-      49,
+      303,
 
-      1307,
+      2498,
+      -1,
 
-      2367,
+      2705,
 
-      2907,
+      3165,
 
-      2232,
+      571,
+      -1,
 
-      2337,
+      4026,
 
-      2298,
+      2156,
 
-      2361,
+      1198,
+      -1,
 
-      1424,
+      1192,
 
-      1385,
-      -1,
+      425,
 
-      511,
+      2852,
 
-      2838,
+      1738,
 
-      508,
+      3663,
 
-      2355,
+      1729,
 
-      505,
+      3654,
 
-      1175,
+      2153,
       -1,
 
-      1568,
-
-      817,
+      4020,
       -1,
 
-      3381,
+      3144,
 
-      1169,
+      2849,
 
-      2349,
+      1732,
 
-      1556,
+      3657,
 
-      804,
+      833,
 
-      3096,
+      3996,
 
-      3369,
+      3138,
 
-      2673,
+      3453,
 
-      1157,
+      1951,
 
-      1977,
+      934,
 
-      1529,
+      3978,
 
-      776,
+      2150,
 
-      2661,
+      836,
 
-      1145,
+      2609,
 
-      1965,
+      2144,
 
-      1505,
+      3972,
 
-      746,
+      2846,
 
-      2961,
+      1726,
 
-      3594,
+      3651,
 
-      2655,
+      2840,
 
-      1139,
+      1714,
 
-      1959,
+      3639,
+      -1,
 
-      1493,
+      1183,
 
-      736,
+      417,
+      -1,
 
-      3588,
+      2141,
 
-      2646,
+      830,
 
-      1130,
+      1711,
 
-      1950,
+      3636,
 
-      1475,
+      817,
 
-      2643,
+      2837,
 
-      1127,
+      1708,
 
-      1947,
+      3633,
 
-      1469,
-      -1,
+      2138,
 
-      646,
+      3966,
+      -1, -1,
 
-      3582,
+      813,
 
-      2610,
+      2834,
 
-      1094,
+      1702,
 
-      1929,
+      3627,
 
-      2595,
+      810,
 
-      3576,
+      2132,
 
-      1914,
+      1174,
+
+      414,
 
-      2583,
+      2135,
       -1,
 
-      1031,
+      2828,
 
-      1853,
-      -1,
+      1690,
 
-      3570,
+      803,
 
-      306,
+      2831,
 
-      62,
+      1696,
 
-      2607,
+      3621,
 
-      1091,
+      3273,
 
-      1926,
+      2129,
 
-      2244,
-      -1,
+      1171,
 
-      2310,
+      411,
+      -1,
 
-      3564,
+      792,
 
-      547,
+      2825,
 
-      1397,
+      1684,
 
-      3147,
+      799,
 
-      3333,
+      2120,
 
-      2493,
+      1162,
 
-      962,
+      15,
 
-      3144,
+      2717,
+      -1,
 
-      1754,
+      2816,
 
-      667,
+      1666,
+      -1,
 
-      273,
+      786,
 
-      213,
+      2369,
+      -1,
 
-      2625,
+      1360,
 
-      1109,
+      2117,
 
-      3114,
-      -1, -1,
+      1159,
+      -1,
 
-      3108,
+      3861,
 
-      3327,
+      762,
 
-      2487,
+      2813,
 
-      956,
+      1660,
 
-      3063,
+      2111,
 
-      1304,
+      1153,
 
-      3534,
+      3498,
 
-      270,
+      3837,
 
-      3300,
+      984,
 
-      2460,
+      2807,
 
-      929,
+      1648,
+      -1,
 
-      1802,
+      2654,
 
-      3522,
+      755,
 
-      3297,
+      3120,
 
-      2457,
+      2420,
 
-      926,
+      2105,
 
-      2832,
-      -1, -1,
+      1147,
 
-      255,
+      396,
 
-      3180,
+      3831,
 
-      3294,
+      742,
 
-      2454,
+      2801,
 
-      923,
+      1636,
 
-      1799,
+      2093,
 
-      3288,
+      1135,
 
-      2448,
+      390,
+      -1,
 
-      917,
+      3825,
 
-      1796,
+      2789,
 
-      3126,
+      1612,
 
-      1748,
+      3813,
 
-      2100,
+      1858,
 
-      1745,
+      733,
 
-      207,
+      2087,
 
-      3174,
+      1129,
 
-      204,
+      384,
 
-      1733,
+      2054,
 
-      1730,
+      1093,
 
-      1727,
+      2783,
 
-      192,
+      1600,
 
-      189,
+      2060,
 
-      186,
+      2735,
 
-      2736,
+      360,
+      -1, -1,
 
-      3012,
+      2741,
 
-      1298,
+      3447,
 
-      1676,
+      1948,
 
-      1295,
+      928,
 
-      2763,
+      1441,
+      -1,
 
-      3489,
+      1855,
 
-      114,
+      2603,
 
-      1283,
+      1453,
 
-      1280,
+      2459,
 
-      1277,
-      -1, -1,
+      62,
 
-      2820,
+      2732,
 
-      3009,
+      3816,
 
-      2814,
-      -1,
+      2063,
 
-      682,
+      3807,
 
-      3006,
+      2447,
 
-      2790,
+      49,
 
-      2784,
+      2393,
 
-      2778,
+      2744,
 
-      1250,
+      1408,
+      -1, -1,
 
-      2070,
+      3810,
 
-      2628,
+      2381,
 
-      1112,
+      1180,
 
-      490,
+      1396,
 
-      1658,
+      3441,
 
-      150,
+      1945,
 
-      1652,
+      922,
 
-      3471,
+      1705,
 
-      96,
+      3630,
 
-      3465,
+      4041,
 
-      89,
+      2597,
 
-      1646,
+      3210,
 
-      2619,
+      1888,
+      -1,
 
-      1103,
+      198,
 
-      3459,
+      3804,
+      -1,
 
-      83,
+      807,
 
-      1634,
+      3792,
+      -1,
 
-      544,
+      3345,
       -1,
 
-      3447,
+      1885,
 
-      2649,
+      2264,
 
-      1133,
+      195,
 
-      1953,
+      1300,
 
-      1481,
+      3789,
 
-      2604,
+      2078,
 
-      1088,
+      1105,
 
-      1923,
+      1870,
 
-      2598,
-      -1,
+      3786,
 
-      1917,
-      -1, -1,
+      180,
 
-      2409,
+      2759,
 
-      2571,
+      2258,
 
-      2403,
+      2066,
 
-      3129,
+      1297,
 
-      2535,
+      24,
 
-      1004,
+      2723,
 
-      2958,
+      3780,
 
-      2397,
+      2747,
 
-      21,
+      2252,
 
-      2943,
+      2951,
 
-      577,
+      1282,
 
-      2094,
+      3162,
+      -1,
 
-      2385,
+      1372,
 
-      2910,
+      1867,
+      -1,
 
-      3120,
+      177,
 
-      2529,
+      3057,
+
+      3774,
+
+      2945,
+
+      2465,
 
-      998,
+      68,
 
-      1355,
+      1864,
       -1,
 
-      56,
+      174,
+
+      2246,
 
-      2955,
+      2915,
 
-      2523,
+      1279,
 
-      992,
+      2399,
+      -1,
 
-      2238,
+      1414,
 
-      538,
+      646,
 
-      2304,
+      3582,
 
-      535,
+      2240,
 
-      2757,
+      4050,
 
-      1391,
+      1276,
       -1,
 
-      523,
+      126,
+      -1,
 
-      520,
+      1837,
 
-      517,
+      3762,
 
-      43,
-      -1, -1,
+      1555,
 
-      3222,
+      4053,
 
-      2226,
+      2909,
 
-      2973,
+      2114,
 
-      2292,
+      1156,
 
-      2517,
+      21,
 
-      986,
+      2720,
+      -1,
 
-      1379,
+      2810,
 
-      3345,
+      1654,
 
-      2505,
+      2903,
 
-      974,
+      4002,
       -1,
 
-      3216,
+      3564,
 
-      3339,
+      1366,
+      -1,
 
-      2499,
+      3885,
 
-      968,
-      -1, -1,
+      3990,
 
-      3210,
+      108,
 
-      3291,
+      749,
 
-      2451,
+      1819,
 
-      920,
+      3744,
 
-      3273,
+      1537,
 
-      2433,
+      2108,
 
-      902,
+      1150,
 
-      252,
+      3303,
       -1,
 
-      703,
+      4008,
 
-      3267,
+      2804,
 
-      2427,
+      1642,
 
-      896,
+      2099,
 
-      3600,
-      -1, -1,
+      1141,
+      -1,
 
-      2160,
-      -1, -1,
+      2069,
 
-      3204,
+      1096,
 
-      1709,
-      -1,
+      2795,
 
-      2154,
+      1624,
 
-      3192,
+      3300,
 
-      3261,
+      2750,
 
-      2421,
+      739,
 
-      890,
-      -1,
+      2096,
 
-      3186,
+      1138,
 
-      1508,
+      2453,
 
-      749,
+      56,
 
-      402,
+      3606,
 
-      351,
+      2792,
+
+      1618,
+
+      2441,
 
-      1706,
+      43,
+
+      147,
+
+      2387,
       -1,
 
-      688,
+      1402,
+
+      1579,
+      -1,
+
+      2375,
+
+      3444,
+
+      1390,
+
+      925,
+
+      252,
+      -1,
+
+      887,
+
+      2600,
+
+      3291,
 
-      2148,
+      670,
+
+      685,
+
+      3432,
+      -1,
+
+      913,
+
+      3426,
+
+      1120,
+
+      906,
+
+      2588,
 
       3285,
 
-      2445,
+      2774,
 
-      914,
+      2582,
 
-      2334,
+      3249,
+
+      3783,
+
+      2315,
+      -1,
+
+      3255,
+
+      2309,
+      -1,
+
+      3420,
+
+      3933,
+
+      899,
+
+      529,
+
+      3159,
+
+      1114,
+
+      2576,
+
+      3921,
+      -1,
+
+      2768,
+
+      402,
+      -1,
+
+      2303,
+
+      526,
+
+      1657,
+
+      3258,
+
+      3414,
+
+      1906,
+
+      893,
+
+      216,
+
+      511,
+      -1,
+
+      2570,
+
+      655,
+
+      752,
+
+      691,
+      -1, -1,
+
+      2297,
+
+      3156,
+
+      1318,
+
+      3084,
+      -1, -1,
+
+      1903,
+
+      3090,
+
+      213,
+
+      508,
+      -1,
+
+      1897,
+      -1,
+
+      207,
+
+      1894,
+      -1,
+
+      204,
+
+      505,
+
+      2987,
+
+      1315,
+
+      1882,
+
+      3897,
+
+      192,
+
+      3264,
+
+      1309,
+
+      3093,
+
+      4047,
+
+      1306,
+
+      1876,
+      -1,
+
+      186,
+
+      2075,
+
+      1102,
+
+      1294,
+      -1,
+
+      2981,
+
+      2756,
 
       649,
+
+      3939,
       -1,
 
-      1421,
+      2969,
 
-      619,
+      1288,
+      -1,
+
+      2963,
+      -1,
+
+      2102,
+
+      1144,
+
+      2072,
+
+      1099,
+
+      2939,
+
+      2798,
+
+      1630,
+
+      2753,
+
+      9,
+      -1,
+
+      1014,
+      -1,
+
+      2927,
+
+      3,
+
+      2684,
+
+      2363,
+
+      3108,
+
+      1354,
+
+      3891,
+      -1,
+
+      2357,
+
+      1008,
+
+      1348,
+
+      3096,
+
+      697,
+
+      2678,
+
+      1002,
+
+      996,
+
+      1032,
+      -1,
+
+      2672,
+
+      2666,
+
+      2702,
+
+      3492,
+      -1,
+
+      977,
+
+      1020,
+      -1, -1,
+
+      2648,
+
+      2690,
+      -1, -1,
+
+      4044,
       -1, -1, -1, -1, -1, -1,
       -1, -1, -1, -1,
 
-      616,
-      -1, -1, -1, -1, -1,
+      3297,
+      -1,
 
-      610,
+      3927,
+      -1, -1, -1, -1,
+
+      3915,
+      -1, -1,
+
+      3294,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+
+      3375,
+      -1,
+
+      547,
+      -1,
+
+      3276,
+      -1,
+
+      3099,
+      -1, -1, -1, -1,
+
+      3369,
+      -1, -1, -1, -1,
+
+      3363,
+
+      3357,
+      -1,
+
+      544,
+      -1, -1,
+
+      3270,
+      -1,
+
+      538,
+
+      3339,
+
+      3381,
+
+      535,
       -1, -1, -1, -1, -1,
 
-      2967,
+      523,
+      -1, -1, -1, -1, -1, -1,
+      -1,
+
+      517,
+
+      3123,
+      -1, -1, -1, -1, -1, -1,
       -1, -1, -1, -1, -1, -1,
       -1, -1, -1, -1, -1,
 
-      2952,
+      3117,
+      -1, -1, -1, -1, -1, -1,
+
+      619,
+      -1, -1, -1,
+
+      4038,
+      -1, -1, -1, -1, -1, -1,
+
+      616,
+      -1, -1, -1, -1,
+
+      610,
 
       604,
+
+      631,
+      -1, -1,
+
+      3879,
+      -1, -1, -1, -1,
+
+      3873,
+      -1, -1,
+
+      4032,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+
+      3105,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1,
+
+      3102,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1,
+
+      4035,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1,
+
+      4023,
+      -1, -1,
+
+      4017,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
       -1,
 
-      2946
+      4011,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1,
+      -1, -1, -1,
+
+      4005
     };
 
   if (0 == 0)
     {
       int key = hash(codes);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           int index = wordlist[key];
 
index 8a45c9d96f708d360e3f8f9d9e2013d31dd23e39..1469a4677b96b64cfe5e6c6eaddf598ac6762762 100644 (file)
@@ -1,12 +1,38 @@
 /* This file was converted by gperf_fold_key_conv.py
       from gperf output file. */
-/* ANSI-C code produced by gperf version 3.0.4 */
-/* Command-line: gperf -n -C -T -c -t -j1 -L ANSI-C -F,-1 -N unicode_fold2_key unicode_fold2_key.gperf  */
+/* ANSI-C code produced by gperf version 3.1 */
+/* Command-line: /usr/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"
 
@@ -60,14 +86,8 @@ hash(OnigCodePoint codes[])
   return asso_values[(unsigned char)onig_codes_byte_at(codes, 5)] + asso_values[(unsigned char)onig_codes_byte_at(codes, 2)];
 }
 
-#ifdef __GNUC__
-__inline
-#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
 int
-unicode_fold2_key(OnigCodePoint codes[])
+onigenc_unicode_fold2_key(OnigCodePoint codes[])
 {
   static const short int wordlist[] =
     {
@@ -195,7 +215,7 @@ unicode_fold2_key(OnigCodePoint codes[])
     {
       int key = hash(codes);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           int index = wordlist[key];
 
index deb9d222e6171456ba556b8f4be605f251899b6c..70e70c8e21f4f11fdc500c4e5e22cfc37876ca83 100644 (file)
@@ -1,12 +1,38 @@
 /* This file was converted by gperf_fold_key_conv.py
       from gperf output file. */
-/* ANSI-C code produced by gperf version 3.0.4 */
-/* Command-line: gperf -n -C -T -c -t -j1 -L ANSI-C -F,-1 -N unicode_fold3_key unicode_fold3_key.gperf  */
+/* ANSI-C code produced by gperf version 3.1 */
+/* Command-line: /usr/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"
 
@@ -60,14 +86,8 @@ hash(OnigCodePoint codes[])
   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)];
 }
 
-#ifdef __GNUC__
-__inline
-#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
 int
-unicode_fold3_key(OnigCodePoint codes[])
+onigenc_unicode_fold3_key(OnigCodePoint codes[])
 {
   static const short int wordlist[] =
     {
@@ -105,7 +125,7 @@ unicode_fold3_key(OnigCodePoint codes[])
     {
       int key = hash(codes);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           int index = wordlist[key];
 
index 1f2266968e918a778d5d89cbf032203bfcbfb76a..7f7e24e17f4e1302f5198b18d249968d9e8f8e76 100644 (file)
@@ -1,7 +1,7 @@
 /* This file was generated by make_unicode_fold_data.py. */
 #include "regenc.h"
 
-#define CASEFOLD_VERSION  8_0_0
+#define UNICODE_CASEFOLD_VERSION  11_0_0
 
 
 OnigCodePoint OnigUnicodeFolds1[] = {
@@ -221,989 +221,1139 @@ OnigCodePoint OnigUnicodeFolds1[] = {
  /* 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*/    0x026b,  1,   0x2c62, /* LATIN CAPITAL LETTER L WITH MIDDL.. */
- /* 658*/    0x026c,  1,   0xa7ad, /* LATIN CAPITAL LETTER L WITH BELT */
- /* 661*/    0x026f,  1,   0x019c, /* LATIN CAPITAL LETTER TURNED M */
- /* 664*/    0x0271,  1,   0x2c6e, /* LATIN CAPITAL LETTER M WITH HOOK */
- /* 667*/    0x0272,  1,   0x019d, /* LATIN CAPITAL LETTER N WITH LEFT .. */
- /* 670*/    0x0275,  1,   0x019f, /* LATIN CAPITAL LETTER O WITH MIDDL.. */
- /* 673*/    0x027d,  1,   0x2c64, /* LATIN CAPITAL LETTER R WITH TAIL */
- /* 676*/    0x0280,  1,   0x01a6, /* LATIN LETTER YR */
- /* 679*/    0x0283,  1,   0x01a9, /* LATIN CAPITAL LETTER ESH */
- /* 682*/    0x0287,  1,   0xa7b1, /* LATIN CAPITAL LETTER TURNED T */
- /* 685*/    0x0288,  1,   0x01ae, /* LATIN CAPITAL LETTER T WITH RETRO.. */
- /* 688*/    0x0289,  1,   0x0244, /* LATIN CAPITAL LETTER U BAR */
- /* 691*/    0x028a,  1,   0x01b1, /* LATIN CAPITAL LETTER UPSILON */
- /* 694*/    0x028b,  1,   0x01b2, /* LATIN CAPITAL LETTER V WITH HOOK */
- /* 697*/    0x028c,  1,   0x0245, /* LATIN CAPITAL LETTER TURNED V */
- /* 700*/    0x0292,  1,   0x01b7, /* LATIN CAPITAL LETTER EZH */
- /* 703*/    0x029d,  1,   0xa7b2, /* LATIN CAPITAL LETTER J WITH CROSS.. */
- /* 706*/    0x029e,  1,   0xa7b0, /* LATIN CAPITAL LETTER TURNED K */
- /* 709*/    0x0371,  1,   0x0370, /* GREEK CAPITAL LETTER HETA */
- /* 712*/    0x0373,  1,   0x0372, /* GREEK CAPITAL LETTER ARCHAIC SAMPI */
- /* 715*/    0x0377,  1,   0x0376, /* GREEK CAPITAL LETTER PAMPHYLIAN D.. */
- /* 718*/    0x037b,  1,   0x03fd, /* GREEK CAPITAL REVERSED LUNATE SIG.. */
- /* 721*/    0x037c,  1,   0x03fe, /* GREEK CAPITAL DOTTED LUNATE SIGMA.. */
- /* 724*/    0x037d,  1,   0x03ff, /* GREEK CAPITAL REVERSED DOTTED LUN.. */
- /* 727*/    0x03ac,  1,   0x0386, /* GREEK CAPITAL LETTER ALPHA WITH T.. */
- /* 730*/    0x03ad,  1,   0x0388, /* GREEK CAPITAL LETTER EPSILON WITH.. */
- /* 733*/    0x03ae,  1,   0x0389, /* GREEK CAPITAL LETTER ETA WITH TON.. */
- /* 736*/    0x03af,  1,   0x038a, /* GREEK CAPITAL LETTER IOTA WITH TO.. */
- /* 739*/    0x03b1,  1,   0x0391, /* GREEK CAPITAL LETTER ALPHA */
- /* 742*/    0x03b2,  2,   0x0392,   0x03d0, /* GREEK CAPITAL LETTER BETA */
- /* 746*/    0x03b3,  1,   0x0393, /* GREEK CAPITAL LETTER GAMMA */
- /* 749*/    0x03b4,  1,   0x0394, /* GREEK CAPITAL LETTER DELTA */
- /* 752*/    0x03b5,  2,   0x0395,   0x03f5, /* GREEK CAPITAL LETTER EPSILON */
- /* 756*/    0x03b6,  1,   0x0396, /* GREEK CAPITAL LETTER ZETA */
- /* 759*/    0x03b7,  1,   0x0397, /* GREEK CAPITAL LETTER ETA */
- /* 762*/    0x03b8,  3,   0x0398,   0x03d1,   0x03f4, /* GREEK CAPITAL LETTER THETA */
- /* 767*/    0x03b9,  3,   0x0345,   0x0399,   0x1fbe, /* COMBINING GREEK YPOGEGRAMMENI */
- /* 772*/    0x03ba,  2,   0x039a,   0x03f0, /* GREEK CAPITAL LETTER KAPPA */
- /* 776*/    0x03bb,  1,   0x039b, /* GREEK CAPITAL LETTER LAMDA */
- /* 779*/    0x03bc,  2,   0x00b5,   0x039c, /* MICRO SIGN */
- /* 783*/    0x03bd,  1,   0x039d, /* GREEK CAPITAL LETTER NU */
- /* 786*/    0x03be,  1,   0x039e, /* GREEK CAPITAL LETTER XI */
- /* 789*/    0x03bf,  1,   0x039f, /* GREEK CAPITAL LETTER OMICRON */
- /* 792*/    0x03c0,  2,   0x03a0,   0x03d6, /* GREEK CAPITAL LETTER PI */
- /* 796*/    0x03c1,  2,   0x03a1,   0x03f1, /* GREEK CAPITAL LETTER RHO */
- /* 800*/    0x03c3,  2,   0x03a3,   0x03c2, /* GREEK CAPITAL LETTER SIGMA */
- /* 804*/    0x03c4,  1,   0x03a4, /* GREEK CAPITAL LETTER TAU */
- /* 807*/    0x03c5,  1,   0x03a5, /* GREEK CAPITAL LETTER UPSILON */
- /* 810*/    0x03c6,  2,   0x03a6,   0x03d5, /* GREEK CAPITAL LETTER PHI */
- /* 814*/    0x03c7,  1,   0x03a7, /* GREEK CAPITAL LETTER CHI */
- /* 817*/    0x03c8,  1,   0x03a8, /* GREEK CAPITAL LETTER PSI */
- /* 820*/    0x03c9,  2,   0x03a9,   0x2126, /* GREEK CAPITAL LETTER OMEGA */
- /* 824*/    0x03ca,  1,   0x03aa, /* GREEK CAPITAL LETTER IOTA WITH DI.. */
- /* 827*/    0x03cb,  1,   0x03ab, /* GREEK CAPITAL LETTER UPSILON WITH.. */
- /* 830*/    0x03cc,  1,   0x038c, /* GREEK CAPITAL LETTER OMICRON WITH.. */
- /* 833*/    0x03cd,  1,   0x038e, /* GREEK CAPITAL LETTER UPSILON WITH.. */
- /* 836*/    0x03ce,  1,   0x038f, /* GREEK CAPITAL LETTER OMEGA WITH T.. */
- /* 839*/    0x03d7,  1,   0x03cf, /* GREEK CAPITAL KAI SYMBOL */
- /* 842*/    0x03d9,  1,   0x03d8, /* GREEK LETTER ARCHAIC KOPPA */
- /* 845*/    0x03db,  1,   0x03da, /* GREEK LETTER STIGMA */
- /* 848*/    0x03dd,  1,   0x03dc, /* GREEK LETTER DIGAMMA */
- /* 851*/    0x03df,  1,   0x03de, /* GREEK LETTER KOPPA */
- /* 854*/    0x03e1,  1,   0x03e0, /* GREEK LETTER SAMPI */
- /* 857*/    0x03e3,  1,   0x03e2, /* COPTIC CAPITAL LETTER SHEI */
- /* 860*/    0x03e5,  1,   0x03e4, /* COPTIC CAPITAL LETTER FEI */
- /* 863*/    0x03e7,  1,   0x03e6, /* COPTIC CAPITAL LETTER KHEI */
- /* 866*/    0x03e9,  1,   0x03e8, /* COPTIC CAPITAL LETTER HORI */
- /* 869*/    0x03eb,  1,   0x03ea, /* COPTIC CAPITAL LETTER GANGIA */
- /* 872*/    0x03ed,  1,   0x03ec, /* COPTIC CAPITAL LETTER SHIMA */
- /* 875*/    0x03ef,  1,   0x03ee, /* COPTIC CAPITAL LETTER DEI */
- /* 878*/    0x03f2,  1,   0x03f9, /* GREEK CAPITAL LUNATE SIGMA SYMBOL */
- /* 881*/    0x03f3,  1,   0x037f, /* GREEK CAPITAL LETTER YOT */
- /* 884*/    0x03f8,  1,   0x03f7, /* GREEK CAPITAL LETTER SHO */
- /* 887*/    0x03fb,  1,   0x03fa, /* GREEK CAPITAL LETTER SAN */
- /* 890*/    0x0430,  1,   0x0410, /* CYRILLIC CAPITAL LETTER A */
- /* 893*/    0x0431,  1,   0x0411, /* CYRILLIC CAPITAL LETTER BE */
- /* 896*/    0x0432,  1,   0x0412, /* CYRILLIC CAPITAL LETTER VE */
- /* 899*/    0x0433,  1,   0x0413, /* CYRILLIC CAPITAL LETTER GHE */
- /* 902*/    0x0434,  1,   0x0414, /* CYRILLIC CAPITAL LETTER DE */
- /* 905*/    0x0435,  1,   0x0415, /* CYRILLIC CAPITAL LETTER IE */
- /* 908*/    0x0436,  1,   0x0416, /* CYRILLIC CAPITAL LETTER ZHE */
- /* 911*/    0x0437,  1,   0x0417, /* CYRILLIC CAPITAL LETTER ZE */
- /* 914*/    0x0438,  1,   0x0418, /* CYRILLIC CAPITAL LETTER I */
- /* 917*/    0x0439,  1,   0x0419, /* CYRILLIC CAPITAL LETTER SHORT I */
- /* 920*/    0x043a,  1,   0x041a, /* CYRILLIC CAPITAL LETTER KA */
- /* 923*/    0x043b,  1,   0x041b, /* CYRILLIC CAPITAL LETTER EL */
- /* 926*/    0x043c,  1,   0x041c, /* CYRILLIC CAPITAL LETTER EM */
- /* 929*/    0x043d,  1,   0x041d, /* CYRILLIC CAPITAL LETTER EN */
- /* 932*/    0x043e,  1,   0x041e, /* CYRILLIC CAPITAL LETTER O */
- /* 935*/    0x043f,  1,   0x041f, /* CYRILLIC CAPITAL LETTER PE */
- /* 938*/    0x0440,  1,   0x0420, /* CYRILLIC CAPITAL LETTER ER */
- /* 941*/    0x0441,  1,   0x0421, /* CYRILLIC CAPITAL LETTER ES */
- /* 944*/    0x0442,  1,   0x0422, /* CYRILLIC CAPITAL LETTER TE */
- /* 947*/    0x0443,  1,   0x0423, /* CYRILLIC CAPITAL LETTER U */
- /* 950*/    0x0444,  1,   0x0424, /* CYRILLIC CAPITAL LETTER EF */
- /* 953*/    0x0445,  1,   0x0425, /* CYRILLIC CAPITAL LETTER HA */
- /* 956*/    0x0446,  1,   0x0426, /* CYRILLIC CAPITAL LETTER TSE */
- /* 959*/    0x0447,  1,   0x0427, /* CYRILLIC CAPITAL LETTER CHE */
- /* 962*/    0x0448,  1,   0x0428, /* CYRILLIC CAPITAL LETTER SHA */
- /* 965*/    0x0449,  1,   0x0429, /* CYRILLIC CAPITAL LETTER SHCHA */
- /* 968*/    0x044a,  1,   0x042a, /* CYRILLIC CAPITAL LETTER HARD SIGN */
- /* 971*/    0x044b,  1,   0x042b, /* CYRILLIC CAPITAL LETTER YERU */
- /* 974*/    0x044c,  1,   0x042c, /* CYRILLIC CAPITAL LETTER SOFT SIGN */
- /* 977*/    0x044d,  1,   0x042d, /* CYRILLIC CAPITAL LETTER E */
- /* 980*/    0x044e,  1,   0x042e, /* CYRILLIC CAPITAL LETTER YU */
- /* 983*/    0x044f,  1,   0x042f, /* CYRILLIC CAPITAL LETTER YA */
- /* 986*/    0x0450,  1,   0x0400, /* CYRILLIC CAPITAL LETTER IE WITH G.. */
- /* 989*/    0x0451,  1,   0x0401, /* CYRILLIC CAPITAL LETTER IO */
- /* 992*/    0x0452,  1,   0x0402, /* CYRILLIC CAPITAL LETTER DJE */
- /* 995*/    0x0453,  1,   0x0403, /* CYRILLIC CAPITAL LETTER GJE */
- /* 998*/    0x0454,  1,   0x0404, /* CYRILLIC CAPITAL LETTER UKRAINIAN.. */
- /*1001*/    0x0455,  1,   0x0405, /* CYRILLIC CAPITAL LETTER DZE */
- /*1004*/    0x0456,  1,   0x0406, /* CYRILLIC CAPITAL LETTER BYELORUSS.. */
- /*1007*/    0x0457,  1,   0x0407, /* CYRILLIC CAPITAL LETTER YI */
- /*1010*/    0x0458,  1,   0x0408, /* CYRILLIC CAPITAL LETTER JE */
- /*1013*/    0x0459,  1,   0x0409, /* CYRILLIC CAPITAL LETTER LJE */
- /*1016*/    0x045a,  1,   0x040a, /* CYRILLIC CAPITAL LETTER NJE */
- /*1019*/    0x045b,  1,   0x040b, /* CYRILLIC CAPITAL LETTER TSHE */
- /*1022*/    0x045c,  1,   0x040c, /* CYRILLIC CAPITAL LETTER KJE */
- /*1025*/    0x045d,  1,   0x040d, /* CYRILLIC CAPITAL LETTER I WITH GR.. */
- /*1028*/    0x045e,  1,   0x040e, /* CYRILLIC CAPITAL LETTER SHORT U */
- /*1031*/    0x045f,  1,   0x040f, /* CYRILLIC CAPITAL LETTER DZHE */
- /*1034*/    0x0461,  1,   0x0460, /* CYRILLIC CAPITAL LETTER OMEGA */
- /*1037*/    0x0463,  1,   0x0462, /* CYRILLIC CAPITAL LETTER YAT */
- /*1040*/    0x0465,  1,   0x0464, /* CYRILLIC CAPITAL LETTER IOTIFIED E */
- /*1043*/    0x0467,  1,   0x0466, /* CYRILLIC CAPITAL LETTER LITTLE YUS */
- /*1046*/    0x0469,  1,   0x0468, /* CYRILLIC CAPITAL LETTER IOTIFIED .. */
- /*1049*/    0x046b,  1,   0x046a, /* CYRILLIC CAPITAL LETTER BIG YUS */
- /*1052*/    0x046d,  1,   0x046c, /* CYRILLIC CAPITAL LETTER IOTIFIED .. */
- /*1055*/    0x046f,  1,   0x046e, /* CYRILLIC CAPITAL LETTER KSI */
- /*1058*/    0x0471,  1,   0x0470, /* CYRILLIC CAPITAL LETTER PSI */
- /*1061*/    0x0473,  1,   0x0472, /* CYRILLIC CAPITAL LETTER FITA */
- /*1064*/    0x0475,  1,   0x0474, /* CYRILLIC CAPITAL LETTER IZHITSA */
- /*1067*/    0x0477,  1,   0x0476, /* CYRILLIC CAPITAL LETTER IZHITSA W.. */
- /*1070*/    0x0479,  1,   0x0478, /* CYRILLIC CAPITAL LETTER UK */
- /*1073*/    0x047b,  1,   0x047a, /* CYRILLIC CAPITAL LETTER ROUND OME.. */
- /*1076*/    0x047d,  1,   0x047c, /* CYRILLIC CAPITAL LETTER OMEGA WIT.. */
- /*1079*/    0x047f,  1,   0x047e, /* CYRILLIC CAPITAL LETTER OT */
- /*1082*/    0x0481,  1,   0x0480, /* CYRILLIC CAPITAL LETTER KOPPA */
- /*1085*/    0x048b,  1,   0x048a, /* CYRILLIC CAPITAL LETTER SHORT I W.. */
- /*1088*/    0x048d,  1,   0x048c, /* CYRILLIC CAPITAL LETTER SEMISOFT .. */
- /*1091*/    0x048f,  1,   0x048e, /* CYRILLIC CAPITAL LETTER ER WITH T.. */
- /*1094*/    0x0491,  1,   0x0490, /* CYRILLIC CAPITAL LETTER GHE WITH .. */
- /*1097*/    0x0493,  1,   0x0492, /* CYRILLIC CAPITAL LETTER GHE WITH .. */
- /*1100*/    0x0495,  1,   0x0494, /* CYRILLIC CAPITAL LETTER GHE WITH .. */
- /*1103*/    0x0497,  1,   0x0496, /* CYRILLIC CAPITAL LETTER ZHE WITH .. */
- /*1106*/    0x0499,  1,   0x0498, /* CYRILLIC CAPITAL LETTER ZE WITH D.. */
- /*1109*/    0x049b,  1,   0x049a, /* CYRILLIC CAPITAL LETTER KA WITH D.. */
- /*1112*/    0x049d,  1,   0x049c, /* CYRILLIC CAPITAL LETTER KA WITH V.. */
- /*1115*/    0x049f,  1,   0x049e, /* CYRILLIC CAPITAL LETTER KA WITH S.. */
- /*1118*/    0x04a1,  1,   0x04a0, /* CYRILLIC CAPITAL LETTER BASHKIR KA */
- /*1121*/    0x04a3,  1,   0x04a2, /* CYRILLIC CAPITAL LETTER EN WITH D.. */
- /*1124*/    0x04a5,  1,   0x04a4, /* CYRILLIC CAPITAL LIGATURE EN GHE */
- /*1127*/    0x04a7,  1,   0x04a6, /* CYRILLIC CAPITAL LETTER PE WITH M.. */
- /*1130*/    0x04a9,  1,   0x04a8, /* CYRILLIC CAPITAL LETTER ABKHASIAN.. */
- /*1133*/    0x04ab,  1,   0x04aa, /* CYRILLIC CAPITAL LETTER ES WITH D.. */
- /*1136*/    0x04ad,  1,   0x04ac, /* CYRILLIC CAPITAL LETTER TE WITH D.. */
- /*1139*/    0x04af,  1,   0x04ae, /* CYRILLIC CAPITAL LETTER STRAIGHT U */
- /*1142*/    0x04b1,  1,   0x04b0, /* CYRILLIC CAPITAL LETTER STRAIGHT .. */
- /*1145*/    0x04b3,  1,   0x04b2, /* CYRILLIC CAPITAL LETTER HA WITH D.. */
- /*1148*/    0x04b5,  1,   0x04b4, /* CYRILLIC CAPITAL LIGATURE TE TSE */
- /*1151*/    0x04b7,  1,   0x04b6, /* CYRILLIC CAPITAL LETTER CHE WITH .. */
- /*1154*/    0x04b9,  1,   0x04b8, /* CYRILLIC CAPITAL LETTER CHE WITH .. */
- /*1157*/    0x04bb,  1,   0x04ba, /* CYRILLIC CAPITAL LETTER SHHA */
- /*1160*/    0x04bd,  1,   0x04bc, /* CYRILLIC CAPITAL LETTER ABKHASIAN.. */
- /*1163*/    0x04bf,  1,   0x04be, /* CYRILLIC CAPITAL LETTER ABKHASIAN.. */
- /*1166*/    0x04c2,  1,   0x04c1, /* CYRILLIC CAPITAL LETTER ZHE WITH .. */
- /*1169*/    0x04c4,  1,   0x04c3, /* CYRILLIC CAPITAL LETTER KA WITH H.. */
- /*1172*/    0x04c6,  1,   0x04c5, /* CYRILLIC CAPITAL LETTER EL WITH T.. */
- /*1175*/    0x04c8,  1,   0x04c7, /* CYRILLIC CAPITAL LETTER EN WITH H.. */
- /*1178*/    0x04ca,  1,   0x04c9, /* CYRILLIC CAPITAL LETTER EN WITH T.. */
- /*1181*/    0x04cc,  1,   0x04cb, /* CYRILLIC CAPITAL LETTER KHAKASSIA.. */
- /*1184*/    0x04ce,  1,   0x04cd, /* CYRILLIC CAPITAL LETTER EM WITH T.. */
- /*1187*/    0x04cf,  1,   0x04c0, /* CYRILLIC LETTER PALOCHKA */
- /*1190*/    0x04d1,  1,   0x04d0, /* CYRILLIC CAPITAL LETTER A WITH BR.. */
- /*1193*/    0x04d3,  1,   0x04d2, /* CYRILLIC CAPITAL LETTER A WITH DI.. */
- /*1196*/    0x04d5,  1,   0x04d4, /* CYRILLIC CAPITAL LIGATURE A IE */
- /*1199*/    0x04d7,  1,   0x04d6, /* CYRILLIC CAPITAL LETTER IE WITH B.. */
- /*1202*/    0x04d9,  1,   0x04d8, /* CYRILLIC CAPITAL LETTER SCHWA */
- /*1205*/    0x04db,  1,   0x04da, /* CYRILLIC CAPITAL LETTER SCHWA WIT.. */
- /*1208*/    0x04dd,  1,   0x04dc, /* CYRILLIC CAPITAL LETTER ZHE WITH .. */
- /*1211*/    0x04df,  1,   0x04de, /* CYRILLIC CAPITAL LETTER ZE WITH D.. */
- /*1214*/    0x04e1,  1,   0x04e0, /* CYRILLIC CAPITAL LETTER ABKHASIAN.. */
- /*1217*/    0x04e3,  1,   0x04e2, /* CYRILLIC CAPITAL LETTER I WITH MA.. */
- /*1220*/    0x04e5,  1,   0x04e4, /* CYRILLIC CAPITAL LETTER I WITH DI.. */
- /*1223*/    0x04e7,  1,   0x04e6, /* CYRILLIC CAPITAL LETTER O WITH DI.. */
- /*1226*/    0x04e9,  1,   0x04e8, /* CYRILLIC CAPITAL LETTER BARRED O */
- /*1229*/    0x04eb,  1,   0x04ea, /* CYRILLIC CAPITAL LETTER BARRED O .. */
- /*1232*/    0x04ed,  1,   0x04ec, /* CYRILLIC CAPITAL LETTER E WITH DI.. */
- /*1235*/    0x04ef,  1,   0x04ee, /* CYRILLIC CAPITAL LETTER U WITH MA.. */
- /*1238*/    0x04f1,  1,   0x04f0, /* CYRILLIC CAPITAL LETTER U WITH DI.. */
- /*1241*/    0x04f3,  1,   0x04f2, /* CYRILLIC CAPITAL LETTER U WITH DO.. */
- /*1244*/    0x04f5,  1,   0x04f4, /* CYRILLIC CAPITAL LETTER CHE WITH .. */
- /*1247*/    0x04f7,  1,   0x04f6, /* CYRILLIC CAPITAL LETTER GHE WITH .. */
- /*1250*/    0x04f9,  1,   0x04f8, /* CYRILLIC CAPITAL LETTER YERU WITH.. */
- /*1253*/    0x04fb,  1,   0x04fa, /* CYRILLIC CAPITAL LETTER GHE WITH .. */
- /*1256*/    0x04fd,  1,   0x04fc, /* CYRILLIC CAPITAL LETTER HA WITH H.. */
- /*1259*/    0x04ff,  1,   0x04fe, /* CYRILLIC CAPITAL LETTER HA WITH S.. */
- /*1262*/    0x0501,  1,   0x0500, /* CYRILLIC CAPITAL LETTER KOMI DE */
- /*1265*/    0x0503,  1,   0x0502, /* CYRILLIC CAPITAL LETTER KOMI DJE */
- /*1268*/    0x0505,  1,   0x0504, /* CYRILLIC CAPITAL LETTER KOMI ZJE */
- /*1271*/    0x0507,  1,   0x0506, /* CYRILLIC CAPITAL LETTER KOMI DZJE */
- /*1274*/    0x0509,  1,   0x0508, /* CYRILLIC CAPITAL LETTER KOMI LJE */
- /*1277*/    0x050b,  1,   0x050a, /* CYRILLIC CAPITAL LETTER KOMI NJE */
- /*1280*/    0x050d,  1,   0x050c, /* CYRILLIC CAPITAL LETTER KOMI SJE */
- /*1283*/    0x050f,  1,   0x050e, /* CYRILLIC CAPITAL LETTER KOMI TJE */
- /*1286*/    0x0511,  1,   0x0510, /* CYRILLIC CAPITAL LETTER REVERSED .. */
- /*1289*/    0x0513,  1,   0x0512, /* CYRILLIC CAPITAL LETTER EL WITH H.. */
- /*1292*/    0x0515,  1,   0x0514, /* CYRILLIC CAPITAL LETTER LHA */
- /*1295*/    0x0517,  1,   0x0516, /* CYRILLIC CAPITAL LETTER RHA */
- /*1298*/    0x0519,  1,   0x0518, /* CYRILLIC CAPITAL LETTER YAE */
- /*1301*/    0x051b,  1,   0x051a, /* CYRILLIC CAPITAL LETTER QA */
- /*1304*/    0x051d,  1,   0x051c, /* CYRILLIC CAPITAL LETTER WE */
- /*1307*/    0x051f,  1,   0x051e, /* CYRILLIC CAPITAL LETTER ALEUT KA */
- /*1310*/    0x0521,  1,   0x0520, /* CYRILLIC CAPITAL LETTER EL WITH M.. */
- /*1313*/    0x0523,  1,   0x0522, /* CYRILLIC CAPITAL LETTER EN WITH M.. */
- /*1316*/    0x0525,  1,   0x0524, /* CYRILLIC CAPITAL LETTER PE WITH D.. */
- /*1319*/    0x0527,  1,   0x0526, /* CYRILLIC CAPITAL LETTER SHHA WITH.. */
- /*1322*/    0x0529,  1,   0x0528, /* CYRILLIC CAPITAL LETTER EN WITH L.. */
- /*1325*/    0x052b,  1,   0x052a, /* CYRILLIC CAPITAL LETTER DZZHE */
- /*1328*/    0x052d,  1,   0x052c, /* CYRILLIC CAPITAL LETTER DCHE */
- /*1331*/    0x052f,  1,   0x052e, /* CYRILLIC CAPITAL LETTER EL WITH D.. */
- /*1334*/    0x0561,  1,   0x0531, /* ARMENIAN CAPITAL LETTER AYB */
- /*1337*/    0x0562,  1,   0x0532, /* ARMENIAN CAPITAL LETTER BEN */
- /*1340*/    0x0563,  1,   0x0533, /* ARMENIAN CAPITAL LETTER GIM */
- /*1343*/    0x0564,  1,   0x0534, /* ARMENIAN CAPITAL LETTER DA */
- /*1346*/    0x0565,  1,   0x0535, /* ARMENIAN CAPITAL LETTER ECH */
- /*1349*/    0x0566,  1,   0x0536, /* ARMENIAN CAPITAL LETTER ZA */
- /*1352*/    0x0567,  1,   0x0537, /* ARMENIAN CAPITAL LETTER EH */
- /*1355*/    0x0568,  1,   0x0538, /* ARMENIAN CAPITAL LETTER ET */
- /*1358*/    0x0569,  1,   0x0539, /* ARMENIAN CAPITAL LETTER TO */
- /*1361*/    0x056a,  1,   0x053a, /* ARMENIAN CAPITAL LETTER ZHE */
- /*1364*/    0x056b,  1,   0x053b, /* ARMENIAN CAPITAL LETTER INI */
- /*1367*/    0x056c,  1,   0x053c, /* ARMENIAN CAPITAL LETTER LIWN */
- /*1370*/    0x056d,  1,   0x053d, /* ARMENIAN CAPITAL LETTER XEH */
- /*1373*/    0x056e,  1,   0x053e, /* ARMENIAN CAPITAL LETTER CA */
- /*1376*/    0x056f,  1,   0x053f, /* ARMENIAN CAPITAL LETTER KEN */
- /*1379*/    0x0570,  1,   0x0540, /* ARMENIAN CAPITAL LETTER HO */
- /*1382*/    0x0571,  1,   0x0541, /* ARMENIAN CAPITAL LETTER JA */
- /*1385*/    0x0572,  1,   0x0542, /* ARMENIAN CAPITAL LETTER GHAD */
- /*1388*/    0x0573,  1,   0x0543, /* ARMENIAN CAPITAL LETTER CHEH */
- /*1391*/    0x0574,  1,   0x0544, /* ARMENIAN CAPITAL LETTER MEN */
- /*1394*/    0x0575,  1,   0x0545, /* ARMENIAN CAPITAL LETTER YI */
- /*1397*/    0x0576,  1,   0x0546, /* ARMENIAN CAPITAL LETTER NOW */
- /*1400*/    0x0577,  1,   0x0547, /* ARMENIAN CAPITAL LETTER SHA */
- /*1403*/    0x0578,  1,   0x0548, /* ARMENIAN CAPITAL LETTER VO */
- /*1406*/    0x0579,  1,   0x0549, /* ARMENIAN CAPITAL LETTER CHA */
- /*1409*/    0x057a,  1,   0x054a, /* ARMENIAN CAPITAL LETTER PEH */
- /*1412*/    0x057b,  1,   0x054b, /* ARMENIAN CAPITAL LETTER JHEH */
- /*1415*/    0x057c,  1,   0x054c, /* ARMENIAN CAPITAL LETTER RA */
- /*1418*/    0x057d,  1,   0x054d, /* ARMENIAN CAPITAL LETTER SEH */
- /*1421*/    0x057e,  1,   0x054e, /* ARMENIAN CAPITAL LETTER VEW */
- /*1424*/    0x057f,  1,   0x054f, /* ARMENIAN CAPITAL LETTER TIWN */
- /*1427*/    0x0580,  1,   0x0550, /* ARMENIAN CAPITAL LETTER REH */
- /*1430*/    0x0581,  1,   0x0551, /* ARMENIAN CAPITAL LETTER CO */
- /*1433*/    0x0582,  1,   0x0552, /* ARMENIAN CAPITAL LETTER YIWN */
- /*1436*/    0x0583,  1,   0x0553, /* ARMENIAN CAPITAL LETTER PIWR */
- /*1439*/    0x0584,  1,   0x0554, /* ARMENIAN CAPITAL LETTER KEH */
- /*1442*/    0x0585,  1,   0x0555, /* ARMENIAN CAPITAL LETTER OH */
- /*1445*/    0x0586,  1,   0x0556, /* ARMENIAN CAPITAL LETTER FEH */
- /*1448*/    0x13a0,  1,   0xab70, /* CHEROKEE SMALL LETTER A */
- /*1451*/    0x13a1,  1,   0xab71, /* CHEROKEE SMALL LETTER E */
- /*1454*/    0x13a2,  1,   0xab72, /* CHEROKEE SMALL LETTER I */
- /*1457*/    0x13a3,  1,   0xab73, /* CHEROKEE SMALL LETTER O */
- /*1460*/    0x13a4,  1,   0xab74, /* CHEROKEE SMALL LETTER U */
- /*1463*/    0x13a5,  1,   0xab75, /* CHEROKEE SMALL LETTER V */
- /*1466*/    0x13a6,  1,   0xab76, /* CHEROKEE SMALL LETTER GA */
- /*1469*/    0x13a7,  1,   0xab77, /* CHEROKEE SMALL LETTER KA */
- /*1472*/    0x13a8,  1,   0xab78, /* CHEROKEE SMALL LETTER GE */
- /*1475*/    0x13a9,  1,   0xab79, /* CHEROKEE SMALL LETTER GI */
- /*1478*/    0x13aa,  1,   0xab7a, /* CHEROKEE SMALL LETTER GO */
- /*1481*/    0x13ab,  1,   0xab7b, /* CHEROKEE SMALL LETTER GU */
- /*1484*/    0x13ac,  1,   0xab7c, /* CHEROKEE SMALL LETTER GV */
- /*1487*/    0x13ad,  1,   0xab7d, /* CHEROKEE SMALL LETTER HA */
- /*1490*/    0x13ae,  1,   0xab7e, /* CHEROKEE SMALL LETTER HE */
- /*1493*/    0x13af,  1,   0xab7f, /* CHEROKEE SMALL LETTER HI */
- /*1496*/    0x13b0,  1,   0xab80, /* CHEROKEE SMALL LETTER HO */
- /*1499*/    0x13b1,  1,   0xab81, /* CHEROKEE SMALL LETTER HU */
- /*1502*/    0x13b2,  1,   0xab82, /* CHEROKEE SMALL LETTER HV */
- /*1505*/    0x13b3,  1,   0xab83, /* CHEROKEE SMALL LETTER LA */
- /*1508*/    0x13b4,  1,   0xab84, /* CHEROKEE SMALL LETTER LE */
- /*1511*/    0x13b5,  1,   0xab85, /* CHEROKEE SMALL LETTER LI */
- /*1514*/    0x13b6,  1,   0xab86, /* CHEROKEE SMALL LETTER LO */
- /*1517*/    0x13b7,  1,   0xab87, /* CHEROKEE SMALL LETTER LU */
- /*1520*/    0x13b8,  1,   0xab88, /* CHEROKEE SMALL LETTER LV */
- /*1523*/    0x13b9,  1,   0xab89, /* CHEROKEE SMALL LETTER MA */
- /*1526*/    0x13ba,  1,   0xab8a, /* CHEROKEE SMALL LETTER ME */
- /*1529*/    0x13bb,  1,   0xab8b, /* CHEROKEE SMALL LETTER MI */
- /*1532*/    0x13bc,  1,   0xab8c, /* CHEROKEE SMALL LETTER MO */
- /*1535*/    0x13bd,  1,   0xab8d, /* CHEROKEE SMALL LETTER MU */
- /*1538*/    0x13be,  1,   0xab8e, /* CHEROKEE SMALL LETTER NA */
- /*1541*/    0x13bf,  1,   0xab8f, /* CHEROKEE SMALL LETTER HNA */
- /*1544*/    0x13c0,  1,   0xab90, /* CHEROKEE SMALL LETTER NAH */
- /*1547*/    0x13c1,  1,   0xab91, /* CHEROKEE SMALL LETTER NE */
- /*1550*/    0x13c2,  1,   0xab92, /* CHEROKEE SMALL LETTER NI */
- /*1553*/    0x13c3,  1,   0xab93, /* CHEROKEE SMALL LETTER NO */
- /*1556*/    0x13c4,  1,   0xab94, /* CHEROKEE SMALL LETTER NU */
- /*1559*/    0x13c5,  1,   0xab95, /* CHEROKEE SMALL LETTER NV */
- /*1562*/    0x13c6,  1,   0xab96, /* CHEROKEE SMALL LETTER QUA */
- /*1565*/    0x13c7,  1,   0xab97, /* CHEROKEE SMALL LETTER QUE */
- /*1568*/    0x13c8,  1,   0xab98, /* CHEROKEE SMALL LETTER QUI */
- /*1571*/    0x13c9,  1,   0xab99, /* CHEROKEE SMALL LETTER QUO */
- /*1574*/    0x13ca,  1,   0xab9a, /* CHEROKEE SMALL LETTER QUU */
- /*1577*/    0x13cb,  1,   0xab9b, /* CHEROKEE SMALL LETTER QUV */
- /*1580*/    0x13cc,  1,   0xab9c, /* CHEROKEE SMALL LETTER SA */
- /*1583*/    0x13cd,  1,   0xab9d, /* CHEROKEE SMALL LETTER S */
- /*1586*/    0x13ce,  1,   0xab9e, /* CHEROKEE SMALL LETTER SE */
- /*1589*/    0x13cf,  1,   0xab9f, /* CHEROKEE SMALL LETTER SI */
- /*1592*/    0x13d0,  1,   0xaba0, /* CHEROKEE SMALL LETTER SO */
- /*1595*/    0x13d1,  1,   0xaba1, /* CHEROKEE SMALL LETTER SU */
- /*1598*/    0x13d2,  1,   0xaba2, /* CHEROKEE SMALL LETTER SV */
- /*1601*/    0x13d3,  1,   0xaba3, /* CHEROKEE SMALL LETTER DA */
- /*1604*/    0x13d4,  1,   0xaba4, /* CHEROKEE SMALL LETTER TA */
- /*1607*/    0x13d5,  1,   0xaba5, /* CHEROKEE SMALL LETTER DE */
- /*1610*/    0x13d6,  1,   0xaba6, /* CHEROKEE SMALL LETTER TE */
- /*1613*/    0x13d7,  1,   0xaba7, /* CHEROKEE SMALL LETTER DI */
- /*1616*/    0x13d8,  1,   0xaba8, /* CHEROKEE SMALL LETTER TI */
- /*1619*/    0x13d9,  1,   0xaba9, /* CHEROKEE SMALL LETTER DO */
- /*1622*/    0x13da,  1,   0xabaa, /* CHEROKEE SMALL LETTER DU */
- /*1625*/    0x13db,  1,   0xabab, /* CHEROKEE SMALL LETTER DV */
- /*1628*/    0x13dc,  1,   0xabac, /* CHEROKEE SMALL LETTER DLA */
- /*1631*/    0x13dd,  1,   0xabad, /* CHEROKEE SMALL LETTER TLA */
- /*1634*/    0x13de,  1,   0xabae, /* CHEROKEE SMALL LETTER TLE */
- /*1637*/    0x13df,  1,   0xabaf, /* CHEROKEE SMALL LETTER TLI */
- /*1640*/    0x13e0,  1,   0xabb0, /* CHEROKEE SMALL LETTER TLO */
- /*1643*/    0x13e1,  1,   0xabb1, /* CHEROKEE SMALL LETTER TLU */
- /*1646*/    0x13e2,  1,   0xabb2, /* CHEROKEE SMALL LETTER TLV */
- /*1649*/    0x13e3,  1,   0xabb3, /* CHEROKEE SMALL LETTER TSA */
- /*1652*/    0x13e4,  1,   0xabb4, /* CHEROKEE SMALL LETTER TSE */
- /*1655*/    0x13e5,  1,   0xabb5, /* CHEROKEE SMALL LETTER TSI */
- /*1658*/    0x13e6,  1,   0xabb6, /* CHEROKEE SMALL LETTER TSO */
- /*1661*/    0x13e7,  1,   0xabb7, /* CHEROKEE SMALL LETTER TSU */
- /*1664*/    0x13e8,  1,   0xabb8, /* CHEROKEE SMALL LETTER TSV */
- /*1667*/    0x13e9,  1,   0xabb9, /* CHEROKEE SMALL LETTER WA */
- /*1670*/    0x13ea,  1,   0xabba, /* CHEROKEE SMALL LETTER WE */
- /*1673*/    0x13eb,  1,   0xabbb, /* CHEROKEE SMALL LETTER WI */
- /*1676*/    0x13ec,  1,   0xabbc, /* CHEROKEE SMALL LETTER WO */
- /*1679*/    0x13ed,  1,   0xabbd, /* CHEROKEE SMALL LETTER WU */
- /*1682*/    0x13ee,  1,   0xabbe, /* CHEROKEE SMALL LETTER WV */
- /*1685*/    0x13ef,  1,   0xabbf, /* CHEROKEE SMALL LETTER YA */
- /*1688*/    0x13f0,  1,   0x13f8, /* CHEROKEE SMALL LETTER YE */
- /*1691*/    0x13f1,  1,   0x13f9, /* CHEROKEE SMALL LETTER YI */
- /*1694*/    0x13f2,  1,   0x13fa, /* CHEROKEE SMALL LETTER YO */
- /*1697*/    0x13f3,  1,   0x13fb, /* CHEROKEE SMALL LETTER YU */
- /*1700*/    0x13f4,  1,   0x13fc, /* CHEROKEE SMALL LETTER YV */
- /*1703*/    0x13f5,  1,   0x13fd, /* CHEROKEE SMALL LETTER MV */
- /*1706*/    0x1d79,  1,   0xa77d, /* LATIN CAPITAL LETTER INSULAR G */
- /*1709*/    0x1d7d,  1,   0x2c63, /* LATIN CAPITAL LETTER P WITH STROKE */
- /*1712*/    0x1e01,  1,   0x1e00, /* LATIN CAPITAL LETTER A WITH RING .. */
- /*1715*/    0x1e03,  1,   0x1e02, /* LATIN CAPITAL LETTER B WITH DOT A.. */
- /*1718*/    0x1e05,  1,   0x1e04, /* LATIN CAPITAL LETTER B WITH DOT B.. */
- /*1721*/    0x1e07,  1,   0x1e06, /* LATIN CAPITAL LETTER B WITH LINE .. */
- /*1724*/    0x1e09,  1,   0x1e08, /* LATIN CAPITAL LETTER C WITH CEDIL.. */
- /*1727*/    0x1e0b,  1,   0x1e0a, /* LATIN CAPITAL LETTER D WITH DOT A.. */
- /*1730*/    0x1e0d,  1,   0x1e0c, /* LATIN CAPITAL LETTER D WITH DOT B.. */
- /*1733*/    0x1e0f,  1,   0x1e0e, /* LATIN CAPITAL LETTER D WITH LINE .. */
- /*1736*/    0x1e11,  1,   0x1e10, /* LATIN CAPITAL LETTER D WITH CEDIL.. */
- /*1739*/    0x1e13,  1,   0x1e12, /* LATIN CAPITAL LETTER D WITH CIRCU.. */
- /*1742*/    0x1e15,  1,   0x1e14, /* LATIN CAPITAL LETTER E WITH MACRO.. */
- /*1745*/    0x1e17,  1,   0x1e16, /* LATIN CAPITAL LETTER E WITH MACRO.. */
- /*1748*/    0x1e19,  1,   0x1e18, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
- /*1751*/    0x1e1b,  1,   0x1e1a, /* LATIN CAPITAL LETTER E WITH TILDE.. */
- /*1754*/    0x1e1d,  1,   0x1e1c, /* LATIN CAPITAL LETTER E WITH CEDIL.. */
- /*1757*/    0x1e1f,  1,   0x1e1e, /* LATIN CAPITAL LETTER F WITH DOT A.. */
- /*1760*/    0x1e21,  1,   0x1e20, /* LATIN CAPITAL LETTER G WITH MACRON */
- /*1763*/    0x1e23,  1,   0x1e22, /* LATIN CAPITAL LETTER H WITH DOT A.. */
- /*1766*/    0x1e25,  1,   0x1e24, /* LATIN CAPITAL LETTER H WITH DOT B.. */
- /*1769*/    0x1e27,  1,   0x1e26, /* LATIN CAPITAL LETTER H WITH DIAER.. */
- /*1772*/    0x1e29,  1,   0x1e28, /* LATIN CAPITAL LETTER H WITH CEDIL.. */
- /*1775*/    0x1e2b,  1,   0x1e2a, /* LATIN CAPITAL LETTER H WITH BREVE.. */
- /*1778*/    0x1e2d,  1,   0x1e2c, /* LATIN CAPITAL LETTER I WITH TILDE.. */
- /*1781*/    0x1e2f,  1,   0x1e2e, /* LATIN CAPITAL LETTER I WITH DIAER.. */
- /*1784*/    0x1e31,  1,   0x1e30, /* LATIN CAPITAL LETTER K WITH ACUTE */
- /*1787*/    0x1e33,  1,   0x1e32, /* LATIN CAPITAL LETTER K WITH DOT B.. */
- /*1790*/    0x1e35,  1,   0x1e34, /* LATIN CAPITAL LETTER K WITH LINE .. */
- /*1793*/    0x1e37,  1,   0x1e36, /* LATIN CAPITAL LETTER L WITH DOT B.. */
- /*1796*/    0x1e39,  1,   0x1e38, /* LATIN CAPITAL LETTER L WITH DOT B.. */
- /*1799*/    0x1e3b,  1,   0x1e3a, /* LATIN CAPITAL LETTER L WITH LINE .. */
- /*1802*/    0x1e3d,  1,   0x1e3c, /* LATIN CAPITAL LETTER L WITH CIRCU.. */
- /*1805*/    0x1e3f,  1,   0x1e3e, /* LATIN CAPITAL LETTER M WITH ACUTE */
- /*1808*/    0x1e41,  1,   0x1e40, /* LATIN CAPITAL LETTER M WITH DOT A.. */
- /*1811*/    0x1e43,  1,   0x1e42, /* LATIN CAPITAL LETTER M WITH DOT B.. */
- /*1814*/    0x1e45,  1,   0x1e44, /* LATIN CAPITAL LETTER N WITH DOT A.. */
- /*1817*/    0x1e47,  1,   0x1e46, /* LATIN CAPITAL LETTER N WITH DOT B.. */
- /*1820*/    0x1e49,  1,   0x1e48, /* LATIN CAPITAL LETTER N WITH LINE .. */
- /*1823*/    0x1e4b,  1,   0x1e4a, /* LATIN CAPITAL LETTER N WITH CIRCU.. */
- /*1826*/    0x1e4d,  1,   0x1e4c, /* LATIN CAPITAL LETTER O WITH TILDE.. */
- /*1829*/    0x1e4f,  1,   0x1e4e, /* LATIN CAPITAL LETTER O WITH TILDE.. */
- /*1832*/    0x1e51,  1,   0x1e50, /* LATIN CAPITAL LETTER O WITH MACRO.. */
- /*1835*/    0x1e53,  1,   0x1e52, /* LATIN CAPITAL LETTER O WITH MACRO.. */
- /*1838*/    0x1e55,  1,   0x1e54, /* LATIN CAPITAL LETTER P WITH ACUTE */
- /*1841*/    0x1e57,  1,   0x1e56, /* LATIN CAPITAL LETTER P WITH DOT A.. */
- /*1844*/    0x1e59,  1,   0x1e58, /* LATIN CAPITAL LETTER R WITH DOT A.. */
- /*1847*/    0x1e5b,  1,   0x1e5a, /* LATIN CAPITAL LETTER R WITH DOT B.. */
- /*1850*/    0x1e5d,  1,   0x1e5c, /* LATIN CAPITAL LETTER R WITH DOT B.. */
- /*1853*/    0x1e5f,  1,   0x1e5e, /* LATIN CAPITAL LETTER R WITH LINE .. */
- /*1856*/    0x1e61,  2,   0x1e60,   0x1e9b, /* LATIN CAPITAL LETTER S WITH DOT A.. */
- /*1860*/    0x1e63,  1,   0x1e62, /* LATIN CAPITAL LETTER S WITH DOT B.. */
- /*1863*/    0x1e65,  1,   0x1e64, /* LATIN CAPITAL LETTER S WITH ACUTE.. */
- /*1866*/    0x1e67,  1,   0x1e66, /* LATIN CAPITAL LETTER S WITH CARON.. */
- /*1869*/    0x1e69,  1,   0x1e68, /* LATIN CAPITAL LETTER S WITH DOT B.. */
- /*1872*/    0x1e6b,  1,   0x1e6a, /* LATIN CAPITAL LETTER T WITH DOT A.. */
- /*1875*/    0x1e6d,  1,   0x1e6c, /* LATIN CAPITAL LETTER T WITH DOT B.. */
- /*1878*/    0x1e6f,  1,   0x1e6e, /* LATIN CAPITAL LETTER T WITH LINE .. */
- /*1881*/    0x1e71,  1,   0x1e70, /* LATIN CAPITAL LETTER T WITH CIRCU.. */
- /*1884*/    0x1e73,  1,   0x1e72, /* LATIN CAPITAL LETTER U WITH DIAER.. */
- /*1887*/    0x1e75,  1,   0x1e74, /* LATIN CAPITAL LETTER U WITH TILDE.. */
- /*1890*/    0x1e77,  1,   0x1e76, /* LATIN CAPITAL LETTER U WITH CIRCU.. */
- /*1893*/    0x1e79,  1,   0x1e78, /* LATIN CAPITAL LETTER U WITH TILDE.. */
- /*1896*/    0x1e7b,  1,   0x1e7a, /* LATIN CAPITAL LETTER U WITH MACRO.. */
- /*1899*/    0x1e7d,  1,   0x1e7c, /* LATIN CAPITAL LETTER V WITH TILDE */
- /*1902*/    0x1e7f,  1,   0x1e7e, /* LATIN CAPITAL LETTER V WITH DOT B.. */
- /*1905*/    0x1e81,  1,   0x1e80, /* LATIN CAPITAL LETTER W WITH GRAVE */
- /*1908*/    0x1e83,  1,   0x1e82, /* LATIN CAPITAL LETTER W WITH ACUTE */
- /*1911*/    0x1e85,  1,   0x1e84, /* LATIN CAPITAL LETTER W WITH DIAER.. */
- /*1914*/    0x1e87,  1,   0x1e86, /* LATIN CAPITAL LETTER W WITH DOT A.. */
- /*1917*/    0x1e89,  1,   0x1e88, /* LATIN CAPITAL LETTER W WITH DOT B.. */
- /*1920*/    0x1e8b,  1,   0x1e8a, /* LATIN CAPITAL LETTER X WITH DOT A.. */
- /*1923*/    0x1e8d,  1,   0x1e8c, /* LATIN CAPITAL LETTER X WITH DIAER.. */
- /*1926*/    0x1e8f,  1,   0x1e8e, /* LATIN CAPITAL LETTER Y WITH DOT A.. */
- /*1929*/    0x1e91,  1,   0x1e90, /* LATIN CAPITAL LETTER Z WITH CIRCU.. */
- /*1932*/    0x1e93,  1,   0x1e92, /* LATIN CAPITAL LETTER Z WITH DOT B.. */
- /*1935*/    0x1e95,  1,   0x1e94, /* LATIN CAPITAL LETTER Z WITH LINE .. */
- /*1938*/    0x1ea1,  1,   0x1ea0, /* LATIN CAPITAL LETTER A WITH DOT B.. */
- /*1941*/    0x1ea3,  1,   0x1ea2, /* LATIN CAPITAL LETTER A WITH HOOK .. */
- /*1944*/    0x1ea5,  1,   0x1ea4, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
- /*1947*/    0x1ea7,  1,   0x1ea6, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
- /*1950*/    0x1ea9,  1,   0x1ea8, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
- /*1953*/    0x1eab,  1,   0x1eaa, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
- /*1956*/    0x1ead,  1,   0x1eac, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
- /*1959*/    0x1eaf,  1,   0x1eae, /* LATIN CAPITAL LETTER A WITH BREVE.. */
- /*1962*/    0x1eb1,  1,   0x1eb0, /* LATIN CAPITAL LETTER A WITH BREVE.. */
- /*1965*/    0x1eb3,  1,   0x1eb2, /* LATIN CAPITAL LETTER A WITH BREVE.. */
- /*1968*/    0x1eb5,  1,   0x1eb4, /* LATIN CAPITAL LETTER A WITH BREVE.. */
- /*1971*/    0x1eb7,  1,   0x1eb6, /* LATIN CAPITAL LETTER A WITH BREVE.. */
- /*1974*/    0x1eb9,  1,   0x1eb8, /* LATIN CAPITAL LETTER E WITH DOT B.. */
- /*1977*/    0x1ebb,  1,   0x1eba, /* LATIN CAPITAL LETTER E WITH HOOK .. */
- /*1980*/    0x1ebd,  1,   0x1ebc, /* LATIN CAPITAL LETTER E WITH TILDE */
- /*1983*/    0x1ebf,  1,   0x1ebe, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
- /*1986*/    0x1ec1,  1,   0x1ec0, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
- /*1989*/    0x1ec3,  1,   0x1ec2, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
- /*1992*/    0x1ec5,  1,   0x1ec4, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
- /*1995*/    0x1ec7,  1,   0x1ec6, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
- /*1998*/    0x1ec9,  1,   0x1ec8, /* LATIN CAPITAL LETTER I WITH HOOK .. */
- /*2001*/    0x1ecb,  1,   0x1eca, /* LATIN CAPITAL LETTER I WITH DOT B.. */
- /*2004*/    0x1ecd,  1,   0x1ecc, /* LATIN CAPITAL LETTER O WITH DOT B.. */
- /*2007*/    0x1ecf,  1,   0x1ece, /* LATIN CAPITAL LETTER O WITH HOOK .. */
- /*2010*/    0x1ed1,  1,   0x1ed0, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
- /*2013*/    0x1ed3,  1,   0x1ed2, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
- /*2016*/    0x1ed5,  1,   0x1ed4, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
- /*2019*/    0x1ed7,  1,   0x1ed6, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
- /*2022*/    0x1ed9,  1,   0x1ed8, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
- /*2025*/    0x1edb,  1,   0x1eda, /* LATIN CAPITAL LETTER O WITH HORN .. */
- /*2028*/    0x1edd,  1,   0x1edc, /* LATIN CAPITAL LETTER O WITH HORN .. */
- /*2031*/    0x1edf,  1,   0x1ede, /* LATIN CAPITAL LETTER O WITH HORN .. */
- /*2034*/    0x1ee1,  1,   0x1ee0, /* LATIN CAPITAL LETTER O WITH HORN .. */
- /*2037*/    0x1ee3,  1,   0x1ee2, /* LATIN CAPITAL LETTER O WITH HORN .. */
- /*2040*/    0x1ee5,  1,   0x1ee4, /* LATIN CAPITAL LETTER U WITH DOT B.. */
- /*2043*/    0x1ee7,  1,   0x1ee6, /* LATIN CAPITAL LETTER U WITH HOOK .. */
- /*2046*/    0x1ee9,  1,   0x1ee8, /* LATIN CAPITAL LETTER U WITH HORN .. */
- /*2049*/    0x1eeb,  1,   0x1eea, /* LATIN CAPITAL LETTER U WITH HORN .. */
- /*2052*/    0x1eed,  1,   0x1eec, /* LATIN CAPITAL LETTER U WITH HORN .. */
- /*2055*/    0x1eef,  1,   0x1eee, /* LATIN CAPITAL LETTER U WITH HORN .. */
- /*2058*/    0x1ef1,  1,   0x1ef0, /* LATIN CAPITAL LETTER U WITH HORN .. */
- /*2061*/    0x1ef3,  1,   0x1ef2, /* LATIN CAPITAL LETTER Y WITH GRAVE */
- /*2064*/    0x1ef5,  1,   0x1ef4, /* LATIN CAPITAL LETTER Y WITH DOT B.. */
- /*2067*/    0x1ef7,  1,   0x1ef6, /* LATIN CAPITAL LETTER Y WITH HOOK .. */
- /*2070*/    0x1ef9,  1,   0x1ef8, /* LATIN CAPITAL LETTER Y WITH TILDE */
- /*2073*/    0x1efb,  1,   0x1efa, /* LATIN CAPITAL LETTER MIDDLE-WELSH.. */
- /*2076*/    0x1efd,  1,   0x1efc, /* LATIN CAPITAL LETTER MIDDLE-WELSH.. */
- /*2079*/    0x1eff,  1,   0x1efe, /* LATIN CAPITAL LETTER Y WITH LOOP */
- /*2082*/    0x1f00,  1,   0x1f08, /* GREEK CAPITAL LETTER ALPHA WITH P.. */
- /*2085*/    0x1f01,  1,   0x1f09, /* GREEK CAPITAL LETTER ALPHA WITH D.. */
- /*2088*/    0x1f02,  1,   0x1f0a, /* GREEK CAPITAL LETTER ALPHA WITH P.. */
- /*2091*/    0x1f03,  1,   0x1f0b, /* GREEK CAPITAL LETTER ALPHA WITH D.. */
- /*2094*/    0x1f04,  1,   0x1f0c, /* GREEK CAPITAL LETTER ALPHA WITH P.. */
- /*2097*/    0x1f05,  1,   0x1f0d, /* GREEK CAPITAL LETTER ALPHA WITH D.. */
- /*2100*/    0x1f06,  1,   0x1f0e, /* GREEK CAPITAL LETTER ALPHA WITH P.. */
- /*2103*/    0x1f07,  1,   0x1f0f, /* GREEK CAPITAL LETTER ALPHA WITH D.. */
- /*2106*/    0x1f10,  1,   0x1f18, /* GREEK CAPITAL LETTER EPSILON WITH.. */
- /*2109*/    0x1f11,  1,   0x1f19, /* GREEK CAPITAL LETTER EPSILON WITH.. */
- /*2112*/    0x1f12,  1,   0x1f1a, /* GREEK CAPITAL LETTER EPSILON WITH.. */
- /*2115*/    0x1f13,  1,   0x1f1b, /* GREEK CAPITAL LETTER EPSILON WITH.. */
- /*2118*/    0x1f14,  1,   0x1f1c, /* GREEK CAPITAL LETTER EPSILON WITH.. */
- /*2121*/    0x1f15,  1,   0x1f1d, /* GREEK CAPITAL LETTER EPSILON WITH.. */
- /*2124*/    0x1f20,  1,   0x1f28, /* GREEK CAPITAL LETTER ETA WITH PSI.. */
- /*2127*/    0x1f21,  1,   0x1f29, /* GREEK CAPITAL LETTER ETA WITH DAS.. */
- /*2130*/    0x1f22,  1,   0x1f2a, /* GREEK CAPITAL LETTER ETA WITH PSI.. */
- /*2133*/    0x1f23,  1,   0x1f2b, /* GREEK CAPITAL LETTER ETA WITH DAS.. */
- /*2136*/    0x1f24,  1,   0x1f2c, /* GREEK CAPITAL LETTER ETA WITH PSI.. */
- /*2139*/    0x1f25,  1,   0x1f2d, /* GREEK CAPITAL LETTER ETA WITH DAS.. */
- /*2142*/    0x1f26,  1,   0x1f2e, /* GREEK CAPITAL LETTER ETA WITH PSI.. */
- /*2145*/    0x1f27,  1,   0x1f2f, /* GREEK CAPITAL LETTER ETA WITH DAS.. */
- /*2148*/    0x1f30,  1,   0x1f38, /* GREEK CAPITAL LETTER IOTA WITH PS.. */
- /*2151*/    0x1f31,  1,   0x1f39, /* GREEK CAPITAL LETTER IOTA WITH DA.. */
- /*2154*/    0x1f32,  1,   0x1f3a, /* GREEK CAPITAL LETTER IOTA WITH PS.. */
- /*2157*/    0x1f33,  1,   0x1f3b, /* GREEK CAPITAL LETTER IOTA WITH DA.. */
- /*2160*/    0x1f34,  1,   0x1f3c, /* GREEK CAPITAL LETTER IOTA WITH PS.. */
- /*2163*/    0x1f35,  1,   0x1f3d, /* GREEK CAPITAL LETTER IOTA WITH DA.. */
- /*2166*/    0x1f36,  1,   0x1f3e, /* GREEK CAPITAL LETTER IOTA WITH PS.. */
- /*2169*/    0x1f37,  1,   0x1f3f, /* GREEK CAPITAL LETTER IOTA WITH DA.. */
- /*2172*/    0x1f40,  1,   0x1f48, /* GREEK CAPITAL LETTER OMICRON WITH.. */
- /*2175*/    0x1f41,  1,   0x1f49, /* GREEK CAPITAL LETTER OMICRON WITH.. */
- /*2178*/    0x1f42,  1,   0x1f4a, /* GREEK CAPITAL LETTER OMICRON WITH.. */
- /*2181*/    0x1f43,  1,   0x1f4b, /* GREEK CAPITAL LETTER OMICRON WITH.. */
- /*2184*/    0x1f44,  1,   0x1f4c, /* GREEK CAPITAL LETTER OMICRON WITH.. */
- /*2187*/    0x1f45,  1,   0x1f4d, /* GREEK CAPITAL LETTER OMICRON WITH.. */
- /*2190*/    0x1f51,  1,   0x1f59, /* GREEK CAPITAL LETTER UPSILON WITH.. */
- /*2193*/    0x1f53,  1,   0x1f5b, /* GREEK CAPITAL LETTER UPSILON WITH.. */
- /*2196*/    0x1f55,  1,   0x1f5d, /* GREEK CAPITAL LETTER UPSILON WITH.. */
- /*2199*/    0x1f57,  1,   0x1f5f, /* GREEK CAPITAL LETTER UPSILON WITH.. */
- /*2202*/    0x1f60,  1,   0x1f68, /* GREEK CAPITAL LETTER OMEGA WITH P.. */
- /*2205*/    0x1f61,  1,   0x1f69, /* GREEK CAPITAL LETTER OMEGA WITH D.. */
- /*2208*/    0x1f62,  1,   0x1f6a, /* GREEK CAPITAL LETTER OMEGA WITH P.. */
- /*2211*/    0x1f63,  1,   0x1f6b, /* GREEK CAPITAL LETTER OMEGA WITH D.. */
- /*2214*/    0x1f64,  1,   0x1f6c, /* GREEK CAPITAL LETTER OMEGA WITH P.. */
- /*2217*/    0x1f65,  1,   0x1f6d, /* GREEK CAPITAL LETTER OMEGA WITH D.. */
- /*2220*/    0x1f66,  1,   0x1f6e, /* GREEK CAPITAL LETTER OMEGA WITH P.. */
- /*2223*/    0x1f67,  1,   0x1f6f, /* GREEK CAPITAL LETTER OMEGA WITH D.. */
- /*2226*/    0x1f70,  1,   0x1fba, /* GREEK CAPITAL LETTER ALPHA WITH V.. */
- /*2229*/    0x1f71,  1,   0x1fbb, /* GREEK CAPITAL LETTER ALPHA WITH O.. */
- /*2232*/    0x1f72,  1,   0x1fc8, /* GREEK CAPITAL LETTER EPSILON WITH.. */
- /*2235*/    0x1f73,  1,   0x1fc9, /* GREEK CAPITAL LETTER EPSILON WITH.. */
- /*2238*/    0x1f74,  1,   0x1fca, /* GREEK CAPITAL LETTER ETA WITH VAR.. */
- /*2241*/    0x1f75,  1,   0x1fcb, /* GREEK CAPITAL LETTER ETA WITH OXIA */
- /*2244*/    0x1f76,  1,   0x1fda, /* GREEK CAPITAL LETTER IOTA WITH VA.. */
- /*2247*/    0x1f77,  1,   0x1fdb, /* GREEK CAPITAL LETTER IOTA WITH OX.. */
- /*2250*/    0x1f78,  1,   0x1ff8, /* GREEK CAPITAL LETTER OMICRON WITH.. */
- /*2253*/    0x1f79,  1,   0x1ff9, /* GREEK CAPITAL LETTER OMICRON WITH.. */
- /*2256*/    0x1f7a,  1,   0x1fea, /* GREEK CAPITAL LETTER UPSILON WITH.. */
- /*2259*/    0x1f7b,  1,   0x1feb, /* GREEK CAPITAL LETTER UPSILON WITH.. */
- /*2262*/    0x1f7c,  1,   0x1ffa, /* GREEK CAPITAL LETTER OMEGA WITH V.. */
- /*2265*/    0x1f7d,  1,   0x1ffb, /* GREEK CAPITAL LETTER OMEGA WITH O.. */
- /*2268*/    0x1fb0,  1,   0x1fb8, /* GREEK CAPITAL LETTER ALPHA WITH V.. */
- /*2271*/    0x1fb1,  1,   0x1fb9, /* GREEK CAPITAL LETTER ALPHA WITH M.. */
- /*2274*/    0x1fd0,  1,   0x1fd8, /* GREEK CAPITAL LETTER IOTA WITH VR.. */
- /*2277*/    0x1fd1,  1,   0x1fd9, /* GREEK CAPITAL LETTER IOTA WITH MA.. */
- /*2280*/    0x1fe0,  1,   0x1fe8, /* GREEK CAPITAL LETTER UPSILON WITH.. */
- /*2283*/    0x1fe1,  1,   0x1fe9, /* GREEK CAPITAL LETTER UPSILON WITH.. */
- /*2286*/    0x1fe5,  1,   0x1fec, /* GREEK CAPITAL LETTER RHO WITH DAS.. */
- /*2289*/    0x214e,  1,   0x2132, /* TURNED CAPITAL F */
- /*2292*/    0x2170,  1,   0x2160, /* ROMAN NUMERAL ONE */
- /*2295*/    0x2171,  1,   0x2161, /* ROMAN NUMERAL TWO */
- /*2298*/    0x2172,  1,   0x2162, /* ROMAN NUMERAL THREE */
- /*2301*/    0x2173,  1,   0x2163, /* ROMAN NUMERAL FOUR */
- /*2304*/    0x2174,  1,   0x2164, /* ROMAN NUMERAL FIVE */
- /*2307*/    0x2175,  1,   0x2165, /* ROMAN NUMERAL SIX */
- /*2310*/    0x2176,  1,   0x2166, /* ROMAN NUMERAL SEVEN */
- /*2313*/    0x2177,  1,   0x2167, /* ROMAN NUMERAL EIGHT */
- /*2316*/    0x2178,  1,   0x2168, /* ROMAN NUMERAL NINE */
- /*2319*/    0x2179,  1,   0x2169, /* ROMAN NUMERAL TEN */
- /*2322*/    0x217a,  1,   0x216a, /* ROMAN NUMERAL ELEVEN */
- /*2325*/    0x217b,  1,   0x216b, /* ROMAN NUMERAL TWELVE */
- /*2328*/    0x217c,  1,   0x216c, /* ROMAN NUMERAL FIFTY */
- /*2331*/    0x217d,  1,   0x216d, /* ROMAN NUMERAL ONE HUNDRED */
- /*2334*/    0x217e,  1,   0x216e, /* ROMAN NUMERAL FIVE HUNDRED */
- /*2337*/    0x217f,  1,   0x216f, /* ROMAN NUMERAL ONE THOUSAND */
- /*2340*/    0x2184,  1,   0x2183, /* ROMAN NUMERAL REVERSED ONE HUNDRED */
- /*2343*/    0x24d0,  1,   0x24b6, /* CIRCLED LATIN CAPITAL LETTER A */
- /*2346*/    0x24d1,  1,   0x24b7, /* CIRCLED LATIN CAPITAL LETTER B */
- /*2349*/    0x24d2,  1,   0x24b8, /* CIRCLED LATIN CAPITAL LETTER C */
- /*2352*/    0x24d3,  1,   0x24b9, /* CIRCLED LATIN CAPITAL LETTER D */
- /*2355*/    0x24d4,  1,   0x24ba, /* CIRCLED LATIN CAPITAL LETTER E */
- /*2358*/    0x24d5,  1,   0x24bb, /* CIRCLED LATIN CAPITAL LETTER F */
- /*2361*/    0x24d6,  1,   0x24bc, /* CIRCLED LATIN CAPITAL LETTER G */
- /*2364*/    0x24d7,  1,   0x24bd, /* CIRCLED LATIN CAPITAL LETTER H */
- /*2367*/    0x24d8,  1,   0x24be, /* CIRCLED LATIN CAPITAL LETTER I */
- /*2370*/    0x24d9,  1,   0x24bf, /* CIRCLED LATIN CAPITAL LETTER J */
- /*2373*/    0x24da,  1,   0x24c0, /* CIRCLED LATIN CAPITAL LETTER K */
- /*2376*/    0x24db,  1,   0x24c1, /* CIRCLED LATIN CAPITAL LETTER L */
- /*2379*/    0x24dc,  1,   0x24c2, /* CIRCLED LATIN CAPITAL LETTER M */
- /*2382*/    0x24dd,  1,   0x24c3, /* CIRCLED LATIN CAPITAL LETTER N */
- /*2385*/    0x24de,  1,   0x24c4, /* CIRCLED LATIN CAPITAL LETTER O */
- /*2388*/    0x24df,  1,   0x24c5, /* CIRCLED LATIN CAPITAL LETTER P */
- /*2391*/    0x24e0,  1,   0x24c6, /* CIRCLED LATIN CAPITAL LETTER Q */
- /*2394*/    0x24e1,  1,   0x24c7, /* CIRCLED LATIN CAPITAL LETTER R */
- /*2397*/    0x24e2,  1,   0x24c8, /* CIRCLED LATIN CAPITAL LETTER S */
- /*2400*/    0x24e3,  1,   0x24c9, /* CIRCLED LATIN CAPITAL LETTER T */
- /*2403*/    0x24e4,  1,   0x24ca, /* CIRCLED LATIN CAPITAL LETTER U */
- /*2406*/    0x24e5,  1,   0x24cb, /* CIRCLED LATIN CAPITAL LETTER V */
- /*2409*/    0x24e6,  1,   0x24cc, /* CIRCLED LATIN CAPITAL LETTER W */
- /*2412*/    0x24e7,  1,   0x24cd, /* CIRCLED LATIN CAPITAL LETTER X */
- /*2415*/    0x24e8,  1,   0x24ce, /* CIRCLED LATIN CAPITAL LETTER Y */
- /*2418*/    0x24e9,  1,   0x24cf, /* CIRCLED LATIN CAPITAL LETTER Z */
- /*2421*/    0x2c30,  1,   0x2c00, /* GLAGOLITIC CAPITAL LETTER AZU */
- /*2424*/    0x2c31,  1,   0x2c01, /* GLAGOLITIC CAPITAL LETTER BUKY */
- /*2427*/    0x2c32,  1,   0x2c02, /* GLAGOLITIC CAPITAL LETTER VEDE */
- /*2430*/    0x2c33,  1,   0x2c03, /* GLAGOLITIC CAPITAL LETTER GLAGOLI */
- /*2433*/    0x2c34,  1,   0x2c04, /* GLAGOLITIC CAPITAL LETTER DOBRO */
- /*2436*/    0x2c35,  1,   0x2c05, /* GLAGOLITIC CAPITAL LETTER YESTU */
- /*2439*/    0x2c36,  1,   0x2c06, /* GLAGOLITIC CAPITAL LETTER ZHIVETE */
- /*2442*/    0x2c37,  1,   0x2c07, /* GLAGOLITIC CAPITAL LETTER DZELO */
- /*2445*/    0x2c38,  1,   0x2c08, /* GLAGOLITIC CAPITAL LETTER ZEMLJA */
- /*2448*/    0x2c39,  1,   0x2c09, /* GLAGOLITIC CAPITAL LETTER IZHE */
- /*2451*/    0x2c3a,  1,   0x2c0a, /* GLAGOLITIC CAPITAL LETTER INITIAL.. */
- /*2454*/    0x2c3b,  1,   0x2c0b, /* GLAGOLITIC CAPITAL LETTER I */
- /*2457*/    0x2c3c,  1,   0x2c0c, /* GLAGOLITIC CAPITAL LETTER DJERVI */
- /*2460*/    0x2c3d,  1,   0x2c0d, /* GLAGOLITIC CAPITAL LETTER KAKO */
- /*2463*/    0x2c3e,  1,   0x2c0e, /* GLAGOLITIC CAPITAL LETTER LJUDIJE */
- /*2466*/    0x2c3f,  1,   0x2c0f, /* GLAGOLITIC CAPITAL LETTER MYSLITE */
- /*2469*/    0x2c40,  1,   0x2c10, /* GLAGOLITIC CAPITAL LETTER NASHI */
- /*2472*/    0x2c41,  1,   0x2c11, /* GLAGOLITIC CAPITAL LETTER ONU */
- /*2475*/    0x2c42,  1,   0x2c12, /* GLAGOLITIC CAPITAL LETTER POKOJI */
- /*2478*/    0x2c43,  1,   0x2c13, /* GLAGOLITIC CAPITAL LETTER RITSI */
- /*2481*/    0x2c44,  1,   0x2c14, /* GLAGOLITIC CAPITAL LETTER SLOVO */
- /*2484*/    0x2c45,  1,   0x2c15, /* GLAGOLITIC CAPITAL LETTER TVRIDO */
- /*2487*/    0x2c46,  1,   0x2c16, /* GLAGOLITIC CAPITAL LETTER UKU */
- /*2490*/    0x2c47,  1,   0x2c17, /* GLAGOLITIC CAPITAL LETTER FRITU */
- /*2493*/    0x2c48,  1,   0x2c18, /* GLAGOLITIC CAPITAL LETTER HERU */
- /*2496*/    0x2c49,  1,   0x2c19, /* GLAGOLITIC CAPITAL LETTER OTU */
- /*2499*/    0x2c4a,  1,   0x2c1a, /* GLAGOLITIC CAPITAL LETTER PE */
- /*2502*/    0x2c4b,  1,   0x2c1b, /* GLAGOLITIC CAPITAL LETTER SHTA */
- /*2505*/    0x2c4c,  1,   0x2c1c, /* GLAGOLITIC CAPITAL LETTER TSI */
- /*2508*/    0x2c4d,  1,   0x2c1d, /* GLAGOLITIC CAPITAL LETTER CHRIVI */
- /*2511*/    0x2c4e,  1,   0x2c1e, /* GLAGOLITIC CAPITAL LETTER SHA */
- /*2514*/    0x2c4f,  1,   0x2c1f, /* GLAGOLITIC CAPITAL LETTER YERU */
- /*2517*/    0x2c50,  1,   0x2c20, /* GLAGOLITIC CAPITAL LETTER YERI */
- /*2520*/    0x2c51,  1,   0x2c21, /* GLAGOLITIC CAPITAL LETTER YATI */
- /*2523*/    0x2c52,  1,   0x2c22, /* GLAGOLITIC CAPITAL LETTER SPIDERY.. */
- /*2526*/    0x2c53,  1,   0x2c23, /* GLAGOLITIC CAPITAL LETTER YU */
- /*2529*/    0x2c54,  1,   0x2c24, /* GLAGOLITIC CAPITAL LETTER SMALL Y.. */
- /*2532*/    0x2c55,  1,   0x2c25, /* GLAGOLITIC CAPITAL LETTER SMALL Y.. */
- /*2535*/    0x2c56,  1,   0x2c26, /* GLAGOLITIC CAPITAL LETTER YO */
- /*2538*/    0x2c57,  1,   0x2c27, /* GLAGOLITIC CAPITAL LETTER IOTATED.. */
- /*2541*/    0x2c58,  1,   0x2c28, /* GLAGOLITIC CAPITAL LETTER BIG YUS */
- /*2544*/    0x2c59,  1,   0x2c29, /* GLAGOLITIC CAPITAL LETTER IOTATED.. */
- /*2547*/    0x2c5a,  1,   0x2c2a, /* GLAGOLITIC CAPITAL LETTER FITA */
- /*2550*/    0x2c5b,  1,   0x2c2b, /* GLAGOLITIC CAPITAL LETTER IZHITSA */
- /*2553*/    0x2c5c,  1,   0x2c2c, /* GLAGOLITIC CAPITAL LETTER SHTAPIC */
- /*2556*/    0x2c5d,  1,   0x2c2d, /* GLAGOLITIC CAPITAL LETTER TROKUTA.. */
- /*2559*/    0x2c5e,  1,   0x2c2e, /* GLAGOLITIC CAPITAL LETTER LATINAT.. */
- /*2562*/    0x2c61,  1,   0x2c60, /* LATIN CAPITAL LETTER L WITH DOUBL.. */
- /*2565*/    0x2c65,  1,   0x023a, /* LATIN CAPITAL LETTER A WITH STROKE */
- /*2568*/    0x2c66,  1,   0x023e, /* LATIN CAPITAL LETTER T WITH DIAGO.. */
- /*2571*/    0x2c68,  1,   0x2c67, /* LATIN CAPITAL LETTER H WITH DESCE.. */
- /*2574*/    0x2c6a,  1,   0x2c69, /* LATIN CAPITAL LETTER K WITH DESCE.. */
- /*2577*/    0x2c6c,  1,   0x2c6b, /* LATIN CAPITAL LETTER Z WITH DESCE.. */
- /*2580*/    0x2c73,  1,   0x2c72, /* LATIN CAPITAL LETTER W WITH HOOK */
- /*2583*/    0x2c76,  1,   0x2c75, /* LATIN CAPITAL LETTER HALF H */
- /*2586*/    0x2c81,  1,   0x2c80, /* COPTIC CAPITAL LETTER ALFA */
- /*2589*/    0x2c83,  1,   0x2c82, /* COPTIC CAPITAL LETTER VIDA */
- /*2592*/    0x2c85,  1,   0x2c84, /* COPTIC CAPITAL LETTER GAMMA */
- /*2595*/    0x2c87,  1,   0x2c86, /* COPTIC CAPITAL LETTER DALDA */
- /*2598*/    0x2c89,  1,   0x2c88, /* COPTIC CAPITAL LETTER EIE */
- /*2601*/    0x2c8b,  1,   0x2c8a, /* COPTIC CAPITAL LETTER SOU */
- /*2604*/    0x2c8d,  1,   0x2c8c, /* COPTIC CAPITAL LETTER ZATA */
- /*2607*/    0x2c8f,  1,   0x2c8e, /* COPTIC CAPITAL LETTER HATE */
- /*2610*/    0x2c91,  1,   0x2c90, /* COPTIC CAPITAL LETTER THETHE */
- /*2613*/    0x2c93,  1,   0x2c92, /* COPTIC CAPITAL LETTER IAUDA */
- /*2616*/    0x2c95,  1,   0x2c94, /* COPTIC CAPITAL LETTER KAPA */
- /*2619*/    0x2c97,  1,   0x2c96, /* COPTIC CAPITAL LETTER LAULA */
- /*2622*/    0x2c99,  1,   0x2c98, /* COPTIC CAPITAL LETTER MI */
- /*2625*/    0x2c9b,  1,   0x2c9a, /* COPTIC CAPITAL LETTER NI */
- /*2628*/    0x2c9d,  1,   0x2c9c, /* COPTIC CAPITAL LETTER KSI */
- /*2631*/    0x2c9f,  1,   0x2c9e, /* COPTIC CAPITAL LETTER O */
- /*2634*/    0x2ca1,  1,   0x2ca0, /* COPTIC CAPITAL LETTER PI */
- /*2637*/    0x2ca3,  1,   0x2ca2, /* COPTIC CAPITAL LETTER RO */
- /*2640*/    0x2ca5,  1,   0x2ca4, /* COPTIC CAPITAL LETTER SIMA */
- /*2643*/    0x2ca7,  1,   0x2ca6, /* COPTIC CAPITAL LETTER TAU */
- /*2646*/    0x2ca9,  1,   0x2ca8, /* COPTIC CAPITAL LETTER UA */
- /*2649*/    0x2cab,  1,   0x2caa, /* COPTIC CAPITAL LETTER FI */
- /*2652*/    0x2cad,  1,   0x2cac, /* COPTIC CAPITAL LETTER KHI */
- /*2655*/    0x2caf,  1,   0x2cae, /* COPTIC CAPITAL LETTER PSI */
- /*2658*/    0x2cb1,  1,   0x2cb0, /* COPTIC CAPITAL LETTER OOU */
- /*2661*/    0x2cb3,  1,   0x2cb2, /* COPTIC CAPITAL LETTER DIALECT-P A.. */
- /*2664*/    0x2cb5,  1,   0x2cb4, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
- /*2667*/    0x2cb7,  1,   0x2cb6, /* COPTIC CAPITAL LETTER CRYPTOGRAMM.. */
- /*2670*/    0x2cb9,  1,   0x2cb8, /* COPTIC CAPITAL LETTER DIALECT-P K.. */
- /*2673*/    0x2cbb,  1,   0x2cba, /* COPTIC CAPITAL LETTER DIALECT-P NI */
- /*2676*/    0x2cbd,  1,   0x2cbc, /* COPTIC CAPITAL LETTER CRYPTOGRAMM.. */
- /*2679*/    0x2cbf,  1,   0x2cbe, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
- /*2682*/    0x2cc1,  1,   0x2cc0, /* COPTIC CAPITAL LETTER SAMPI */
- /*2685*/    0x2cc3,  1,   0x2cc2, /* COPTIC CAPITAL LETTER CROSSED SHEI */
- /*2688*/    0x2cc5,  1,   0x2cc4, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
- /*2691*/    0x2cc7,  1,   0x2cc6, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
- /*2694*/    0x2cc9,  1,   0x2cc8, /* COPTIC CAPITAL LETTER AKHMIMIC KH.. */
- /*2697*/    0x2ccb,  1,   0x2cca, /* COPTIC CAPITAL LETTER DIALECT-P H.. */
- /*2700*/    0x2ccd,  1,   0x2ccc, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
- /*2703*/    0x2ccf,  1,   0x2cce, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
- /*2706*/    0x2cd1,  1,   0x2cd0, /* COPTIC CAPITAL LETTER L-SHAPED HA */
- /*2709*/    0x2cd3,  1,   0x2cd2, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
- /*2712*/    0x2cd5,  1,   0x2cd4, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
- /*2715*/    0x2cd7,  1,   0x2cd6, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
- /*2718*/    0x2cd9,  1,   0x2cd8, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
- /*2721*/    0x2cdb,  1,   0x2cda, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
- /*2724*/    0x2cdd,  1,   0x2cdc, /* COPTIC CAPITAL LETTER OLD NUBIAN .. */
- /*2727*/    0x2cdf,  1,   0x2cde, /* COPTIC CAPITAL LETTER OLD NUBIAN .. */
- /*2730*/    0x2ce1,  1,   0x2ce0, /* COPTIC CAPITAL LETTER OLD NUBIAN .. */
- /*2733*/    0x2ce3,  1,   0x2ce2, /* COPTIC CAPITAL LETTER OLD NUBIAN .. */
- /*2736*/    0x2cec,  1,   0x2ceb, /* COPTIC CAPITAL LETTER CRYPTOGRAMM.. */
- /*2739*/    0x2cee,  1,   0x2ced, /* COPTIC CAPITAL LETTER CRYPTOGRAMM.. */
- /*2742*/    0x2cf3,  1,   0x2cf2, /* COPTIC CAPITAL LETTER BOHAIRIC KH.. */
- /*2745*/    0x2d00,  1,   0x10a0, /* GEORGIAN CAPITAL LETTER AN */
- /*2748*/    0x2d01,  1,   0x10a1, /* GEORGIAN CAPITAL LETTER BAN */
- /*2751*/    0x2d02,  1,   0x10a2, /* GEORGIAN CAPITAL LETTER GAN */
- /*2754*/    0x2d03,  1,   0x10a3, /* GEORGIAN CAPITAL LETTER DON */
- /*2757*/    0x2d04,  1,   0x10a4, /* GEORGIAN CAPITAL LETTER EN */
- /*2760*/    0x2d05,  1,   0x10a5, /* GEORGIAN CAPITAL LETTER VIN */
- /*2763*/    0x2d06,  1,   0x10a6, /* GEORGIAN CAPITAL LETTER ZEN */
- /*2766*/    0x2d07,  1,   0x10a7, /* GEORGIAN CAPITAL LETTER TAN */
- /*2769*/    0x2d08,  1,   0x10a8, /* GEORGIAN CAPITAL LETTER IN */
- /*2772*/    0x2d09,  1,   0x10a9, /* GEORGIAN CAPITAL LETTER KAN */
- /*2775*/    0x2d0a,  1,   0x10aa, /* GEORGIAN CAPITAL LETTER LAS */
- /*2778*/    0x2d0b,  1,   0x10ab, /* GEORGIAN CAPITAL LETTER MAN */
- /*2781*/    0x2d0c,  1,   0x10ac, /* GEORGIAN CAPITAL LETTER NAR */
- /*2784*/    0x2d0d,  1,   0x10ad, /* GEORGIAN CAPITAL LETTER ON */
- /*2787*/    0x2d0e,  1,   0x10ae, /* GEORGIAN CAPITAL LETTER PAR */
- /*2790*/    0x2d0f,  1,   0x10af, /* GEORGIAN CAPITAL LETTER ZHAR */
- /*2793*/    0x2d10,  1,   0x10b0, /* GEORGIAN CAPITAL LETTER RAE */
- /*2796*/    0x2d11,  1,   0x10b1, /* GEORGIAN CAPITAL LETTER SAN */
- /*2799*/    0x2d12,  1,   0x10b2, /* GEORGIAN CAPITAL LETTER TAR */
- /*2802*/    0x2d13,  1,   0x10b3, /* GEORGIAN CAPITAL LETTER UN */
- /*2805*/    0x2d14,  1,   0x10b4, /* GEORGIAN CAPITAL LETTER PHAR */
- /*2808*/    0x2d15,  1,   0x10b5, /* GEORGIAN CAPITAL LETTER KHAR */
- /*2811*/    0x2d16,  1,   0x10b6, /* GEORGIAN CAPITAL LETTER GHAN */
- /*2814*/    0x2d17,  1,   0x10b7, /* GEORGIAN CAPITAL LETTER QAR */
- /*2817*/    0x2d18,  1,   0x10b8, /* GEORGIAN CAPITAL LETTER SHIN */
- /*2820*/    0x2d19,  1,   0x10b9, /* GEORGIAN CAPITAL LETTER CHIN */
- /*2823*/    0x2d1a,  1,   0x10ba, /* GEORGIAN CAPITAL LETTER CAN */
- /*2826*/    0x2d1b,  1,   0x10bb, /* GEORGIAN CAPITAL LETTER JIL */
- /*2829*/    0x2d1c,  1,   0x10bc, /* GEORGIAN CAPITAL LETTER CIL */
- /*2832*/    0x2d1d,  1,   0x10bd, /* GEORGIAN CAPITAL LETTER CHAR */
- /*2835*/    0x2d1e,  1,   0x10be, /* GEORGIAN CAPITAL LETTER XAN */
- /*2838*/    0x2d1f,  1,   0x10bf, /* GEORGIAN CAPITAL LETTER JHAN */
- /*2841*/    0x2d20,  1,   0x10c0, /* GEORGIAN CAPITAL LETTER HAE */
- /*2844*/    0x2d21,  1,   0x10c1, /* GEORGIAN CAPITAL LETTER HE */
- /*2847*/    0x2d22,  1,   0x10c2, /* GEORGIAN CAPITAL LETTER HIE */
- /*2850*/    0x2d23,  1,   0x10c3, /* GEORGIAN CAPITAL LETTER WE */
- /*2853*/    0x2d24,  1,   0x10c4, /* GEORGIAN CAPITAL LETTER HAR */
- /*2856*/    0x2d25,  1,   0x10c5, /* GEORGIAN CAPITAL LETTER HOE */
- /*2859*/    0x2d27,  1,   0x10c7, /* GEORGIAN CAPITAL LETTER YN */
- /*2862*/    0x2d2d,  1,   0x10cd, /* GEORGIAN CAPITAL LETTER AEN */
- /*2865*/    0xa641,  1,   0xa640, /* CYRILLIC CAPITAL LETTER ZEMLYA */
- /*2868*/    0xa643,  1,   0xa642, /* CYRILLIC CAPITAL LETTER DZELO */
- /*2871*/    0xa645,  1,   0xa644, /* CYRILLIC CAPITAL LETTER REVERSED .. */
- /*2874*/    0xa647,  1,   0xa646, /* CYRILLIC CAPITAL LETTER IOTA */
- /*2877*/    0xa649,  1,   0xa648, /* CYRILLIC CAPITAL LETTER DJERV */
- /*2880*/    0xa64b,  1,   0xa64a, /* CYRILLIC CAPITAL LETTER MONOGRAPH.. */
- /*2883*/    0xa64d,  1,   0xa64c, /* CYRILLIC CAPITAL LETTER BROAD OME.. */
- /*2886*/    0xa64f,  1,   0xa64e, /* CYRILLIC CAPITAL LETTER NEUTRAL Y.. */
- /*2889*/    0xa651,  1,   0xa650, /* CYRILLIC CAPITAL LETTER YERU WITH.. */
- /*2892*/    0xa653,  1,   0xa652, /* CYRILLIC CAPITAL LETTER IOTIFIED .. */
- /*2895*/    0xa655,  1,   0xa654, /* CYRILLIC CAPITAL LETTER REVERSED .. */
- /*2898*/    0xa657,  1,   0xa656, /* CYRILLIC CAPITAL LETTER IOTIFIED A */
- /*2901*/    0xa659,  1,   0xa658, /* CYRILLIC CAPITAL LETTER CLOSED LI.. */
- /*2904*/    0xa65b,  1,   0xa65a, /* CYRILLIC CAPITAL LETTER BLENDED Y.. */
- /*2907*/    0xa65d,  1,   0xa65c, /* CYRILLIC CAPITAL LETTER IOTIFIED .. */
- /*2910*/    0xa65f,  1,   0xa65e, /* CYRILLIC CAPITAL LETTER YN */
- /*2913*/    0xa661,  1,   0xa660, /* CYRILLIC CAPITAL LETTER REVERSED .. */
- /*2916*/    0xa663,  1,   0xa662, /* CYRILLIC CAPITAL LETTER SOFT DE */
- /*2919*/    0xa665,  1,   0xa664, /* CYRILLIC CAPITAL LETTER SOFT EL */
- /*2922*/    0xa667,  1,   0xa666, /* CYRILLIC CAPITAL LETTER SOFT EM */
- /*2925*/    0xa669,  1,   0xa668, /* CYRILLIC CAPITAL LETTER MONOCULAR.. */
- /*2928*/    0xa66b,  1,   0xa66a, /* CYRILLIC CAPITAL LETTER BINOCULAR.. */
- /*2931*/    0xa66d,  1,   0xa66c, /* CYRILLIC CAPITAL LETTER DOUBLE MO.. */
- /*2934*/    0xa681,  1,   0xa680, /* CYRILLIC CAPITAL LETTER DWE */
- /*2937*/    0xa683,  1,   0xa682, /* CYRILLIC CAPITAL LETTER DZWE */
- /*2940*/    0xa685,  1,   0xa684, /* CYRILLIC CAPITAL LETTER ZHWE */
- /*2943*/    0xa687,  1,   0xa686, /* CYRILLIC CAPITAL LETTER CCHE */
- /*2946*/    0xa689,  1,   0xa688, /* CYRILLIC CAPITAL LETTER DZZE */
- /*2949*/    0xa68b,  1,   0xa68a, /* CYRILLIC CAPITAL LETTER TE WITH M.. */
- /*2952*/    0xa68d,  1,   0xa68c, /* CYRILLIC CAPITAL LETTER TWE */
- /*2955*/    0xa68f,  1,   0xa68e, /* CYRILLIC CAPITAL LETTER TSWE */
- /*2958*/    0xa691,  1,   0xa690, /* CYRILLIC CAPITAL LETTER TSSE */
- /*2961*/    0xa693,  1,   0xa692, /* CYRILLIC CAPITAL LETTER TCHE */
- /*2964*/    0xa695,  1,   0xa694, /* CYRILLIC CAPITAL LETTER HWE */
- /*2967*/    0xa697,  1,   0xa696, /* CYRILLIC CAPITAL LETTER SHWE */
- /*2970*/    0xa699,  1,   0xa698, /* CYRILLIC CAPITAL LETTER DOUBLE O */
- /*2973*/    0xa69b,  1,   0xa69a, /* CYRILLIC CAPITAL LETTER CROSSED O */
- /*2976*/    0xa723,  1,   0xa722, /* LATIN CAPITAL LETTER EGYPTOLOGICA.. */
- /*2979*/    0xa725,  1,   0xa724, /* LATIN CAPITAL LETTER EGYPTOLOGICA.. */
- /*2982*/    0xa727,  1,   0xa726, /* LATIN CAPITAL LETTER HENG */
- /*2985*/    0xa729,  1,   0xa728, /* LATIN CAPITAL LETTER TZ */
- /*2988*/    0xa72b,  1,   0xa72a, /* LATIN CAPITAL LETTER TRESILLO */
- /*2991*/    0xa72d,  1,   0xa72c, /* LATIN CAPITAL LETTER CUATRILLO */
- /*2994*/    0xa72f,  1,   0xa72e, /* LATIN CAPITAL LETTER CUATRILLO WI.. */
- /*2997*/    0xa733,  1,   0xa732, /* LATIN CAPITAL LETTER AA */
- /*3000*/    0xa735,  1,   0xa734, /* LATIN CAPITAL LETTER AO */
- /*3003*/    0xa737,  1,   0xa736, /* LATIN CAPITAL LETTER AU */
- /*3006*/    0xa739,  1,   0xa738, /* LATIN CAPITAL LETTER AV */
- /*3009*/    0xa73b,  1,   0xa73a, /* LATIN CAPITAL LETTER AV WITH HORI.. */
- /*3012*/    0xa73d,  1,   0xa73c, /* LATIN CAPITAL LETTER AY */
- /*3015*/    0xa73f,  1,   0xa73e, /* LATIN CAPITAL LETTER REVERSED C W.. */
- /*3018*/    0xa741,  1,   0xa740, /* LATIN CAPITAL LETTER K WITH STROKE */
- /*3021*/    0xa743,  1,   0xa742, /* LATIN CAPITAL LETTER K WITH DIAGO.. */
- /*3024*/    0xa745,  1,   0xa744, /* LATIN CAPITAL LETTER K WITH STROK.. */
- /*3027*/    0xa747,  1,   0xa746, /* LATIN CAPITAL LETTER BROKEN L */
- /*3030*/    0xa749,  1,   0xa748, /* LATIN CAPITAL LETTER L WITH HIGH .. */
- /*3033*/    0xa74b,  1,   0xa74a, /* LATIN CAPITAL LETTER O WITH LONG .. */
- /*3036*/    0xa74d,  1,   0xa74c, /* LATIN CAPITAL LETTER O WITH LOOP */
- /*3039*/    0xa74f,  1,   0xa74e, /* LATIN CAPITAL LETTER OO */
- /*3042*/    0xa751,  1,   0xa750, /* LATIN CAPITAL LETTER P WITH STROK.. */
- /*3045*/    0xa753,  1,   0xa752, /* LATIN CAPITAL LETTER P WITH FLOUR.. */
- /*3048*/    0xa755,  1,   0xa754, /* LATIN CAPITAL LETTER P WITH SQUIR.. */
- /*3051*/    0xa757,  1,   0xa756, /* LATIN CAPITAL LETTER Q WITH STROK.. */
- /*3054*/    0xa759,  1,   0xa758, /* LATIN CAPITAL LETTER Q WITH DIAGO.. */
- /*3057*/    0xa75b,  1,   0xa75a, /* LATIN CAPITAL LETTER R ROTUNDA */
- /*3060*/    0xa75d,  1,   0xa75c, /* LATIN CAPITAL LETTER RUM ROTUNDA */
- /*3063*/    0xa75f,  1,   0xa75e, /* LATIN CAPITAL LETTER V WITH DIAGO.. */
- /*3066*/    0xa761,  1,   0xa760, /* LATIN CAPITAL LETTER VY */
- /*3069*/    0xa763,  1,   0xa762, /* LATIN CAPITAL LETTER VISIGOTHIC Z */
- /*3072*/    0xa765,  1,   0xa764, /* LATIN CAPITAL LETTER THORN WITH S.. */
- /*3075*/    0xa767,  1,   0xa766, /* LATIN CAPITAL LETTER THORN WITH S.. */
- /*3078*/    0xa769,  1,   0xa768, /* LATIN CAPITAL LETTER VEND */
- /*3081*/    0xa76b,  1,   0xa76a, /* LATIN CAPITAL LETTER ET */
- /*3084*/    0xa76d,  1,   0xa76c, /* LATIN CAPITAL LETTER IS */
- /*3087*/    0xa76f,  1,   0xa76e, /* LATIN CAPITAL LETTER CON */
- /*3090*/    0xa77a,  1,   0xa779, /* LATIN CAPITAL LETTER INSULAR D */
- /*3093*/    0xa77c,  1,   0xa77b, /* LATIN CAPITAL LETTER INSULAR F */
- /*3096*/    0xa77f,  1,   0xa77e, /* LATIN CAPITAL LETTER TURNED INSUL.. */
- /*3099*/    0xa781,  1,   0xa780, /* LATIN CAPITAL LETTER TURNED L */
- /*3102*/    0xa783,  1,   0xa782, /* LATIN CAPITAL LETTER INSULAR R */
- /*3105*/    0xa785,  1,   0xa784, /* LATIN CAPITAL LETTER INSULAR S */
- /*3108*/    0xa787,  1,   0xa786, /* LATIN CAPITAL LETTER INSULAR T */
- /*3111*/    0xa78c,  1,   0xa78b, /* LATIN CAPITAL LETTER SALTILLO */
- /*3114*/    0xa791,  1,   0xa790, /* LATIN CAPITAL LETTER N WITH DESCE.. */
- /*3117*/    0xa793,  1,   0xa792, /* LATIN CAPITAL LETTER C WITH BAR */
- /*3120*/    0xa797,  1,   0xa796, /* LATIN CAPITAL LETTER B WITH FLOUR.. */
- /*3123*/    0xa799,  1,   0xa798, /* LATIN CAPITAL LETTER F WITH STROKE */
- /*3126*/    0xa79b,  1,   0xa79a, /* LATIN CAPITAL LETTER VOLAPUK AE */
- /*3129*/    0xa79d,  1,   0xa79c, /* LATIN CAPITAL LETTER VOLAPUK OE */
- /*3132*/    0xa79f,  1,   0xa79e, /* LATIN CAPITAL LETTER VOLAPUK UE */
- /*3135*/    0xa7a1,  1,   0xa7a0, /* LATIN CAPITAL LETTER G WITH OBLIQ.. */
- /*3138*/    0xa7a3,  1,   0xa7a2, /* LATIN CAPITAL LETTER K WITH OBLIQ.. */
- /*3141*/    0xa7a5,  1,   0xa7a4, /* LATIN CAPITAL LETTER N WITH OBLIQ.. */
- /*3144*/    0xa7a7,  1,   0xa7a6, /* LATIN CAPITAL LETTER R WITH OBLIQ.. */
- /*3147*/    0xa7a9,  1,   0xa7a8, /* LATIN CAPITAL LETTER S WITH OBLIQ.. */
- /*3150*/    0xa7b5,  1,   0xa7b4, /* LATIN CAPITAL LETTER BETA */
- /*3153*/    0xa7b7,  1,   0xa7b6, /* LATIN CAPITAL LETTER OMEGA */
- /*3156*/    0xab53,  1,   0xa7b3, /* LATIN CAPITAL LETTER CHI */
- /*3159*/    0xff41,  1,   0xff21, /* FULLWIDTH LATIN CAPITAL LETTER A */
- /*3162*/    0xff42,  1,   0xff22, /* FULLWIDTH LATIN CAPITAL LETTER B */
- /*3165*/    0xff43,  1,   0xff23, /* FULLWIDTH LATIN CAPITAL LETTER C */
- /*3168*/    0xff44,  1,   0xff24, /* FULLWIDTH LATIN CAPITAL LETTER D */
- /*3171*/    0xff45,  1,   0xff25, /* FULLWIDTH LATIN CAPITAL LETTER E */
- /*3174*/    0xff46,  1,   0xff26, /* FULLWIDTH LATIN CAPITAL LETTER F */
- /*3177*/    0xff47,  1,   0xff27, /* FULLWIDTH LATIN CAPITAL LETTER G */
- /*3180*/    0xff48,  1,   0xff28, /* FULLWIDTH LATIN CAPITAL LETTER H */
- /*3183*/    0xff49,  1,   0xff29, /* FULLWIDTH LATIN CAPITAL LETTER I */
- /*3186*/    0xff4a,  1,   0xff2a, /* FULLWIDTH LATIN CAPITAL LETTER J */
- /*3189*/    0xff4b,  1,   0xff2b, /* FULLWIDTH LATIN CAPITAL LETTER K */
- /*3192*/    0xff4c,  1,   0xff2c, /* FULLWIDTH LATIN CAPITAL LETTER L */
- /*3195*/    0xff4d,  1,   0xff2d, /* FULLWIDTH LATIN CAPITAL LETTER M */
- /*3198*/    0xff4e,  1,   0xff2e, /* FULLWIDTH LATIN CAPITAL LETTER N */
- /*3201*/    0xff4f,  1,   0xff2f, /* FULLWIDTH LATIN CAPITAL LETTER O */
- /*3204*/    0xff50,  1,   0xff30, /* FULLWIDTH LATIN CAPITAL LETTER P */
- /*3207*/    0xff51,  1,   0xff31, /* FULLWIDTH LATIN CAPITAL LETTER Q */
- /*3210*/    0xff52,  1,   0xff32, /* FULLWIDTH LATIN CAPITAL LETTER R */
- /*3213*/    0xff53,  1,   0xff33, /* FULLWIDTH LATIN CAPITAL LETTER S */
- /*3216*/    0xff54,  1,   0xff34, /* FULLWIDTH LATIN CAPITAL LETTER T */
- /*3219*/    0xff55,  1,   0xff35, /* FULLWIDTH LATIN CAPITAL LETTER U */
- /*3222*/    0xff56,  1,   0xff36, /* FULLWIDTH LATIN CAPITAL LETTER V */
- /*3225*/    0xff57,  1,   0xff37, /* FULLWIDTH LATIN CAPITAL LETTER W */
- /*3228*/    0xff58,  1,   0xff38, /* FULLWIDTH LATIN CAPITAL LETTER X */
- /*3231*/    0xff59,  1,   0xff39, /* FULLWIDTH LATIN CAPITAL LETTER Y */
- /*3234*/    0xff5a,  1,   0xff3a, /* FULLWIDTH LATIN CAPITAL LETTER Z */
- /*3237*/  0x010428,  1, 0x010400, /* DESERET CAPITAL LETTER LONG I */
- /*3240*/  0x010429,  1, 0x010401, /* DESERET CAPITAL LETTER LONG E */
- /*3243*/  0x01042a,  1, 0x010402, /* DESERET CAPITAL LETTER LONG A */
- /*3246*/  0x01042b,  1, 0x010403, /* DESERET CAPITAL LETTER LONG AH */
- /*3249*/  0x01042c,  1, 0x010404, /* DESERET CAPITAL LETTER LONG O */
- /*3252*/  0x01042d,  1, 0x010405, /* DESERET CAPITAL LETTER LONG OO */
- /*3255*/  0x01042e,  1, 0x010406, /* DESERET CAPITAL LETTER SHORT I */
- /*3258*/  0x01042f,  1, 0x010407, /* DESERET CAPITAL LETTER SHORT E */
- /*3261*/  0x010430,  1, 0x010408, /* DESERET CAPITAL LETTER SHORT A */
- /*3264*/  0x010431,  1, 0x010409, /* DESERET CAPITAL LETTER SHORT AH */
- /*3267*/  0x010432,  1, 0x01040a, /* DESERET CAPITAL LETTER SHORT O */
- /*3270*/  0x010433,  1, 0x01040b, /* DESERET CAPITAL LETTER SHORT OO */
- /*3273*/  0x010434,  1, 0x01040c, /* DESERET CAPITAL LETTER AY */
- /*3276*/  0x010435,  1, 0x01040d, /* DESERET CAPITAL LETTER OW */
- /*3279*/  0x010436,  1, 0x01040e, /* DESERET CAPITAL LETTER WU */
- /*3282*/  0x010437,  1, 0x01040f, /* DESERET CAPITAL LETTER YEE */
- /*3285*/  0x010438,  1, 0x010410, /* DESERET CAPITAL LETTER H */
- /*3288*/  0x010439,  1, 0x010411, /* DESERET CAPITAL LETTER PEE */
- /*3291*/  0x01043a,  1, 0x010412, /* DESERET CAPITAL LETTER BEE */
- /*3294*/  0x01043b,  1, 0x010413, /* DESERET CAPITAL LETTER TEE */
- /*3297*/  0x01043c,  1, 0x010414, /* DESERET CAPITAL LETTER DEE */
- /*3300*/  0x01043d,  1, 0x010415, /* DESERET CAPITAL LETTER CHEE */
- /*3303*/  0x01043e,  1, 0x010416, /* DESERET CAPITAL LETTER JEE */
- /*3306*/  0x01043f,  1, 0x010417, /* DESERET CAPITAL LETTER KAY */
- /*3309*/  0x010440,  1, 0x010418, /* DESERET CAPITAL LETTER GAY */
- /*3312*/  0x010441,  1, 0x010419, /* DESERET CAPITAL LETTER EF */
- /*3315*/  0x010442,  1, 0x01041a, /* DESERET CAPITAL LETTER VEE */
- /*3318*/  0x010443,  1, 0x01041b, /* DESERET CAPITAL LETTER ETH */
- /*3321*/  0x010444,  1, 0x01041c, /* DESERET CAPITAL LETTER THEE */
- /*3324*/  0x010445,  1, 0x01041d, /* DESERET CAPITAL LETTER ES */
- /*3327*/  0x010446,  1, 0x01041e, /* DESERET CAPITAL LETTER ZEE */
- /*3330*/  0x010447,  1, 0x01041f, /* DESERET CAPITAL LETTER ESH */
- /*3333*/  0x010448,  1, 0x010420, /* DESERET CAPITAL LETTER ZHEE */
- /*3336*/  0x010449,  1, 0x010421, /* DESERET CAPITAL LETTER ER */
- /*3339*/  0x01044a,  1, 0x010422, /* DESERET CAPITAL LETTER EL */
- /*3342*/  0x01044b,  1, 0x010423, /* DESERET CAPITAL LETTER EM */
- /*3345*/  0x01044c,  1, 0x010424, /* DESERET CAPITAL LETTER EN */
- /*3348*/  0x01044d,  1, 0x010425, /* DESERET CAPITAL LETTER ENG */
- /*3351*/  0x01044e,  1, 0x010426, /* DESERET CAPITAL LETTER OI */
- /*3354*/  0x01044f,  1, 0x010427, /* DESERET CAPITAL LETTER EW */
- /*3357*/  0x010cc0,  1, 0x010c80, /* OLD HUNGARIAN CAPITAL LETTER A */
- /*3360*/  0x010cc1,  1, 0x010c81, /* OLD HUNGARIAN CAPITAL LETTER AA */
- /*3363*/  0x010cc2,  1, 0x010c82, /* OLD HUNGARIAN CAPITAL LETTER EB */
- /*3366*/  0x010cc3,  1, 0x010c83, /* OLD HUNGARIAN CAPITAL LETTER AMB */
- /*3369*/  0x010cc4,  1, 0x010c84, /* OLD HUNGARIAN CAPITAL LETTER EC */
- /*3372*/  0x010cc5,  1, 0x010c85, /* OLD HUNGARIAN CAPITAL LETTER ENC */
- /*3375*/  0x010cc6,  1, 0x010c86, /* OLD HUNGARIAN CAPITAL LETTER ECS */
- /*3378*/  0x010cc7,  1, 0x010c87, /* OLD HUNGARIAN CAPITAL LETTER ED */
- /*3381*/  0x010cc8,  1, 0x010c88, /* OLD HUNGARIAN CAPITAL LETTER AND */
- /*3384*/  0x010cc9,  1, 0x010c89, /* OLD HUNGARIAN CAPITAL LETTER E */
- /*3387*/  0x010cca,  1, 0x010c8a, /* OLD HUNGARIAN CAPITAL LETTER CLOS.. */
- /*3390*/  0x010ccb,  1, 0x010c8b, /* OLD HUNGARIAN CAPITAL LETTER EE */
- /*3393*/  0x010ccc,  1, 0x010c8c, /* OLD HUNGARIAN CAPITAL LETTER EF */
- /*3396*/  0x010ccd,  1, 0x010c8d, /* OLD HUNGARIAN CAPITAL LETTER EG */
- /*3399*/  0x010cce,  1, 0x010c8e, /* OLD HUNGARIAN CAPITAL LETTER EGY */
- /*3402*/  0x010ccf,  1, 0x010c8f, /* OLD HUNGARIAN CAPITAL LETTER EH */
- /*3405*/  0x010cd0,  1, 0x010c90, /* OLD HUNGARIAN CAPITAL LETTER I */
- /*3408*/  0x010cd1,  1, 0x010c91, /* OLD HUNGARIAN CAPITAL LETTER II */
- /*3411*/  0x010cd2,  1, 0x010c92, /* OLD HUNGARIAN CAPITAL LETTER EJ */
- /*3414*/  0x010cd3,  1, 0x010c93, /* OLD HUNGARIAN CAPITAL LETTER EK */
- /*3417*/  0x010cd4,  1, 0x010c94, /* OLD HUNGARIAN CAPITAL LETTER AK */
- /*3420*/  0x010cd5,  1, 0x010c95, /* OLD HUNGARIAN CAPITAL LETTER UNK */
- /*3423*/  0x010cd6,  1, 0x010c96, /* OLD HUNGARIAN CAPITAL LETTER EL */
- /*3426*/  0x010cd7,  1, 0x010c97, /* OLD HUNGARIAN CAPITAL LETTER ELY */
- /*3429*/  0x010cd8,  1, 0x010c98, /* OLD HUNGARIAN CAPITAL LETTER EM */
- /*3432*/  0x010cd9,  1, 0x010c99, /* OLD HUNGARIAN CAPITAL LETTER EN */
- /*3435*/  0x010cda,  1, 0x010c9a, /* OLD HUNGARIAN CAPITAL LETTER ENY */
- /*3438*/  0x010cdb,  1, 0x010c9b, /* OLD HUNGARIAN CAPITAL LETTER O */
- /*3441*/  0x010cdc,  1, 0x010c9c, /* OLD HUNGARIAN CAPITAL LETTER OO */
- /*3444*/  0x010cdd,  1, 0x010c9d, /* OLD HUNGARIAN CAPITAL LETTER NIKO.. */
- /*3447*/  0x010cde,  1, 0x010c9e, /* OLD HUNGARIAN CAPITAL LETTER RUDI.. */
- /*3450*/  0x010cdf,  1, 0x010c9f, /* OLD HUNGARIAN CAPITAL LETTER OEE */
- /*3453*/  0x010ce0,  1, 0x010ca0, /* OLD HUNGARIAN CAPITAL LETTER EP */
- /*3456*/  0x010ce1,  1, 0x010ca1, /* OLD HUNGARIAN CAPITAL LETTER EMP */
- /*3459*/  0x010ce2,  1, 0x010ca2, /* OLD HUNGARIAN CAPITAL LETTER ER */
- /*3462*/  0x010ce3,  1, 0x010ca3, /* OLD HUNGARIAN CAPITAL LETTER SHOR.. */
- /*3465*/  0x010ce4,  1, 0x010ca4, /* OLD HUNGARIAN CAPITAL LETTER ES */
- /*3468*/  0x010ce5,  1, 0x010ca5, /* OLD HUNGARIAN CAPITAL LETTER ESZ */
- /*3471*/  0x010ce6,  1, 0x010ca6, /* OLD HUNGARIAN CAPITAL LETTER ET */
- /*3474*/  0x010ce7,  1, 0x010ca7, /* OLD HUNGARIAN CAPITAL LETTER ENT */
- /*3477*/  0x010ce8,  1, 0x010ca8, /* OLD HUNGARIAN CAPITAL LETTER ETY */
- /*3480*/  0x010ce9,  1, 0x010ca9, /* OLD HUNGARIAN CAPITAL LETTER ECH */
- /*3483*/  0x010cea,  1, 0x010caa, /* OLD HUNGARIAN CAPITAL LETTER U */
- /*3486*/  0x010ceb,  1, 0x010cab, /* OLD HUNGARIAN CAPITAL LETTER UU */
- /*3489*/  0x010cec,  1, 0x010cac, /* OLD HUNGARIAN CAPITAL LETTER NIKO.. */
- /*3492*/  0x010ced,  1, 0x010cad, /* OLD HUNGARIAN CAPITAL LETTER RUDI.. */
- /*3495*/  0x010cee,  1, 0x010cae, /* OLD HUNGARIAN CAPITAL LETTER EV */
- /*3498*/  0x010cef,  1, 0x010caf, /* OLD HUNGARIAN CAPITAL LETTER EZ */
- /*3501*/  0x010cf0,  1, 0x010cb0, /* OLD HUNGARIAN CAPITAL LETTER EZS */
- /*3504*/  0x010cf1,  1, 0x010cb1, /* OLD HUNGARIAN CAPITAL LETTER ENT-.. */
- /*3507*/  0x010cf2,  1, 0x010cb2, /* OLD HUNGARIAN CAPITAL LETTER US */
- /*3510*/  0x0118c0,  1, 0x0118a0, /* WARANG CITI CAPITAL LETTER NGAA */
- /*3513*/  0x0118c1,  1, 0x0118a1, /* WARANG CITI CAPITAL LETTER A */
- /*3516*/  0x0118c2,  1, 0x0118a2, /* WARANG CITI CAPITAL LETTER WI */
- /*3519*/  0x0118c3,  1, 0x0118a3, /* WARANG CITI CAPITAL LETTER YU */
- /*3522*/  0x0118c4,  1, 0x0118a4, /* WARANG CITI CAPITAL LETTER YA */
- /*3525*/  0x0118c5,  1, 0x0118a5, /* WARANG CITI CAPITAL LETTER YO */
- /*3528*/  0x0118c6,  1, 0x0118a6, /* WARANG CITI CAPITAL LETTER II */
- /*3531*/  0x0118c7,  1, 0x0118a7, /* WARANG CITI CAPITAL LETTER UU */
- /*3534*/  0x0118c8,  1, 0x0118a8, /* WARANG CITI CAPITAL LETTER E */
- /*3537*/  0x0118c9,  1, 0x0118a9, /* WARANG CITI CAPITAL LETTER O */
- /*3540*/  0x0118ca,  1, 0x0118aa, /* WARANG CITI CAPITAL LETTER ANG */
- /*3543*/  0x0118cb,  1, 0x0118ab, /* WARANG CITI CAPITAL LETTER GA */
- /*3546*/  0x0118cc,  1, 0x0118ac, /* WARANG CITI CAPITAL LETTER KO */
- /*3549*/  0x0118cd,  1, 0x0118ad, /* WARANG CITI CAPITAL LETTER ENY */
- /*3552*/  0x0118ce,  1, 0x0118ae, /* WARANG CITI CAPITAL LETTER YUJ */
- /*3555*/  0x0118cf,  1, 0x0118af, /* WARANG CITI CAPITAL LETTER UC */
- /*3558*/  0x0118d0,  1, 0x0118b0, /* WARANG CITI CAPITAL LETTER ENN */
- /*3561*/  0x0118d1,  1, 0x0118b1, /* WARANG CITI CAPITAL LETTER ODD */
- /*3564*/  0x0118d2,  1, 0x0118b2, /* WARANG CITI CAPITAL LETTER TTE */
- /*3567*/  0x0118d3,  1, 0x0118b3, /* WARANG CITI CAPITAL LETTER NUNG */
- /*3570*/  0x0118d4,  1, 0x0118b4, /* WARANG CITI CAPITAL LETTER DA */
- /*3573*/  0x0118d5,  1, 0x0118b5, /* WARANG CITI CAPITAL LETTER AT */
- /*3576*/  0x0118d6,  1, 0x0118b6, /* WARANG CITI CAPITAL LETTER AM */
- /*3579*/  0x0118d7,  1, 0x0118b7, /* WARANG CITI CAPITAL LETTER BU */
- /*3582*/  0x0118d8,  1, 0x0118b8, /* WARANG CITI CAPITAL LETTER PU */
- /*3585*/  0x0118d9,  1, 0x0118b9, /* WARANG CITI CAPITAL LETTER HIYO */
- /*3588*/  0x0118da,  1, 0x0118ba, /* WARANG CITI CAPITAL LETTER HOLO */
- /*3591*/  0x0118db,  1, 0x0118bb, /* WARANG CITI CAPITAL LETTER HORR */
- /*3594*/  0x0118dc,  1, 0x0118bc, /* WARANG CITI CAPITAL LETTER HAR */
- /*3597*/  0x0118dd,  1, 0x0118bd, /* WARANG CITI CAPITAL LETTER SSUU */
- /*3600*/  0x0118de,  1, 0x0118be, /* WARANG CITI CAPITAL LETTER SII */
- /*3603*/  0x0118df,  1, 0x0118bf, /* WARANG CITI CAPITAL LETTER VIYO */
-#define FOLDS1_NORMAL_END_INDEX   3606
+ /* 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*/    0x0283,  1,   0x01a9, /* LATIN CAPITAL LETTER ESH */
+ /* 685*/    0x0287,  1,   0xa7b1, /* LATIN CAPITAL LETTER TURNED T */
+ /* 688*/    0x0288,  1,   0x01ae, /* LATIN CAPITAL LETTER T WITH RETRO.. */
+ /* 691*/    0x0289,  1,   0x0244, /* LATIN CAPITAL LETTER U BAR */
+ /* 694*/    0x028a,  1,   0x01b1, /* LATIN CAPITAL LETTER UPSILON */
+ /* 697*/    0x028b,  1,   0x01b2, /* LATIN CAPITAL LETTER V WITH HOOK */
+ /* 700*/    0x028c,  1,   0x0245, /* LATIN CAPITAL LETTER TURNED V */
+ /* 703*/    0x0292,  1,   0x01b7, /* LATIN CAPITAL LETTER EZH */
+ /* 706*/    0x029d,  1,   0xa7b2, /* LATIN CAPITAL LETTER J WITH CROSS.. */
+ /* 709*/    0x029e,  1,   0xa7b0, /* LATIN CAPITAL LETTER TURNED K */
+ /* 712*/    0x0371,  1,   0x0370, /* GREEK CAPITAL LETTER HETA */
+ /* 715*/    0x0373,  1,   0x0372, /* GREEK CAPITAL LETTER ARCHAIC SAMPI */
+ /* 718*/    0x0377,  1,   0x0376, /* GREEK CAPITAL LETTER PAMPHYLIAN D.. */
+ /* 721*/    0x037b,  1,   0x03fd, /* GREEK CAPITAL REVERSED LUNATE SIG.. */
+ /* 724*/    0x037c,  1,   0x03fe, /* GREEK CAPITAL DOTTED LUNATE SIGMA.. */
+ /* 727*/    0x037d,  1,   0x03ff, /* GREEK CAPITAL REVERSED DOTTED LUN.. */
+ /* 730*/    0x03ac,  1,   0x0386, /* GREEK CAPITAL LETTER ALPHA WITH T.. */
+ /* 733*/    0x03ad,  1,   0x0388, /* GREEK CAPITAL LETTER EPSILON WITH.. */
+ /* 736*/    0x03ae,  1,   0x0389, /* GREEK CAPITAL LETTER ETA WITH TON.. */
+ /* 739*/    0x03af,  1,   0x038a, /* GREEK CAPITAL LETTER IOTA WITH TO.. */
+ /* 742*/    0x03b1,  1,   0x0391, /* GREEK CAPITAL LETTER ALPHA */
+ /* 745*/    0x03b2,  2,   0x0392,   0x03d0, /* GREEK CAPITAL LETTER BETA */
+ /* 749*/    0x03b3,  1,   0x0393, /* GREEK CAPITAL LETTER GAMMA */
+ /* 752*/    0x03b4,  1,   0x0394, /* GREEK CAPITAL LETTER DELTA */
+ /* 755*/    0x03b5,  2,   0x0395,   0x03f5, /* GREEK CAPITAL LETTER EPSILON */
+ /* 759*/    0x03b6,  1,   0x0396, /* GREEK CAPITAL LETTER ZETA */
+ /* 762*/    0x03b7,  1,   0x0397, /* GREEK CAPITAL LETTER ETA */
+ /* 765*/    0x03b8,  3,   0x0398,   0x03d1,   0x03f4, /* GREEK CAPITAL LETTER THETA */
+ /* 770*/    0x03b9,  3,   0x0345,   0x0399,   0x1fbe, /* COMBINING GREEK YPOGEGRAMMENI */
+ /* 775*/    0x03ba,  2,   0x039a,   0x03f0, /* GREEK CAPITAL LETTER KAPPA */
+ /* 779*/    0x03bb,  1,   0x039b, /* GREEK CAPITAL LETTER LAMDA */
+ /* 782*/    0x03bc,  2,   0x00b5,   0x039c, /* MICRO SIGN */
+ /* 786*/    0x03bd,  1,   0x039d, /* GREEK CAPITAL LETTER NU */
+ /* 789*/    0x03be,  1,   0x039e, /* GREEK CAPITAL LETTER XI */
+ /* 792*/    0x03bf,  1,   0x039f, /* GREEK CAPITAL LETTER OMICRON */
+ /* 795*/    0x03c0,  2,   0x03a0,   0x03d6, /* GREEK CAPITAL LETTER PI */
+ /* 799*/    0x03c1,  2,   0x03a1,   0x03f1, /* GREEK CAPITAL LETTER RHO */
+ /* 803*/    0x03c3,  2,   0x03a3,   0x03c2, /* GREEK CAPITAL LETTER SIGMA */
+ /* 807*/    0x03c4,  1,   0x03a4, /* GREEK CAPITAL LETTER TAU */
+ /* 810*/    0x03c5,  1,   0x03a5, /* GREEK CAPITAL LETTER UPSILON */
+ /* 813*/    0x03c6,  2,   0x03a6,   0x03d5, /* GREEK CAPITAL LETTER PHI */
+ /* 817*/    0x03c7,  1,   0x03a7, /* GREEK CAPITAL LETTER CHI */
+ /* 820*/    0x03c8,  1,   0x03a8, /* GREEK CAPITAL LETTER PSI */
+ /* 823*/    0x03c9,  2,   0x03a9,   0x2126, /* GREEK CAPITAL LETTER OMEGA */
+ /* 827*/    0x03ca,  1,   0x03aa, /* GREEK CAPITAL LETTER IOTA WITH DI.. */
+ /* 830*/    0x03cb,  1,   0x03ab, /* GREEK CAPITAL LETTER UPSILON WITH.. */
+ /* 833*/    0x03cc,  1,   0x038c, /* GREEK CAPITAL LETTER OMICRON WITH.. */
+ /* 836*/    0x03cd,  1,   0x038e, /* GREEK CAPITAL LETTER UPSILON WITH.. */
+ /* 839*/    0x03ce,  1,   0x038f, /* GREEK CAPITAL LETTER OMEGA WITH T.. */
+ /* 842*/    0x03d7,  1,   0x03cf, /* GREEK CAPITAL KAI SYMBOL */
+ /* 845*/    0x03d9,  1,   0x03d8, /* GREEK LETTER ARCHAIC KOPPA */
+ /* 848*/    0x03db,  1,   0x03da, /* GREEK LETTER STIGMA */
+ /* 851*/    0x03dd,  1,   0x03dc, /* GREEK LETTER DIGAMMA */
+ /* 854*/    0x03df,  1,   0x03de, /* GREEK LETTER KOPPA */
+ /* 857*/    0x03e1,  1,   0x03e0, /* GREEK LETTER SAMPI */
+ /* 860*/    0x03e3,  1,   0x03e2, /* COPTIC CAPITAL LETTER SHEI */
+ /* 863*/    0x03e5,  1,   0x03e4, /* COPTIC CAPITAL LETTER FEI */
+ /* 866*/    0x03e7,  1,   0x03e6, /* COPTIC CAPITAL LETTER KHEI */
+ /* 869*/    0x03e9,  1,   0x03e8, /* COPTIC CAPITAL LETTER HORI */
+ /* 872*/    0x03eb,  1,   0x03ea, /* COPTIC CAPITAL LETTER GANGIA */
+ /* 875*/    0x03ed,  1,   0x03ec, /* COPTIC CAPITAL LETTER SHIMA */
+ /* 878*/    0x03ef,  1,   0x03ee, /* COPTIC CAPITAL LETTER DEI */
+ /* 881*/    0x03f2,  1,   0x03f9, /* GREEK CAPITAL LUNATE SIGMA SYMBOL */
+ /* 884*/    0x03f3,  1,   0x037f, /* GREEK CAPITAL LETTER YOT */
+ /* 887*/    0x03f8,  1,   0x03f7, /* GREEK CAPITAL LETTER SHO */
+ /* 890*/    0x03fb,  1,   0x03fa, /* GREEK CAPITAL LETTER SAN */
+ /* 893*/    0x0430,  1,   0x0410, /* CYRILLIC CAPITAL LETTER A */
+ /* 896*/    0x0431,  1,   0x0411, /* CYRILLIC CAPITAL LETTER BE */
+ /* 899*/    0x0432,  2,   0x0412,   0x1c80, /* CYRILLIC CAPITAL LETTER VE */
+ /* 903*/    0x0433,  1,   0x0413, /* CYRILLIC CAPITAL LETTER GHE */
+ /* 906*/    0x0434,  2,   0x0414,   0x1c81, /* CYRILLIC CAPITAL LETTER DE */
+ /* 910*/    0x0435,  1,   0x0415, /* CYRILLIC CAPITAL LETTER IE */
+ /* 913*/    0x0436,  1,   0x0416, /* CYRILLIC CAPITAL LETTER ZHE */
+ /* 916*/    0x0437,  1,   0x0417, /* CYRILLIC CAPITAL LETTER ZE */
+ /* 919*/    0x0438,  1,   0x0418, /* CYRILLIC CAPITAL LETTER I */
+ /* 922*/    0x0439,  1,   0x0419, /* CYRILLIC CAPITAL LETTER SHORT I */
+ /* 925*/    0x043a,  1,   0x041a, /* CYRILLIC CAPITAL LETTER KA */
+ /* 928*/    0x043b,  1,   0x041b, /* CYRILLIC CAPITAL LETTER EL */
+ /* 931*/    0x043c,  1,   0x041c, /* CYRILLIC CAPITAL LETTER EM */
+ /* 934*/    0x043d,  1,   0x041d, /* CYRILLIC CAPITAL LETTER EN */
+ /* 937*/    0x043e,  2,   0x041e,   0x1c82, /* CYRILLIC CAPITAL LETTER O */
+ /* 941*/    0x043f,  1,   0x041f, /* CYRILLIC CAPITAL LETTER PE */
+ /* 944*/    0x0440,  1,   0x0420, /* CYRILLIC CAPITAL LETTER ER */
+ /* 947*/    0x0441,  2,   0x0421,   0x1c83, /* CYRILLIC CAPITAL LETTER ES */
+ /* 951*/    0x0442,  3,   0x0422,   0x1c84,   0x1c85, /* CYRILLIC CAPITAL LETTER TE */
+ /* 956*/    0x0443,  1,   0x0423, /* CYRILLIC CAPITAL LETTER U */
+ /* 959*/    0x0444,  1,   0x0424, /* CYRILLIC CAPITAL LETTER EF */
+ /* 962*/    0x0445,  1,   0x0425, /* CYRILLIC CAPITAL LETTER HA */
+ /* 965*/    0x0446,  1,   0x0426, /* CYRILLIC CAPITAL LETTER TSE */
+ /* 968*/    0x0447,  1,   0x0427, /* CYRILLIC CAPITAL LETTER CHE */
+ /* 971*/    0x0448,  1,   0x0428, /* CYRILLIC CAPITAL LETTER SHA */
+ /* 974*/    0x0449,  1,   0x0429, /* CYRILLIC CAPITAL LETTER SHCHA */
+ /* 977*/    0x044a,  2,   0x042a,   0x1c86, /* CYRILLIC CAPITAL LETTER HARD SIGN */
+ /* 981*/    0x044b,  1,   0x042b, /* CYRILLIC CAPITAL LETTER YERU */
+ /* 984*/    0x044c,  1,   0x042c, /* CYRILLIC CAPITAL LETTER SOFT SIGN */
+ /* 987*/    0x044d,  1,   0x042d, /* CYRILLIC CAPITAL LETTER E */
+ /* 990*/    0x044e,  1,   0x042e, /* CYRILLIC CAPITAL LETTER YU */
+ /* 993*/    0x044f,  1,   0x042f, /* CYRILLIC CAPITAL LETTER YA */
+ /* 996*/    0x0450,  1,   0x0400, /* CYRILLIC CAPITAL LETTER IE WITH G.. */
+ /* 999*/    0x0451,  1,   0x0401, /* CYRILLIC CAPITAL LETTER IO */
+ /*1002*/    0x0452,  1,   0x0402, /* CYRILLIC CAPITAL LETTER DJE */
+ /*1005*/    0x0453,  1,   0x0403, /* CYRILLIC CAPITAL LETTER GJE */
+ /*1008*/    0x0454,  1,   0x0404, /* CYRILLIC CAPITAL LETTER UKRAINIAN.. */
+ /*1011*/    0x0455,  1,   0x0405, /* CYRILLIC CAPITAL LETTER DZE */
+ /*1014*/    0x0456,  1,   0x0406, /* CYRILLIC CAPITAL LETTER BYELORUSS.. */
+ /*1017*/    0x0457,  1,   0x0407, /* CYRILLIC CAPITAL LETTER YI */
+ /*1020*/    0x0458,  1,   0x0408, /* CYRILLIC CAPITAL LETTER JE */
+ /*1023*/    0x0459,  1,   0x0409, /* CYRILLIC CAPITAL LETTER LJE */
+ /*1026*/    0x045a,  1,   0x040a, /* CYRILLIC CAPITAL LETTER NJE */
+ /*1029*/    0x045b,  1,   0x040b, /* CYRILLIC CAPITAL LETTER TSHE */
+ /*1032*/    0x045c,  1,   0x040c, /* CYRILLIC CAPITAL LETTER KJE */
+ /*1035*/    0x045d,  1,   0x040d, /* CYRILLIC CAPITAL LETTER I WITH GR.. */
+ /*1038*/    0x045e,  1,   0x040e, /* CYRILLIC CAPITAL LETTER SHORT U */
+ /*1041*/    0x045f,  1,   0x040f, /* CYRILLIC CAPITAL LETTER DZHE */
+ /*1044*/    0x0461,  1,   0x0460, /* CYRILLIC CAPITAL LETTER OMEGA */
+ /*1047*/    0x0463,  2,   0x0462,   0x1c87, /* CYRILLIC CAPITAL LETTER YAT */
+ /*1051*/    0x0465,  1,   0x0464, /* CYRILLIC CAPITAL LETTER IOTIFIED E */
+ /*1054*/    0x0467,  1,   0x0466, /* CYRILLIC CAPITAL LETTER LITTLE YUS */
+ /*1057*/    0x0469,  1,   0x0468, /* CYRILLIC CAPITAL LETTER IOTIFIED .. */
+ /*1060*/    0x046b,  1,   0x046a, /* CYRILLIC CAPITAL LETTER BIG YUS */
+ /*1063*/    0x046d,  1,   0x046c, /* CYRILLIC CAPITAL LETTER IOTIFIED .. */
+ /*1066*/    0x046f,  1,   0x046e, /* CYRILLIC CAPITAL LETTER KSI */
+ /*1069*/    0x0471,  1,   0x0470, /* CYRILLIC CAPITAL LETTER PSI */
+ /*1072*/    0x0473,  1,   0x0472, /* CYRILLIC CAPITAL LETTER FITA */
+ /*1075*/    0x0475,  1,   0x0474, /* CYRILLIC CAPITAL LETTER IZHITSA */
+ /*1078*/    0x0477,  1,   0x0476, /* CYRILLIC CAPITAL LETTER IZHITSA W.. */
+ /*1081*/    0x0479,  1,   0x0478, /* CYRILLIC CAPITAL LETTER UK */
+ /*1084*/    0x047b,  1,   0x047a, /* CYRILLIC CAPITAL LETTER ROUND OME.. */
+ /*1087*/    0x047d,  1,   0x047c, /* CYRILLIC CAPITAL LETTER OMEGA WIT.. */
+ /*1090*/    0x047f,  1,   0x047e, /* CYRILLIC CAPITAL LETTER OT */
+ /*1093*/    0x0481,  1,   0x0480, /* CYRILLIC CAPITAL LETTER KOPPA */
+ /*1096*/    0x048b,  1,   0x048a, /* CYRILLIC CAPITAL LETTER SHORT I W.. */
+ /*1099*/    0x048d,  1,   0x048c, /* CYRILLIC CAPITAL LETTER SEMISOFT .. */
+ /*1102*/    0x048f,  1,   0x048e, /* CYRILLIC CAPITAL LETTER ER WITH T.. */
+ /*1105*/    0x0491,  1,   0x0490, /* CYRILLIC CAPITAL LETTER GHE WITH .. */
+ /*1108*/    0x0493,  1,   0x0492, /* CYRILLIC CAPITAL LETTER GHE WITH .. */
+ /*1111*/    0x0495,  1,   0x0494, /* CYRILLIC CAPITAL LETTER GHE WITH .. */
+ /*1114*/    0x0497,  1,   0x0496, /* CYRILLIC CAPITAL LETTER ZHE WITH .. */
+ /*1117*/    0x0499,  1,   0x0498, /* CYRILLIC CAPITAL LETTER ZE WITH D.. */
+ /*1120*/    0x049b,  1,   0x049a, /* CYRILLIC CAPITAL LETTER KA WITH D.. */
+ /*1123*/    0x049d,  1,   0x049c, /* CYRILLIC CAPITAL LETTER KA WITH V.. */
+ /*1126*/    0x049f,  1,   0x049e, /* CYRILLIC CAPITAL LETTER KA WITH S.. */
+ /*1129*/    0x04a1,  1,   0x04a0, /* CYRILLIC CAPITAL LETTER BASHKIR KA */
+ /*1132*/    0x04a3,  1,   0x04a2, /* CYRILLIC CAPITAL LETTER EN WITH D.. */
+ /*1135*/    0x04a5,  1,   0x04a4, /* CYRILLIC CAPITAL LIGATURE EN GHE */
+ /*1138*/    0x04a7,  1,   0x04a6, /* CYRILLIC CAPITAL LETTER PE WITH M.. */
+ /*1141*/    0x04a9,  1,   0x04a8, /* CYRILLIC CAPITAL LETTER ABKHASIAN.. */
+ /*1144*/    0x04ab,  1,   0x04aa, /* CYRILLIC CAPITAL LETTER ES WITH D.. */
+ /*1147*/    0x04ad,  1,   0x04ac, /* CYRILLIC CAPITAL LETTER TE WITH D.. */
+ /*1150*/    0x04af,  1,   0x04ae, /* CYRILLIC CAPITAL LETTER STRAIGHT U */
+ /*1153*/    0x04b1,  1,   0x04b0, /* CYRILLIC CAPITAL LETTER STRAIGHT .. */
+ /*1156*/    0x04b3,  1,   0x04b2, /* CYRILLIC CAPITAL LETTER HA WITH D.. */
+ /*1159*/    0x04b5,  1,   0x04b4, /* CYRILLIC CAPITAL LIGATURE TE TSE */
+ /*1162*/    0x04b7,  1,   0x04b6, /* CYRILLIC CAPITAL LETTER CHE WITH .. */
+ /*1165*/    0x04b9,  1,   0x04b8, /* CYRILLIC CAPITAL LETTER CHE WITH .. */
+ /*1168*/    0x04bb,  1,   0x04ba, /* CYRILLIC CAPITAL LETTER SHHA */
+ /*1171*/    0x04bd,  1,   0x04bc, /* CYRILLIC CAPITAL LETTER ABKHASIAN.. */
+ /*1174*/    0x04bf,  1,   0x04be, /* CYRILLIC CAPITAL LETTER ABKHASIAN.. */
+ /*1177*/    0x04c2,  1,   0x04c1, /* CYRILLIC CAPITAL LETTER ZHE WITH .. */
+ /*1180*/    0x04c4,  1,   0x04c3, /* CYRILLIC CAPITAL LETTER KA WITH H.. */
+ /*1183*/    0x04c6,  1,   0x04c5, /* CYRILLIC CAPITAL LETTER EL WITH T.. */
+ /*1186*/    0x04c8,  1,   0x04c7, /* CYRILLIC CAPITAL LETTER EN WITH H.. */
+ /*1189*/    0x04ca,  1,   0x04c9, /* CYRILLIC CAPITAL LETTER EN WITH T.. */
+ /*1192*/    0x04cc,  1,   0x04cb, /* CYRILLIC CAPITAL LETTER KHAKASSIA.. */
+ /*1195*/    0x04ce,  1,   0x04cd, /* CYRILLIC CAPITAL LETTER EM WITH T.. */
+ /*1198*/    0x04cf,  1,   0x04c0, /* CYRILLIC LETTER PALOCHKA */
+ /*1201*/    0x04d1,  1,   0x04d0, /* CYRILLIC CAPITAL LETTER A WITH BR.. */
+ /*1204*/    0x04d3,  1,   0x04d2, /* CYRILLIC CAPITAL LETTER A WITH DI.. */
+ /*1207*/    0x04d5,  1,   0x04d4, /* CYRILLIC CAPITAL LIGATURE A IE */
+ /*1210*/    0x04d7,  1,   0x04d6, /* CYRILLIC CAPITAL LETTER IE WITH B.. */
+ /*1213*/    0x04d9,  1,   0x04d8, /* CYRILLIC CAPITAL LETTER SCHWA */
+ /*1216*/    0x04db,  1,   0x04da, /* CYRILLIC CAPITAL LETTER SCHWA WIT.. */
+ /*1219*/    0x04dd,  1,   0x04dc, /* CYRILLIC CAPITAL LETTER ZHE WITH .. */
+ /*1222*/    0x04df,  1,   0x04de, /* CYRILLIC CAPITAL LETTER ZE WITH D.. */
+ /*1225*/    0x04e1,  1,   0x04e0, /* CYRILLIC CAPITAL LETTER ABKHASIAN.. */
+ /*1228*/    0x04e3,  1,   0x04e2, /* CYRILLIC CAPITAL LETTER I WITH MA.. */
+ /*1231*/    0x04e5,  1,   0x04e4, /* CYRILLIC CAPITAL LETTER I WITH DI.. */
+ /*1234*/    0x04e7,  1,   0x04e6, /* CYRILLIC CAPITAL LETTER O WITH DI.. */
+ /*1237*/    0x04e9,  1,   0x04e8, /* CYRILLIC CAPITAL LETTER BARRED O */
+ /*1240*/    0x04eb,  1,   0x04ea, /* CYRILLIC CAPITAL LETTER BARRED O .. */
+ /*1243*/    0x04ed,  1,   0x04ec, /* CYRILLIC CAPITAL LETTER E WITH DI.. */
+ /*1246*/    0x04ef,  1,   0x04ee, /* CYRILLIC CAPITAL LETTER U WITH MA.. */
+ /*1249*/    0x04f1,  1,   0x04f0, /* CYRILLIC CAPITAL LETTER U WITH DI.. */
+ /*1252*/    0x04f3,  1,   0x04f2, /* CYRILLIC CAPITAL LETTER U WITH DO.. */
+ /*1255*/    0x04f5,  1,   0x04f4, /* CYRILLIC CAPITAL LETTER CHE WITH .. */
+ /*1258*/    0x04f7,  1,   0x04f6, /* CYRILLIC CAPITAL LETTER GHE WITH .. */
+ /*1261*/    0x04f9,  1,   0x04f8, /* CYRILLIC CAPITAL LETTER YERU WITH.. */
+ /*1264*/    0x04fb,  1,   0x04fa, /* CYRILLIC CAPITAL LETTER GHE WITH .. */
+ /*1267*/    0x04fd,  1,   0x04fc, /* CYRILLIC CAPITAL LETTER HA WITH H.. */
+ /*1270*/    0x04ff,  1,   0x04fe, /* CYRILLIC CAPITAL LETTER HA WITH S.. */
+ /*1273*/    0x0501,  1,   0x0500, /* CYRILLIC CAPITAL LETTER KOMI DE */
+ /*1276*/    0x0503,  1,   0x0502, /* CYRILLIC CAPITAL LETTER KOMI DJE */
+ /*1279*/    0x0505,  1,   0x0504, /* CYRILLIC CAPITAL LETTER KOMI ZJE */
+ /*1282*/    0x0507,  1,   0x0506, /* CYRILLIC CAPITAL LETTER KOMI DZJE */
+ /*1285*/    0x0509,  1,   0x0508, /* CYRILLIC CAPITAL LETTER KOMI LJE */
+ /*1288*/    0x050b,  1,   0x050a, /* CYRILLIC CAPITAL LETTER KOMI NJE */
+ /*1291*/    0x050d,  1,   0x050c, /* CYRILLIC CAPITAL LETTER KOMI SJE */
+ /*1294*/    0x050f,  1,   0x050e, /* CYRILLIC CAPITAL LETTER KOMI TJE */
+ /*1297*/    0x0511,  1,   0x0510, /* CYRILLIC CAPITAL LETTER REVERSED .. */
+ /*1300*/    0x0513,  1,   0x0512, /* CYRILLIC CAPITAL LETTER EL WITH H.. */
+ /*1303*/    0x0515,  1,   0x0514, /* CYRILLIC CAPITAL LETTER LHA */
+ /*1306*/    0x0517,  1,   0x0516, /* CYRILLIC CAPITAL LETTER RHA */
+ /*1309*/    0x0519,  1,   0x0518, /* CYRILLIC CAPITAL LETTER YAE */
+ /*1312*/    0x051b,  1,   0x051a, /* CYRILLIC CAPITAL LETTER QA */
+ /*1315*/    0x051d,  1,   0x051c, /* CYRILLIC CAPITAL LETTER WE */
+ /*1318*/    0x051f,  1,   0x051e, /* CYRILLIC CAPITAL LETTER ALEUT KA */
+ /*1321*/    0x0521,  1,   0x0520, /* CYRILLIC CAPITAL LETTER EL WITH M.. */
+ /*1324*/    0x0523,  1,   0x0522, /* CYRILLIC CAPITAL LETTER EN WITH M.. */
+ /*1327*/    0x0525,  1,   0x0524, /* CYRILLIC CAPITAL LETTER PE WITH D.. */
+ /*1330*/    0x0527,  1,   0x0526, /* CYRILLIC CAPITAL LETTER SHHA WITH.. */
+ /*1333*/    0x0529,  1,   0x0528, /* CYRILLIC CAPITAL LETTER EN WITH L.. */
+ /*1336*/    0x052b,  1,   0x052a, /* CYRILLIC CAPITAL LETTER DZZHE */
+ /*1339*/    0x052d,  1,   0x052c, /* CYRILLIC CAPITAL LETTER DCHE */
+ /*1342*/    0x052f,  1,   0x052e, /* CYRILLIC CAPITAL LETTER EL WITH D.. */
+ /*1345*/    0x0561,  1,   0x0531, /* ARMENIAN CAPITAL LETTER AYB */
+ /*1348*/    0x0562,  1,   0x0532, /* ARMENIAN CAPITAL LETTER BEN */
+ /*1351*/    0x0563,  1,   0x0533, /* ARMENIAN CAPITAL LETTER GIM */
+ /*1354*/    0x0564,  1,   0x0534, /* ARMENIAN CAPITAL LETTER DA */
+ /*1357*/    0x0565,  1,   0x0535, /* ARMENIAN CAPITAL LETTER ECH */
+ /*1360*/    0x0566,  1,   0x0536, /* ARMENIAN CAPITAL LETTER ZA */
+ /*1363*/    0x0567,  1,   0x0537, /* ARMENIAN CAPITAL LETTER EH */
+ /*1366*/    0x0568,  1,   0x0538, /* ARMENIAN CAPITAL LETTER ET */
+ /*1369*/    0x0569,  1,   0x0539, /* ARMENIAN CAPITAL LETTER TO */
+ /*1372*/    0x056a,  1,   0x053a, /* ARMENIAN CAPITAL LETTER ZHE */
+ /*1375*/    0x056b,  1,   0x053b, /* ARMENIAN CAPITAL LETTER INI */
+ /*1378*/    0x056c,  1,   0x053c, /* ARMENIAN CAPITAL LETTER LIWN */
+ /*1381*/    0x056d,  1,   0x053d, /* ARMENIAN CAPITAL LETTER XEH */
+ /*1384*/    0x056e,  1,   0x053e, /* ARMENIAN CAPITAL LETTER CA */
+ /*1387*/    0x056f,  1,   0x053f, /* ARMENIAN CAPITAL LETTER KEN */
+ /*1390*/    0x0570,  1,   0x0540, /* ARMENIAN CAPITAL LETTER HO */
+ /*1393*/    0x0571,  1,   0x0541, /* ARMENIAN CAPITAL LETTER JA */
+ /*1396*/    0x0572,  1,   0x0542, /* ARMENIAN CAPITAL LETTER GHAD */
+ /*1399*/    0x0573,  1,   0x0543, /* ARMENIAN CAPITAL LETTER CHEH */
+ /*1402*/    0x0574,  1,   0x0544, /* ARMENIAN CAPITAL LETTER MEN */
+ /*1405*/    0x0575,  1,   0x0545, /* ARMENIAN CAPITAL LETTER YI */
+ /*1408*/    0x0576,  1,   0x0546, /* ARMENIAN CAPITAL LETTER NOW */
+ /*1411*/    0x0577,  1,   0x0547, /* ARMENIAN CAPITAL LETTER SHA */
+ /*1414*/    0x0578,  1,   0x0548, /* ARMENIAN CAPITAL LETTER VO */
+ /*1417*/    0x0579,  1,   0x0549, /* ARMENIAN CAPITAL LETTER CHA */
+ /*1420*/    0x057a,  1,   0x054a, /* ARMENIAN CAPITAL LETTER PEH */
+ /*1423*/    0x057b,  1,   0x054b, /* ARMENIAN CAPITAL LETTER JHEH */
+ /*1426*/    0x057c,  1,   0x054c, /* ARMENIAN CAPITAL LETTER RA */
+ /*1429*/    0x057d,  1,   0x054d, /* ARMENIAN CAPITAL LETTER SEH */
+ /*1432*/    0x057e,  1,   0x054e, /* ARMENIAN CAPITAL LETTER VEW */
+ /*1435*/    0x057f,  1,   0x054f, /* ARMENIAN CAPITAL LETTER TIWN */
+ /*1438*/    0x0580,  1,   0x0550, /* ARMENIAN CAPITAL LETTER REH */
+ /*1441*/    0x0581,  1,   0x0551, /* ARMENIAN CAPITAL LETTER CO */
+ /*1444*/    0x0582,  1,   0x0552, /* ARMENIAN CAPITAL LETTER YIWN */
+ /*1447*/    0x0583,  1,   0x0553, /* ARMENIAN CAPITAL LETTER PIWR */
+ /*1450*/    0x0584,  1,   0x0554, /* ARMENIAN CAPITAL LETTER KEH */
+ /*1453*/    0x0585,  1,   0x0555, /* ARMENIAN CAPITAL LETTER OH */
+ /*1456*/    0x0586,  1,   0x0556, /* ARMENIAN CAPITAL LETTER FEH */
+ /*1459*/    0x10d0,  1,   0x1c90, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1462*/    0x10d1,  1,   0x1c91, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1465*/    0x10d2,  1,   0x1c92, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1468*/    0x10d3,  1,   0x1c93, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1471*/    0x10d4,  1,   0x1c94, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1474*/    0x10d5,  1,   0x1c95, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1477*/    0x10d6,  1,   0x1c96, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1480*/    0x10d7,  1,   0x1c97, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1483*/    0x10d8,  1,   0x1c98, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1486*/    0x10d9,  1,   0x1c99, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1489*/    0x10da,  1,   0x1c9a, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1492*/    0x10db,  1,   0x1c9b, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1495*/    0x10dc,  1,   0x1c9c, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1498*/    0x10dd,  1,   0x1c9d, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1501*/    0x10de,  1,   0x1c9e, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1504*/    0x10df,  1,   0x1c9f, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1507*/    0x10e0,  1,   0x1ca0, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1510*/    0x10e1,  1,   0x1ca1, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1513*/    0x10e2,  1,   0x1ca2, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1516*/    0x10e3,  1,   0x1ca3, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1519*/    0x10e4,  1,   0x1ca4, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1522*/    0x10e5,  1,   0x1ca5, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1525*/    0x10e6,  1,   0x1ca6, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1528*/    0x10e7,  1,   0x1ca7, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1531*/    0x10e8,  1,   0x1ca8, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1534*/    0x10e9,  1,   0x1ca9, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1537*/    0x10ea,  1,   0x1caa, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1540*/    0x10eb,  1,   0x1cab, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1543*/    0x10ec,  1,   0x1cac, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1546*/    0x10ed,  1,   0x1cad, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1549*/    0x10ee,  1,   0x1cae, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1552*/    0x10ef,  1,   0x1caf, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1555*/    0x10f0,  1,   0x1cb0, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1558*/    0x10f1,  1,   0x1cb1, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1561*/    0x10f2,  1,   0x1cb2, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1564*/    0x10f3,  1,   0x1cb3, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1567*/    0x10f4,  1,   0x1cb4, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1570*/    0x10f5,  1,   0x1cb5, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1573*/    0x10f6,  1,   0x1cb6, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1576*/    0x10f7,  1,   0x1cb7, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1579*/    0x10f8,  1,   0x1cb8, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1582*/    0x10f9,  1,   0x1cb9, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1585*/    0x10fa,  1,   0x1cba, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1588*/    0x10fd,  1,   0x1cbd, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1591*/    0x10fe,  1,   0x1cbe, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1594*/    0x10ff,  1,   0x1cbf, /* GEORGIAN MTAVRULI CAPITAL LETTER .. */
+ /*1597*/    0x13a0,  1,   0xab70, /* CHEROKEE SMALL LETTER A */
+ /*1600*/    0x13a1,  1,   0xab71, /* CHEROKEE SMALL LETTER E */
+ /*1603*/    0x13a2,  1,   0xab72, /* CHEROKEE SMALL LETTER I */
+ /*1606*/    0x13a3,  1,   0xab73, /* CHEROKEE SMALL LETTER O */
+ /*1609*/    0x13a4,  1,   0xab74, /* CHEROKEE SMALL LETTER U */
+ /*1612*/    0x13a5,  1,   0xab75, /* CHEROKEE SMALL LETTER V */
+ /*1615*/    0x13a6,  1,   0xab76, /* CHEROKEE SMALL LETTER GA */
+ /*1618*/    0x13a7,  1,   0xab77, /* CHEROKEE SMALL LETTER KA */
+ /*1621*/    0x13a8,  1,   0xab78, /* CHEROKEE SMALL LETTER GE */
+ /*1624*/    0x13a9,  1,   0xab79, /* CHEROKEE SMALL LETTER GI */
+ /*1627*/    0x13aa,  1,   0xab7a, /* CHEROKEE SMALL LETTER GO */
+ /*1630*/    0x13ab,  1,   0xab7b, /* CHEROKEE SMALL LETTER GU */
+ /*1633*/    0x13ac,  1,   0xab7c, /* CHEROKEE SMALL LETTER GV */
+ /*1636*/    0x13ad,  1,   0xab7d, /* CHEROKEE SMALL LETTER HA */
+ /*1639*/    0x13ae,  1,   0xab7e, /* CHEROKEE SMALL LETTER HE */
+ /*1642*/    0x13af,  1,   0xab7f, /* CHEROKEE SMALL LETTER HI */
+ /*1645*/    0x13b0,  1,   0xab80, /* CHEROKEE SMALL LETTER HO */
+ /*1648*/    0x13b1,  1,   0xab81, /* CHEROKEE SMALL LETTER HU */
+ /*1651*/    0x13b2,  1,   0xab82, /* CHEROKEE SMALL LETTER HV */
+ /*1654*/    0x13b3,  1,   0xab83, /* CHEROKEE SMALL LETTER LA */
+ /*1657*/    0x13b4,  1,   0xab84, /* CHEROKEE SMALL LETTER LE */
+ /*1660*/    0x13b5,  1,   0xab85, /* CHEROKEE SMALL LETTER LI */
+ /*1663*/    0x13b6,  1,   0xab86, /* CHEROKEE SMALL LETTER LO */
+ /*1666*/    0x13b7,  1,   0xab87, /* CHEROKEE SMALL LETTER LU */
+ /*1669*/    0x13b8,  1,   0xab88, /* CHEROKEE SMALL LETTER LV */
+ /*1672*/    0x13b9,  1,   0xab89, /* CHEROKEE SMALL LETTER MA */
+ /*1675*/    0x13ba,  1,   0xab8a, /* CHEROKEE SMALL LETTER ME */
+ /*1678*/    0x13bb,  1,   0xab8b, /* CHEROKEE SMALL LETTER MI */
+ /*1681*/    0x13bc,  1,   0xab8c, /* CHEROKEE SMALL LETTER MO */
+ /*1684*/    0x13bd,  1,   0xab8d, /* CHEROKEE SMALL LETTER MU */
+ /*1687*/    0x13be,  1,   0xab8e, /* CHEROKEE SMALL LETTER NA */
+ /*1690*/    0x13bf,  1,   0xab8f, /* CHEROKEE SMALL LETTER HNA */
+ /*1693*/    0x13c0,  1,   0xab90, /* CHEROKEE SMALL LETTER NAH */
+ /*1696*/    0x13c1,  1,   0xab91, /* CHEROKEE SMALL LETTER NE */
+ /*1699*/    0x13c2,  1,   0xab92, /* CHEROKEE SMALL LETTER NI */
+ /*1702*/    0x13c3,  1,   0xab93, /* CHEROKEE SMALL LETTER NO */
+ /*1705*/    0x13c4,  1,   0xab94, /* CHEROKEE SMALL LETTER NU */
+ /*1708*/    0x13c5,  1,   0xab95, /* CHEROKEE SMALL LETTER NV */
+ /*1711*/    0x13c6,  1,   0xab96, /* CHEROKEE SMALL LETTER QUA */
+ /*1714*/    0x13c7,  1,   0xab97, /* CHEROKEE SMALL LETTER QUE */
+ /*1717*/    0x13c8,  1,   0xab98, /* CHEROKEE SMALL LETTER QUI */
+ /*1720*/    0x13c9,  1,   0xab99, /* CHEROKEE SMALL LETTER QUO */
+ /*1723*/    0x13ca,  1,   0xab9a, /* CHEROKEE SMALL LETTER QUU */
+ /*1726*/    0x13cb,  1,   0xab9b, /* CHEROKEE SMALL LETTER QUV */
+ /*1729*/    0x13cc,  1,   0xab9c, /* CHEROKEE SMALL LETTER SA */
+ /*1732*/    0x13cd,  1,   0xab9d, /* CHEROKEE SMALL LETTER S */
+ /*1735*/    0x13ce,  1,   0xab9e, /* CHEROKEE SMALL LETTER SE */
+ /*1738*/    0x13cf,  1,   0xab9f, /* CHEROKEE SMALL LETTER SI */
+ /*1741*/    0x13d0,  1,   0xaba0, /* CHEROKEE SMALL LETTER SO */
+ /*1744*/    0x13d1,  1,   0xaba1, /* CHEROKEE SMALL LETTER SU */
+ /*1747*/    0x13d2,  1,   0xaba2, /* CHEROKEE SMALL LETTER SV */
+ /*1750*/    0x13d3,  1,   0xaba3, /* CHEROKEE SMALL LETTER DA */
+ /*1753*/    0x13d4,  1,   0xaba4, /* CHEROKEE SMALL LETTER TA */
+ /*1756*/    0x13d5,  1,   0xaba5, /* CHEROKEE SMALL LETTER DE */
+ /*1759*/    0x13d6,  1,   0xaba6, /* CHEROKEE SMALL LETTER TE */
+ /*1762*/    0x13d7,  1,   0xaba7, /* CHEROKEE SMALL LETTER DI */
+ /*1765*/    0x13d8,  1,   0xaba8, /* CHEROKEE SMALL LETTER TI */
+ /*1768*/    0x13d9,  1,   0xaba9, /* CHEROKEE SMALL LETTER DO */
+ /*1771*/    0x13da,  1,   0xabaa, /* CHEROKEE SMALL LETTER DU */
+ /*1774*/    0x13db,  1,   0xabab, /* CHEROKEE SMALL LETTER DV */
+ /*1777*/    0x13dc,  1,   0xabac, /* CHEROKEE SMALL LETTER DLA */
+ /*1780*/    0x13dd,  1,   0xabad, /* CHEROKEE SMALL LETTER TLA */
+ /*1783*/    0x13de,  1,   0xabae, /* CHEROKEE SMALL LETTER TLE */
+ /*1786*/    0x13df,  1,   0xabaf, /* CHEROKEE SMALL LETTER TLI */
+ /*1789*/    0x13e0,  1,   0xabb0, /* CHEROKEE SMALL LETTER TLO */
+ /*1792*/    0x13e1,  1,   0xabb1, /* CHEROKEE SMALL LETTER TLU */
+ /*1795*/    0x13e2,  1,   0xabb2, /* CHEROKEE SMALL LETTER TLV */
+ /*1798*/    0x13e3,  1,   0xabb3, /* CHEROKEE SMALL LETTER TSA */
+ /*1801*/    0x13e4,  1,   0xabb4, /* CHEROKEE SMALL LETTER TSE */
+ /*1804*/    0x13e5,  1,   0xabb5, /* CHEROKEE SMALL LETTER TSI */
+ /*1807*/    0x13e6,  1,   0xabb6, /* CHEROKEE SMALL LETTER TSO */
+ /*1810*/    0x13e7,  1,   0xabb7, /* CHEROKEE SMALL LETTER TSU */
+ /*1813*/    0x13e8,  1,   0xabb8, /* CHEROKEE SMALL LETTER TSV */
+ /*1816*/    0x13e9,  1,   0xabb9, /* CHEROKEE SMALL LETTER WA */
+ /*1819*/    0x13ea,  1,   0xabba, /* CHEROKEE SMALL LETTER WE */
+ /*1822*/    0x13eb,  1,   0xabbb, /* CHEROKEE SMALL LETTER WI */
+ /*1825*/    0x13ec,  1,   0xabbc, /* CHEROKEE SMALL LETTER WO */
+ /*1828*/    0x13ed,  1,   0xabbd, /* CHEROKEE SMALL LETTER WU */
+ /*1831*/    0x13ee,  1,   0xabbe, /* CHEROKEE SMALL LETTER WV */
+ /*1834*/    0x13ef,  1,   0xabbf, /* CHEROKEE SMALL LETTER YA */
+ /*1837*/    0x13f0,  1,   0x13f8, /* CHEROKEE SMALL LETTER YE */
+ /*1840*/    0x13f1,  1,   0x13f9, /* CHEROKEE SMALL LETTER YI */
+ /*1843*/    0x13f2,  1,   0x13fa, /* CHEROKEE SMALL LETTER YO */
+ /*1846*/    0x13f3,  1,   0x13fb, /* CHEROKEE SMALL LETTER YU */
+ /*1849*/    0x13f4,  1,   0x13fc, /* CHEROKEE SMALL LETTER YV */
+ /*1852*/    0x13f5,  1,   0x13fd, /* CHEROKEE SMALL LETTER MV */
+ /*1855*/    0x1d79,  1,   0xa77d, /* LATIN CAPITAL LETTER INSULAR G */
+ /*1858*/    0x1d7d,  1,   0x2c63, /* LATIN CAPITAL LETTER P WITH STROKE */
+ /*1861*/    0x1e01,  1,   0x1e00, /* LATIN CAPITAL LETTER A WITH RING .. */
+ /*1864*/    0x1e03,  1,   0x1e02, /* LATIN CAPITAL LETTER B WITH DOT A.. */
+ /*1867*/    0x1e05,  1,   0x1e04, /* LATIN CAPITAL LETTER B WITH DOT B.. */
+ /*1870*/    0x1e07,  1,   0x1e06, /* LATIN CAPITAL LETTER B WITH LINE .. */
+ /*1873*/    0x1e09,  1,   0x1e08, /* LATIN CAPITAL LETTER C WITH CEDIL.. */
+ /*1876*/    0x1e0b,  1,   0x1e0a, /* LATIN CAPITAL LETTER D WITH DOT A.. */
+ /*1879*/    0x1e0d,  1,   0x1e0c, /* LATIN CAPITAL LETTER D WITH DOT B.. */
+ /*1882*/    0x1e0f,  1,   0x1e0e, /* LATIN CAPITAL LETTER D WITH LINE .. */
+ /*1885*/    0x1e11,  1,   0x1e10, /* LATIN CAPITAL LETTER D WITH CEDIL.. */
+ /*1888*/    0x1e13,  1,   0x1e12, /* LATIN CAPITAL LETTER D WITH CIRCU.. */
+ /*1891*/    0x1e15,  1,   0x1e14, /* LATIN CAPITAL LETTER E WITH MACRO.. */
+ /*1894*/    0x1e17,  1,   0x1e16, /* LATIN CAPITAL LETTER E WITH MACRO.. */
+ /*1897*/    0x1e19,  1,   0x1e18, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
+ /*1900*/    0x1e1b,  1,   0x1e1a, /* LATIN CAPITAL LETTER E WITH TILDE.. */
+ /*1903*/    0x1e1d,  1,   0x1e1c, /* LATIN CAPITAL LETTER E WITH CEDIL.. */
+ /*1906*/    0x1e1f,  1,   0x1e1e, /* LATIN CAPITAL LETTER F WITH DOT A.. */
+ /*1909*/    0x1e21,  1,   0x1e20, /* LATIN CAPITAL LETTER G WITH MACRON */
+ /*1912*/    0x1e23,  1,   0x1e22, /* LATIN CAPITAL LETTER H WITH DOT A.. */
+ /*1915*/    0x1e25,  1,   0x1e24, /* LATIN CAPITAL LETTER H WITH DOT B.. */
+ /*1918*/    0x1e27,  1,   0x1e26, /* LATIN CAPITAL LETTER H WITH DIAER.. */
+ /*1921*/    0x1e29,  1,   0x1e28, /* LATIN CAPITAL LETTER H WITH CEDIL.. */
+ /*1924*/    0x1e2b,  1,   0x1e2a, /* LATIN CAPITAL LETTER H WITH BREVE.. */
+ /*1927*/    0x1e2d,  1,   0x1e2c, /* LATIN CAPITAL LETTER I WITH TILDE.. */
+ /*1930*/    0x1e2f,  1,   0x1e2e, /* LATIN CAPITAL LETTER I WITH DIAER.. */
+ /*1933*/    0x1e31,  1,   0x1e30, /* LATIN CAPITAL LETTER K WITH ACUTE */
+ /*1936*/    0x1e33,  1,   0x1e32, /* LATIN CAPITAL LETTER K WITH DOT B.. */
+ /*1939*/    0x1e35,  1,   0x1e34, /* LATIN CAPITAL LETTER K WITH LINE .. */
+ /*1942*/    0x1e37,  1,   0x1e36, /* LATIN CAPITAL LETTER L WITH DOT B.. */
+ /*1945*/    0x1e39,  1,   0x1e38, /* LATIN CAPITAL LETTER L WITH DOT B.. */
+ /*1948*/    0x1e3b,  1,   0x1e3a, /* LATIN CAPITAL LETTER L WITH LINE .. */
+ /*1951*/    0x1e3d,  1,   0x1e3c, /* LATIN CAPITAL LETTER L WITH CIRCU.. */
+ /*1954*/    0x1e3f,  1,   0x1e3e, /* LATIN CAPITAL LETTER M WITH ACUTE */
+ /*1957*/    0x1e41,  1,   0x1e40, /* LATIN CAPITAL LETTER M WITH DOT A.. */
+ /*1960*/    0x1e43,  1,   0x1e42, /* LATIN CAPITAL LETTER M WITH DOT B.. */
+ /*1963*/    0x1e45,  1,   0x1e44, /* LATIN CAPITAL LETTER N WITH DOT A.. */
+ /*1966*/    0x1e47,  1,   0x1e46, /* LATIN CAPITAL LETTER N WITH DOT B.. */
+ /*1969*/    0x1e49,  1,   0x1e48, /* LATIN CAPITAL LETTER N WITH LINE .. */
+ /*1972*/    0x1e4b,  1,   0x1e4a, /* LATIN CAPITAL LETTER N WITH CIRCU.. */
+ /*1975*/    0x1e4d,  1,   0x1e4c, /* LATIN CAPITAL LETTER O WITH TILDE.. */
+ /*1978*/    0x1e4f,  1,   0x1e4e, /* LATIN CAPITAL LETTER O WITH TILDE.. */
+ /*1981*/    0x1e51,  1,   0x1e50, /* LATIN CAPITAL LETTER O WITH MACRO.. */
+ /*1984*/    0x1e53,  1,   0x1e52, /* LATIN CAPITAL LETTER O WITH MACRO.. */
+ /*1987*/    0x1e55,  1,   0x1e54, /* LATIN CAPITAL LETTER P WITH ACUTE */
+ /*1990*/    0x1e57,  1,   0x1e56, /* LATIN CAPITAL LETTER P WITH DOT A.. */
+ /*1993*/    0x1e59,  1,   0x1e58, /* LATIN CAPITAL LETTER R WITH DOT A.. */
+ /*1996*/    0x1e5b,  1,   0x1e5a, /* LATIN CAPITAL LETTER R WITH DOT B.. */
+ /*1999*/    0x1e5d,  1,   0x1e5c, /* LATIN CAPITAL LETTER R WITH DOT B.. */
+ /*2002*/    0x1e5f,  1,   0x1e5e, /* LATIN CAPITAL LETTER R WITH LINE .. */
+ /*2005*/    0x1e61,  2,   0x1e60,   0x1e9b, /* LATIN CAPITAL LETTER S WITH DOT A.. */
+ /*2009*/    0x1e63,  1,   0x1e62, /* LATIN CAPITAL LETTER S WITH DOT B.. */
+ /*2012*/    0x1e65,  1,   0x1e64, /* LATIN CAPITAL LETTER S WITH ACUTE.. */
+ /*2015*/    0x1e67,  1,   0x1e66, /* LATIN CAPITAL LETTER S WITH CARON.. */
+ /*2018*/    0x1e69,  1,   0x1e68, /* LATIN CAPITAL LETTER S WITH DOT B.. */
+ /*2021*/    0x1e6b,  1,   0x1e6a, /* LATIN CAPITAL LETTER T WITH DOT A.. */
+ /*2024*/    0x1e6d,  1,   0x1e6c, /* LATIN CAPITAL LETTER T WITH DOT B.. */
+ /*2027*/    0x1e6f,  1,   0x1e6e, /* LATIN CAPITAL LETTER T WITH LINE .. */
+ /*2030*/    0x1e71,  1,   0x1e70, /* LATIN CAPITAL LETTER T WITH CIRCU.. */
+ /*2033*/    0x1e73,  1,   0x1e72, /* LATIN CAPITAL LETTER U WITH DIAER.. */
+ /*2036*/    0x1e75,  1,   0x1e74, /* LATIN CAPITAL LETTER U WITH TILDE.. */
+ /*2039*/    0x1e77,  1,   0x1e76, /* LATIN CAPITAL LETTER U WITH CIRCU.. */
+ /*2042*/    0x1e79,  1,   0x1e78, /* LATIN CAPITAL LETTER U WITH TILDE.. */
+ /*2045*/    0x1e7b,  1,   0x1e7a, /* LATIN CAPITAL LETTER U WITH MACRO.. */
+ /*2048*/    0x1e7d,  1,   0x1e7c, /* LATIN CAPITAL LETTER V WITH TILDE */
+ /*2051*/    0x1e7f,  1,   0x1e7e, /* LATIN CAPITAL LETTER V WITH DOT B.. */
+ /*2054*/    0x1e81,  1,   0x1e80, /* LATIN CAPITAL LETTER W WITH GRAVE */
+ /*2057*/    0x1e83,  1,   0x1e82, /* LATIN CAPITAL LETTER W WITH ACUTE */
+ /*2060*/    0x1e85,  1,   0x1e84, /* LATIN CAPITAL LETTER W WITH DIAER.. */
+ /*2063*/    0x1e87,  1,   0x1e86, /* LATIN CAPITAL LETTER W WITH DOT A.. */
+ /*2066*/    0x1e89,  1,   0x1e88, /* LATIN CAPITAL LETTER W WITH DOT B.. */
+ /*2069*/    0x1e8b,  1,   0x1e8a, /* LATIN CAPITAL LETTER X WITH DOT A.. */
+ /*2072*/    0x1e8d,  1,   0x1e8c, /* LATIN CAPITAL LETTER X WITH DIAER.. */
+ /*2075*/    0x1e8f,  1,   0x1e8e, /* LATIN CAPITAL LETTER Y WITH DOT A.. */
+ /*2078*/    0x1e91,  1,   0x1e90, /* LATIN CAPITAL LETTER Z WITH CIRCU.. */
+ /*2081*/    0x1e93,  1,   0x1e92, /* LATIN CAPITAL LETTER Z WITH DOT B.. */
+ /*2084*/    0x1e95,  1,   0x1e94, /* LATIN CAPITAL LETTER Z WITH LINE .. */
+ /*2087*/    0x1ea1,  1,   0x1ea0, /* LATIN CAPITAL LETTER A WITH DOT B.. */
+ /*2090*/    0x1ea3,  1,   0x1ea2, /* LATIN CAPITAL LETTER A WITH HOOK .. */
+ /*2093*/    0x1ea5,  1,   0x1ea4, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
+ /*2096*/    0x1ea7,  1,   0x1ea6, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
+ /*2099*/    0x1ea9,  1,   0x1ea8, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
+ /*2102*/    0x1eab,  1,   0x1eaa, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
+ /*2105*/    0x1ead,  1,   0x1eac, /* LATIN CAPITAL LETTER A WITH CIRCU.. */
+ /*2108*/    0x1eaf,  1,   0x1eae, /* LATIN CAPITAL LETTER A WITH BREVE.. */
+ /*2111*/    0x1eb1,  1,   0x1eb0, /* LATIN CAPITAL LETTER A WITH BREVE.. */
+ /*2114*/    0x1eb3,  1,   0x1eb2, /* LATIN CAPITAL LETTER A WITH BREVE.. */
+ /*2117*/    0x1eb5,  1,   0x1eb4, /* LATIN CAPITAL LETTER A WITH BREVE.. */
+ /*2120*/    0x1eb7,  1,   0x1eb6, /* LATIN CAPITAL LETTER A WITH BREVE.. */
+ /*2123*/    0x1eb9,  1,   0x1eb8, /* LATIN CAPITAL LETTER E WITH DOT B.. */
+ /*2126*/    0x1ebb,  1,   0x1eba, /* LATIN CAPITAL LETTER E WITH HOOK .. */
+ /*2129*/    0x1ebd,  1,   0x1ebc, /* LATIN CAPITAL LETTER E WITH TILDE */
+ /*2132*/    0x1ebf,  1,   0x1ebe, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
+ /*2135*/    0x1ec1,  1,   0x1ec0, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
+ /*2138*/    0x1ec3,  1,   0x1ec2, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
+ /*2141*/    0x1ec5,  1,   0x1ec4, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
+ /*2144*/    0x1ec7,  1,   0x1ec6, /* LATIN CAPITAL LETTER E WITH CIRCU.. */
+ /*2147*/    0x1ec9,  1,   0x1ec8, /* LATIN CAPITAL LETTER I WITH HOOK .. */
+ /*2150*/    0x1ecb,  1,   0x1eca, /* LATIN CAPITAL LETTER I WITH DOT B.. */
+ /*2153*/    0x1ecd,  1,   0x1ecc, /* LATIN CAPITAL LETTER O WITH DOT B.. */
+ /*2156*/    0x1ecf,  1,   0x1ece, /* LATIN CAPITAL LETTER O WITH HOOK .. */
+ /*2159*/    0x1ed1,  1,   0x1ed0, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
+ /*2162*/    0x1ed3,  1,   0x1ed2, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
+ /*2165*/    0x1ed5,  1,   0x1ed4, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
+ /*2168*/    0x1ed7,  1,   0x1ed6, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
+ /*2171*/    0x1ed9,  1,   0x1ed8, /* LATIN CAPITAL LETTER O WITH CIRCU.. */
+ /*2174*/    0x1edb,  1,   0x1eda, /* LATIN CAPITAL LETTER O WITH HORN .. */
+ /*2177*/    0x1edd,  1,   0x1edc, /* LATIN CAPITAL LETTER O WITH HORN .. */
+ /*2180*/    0x1edf,  1,   0x1ede, /* LATIN CAPITAL LETTER O WITH HORN .. */
+ /*2183*/    0x1ee1,  1,   0x1ee0, /* LATIN CAPITAL LETTER O WITH HORN .. */
+ /*2186*/    0x1ee3,  1,   0x1ee2, /* LATIN CAPITAL LETTER O WITH HORN .. */
+ /*2189*/    0x1ee5,  1,   0x1ee4, /* LATIN CAPITAL LETTER U WITH DOT B.. */
+ /*2192*/    0x1ee7,  1,   0x1ee6, /* LATIN CAPITAL LETTER U WITH HOOK .. */
+ /*2195*/    0x1ee9,  1,   0x1ee8, /* LATIN CAPITAL LETTER U WITH HORN .. */
+ /*2198*/    0x1eeb,  1,   0x1eea, /* LATIN CAPITAL LETTER U WITH HORN .. */
+ /*2201*/    0x1eed,  1,   0x1eec, /* LATIN CAPITAL LETTER U WITH HORN .. */
+ /*2204*/    0x1eef,  1,   0x1eee, /* LATIN CAPITAL LETTER U WITH HORN .. */
+ /*2207*/    0x1ef1,  1,   0x1ef0, /* LATIN CAPITAL LETTER U WITH HORN .. */
+ /*2210*/    0x1ef3,  1,   0x1ef2, /* LATIN CAPITAL LETTER Y WITH GRAVE */
+ /*2213*/    0x1ef5,  1,   0x1ef4, /* LATIN CAPITAL LETTER Y WITH DOT B.. */
+ /*2216*/    0x1ef7,  1,   0x1ef6, /* LATIN CAPITAL LETTER Y WITH HOOK .. */
+ /*2219*/    0x1ef9,  1,   0x1ef8, /* LATIN CAPITAL LETTER Y WITH TILDE */
+ /*2222*/    0x1efb,  1,   0x1efa, /* LATIN CAPITAL LETTER MIDDLE-WELSH.. */
+ /*2225*/    0x1efd,  1,   0x1efc, /* LATIN CAPITAL LETTER MIDDLE-WELSH.. */
+ /*2228*/    0x1eff,  1,   0x1efe, /* LATIN CAPITAL LETTER Y WITH LOOP */
+ /*2231*/    0x1f00,  1,   0x1f08, /* GREEK CAPITAL LETTER ALPHA WITH P.. */
+ /*2234*/    0x1f01,  1,   0x1f09, /* GREEK CAPITAL LETTER ALPHA WITH D.. */
+ /*2237*/    0x1f02,  1,   0x1f0a, /* GREEK CAPITAL LETTER ALPHA WITH P.. */
+ /*2240*/    0x1f03,  1,   0x1f0b, /* GREEK CAPITAL LETTER ALPHA WITH D.. */
+ /*2243*/    0x1f04,  1,   0x1f0c, /* GREEK CAPITAL LETTER ALPHA WITH P.. */
+ /*2246*/    0x1f05,  1,   0x1f0d, /* GREEK CAPITAL LETTER ALPHA WITH D.. */
+ /*2249*/    0x1f06,  1,   0x1f0e, /* GREEK CAPITAL LETTER ALPHA WITH P.. */
+ /*2252*/    0x1f07,  1,   0x1f0f, /* GREEK CAPITAL LETTER ALPHA WITH D.. */
+ /*2255*/    0x1f10,  1,   0x1f18, /* GREEK CAPITAL LETTER EPSILON WITH.. */
+ /*2258*/    0x1f11,  1,   0x1f19, /* GREEK CAPITAL LETTER EPSILON WITH.. */
+ /*2261*/    0x1f12,  1,   0x1f1a, /* GREEK CAPITAL LETTER EPSILON WITH.. */
+ /*2264*/    0x1f13,  1,   0x1f1b, /* GREEK CAPITAL LETTER EPSILON WITH.. */
+ /*2267*/    0x1f14,  1,   0x1f1c, /* GREEK CAPITAL LETTER EPSILON WITH.. */
+ /*2270*/    0x1f15,  1,   0x1f1d, /* GREEK CAPITAL LETTER EPSILON WITH.. */
+ /*2273*/    0x1f20,  1,   0x1f28, /* GREEK CAPITAL LETTER ETA WITH PSI.. */
+ /*2276*/    0x1f21,  1,   0x1f29, /* GREEK CAPITAL LETTER ETA WITH DAS.. */
+ /*2279*/    0x1f22,  1,   0x1f2a, /* GREEK CAPITAL LETTER ETA WITH PSI.. */
+ /*2282*/    0x1f23,  1,   0x1f2b, /* GREEK CAPITAL LETTER ETA WITH DAS.. */
+ /*2285*/    0x1f24,  1,   0x1f2c, /* GREEK CAPITAL LETTER ETA WITH PSI.. */
+ /*2288*/    0x1f25,  1,   0x1f2d, /* GREEK CAPITAL LETTER ETA WITH DAS.. */
+ /*2291*/    0x1f26,  1,   0x1f2e, /* GREEK CAPITAL LETTER ETA WITH PSI.. */
+ /*2294*/    0x1f27,  1,   0x1f2f, /* GREEK CAPITAL LETTER ETA WITH DAS.. */
+ /*2297*/    0x1f30,  1,   0x1f38, /* GREEK CAPITAL LETTER IOTA WITH PS.. */
+ /*2300*/    0x1f31,  1,   0x1f39, /* GREEK CAPITAL LETTER IOTA WITH DA.. */
+ /*2303*/    0x1f32,  1,   0x1f3a, /* GREEK CAPITAL LETTER IOTA WITH PS.. */
+ /*2306*/    0x1f33,  1,   0x1f3b, /* GREEK CAPITAL LETTER IOTA WITH DA.. */
+ /*2309*/    0x1f34,  1,   0x1f3c, /* GREEK CAPITAL LETTER IOTA WITH PS.. */
+ /*2312*/    0x1f35,  1,   0x1f3d, /* GREEK CAPITAL LETTER IOTA WITH DA.. */
+ /*2315*/    0x1f36,  1,   0x1f3e, /* GREEK CAPITAL LETTER IOTA WITH PS.. */
+ /*2318*/    0x1f37,  1,   0x1f3f, /* GREEK CAPITAL LETTER IOTA WITH DA.. */
+ /*2321*/    0x1f40,  1,   0x1f48, /* GREEK CAPITAL LETTER OMICRON WITH.. */
+ /*2324*/    0x1f41,  1,   0x1f49, /* GREEK CAPITAL LETTER OMICRON WITH.. */
+ /*2327*/    0x1f42,  1,   0x1f4a, /* GREEK CAPITAL LETTER OMICRON WITH.. */
+ /*2330*/    0x1f43,  1,   0x1f4b, /* GREEK CAPITAL LETTER OMICRON WITH.. */
+ /*2333*/    0x1f44,  1,   0x1f4c, /* GREEK CAPITAL LETTER OMICRON WITH.. */
+ /*2336*/    0x1f45,  1,   0x1f4d, /* GREEK CAPITAL LETTER OMICRON WITH.. */
+ /*2339*/    0x1f51,  1,   0x1f59, /* GREEK CAPITAL LETTER UPSILON WITH.. */
+ /*2342*/    0x1f53,  1,   0x1f5b, /* GREEK CAPITAL LETTER UPSILON WITH.. */
+ /*2345*/    0x1f55,  1,   0x1f5d, /* GREEK CAPITAL LETTER UPSILON WITH.. */
+ /*2348*/    0x1f57,  1,   0x1f5f, /* GREEK CAPITAL LETTER UPSILON WITH.. */
+ /*2351*/    0x1f60,  1,   0x1f68, /* GREEK CAPITAL LETTER OMEGA WITH P.. */
+ /*2354*/    0x1f61,  1,   0x1f69, /* GREEK CAPITAL LETTER OMEGA WITH D.. */
+ /*2357*/    0x1f62,  1,   0x1f6a, /* GREEK CAPITAL LETTER OMEGA WITH P.. */
+ /*2360*/    0x1f63,  1,   0x1f6b, /* GREEK CAPITAL LETTER OMEGA WITH D.. */
+ /*2363*/    0x1f64,  1,   0x1f6c, /* GREEK CAPITAL LETTER OMEGA WITH P.. */
+ /*2366*/    0x1f65,  1,   0x1f6d, /* GREEK CAPITAL LETTER OMEGA WITH D.. */
+ /*2369*/    0x1f66,  1,   0x1f6e, /* GREEK CAPITAL LETTER OMEGA WITH P.. */
+ /*2372*/    0x1f67,  1,   0x1f6f, /* GREEK CAPITAL LETTER OMEGA WITH D.. */
+ /*2375*/    0x1f70,  1,   0x1fba, /* GREEK CAPITAL LETTER ALPHA WITH V.. */
+ /*2378*/    0x1f71,  1,   0x1fbb, /* GREEK CAPITAL LETTER ALPHA WITH O.. */
+ /*2381*/    0x1f72,  1,   0x1fc8, /* GREEK CAPITAL LETTER EPSILON WITH.. */
+ /*2384*/    0x1f73,  1,   0x1fc9, /* GREEK CAPITAL LETTER EPSILON WITH.. */
+ /*2387*/    0x1f74,  1,   0x1fca, /* GREEK CAPITAL LETTER ETA WITH VAR.. */
+ /*2390*/    0x1f75,  1,   0x1fcb, /* GREEK CAPITAL LETTER ETA WITH OXIA */
+ /*2393*/    0x1f76,  1,   0x1fda, /* GREEK CAPITAL LETTER IOTA WITH VA.. */
+ /*2396*/    0x1f77,  1,   0x1fdb, /* GREEK CAPITAL LETTER IOTA WITH OX.. */
+ /*2399*/    0x1f78,  1,   0x1ff8, /* GREEK CAPITAL LETTER OMICRON WITH.. */
+ /*2402*/    0x1f79,  1,   0x1ff9, /* GREEK CAPITAL LETTER OMICRON WITH.. */
+ /*2405*/    0x1f7a,  1,   0x1fea, /* GREEK CAPITAL LETTER UPSILON WITH.. */
+ /*2408*/    0x1f7b,  1,   0x1feb, /* GREEK CAPITAL LETTER UPSILON WITH.. */
+ /*2411*/    0x1f7c,  1,   0x1ffa, /* GREEK CAPITAL LETTER OMEGA WITH V.. */
+ /*2414*/    0x1f7d,  1,   0x1ffb, /* GREEK CAPITAL LETTER OMEGA WITH O.. */
+ /*2417*/    0x1fb0,  1,   0x1fb8, /* GREEK CAPITAL LETTER ALPHA WITH V.. */
+ /*2420*/    0x1fb1,  1,   0x1fb9, /* GREEK CAPITAL LETTER ALPHA WITH M.. */
+ /*2423*/    0x1fd0,  1,   0x1fd8, /* GREEK CAPITAL LETTER IOTA WITH VR.. */
+ /*2426*/    0x1fd1,  1,   0x1fd9, /* GREEK CAPITAL LETTER IOTA WITH MA.. */
+ /*2429*/    0x1fe0,  1,   0x1fe8, /* GREEK CAPITAL LETTER UPSILON WITH.. */
+ /*2432*/    0x1fe1,  1,   0x1fe9, /* GREEK CAPITAL LETTER UPSILON WITH.. */
+ /*2435*/    0x1fe5,  1,   0x1fec, /* GREEK CAPITAL LETTER RHO WITH DAS.. */
+ /*2438*/    0x214e,  1,   0x2132, /* TURNED CAPITAL F */
+ /*2441*/    0x2170,  1,   0x2160, /* ROMAN NUMERAL ONE */
+ /*2444*/    0x2171,  1,   0x2161, /* ROMAN NUMERAL TWO */
+ /*2447*/    0x2172,  1,   0x2162, /* ROMAN NUMERAL THREE */
+ /*2450*/    0x2173,  1,   0x2163, /* ROMAN NUMERAL FOUR */
+ /*2453*/    0x2174,  1,   0x2164, /* ROMAN NUMERAL FIVE */
+ /*2456*/    0x2175,  1,   0x2165, /* ROMAN NUMERAL SIX */
+ /*2459*/    0x2176,  1,   0x2166, /* ROMAN NUMERAL SEVEN */
+ /*2462*/    0x2177,  1,   0x2167, /* ROMAN NUMERAL EIGHT */
+ /*2465*/    0x2178,  1,   0x2168, /* ROMAN NUMERAL NINE */
+ /*2468*/    0x2179,  1,   0x2169, /* ROMAN NUMERAL TEN */
+ /*2471*/    0x217a,  1,   0x216a, /* ROMAN NUMERAL ELEVEN */
+ /*2474*/    0x217b,  1,   0x216b, /* ROMAN NUMERAL TWELVE */
+ /*2477*/    0x217c,  1,   0x216c, /* ROMAN NUMERAL FIFTY */
+ /*2480*/    0x217d,  1,   0x216d, /* ROMAN NUMERAL ONE HUNDRED */
+ /*2483*/    0x217e,  1,   0x216e, /* ROMAN NUMERAL FIVE HUNDRED */
+ /*2486*/    0x217f,  1,   0x216f, /* ROMAN NUMERAL ONE THOUSAND */
+ /*2489*/    0x2184,  1,   0x2183, /* ROMAN NUMERAL REVERSED ONE HUNDRED */
+ /*2492*/    0x24d0,  1,   0x24b6, /* CIRCLED LATIN CAPITAL LETTER A */
+ /*2495*/    0x24d1,  1,   0x24b7, /* CIRCLED LATIN CAPITAL LETTER B */
+ /*2498*/    0x24d2,  1,   0x24b8, /* CIRCLED LATIN CAPITAL LETTER C */
+ /*2501*/    0x24d3,  1,   0x24b9, /* CIRCLED LATIN CAPITAL LETTER D */
+ /*2504*/    0x24d4,  1,   0x24ba, /* CIRCLED LATIN CAPITAL LETTER E */
+ /*2507*/    0x24d5,  1,   0x24bb, /* CIRCLED LATIN CAPITAL LETTER F */
+ /*2510*/    0x24d6,  1,   0x24bc, /* CIRCLED LATIN CAPITAL LETTER G */
+ /*2513*/    0x24d7,  1,   0x24bd, /* CIRCLED LATIN CAPITAL LETTER H */
+ /*2516*/    0x24d8,  1,   0x24be, /* CIRCLED LATIN CAPITAL LETTER I */
+ /*2519*/    0x24d9,  1,   0x24bf, /* CIRCLED LATIN CAPITAL LETTER J */
+ /*2522*/    0x24da,  1,   0x24c0, /* CIRCLED LATIN CAPITAL LETTER K */
+ /*2525*/    0x24db,  1,   0x24c1, /* CIRCLED LATIN CAPITAL LETTER L */
+ /*2528*/    0x24dc,  1,   0x24c2, /* CIRCLED LATIN CAPITAL LETTER M */
+ /*2531*/    0x24dd,  1,   0x24c3, /* CIRCLED LATIN CAPITAL LETTER N */
+ /*2534*/    0x24de,  1,   0x24c4, /* CIRCLED LATIN CAPITAL LETTER O */
+ /*2537*/    0x24df,  1,   0x24c5, /* CIRCLED LATIN CAPITAL LETTER P */
+ /*2540*/    0x24e0,  1,   0x24c6, /* CIRCLED LATIN CAPITAL LETTER Q */
+ /*2543*/    0x24e1,  1,   0x24c7, /* CIRCLED LATIN CAPITAL LETTER R */
+ /*2546*/    0x24e2,  1,   0x24c8, /* CIRCLED LATIN CAPITAL LETTER S */
+ /*2549*/    0x24e3,  1,   0x24c9, /* CIRCLED LATIN CAPITAL LETTER T */
+ /*2552*/    0x24e4,  1,   0x24ca, /* CIRCLED LATIN CAPITAL LETTER U */
+ /*2555*/    0x24e5,  1,   0x24cb, /* CIRCLED LATIN CAPITAL LETTER V */
+ /*2558*/    0x24e6,  1,   0x24cc, /* CIRCLED LATIN CAPITAL LETTER W */
+ /*2561*/    0x24e7,  1,   0x24cd, /* CIRCLED LATIN CAPITAL LETTER X */
+ /*2564*/    0x24e8,  1,   0x24ce, /* CIRCLED LATIN CAPITAL LETTER Y */
+ /*2567*/    0x24e9,  1,   0x24cf, /* CIRCLED LATIN CAPITAL LETTER Z */
+ /*2570*/    0x2c30,  1,   0x2c00, /* GLAGOLITIC CAPITAL LETTER AZU */
+ /*2573*/    0x2c31,  1,   0x2c01, /* GLAGOLITIC CAPITAL LETTER BUKY */
+ /*2576*/    0x2c32,  1,   0x2c02, /* GLAGOLITIC CAPITAL LETTER VEDE */
+ /*2579*/    0x2c33,  1,   0x2c03, /* GLAGOLITIC CAPITAL LETTER GLAGOLI */
+ /*2582*/    0x2c34,  1,   0x2c04, /* GLAGOLITIC CAPITAL LETTER DOBRO */
+ /*2585*/    0x2c35,  1,   0x2c05, /* GLAGOLITIC CAPITAL LETTER YESTU */
+ /*2588*/    0x2c36,  1,   0x2c06, /* GLAGOLITIC CAPITAL LETTER ZHIVETE */
+ /*2591*/    0x2c37,  1,   0x2c07, /* GLAGOLITIC CAPITAL LETTER DZELO */
+ /*2594*/    0x2c38,  1,   0x2c08, /* GLAGOLITIC CAPITAL LETTER ZEMLJA */
+ /*2597*/    0x2c39,  1,   0x2c09, /* GLAGOLITIC CAPITAL LETTER IZHE */
+ /*2600*/    0x2c3a,  1,   0x2c0a, /* GLAGOLITIC CAPITAL LETTER INITIAL.. */
+ /*2603*/    0x2c3b,  1,   0x2c0b, /* GLAGOLITIC CAPITAL LETTER I */
+ /*2606*/    0x2c3c,  1,   0x2c0c, /* GLAGOLITIC CAPITAL LETTER DJERVI */
+ /*2609*/    0x2c3d,  1,   0x2c0d, /* GLAGOLITIC CAPITAL LETTER KAKO */
+ /*2612*/    0x2c3e,  1,   0x2c0e, /* GLAGOLITIC CAPITAL LETTER LJUDIJE */
+ /*2615*/    0x2c3f,  1,   0x2c0f, /* GLAGOLITIC CAPITAL LETTER MYSLITE */
+ /*2618*/    0x2c40,  1,   0x2c10, /* GLAGOLITIC CAPITAL LETTER NASHI */
+ /*2621*/    0x2c41,  1,   0x2c11, /* GLAGOLITIC CAPITAL LETTER ONU */
+ /*2624*/    0x2c42,  1,   0x2c12, /* GLAGOLITIC CAPITAL LETTER POKOJI */
+ /*2627*/    0x2c43,  1,   0x2c13, /* GLAGOLITIC CAPITAL LETTER RITSI */
+ /*2630*/    0x2c44,  1,   0x2c14, /* GLAGOLITIC CAPITAL LETTER SLOVO */
+ /*2633*/    0x2c45,  1,   0x2c15, /* GLAGOLITIC CAPITAL LETTER TVRIDO */
+ /*2636*/    0x2c46,  1,   0x2c16, /* GLAGOLITIC CAPITAL LETTER UKU */
+ /*2639*/    0x2c47,  1,   0x2c17, /* GLAGOLITIC CAPITAL LETTER FRITU */
+ /*2642*/    0x2c48,  1,   0x2c18, /* GLAGOLITIC CAPITAL LETTER HERU */
+ /*2645*/    0x2c49,  1,   0x2c19, /* GLAGOLITIC CAPITAL LETTER OTU */
+ /*2648*/    0x2c4a,  1,   0x2c1a, /* GLAGOLITIC CAPITAL LETTER PE */
+ /*2651*/    0x2c4b,  1,   0x2c1b, /* GLAGOLITIC CAPITAL LETTER SHTA */
+ /*2654*/    0x2c4c,  1,   0x2c1c, /* GLAGOLITIC CAPITAL LETTER TSI */
+ /*2657*/    0x2c4d,  1,   0x2c1d, /* GLAGOLITIC CAPITAL LETTER CHRIVI */
+ /*2660*/    0x2c4e,  1,   0x2c1e, /* GLAGOLITIC CAPITAL LETTER SHA */
+ /*2663*/    0x2c4f,  1,   0x2c1f, /* GLAGOLITIC CAPITAL LETTER YERU */
+ /*2666*/    0x2c50,  1,   0x2c20, /* GLAGOLITIC CAPITAL LETTER YERI */
+ /*2669*/    0x2c51,  1,   0x2c21, /* GLAGOLITIC CAPITAL LETTER YATI */
+ /*2672*/    0x2c52,  1,   0x2c22, /* GLAGOLITIC CAPITAL LETTER SPIDERY.. */
+ /*2675*/    0x2c53,  1,   0x2c23, /* GLAGOLITIC CAPITAL LETTER YU */
+ /*2678*/    0x2c54,  1,   0x2c24, /* GLAGOLITIC CAPITAL LETTER SMALL Y.. */
+ /*2681*/    0x2c55,  1,   0x2c25, /* GLAGOLITIC CAPITAL LETTER SMALL Y.. */
+ /*2684*/    0x2c56,  1,   0x2c26, /* GLAGOLITIC CAPITAL LETTER YO */
+ /*2687*/    0x2c57,  1,   0x2c27, /* GLAGOLITIC CAPITAL LETTER IOTATED.. */
+ /*2690*/    0x2c58,  1,   0x2c28, /* GLAGOLITIC CAPITAL LETTER BIG YUS */
+ /*2693*/    0x2c59,  1,   0x2c29, /* GLAGOLITIC CAPITAL LETTER IOTATED.. */
+ /*2696*/    0x2c5a,  1,   0x2c2a, /* GLAGOLITIC CAPITAL LETTER FITA */
+ /*2699*/    0x2c5b,  1,   0x2c2b, /* GLAGOLITIC CAPITAL LETTER IZHITSA */
+ /*2702*/    0x2c5c,  1,   0x2c2c, /* GLAGOLITIC CAPITAL LETTER SHTAPIC */
+ /*2705*/    0x2c5d,  1,   0x2c2d, /* GLAGOLITIC CAPITAL LETTER TROKUTA.. */
+ /*2708*/    0x2c5e,  1,   0x2c2e, /* GLAGOLITIC CAPITAL LETTER LATINAT.. */
+ /*2711*/    0x2c61,  1,   0x2c60, /* LATIN CAPITAL LETTER L WITH DOUBL.. */
+ /*2714*/    0x2c65,  1,   0x023a, /* LATIN CAPITAL LETTER A WITH STROKE */
+ /*2717*/    0x2c66,  1,   0x023e, /* LATIN CAPITAL LETTER T WITH DIAGO.. */
+ /*2720*/    0x2c68,  1,   0x2c67, /* LATIN CAPITAL LETTER H WITH DESCE.. */
+ /*2723*/    0x2c6a,  1,   0x2c69, /* LATIN CAPITAL LETTER K WITH DESCE.. */
+ /*2726*/    0x2c6c,  1,   0x2c6b, /* LATIN CAPITAL LETTER Z WITH DESCE.. */
+ /*2729*/    0x2c73,  1,   0x2c72, /* LATIN CAPITAL LETTER W WITH HOOK */
+ /*2732*/    0x2c76,  1,   0x2c75, /* LATIN CAPITAL LETTER HALF H */
+ /*2735*/    0x2c81,  1,   0x2c80, /* COPTIC CAPITAL LETTER ALFA */
+ /*2738*/    0x2c83,  1,   0x2c82, /* COPTIC CAPITAL LETTER VIDA */
+ /*2741*/    0x2c85,  1,   0x2c84, /* COPTIC CAPITAL LETTER GAMMA */
+ /*2744*/    0x2c87,  1,   0x2c86, /* COPTIC CAPITAL LETTER DALDA */
+ /*2747*/    0x2c89,  1,   0x2c88, /* COPTIC CAPITAL LETTER EIE */
+ /*2750*/    0x2c8b,  1,   0x2c8a, /* COPTIC CAPITAL LETTER SOU */
+ /*2753*/    0x2c8d,  1,   0x2c8c, /* COPTIC CAPITAL LETTER ZATA */
+ /*2756*/    0x2c8f,  1,   0x2c8e, /* COPTIC CAPITAL LETTER HATE */
+ /*2759*/    0x2c91,  1,   0x2c90, /* COPTIC CAPITAL LETTER THETHE */
+ /*2762*/    0x2c93,  1,   0x2c92, /* COPTIC CAPITAL LETTER IAUDA */
+ /*2765*/    0x2c95,  1,   0x2c94, /* COPTIC CAPITAL LETTER KAPA */
+ /*2768*/    0x2c97,  1,   0x2c96, /* COPTIC CAPITAL LETTER LAULA */
+ /*2771*/    0x2c99,  1,   0x2c98, /* COPTIC CAPITAL LETTER MI */
+ /*2774*/    0x2c9b,  1,   0x2c9a, /* COPTIC CAPITAL LETTER NI */
+ /*2777*/    0x2c9d,  1,   0x2c9c, /* COPTIC CAPITAL LETTER KSI */
+ /*2780*/    0x2c9f,  1,   0x2c9e, /* COPTIC CAPITAL LETTER O */
+ /*2783*/    0x2ca1,  1,   0x2ca0, /* COPTIC CAPITAL LETTER PI */
+ /*2786*/    0x2ca3,  1,   0x2ca2, /* COPTIC CAPITAL LETTER RO */
+ /*2789*/    0x2ca5,  1,   0x2ca4, /* COPTIC CAPITAL LETTER SIMA */
+ /*2792*/    0x2ca7,  1,   0x2ca6, /* COPTIC CAPITAL LETTER TAU */
+ /*2795*/    0x2ca9,  1,   0x2ca8, /* COPTIC CAPITAL LETTER UA */
+ /*2798*/    0x2cab,  1,   0x2caa, /* COPTIC CAPITAL LETTER FI */
+ /*2801*/    0x2cad,  1,   0x2cac, /* COPTIC CAPITAL LETTER KHI */
+ /*2804*/    0x2caf,  1,   0x2cae, /* COPTIC CAPITAL LETTER PSI */
+ /*2807*/    0x2cb1,  1,   0x2cb0, /* COPTIC CAPITAL LETTER OOU */
+ /*2810*/    0x2cb3,  1,   0x2cb2, /* COPTIC CAPITAL LETTER DIALECT-P A.. */
+ /*2813*/    0x2cb5,  1,   0x2cb4, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
+ /*2816*/    0x2cb7,  1,   0x2cb6, /* COPTIC CAPITAL LETTER CRYPTOGRAMM.. */
+ /*2819*/    0x2cb9,  1,   0x2cb8, /* COPTIC CAPITAL LETTER DIALECT-P K.. */
+ /*2822*/    0x2cbb,  1,   0x2cba, /* COPTIC CAPITAL LETTER DIALECT-P NI */
+ /*2825*/    0x2cbd,  1,   0x2cbc, /* COPTIC CAPITAL LETTER CRYPTOGRAMM.. */
+ /*2828*/    0x2cbf,  1,   0x2cbe, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
+ /*2831*/    0x2cc1,  1,   0x2cc0, /* COPTIC CAPITAL LETTER SAMPI */
+ /*2834*/    0x2cc3,  1,   0x2cc2, /* COPTIC CAPITAL LETTER CROSSED SHEI */
+ /*2837*/    0x2cc5,  1,   0x2cc4, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
+ /*2840*/    0x2cc7,  1,   0x2cc6, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
+ /*2843*/    0x2cc9,  1,   0x2cc8, /* COPTIC CAPITAL LETTER AKHMIMIC KH.. */
+ /*2846*/    0x2ccb,  1,   0x2cca, /* COPTIC CAPITAL LETTER DIALECT-P H.. */
+ /*2849*/    0x2ccd,  1,   0x2ccc, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
+ /*2852*/    0x2ccf,  1,   0x2cce, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
+ /*2855*/    0x2cd1,  1,   0x2cd0, /* COPTIC CAPITAL LETTER L-SHAPED HA */
+ /*2858*/    0x2cd3,  1,   0x2cd2, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
+ /*2861*/    0x2cd5,  1,   0x2cd4, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
+ /*2864*/    0x2cd7,  1,   0x2cd6, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
+ /*2867*/    0x2cd9,  1,   0x2cd8, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
+ /*2870*/    0x2cdb,  1,   0x2cda, /* COPTIC CAPITAL LETTER OLD COPTIC .. */
+ /*2873*/    0x2cdd,  1,   0x2cdc, /* COPTIC CAPITAL LETTER OLD NUBIAN .. */
+ /*2876*/    0x2cdf,  1,   0x2cde, /* COPTIC CAPITAL LETTER OLD NUBIAN .. */
+ /*2879*/    0x2ce1,  1,   0x2ce0, /* COPTIC CAPITAL LETTER OLD NUBIAN .. */
+ /*2882*/    0x2ce3,  1,   0x2ce2, /* COPTIC CAPITAL LETTER OLD NUBIAN .. */
+ /*2885*/    0x2cec,  1,   0x2ceb, /* COPTIC CAPITAL LETTER CRYPTOGRAMM.. */
+ /*2888*/    0x2cee,  1,   0x2ced, /* COPTIC CAPITAL LETTER CRYPTOGRAMM.. */
+ /*2891*/    0x2cf3,  1,   0x2cf2, /* COPTIC CAPITAL LETTER BOHAIRIC KH.. */
+ /*2894*/    0x2d00,  1,   0x10a0, /* GEORGIAN CAPITAL LETTER AN */
+ /*2897*/    0x2d01,  1,   0x10a1, /* GEORGIAN CAPITAL LETTER BAN */
+ /*2900*/    0x2d02,  1,   0x10a2, /* GEORGIAN CAPITAL LETTER GAN */
+ /*2903*/    0x2d03,  1,   0x10a3, /* GEORGIAN CAPITAL LETTER DON */
+ /*2906*/    0x2d04,  1,   0x10a4, /* GEORGIAN CAPITAL LETTER EN */
+ /*2909*/    0x2d05,  1,   0x10a5, /* GEORGIAN CAPITAL LETTER VIN */
+ /*2912*/    0x2d06,  1,   0x10a6, /* GEORGIAN CAPITAL LETTER ZEN */
+ /*2915*/    0x2d07,  1,   0x10a7, /* GEORGIAN CAPITAL LETTER TAN */
+ /*2918*/    0x2d08,  1,   0x10a8, /* GEORGIAN CAPITAL LETTER IN */
+ /*2921*/    0x2d09,  1,   0x10a9, /* GEORGIAN CAPITAL LETTER KAN */
+ /*2924*/    0x2d0a,  1,   0x10aa, /* GEORGIAN CAPITAL LETTER LAS */
+ /*2927*/    0x2d0b,  1,   0x10ab, /* GEORGIAN CAPITAL LETTER MAN */
+ /*2930*/    0x2d0c,  1,   0x10ac, /* GEORGIAN CAPITAL LETTER NAR */
+ /*2933*/    0x2d0d,  1,   0x10ad, /* GEORGIAN CAPITAL LETTER ON */
+ /*2936*/    0x2d0e,  1,   0x10ae, /* GEORGIAN CAPITAL LETTER PAR */
+ /*2939*/    0x2d0f,  1,   0x10af, /* GEORGIAN CAPITAL LETTER ZHAR */
+ /*2942*/    0x2d10,  1,   0x10b0, /* GEORGIAN CAPITAL LETTER RAE */
+ /*2945*/    0x2d11,  1,   0x10b1, /* GEORGIAN CAPITAL LETTER SAN */
+ /*2948*/    0x2d12,  1,   0x10b2, /* GEORGIAN CAPITAL LETTER TAR */
+ /*2951*/    0x2d13,  1,   0x10b3, /* GEORGIAN CAPITAL LETTER UN */
+ /*2954*/    0x2d14,  1,   0x10b4, /* GEORGIAN CAPITAL LETTER PHAR */
+ /*2957*/    0x2d15,  1,   0x10b5, /* GEORGIAN CAPITAL LETTER KHAR */
+ /*2960*/    0x2d16,  1,   0x10b6, /* GEORGIAN CAPITAL LETTER GHAN */
+ /*2963*/    0x2d17,  1,   0x10b7, /* GEORGIAN CAPITAL LETTER QAR */
+ /*2966*/    0x2d18,  1,   0x10b8, /* GEORGIAN CAPITAL LETTER SHIN */
+ /*2969*/    0x2d19,  1,   0x10b9, /* GEORGIAN CAPITAL LETTER CHIN */
+ /*2972*/    0x2d1a,  1,   0x10ba, /* GEORGIAN CAPITAL LETTER CAN */
+ /*2975*/    0x2d1b,  1,   0x10bb, /* GEORGIAN CAPITAL LETTER JIL */
+ /*2978*/    0x2d1c,  1,   0x10bc, /* GEORGIAN CAPITAL LETTER CIL */
+ /*2981*/    0x2d1d,  1,   0x10bd, /* GEORGIAN CAPITAL LETTER CHAR */
+ /*2984*/    0x2d1e,  1,   0x10be, /* GEORGIAN CAPITAL LETTER XAN */
+ /*2987*/    0x2d1f,  1,   0x10bf, /* GEORGIAN CAPITAL LETTER JHAN */
+ /*2990*/    0x2d20,  1,   0x10c0, /* GEORGIAN CAPITAL LETTER HAE */
+ /*2993*/    0x2d21,  1,   0x10c1, /* GEORGIAN CAPITAL LETTER HE */
+ /*2996*/    0x2d22,  1,   0x10c2, /* GEORGIAN CAPITAL LETTER HIE */
+ /*2999*/    0x2d23,  1,   0x10c3, /* GEORGIAN CAPITAL LETTER WE */
+ /*3002*/    0x2d24,  1,   0x10c4, /* GEORGIAN CAPITAL LETTER HAR */
+ /*3005*/    0x2d25,  1,   0x10c5, /* GEORGIAN CAPITAL LETTER HOE */
+ /*3008*/    0x2d27,  1,   0x10c7, /* GEORGIAN CAPITAL LETTER YN */
+ /*3011*/    0x2d2d,  1,   0x10cd, /* GEORGIAN CAPITAL LETTER AEN */
+ /*3014*/    0xa641,  1,   0xa640, /* CYRILLIC CAPITAL LETTER ZEMLYA */
+ /*3017*/    0xa643,  1,   0xa642, /* CYRILLIC CAPITAL LETTER DZELO */
+ /*3020*/    0xa645,  1,   0xa644, /* CYRILLIC CAPITAL LETTER REVERSED .. */
+ /*3023*/    0xa647,  1,   0xa646, /* CYRILLIC CAPITAL LETTER IOTA */
+ /*3026*/    0xa649,  1,   0xa648, /* CYRILLIC CAPITAL LETTER DJERV */
+ /*3029*/    0xa64b,  2,   0x1c88,   0xa64a, /* CYRILLIC SMALL LETTER UNBLENDED UK */
+ /*3033*/    0xa64d,  1,   0xa64c, /* CYRILLIC CAPITAL LETTER BROAD OME.. */
+ /*3036*/    0xa64f,  1,   0xa64e, /* CYRILLIC CAPITAL LETTER NEUTRAL Y.. */
+ /*3039*/    0xa651,  1,   0xa650, /* CYRILLIC CAPITAL LETTER YERU WITH.. */
+ /*3042*/    0xa653,  1,   0xa652, /* CYRILLIC CAPITAL LETTER IOTIFIED .. */
+ /*3045*/    0xa655,  1,   0xa654, /* CYRILLIC CAPITAL LETTER REVERSED .. */
+ /*3048*/    0xa657,  1,   0xa656, /* CYRILLIC CAPITAL LETTER IOTIFIED A */
+ /*3051*/    0xa659,  1,   0xa658, /* CYRILLIC CAPITAL LETTER CLOSED LI.. */
+ /*3054*/    0xa65b,  1,   0xa65a, /* CYRILLIC CAPITAL LETTER BLENDED Y.. */
+ /*3057*/    0xa65d,  1,   0xa65c, /* CYRILLIC CAPITAL LETTER IOTIFIED .. */
+ /*3060*/    0xa65f,  1,   0xa65e, /* CYRILLIC CAPITAL LETTER YN */
+ /*3063*/    0xa661,  1,   0xa660, /* CYRILLIC CAPITAL LETTER REVERSED .. */
+ /*3066*/    0xa663,  1,   0xa662, /* CYRILLIC CAPITAL LETTER SOFT DE */
+ /*3069*/    0xa665,  1,   0xa664, /* CYRILLIC CAPITAL LETTER SOFT EL */
+ /*3072*/    0xa667,  1,   0xa666, /* CYRILLIC CAPITAL LETTER SOFT EM */
+ /*3075*/    0xa669,  1,   0xa668, /* CYRILLIC CAPITAL LETTER MONOCULAR.. */
+ /*3078*/    0xa66b,  1,   0xa66a, /* CYRILLIC CAPITAL LETTER BINOCULAR.. */
+ /*3081*/    0xa66d,  1,   0xa66c, /* CYRILLIC CAPITAL LETTER DOUBLE MO.. */
+ /*3084*/    0xa681,  1,   0xa680, /* CYRILLIC CAPITAL LETTER DWE */
+ /*3087*/    0xa683,  1,   0xa682, /* CYRILLIC CAPITAL LETTER DZWE */
+ /*3090*/    0xa685,  1,   0xa684, /* CYRILLIC CAPITAL LETTER ZHWE */
+ /*3093*/    0xa687,  1,   0xa686, /* CYRILLIC CAPITAL LETTER CCHE */
+ /*3096*/    0xa689,  1,   0xa688, /* CYRILLIC CAPITAL LETTER DZZE */
+ /*3099*/    0xa68b,  1,   0xa68a, /* CYRILLIC CAPITAL LETTER TE WITH M.. */
+ /*3102*/    0xa68d,  1,   0xa68c, /* CYRILLIC CAPITAL LETTER TWE */
+ /*3105*/    0xa68f,  1,   0xa68e, /* CYRILLIC CAPITAL LETTER TSWE */
+ /*3108*/    0xa691,  1,   0xa690, /* CYRILLIC CAPITAL LETTER TSSE */
+ /*3111*/    0xa693,  1,   0xa692, /* CYRILLIC CAPITAL LETTER TCHE */
+ /*3114*/    0xa695,  1,   0xa694, /* CYRILLIC CAPITAL LETTER HWE */
+ /*3117*/    0xa697,  1,   0xa696, /* CYRILLIC CAPITAL LETTER SHWE */
+ /*3120*/    0xa699,  1,   0xa698, /* CYRILLIC CAPITAL LETTER DOUBLE O */
+ /*3123*/    0xa69b,  1,   0xa69a, /* CYRILLIC CAPITAL LETTER CROSSED O */
+ /*3126*/    0xa723,  1,   0xa722, /* LATIN CAPITAL LETTER EGYPTOLOGICA.. */
+ /*3129*/    0xa725,  1,   0xa724, /* LATIN CAPITAL LETTER EGYPTOLOGICA.. */
+ /*3132*/    0xa727,  1,   0xa726, /* LATIN CAPITAL LETTER HENG */
+ /*3135*/    0xa729,  1,   0xa728, /* LATIN CAPITAL LETTER TZ */
+ /*3138*/    0xa72b,  1,   0xa72a, /* LATIN CAPITAL LETTER TRESILLO */
+ /*3141*/    0xa72d,  1,   0xa72c, /* LATIN CAPITAL LETTER CUATRILLO */
+ /*3144*/    0xa72f,  1,   0xa72e, /* LATIN CAPITAL LETTER CUATRILLO WI.. */
+ /*3147*/    0xa733,  1,   0xa732, /* LATIN CAPITAL LETTER AA */
+ /*3150*/    0xa735,  1,   0xa734, /* LATIN CAPITAL LETTER AO */
+ /*3153*/    0xa737,  1,   0xa736, /* LATIN CAPITAL LETTER AU */
+ /*3156*/    0xa739,  1,   0xa738, /* LATIN CAPITAL LETTER AV */
+ /*3159*/    0xa73b,  1,   0xa73a, /* LATIN CAPITAL LETTER AV WITH HORI.. */
+ /*3162*/    0xa73d,  1,   0xa73c, /* LATIN CAPITAL LETTER AY */
+ /*3165*/    0xa73f,  1,   0xa73e, /* LATIN CAPITAL LETTER REVERSED C W.. */
+ /*3168*/    0xa741,  1,   0xa740, /* LATIN CAPITAL LETTER K WITH STROKE */
+ /*3171*/    0xa743,  1,   0xa742, /* LATIN CAPITAL LETTER K WITH DIAGO.. */
+ /*3174*/    0xa745,  1,   0xa744, /* LATIN CAPITAL LETTER K WITH STROK.. */
+ /*3177*/    0xa747,  1,   0xa746, /* LATIN CAPITAL LETTER BROKEN L */
+ /*3180*/    0xa749,  1,   0xa748, /* LATIN CAPITAL LETTER L WITH HIGH .. */
+ /*3183*/    0xa74b,  1,   0xa74a, /* LATIN CAPITAL LETTER O WITH LONG .. */
+ /*3186*/    0xa74d,  1,   0xa74c, /* LATIN CAPITAL LETTER O WITH LOOP */
+ /*3189*/    0xa74f,  1,   0xa74e, /* LATIN CAPITAL LETTER OO */
+ /*3192*/    0xa751,  1,   0xa750, /* LATIN CAPITAL LETTER P WITH STROK.. */
+ /*3195*/    0xa753,  1,   0xa752, /* LATIN CAPITAL LETTER P WITH FLOUR.. */
+ /*3198*/    0xa755,  1,   0xa754, /* LATIN CAPITAL LETTER P WITH SQUIR.. */
+ /*3201*/    0xa757,  1,   0xa756, /* LATIN CAPITAL LETTER Q WITH STROK.. */
+ /*3204*/    0xa759,  1,   0xa758, /* LATIN CAPITAL LETTER Q WITH DIAGO.. */
+ /*3207*/    0xa75b,  1,   0xa75a, /* LATIN CAPITAL LETTER R ROTUNDA */
+ /*3210*/    0xa75d,  1,   0xa75c, /* LATIN CAPITAL LETTER RUM ROTUNDA */
+ /*3213*/    0xa75f,  1,   0xa75e, /* LATIN CAPITAL LETTER V WITH DIAGO.. */
+ /*3216*/    0xa761,  1,   0xa760, /* LATIN CAPITAL LETTER VY */
+ /*3219*/    0xa763,  1,   0xa762, /* LATIN CAPITAL LETTER VISIGOTHIC Z */
+ /*3222*/    0xa765,  1,   0xa764, /* LATIN CAPITAL LETTER THORN WITH S.. */
+ /*3225*/    0xa767,  1,   0xa766, /* LATIN CAPITAL LETTER THORN WITH S.. */
+ /*3228*/    0xa769,  1,   0xa768, /* LATIN CAPITAL LETTER VEND */
+ /*3231*/    0xa76b,  1,   0xa76a, /* LATIN CAPITAL LETTER ET */
+ /*3234*/    0xa76d,  1,   0xa76c, /* LATIN CAPITAL LETTER IS */
+ /*3237*/    0xa76f,  1,   0xa76e, /* LATIN CAPITAL LETTER CON */
+ /*3240*/    0xa77a,  1,   0xa779, /* LATIN CAPITAL LETTER INSULAR D */
+ /*3243*/    0xa77c,  1,   0xa77b, /* LATIN CAPITAL LETTER INSULAR F */
+ /*3246*/    0xa77f,  1,   0xa77e, /* LATIN CAPITAL LETTER TURNED INSUL.. */
+ /*3249*/    0xa781,  1,   0xa780, /* LATIN CAPITAL LETTER TURNED L */
+ /*3252*/    0xa783,  1,   0xa782, /* LATIN CAPITAL LETTER INSULAR R */
+ /*3255*/    0xa785,  1,   0xa784, /* LATIN CAPITAL LETTER INSULAR S */
+ /*3258*/    0xa787,  1,   0xa786, /* LATIN CAPITAL LETTER INSULAR T */
+ /*3261*/    0xa78c,  1,   0xa78b, /* LATIN CAPITAL LETTER SALTILLO */
+ /*3264*/    0xa791,  1,   0xa790, /* LATIN CAPITAL LETTER N WITH DESCE.. */
+ /*3267*/    0xa793,  1,   0xa792, /* LATIN CAPITAL LETTER C WITH BAR */
+ /*3270*/    0xa797,  1,   0xa796, /* LATIN CAPITAL LETTER B WITH FLOUR.. */
+ /*3273*/    0xa799,  1,   0xa798, /* LATIN CAPITAL LETTER F WITH STROKE */
+ /*3276*/    0xa79b,  1,   0xa79a, /* LATIN CAPITAL LETTER VOLAPUK AE */
+ /*3279*/    0xa79d,  1,   0xa79c, /* LATIN CAPITAL LETTER VOLAPUK OE */
+ /*3282*/    0xa79f,  1,   0xa79e, /* LATIN CAPITAL LETTER VOLAPUK UE */
+ /*3285*/    0xa7a1,  1,   0xa7a0, /* LATIN CAPITAL LETTER G WITH OBLIQ.. */
+ /*3288*/    0xa7a3,  1,   0xa7a2, /* LATIN CAPITAL LETTER K WITH OBLIQ.. */
+ /*3291*/    0xa7a5,  1,   0xa7a4, /* LATIN CAPITAL LETTER N WITH OBLIQ.. */
+ /*3294*/    0xa7a7,  1,   0xa7a6, /* LATIN CAPITAL LETTER R WITH OBLIQ.. */
+ /*3297*/    0xa7a9,  1,   0xa7a8, /* LATIN CAPITAL LETTER S WITH OBLIQ.. */
+ /*3300*/    0xa7b5,  1,   0xa7b4, /* LATIN CAPITAL LETTER BETA */
+ /*3303*/    0xa7b7,  1,   0xa7b6, /* LATIN CAPITAL LETTER OMEGA */
+ /*3306*/    0xa7b9,  1,   0xa7b8, /* LATIN CAPITAL LETTER U WITH STROKE */
+ /*3309*/    0xab53,  1,   0xa7b3, /* LATIN CAPITAL LETTER CHI */
+ /*3312*/    0xff41,  1,   0xff21, /* FULLWIDTH LATIN CAPITAL LETTER A */
+ /*3315*/    0xff42,  1,   0xff22, /* FULLWIDTH LATIN CAPITAL LETTER B */
+ /*3318*/    0xff43,  1,   0xff23, /* FULLWIDTH LATIN CAPITAL LETTER C */
+ /*3321*/    0xff44,  1,   0xff24, /* FULLWIDTH LATIN CAPITAL LETTER D */
+ /*3324*/    0xff45,  1,   0xff25, /* FULLWIDTH LATIN CAPITAL LETTER E */
+ /*3327*/    0xff46,  1,   0xff26, /* FULLWIDTH LATIN CAPITAL LETTER F */
+ /*3330*/    0xff47,  1,   0xff27, /* FULLWIDTH LATIN CAPITAL LETTER G */
+ /*3333*/    0xff48,  1,   0xff28, /* FULLWIDTH LATIN CAPITAL LETTER H */
+ /*3336*/    0xff49,  1,   0xff29, /* FULLWIDTH LATIN CAPITAL LETTER I */
+ /*3339*/    0xff4a,  1,   0xff2a, /* FULLWIDTH LATIN CAPITAL LETTER J */
+ /*3342*/    0xff4b,  1,   0xff2b, /* FULLWIDTH LATIN CAPITAL LETTER K */
+ /*3345*/    0xff4c,  1,   0xff2c, /* FULLWIDTH LATIN CAPITAL LETTER L */
+ /*3348*/    0xff4d,  1,   0xff2d, /* FULLWIDTH LATIN CAPITAL LETTER M */
+ /*3351*/    0xff4e,  1,   0xff2e, /* FULLWIDTH LATIN CAPITAL LETTER N */
+ /*3354*/    0xff4f,  1,   0xff2f, /* FULLWIDTH LATIN CAPITAL LETTER O */
+ /*3357*/    0xff50,  1,   0xff30, /* FULLWIDTH LATIN CAPITAL LETTER P */
+ /*3360*/    0xff51,  1,   0xff31, /* FULLWIDTH LATIN CAPITAL LETTER Q */
+ /*3363*/    0xff52,  1,   0xff32, /* FULLWIDTH LATIN CAPITAL LETTER R */
+ /*3366*/    0xff53,  1,   0xff33, /* FULLWIDTH LATIN CAPITAL LETTER S */
+ /*3369*/    0xff54,  1,   0xff34, /* FULLWIDTH LATIN CAPITAL LETTER T */
+ /*3372*/    0xff55,  1,   0xff35, /* FULLWIDTH LATIN CAPITAL LETTER U */
+ /*3375*/    0xff56,  1,   0xff36, /* FULLWIDTH LATIN CAPITAL LETTER V */
+ /*3378*/    0xff57,  1,   0xff37, /* FULLWIDTH LATIN CAPITAL LETTER W */
+ /*3381*/    0xff58,  1,   0xff38, /* FULLWIDTH LATIN CAPITAL LETTER X */
+ /*3384*/    0xff59,  1,   0xff39, /* FULLWIDTH LATIN CAPITAL LETTER Y */
+ /*3387*/    0xff5a,  1,   0xff3a, /* FULLWIDTH LATIN CAPITAL LETTER Z */
+ /*3390*/  0x010428,  1, 0x010400, /* DESERET CAPITAL LETTER LONG I */
+ /*3393*/  0x010429,  1, 0x010401, /* DESERET CAPITAL LETTER LONG E */
+ /*3396*/  0x01042a,  1, 0x010402, /* DESERET CAPITAL LETTER LONG A */
+ /*3399*/  0x01042b,  1, 0x010403, /* DESERET CAPITAL LETTER LONG AH */
+ /*3402*/  0x01042c,  1, 0x010404, /* DESERET CAPITAL LETTER LONG O */
+ /*3405*/  0x01042d,  1, 0x010405, /* DESERET CAPITAL LETTER LONG OO */
+ /*3408*/  0x01042e,  1, 0x010406, /* DESERET CAPITAL LETTER SHORT I */
+ /*3411*/  0x01042f,  1, 0x010407, /* DESERET CAPITAL LETTER SHORT E */
+ /*3414*/  0x010430,  1, 0x010408, /* DESERET CAPITAL LETTER SHORT A */
+ /*3417*/  0x010431,  1, 0x010409, /* DESERET CAPITAL LETTER SHORT AH */
+ /*3420*/  0x010432,  1, 0x01040a, /* DESERET CAPITAL LETTER SHORT O */
+ /*3423*/  0x010433,  1, 0x01040b, /* DESERET CAPITAL LETTER SHORT OO */
+ /*3426*/  0x010434,  1, 0x01040c, /* DESERET CAPITAL LETTER AY */
+ /*3429*/  0x010435,  1, 0x01040d, /* DESERET CAPITAL LETTER OW */
+ /*3432*/  0x010436,  1, 0x01040e, /* DESERET CAPITAL LETTER WU */
+ /*3435*/  0x010437,  1, 0x01040f, /* DESERET CAPITAL LETTER YEE */
+ /*3438*/  0x010438,  1, 0x010410, /* DESERET CAPITAL LETTER H */
+ /*3441*/  0x010439,  1, 0x010411, /* DESERET CAPITAL LETTER PEE */
+ /*3444*/  0x01043a,  1, 0x010412, /* DESERET CAPITAL LETTER BEE */
+ /*3447*/  0x01043b,  1, 0x010413, /* DESERET CAPITAL LETTER TEE */
+ /*3450*/  0x01043c,  1, 0x010414, /* DESERET CAPITAL LETTER DEE */
+ /*3453*/  0x01043d,  1, 0x010415, /* DESERET CAPITAL LETTER CHEE */
+ /*3456*/  0x01043e,  1, 0x010416, /* DESERET CAPITAL LETTER JEE */
+ /*3459*/  0x01043f,  1, 0x010417, /* DESERET CAPITAL LETTER KAY */
+ /*3462*/  0x010440,  1, 0x010418, /* DESERET CAPITAL LETTER GAY */
+ /*3465*/  0x010441,  1, 0x010419, /* DESERET CAPITAL LETTER EF */
+ /*3468*/  0x010442,  1, 0x01041a, /* DESERET CAPITAL LETTER VEE */
+ /*3471*/  0x010443,  1, 0x01041b, /* DESERET CAPITAL LETTER ETH */
+ /*3474*/  0x010444,  1, 0x01041c, /* DESERET CAPITAL LETTER THEE */
+ /*3477*/  0x010445,  1, 0x01041d, /* DESERET CAPITAL LETTER ES */
+ /*3480*/  0x010446,  1, 0x01041e, /* DESERET CAPITAL LETTER ZEE */
+ /*3483*/  0x010447,  1, 0x01041f, /* DESERET CAPITAL LETTER ESH */
+ /*3486*/  0x010448,  1, 0x010420, /* DESERET CAPITAL LETTER ZHEE */
+ /*3489*/  0x010449,  1, 0x010421, /* DESERET CAPITAL LETTER ER */
+ /*3492*/  0x01044a,  1, 0x010422, /* DESERET CAPITAL LETTER EL */
+ /*3495*/  0x01044b,  1, 0x010423, /* DESERET CAPITAL LETTER EM */
+ /*3498*/  0x01044c,  1, 0x010424, /* DESERET CAPITAL LETTER EN */
+ /*3501*/  0x01044d,  1, 0x010425, /* DESERET CAPITAL LETTER ENG */
+ /*3504*/  0x01044e,  1, 0x010426, /* DESERET CAPITAL LETTER OI */
+ /*3507*/  0x01044f,  1, 0x010427, /* DESERET CAPITAL LETTER EW */
+ /*3510*/  0x0104d8,  1, 0x0104b0, /* OSAGE CAPITAL LETTER A */
+ /*3513*/  0x0104d9,  1, 0x0104b1, /* OSAGE CAPITAL LETTER AI */
+ /*3516*/  0x0104da,  1, 0x0104b2, /* OSAGE CAPITAL LETTER AIN */
+ /*3519*/  0x0104db,  1, 0x0104b3, /* OSAGE CAPITAL LETTER AH */
+ /*3522*/  0x0104dc,  1, 0x0104b4, /* OSAGE CAPITAL LETTER BRA */
+ /*3525*/  0x0104dd,  1, 0x0104b5, /* OSAGE CAPITAL LETTER CHA */
+ /*3528*/  0x0104de,  1, 0x0104b6, /* OSAGE CAPITAL LETTER EHCHA */
+ /*3531*/  0x0104df,  1, 0x0104b7, /* OSAGE CAPITAL LETTER E */
+ /*3534*/  0x0104e0,  1, 0x0104b8, /* OSAGE CAPITAL LETTER EIN */
+ /*3537*/  0x0104e1,  1, 0x0104b9, /* OSAGE CAPITAL LETTER HA */
+ /*3540*/  0x0104e2,  1, 0x0104ba, /* OSAGE CAPITAL LETTER HYA */
+ /*3543*/  0x0104e3,  1, 0x0104bb, /* OSAGE CAPITAL LETTER I */
+ /*3546*/  0x0104e4,  1, 0x0104bc, /* OSAGE CAPITAL LETTER KA */
+ /*3549*/  0x0104e5,  1, 0x0104bd, /* OSAGE CAPITAL LETTER EHKA */
+ /*3552*/  0x0104e6,  1, 0x0104be, /* OSAGE CAPITAL LETTER KYA */
+ /*3555*/  0x0104e7,  1, 0x0104bf, /* OSAGE CAPITAL LETTER LA */
+ /*3558*/  0x0104e8,  1, 0x0104c0, /* OSAGE CAPITAL LETTER MA */
+ /*3561*/  0x0104e9,  1, 0x0104c1, /* OSAGE CAPITAL LETTER NA */
+ /*3564*/  0x0104ea,  1, 0x0104c2, /* OSAGE CAPITAL LETTER O */
+ /*3567*/  0x0104eb,  1, 0x0104c3, /* OSAGE CAPITAL LETTER OIN */
+ /*3570*/  0x0104ec,  1, 0x0104c4, /* OSAGE CAPITAL LETTER PA */
+ /*3573*/  0x0104ed,  1, 0x0104c5, /* OSAGE CAPITAL LETTER EHPA */
+ /*3576*/  0x0104ee,  1, 0x0104c6, /* OSAGE CAPITAL LETTER SA */
+ /*3579*/  0x0104ef,  1, 0x0104c7, /* OSAGE CAPITAL LETTER SHA */
+ /*3582*/  0x0104f0,  1, 0x0104c8, /* OSAGE CAPITAL LETTER TA */
+ /*3585*/  0x0104f1,  1, 0x0104c9, /* OSAGE CAPITAL LETTER EHTA */
+ /*3588*/  0x0104f2,  1, 0x0104ca, /* OSAGE CAPITAL LETTER TSA */
+ /*3591*/  0x0104f3,  1, 0x0104cb, /* OSAGE CAPITAL LETTER EHTSA */
+ /*3594*/  0x0104f4,  1, 0x0104cc, /* OSAGE CAPITAL LETTER TSHA */
+ /*3597*/  0x0104f5,  1, 0x0104cd, /* OSAGE CAPITAL LETTER DHA */
+ /*3600*/  0x0104f6,  1, 0x0104ce, /* OSAGE CAPITAL LETTER U */
+ /*3603*/  0x0104f7,  1, 0x0104cf, /* OSAGE CAPITAL LETTER WA */
+ /*3606*/  0x0104f8,  1, 0x0104d0, /* OSAGE CAPITAL LETTER KHA */
+ /*3609*/  0x0104f9,  1, 0x0104d1, /* OSAGE CAPITAL LETTER GHA */
+ /*3612*/  0x0104fa,  1, 0x0104d2, /* OSAGE CAPITAL LETTER ZA */
+ /*3615*/  0x0104fb,  1, 0x0104d3, /* OSAGE CAPITAL LETTER ZHA */
+ /*3618*/  0x010cc0,  1, 0x010c80, /* OLD HUNGARIAN CAPITAL LETTER A */
+ /*3621*/  0x010cc1,  1, 0x010c81, /* OLD HUNGARIAN CAPITAL LETTER AA */
+ /*3624*/  0x010cc2,  1, 0x010c82, /* OLD HUNGARIAN CAPITAL LETTER EB */
+ /*3627*/  0x010cc3,  1, 0x010c83, /* OLD HUNGARIAN CAPITAL LETTER AMB */
+ /*3630*/  0x010cc4,  1, 0x010c84, /* OLD HUNGARIAN CAPITAL LETTER EC */
+ /*3633*/  0x010cc5,  1, 0x010c85, /* OLD HUNGARIAN CAPITAL LETTER ENC */
+ /*3636*/  0x010cc6,  1, 0x010c86, /* OLD HUNGARIAN CAPITAL LETTER ECS */
+ /*3639*/  0x010cc7,  1, 0x010c87, /* OLD HUNGARIAN CAPITAL LETTER ED */
+ /*3642*/  0x010cc8,  1, 0x010c88, /* OLD HUNGARIAN CAPITAL LETTER AND */
+ /*3645*/  0x010cc9,  1, 0x010c89, /* OLD HUNGARIAN CAPITAL LETTER E */
+ /*3648*/  0x010cca,  1, 0x010c8a, /* OLD HUNGARIAN CAPITAL LETTER CLOS.. */
+ /*3651*/  0x010ccb,  1, 0x010c8b, /* OLD HUNGARIAN CAPITAL LETTER EE */
+ /*3654*/  0x010ccc,  1, 0x010c8c, /* OLD HUNGARIAN CAPITAL LETTER EF */
+ /*3657*/  0x010ccd,  1, 0x010c8d, /* OLD HUNGARIAN CAPITAL LETTER EG */
+ /*3660*/  0x010cce,  1, 0x010c8e, /* OLD HUNGARIAN CAPITAL LETTER EGY */
+ /*3663*/  0x010ccf,  1, 0x010c8f, /* OLD HUNGARIAN CAPITAL LETTER EH */
+ /*3666*/  0x010cd0,  1, 0x010c90, /* OLD HUNGARIAN CAPITAL LETTER I */
+ /*3669*/  0x010cd1,  1, 0x010c91, /* OLD HUNGARIAN CAPITAL LETTER II */
+ /*3672*/  0x010cd2,  1, 0x010c92, /* OLD HUNGARIAN CAPITAL LETTER EJ */
+ /*3675*/  0x010cd3,  1, 0x010c93, /* OLD HUNGARIAN CAPITAL LETTER EK */
+ /*3678*/  0x010cd4,  1, 0x010c94, /* OLD HUNGARIAN CAPITAL LETTER AK */
+ /*3681*/  0x010cd5,  1, 0x010c95, /* OLD HUNGARIAN CAPITAL LETTER UNK */
+ /*3684*/  0x010cd6,  1, 0x010c96, /* OLD HUNGARIAN CAPITAL LETTER EL */
+ /*3687*/  0x010cd7,  1, 0x010c97, /* OLD HUNGARIAN CAPITAL LETTER ELY */
+ /*3690*/  0x010cd8,  1, 0x010c98, /* OLD HUNGARIAN CAPITAL LETTER EM */
+ /*3693*/  0x010cd9,  1, 0x010c99, /* OLD HUNGARIAN CAPITAL LETTER EN */
+ /*3696*/  0x010cda,  1, 0x010c9a, /* OLD HUNGARIAN CAPITAL LETTER ENY */
+ /*3699*/  0x010cdb,  1, 0x010c9b, /* OLD HUNGARIAN CAPITAL LETTER O */
+ /*3702*/  0x010cdc,  1, 0x010c9c, /* OLD HUNGARIAN CAPITAL LETTER OO */
+ /*3705*/  0x010cdd,  1, 0x010c9d, /* OLD HUNGARIAN CAPITAL LETTER NIKO.. */
+ /*3708*/  0x010cde,  1, 0x010c9e, /* OLD HUNGARIAN CAPITAL LETTER RUDI.. */
+ /*3711*/  0x010cdf,  1, 0x010c9f, /* OLD HUNGARIAN CAPITAL LETTER OEE */
+ /*3714*/  0x010ce0,  1, 0x010ca0, /* OLD HUNGARIAN CAPITAL LETTER EP */
+ /*3717*/  0x010ce1,  1, 0x010ca1, /* OLD HUNGARIAN CAPITAL LETTER EMP */
+ /*3720*/  0x010ce2,  1, 0x010ca2, /* OLD HUNGARIAN CAPITAL LETTER ER */
+ /*3723*/  0x010ce3,  1, 0x010ca3, /* OLD HUNGARIAN CAPITAL LETTER SHOR.. */
+ /*3726*/  0x010ce4,  1, 0x010ca4, /* OLD HUNGARIAN CAPITAL LETTER ES */
+ /*3729*/  0x010ce5,  1, 0x010ca5, /* OLD HUNGARIAN CAPITAL LETTER ESZ */
+ /*3732*/  0x010ce6,  1, 0x010ca6, /* OLD HUNGARIAN CAPITAL LETTER ET */
+ /*3735*/  0x010ce7,  1, 0x010ca7, /* OLD HUNGARIAN CAPITAL LETTER ENT */
+ /*3738*/  0x010ce8,  1, 0x010ca8, /* OLD HUNGARIAN CAPITAL LETTER ETY */
+ /*3741*/  0x010ce9,  1, 0x010ca9, /* OLD HUNGARIAN CAPITAL LETTER ECH */
+ /*3744*/  0x010cea,  1, 0x010caa, /* OLD HUNGARIAN CAPITAL LETTER U */
+ /*3747*/  0x010ceb,  1, 0x010cab, /* OLD HUNGARIAN CAPITAL LETTER UU */
+ /*3750*/  0x010cec,  1, 0x010cac, /* OLD HUNGARIAN CAPITAL LETTER NIKO.. */
+ /*3753*/  0x010ced,  1, 0x010cad, /* OLD HUNGARIAN CAPITAL LETTER RUDI.. */
+ /*3756*/  0x010cee,  1, 0x010cae, /* OLD HUNGARIAN CAPITAL LETTER EV */
+ /*3759*/  0x010cef,  1, 0x010caf, /* OLD HUNGARIAN CAPITAL LETTER EZ */
+ /*3762*/  0x010cf0,  1, 0x010cb0, /* OLD HUNGARIAN CAPITAL LETTER EZS */
+ /*3765*/  0x010cf1,  1, 0x010cb1, /* OLD HUNGARIAN CAPITAL LETTER ENT-.. */
+ /*3768*/  0x010cf2,  1, 0x010cb2, /* OLD HUNGARIAN CAPITAL LETTER US */
+ /*3771*/  0x0118c0,  1, 0x0118a0, /* WARANG CITI CAPITAL LETTER NGAA */
+ /*3774*/  0x0118c1,  1, 0x0118a1, /* WARANG CITI CAPITAL LETTER A */
+ /*3777*/  0x0118c2,  1, 0x0118a2, /* WARANG CITI CAPITAL LETTER WI */
+ /*3780*/  0x0118c3,  1, 0x0118a3, /* WARANG CITI CAPITAL LETTER YU */
+ /*3783*/  0x0118c4,  1, 0x0118a4, /* WARANG CITI CAPITAL LETTER YA */
+ /*3786*/  0x0118c5,  1, 0x0118a5, /* WARANG CITI CAPITAL LETTER YO */
+ /*3789*/  0x0118c6,  1, 0x0118a6, /* WARANG CITI CAPITAL LETTER II */
+ /*3792*/  0x0118c7,  1, 0x0118a7, /* WARANG CITI CAPITAL LETTER UU */
+ /*3795*/  0x0118c8,  1, 0x0118a8, /* WARANG CITI CAPITAL LETTER E */
+ /*3798*/  0x0118c9,  1, 0x0118a9, /* WARANG CITI CAPITAL LETTER O */
+ /*3801*/  0x0118ca,  1, 0x0118aa, /* WARANG CITI CAPITAL LETTER ANG */
+ /*3804*/  0x0118cb,  1, 0x0118ab, /* WARANG CITI CAPITAL LETTER GA */
+ /*3807*/  0x0118cc,  1, 0x0118ac, /* WARANG CITI CAPITAL LETTER KO */
+ /*3810*/  0x0118cd,  1, 0x0118ad, /* WARANG CITI CAPITAL LETTER ENY */
+ /*3813*/  0x0118ce,  1, 0x0118ae, /* WARANG CITI CAPITAL LETTER YUJ */
+ /*3816*/  0x0118cf,  1, 0x0118af, /* WARANG CITI CAPITAL LETTER UC */
+ /*3819*/  0x0118d0,  1, 0x0118b0, /* WARANG CITI CAPITAL LETTER ENN */
+ /*3822*/  0x0118d1,  1, 0x0118b1, /* WARANG CITI CAPITAL LETTER ODD */
+ /*3825*/  0x0118d2,  1, 0x0118b2, /* WARANG CITI CAPITAL LETTER TTE */
+ /*3828*/  0x0118d3,  1, 0x0118b3, /* WARANG CITI CAPITAL LETTER NUNG */
+ /*3831*/  0x0118d4,  1, 0x0118b4, /* WARANG CITI CAPITAL LETTER DA */
+ /*3834*/  0x0118d5,  1, 0x0118b5, /* WARANG CITI CAPITAL LETTER AT */
+ /*3837*/  0x0118d6,  1, 0x0118b6, /* WARANG CITI CAPITAL LETTER AM */
+ /*3840*/  0x0118d7,  1, 0x0118b7, /* WARANG CITI CAPITAL LETTER BU */
+ /*3843*/  0x0118d8,  1, 0x0118b8, /* WARANG CITI CAPITAL LETTER PU */
+ /*3846*/  0x0118d9,  1, 0x0118b9, /* WARANG CITI CAPITAL LETTER HIYO */
+ /*3849*/  0x0118da,  1, 0x0118ba, /* WARANG CITI CAPITAL LETTER HOLO */
+ /*3852*/  0x0118db,  1, 0x0118bb, /* WARANG CITI CAPITAL LETTER HORR */
+ /*3855*/  0x0118dc,  1, 0x0118bc, /* WARANG CITI CAPITAL LETTER HAR */
+ /*3858*/  0x0118dd,  1, 0x0118bd, /* WARANG CITI CAPITAL LETTER SSUU */
+ /*3861*/  0x0118de,  1, 0x0118be, /* WARANG CITI CAPITAL LETTER SII */
+ /*3864*/  0x0118df,  1, 0x0118bf, /* WARANG CITI CAPITAL LETTER VIYO */
+ /*3867*/  0x016e60,  1, 0x016e40, /* MEDEFAIDRIN CAPITAL LETTER M */
+ /*3870*/  0x016e61,  1, 0x016e41, /* MEDEFAIDRIN CAPITAL LETTER S */
+ /*3873*/  0x016e62,  1, 0x016e42, /* MEDEFAIDRIN CAPITAL LETTER V */
+ /*3876*/  0x016e63,  1, 0x016e43, /* MEDEFAIDRIN CAPITAL LETTER W */
+ /*3879*/  0x016e64,  1, 0x016e44, /* MEDEFAIDRIN CAPITAL LETTER ATIU */
+ /*3882*/  0x016e65,  1, 0x016e45, /* MEDEFAIDRIN CAPITAL LETTER Z */
+ /*3885*/  0x016e66,  1, 0x016e46, /* MEDEFAIDRIN CAPITAL LETTER KP */
+ /*3888*/  0x016e67,  1, 0x016e47, /* MEDEFAIDRIN CAPITAL LETTER P */
+ /*3891*/  0x016e68,  1, 0x016e48, /* MEDEFAIDRIN CAPITAL LETTER T */
+ /*3894*/  0x016e69,  1, 0x016e49, /* MEDEFAIDRIN CAPITAL LETTER G */
+ /*3897*/  0x016e6a,  1, 0x016e4a, /* MEDEFAIDRIN CAPITAL LETTER F */
+ /*3900*/  0x016e6b,  1, 0x016e4b, /* MEDEFAIDRIN CAPITAL LETTER I */
+ /*3903*/  0x016e6c,  1, 0x016e4c, /* MEDEFAIDRIN CAPITAL LETTER K */
+ /*3906*/  0x016e6d,  1, 0x016e4d, /* MEDEFAIDRIN CAPITAL LETTER A */
+ /*3909*/  0x016e6e,  1, 0x016e4e, /* MEDEFAIDRIN CAPITAL LETTER J */
+ /*3912*/  0x016e6f,  1, 0x016e4f, /* MEDEFAIDRIN CAPITAL LETTER E */
+ /*3915*/  0x016e70,  1, 0x016e50, /* MEDEFAIDRIN CAPITAL LETTER B */
+ /*3918*/  0x016e71,  1, 0x016e51, /* MEDEFAIDRIN CAPITAL LETTER C */
+ /*3921*/  0x016e72,  1, 0x016e52, /* MEDEFAIDRIN CAPITAL LETTER U */
+ /*3924*/  0x016e73,  1, 0x016e53, /* MEDEFAIDRIN CAPITAL LETTER YU */
+ /*3927*/  0x016e74,  1, 0x016e54, /* MEDEFAIDRIN CAPITAL LETTER L */
+ /*3930*/  0x016e75,  1, 0x016e55, /* MEDEFAIDRIN CAPITAL LETTER Q */
+ /*3933*/  0x016e76,  1, 0x016e56, /* MEDEFAIDRIN CAPITAL LETTER HP */
+ /*3936*/  0x016e77,  1, 0x016e57, /* MEDEFAIDRIN CAPITAL LETTER NY */
+ /*3939*/  0x016e78,  1, 0x016e58, /* MEDEFAIDRIN CAPITAL LETTER X */
+ /*3942*/  0x016e79,  1, 0x016e59, /* MEDEFAIDRIN CAPITAL LETTER D */
+ /*3945*/  0x016e7a,  1, 0x016e5a, /* MEDEFAIDRIN CAPITAL LETTER OE */
+ /*3948*/  0x016e7b,  1, 0x016e5b, /* MEDEFAIDRIN CAPITAL LETTER N */
+ /*3951*/  0x016e7c,  1, 0x016e5c, /* MEDEFAIDRIN CAPITAL LETTER R */
+ /*3954*/  0x016e7d,  1, 0x016e5d, /* MEDEFAIDRIN CAPITAL LETTER O */
+ /*3957*/  0x016e7e,  1, 0x016e5e, /* MEDEFAIDRIN CAPITAL LETTER AI */
+ /*3960*/  0x016e7f,  1, 0x016e5f, /* MEDEFAIDRIN CAPITAL LETTER Y */
+ /*3963*/  0x01e922,  1, 0x01e900, /* ADLAM CAPITAL LETTER ALIF */
+ /*3966*/  0x01e923,  1, 0x01e901, /* ADLAM CAPITAL LETTER DAALI */
+ /*3969*/  0x01e924,  1, 0x01e902, /* ADLAM CAPITAL LETTER LAAM */
+ /*3972*/  0x01e925,  1, 0x01e903, /* ADLAM CAPITAL LETTER MIIM */
+ /*3975*/  0x01e926,  1, 0x01e904, /* ADLAM CAPITAL LETTER BA */
+ /*3978*/  0x01e927,  1, 0x01e905, /* ADLAM CAPITAL LETTER SINNYIIYHE */
+ /*3981*/  0x01e928,  1, 0x01e906, /* ADLAM CAPITAL LETTER PE */
+ /*3984*/  0x01e929,  1, 0x01e907, /* ADLAM CAPITAL LETTER BHE */
+ /*3987*/  0x01e92a,  1, 0x01e908, /* ADLAM CAPITAL LETTER RA */
+ /*3990*/  0x01e92b,  1, 0x01e909, /* ADLAM CAPITAL LETTER E */
+ /*3993*/  0x01e92c,  1, 0x01e90a, /* ADLAM CAPITAL LETTER FA */
+ /*3996*/  0x01e92d,  1, 0x01e90b, /* ADLAM CAPITAL LETTER I */
+ /*3999*/  0x01e92e,  1, 0x01e90c, /* ADLAM CAPITAL LETTER O */
+ /*4002*/  0x01e92f,  1, 0x01e90d, /* ADLAM CAPITAL LETTER DHA */
+ /*4005*/  0x01e930,  1, 0x01e90e, /* ADLAM CAPITAL LETTER YHE */
+ /*4008*/  0x01e931,  1, 0x01e90f, /* ADLAM CAPITAL LETTER WAW */
+ /*4011*/  0x01e932,  1, 0x01e910, /* ADLAM CAPITAL LETTER NUN */
+ /*4014*/  0x01e933,  1, 0x01e911, /* ADLAM CAPITAL LETTER KAF */
+ /*4017*/  0x01e934,  1, 0x01e912, /* ADLAM CAPITAL LETTER YA */
+ /*4020*/  0x01e935,  1, 0x01e913, /* ADLAM CAPITAL LETTER U */
+ /*4023*/  0x01e936,  1, 0x01e914, /* ADLAM CAPITAL LETTER JIIM */
+ /*4026*/  0x01e937,  1, 0x01e915, /* ADLAM CAPITAL LETTER CHI */
+ /*4029*/  0x01e938,  1, 0x01e916, /* ADLAM CAPITAL LETTER HA */
+ /*4032*/  0x01e939,  1, 0x01e917, /* ADLAM CAPITAL LETTER QAAF */
+ /*4035*/  0x01e93a,  1, 0x01e918, /* ADLAM CAPITAL LETTER GA */
+ /*4038*/  0x01e93b,  1, 0x01e919, /* ADLAM CAPITAL LETTER NYA */
+ /*4041*/  0x01e93c,  1, 0x01e91a, /* ADLAM CAPITAL LETTER TU */
+ /*4044*/  0x01e93d,  1, 0x01e91b, /* ADLAM CAPITAL LETTER NHA */
+ /*4047*/  0x01e93e,  1, 0x01e91c, /* ADLAM CAPITAL LETTER VA */
+ /*4050*/  0x01e93f,  1, 0x01e91d, /* ADLAM CAPITAL LETTER KHA */
+ /*4053*/  0x01e940,  1, 0x01e91e, /* ADLAM CAPITAL LETTER GBE */
+ /*4056*/  0x01e941,  1, 0x01e91f, /* ADLAM CAPITAL LETTER ZAL */
+ /*4059*/  0x01e942,  1, 0x01e920, /* ADLAM CAPITAL LETTER KPO */
+ /*4062*/  0x01e943,  1, 0x01e921, /* ADLAM CAPITAL LETTER SHA */
+#define FOLDS1_NORMAL_END_INDEX   4065
  /* ----- LOCALE ----- */
- /*3606*/    0x0069,  1,   0x0049, /* LATIN CAPITAL LETTER I */
-#define FOLDS1_END_INDEX   3609
+ /*4065*/    0x0069,  1,   0x0049, /* LATIN CAPITAL LETTER I */
+#define FOLDS1_END_INDEX   4068
 };
 
 OnigCodePoint OnigUnicodeFolds2[] = {
index b25392b84694b1cc46cdb8c3249da95d15136be0..7cfc87ed96ba6129bd3ab4ccfc58356f11bdb51a 100644 (file)
@@ -1,5 +1,5 @@
-/* ANSI-C code produced by gperf version 3.0.4 */
-/* Command-line: gperf -T -C -c -t -j1 -L ANSI-C --ignore-case --pic -Q unicode_prop_name_pool -N unicode_lookup_property_name --output-file gperf.tmp unicode_property_data.gperf  */
+/* ANSI-C code produced by gperf version 3.1 */
+/* Command-line: /usr/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) \
@@ -26,7 +26,7 @@
       && ('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-gnu-gperf@gnu.org>."
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
 #endif
 
 
@@ -42,7 +42,7 @@ CR_NEWLINE[] = { 1,
 
 /* PROPERTY: 'Alpha': POSIX [[:Alpha:]] */
 static const OnigCodePoint
-CR_Alpha[] = { 617,
+CR_Alpha[] = { 676,
 0x0041, 0x005a,
 0x0061, 0x007a,
 0x00aa, 0x00aa,
@@ -69,14 +69,14 @@ CR_Alpha[] = { 617,
 0x048a, 0x052f,
 0x0531, 0x0556,
 0x0559, 0x0559,
-0x0561, 0x0587,
+0x0560, 0x0588,
 0x05b0, 0x05bd,
 0x05bf, 0x05bf,
 0x05c1, 0x05c2,
 0x05c4, 0x05c5,
 0x05c7, 0x05c7,
 0x05d0, 0x05ea,
-0x05f0, 0x05f2,
+0x05ef, 0x05f2,
 0x0610, 0x061a,
 0x0620, 0x0657,
 0x0659, 0x065f,
@@ -94,7 +94,10 @@ CR_Alpha[] = { 617,
 0x0800, 0x0817,
 0x081a, 0x082c,
 0x0840, 0x0858,
+0x0860, 0x086a,
 0x08a0, 0x08b4,
+0x08b6, 0x08bd,
+0x08d4, 0x08df,
 0x08e3, 0x08e9,
 0x08f0, 0x093b,
 0x093d, 0x094c,
@@ -115,6 +118,7 @@ CR_Alpha[] = { 617,
 0x09dc, 0x09dd,
 0x09df, 0x09e3,
 0x09f0, 0x09f1,
+0x09fc, 0x09fc,
 0x0a01, 0x0a03,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
@@ -142,7 +146,7 @@ CR_Alpha[] = { 617,
 0x0acb, 0x0acc,
 0x0ad0, 0x0ad0,
 0x0ae0, 0x0ae3,
-0x0af9, 0x0af9,
+0x0af9, 0x0afc,
 0x0b01, 0x0b03,
 0x0b05, 0x0b0c,
 0x0b0f, 0x0b10,
@@ -183,7 +187,7 @@ CR_Alpha[] = { 617,
 0x0c55, 0x0c56,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c63,
-0x0c81, 0x0c83,
+0x0c80, 0x0c83,
 0x0c85, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
@@ -196,7 +200,7 @@ CR_Alpha[] = { 617,
 0x0cde, 0x0cde,
 0x0ce0, 0x0ce3,
 0x0cf1, 0x0cf2,
-0x0d01, 0x0d03,
+0x0d00, 0x0d03,
 0x0d05, 0x0d0c,
 0x0d0e, 0x0d10,
 0x0d12, 0x0d3a,
@@ -204,7 +208,7 @@ CR_Alpha[] = { 617,
 0x0d46, 0x0d48,
 0x0d4a, 0x0d4c,
 0x0d4e, 0x0d4e,
-0x0d57, 0x0d57,
+0x0d54, 0x0d57,
 0x0d5f, 0x0d63,
 0x0d7a, 0x0d7f,
 0x0d82, 0x0d83,
@@ -291,7 +295,7 @@ CR_Alpha[] = { 617,
 0x17b6, 0x17c8,
 0x17d7, 0x17d7,
 0x17dc, 0x17dc,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -315,6 +319,9 @@ CR_Alpha[] = { 617,
 0x1c00, 0x1c35,
 0x1c4d, 0x1c4f,
 0x1c5a, 0x1c7d,
+0x1c80, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1ce9, 0x1cec,
 0x1cee, 0x1cf3,
 0x1cf5, 0x1cf6,
@@ -386,12 +393,12 @@ CR_Alpha[] = { 617,
 0x309d, 0x309f,
 0x30a1, 0x30fa,
 0x30fc, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x31a0, 0x31ba,
 0x31f0, 0x31ff,
 0x3400, 0x4db5,
-0x4e00, 0x9fd5,
+0x4e00, 0x9fef,
 0xa000, 0xa48c,
 0xa4d0, 0xa4fd,
 0xa500, 0xa60c,
@@ -402,17 +409,17 @@ CR_Alpha[] = { 617,
 0xa67f, 0xa6ef,
 0xa717, 0xa71f,
 0xa722, 0xa788,
-0xa78b, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa78b, 0xa7b9,
 0xa7f7, 0xa801,
 0xa803, 0xa805,
 0xa807, 0xa80a,
 0xa80c, 0xa827,
 0xa840, 0xa873,
 0xa880, 0xa8c3,
+0xa8c5, 0xa8c5,
 0xa8f2, 0xa8f7,
 0xa8fb, 0xa8fb,
-0xa8fd, 0xa8fd,
+0xa8fd, 0xa8fe,
 0xa90a, 0xa92a,
 0xa930, 0xa952,
 0xa960, 0xa97c,
@@ -478,13 +485,15 @@ CR_Alpha[] = { 617,
 0x10280, 0x1029c,
 0x102a0, 0x102d0,
 0x10300, 0x1031f,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x1037a,
 0x10380, 0x1039d,
 0x103a0, 0x103c3,
 0x103c8, 0x103cf,
 0x103d1, 0x103d5,
 0x10400, 0x1049d,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x10600, 0x10736,
@@ -508,7 +517,7 @@ CR_Alpha[] = { 617,
 0x10a05, 0x10a06,
 0x10a0c, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a60, 0x10a7c,
 0x10a80, 0x10a9c,
 0x10ac0, 0x10ac7,
@@ -520,10 +529,15 @@ CR_Alpha[] = { 617,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
+0x10d00, 0x10d27,
+0x10f00, 0x10f1c,
+0x10f27, 0x10f27,
+0x10f30, 0x10f45,
 0x11000, 0x11045,
 0x11082, 0x110b8,
 0x110d0, 0x110e8,
 0x11100, 0x11132,
+0x11144, 0x11146,
 0x11150, 0x11172,
 0x11176, 0x11176,
 0x11180, 0x111bf,
@@ -533,6 +547,7 @@ CR_Alpha[] = { 617,
 0x11200, 0x11211,
 0x11213, 0x11234,
 0x11237, 0x11237,
+0x1123e, 0x1123e,
 0x11280, 0x11286,
 0x11288, 0x11288,
 0x1128a, 0x1128d,
@@ -552,6 +567,9 @@ CR_Alpha[] = { 617,
 0x11350, 0x11350,
 0x11357, 0x11357,
 0x1135d, 0x11363,
+0x11400, 0x11441,
+0x11443, 0x11445,
+0x11447, 0x1144a,
 0x11480, 0x114c1,
 0x114c4, 0x114c5,
 0x114c7, 0x114c7,
@@ -562,11 +580,39 @@ CR_Alpha[] = { 617,
 0x11640, 0x11640,
 0x11644, 0x11644,
 0x11680, 0x116b5,
-0x11700, 0x11719,
+0x11700, 0x1171a,
 0x1171d, 0x1172a,
+0x11800, 0x11838,
 0x118a0, 0x118df,
 0x118ff, 0x118ff,
+0x11a00, 0x11a32,
+0x11a35, 0x11a3e,
+0x11a50, 0x11a83,
+0x11a86, 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,
@@ -579,10 +625,15 @@ CR_Alpha[] = { 617,
 0x16b40, 0x16b43,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e7f,
 0x16f00, 0x16f44,
 0x16f50, 0x16f7e,
 0x16f93, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -618,7 +669,14 @@ CR_Alpha[] = { 617,
 0x1d78a, 0x1d7a8,
 0x1d7aa, 0x1d7c2,
 0x1d7c4, 0x1d7cb,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e800, 0x1e8c4,
+0x1e900, 0x1e943,
+0x1e947, 0x1e947,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -659,6 +717,7 @@ CR_Alpha[] = { 617,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 0x2f800, 0x2fa1d,
 }; /* END of CR_Alpha */
 
@@ -684,7 +743,7 @@ CR_Cntrl[] = { 2,
 
 /* PROPERTY: 'Digit': POSIX [[:Digit:]] */
 static const OnigCodePoint
-CR_Digit[] = { 51,
+CR_Digit[] = { 57,
 0x0030, 0x0039,
 0x0660, 0x0669,
 0x06f0, 0x06f9,
@@ -723,24 +782,30 @@ CR_Digit[] = { 51,
 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,
+0x1e950, 0x1e959,
 }; /* END of CR_Digit */
 
 /* PROPERTY: 'Graph': POSIX [[:Graph:]] */
 static const OnigCodePoint
-CR_Graph[] = { 618,
+CR_Graph[] = { 663,
 0x0021, 0x007e,
 0x00a1, 0x0377,
 0x037a, 0x037f,
@@ -749,24 +814,24 @@ CR_Graph[] = { 618,
 0x038e, 0x03a1,
 0x03a3, 0x052f,
 0x0531, 0x0556,
-0x0559, 0x055f,
-0x0561, 0x0587,
-0x0589, 0x058a,
+0x0559, 0x058a,
 0x058d, 0x058f,
 0x0591, 0x05c7,
 0x05d0, 0x05ea,
-0x05f0, 0x05f4,
+0x05ef, 0x05f4,
 0x0600, 0x061c,
 0x061e, 0x070d,
 0x070f, 0x074a,
 0x074d, 0x07b1,
 0x07c0, 0x07fa,
-0x0800, 0x082d,
+0x07fd, 0x082d,
 0x0830, 0x083e,
 0x0840, 0x085b,
 0x085e, 0x085e,
+0x0860, 0x086a,
 0x08a0, 0x08b4,
-0x08e3, 0x0983,
+0x08b6, 0x08bd,
+0x08d3, 0x0983,
 0x0985, 0x098c,
 0x098f, 0x0990,
 0x0993, 0x09a8,
@@ -779,7 +844,7 @@ CR_Graph[] = { 618,
 0x09d7, 0x09d7,
 0x09dc, 0x09dd,
 0x09df, 0x09e3,
-0x09e6, 0x09fb,
+0x09e6, 0x09fe,
 0x0a01, 0x0a03,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
@@ -795,7 +860,7 @@ CR_Graph[] = { 618,
 0x0a51, 0x0a51,
 0x0a59, 0x0a5c,
 0x0a5e, 0x0a5e,
-0x0a66, 0x0a75,
+0x0a66, 0x0a76,
 0x0a81, 0x0a83,
 0x0a85, 0x0a8d,
 0x0a8f, 0x0a91,
@@ -809,7 +874,7 @@ CR_Graph[] = { 618,
 0x0ad0, 0x0ad0,
 0x0ae0, 0x0ae3,
 0x0ae6, 0x0af1,
-0x0af9, 0x0af9,
+0x0af9, 0x0aff,
 0x0b01, 0x0b03,
 0x0b05, 0x0b0c,
 0x0b0f, 0x0b10,
@@ -840,8 +905,7 @@ CR_Graph[] = { 618,
 0x0bd0, 0x0bd0,
 0x0bd7, 0x0bd7,
 0x0be6, 0x0bfa,
-0x0c00, 0x0c03,
-0x0c05, 0x0c0c,
+0x0c00, 0x0c0c,
 0x0c0e, 0x0c10,
 0x0c12, 0x0c28,
 0x0c2a, 0x0c39,
@@ -852,9 +916,7 @@ CR_Graph[] = { 618,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c63,
 0x0c66, 0x0c6f,
-0x0c78, 0x0c7f,
-0x0c81, 0x0c83,
-0x0c85, 0x0c8c,
+0x0c78, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
 0x0caa, 0x0cb3,
@@ -867,17 +929,14 @@ CR_Graph[] = { 618,
 0x0ce0, 0x0ce3,
 0x0ce6, 0x0cef,
 0x0cf1, 0x0cf2,
-0x0d01, 0x0d03,
+0x0d00, 0x0d03,
 0x0d05, 0x0d0c,
 0x0d0e, 0x0d10,
-0x0d12, 0x0d3a,
-0x0d3d, 0x0d44,
+0x0d12, 0x0d44,
 0x0d46, 0x0d48,
-0x0d4a, 0x0d4e,
-0x0d57, 0x0d57,
-0x0d5f, 0x0d63,
-0x0d66, 0x0d75,
-0x0d79, 0x0d7f,
+0x0d4a, 0x0d4f,
+0x0d54, 0x0d63,
+0x0d66, 0x0d7f,
 0x0d82, 0x0d83,
 0x0d85, 0x0d96,
 0x0d9a, 0x0db1,
@@ -954,7 +1013,7 @@ CR_Graph[] = { 618,
 0x17f0, 0x17f9,
 0x1800, 0x180e,
 0x1810, 0x1819,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -978,12 +1037,12 @@ CR_Graph[] = { 618,
 0x1b80, 0x1bf3,
 0x1bfc, 0x1c37,
 0x1c3b, 0x1c49,
-0x1c4d, 0x1c7f,
-0x1cc0, 0x1cc7,
-0x1cd0, 0x1cf6,
-0x1cf8, 0x1cf9,
-0x1d00, 0x1df5,
-0x1dfc, 0x1f15,
+0x1c4d, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cc7,
+0x1cd0, 0x1cf9,
+0x1d00, 0x1df9,
+0x1dfb, 0x1f15,
 0x1f18, 0x1f1d,
 0x1f20, 0x1f45,
 0x1f48, 0x1f4d,
@@ -1006,18 +1065,15 @@ CR_Graph[] = { 618,
 0x2066, 0x2071,
 0x2074, 0x208e,
 0x2090, 0x209c,
-0x20a0, 0x20be,
+0x20a0, 0x20bf,
 0x20d0, 0x20f0,
 0x2100, 0x218b,
-0x2190, 0x23fa,
-0x2400, 0x2426,
+0x2190, 0x2426,
 0x2440, 0x244a,
 0x2460, 0x2b73,
 0x2b76, 0x2b95,
-0x2b98, 0x2bb9,
-0x2bbd, 0x2bc8,
-0x2bca, 0x2bd1,
-0x2bec, 0x2bef,
+0x2b98, 0x2bc8,
+0x2bca, 0x2bfe,
 0x2c00, 0x2c2e,
 0x2c30, 0x2c5e,
 0x2c60, 0x2cf3,
@@ -1035,7 +1091,7 @@ CR_Graph[] = { 618,
 0x2dc8, 0x2dce,
 0x2dd0, 0x2dd6,
 0x2dd8, 0x2dde,
-0x2de0, 0x2e42,
+0x2de0, 0x2e4e,
 0x2e80, 0x2e99,
 0x2e9b, 0x2ef3,
 0x2f00, 0x2fd5,
@@ -1043,27 +1099,25 @@ CR_Graph[] = { 618,
 0x3001, 0x303f,
 0x3041, 0x3096,
 0x3099, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x3190, 0x31ba,
 0x31c0, 0x31e3,
 0x31f0, 0x321e,
 0x3220, 0x32fe,
 0x3300, 0x4db5,
-0x4dc0, 0x9fd5,
+0x4dc0, 0x9fef,
 0xa000, 0xa48c,
 0xa490, 0xa4c6,
 0xa4d0, 0xa62b,
 0xa640, 0xa6f7,
-0xa700, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa700, 0xa7b9,
 0xa7f7, 0xa82b,
 0xa830, 0xa839,
 0xa840, 0xa877,
-0xa880, 0xa8c4,
+0xa880, 0xa8c5,
 0xa8ce, 0xa8d9,
-0xa8e0, 0xa8fd,
-0xa900, 0xa953,
+0xa8e0, 0xa953,
 0xa95f, 0xa97c,
 0xa980, 0xa9cd,
 0xa9cf, 0xa9d9,
@@ -1122,7 +1176,7 @@ CR_Graph[] = { 618,
 0x10080, 0x100fa,
 0x10100, 0x10102,
 0x10107, 0x10133,
-0x10137, 0x1018c,
+0x10137, 0x1018e,
 0x10190, 0x1019b,
 0x101a0, 0x101a0,
 0x101d0, 0x101fd,
@@ -1130,13 +1184,15 @@ CR_Graph[] = { 618,
 0x102a0, 0x102d0,
 0x102e0, 0x102fb,
 0x10300, 0x10323,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x1037a,
 0x10380, 0x1039d,
 0x1039f, 0x103c3,
 0x103c8, 0x103d5,
 0x10400, 0x1049d,
 0x104a0, 0x104a9,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x1056f, 0x1056f,
@@ -1162,9 +1218,9 @@ CR_Graph[] = { 618,
 0x10a05, 0x10a06,
 0x10a0c, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a38, 0x10a3a,
-0x10a3f, 0x10a47,
+0x10a3f, 0x10a48,
 0x10a50, 0x10a58,
 0x10a60, 0x10a9f,
 0x10ac0, 0x10ae6,
@@ -1178,21 +1234,25 @@ CR_Graph[] = { 618,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
-0x10cfa, 0x10cff,
+0x10cfa, 0x10d27,
+0x10d30, 0x10d39,
 0x10e60, 0x10e7e,
+0x10f00, 0x10f27,
+0x10f30, 0x10f59,
 0x11000, 0x1104d,
 0x11052, 0x1106f,
 0x1107f, 0x110c1,
+0x110cd, 0x110cd,
 0x110d0, 0x110e8,
 0x110f0, 0x110f9,
 0x11100, 0x11134,
-0x11136, 0x11143,
+0x11136, 0x11146,
 0x11150, 0x11176,
 0x11180, 0x111cd,
 0x111d0, 0x111df,
 0x111e1, 0x111f4,
 0x11200, 0x11211,
-0x11213, 0x1123d,
+0x11213, 0x1123e,
 0x11280, 0x11286,
 0x11288, 0x11288,
 0x1128a, 0x1128d,
@@ -1207,7 +1267,7 @@ CR_Graph[] = { 618,
 0x1132a, 0x11330,
 0x11332, 0x11333,
 0x11335, 0x11339,
-0x1133c, 0x11344,
+0x1133b, 0x11344,
 0x11347, 0x11348,
 0x1134b, 0x1134d,
 0x11350, 0x11350,
@@ -1215,20 +1275,49 @@ CR_Graph[] = { 618,
 0x1135d, 0x11363,
 0x11366, 0x1136c,
 0x11370, 0x11374,
+0x11400, 0x11459,
+0x1145b, 0x1145b,
+0x1145d, 0x1145e,
 0x11480, 0x114c7,
 0x114d0, 0x114d9,
 0x11580, 0x115b5,
 0x115b8, 0x115dd,
 0x11600, 0x11644,
 0x11650, 0x11659,
+0x11660, 0x1166c,
 0x11680, 0x116b7,
 0x116c0, 0x116c9,
-0x11700, 0x11719,
+0x11700, 0x1171a,
 0x1171d, 0x1172b,
 0x11730, 0x1173f,
+0x11800, 0x1183b,
 0x118a0, 0x118f2,
 0x118ff, 0x118ff,
+0x11a00, 0x11a47,
+0x11a50, 0x11a83,
+0x11a86, 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,
 0x12000, 0x12399,
 0x12400, 0x1246e,
 0x12470, 0x12474,
@@ -1246,10 +1335,15 @@ CR_Graph[] = { 618,
 0x16b5b, 0x16b61,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e9a,
 0x16f00, 0x16f44,
 0x16f50, 0x16f7e,
 0x16f8f, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -1259,8 +1353,9 @@ CR_Graph[] = { 618,
 0x1d100, 0x1d126,
 0x1d129, 0x1d1e8,
 0x1d200, 0x1d245,
+0x1d2e0, 0x1d2f3,
 0x1d300, 0x1d356,
-0x1d360, 0x1d371,
+0x1d360, 0x1d378,
 0x1d400, 0x1d454,
 0x1d456, 0x1d49c,
 0x1d49e, 0x1d49f,
@@ -1284,8 +1379,17 @@ CR_Graph[] = { 618,
 0x1d7ce, 0x1da8b,
 0x1da9b, 0x1da9f,
 0x1daa1, 0x1daaf,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e800, 0x1e8c4,
 0x1e8c7, 0x1e8d6,
+0x1e900, 0x1e94a,
+0x1e950, 0x1e959,
+0x1e95e, 0x1e95f,
+0x1ec71, 0x1ecb4,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -1327,32 +1431,38 @@ CR_Graph[] = { 618,
 0x1f0c1, 0x1f0cf,
 0x1f0d1, 0x1f0f5,
 0x1f100, 0x1f10c,
-0x1f110, 0x1f12e,
-0x1f130, 0x1f16b,
-0x1f170, 0x1f19a,
+0x1f110, 0x1f16b,
+0x1f170, 0x1f1ac,
 0x1f1e6, 0x1f202,
-0x1f210, 0x1f23a,
+0x1f210, 0x1f23b,
 0x1f240, 0x1f248,
 0x1f250, 0x1f251,
-0x1f300, 0x1f579,
-0x1f57b, 0x1f5a3,
-0x1f5a5, 0x1f6d0,
+0x1f260, 0x1f265,
+0x1f300, 0x1f6d4,
 0x1f6e0, 0x1f6ec,
-0x1f6f0, 0x1f6f3,
+0x1f6f0, 0x1f6f9,
 0x1f700, 0x1f773,
-0x1f780, 0x1f7d4,
+0x1f780, 0x1f7d8,
 0x1f800, 0x1f80b,
 0x1f810, 0x1f847,
 0x1f850, 0x1f859,
 0x1f860, 0x1f887,
 0x1f890, 0x1f8ad,
-0x1f910, 0x1f918,
-0x1f980, 0x1f984,
-0x1f9c0, 0x1f9c0,
+0x1f900, 0x1f90b,
+0x1f910, 0x1f93e,
+0x1f940, 0x1f970,
+0x1f973, 0x1f976,
+0x1f97a, 0x1f97a,
+0x1f97c, 0x1f9a2,
+0x1f9b0, 0x1f9b9,
+0x1f9c0, 0x1f9c2,
+0x1f9d0, 0x1f9ff,
+0x1fa60, 0x1fa6d,
 0x20000, 0x2a6d6,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 0x2f800, 0x2fa1d,
 0xe0001, 0xe0001,
 0xe0020, 0xe007f,
@@ -1363,7 +1473,7 @@ CR_Graph[] = { 618,
 
 /* PROPERTY: 'Lower': POSIX [[:Lower:]] */
 static const OnigCodePoint
-CR_Lower[] = { 637,
+CR_Lower[] = { 645,
 0x0061, 0x007a,
 0x00aa, 0x00aa,
 0x00b5, 0x00b5,
@@ -1638,8 +1748,11 @@ CR_Lower[] = { 637,
 0x052b, 0x052b,
 0x052d, 0x052d,
 0x052f, 0x052f,
-0x0561, 0x0587,
+0x0560, 0x0588,
+0x10d0, 0x10fa,
+0x10fd, 0x10ff,
 0x13f8, 0x13fd,
+0x1c80, 0x1c88,
 0x1d00, 0x1dbf,
 0x1e01, 0x1e01,
 0x1e03, 0x1e03,
@@ -1961,8 +2074,10 @@ CR_Lower[] = { 637,
 0xa7a5, 0xa7a5,
 0xa7a7, 0xa7a7,
 0xa7a9, 0xa7a9,
+0xa7af, 0xa7af,
 0xa7b5, 0xa7b5,
 0xa7b7, 0xa7b7,
+0xa7b9, 0xa7b9,
 0xa7f8, 0xa7fa,
 0xab30, 0xab5a,
 0xab5c, 0xab65,
@@ -1971,8 +2086,10 @@ CR_Lower[] = { 637,
 0xfb13, 0xfb17,
 0xff41, 0xff5a,
 0x10428, 0x1044f,
+0x104d8, 0x104fb,
 0x10cc0, 0x10cf2,
 0x118c0, 0x118df,
+0x16e60, 0x16e7f,
 0x1d41a, 0x1d433,
 0x1d44e, 0x1d454,
 0x1d456, 0x1d467,
@@ -2001,11 +2118,12 @@ CR_Lower[] = { 637,
 0x1d7aa, 0x1d7c2,
 0x1d7c4, 0x1d7c9,
 0x1d7cb, 0x1d7cb,
+0x1e922, 0x1e943,
 }; /* END of CR_Lower */
 
 /* PROPERTY: 'Print': POSIX [[:Print:]] */
 static const OnigCodePoint
-CR_Print[] = { 615,
+CR_Print[] = { 660,
 0x0020, 0x007e,
 0x00a0, 0x0377,
 0x037a, 0x037f,
@@ -2014,24 +2132,24 @@ CR_Print[] = { 615,
 0x038e, 0x03a1,
 0x03a3, 0x052f,
 0x0531, 0x0556,
-0x0559, 0x055f,
-0x0561, 0x0587,
-0x0589, 0x058a,
+0x0559, 0x058a,
 0x058d, 0x058f,
 0x0591, 0x05c7,
 0x05d0, 0x05ea,
-0x05f0, 0x05f4,
+0x05ef, 0x05f4,
 0x0600, 0x061c,
 0x061e, 0x070d,
 0x070f, 0x074a,
 0x074d, 0x07b1,
 0x07c0, 0x07fa,
-0x0800, 0x082d,
+0x07fd, 0x082d,
 0x0830, 0x083e,
 0x0840, 0x085b,
 0x085e, 0x085e,
+0x0860, 0x086a,
 0x08a0, 0x08b4,
-0x08e3, 0x0983,
+0x08b6, 0x08bd,
+0x08d3, 0x0983,
 0x0985, 0x098c,
 0x098f, 0x0990,
 0x0993, 0x09a8,
@@ -2044,7 +2162,7 @@ CR_Print[] = { 615,
 0x09d7, 0x09d7,
 0x09dc, 0x09dd,
 0x09df, 0x09e3,
-0x09e6, 0x09fb,
+0x09e6, 0x09fe,
 0x0a01, 0x0a03,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
@@ -2060,7 +2178,7 @@ CR_Print[] = { 615,
 0x0a51, 0x0a51,
 0x0a59, 0x0a5c,
 0x0a5e, 0x0a5e,
-0x0a66, 0x0a75,
+0x0a66, 0x0a76,
 0x0a81, 0x0a83,
 0x0a85, 0x0a8d,
 0x0a8f, 0x0a91,
@@ -2074,7 +2192,7 @@ CR_Print[] = { 615,
 0x0ad0, 0x0ad0,
 0x0ae0, 0x0ae3,
 0x0ae6, 0x0af1,
-0x0af9, 0x0af9,
+0x0af9, 0x0aff,
 0x0b01, 0x0b03,
 0x0b05, 0x0b0c,
 0x0b0f, 0x0b10,
@@ -2105,8 +2223,7 @@ CR_Print[] = { 615,
 0x0bd0, 0x0bd0,
 0x0bd7, 0x0bd7,
 0x0be6, 0x0bfa,
-0x0c00, 0x0c03,
-0x0c05, 0x0c0c,
+0x0c00, 0x0c0c,
 0x0c0e, 0x0c10,
 0x0c12, 0x0c28,
 0x0c2a, 0x0c39,
@@ -2117,9 +2234,7 @@ CR_Print[] = { 615,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c63,
 0x0c66, 0x0c6f,
-0x0c78, 0x0c7f,
-0x0c81, 0x0c83,
-0x0c85, 0x0c8c,
+0x0c78, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
 0x0caa, 0x0cb3,
@@ -2132,17 +2247,14 @@ CR_Print[] = { 615,
 0x0ce0, 0x0ce3,
 0x0ce6, 0x0cef,
 0x0cf1, 0x0cf2,
-0x0d01, 0x0d03,
+0x0d00, 0x0d03,
 0x0d05, 0x0d0c,
 0x0d0e, 0x0d10,
-0x0d12, 0x0d3a,
-0x0d3d, 0x0d44,
+0x0d12, 0x0d44,
 0x0d46, 0x0d48,
-0x0d4a, 0x0d4e,
-0x0d57, 0x0d57,
-0x0d5f, 0x0d63,
-0x0d66, 0x0d75,
-0x0d79, 0x0d7f,
+0x0d4a, 0x0d4f,
+0x0d54, 0x0d63,
+0x0d66, 0x0d7f,
 0x0d82, 0x0d83,
 0x0d85, 0x0d96,
 0x0d9a, 0x0db1,
@@ -2218,7 +2330,7 @@ CR_Print[] = { 615,
 0x17f0, 0x17f9,
 0x1800, 0x180e,
 0x1810, 0x1819,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -2242,12 +2354,12 @@ CR_Print[] = { 615,
 0x1b80, 0x1bf3,
 0x1bfc, 0x1c37,
 0x1c3b, 0x1c49,
-0x1c4d, 0x1c7f,
-0x1cc0, 0x1cc7,
-0x1cd0, 0x1cf6,
-0x1cf8, 0x1cf9,
-0x1d00, 0x1df5,
-0x1dfc, 0x1f15,
+0x1c4d, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cc7,
+0x1cd0, 0x1cf9,
+0x1d00, 0x1df9,
+0x1dfb, 0x1f15,
 0x1f18, 0x1f1d,
 0x1f20, 0x1f45,
 0x1f48, 0x1f4d,
@@ -2268,18 +2380,15 @@ CR_Print[] = { 615,
 0x2066, 0x2071,
 0x2074, 0x208e,
 0x2090, 0x209c,
-0x20a0, 0x20be,
+0x20a0, 0x20bf,
 0x20d0, 0x20f0,
 0x2100, 0x218b,
-0x2190, 0x23fa,
-0x2400, 0x2426,
+0x2190, 0x2426,
 0x2440, 0x244a,
 0x2460, 0x2b73,
 0x2b76, 0x2b95,
-0x2b98, 0x2bb9,
-0x2bbd, 0x2bc8,
-0x2bca, 0x2bd1,
-0x2bec, 0x2bef,
+0x2b98, 0x2bc8,
+0x2bca, 0x2bfe,
 0x2c00, 0x2c2e,
 0x2c30, 0x2c5e,
 0x2c60, 0x2cf3,
@@ -2297,7 +2406,7 @@ CR_Print[] = { 615,
 0x2dc8, 0x2dce,
 0x2dd0, 0x2dd6,
 0x2dd8, 0x2dde,
-0x2de0, 0x2e42,
+0x2de0, 0x2e4e,
 0x2e80, 0x2e99,
 0x2e9b, 0x2ef3,
 0x2f00, 0x2fd5,
@@ -2305,27 +2414,25 @@ CR_Print[] = { 615,
 0x3000, 0x303f,
 0x3041, 0x3096,
 0x3099, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x3190, 0x31ba,
 0x31c0, 0x31e3,
 0x31f0, 0x321e,
 0x3220, 0x32fe,
 0x3300, 0x4db5,
-0x4dc0, 0x9fd5,
+0x4dc0, 0x9fef,
 0xa000, 0xa48c,
 0xa490, 0xa4c6,
 0xa4d0, 0xa62b,
 0xa640, 0xa6f7,
-0xa700, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa700, 0xa7b9,
 0xa7f7, 0xa82b,
 0xa830, 0xa839,
 0xa840, 0xa877,
-0xa880, 0xa8c4,
+0xa880, 0xa8c5,
 0xa8ce, 0xa8d9,
-0xa8e0, 0xa8fd,
-0xa900, 0xa953,
+0xa8e0, 0xa953,
 0xa95f, 0xa97c,
 0xa980, 0xa9cd,
 0xa9cf, 0xa9d9,
@@ -2384,7 +2491,7 @@ CR_Print[] = { 615,
 0x10080, 0x100fa,
 0x10100, 0x10102,
 0x10107, 0x10133,
-0x10137, 0x1018c,
+0x10137, 0x1018e,
 0x10190, 0x1019b,
 0x101a0, 0x101a0,
 0x101d0, 0x101fd,
@@ -2392,13 +2499,15 @@ CR_Print[] = { 615,
 0x102a0, 0x102d0,
 0x102e0, 0x102fb,
 0x10300, 0x10323,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x1037a,
 0x10380, 0x1039d,
 0x1039f, 0x103c3,
 0x103c8, 0x103d5,
 0x10400, 0x1049d,
 0x104a0, 0x104a9,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x1056f, 0x1056f,
@@ -2424,9 +2533,9 @@ CR_Print[] = { 615,
 0x10a05, 0x10a06,
 0x10a0c, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a38, 0x10a3a,
-0x10a3f, 0x10a47,
+0x10a3f, 0x10a48,
 0x10a50, 0x10a58,
 0x10a60, 0x10a9f,
 0x10ac0, 0x10ae6,
@@ -2440,21 +2549,25 @@ CR_Print[] = { 615,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
-0x10cfa, 0x10cff,
+0x10cfa, 0x10d27,
+0x10d30, 0x10d39,
 0x10e60, 0x10e7e,
+0x10f00, 0x10f27,
+0x10f30, 0x10f59,
 0x11000, 0x1104d,
 0x11052, 0x1106f,
 0x1107f, 0x110c1,
+0x110cd, 0x110cd,
 0x110d0, 0x110e8,
 0x110f0, 0x110f9,
 0x11100, 0x11134,
-0x11136, 0x11143,
+0x11136, 0x11146,
 0x11150, 0x11176,
 0x11180, 0x111cd,
 0x111d0, 0x111df,
 0x111e1, 0x111f4,
 0x11200, 0x11211,
-0x11213, 0x1123d,
+0x11213, 0x1123e,
 0x11280, 0x11286,
 0x11288, 0x11288,
 0x1128a, 0x1128d,
@@ -2469,7 +2582,7 @@ CR_Print[] = { 615,
 0x1132a, 0x11330,
 0x11332, 0x11333,
 0x11335, 0x11339,
-0x1133c, 0x11344,
+0x1133b, 0x11344,
 0x11347, 0x11348,
 0x1134b, 0x1134d,
 0x11350, 0x11350,
@@ -2477,20 +2590,49 @@ CR_Print[] = { 615,
 0x1135d, 0x11363,
 0x11366, 0x1136c,
 0x11370, 0x11374,
+0x11400, 0x11459,
+0x1145b, 0x1145b,
+0x1145d, 0x1145e,
 0x11480, 0x114c7,
 0x114d0, 0x114d9,
 0x11580, 0x115b5,
 0x115b8, 0x115dd,
 0x11600, 0x11644,
 0x11650, 0x11659,
+0x11660, 0x1166c,
 0x11680, 0x116b7,
 0x116c0, 0x116c9,
-0x11700, 0x11719,
+0x11700, 0x1171a,
 0x1171d, 0x1172b,
 0x11730, 0x1173f,
+0x11800, 0x1183b,
 0x118a0, 0x118f2,
 0x118ff, 0x118ff,
+0x11a00, 0x11a47,
+0x11a50, 0x11a83,
+0x11a86, 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,
 0x12000, 0x12399,
 0x12400, 0x1246e,
 0x12470, 0x12474,
@@ -2508,10 +2650,15 @@ CR_Print[] = { 615,
 0x16b5b, 0x16b61,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e9a,
 0x16f00, 0x16f44,
 0x16f50, 0x16f7e,
 0x16f8f, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -2521,8 +2668,9 @@ CR_Print[] = { 615,
 0x1d100, 0x1d126,
 0x1d129, 0x1d1e8,
 0x1d200, 0x1d245,
+0x1d2e0, 0x1d2f3,
 0x1d300, 0x1d356,
-0x1d360, 0x1d371,
+0x1d360, 0x1d378,
 0x1d400, 0x1d454,
 0x1d456, 0x1d49c,
 0x1d49e, 0x1d49f,
@@ -2546,8 +2694,17 @@ CR_Print[] = { 615,
 0x1d7ce, 0x1da8b,
 0x1da9b, 0x1da9f,
 0x1daa1, 0x1daaf,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e800, 0x1e8c4,
 0x1e8c7, 0x1e8d6,
+0x1e900, 0x1e94a,
+0x1e950, 0x1e959,
+0x1e95e, 0x1e95f,
+0x1ec71, 0x1ecb4,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -2589,32 +2746,38 @@ CR_Print[] = { 615,
 0x1f0c1, 0x1f0cf,
 0x1f0d1, 0x1f0f5,
 0x1f100, 0x1f10c,
-0x1f110, 0x1f12e,
-0x1f130, 0x1f16b,
-0x1f170, 0x1f19a,
+0x1f110, 0x1f16b,
+0x1f170, 0x1f1ac,
 0x1f1e6, 0x1f202,
-0x1f210, 0x1f23a,
+0x1f210, 0x1f23b,
 0x1f240, 0x1f248,
 0x1f250, 0x1f251,
-0x1f300, 0x1f579,
-0x1f57b, 0x1f5a3,
-0x1f5a5, 0x1f6d0,
+0x1f260, 0x1f265,
+0x1f300, 0x1f6d4,
 0x1f6e0, 0x1f6ec,
-0x1f6f0, 0x1f6f3,
+0x1f6f0, 0x1f6f9,
 0x1f700, 0x1f773,
-0x1f780, 0x1f7d4,
+0x1f780, 0x1f7d8,
 0x1f800, 0x1f80b,
 0x1f810, 0x1f847,
 0x1f850, 0x1f859,
 0x1f860, 0x1f887,
 0x1f890, 0x1f8ad,
-0x1f910, 0x1f918,
-0x1f980, 0x1f984,
-0x1f9c0, 0x1f9c0,
+0x1f900, 0x1f90b,
+0x1f910, 0x1f93e,
+0x1f940, 0x1f970,
+0x1f973, 0x1f976,
+0x1f97a, 0x1f97a,
+0x1f97c, 0x1f9a2,
+0x1f9b0, 0x1f9b9,
+0x1f9c0, 0x1f9c2,
+0x1f9d0, 0x1f9ff,
+0x1fa60, 0x1fa6d,
 0x20000, 0x2a6d6,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 0x2f800, 0x2fa1d,
 0xe0001, 0xe0001,
 0xe0020, 0xe007f,
@@ -2625,7 +2788,7 @@ CR_Print[] = { 615,
 
 /* PROPERTY: 'Punct': POSIX [[:Punct:]] */
 static const OnigCodePoint
-CR_Punct[] = { 161,
+CR_Punct[] = { 178,
 0x0021, 0x0023,
 0x0025, 0x002a,
 0x002c, 0x002f,
@@ -2662,7 +2825,10 @@ CR_Punct[] = { 161,
 0x085e, 0x085e,
 0x0964, 0x0965,
 0x0970, 0x0970,
+0x09fd, 0x09fd,
+0x0a76, 0x0a76,
 0x0af0, 0x0af0,
+0x0c84, 0x0c84,
 0x0df4, 0x0df4,
 0x0e4f, 0x0e4f,
 0x0e5a, 0x0e5b,
@@ -2711,7 +2877,7 @@ CR_Punct[] = { 161,
 0x2cfe, 0x2cff,
 0x2d70, 0x2d70,
 0x2e00, 0x2e2e,
-0x2e30, 0x2e42,
+0x2e30, 0x2e4e,
 0x3001, 0x3003,
 0x3008, 0x3011,
 0x3014, 0x301f,
@@ -2765,28 +2931,42 @@ CR_Punct[] = { 161,
 0x10af0, 0x10af6,
 0x10b39, 0x10b3f,
 0x10b99, 0x10b9c,
+0x10f55, 0x10f59,
 0x11047, 0x1104d,
 0x110bb, 0x110bc,
 0x110be, 0x110c1,
 0x11140, 0x11143,
 0x11174, 0x11175,
-0x111c5, 0x111c9,
+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,
+0x11a3f, 0x11a46,
+0x11a9a, 0x11a9c,
+0x11a9e, 0x11aa2,
+0x11c41, 0x11c45,
+0x11c70, 0x11c71,
+0x11ef7, 0x11ef8,
 0x12470, 0x12474,
 0x16a6e, 0x16a6f,
 0x16af5, 0x16af5,
 0x16b37, 0x16b3b,
 0x16b44, 0x16b44,
+0x16e97, 0x16e9a,
 0x1bc9f, 0x1bc9f,
 0x1da87, 0x1da8b,
+0x1e95e, 0x1e95f,
 }; /* END of CR_Punct */
 
 /* PROPERTY: 'Space': POSIX [[:Space:]] */
@@ -2806,7 +2986,7 @@ CR_Space[] = { 10,
 
 /* PROPERTY: 'Upper': POSIX [[:Upper:]] */
 static const OnigCodePoint
-CR_Upper[] = { 630,
+CR_Upper[] = { 636,
 0x0041, 0x005a,
 0x00c0, 0x00d6,
 0x00d8, 0x00de,
@@ -3083,6 +3263,8 @@ CR_Upper[] = { 630,
 0x10c7, 0x10c7,
 0x10cd, 0x10cd,
 0x13a0, 0x13f5,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1e00, 0x1e00,
 0x1e02, 0x1e02,
 0x1e04, 0x1e04,
@@ -3396,13 +3578,16 @@ CR_Upper[] = { 630,
 0xa7a4, 0xa7a4,
 0xa7a6, 0xa7a6,
 0xa7a8, 0xa7a8,
-0xa7aa, 0xa7ad,
+0xa7aa, 0xa7ae,
 0xa7b0, 0xa7b4,
 0xa7b6, 0xa7b6,
+0xa7b8, 0xa7b8,
 0xff21, 0xff3a,
 0x10400, 0x10427,
+0x104b0, 0x104d3,
 0x10c80, 0x10cb2,
 0x118a0, 0x118bf,
+0x16e40, 0x16e5f,
 0x1d400, 0x1d419,
 0x1d434, 0x1d44d,
 0x1d468, 0x1d481,
@@ -3434,6 +3619,7 @@ CR_Upper[] = { 630,
 0x1d756, 0x1d76e,
 0x1d790, 0x1d7a8,
 0x1d7ca, 0x1d7ca,
+0x1e900, 0x1e921,
 0x1f130, 0x1f149,
 0x1f150, 0x1f169,
 0x1f170, 0x1f189,
@@ -3449,7 +3635,7 @@ CR_XDigit[] = { 3,
 
 /* PROPERTY: 'Word': POSIX [[:Word:]] */
 static const OnigCodePoint
-CR_Word[] = { 654,
+CR_Word[] = { 710,
 0x0030, 0x0039,
 0x0041, 0x005a,
 0x005f, 0x005f,
@@ -3477,14 +3663,14 @@ CR_Word[] = { 654,
 0x0483, 0x052f,
 0x0531, 0x0556,
 0x0559, 0x0559,
-0x0561, 0x0587,
+0x0560, 0x0588,
 0x0591, 0x05bd,
 0x05bf, 0x05bf,
 0x05c1, 0x05c2,
 0x05c4, 0x05c5,
 0x05c7, 0x05c7,
 0x05d0, 0x05ea,
-0x05f0, 0x05f2,
+0x05ef, 0x05f2,
 0x0610, 0x061a,
 0x0620, 0x0669,
 0x066e, 0x06d3,
@@ -3496,9 +3682,13 @@ CR_Word[] = { 654,
 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,
@@ -3515,6 +3705,8 @@ CR_Word[] = { 654,
 0x09dc, 0x09dd,
 0x09df, 0x09e3,
 0x09e6, 0x09f1,
+0x09fc, 0x09fc,
+0x09fe, 0x09fe,
 0x0a01, 0x0a03,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
@@ -3544,7 +3736,7 @@ CR_Word[] = { 654,
 0x0ad0, 0x0ad0,
 0x0ae0, 0x0ae3,
 0x0ae6, 0x0aef,
-0x0af9, 0x0af9,
+0x0af9, 0x0aff,
 0x0b01, 0x0b03,
 0x0b05, 0x0b0c,
 0x0b0f, 0x0b10,
@@ -3576,8 +3768,7 @@ CR_Word[] = { 654,
 0x0bd0, 0x0bd0,
 0x0bd7, 0x0bd7,
 0x0be6, 0x0bef,
-0x0c00, 0x0c03,
-0x0c05, 0x0c0c,
+0x0c00, 0x0c0c,
 0x0c0e, 0x0c10,
 0x0c12, 0x0c28,
 0x0c2a, 0x0c39,
@@ -3588,7 +3779,7 @@ CR_Word[] = { 654,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c63,
 0x0c66, 0x0c6f,
-0x0c81, 0x0c83,
+0x0c80, 0x0c83,
 0x0c85, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
@@ -3602,14 +3793,13 @@ CR_Word[] = { 654,
 0x0ce0, 0x0ce3,
 0x0ce6, 0x0cef,
 0x0cf1, 0x0cf2,
-0x0d01, 0x0d03,
+0x0d00, 0x0d03,
 0x0d05, 0x0d0c,
 0x0d0e, 0x0d10,
-0x0d12, 0x0d3a,
-0x0d3d, 0x0d44,
+0x0d12, 0x0d44,
 0x0d46, 0x0d48,
 0x0d4a, 0x0d4e,
-0x0d57, 0x0d57,
+0x0d54, 0x0d57,
 0x0d5f, 0x0d63,
 0x0d66, 0x0d6f,
 0x0d7a, 0x0d7f,
@@ -3702,7 +3892,7 @@ CR_Word[] = { 654,
 0x17e0, 0x17e9,
 0x180b, 0x180d,
 0x1810, 0x1819,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -3727,11 +3917,13 @@ CR_Word[] = { 654,
 0x1c00, 0x1c37,
 0x1c40, 0x1c49,
 0x1c4d, 0x1c7d,
+0x1c80, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1cd0, 0x1cd2,
-0x1cd4, 0x1cf6,
-0x1cf8, 0x1cf9,
-0x1d00, 0x1df5,
-0x1dfc, 0x1f15,
+0x1cd4, 0x1cf9,
+0x1d00, 0x1df9,
+0x1dfb, 0x1f15,
 0x1f18, 0x1f1d,
 0x1f20, 0x1f45,
 0x1f48, 0x1f4d,
@@ -3800,12 +3992,12 @@ CR_Word[] = { 654,
 0x309d, 0x309f,
 0x30a1, 0x30fa,
 0x30fc, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x31a0, 0x31ba,
 0x31f0, 0x31ff,
 0x3400, 0x4db5,
-0x4e00, 0x9fd5,
+0x4e00, 0x9fef,
 0xa000, 0xa48c,
 0xa4d0, 0xa4fd,
 0xa500, 0xa60c,
@@ -3815,16 +4007,14 @@ CR_Word[] = { 654,
 0xa67f, 0xa6f1,
 0xa717, 0xa71f,
 0xa722, 0xa788,
-0xa78b, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa78b, 0xa7b9,
 0xa7f7, 0xa827,
 0xa840, 0xa873,
-0xa880, 0xa8c4,
+0xa880, 0xa8c5,
 0xa8d0, 0xa8d9,
 0xa8e0, 0xa8f7,
 0xa8fb, 0xa8fb,
-0xa8fd, 0xa8fd,
-0xa900, 0xa92d,
+0xa8fd, 0xa92d,
 0xa930, 0xa953,
 0xa960, 0xa97c,
 0xa980, 0xa9c0,
@@ -3894,7 +4084,7 @@ CR_Word[] = { 654,
 0x102a0, 0x102d0,
 0x102e0, 0x102e0,
 0x10300, 0x1031f,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x1037a,
 0x10380, 0x1039d,
 0x103a0, 0x103c3,
@@ -3902,6 +4092,8 @@ CR_Word[] = { 654,
 0x103d1, 0x103d5,
 0x10400, 0x1049d,
 0x104a0, 0x104a9,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x10600, 0x10736,
@@ -3925,7 +4117,7 @@ CR_Word[] = { 654,
 0x10a05, 0x10a06,
 0x10a0c, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a38, 0x10a3a,
 0x10a3f, 0x10a3f,
 0x10a60, 0x10a7c,
@@ -3939,6 +4131,11 @@ CR_Word[] = { 654,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
+0x10d00, 0x10d27,
+0x10d30, 0x10d39,
+0x10f00, 0x10f1c,
+0x10f27, 0x10f27,
+0x10f30, 0x10f50,
 0x11000, 0x11046,
 0x11066, 0x1106f,
 0x1107f, 0x110ba,
@@ -3946,14 +4143,16 @@ CR_Word[] = { 654,
 0x110f0, 0x110f9,
 0x11100, 0x11134,
 0x11136, 0x1113f,
+0x11144, 0x11146,
 0x11150, 0x11173,
 0x11176, 0x11176,
 0x11180, 0x111c4,
-0x111ca, 0x111cc,
+0x111c9, 0x111cc,
 0x111d0, 0x111da,
 0x111dc, 0x111dc,
 0x11200, 0x11211,
 0x11213, 0x11237,
+0x1123e, 0x1123e,
 0x11280, 0x11286,
 0x11288, 0x11288,
 0x1128a, 0x1128d,
@@ -3968,7 +4167,7 @@ CR_Word[] = { 654,
 0x1132a, 0x11330,
 0x11332, 0x11333,
 0x11335, 0x11339,
-0x1133c, 0x11344,
+0x1133b, 0x11344,
 0x11347, 0x11348,
 0x1134b, 0x1134d,
 0x11350, 0x11350,
@@ -3976,6 +4175,9 @@ CR_Word[] = { 654,
 0x1135d, 0x11363,
 0x11366, 0x1136c,
 0x11370, 0x11374,
+0x11400, 0x1144a,
+0x11450, 0x11459,
+0x1145e, 0x1145e,
 0x11480, 0x114c5,
 0x114c7, 0x114c7,
 0x114d0, 0x114d9,
@@ -3987,12 +4189,39 @@ CR_Word[] = { 654,
 0x11650, 0x11659,
 0x11680, 0x116b7,
 0x116c0, 0x116c9,
-0x11700, 0x11719,
+0x11700, 0x1171a,
 0x1171d, 0x1172b,
 0x11730, 0x11739,
+0x11800, 0x1183a,
 0x118a0, 0x118e9,
 0x118ff, 0x118ff,
+0x11a00, 0x11a3e,
+0x11a47, 0x11a47,
+0x11a50, 0x11a83,
+0x11a86, 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,
@@ -4008,10 +4237,15 @@ CR_Word[] = { 654,
 0x16b50, 0x16b59,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e7f,
 0x16f00, 0x16f44,
 0x16f50, 0x16f7e,
 0x16f8f, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -4060,8 +4294,15 @@ CR_Word[] = { 654,
 0x1da84, 0x1da84,
 0x1da9b, 0x1da9f,
 0x1daa1, 0x1daaf,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e800, 0x1e8c4,
 0x1e8d0, 0x1e8d6,
+0x1e900, 0x1e94a,
+0x1e950, 0x1e959,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -4102,13 +4343,14 @@ CR_Word[] = { 654,
 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[] = { 648,
+CR_Alnum[] = { 713,
 0x0030, 0x0039,
 0x0041, 0x005a,
 0x0061, 0x007a,
@@ -4136,14 +4378,14 @@ CR_Alnum[] = { 648,
 0x048a, 0x052f,
 0x0531, 0x0556,
 0x0559, 0x0559,
-0x0561, 0x0587,
+0x0560, 0x0588,
 0x05b0, 0x05bd,
 0x05bf, 0x05bf,
 0x05c1, 0x05c2,
 0x05c4, 0x05c5,
 0x05c7, 0x05c7,
 0x05d0, 0x05ea,
-0x05f0, 0x05f2,
+0x05ef, 0x05f2,
 0x0610, 0x061a,
 0x0620, 0x0657,
 0x0659, 0x0669,
@@ -4160,7 +4402,10 @@ CR_Alnum[] = { 648,
 0x0800, 0x0817,
 0x081a, 0x082c,
 0x0840, 0x0858,
+0x0860, 0x086a,
 0x08a0, 0x08b4,
+0x08b6, 0x08bd,
+0x08d4, 0x08df,
 0x08e3, 0x08e9,
 0x08f0, 0x093b,
 0x093d, 0x094c,
@@ -4182,6 +4427,7 @@ CR_Alnum[] = { 648,
 0x09dc, 0x09dd,
 0x09df, 0x09e3,
 0x09e6, 0x09f1,
+0x09fc, 0x09fc,
 0x0a01, 0x0a03,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
@@ -4210,7 +4456,7 @@ CR_Alnum[] = { 648,
 0x0ad0, 0x0ad0,
 0x0ae0, 0x0ae3,
 0x0ae6, 0x0aef,
-0x0af9, 0x0af9,
+0x0af9, 0x0afc,
 0x0b01, 0x0b03,
 0x0b05, 0x0b0c,
 0x0b0f, 0x0b10,
@@ -4254,7 +4500,7 @@ CR_Alnum[] = { 648,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c63,
 0x0c66, 0x0c6f,
-0x0c81, 0x0c83,
+0x0c80, 0x0c83,
 0x0c85, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
@@ -4268,7 +4514,7 @@ CR_Alnum[] = { 648,
 0x0ce0, 0x0ce3,
 0x0ce6, 0x0cef,
 0x0cf1, 0x0cf2,
-0x0d01, 0x0d03,
+0x0d00, 0x0d03,
 0x0d05, 0x0d0c,
 0x0d0e, 0x0d10,
 0x0d12, 0x0d3a,
@@ -4276,7 +4522,7 @@ CR_Alnum[] = { 648,
 0x0d46, 0x0d48,
 0x0d4a, 0x0d4c,
 0x0d4e, 0x0d4e,
-0x0d57, 0x0d57,
+0x0d54, 0x0d57,
 0x0d5f, 0x0d63,
 0x0d66, 0x0d6f,
 0x0d7a, 0x0d7f,
@@ -4371,7 +4617,7 @@ CR_Alnum[] = { 648,
 0x17dc, 0x17dc,
 0x17e0, 0x17e9,
 0x1810, 0x1819,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -4398,6 +4644,9 @@ CR_Alnum[] = { 648,
 0x1c00, 0x1c35,
 0x1c40, 0x1c49,
 0x1c4d, 0x1c7d,
+0x1c80, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1ce9, 0x1cec,
 0x1cee, 0x1cf3,
 0x1cf5, 0x1cf6,
@@ -4469,12 +4718,12 @@ CR_Alnum[] = { 648,
 0x309d, 0x309f,
 0x30a1, 0x30fa,
 0x30fc, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x31a0, 0x31ba,
 0x31f0, 0x31ff,
 0x3400, 0x4db5,
-0x4e00, 0x9fd5,
+0x4e00, 0x9fef,
 0xa000, 0xa48c,
 0xa4d0, 0xa4fd,
 0xa500, 0xa60c,
@@ -4484,18 +4733,18 @@ CR_Alnum[] = { 648,
 0xa67f, 0xa6ef,
 0xa717, 0xa71f,
 0xa722, 0xa788,
-0xa78b, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa78b, 0xa7b9,
 0xa7f7, 0xa801,
 0xa803, 0xa805,
 0xa807, 0xa80a,
 0xa80c, 0xa827,
 0xa840, 0xa873,
 0xa880, 0xa8c3,
+0xa8c5, 0xa8c5,
 0xa8d0, 0xa8d9,
 0xa8f2, 0xa8f7,
 0xa8fb, 0xa8fb,
-0xa8fd, 0xa8fd,
+0xa8fd, 0xa8fe,
 0xa900, 0xa92a,
 0xa930, 0xa952,
 0xa960, 0xa97c,
@@ -4563,7 +4812,7 @@ CR_Alnum[] = { 648,
 0x10280, 0x1029c,
 0x102a0, 0x102d0,
 0x10300, 0x1031f,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x1037a,
 0x10380, 0x1039d,
 0x103a0, 0x103c3,
@@ -4571,6 +4820,8 @@ CR_Alnum[] = { 648,
 0x103d1, 0x103d5,
 0x10400, 0x1049d,
 0x104a0, 0x104a9,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x10600, 0x10736,
@@ -4594,7 +4845,7 @@ CR_Alnum[] = { 648,
 0x10a05, 0x10a06,
 0x10a0c, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a60, 0x10a7c,
 0x10a80, 0x10a9c,
 0x10ac0, 0x10ac7,
@@ -4606,6 +4857,11 @@ CR_Alnum[] = { 648,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
+0x10d00, 0x10d27,
+0x10d30, 0x10d39,
+0x10f00, 0x10f1c,
+0x10f27, 0x10f27,
+0x10f30, 0x10f45,
 0x11000, 0x11045,
 0x11066, 0x1106f,
 0x11082, 0x110b8,
@@ -4613,6 +4869,7 @@ CR_Alnum[] = { 648,
 0x110f0, 0x110f9,
 0x11100, 0x11132,
 0x11136, 0x1113f,
+0x11144, 0x11146,
 0x11150, 0x11172,
 0x11176, 0x11176,
 0x11180, 0x111bf,
@@ -4622,6 +4879,7 @@ CR_Alnum[] = { 648,
 0x11200, 0x11211,
 0x11213, 0x11234,
 0x11237, 0x11237,
+0x1123e, 0x1123e,
 0x11280, 0x11286,
 0x11288, 0x11288,
 0x1128a, 0x1128d,
@@ -4642,6 +4900,10 @@ CR_Alnum[] = { 648,
 0x11350, 0x11350,
 0x11357, 0x11357,
 0x1135d, 0x11363,
+0x11400, 0x11441,
+0x11443, 0x11445,
+0x11447, 0x1144a,
+0x11450, 0x11459,
 0x11480, 0x114c1,
 0x114c4, 0x114c5,
 0x114c7, 0x114c7,
@@ -4655,12 +4917,43 @@ CR_Alnum[] = { 648,
 0x11650, 0x11659,
 0x11680, 0x116b5,
 0x116c0, 0x116c9,
-0x11700, 0x11719,
+0x11700, 0x1171a,
 0x1171d, 0x1172a,
 0x11730, 0x11739,
+0x11800, 0x11838,
 0x118a0, 0x118e9,
 0x118ff, 0x118ff,
+0x11a00, 0x11a32,
+0x11a35, 0x11a3e,
+0x11a50, 0x11a83,
+0x11a86, 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,
@@ -4675,10 +4968,15 @@ CR_Alnum[] = { 648,
 0x16b50, 0x16b59,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e7f,
 0x16f00, 0x16f44,
 0x16f50, 0x16f7e,
 0x16f93, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -4715,7 +5013,15 @@ CR_Alnum[] = { 648,
 0x1d7aa, 0x1d7c2,
 0x1d7c4, 0x1d7cb,
 0x1d7ce, 0x1d7ff,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e800, 0x1e8c4,
+0x1e900, 0x1e943,
+0x1e947, 0x1e947,
+0x1e950, 0x1e959,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -4756,6 +5062,7 @@ CR_Alnum[] = { 648,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 0x2f800, 0x2fa1d,
 }; /* END of CR_Alnum */
 
@@ -4769,10 +5076,18 @@ CR_ASCII[] = { 1,
 /* PROPERTY: 'ASCII_Hex_Digit': Binary Property */
 #define CR_ASCII_Hex_Digit CR_XDigit
 
+/* PROPERTY: 'Adlam': Script */
+static const OnigCodePoint
+CR_Adlam[] = { 3,
+0x1e900, 0x1e94a,
+0x1e950, 0x1e959,
+0x1e95e, 0x1e95f,
+}; /* END of CR_Adlam */
+
 /* PROPERTY: 'Ahom': Script */
 static const OnigCodePoint
 CR_Ahom[] = { 3,
-0x11700, 0x11719,
+0x11700, 0x1171a,
 0x1171d, 0x1172b,
 0x11730, 0x1173f,
 }; /* END of CR_Ahom */
@@ -4794,10 +5109,11 @@ CR_Any[] = { 1,
 
 /* PROPERTY: 'Arabic': Script */
 static const OnigCodePoint
-CR_Arabic[] = { 54,
+CR_Arabic[] = { 57,
 0x0600, 0x0604,
 0x0606, 0x060b,
 0x060d, 0x061a,
+0x061c, 0x061c,
 0x061e, 0x061e,
 0x0620, 0x063f,
 0x0641, 0x064a,
@@ -4806,6 +5122,8 @@ CR_Arabic[] = { 54,
 0x06de, 0x06ff,
 0x0750, 0x077f,
 0x08a0, 0x08b4,
+0x08b6, 0x08bd,
+0x08d3, 0x08e1,
 0x08e3, 0x08ff,
 0xfb50, 0xfbc1,
 0xfbd3, 0xfd3d,
@@ -4853,10 +5171,9 @@ CR_Arabic[] = { 54,
 
 /* PROPERTY: 'Armenian': Script */
 static const OnigCodePoint
-CR_Armenian[] = { 6,
+CR_Armenian[] = { 5,
 0x0531, 0x0556,
-0x0559, 0x055f,
-0x0561, 0x0587,
+0x0559, 0x0588,
 0x058a, 0x058a,
 0x058d, 0x058f,
 0xfb13, 0xfb17,
@@ -4864,7 +5181,7 @@ CR_Armenian[] = { 6,
 
 /* PROPERTY: 'Assigned': - */
 static const OnigCodePoint
-CR_Assigned[] = { 613,
+CR_Assigned[] = { 658,
 0x0000, 0x0377,
 0x037a, 0x037f,
 0x0384, 0x038a,
@@ -4872,24 +5189,24 @@ CR_Assigned[] = { 613,
 0x038e, 0x03a1,
 0x03a3, 0x052f,
 0x0531, 0x0556,
-0x0559, 0x055f,
-0x0561, 0x0587,
-0x0589, 0x058a,
+0x0559, 0x058a,
 0x058d, 0x058f,
 0x0591, 0x05c7,
 0x05d0, 0x05ea,
-0x05f0, 0x05f4,
+0x05ef, 0x05f4,
 0x0600, 0x061c,
 0x061e, 0x070d,
 0x070f, 0x074a,
 0x074d, 0x07b1,
 0x07c0, 0x07fa,
-0x0800, 0x082d,
+0x07fd, 0x082d,
 0x0830, 0x083e,
 0x0840, 0x085b,
 0x085e, 0x085e,
+0x0860, 0x086a,
 0x08a0, 0x08b4,
-0x08e3, 0x0983,
+0x08b6, 0x08bd,
+0x08d3, 0x0983,
 0x0985, 0x098c,
 0x098f, 0x0990,
 0x0993, 0x09a8,
@@ -4902,7 +5219,7 @@ CR_Assigned[] = { 613,
 0x09d7, 0x09d7,
 0x09dc, 0x09dd,
 0x09df, 0x09e3,
-0x09e6, 0x09fb,
+0x09e6, 0x09fe,
 0x0a01, 0x0a03,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
@@ -4918,7 +5235,7 @@ CR_Assigned[] = { 613,
 0x0a51, 0x0a51,
 0x0a59, 0x0a5c,
 0x0a5e, 0x0a5e,
-0x0a66, 0x0a75,
+0x0a66, 0x0a76,
 0x0a81, 0x0a83,
 0x0a85, 0x0a8d,
 0x0a8f, 0x0a91,
@@ -4932,7 +5249,7 @@ CR_Assigned[] = { 613,
 0x0ad0, 0x0ad0,
 0x0ae0, 0x0ae3,
 0x0ae6, 0x0af1,
-0x0af9, 0x0af9,
+0x0af9, 0x0aff,
 0x0b01, 0x0b03,
 0x0b05, 0x0b0c,
 0x0b0f, 0x0b10,
@@ -4963,8 +5280,7 @@ CR_Assigned[] = { 613,
 0x0bd0, 0x0bd0,
 0x0bd7, 0x0bd7,
 0x0be6, 0x0bfa,
-0x0c00, 0x0c03,
-0x0c05, 0x0c0c,
+0x0c00, 0x0c0c,
 0x0c0e, 0x0c10,
 0x0c12, 0x0c28,
 0x0c2a, 0x0c39,
@@ -4975,9 +5291,7 @@ CR_Assigned[] = { 613,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c63,
 0x0c66, 0x0c6f,
-0x0c78, 0x0c7f,
-0x0c81, 0x0c83,
-0x0c85, 0x0c8c,
+0x0c78, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
 0x0caa, 0x0cb3,
@@ -4990,17 +5304,14 @@ CR_Assigned[] = { 613,
 0x0ce0, 0x0ce3,
 0x0ce6, 0x0cef,
 0x0cf1, 0x0cf2,
-0x0d01, 0x0d03,
+0x0d00, 0x0d03,
 0x0d05, 0x0d0c,
 0x0d0e, 0x0d10,
-0x0d12, 0x0d3a,
-0x0d3d, 0x0d44,
+0x0d12, 0x0d44,
 0x0d46, 0x0d48,
-0x0d4a, 0x0d4e,
-0x0d57, 0x0d57,
-0x0d5f, 0x0d63,
-0x0d66, 0x0d75,
-0x0d79, 0x0d7f,
+0x0d4a, 0x0d4f,
+0x0d54, 0x0d63,
+0x0d66, 0x0d7f,
 0x0d82, 0x0d83,
 0x0d85, 0x0d96,
 0x0d9a, 0x0db1,
@@ -5076,7 +5387,7 @@ CR_Assigned[] = { 613,
 0x17f0, 0x17f9,
 0x1800, 0x180e,
 0x1810, 0x1819,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -5100,12 +5411,12 @@ CR_Assigned[] = { 613,
 0x1b80, 0x1bf3,
 0x1bfc, 0x1c37,
 0x1c3b, 0x1c49,
-0x1c4d, 0x1c7f,
-0x1cc0, 0x1cc7,
-0x1cd0, 0x1cf6,
-0x1cf8, 0x1cf9,
-0x1d00, 0x1df5,
-0x1dfc, 0x1f15,
+0x1c4d, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cc7,
+0x1cd0, 0x1cf9,
+0x1d00, 0x1df9,
+0x1dfb, 0x1f15,
 0x1f18, 0x1f1d,
 0x1f20, 0x1f45,
 0x1f48, 0x1f4d,
@@ -5125,18 +5436,15 @@ CR_Assigned[] = { 613,
 0x2066, 0x2071,
 0x2074, 0x208e,
 0x2090, 0x209c,
-0x20a0, 0x20be,
+0x20a0, 0x20bf,
 0x20d0, 0x20f0,
 0x2100, 0x218b,
-0x2190, 0x23fa,
-0x2400, 0x2426,
+0x2190, 0x2426,
 0x2440, 0x244a,
 0x2460, 0x2b73,
 0x2b76, 0x2b95,
-0x2b98, 0x2bb9,
-0x2bbd, 0x2bc8,
-0x2bca, 0x2bd1,
-0x2bec, 0x2bef,
+0x2b98, 0x2bc8,
+0x2bca, 0x2bfe,
 0x2c00, 0x2c2e,
 0x2c30, 0x2c5e,
 0x2c60, 0x2cf3,
@@ -5154,7 +5462,7 @@ CR_Assigned[] = { 613,
 0x2dc8, 0x2dce,
 0x2dd0, 0x2dd6,
 0x2dd8, 0x2dde,
-0x2de0, 0x2e42,
+0x2de0, 0x2e4e,
 0x2e80, 0x2e99,
 0x2e9b, 0x2ef3,
 0x2f00, 0x2fd5,
@@ -5162,27 +5470,25 @@ CR_Assigned[] = { 613,
 0x3000, 0x303f,
 0x3041, 0x3096,
 0x3099, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x3190, 0x31ba,
 0x31c0, 0x31e3,
 0x31f0, 0x321e,
 0x3220, 0x32fe,
 0x3300, 0x4db5,
-0x4dc0, 0x9fd5,
+0x4dc0, 0x9fef,
 0xa000, 0xa48c,
 0xa490, 0xa4c6,
 0xa4d0, 0xa62b,
 0xa640, 0xa6f7,
-0xa700, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa700, 0xa7b9,
 0xa7f7, 0xa82b,
 0xa830, 0xa839,
 0xa840, 0xa877,
-0xa880, 0xa8c4,
+0xa880, 0xa8c5,
 0xa8ce, 0xa8d9,
-0xa8e0, 0xa8fd,
-0xa900, 0xa953,
+0xa8e0, 0xa953,
 0xa95f, 0xa97c,
 0xa980, 0xa9cd,
 0xa9cf, 0xa9d9,
@@ -5241,7 +5547,7 @@ CR_Assigned[] = { 613,
 0x10080, 0x100fa,
 0x10100, 0x10102,
 0x10107, 0x10133,
-0x10137, 0x1018c,
+0x10137, 0x1018e,
 0x10190, 0x1019b,
 0x101a0, 0x101a0,
 0x101d0, 0x101fd,
@@ -5249,13 +5555,15 @@ CR_Assigned[] = { 613,
 0x102a0, 0x102d0,
 0x102e0, 0x102fb,
 0x10300, 0x10323,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x1037a,
 0x10380, 0x1039d,
 0x1039f, 0x103c3,
 0x103c8, 0x103d5,
 0x10400, 0x1049d,
 0x104a0, 0x104a9,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x1056f, 0x1056f,
@@ -5281,9 +5589,9 @@ CR_Assigned[] = { 613,
 0x10a05, 0x10a06,
 0x10a0c, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a38, 0x10a3a,
-0x10a3f, 0x10a47,
+0x10a3f, 0x10a48,
 0x10a50, 0x10a58,
 0x10a60, 0x10a9f,
 0x10ac0, 0x10ae6,
@@ -5297,21 +5605,25 @@ CR_Assigned[] = { 613,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
-0x10cfa, 0x10cff,
+0x10cfa, 0x10d27,
+0x10d30, 0x10d39,
 0x10e60, 0x10e7e,
+0x10f00, 0x10f27,
+0x10f30, 0x10f59,
 0x11000, 0x1104d,
 0x11052, 0x1106f,
 0x1107f, 0x110c1,
+0x110cd, 0x110cd,
 0x110d0, 0x110e8,
 0x110f0, 0x110f9,
 0x11100, 0x11134,
-0x11136, 0x11143,
+0x11136, 0x11146,
 0x11150, 0x11176,
 0x11180, 0x111cd,
 0x111d0, 0x111df,
 0x111e1, 0x111f4,
 0x11200, 0x11211,
-0x11213, 0x1123d,
+0x11213, 0x1123e,
 0x11280, 0x11286,
 0x11288, 0x11288,
 0x1128a, 0x1128d,
@@ -5326,7 +5638,7 @@ CR_Assigned[] = { 613,
 0x1132a, 0x11330,
 0x11332, 0x11333,
 0x11335, 0x11339,
-0x1133c, 0x11344,
+0x1133b, 0x11344,
 0x11347, 0x11348,
 0x1134b, 0x1134d,
 0x11350, 0x11350,
@@ -5334,20 +5646,49 @@ CR_Assigned[] = { 613,
 0x1135d, 0x11363,
 0x11366, 0x1136c,
 0x11370, 0x11374,
+0x11400, 0x11459,
+0x1145b, 0x1145b,
+0x1145d, 0x1145e,
 0x11480, 0x114c7,
 0x114d0, 0x114d9,
 0x11580, 0x115b5,
 0x115b8, 0x115dd,
 0x11600, 0x11644,
 0x11650, 0x11659,
+0x11660, 0x1166c,
 0x11680, 0x116b7,
 0x116c0, 0x116c9,
-0x11700, 0x11719,
+0x11700, 0x1171a,
 0x1171d, 0x1172b,
 0x11730, 0x1173f,
+0x11800, 0x1183b,
 0x118a0, 0x118f2,
 0x118ff, 0x118ff,
+0x11a00, 0x11a47,
+0x11a50, 0x11a83,
+0x11a86, 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,
 0x12000, 0x12399,
 0x12400, 0x1246e,
 0x12470, 0x12474,
@@ -5365,10 +5706,15 @@ CR_Assigned[] = { 613,
 0x16b5b, 0x16b61,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e9a,
 0x16f00, 0x16f44,
 0x16f50, 0x16f7e,
 0x16f8f, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -5378,8 +5724,9 @@ CR_Assigned[] = { 613,
 0x1d100, 0x1d126,
 0x1d129, 0x1d1e8,
 0x1d200, 0x1d245,
+0x1d2e0, 0x1d2f3,
 0x1d300, 0x1d356,
-0x1d360, 0x1d371,
+0x1d360, 0x1d378,
 0x1d400, 0x1d454,
 0x1d456, 0x1d49c,
 0x1d49e, 0x1d49f,
@@ -5403,8 +5750,17 @@ CR_Assigned[] = { 613,
 0x1d7ce, 0x1da8b,
 0x1da9b, 0x1da9f,
 0x1daa1, 0x1daaf,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e800, 0x1e8c4,
 0x1e8c7, 0x1e8d6,
+0x1e900, 0x1e94a,
+0x1e950, 0x1e959,
+0x1e95e, 0x1e95f,
+0x1ec71, 0x1ecb4,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -5446,32 +5802,38 @@ CR_Assigned[] = { 613,
 0x1f0c1, 0x1f0cf,
 0x1f0d1, 0x1f0f5,
 0x1f100, 0x1f10c,
-0x1f110, 0x1f12e,
-0x1f130, 0x1f16b,
-0x1f170, 0x1f19a,
+0x1f110, 0x1f16b,
+0x1f170, 0x1f1ac,
 0x1f1e6, 0x1f202,
-0x1f210, 0x1f23a,
+0x1f210, 0x1f23b,
 0x1f240, 0x1f248,
 0x1f250, 0x1f251,
-0x1f300, 0x1f579,
-0x1f57b, 0x1f5a3,
-0x1f5a5, 0x1f6d0,
+0x1f260, 0x1f265,
+0x1f300, 0x1f6d4,
 0x1f6e0, 0x1f6ec,
-0x1f6f0, 0x1f6f3,
+0x1f6f0, 0x1f6f9,
 0x1f700, 0x1f773,
-0x1f780, 0x1f7d4,
+0x1f780, 0x1f7d8,
 0x1f800, 0x1f80b,
 0x1f810, 0x1f847,
 0x1f850, 0x1f859,
 0x1f860, 0x1f887,
 0x1f890, 0x1f8ad,
-0x1f910, 0x1f918,
-0x1f980, 0x1f984,
-0x1f9c0, 0x1f9c0,
+0x1f900, 0x1f90b,
+0x1f910, 0x1f93e,
+0x1f940, 0x1f970,
+0x1f973, 0x1f976,
+0x1f97a, 0x1f97a,
+0x1f97c, 0x1f9a2,
+0x1f9b0, 0x1f9b9,
+0x1f9c0, 0x1f9c2,
+0x1f9d0, 0x1f9ff,
+0x1fa60, 0x1fa6d,
 0x20000, 0x2a6d6,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 0x2f800, 0x2fa1d,
 0xe0001, 0xe0001,
 0xe0020, 0xe007f,
@@ -5531,9 +5893,18 @@ CR_Bengali[] = { 14,
 0x09d7, 0x09d7,
 0x09dc, 0x09dd,
 0x09df, 0x09e3,
-0x09e6, 0x09fb,
+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,
@@ -5547,7 +5918,7 @@ CR_Bidi_Control[] = { 4,
 static const OnigCodePoint
 CR_Bopomofo[] = { 3,
 0x02ea, 0x02eb,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x31a0, 0x31ba,
 }; /* END of CR_Bopomofo */
 
@@ -5580,7 +5951,7 @@ CR_Buhid[] = { 1,
 
 /* PROPERTY: 'C': Major Category */
 static const OnigCodePoint
-CR_C[] = { 616,
+CR_C[] = { 661,
 0x0000, 0x001f,
 0x007f, 0x009f,
 0x00ad, 0x00ad,
@@ -5591,24 +5962,25 @@ CR_C[] = { 616,
 0x03a2, 0x03a2,
 0x0530, 0x0530,
 0x0557, 0x0558,
-0x0560, 0x0560,
-0x0588, 0x0588,
 0x058b, 0x058c,
 0x0590, 0x0590,
 0x05c8, 0x05cf,
-0x05eb, 0x05ef,
+0x05eb, 0x05ee,
 0x05f5, 0x0605,
 0x061c, 0x061d,
 0x06dd, 0x06dd,
 0x070e, 0x070f,
 0x074b, 0x074c,
 0x07b2, 0x07bf,
-0x07fb, 0x07ff,
+0x07fb, 0x07fc,
 0x082e, 0x082f,
 0x083f, 0x083f,
 0x085c, 0x085d,
-0x085f, 0x089f,
-0x08b5, 0x08e2,
+0x085f, 0x085f,
+0x086b, 0x089f,
+0x08b5, 0x08b5,
+0x08be, 0x08d2,
+0x08e2, 0x08e2,
 0x0984, 0x0984,
 0x098d, 0x098e,
 0x0991, 0x0992,
@@ -5622,7 +5994,7 @@ CR_C[] = { 616,
 0x09d8, 0x09db,
 0x09de, 0x09de,
 0x09e4, 0x09e5,
-0x09fc, 0x0a00,
+0x09ff, 0x0a00,
 0x0a04, 0x0a04,
 0x0a0b, 0x0a0e,
 0x0a11, 0x0a12,
@@ -5638,7 +6010,7 @@ CR_C[] = { 616,
 0x0a52, 0x0a58,
 0x0a5d, 0x0a5d,
 0x0a5f, 0x0a65,
-0x0a76, 0x0a80,
+0x0a77, 0x0a80,
 0x0a84, 0x0a84,
 0x0a8e, 0x0a8e,
 0x0a92, 0x0a92,
@@ -5652,7 +6024,7 @@ CR_C[] = { 616,
 0x0ad1, 0x0adf,
 0x0ae4, 0x0ae5,
 0x0af2, 0x0af8,
-0x0afa, 0x0b00,
+0x0b00, 0x0b00,
 0x0b04, 0x0b04,
 0x0b0d, 0x0b0e,
 0x0b11, 0x0b12,
@@ -5683,7 +6055,6 @@ CR_C[] = { 616,
 0x0bd1, 0x0bd6,
 0x0bd8, 0x0be5,
 0x0bfb, 0x0bff,
-0x0c04, 0x0c04,
 0x0c0d, 0x0c0d,
 0x0c11, 0x0c11,
 0x0c29, 0x0c29,
@@ -5695,8 +6066,6 @@ CR_C[] = { 616,
 0x0c5b, 0x0c5f,
 0x0c64, 0x0c65,
 0x0c70, 0x0c77,
-0x0c80, 0x0c80,
-0x0c84, 0x0c84,
 0x0c8d, 0x0c8d,
 0x0c91, 0x0c91,
 0x0ca9, 0x0ca9,
@@ -5709,17 +6078,14 @@ CR_C[] = { 616,
 0x0cdf, 0x0cdf,
 0x0ce4, 0x0ce5,
 0x0cf0, 0x0cf0,
-0x0cf3, 0x0d00,
+0x0cf3, 0x0cff,
 0x0d04, 0x0d04,
 0x0d0d, 0x0d0d,
 0x0d11, 0x0d11,
-0x0d3b, 0x0d3c,
 0x0d45, 0x0d45,
 0x0d49, 0x0d49,
-0x0d4f, 0x0d56,
-0x0d58, 0x0d5e,
+0x0d50, 0x0d53,
 0x0d64, 0x0d65,
-0x0d76, 0x0d78,
 0x0d80, 0x0d81,
 0x0d84, 0x0d84,
 0x0d97, 0x0d99,
@@ -5796,7 +6162,7 @@ CR_C[] = { 616,
 0x17fa, 0x17ff,
 0x180e, 0x180f,
 0x181a, 0x181f,
-0x1878, 0x187f,
+0x1879, 0x187f,
 0x18ab, 0x18af,
 0x18f6, 0x18ff,
 0x191f, 0x191f,
@@ -5820,11 +6186,11 @@ CR_C[] = { 616,
 0x1bf4, 0x1bfb,
 0x1c38, 0x1c3a,
 0x1c4a, 0x1c4c,
-0x1c80, 0x1cbf,
+0x1c89, 0x1c8f,
+0x1cbb, 0x1cbc,
 0x1cc8, 0x1ccf,
-0x1cf7, 0x1cf7,
 0x1cfa, 0x1cff,
-0x1df6, 0x1dfb,
+0x1dfa, 0x1dfa,
 0x1f16, 0x1f17,
 0x1f1e, 0x1f1f,
 0x1f46, 0x1f47,
@@ -5847,18 +6213,15 @@ CR_C[] = { 616,
 0x2072, 0x2073,
 0x208f, 0x208f,
 0x209d, 0x209f,
-0x20bf, 0x20cf,
+0x20c0, 0x20cf,
 0x20f1, 0x20ff,
 0x218c, 0x218f,
-0x23fb, 0x23ff,
 0x2427, 0x243f,
 0x244b, 0x245f,
 0x2b74, 0x2b75,
 0x2b96, 0x2b97,
-0x2bba, 0x2bbc,
 0x2bc9, 0x2bc9,
-0x2bd2, 0x2beb,
-0x2bf0, 0x2bff,
+0x2bff, 0x2bff,
 0x2c2f, 0x2c2f,
 0x2c5f, 0x2c5f,
 0x2cf4, 0x2cf8,
@@ -5876,7 +6239,7 @@ CR_C[] = { 616,
 0x2dcf, 0x2dcf,
 0x2dd7, 0x2dd7,
 0x2ddf, 0x2ddf,
-0x2e43, 0x2e7f,
+0x2e4f, 0x2e7f,
 0x2e9a, 0x2e9a,
 0x2ef4, 0x2eff,
 0x2fd6, 0x2fef,
@@ -5884,26 +6247,24 @@ CR_C[] = { 616,
 0x3040, 0x3040,
 0x3097, 0x3098,
 0x3100, 0x3104,
-0x312e, 0x3130,
+0x3130, 0x3130,
 0x318f, 0x318f,
 0x31bb, 0x31bf,
 0x31e4, 0x31ef,
 0x321f, 0x321f,
 0x32ff, 0x32ff,
 0x4db6, 0x4dbf,
-0x9fd6, 0x9fff,
+0x9ff0, 0x9fff,
 0xa48d, 0xa48f,
 0xa4c7, 0xa4cf,
 0xa62c, 0xa63f,
 0xa6f8, 0xa6ff,
-0xa7ae, 0xa7af,
-0xa7b8, 0xa7f6,
+0xa7ba, 0xa7f6,
 0xa82c, 0xa82f,
 0xa83a, 0xa83f,
 0xa878, 0xa87f,
-0xa8c5, 0xa8cd,
+0xa8c6, 0xa8cd,
 0xa8da, 0xa8df,
-0xa8fe, 0xa8ff,
 0xa954, 0xa95e,
 0xa97d, 0xa97f,
 0xa9ce, 0xa9ce,
@@ -5962,21 +6323,23 @@ CR_C[] = { 616,
 0x100fb, 0x100ff,
 0x10103, 0x10106,
 0x10134, 0x10136,
-0x1018d, 0x1018f,
+0x1018f, 0x1018f,
 0x1019c, 0x1019f,
 0x101a1, 0x101cf,
 0x101fe, 0x1027f,
 0x1029d, 0x1029f,
 0x102d1, 0x102df,
 0x102fc, 0x102ff,
-0x10324, 0x1032f,
+0x10324, 0x1032c,
 0x1034b, 0x1034f,
 0x1037b, 0x1037f,
 0x1039e, 0x1039e,
 0x103c4, 0x103c7,
 0x103d6, 0x103ff,
 0x1049e, 0x1049f,
-0x104aa, 0x104ff,
+0x104aa, 0x104af,
+0x104d4, 0x104d7,
+0x104fc, 0x104ff,
 0x10528, 0x1052f,
 0x10564, 0x1056e,
 0x10570, 0x105ff,
@@ -6002,9 +6365,9 @@ CR_C[] = { 616,
 0x10a07, 0x10a0b,
 0x10a14, 0x10a14,
 0x10a18, 0x10a18,
-0x10a34, 0x10a37,
+0x10a36, 0x10a37,
 0x10a3b, 0x10a3e,
-0x10a48, 0x10a4f,
+0x10a49, 0x10a4f,
 0x10a59, 0x10a5f,
 0x10aa0, 0x10abf,
 0x10ae7, 0x10aea,
@@ -6018,8 +6381,11 @@ CR_C[] = { 616,
 0x10c49, 0x10c7f,
 0x10cb3, 0x10cbf,
 0x10cf3, 0x10cf9,
-0x10d00, 0x10e5f,
-0x10e7f, 0x10fff,
+0x10d28, 0x10d2f,
+0x10d3a, 0x10e5f,
+0x10e7f, 0x10eff,
+0x10f28, 0x10f2f,
+0x10f5a, 0x10fff,
 0x1104e, 0x11051,
 0x11070, 0x1107e,
 0x110bd, 0x110bd,
@@ -6027,13 +6393,13 @@ CR_C[] = { 616,
 0x110e9, 0x110ef,
 0x110fa, 0x110ff,
 0x11135, 0x11135,
-0x11144, 0x1114f,
+0x11147, 0x1114f,
 0x11177, 0x1117f,
 0x111ce, 0x111cf,
 0x111e0, 0x111e0,
 0x111f5, 0x111ff,
 0x11212, 0x11212,
-0x1123e, 0x1127f,
+0x1123f, 0x1127f,
 0x11287, 0x11287,
 0x11289, 0x11289,
 0x1128e, 0x1128e,
@@ -6047,7 +6413,7 @@ CR_C[] = { 616,
 0x11329, 0x11329,
 0x11331, 0x11331,
 0x11334, 0x11334,
-0x1133a, 0x1133b,
+0x1133a, 0x1133a,
 0x11345, 0x11346,
 0x11349, 0x1134a,
 0x1134e, 0x1134f,
@@ -6055,21 +6421,50 @@ CR_C[] = { 616,
 0x11358, 0x1135c,
 0x11364, 0x11365,
 0x1136d, 0x1136f,
-0x11375, 0x1147f,
+0x11375, 0x113ff,
+0x1145a, 0x1145a,
+0x1145c, 0x1145c,
+0x1145f, 0x1147f,
 0x114c8, 0x114cf,
 0x114da, 0x1157f,
 0x115b6, 0x115b7,
 0x115de, 0x115ff,
 0x11645, 0x1164f,
-0x1165a, 0x1167f,
+0x1165a, 0x1165f,
+0x1166d, 0x1167f,
 0x116b8, 0x116bf,
 0x116ca, 0x116ff,
-0x1171a, 0x1171c,
+0x1171b, 0x1171c,
 0x1172c, 0x1172f,
-0x11740, 0x1189f,
+0x11740, 0x117ff,
+0x1183c, 0x1189f,
 0x118f3, 0x118fe,
-0x11900, 0x11abf,
-0x11af9, 0x11fff,
+0x11900, 0x119ff,
+0x11a48, 0x11a4f,
+0x11a84, 0x11a85,
+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, 0x11fff,
 0x1239a, 0x123ff,
 0x1246f, 0x1246f,
 0x12475, 0x1247f,
@@ -6086,11 +6481,16 @@ CR_C[] = { 616,
 0x16b5a, 0x16b5a,
 0x16b62, 0x16b62,
 0x16b78, 0x16b7c,
-0x16b90, 0x16eff,
+0x16b90, 0x16e3f,
+0x16e9b, 0x16eff,
 0x16f45, 0x16f4f,
 0x16f7f, 0x16f8e,
-0x16fa0, 0x1afff,
-0x1b002, 0x1bbff,
+0x16fa0, 0x16fdf,
+0x16fe2, 0x16fff,
+0x187f2, 0x187ff,
+0x18af3, 0x1afff,
+0x1b11f, 0x1b16f,
+0x1b2fc, 0x1bbff,
 0x1bc6b, 0x1bc6f,
 0x1bc7d, 0x1bc7f,
 0x1bc89, 0x1bc8f,
@@ -6100,9 +6500,10 @@ CR_C[] = { 616,
 0x1d127, 0x1d128,
 0x1d173, 0x1d17a,
 0x1d1e9, 0x1d1ff,
-0x1d246, 0x1d2ff,
+0x1d246, 0x1d2df,
+0x1d2f4, 0x1d2ff,
 0x1d357, 0x1d35f,
-0x1d372, 0x1d3ff,
+0x1d379, 0x1d3ff,
 0x1d455, 0x1d455,
 0x1d49d, 0x1d49d,
 0x1d4a0, 0x1d4a1,
@@ -6125,9 +6526,18 @@ CR_C[] = { 616,
 0x1d7cc, 0x1d7cd,
 0x1da8c, 0x1da9a,
 0x1daa0, 0x1daa0,
-0x1dab0, 0x1e7ff,
+0x1dab0, 0x1dfff,
+0x1e007, 0x1e007,
+0x1e019, 0x1e01a,
+0x1e022, 0x1e022,
+0x1e025, 0x1e025,
+0x1e02b, 0x1e7ff,
 0x1e8c5, 0x1e8c6,
-0x1e8d7, 0x1edff,
+0x1e8d7, 0x1e8ff,
+0x1e94b, 0x1e94f,
+0x1e95a, 0x1e95d,
+0x1e960, 0x1ec70,
+0x1ecb5, 0x1edff,
 0x1ee04, 0x1ee04,
 0x1ee20, 0x1ee20,
 0x1ee23, 0x1ee23,
@@ -6169,32 +6579,38 @@ CR_C[] = { 616,
 0x1f0d0, 0x1f0d0,
 0x1f0f6, 0x1f0ff,
 0x1f10d, 0x1f10f,
-0x1f12f, 0x1f12f,
 0x1f16c, 0x1f16f,
-0x1f19b, 0x1f1e5,
+0x1f1ad, 0x1f1e5,
 0x1f203, 0x1f20f,
-0x1f23b, 0x1f23f,
+0x1f23c, 0x1f23f,
 0x1f249, 0x1f24f,
-0x1f252, 0x1f2ff,
-0x1f57a, 0x1f57a,
-0x1f5a4, 0x1f5a4,
-0x1f6d1, 0x1f6df,
+0x1f252, 0x1f25f,
+0x1f266, 0x1f2ff,
+0x1f6d5, 0x1f6df,
 0x1f6ed, 0x1f6ef,
-0x1f6f4, 0x1f6ff,
+0x1f6fa, 0x1f6ff,
 0x1f774, 0x1f77f,
-0x1f7d5, 0x1f7ff,
+0x1f7d9, 0x1f7ff,
 0x1f80c, 0x1f80f,
 0x1f848, 0x1f84f,
 0x1f85a, 0x1f85f,
 0x1f888, 0x1f88f,
-0x1f8ae, 0x1f90f,
-0x1f919, 0x1f97f,
-0x1f985, 0x1f9bf,
-0x1f9c1, 0x1ffff,
+0x1f8ae, 0x1f8ff,
+0x1f90c, 0x1f90f,
+0x1f93f, 0x1f93f,
+0x1f971, 0x1f972,
+0x1f977, 0x1f979,
+0x1f97b, 0x1f97b,
+0x1f9a3, 0x1f9af,
+0x1f9ba, 0x1f9bf,
+0x1f9c3, 0x1f9cf,
+0x1fa00, 0x1fa5f,
+0x1fa6e, 0x1ffff,
 0x2a6d7, 0x2a6ff,
 0x2b735, 0x2b73f,
 0x2b81e, 0x2b81f,
-0x2cea2, 0x2f7ff,
+0x2cea2, 0x2ceaf,
+0x2ebe1, 0x2f7ff,
 0x2fa1e, 0xe00ff,
 0xe01f0, 0x10ffff,
 }; /* END of CR_C */
@@ -6214,7 +6630,7 @@ CR_Carian[] = { 1,
 
 /* PROPERTY: 'Case_Ignorable': Derived Property */
 static const OnigCodePoint
-CR_Case_Ignorable[] = { 346,
+CR_Case_Ignorable[] = { 394,
 0x0027, 0x0027,
 0x002e, 0x002e,
 0x003a, 0x003a,
@@ -6253,9 +6669,10 @@ CR_Case_Ignorable[] = { 346,
 0x07a6, 0x07b0,
 0x07eb, 0x07f5,
 0x07fa, 0x07fa,
+0x07fd, 0x07fd,
 0x0816, 0x082d,
 0x0859, 0x085b,
-0x08e3, 0x0902,
+0x08d3, 0x0902,
 0x093a, 0x093a,
 0x093c, 0x093c,
 0x0941, 0x0948,
@@ -6268,6 +6685,7 @@ CR_Case_Ignorable[] = { 346,
 0x09c1, 0x09c4,
 0x09cd, 0x09cd,
 0x09e2, 0x09e3,
+0x09fe, 0x09fe,
 0x0a01, 0x0a02,
 0x0a3c, 0x0a3c,
 0x0a41, 0x0a42,
@@ -6282,6 +6700,7 @@ CR_Case_Ignorable[] = { 346,
 0x0ac7, 0x0ac8,
 0x0acd, 0x0acd,
 0x0ae2, 0x0ae3,
+0x0afa, 0x0aff,
 0x0b01, 0x0b01,
 0x0b3c, 0x0b3c,
 0x0b3f, 0x0b3f,
@@ -6293,6 +6712,7 @@ CR_Case_Ignorable[] = { 346,
 0x0bc0, 0x0bc0,
 0x0bcd, 0x0bcd,
 0x0c00, 0x0c00,
+0x0c04, 0x0c04,
 0x0c3e, 0x0c40,
 0x0c46, 0x0c48,
 0x0c4a, 0x0c4d,
@@ -6304,7 +6724,8 @@ CR_Case_Ignorable[] = { 346,
 0x0cc6, 0x0cc6,
 0x0ccc, 0x0ccd,
 0x0ce2, 0x0ce3,
-0x0d01, 0x0d01,
+0x0d00, 0x0d01,
+0x0d3b, 0x0d3c,
 0x0d41, 0x0d44,
 0x0d4d, 0x0d4d,
 0x0d62, 0x0d63,
@@ -6354,6 +6775,7 @@ CR_Case_Ignorable[] = { 346,
 0x17dd, 0x17dd,
 0x180b, 0x180e,
 0x1843, 0x1843,
+0x1885, 0x1886,
 0x18a9, 0x18a9,
 0x1920, 0x1922,
 0x1927, 0x1928,
@@ -6395,8 +6817,8 @@ CR_Case_Ignorable[] = { 346,
 0x1cf8, 0x1cf9,
 0x1d2c, 0x1d6a,
 0x1d78, 0x1d78,
-0x1d9b, 0x1df5,
-0x1dfc, 0x1dff,
+0x1d9b, 0x1df9,
+0x1dfb, 0x1dff,
 0x1fbd, 0x1fbd,
 0x1fbf, 0x1fc1,
 0x1fcd, 0x1fcf,
@@ -6442,8 +6864,9 @@ CR_Case_Ignorable[] = { 346,
 0xa806, 0xa806,
 0xa80b, 0xa80b,
 0xa825, 0xa826,
-0xa8c4, 0xa8c4,
+0xa8c4, 0xa8c5,
 0xa8e0, 0xa8f1,
+0xa8ff, 0xa8ff,
 0xa926, 0xa92d,
 0xa947, 0xa951,
 0xa980, 0xa982,
@@ -6498,29 +6921,37 @@ CR_Case_Ignorable[] = { 346,
 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,
-0x111ca, 0x111cc,
+0x111c9, 0x111cc,
 0x1122f, 0x11231,
 0x11234, 0x11234,
 0x11236, 0x11237,
+0x1123e, 0x1123e,
 0x112df, 0x112df,
 0x112e3, 0x112ea,
 0x11300, 0x11301,
-0x1133c, 0x1133c,
+0x1133b, 0x1133c,
 0x11340, 0x11340,
 0x11366, 0x1136c,
 0x11370, 0x11374,
+0x11438, 0x1143f,
+0x11442, 0x11444,
+0x11446, 0x11446,
+0x1145e, 0x1145e,
 0x114b3, 0x114b8,
 0x114ba, 0x114ba,
 0x114bf, 0x114c0,
@@ -6539,10 +6970,37 @@ CR_Case_Ignorable[] = { 346,
 0x1171d, 0x1171f,
 0x11722, 0x11725,
 0x11727, 0x1172b,
+0x1182f, 0x11837,
+0x11839, 0x1183a,
+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,
 0x16b40, 0x16b43,
 0x16f8f, 0x16f9f,
+0x16fe0, 0x16fe1,
 0x1bc9d, 0x1bc9e,
 0x1bca0, 0x1bca3,
 0x1d167, 0x1d169,
@@ -6556,7 +7014,13 @@ CR_Case_Ignorable[] = { 346,
 0x1da84, 0x1da84,
 0x1da9b, 0x1da9f,
 0x1daa1, 0x1daaf,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e8d0, 0x1e8d6,
+0x1e944, 0x1e94a,
 0x1f3fb, 0x1f3ff,
 0xe0001, 0xe0001,
 0xe0020, 0xe007f,
@@ -6565,7 +7029,7 @@ CR_Case_Ignorable[] = { 346,
 
 /* PROPERTY: 'Cased': Derived Property */
 static const OnigCodePoint
-CR_Cased[] = { 131,
+CR_Cased[] = { 139,
 0x0041, 0x005a,
 0x0061, 0x007a,
 0x00aa, 0x00aa,
@@ -6592,12 +7056,17 @@ CR_Cased[] = { 131,
 0x03f7, 0x0481,
 0x048a, 0x052f,
 0x0531, 0x0556,
-0x0561, 0x0587,
+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,
@@ -6650,8 +7119,7 @@ CR_Cased[] = { 131,
 0xa680, 0xa69d,
 0xa722, 0xa787,
 0xa78b, 0xa78e,
-0xa790, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa790, 0xa7b9,
 0xa7f8, 0xa7fa,
 0xab30, 0xab5a,
 0xab5c, 0xab65,
@@ -6661,9 +7129,12 @@ CR_Cased[] = { 131,
 0xff21, 0xff3a,
 0xff41, 0xff5a,
 0x10400, 0x1044f,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
 0x118a0, 0x118df,
+0x16e40, 0x16e7f,
 0x1d400, 0x1d454,
 0x1d456, 0x1d49c,
 0x1d49e, 0x1d49f,
@@ -6694,6 +7165,7 @@ CR_Cased[] = { 131,
 0x1d78a, 0x1d7a8,
 0x1d7aa, 0x1d7c2,
 0x1d7c4, 0x1d7cb,
+0x1e900, 0x1e943,
 0x1f130, 0x1f149,
 0x1f150, 0x1f169,
 0x1f170, 0x1f189,
@@ -6711,12 +7183,13 @@ CR_Caucasian_Albanian[] = { 2,
 
 /* PROPERTY: 'Cf': General Category */
 static const OnigCodePoint
-CR_Cf[] = { 17,
+CR_Cf[] = { 19,
 0x00ad, 0x00ad,
 0x0600, 0x0605,
 0x061c, 0x061c,
 0x06dd, 0x06dd,
 0x070f, 0x070f,
+0x08e2, 0x08e2,
 0x180e, 0x180e,
 0x200b, 0x200f,
 0x202a, 0x202e,
@@ -6725,6 +7198,7 @@ CR_Cf[] = { 17,
 0xfeff, 0xfeff,
 0xfff9, 0xfffb,
 0x110bd, 0x110bd,
+0x110cd, 0x110cd,
 0x1bca0, 0x1bca3,
 0x1d173, 0x1d17a,
 0xe0001, 0xe0001,
@@ -6735,7 +7209,7 @@ CR_Cf[] = { 17,
 static const OnigCodePoint
 CR_Chakma[] = { 2,
 0x11100, 0x11134,
-0x11136, 0x11143,
+0x11136, 0x11146,
 }; /* END of CR_Chakma */
 
 /* PROPERTY: 'Cham': Script */
@@ -6749,7 +7223,7 @@ CR_Cham[] = { 4,
 
 /* PROPERTY: 'Changes_When_Casefolded': Derived Property */
 static const OnigCodePoint
-CR_Changes_When_Casefolded[] = { 600,
+CR_Changes_When_Casefolded[] = { 607,
 0x0041, 0x005a,
 0x00b5, 0x00b5,
 0x00c0, 0x00d6,
@@ -7032,6 +7506,9 @@ CR_Changes_When_Casefolded[] = { 600,
 0x10c7, 0x10c7,
 0x10cd, 0x10cd,
 0x13f8, 0x13fd,
+0x1c80, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1e00, 0x1e00,
 0x1e02, 0x1e02,
 0x1e04, 0x1e04,
@@ -7340,21 +7817,25 @@ CR_Changes_When_Casefolded[] = { 600,
 0xa7a4, 0xa7a4,
 0xa7a6, 0xa7a6,
 0xa7a8, 0xa7a8,
-0xa7aa, 0xa7ad,
+0xa7aa, 0xa7ae,
 0xa7b0, 0xa7b4,
 0xa7b6, 0xa7b6,
+0xa7b8, 0xa7b8,
 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[] = { 113,
+CR_Changes_When_Casemapped[] = { 121,
 0x0041, 0x005a,
 0x0061, 0x007a,
 0x00b5, 0x00b5,
@@ -7376,8 +7857,7 @@ CR_Changes_When_Casemapped[] = { 113,
 0x0260, 0x0261,
 0x0263, 0x0263,
 0x0265, 0x0266,
-0x0268, 0x0269,
-0x026b, 0x026c,
+0x0268, 0x026c,
 0x026f, 0x026f,
 0x0271, 0x0272,
 0x0275, 0x0275,
@@ -7406,8 +7886,13 @@ CR_Changes_When_Casemapped[] = { 113,
 0x10a0, 0x10c5,
 0x10c7, 0x10c7,
 0x10cd, 0x10cd,
+0x10d0, 0x10fa,
+0x10fd, 0x10ff,
 0x13a0, 0x13f5,
 0x13f8, 0x13fd,
+0x1c80, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1d79, 0x1d79,
 0x1d7d, 0x1d7d,
 0x1e00, 0x1e9b,
@@ -7456,8 +7941,8 @@ CR_Changes_When_Casemapped[] = { 113,
 0xa779, 0xa787,
 0xa78b, 0xa78d,
 0xa790, 0xa793,
-0xa796, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa796, 0xa7ae,
+0xa7b0, 0xa7b9,
 0xab53, 0xab53,
 0xab70, 0xabbf,
 0xfb00, 0xfb06,
@@ -7465,14 +7950,18 @@ CR_Changes_When_Casemapped[] = { 113,
 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[] = { 588,
+CR_Changes_When_Lowercased[] = { 594,
 0x0041, 0x005a,
 0x00c0, 0x00d6,
 0x00d8, 0x00de,
@@ -7748,6 +8237,8 @@ CR_Changes_When_Lowercased[] = { 588,
 0x10c7, 0x10c7,
 0x10cd, 0x10cd,
 0x13a0, 0x13f5,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1e00, 0x1e00,
 0x1e02, 0x1e02,
 0x1e04, 0x1e04,
@@ -8054,18 +8545,22 @@ CR_Changes_When_Lowercased[] = { 588,
 0xa7a4, 0xa7a4,
 0xa7a6, 0xa7a6,
 0xa7a8, 0xa7a8,
-0xa7aa, 0xa7ad,
+0xa7aa, 0xa7ae,
 0xa7b0, 0xa7b4,
 0xa7b6, 0xa7b6,
+0xa7b8, 0xa7b8,
 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[] = { 606,
+CR_Changes_When_Titlecased[] = { 610,
 0x0061, 0x007a,
 0x00b5, 0x00b5,
 0x00df, 0x00f6,
@@ -8217,8 +8712,7 @@ CR_Changes_When_Titlecased[] = { 606,
 0x0260, 0x0261,
 0x0263, 0x0263,
 0x0265, 0x0266,
-0x0268, 0x0269,
-0x026b, 0x026c,
+0x0268, 0x026c,
 0x026f, 0x026f,
 0x0271, 0x0272,
 0x0275, 0x0275,
@@ -8354,6 +8848,7 @@ CR_Changes_When_Titlecased[] = { 606,
 0x052f, 0x052f,
 0x0561, 0x0587,
 0x13f8, 0x13fd,
+0x1c80, 0x1c88,
 0x1d79, 0x1d79,
 0x1d7d, 0x1d7d,
 0x1e01, 0x1e01,
@@ -8664,19 +9159,23 @@ CR_Changes_When_Titlecased[] = { 606,
 0xa7a9, 0xa7a9,
 0xa7b5, 0xa7b5,
 0xa7b7, 0xa7b7,
+0xa7b9, 0xa7b9,
 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[] = { 605,
+CR_Changes_When_Uppercased[] = { 611,
 0x0061, 0x007a,
 0x00b5, 0x00b5,
 0x00df, 0x00f6,
@@ -8827,8 +9326,7 @@ CR_Changes_When_Uppercased[] = { 605,
 0x0260, 0x0261,
 0x0263, 0x0263,
 0x0265, 0x0266,
-0x0268, 0x0269,
-0x026b, 0x026c,
+0x0268, 0x026c,
 0x026f, 0x026f,
 0x0271, 0x0272,
 0x0275, 0x0275,
@@ -8963,7 +9461,10 @@ CR_Changes_When_Uppercased[] = { 605,
 0x052d, 0x052d,
 0x052f, 0x052f,
 0x0561, 0x0587,
+0x10d0, 0x10fa,
+0x10fd, 0x10ff,
 0x13f8, 0x13fd,
+0x1c80, 0x1c88,
 0x1d79, 0x1d79,
 0x1d7d, 0x1d7d,
 0x1e01, 0x1e01,
@@ -9274,14 +9775,18 @@ CR_Changes_When_Uppercased[] = { 605,
 0xa7a9, 0xa7a9,
 0xa7b5, 0xa7b5,
 0xa7b7, 0xa7b7,
+0xa7b9, 0xa7b9,
 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 */
@@ -9294,7 +9799,7 @@ CR_Cherokee[] = { 3,
 
 /* PROPERTY: 'Cn': General Category */
 static const OnigCodePoint
-CR_Cn[] = { 613,
+CR_Cn[] = { 658,
 0x0378, 0x0379,
 0x0380, 0x0383,
 0x038b, 0x038b,
@@ -9302,23 +9807,23 @@ CR_Cn[] = { 613,
 0x03a2, 0x03a2,
 0x0530, 0x0530,
 0x0557, 0x0558,
-0x0560, 0x0560,
-0x0588, 0x0588,
 0x058b, 0x058c,
 0x0590, 0x0590,
 0x05c8, 0x05cf,
-0x05eb, 0x05ef,
+0x05eb, 0x05ee,
 0x05f5, 0x05ff,
 0x061d, 0x061d,
 0x070e, 0x070e,
 0x074b, 0x074c,
 0x07b2, 0x07bf,
-0x07fb, 0x07ff,
+0x07fb, 0x07fc,
 0x082e, 0x082f,
 0x083f, 0x083f,
 0x085c, 0x085d,
-0x085f, 0x089f,
-0x08b5, 0x08e2,
+0x085f, 0x085f,
+0x086b, 0x089f,
+0x08b5, 0x08b5,
+0x08be, 0x08d2,
 0x0984, 0x0984,
 0x098d, 0x098e,
 0x0991, 0x0992,
@@ -9332,7 +9837,7 @@ CR_Cn[] = { 613,
 0x09d8, 0x09db,
 0x09de, 0x09de,
 0x09e4, 0x09e5,
-0x09fc, 0x0a00,
+0x09ff, 0x0a00,
 0x0a04, 0x0a04,
 0x0a0b, 0x0a0e,
 0x0a11, 0x0a12,
@@ -9348,7 +9853,7 @@ CR_Cn[] = { 613,
 0x0a52, 0x0a58,
 0x0a5d, 0x0a5d,
 0x0a5f, 0x0a65,
-0x0a76, 0x0a80,
+0x0a77, 0x0a80,
 0x0a84, 0x0a84,
 0x0a8e, 0x0a8e,
 0x0a92, 0x0a92,
@@ -9362,7 +9867,7 @@ CR_Cn[] = { 613,
 0x0ad1, 0x0adf,
 0x0ae4, 0x0ae5,
 0x0af2, 0x0af8,
-0x0afa, 0x0b00,
+0x0b00, 0x0b00,
 0x0b04, 0x0b04,
 0x0b0d, 0x0b0e,
 0x0b11, 0x0b12,
@@ -9393,7 +9898,6 @@ CR_Cn[] = { 613,
 0x0bd1, 0x0bd6,
 0x0bd8, 0x0be5,
 0x0bfb, 0x0bff,
-0x0c04, 0x0c04,
 0x0c0d, 0x0c0d,
 0x0c11, 0x0c11,
 0x0c29, 0x0c29,
@@ -9405,8 +9909,6 @@ CR_Cn[] = { 613,
 0x0c5b, 0x0c5f,
 0x0c64, 0x0c65,
 0x0c70, 0x0c77,
-0x0c80, 0x0c80,
-0x0c84, 0x0c84,
 0x0c8d, 0x0c8d,
 0x0c91, 0x0c91,
 0x0ca9, 0x0ca9,
@@ -9419,17 +9921,14 @@ CR_Cn[] = { 613,
 0x0cdf, 0x0cdf,
 0x0ce4, 0x0ce5,
 0x0cf0, 0x0cf0,
-0x0cf3, 0x0d00,
+0x0cf3, 0x0cff,
 0x0d04, 0x0d04,
 0x0d0d, 0x0d0d,
 0x0d11, 0x0d11,
-0x0d3b, 0x0d3c,
 0x0d45, 0x0d45,
 0x0d49, 0x0d49,
-0x0d4f, 0x0d56,
-0x0d58, 0x0d5e,
+0x0d50, 0x0d53,
 0x0d64, 0x0d65,
-0x0d76, 0x0d78,
 0x0d80, 0x0d81,
 0x0d84, 0x0d84,
 0x0d97, 0x0d99,
@@ -9506,7 +10005,7 @@ CR_Cn[] = { 613,
 0x17fa, 0x17ff,
 0x180f, 0x180f,
 0x181a, 0x181f,
-0x1878, 0x187f,
+0x1879, 0x187f,
 0x18ab, 0x18af,
 0x18f6, 0x18ff,
 0x191f, 0x191f,
@@ -9530,11 +10029,11 @@ CR_Cn[] = { 613,
 0x1bf4, 0x1bfb,
 0x1c38, 0x1c3a,
 0x1c4a, 0x1c4c,
-0x1c80, 0x1cbf,
+0x1c89, 0x1c8f,
+0x1cbb, 0x1cbc,
 0x1cc8, 0x1ccf,
-0x1cf7, 0x1cf7,
 0x1cfa, 0x1cff,
-0x1df6, 0x1dfb,
+0x1dfa, 0x1dfa,
 0x1f16, 0x1f17,
 0x1f1e, 0x1f1f,
 0x1f46, 0x1f47,
@@ -9555,18 +10054,15 @@ CR_Cn[] = { 613,
 0x2072, 0x2073,
 0x208f, 0x208f,
 0x209d, 0x209f,
-0x20bf, 0x20cf,
+0x20c0, 0x20cf,
 0x20f1, 0x20ff,
 0x218c, 0x218f,
-0x23fb, 0x23ff,
 0x2427, 0x243f,
 0x244b, 0x245f,
 0x2b74, 0x2b75,
 0x2b96, 0x2b97,
-0x2bba, 0x2bbc,
 0x2bc9, 0x2bc9,
-0x2bd2, 0x2beb,
-0x2bf0, 0x2bff,
+0x2bff, 0x2bff,
 0x2c2f, 0x2c2f,
 0x2c5f, 0x2c5f,
 0x2cf4, 0x2cf8,
@@ -9584,7 +10080,7 @@ CR_Cn[] = { 613,
 0x2dcf, 0x2dcf,
 0x2dd7, 0x2dd7,
 0x2ddf, 0x2ddf,
-0x2e43, 0x2e7f,
+0x2e4f, 0x2e7f,
 0x2e9a, 0x2e9a,
 0x2ef4, 0x2eff,
 0x2fd6, 0x2fef,
@@ -9592,26 +10088,24 @@ CR_Cn[] = { 613,
 0x3040, 0x3040,
 0x3097, 0x3098,
 0x3100, 0x3104,
-0x312e, 0x3130,
+0x3130, 0x3130,
 0x318f, 0x318f,
 0x31bb, 0x31bf,
 0x31e4, 0x31ef,
 0x321f, 0x321f,
 0x32ff, 0x32ff,
 0x4db6, 0x4dbf,
-0x9fd6, 0x9fff,
+0x9ff0, 0x9fff,
 0xa48d, 0xa48f,
 0xa4c7, 0xa4cf,
 0xa62c, 0xa63f,
 0xa6f8, 0xa6ff,
-0xa7ae, 0xa7af,
-0xa7b8, 0xa7f6,
+0xa7ba, 0xa7f6,
 0xa82c, 0xa82f,
 0xa83a, 0xa83f,
 0xa878, 0xa87f,
-0xa8c5, 0xa8cd,
+0xa8c6, 0xa8cd,
 0xa8da, 0xa8df,
-0xa8fe, 0xa8ff,
 0xa954, 0xa95e,
 0xa97d, 0xa97f,
 0xa9ce, 0xa9ce,
@@ -9671,21 +10165,23 @@ CR_Cn[] = { 613,
 0x100fb, 0x100ff,
 0x10103, 0x10106,
 0x10134, 0x10136,
-0x1018d, 0x1018f,
+0x1018f, 0x1018f,
 0x1019c, 0x1019f,
 0x101a1, 0x101cf,
 0x101fe, 0x1027f,
 0x1029d, 0x1029f,
 0x102d1, 0x102df,
 0x102fc, 0x102ff,
-0x10324, 0x1032f,
+0x10324, 0x1032c,
 0x1034b, 0x1034f,
 0x1037b, 0x1037f,
 0x1039e, 0x1039e,
 0x103c4, 0x103c7,
 0x103d6, 0x103ff,
 0x1049e, 0x1049f,
-0x104aa, 0x104ff,
+0x104aa, 0x104af,
+0x104d4, 0x104d7,
+0x104fc, 0x104ff,
 0x10528, 0x1052f,
 0x10564, 0x1056e,
 0x10570, 0x105ff,
@@ -9711,9 +10207,9 @@ CR_Cn[] = { 613,
 0x10a07, 0x10a0b,
 0x10a14, 0x10a14,
 0x10a18, 0x10a18,
-0x10a34, 0x10a37,
+0x10a36, 0x10a37,
 0x10a3b, 0x10a3e,
-0x10a48, 0x10a4f,
+0x10a49, 0x10a4f,
 0x10a59, 0x10a5f,
 0x10aa0, 0x10abf,
 0x10ae7, 0x10aea,
@@ -9727,21 +10223,25 @@ CR_Cn[] = { 613,
 0x10c49, 0x10c7f,
 0x10cb3, 0x10cbf,
 0x10cf3, 0x10cf9,
-0x10d00, 0x10e5f,
-0x10e7f, 0x10fff,
+0x10d28, 0x10d2f,
+0x10d3a, 0x10e5f,
+0x10e7f, 0x10eff,
+0x10f28, 0x10f2f,
+0x10f5a, 0x10fff,
 0x1104e, 0x11051,
 0x11070, 0x1107e,
-0x110c2, 0x110cf,
+0x110c2, 0x110cc,
+0x110ce, 0x110cf,
 0x110e9, 0x110ef,
 0x110fa, 0x110ff,
 0x11135, 0x11135,
-0x11144, 0x1114f,
+0x11147, 0x1114f,
 0x11177, 0x1117f,
 0x111ce, 0x111cf,
 0x111e0, 0x111e0,
 0x111f5, 0x111ff,
 0x11212, 0x11212,
-0x1123e, 0x1127f,
+0x1123f, 0x1127f,
 0x11287, 0x11287,
 0x11289, 0x11289,
 0x1128e, 0x1128e,
@@ -9755,7 +10255,7 @@ CR_Cn[] = { 613,
 0x11329, 0x11329,
 0x11331, 0x11331,
 0x11334, 0x11334,
-0x1133a, 0x1133b,
+0x1133a, 0x1133a,
 0x11345, 0x11346,
 0x11349, 0x1134a,
 0x1134e, 0x1134f,
@@ -9763,21 +10263,50 @@ CR_Cn[] = { 613,
 0x11358, 0x1135c,
 0x11364, 0x11365,
 0x1136d, 0x1136f,
-0x11375, 0x1147f,
+0x11375, 0x113ff,
+0x1145a, 0x1145a,
+0x1145c, 0x1145c,
+0x1145f, 0x1147f,
 0x114c8, 0x114cf,
 0x114da, 0x1157f,
 0x115b6, 0x115b7,
 0x115de, 0x115ff,
 0x11645, 0x1164f,
-0x1165a, 0x1167f,
+0x1165a, 0x1165f,
+0x1166d, 0x1167f,
 0x116b8, 0x116bf,
 0x116ca, 0x116ff,
-0x1171a, 0x1171c,
+0x1171b, 0x1171c,
 0x1172c, 0x1172f,
-0x11740, 0x1189f,
+0x11740, 0x117ff,
+0x1183c, 0x1189f,
 0x118f3, 0x118fe,
-0x11900, 0x11abf,
-0x11af9, 0x11fff,
+0x11900, 0x119ff,
+0x11a48, 0x11a4f,
+0x11a84, 0x11a85,
+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, 0x11fff,
 0x1239a, 0x123ff,
 0x1246f, 0x1246f,
 0x12475, 0x1247f,
@@ -9794,11 +10323,16 @@ CR_Cn[] = { 613,
 0x16b5a, 0x16b5a,
 0x16b62, 0x16b62,
 0x16b78, 0x16b7c,
-0x16b90, 0x16eff,
+0x16b90, 0x16e3f,
+0x16e9b, 0x16eff,
 0x16f45, 0x16f4f,
 0x16f7f, 0x16f8e,
-0x16fa0, 0x1afff,
-0x1b002, 0x1bbff,
+0x16fa0, 0x16fdf,
+0x16fe2, 0x16fff,
+0x187f2, 0x187ff,
+0x18af3, 0x1afff,
+0x1b11f, 0x1b16f,
+0x1b2fc, 0x1bbff,
 0x1bc6b, 0x1bc6f,
 0x1bc7d, 0x1bc7f,
 0x1bc89, 0x1bc8f,
@@ -9807,9 +10341,10 @@ CR_Cn[] = { 613,
 0x1d0f6, 0x1d0ff,
 0x1d127, 0x1d128,
 0x1d1e9, 0x1d1ff,
-0x1d246, 0x1d2ff,
+0x1d246, 0x1d2df,
+0x1d2f4, 0x1d2ff,
 0x1d357, 0x1d35f,
-0x1d372, 0x1d3ff,
+0x1d379, 0x1d3ff,
 0x1d455, 0x1d455,
 0x1d49d, 0x1d49d,
 0x1d4a0, 0x1d4a1,
@@ -9832,9 +10367,18 @@ CR_Cn[] = { 613,
 0x1d7cc, 0x1d7cd,
 0x1da8c, 0x1da9a,
 0x1daa0, 0x1daa0,
-0x1dab0, 0x1e7ff,
+0x1dab0, 0x1dfff,
+0x1e007, 0x1e007,
+0x1e019, 0x1e01a,
+0x1e022, 0x1e022,
+0x1e025, 0x1e025,
+0x1e02b, 0x1e7ff,
 0x1e8c5, 0x1e8c6,
-0x1e8d7, 0x1edff,
+0x1e8d7, 0x1e8ff,
+0x1e94b, 0x1e94f,
+0x1e95a, 0x1e95d,
+0x1e960, 0x1ec70,
+0x1ecb5, 0x1edff,
 0x1ee04, 0x1ee04,
 0x1ee20, 0x1ee20,
 0x1ee23, 0x1ee23,
@@ -9876,32 +10420,38 @@ CR_Cn[] = { 613,
 0x1f0d0, 0x1f0d0,
 0x1f0f6, 0x1f0ff,
 0x1f10d, 0x1f10f,
-0x1f12f, 0x1f12f,
 0x1f16c, 0x1f16f,
-0x1f19b, 0x1f1e5,
+0x1f1ad, 0x1f1e5,
 0x1f203, 0x1f20f,
-0x1f23b, 0x1f23f,
+0x1f23c, 0x1f23f,
 0x1f249, 0x1f24f,
-0x1f252, 0x1f2ff,
-0x1f57a, 0x1f57a,
-0x1f5a4, 0x1f5a4,
-0x1f6d1, 0x1f6df,
+0x1f252, 0x1f25f,
+0x1f266, 0x1f2ff,
+0x1f6d5, 0x1f6df,
 0x1f6ed, 0x1f6ef,
-0x1f6f4, 0x1f6ff,
+0x1f6fa, 0x1f6ff,
 0x1f774, 0x1f77f,
-0x1f7d5, 0x1f7ff,
+0x1f7d9, 0x1f7ff,
 0x1f80c, 0x1f80f,
 0x1f848, 0x1f84f,
 0x1f85a, 0x1f85f,
 0x1f888, 0x1f88f,
-0x1f8ae, 0x1f90f,
-0x1f919, 0x1f97f,
-0x1f985, 0x1f9bf,
-0x1f9c1, 0x1ffff,
+0x1f8ae, 0x1f8ff,
+0x1f90c, 0x1f90f,
+0x1f93f, 0x1f93f,
+0x1f971, 0x1f972,
+0x1f977, 0x1f979,
+0x1f97b, 0x1f97b,
+0x1f9a3, 0x1f9af,
+0x1f9ba, 0x1f9bf,
+0x1f9c3, 0x1f9cf,
+0x1fa00, 0x1fa5f,
+0x1fa6e, 0x1ffff,
 0x2a6d7, 0x2a6ff,
 0x2b735, 0x2b73f,
 0x2b81e, 0x2b81f,
-0x2cea2, 0x2f7ff,
+0x2cea2, 0x2ceaf,
+0x2ebe1, 0x2f7ff,
 0x2fa1e, 0xe0000,
 0xe0002, 0xe001f,
 0xe0080, 0xe00ff,
@@ -9920,7 +10470,7 @@ CR_Co[] = { 3,
 
 /* PROPERTY: 'Common': Script */
 static const OnigCodePoint
-CR_Common[] = { 161,
+CR_Common[] = { 166,
 0x0000, 0x0040,
 0x005b, 0x0060,
 0x007b, 0x00a9,
@@ -9938,10 +10488,11 @@ CR_Common[] = { 161,
 0x0589, 0x0589,
 0x0605, 0x0605,
 0x060c, 0x060c,
-0x061b, 0x061c,
+0x061b, 0x061b,
 0x061f, 0x061f,
 0x0640, 0x0640,
 0x06dd, 0x06dd,
+0x08e2, 0x08e2,
 0x0964, 0x0965,
 0x0e3f, 0x0e3f,
 0x0fd5, 0x0fd8,
@@ -9954,30 +10505,27 @@ CR_Common[] = { 161,
 0x1ce1, 0x1ce1,
 0x1ce9, 0x1cec,
 0x1cee, 0x1cf3,
-0x1cf5, 0x1cf6,
+0x1cf5, 0x1cf7,
 0x2000, 0x200b,
 0x200e, 0x2064,
 0x2066, 0x2070,
 0x2074, 0x207e,
 0x2080, 0x208e,
-0x20a0, 0x20be,
+0x20a0, 0x20bf,
 0x2100, 0x2125,
 0x2127, 0x2129,
 0x212c, 0x2131,
 0x2133, 0x214d,
 0x214f, 0x215f,
 0x2189, 0x218b,
-0x2190, 0x23fa,
-0x2400, 0x2426,
+0x2190, 0x2426,
 0x2440, 0x244a,
 0x2460, 0x27ff,
 0x2900, 0x2b73,
 0x2b76, 0x2b95,
-0x2b98, 0x2bb9,
-0x2bbd, 0x2bc8,
-0x2bca, 0x2bd1,
-0x2bec, 0x2bef,
-0x2e00, 0x2e42,
+0x2b98, 0x2bc8,
+0x2bca, 0x2bfe,
+0x2e00, 0x2e4e,
 0x2ff0, 0x2ffb,
 0x3000, 0x3004,
 0x3006, 0x3006,
@@ -10027,8 +10575,9 @@ CR_Common[] = { 161,
 0x1d183, 0x1d184,
 0x1d18c, 0x1d1a9,
 0x1d1ae, 0x1d1e8,
+0x1d2e0, 0x1d2f3,
 0x1d300, 0x1d356,
-0x1d360, 0x1d371,
+0x1d360, 0x1d378,
 0x1d400, 0x1d454,
 0x1d456, 0x1d49c,
 0x1d49e, 0x1d49f,
@@ -10050,6 +10599,7 @@ CR_Common[] = { 161,
 0x1d552, 0x1d6a5,
 0x1d6a8, 0x1d7cb,
 0x1d7ce, 0x1d7ff,
+0x1ec71, 0x1ecb4,
 0x1f000, 0x1f02b,
 0x1f030, 0x1f093,
 0x1f0a0, 0x1f0ae,
@@ -10057,29 +10607,34 @@ CR_Common[] = { 161,
 0x1f0c1, 0x1f0cf,
 0x1f0d1, 0x1f0f5,
 0x1f100, 0x1f10c,
-0x1f110, 0x1f12e,
-0x1f130, 0x1f16b,
-0x1f170, 0x1f19a,
+0x1f110, 0x1f16b,
+0x1f170, 0x1f1ac,
 0x1f1e6, 0x1f1ff,
 0x1f201, 0x1f202,
-0x1f210, 0x1f23a,
+0x1f210, 0x1f23b,
 0x1f240, 0x1f248,
 0x1f250, 0x1f251,
-0x1f300, 0x1f579,
-0x1f57b, 0x1f5a3,
-0x1f5a5, 0x1f6d0,
+0x1f260, 0x1f265,
+0x1f300, 0x1f6d4,
 0x1f6e0, 0x1f6ec,
-0x1f6f0, 0x1f6f3,
+0x1f6f0, 0x1f6f9,
 0x1f700, 0x1f773,
-0x1f780, 0x1f7d4,
+0x1f780, 0x1f7d8,
 0x1f800, 0x1f80b,
 0x1f810, 0x1f847,
 0x1f850, 0x1f859,
 0x1f860, 0x1f887,
 0x1f890, 0x1f8ad,
-0x1f910, 0x1f918,
-0x1f980, 0x1f984,
-0x1f9c0, 0x1f9c0,
+0x1f900, 0x1f90b,
+0x1f910, 0x1f93e,
+0x1f940, 0x1f970,
+0x1f973, 0x1f976,
+0x1f97a, 0x1f97a,
+0x1f97c, 0x1f9a2,
+0x1f9b0, 0x1f9b9,
+0x1f9c0, 0x1f9c2,
+0x1f9d0, 0x1f9ff,
+0x1fa60, 0x1fa6d,
 0xe0001, 0xe0001,
 0xe0020, 0xe007f,
 }; /* END of CR_Common */
@@ -10120,9 +10675,10 @@ CR_Cypriot[] = { 6,
 
 /* PROPERTY: 'Cyrillic': Script */
 static const OnigCodePoint
-CR_Cyrillic[] = { 7,
+CR_Cyrillic[] = { 8,
 0x0400, 0x0484,
 0x0487, 0x052f,
+0x1c80, 0x1c88,
 0x1d2b, 0x1d2b,
 0x1d78, 0x1d78,
 0x2de0, 0x2dff,
@@ -10180,7 +10736,7 @@ CR_Default_Ignorable_Code_Point[] = { 17,
 
 /* PROPERTY: 'Deprecated': Binary Property */
 static const OnigCodePoint
-CR_Deprecated[] = { 9,
+CR_Deprecated[] = { 8,
 0x0149, 0x0149,
 0x0673, 0x0673,
 0x0f77, 0x0f77,
@@ -10189,7 +10745,6 @@ CR_Deprecated[] = { 9,
 0x206a, 0x206f,
 0x2329, 0x232a,
 0xe0001, 0xe0001,
-0xe007f, 0xe007f,
 }; /* END of CR_Deprecated */
 
 /* PROPERTY: 'Deseret': Script */
@@ -10204,12 +10759,12 @@ CR_Devanagari[] = { 4,
 0x0900, 0x0950,
 0x0953, 0x0963,
 0x0966, 0x097f,
-0xa8e0, 0xa8fd,
+0xa8e0, 0xa8ff,
 }; /* END of CR_Devanagari */
 
 /* PROPERTY: 'Diacritic': Binary Property */
 static const OnigCodePoint
-CR_Diacritic[] = { 147,
+CR_Diacritic[] = { 163,
 0x005e, 0x005e,
 0x0060, 0x0060,
 0x00a8, 0x00a8,
@@ -10249,12 +10804,14 @@ CR_Diacritic[] = { 147,
 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,
@@ -10288,10 +10845,10 @@ CR_Diacritic[] = { 147,
 0x1cd0, 0x1ce8,
 0x1ced, 0x1ced,
 0x1cf4, 0x1cf4,
-0x1cf8, 0x1cf9,
+0x1cf7, 0x1cf9,
 0x1d2c, 0x1d6a,
 0x1dc4, 0x1dcf,
-0x1df5, 0x1df5,
+0x1df5, 0x1df9,
 0x1dfd, 0x1dff,
 0x1fbd, 0x1fbd,
 0x1fbf, 0x1fc1,
@@ -10333,6 +10890,8 @@ CR_Diacritic[] = { 147,
 0xffe3, 0xffe3,
 0x102e0, 0x102e0,
 0x10ae5, 0x10ae6,
+0x10d22, 0x10d27,
+0x10f46, 0x10f50,
 0x110b9, 0x110ba,
 0x11133, 0x11134,
 0x11173, 0x11173,
@@ -10344,11 +10903,21 @@ CR_Diacritic[] = { 147,
 0x1134d, 0x1134d,
 0x11366, 0x1136c,
 0x11370, 0x11374,
+0x11442, 0x11442,
+0x11446, 0x11446,
 0x114c2, 0x114c3,
 0x115bf, 0x115c0,
 0x1163f, 0x1163f,
 0x116b6, 0x116b7,
 0x1172b, 0x1172b,
+0x11839, 0x1183a,
+0x11a34, 0x11a34,
+0x11a47, 0x11a47,
+0x11a99, 0x11a99,
+0x11c3f, 0x11c3f,
+0x11d42, 0x11d42,
+0x11d44, 0x11d45,
+0x11d97, 0x11d97,
 0x16af0, 0x16af4,
 0x16f8f, 0x16f9f,
 0x1d167, 0x1d169,
@@ -10357,8 +10926,16 @@ CR_Diacritic[] = { 147,
 0x1d185, 0x1d18b,
 0x1d1aa, 0x1d1ad,
 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,
@@ -10381,6 +10958,300 @@ CR_Elbasan[] = { 1,
 0x10500, 0x10527,
 }; /* END of CR_Elbasan */
 
+/* PROPERTY: 'Emoji': Emoji Property */
+static const OnigCodePoint
+CR_Emoji[] = { 147,
+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,
+0x1f6e0, 0x1f6e5,
+0x1f6e9, 0x1f6e9,
+0x1f6eb, 0x1f6ec,
+0x1f6f0, 0x1f6f0,
+0x1f6f3, 0x1f6f9,
+0x1f910, 0x1f93a,
+0x1f93c, 0x1f93e,
+0x1f940, 0x1f945,
+0x1f947, 0x1f970,
+0x1f973, 0x1f976,
+0x1f97a, 0x1f97a,
+0x1f97c, 0x1f9a2,
+0x1f9b0, 0x1f9b9,
+0x1f9c0, 0x1f9c2,
+0x1f9d0, 0x1f9ff,
+}; /* 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[] = { 34,
+0x261d, 0x261d,
+0x26f9, 0x26f9,
+0x270a, 0x270d,
+0x1f385, 0x1f385,
+0x1f3c2, 0x1f3c4,
+0x1f3c7, 0x1f3c7,
+0x1f3ca, 0x1f3cc,
+0x1f442, 0x1f443,
+0x1f446, 0x1f450,
+0x1f466, 0x1f469,
+0x1f46e, 0x1f46e,
+0x1f470, 0x1f478,
+0x1f47c, 0x1f47c,
+0x1f481, 0x1f483,
+0x1f485, 0x1f487,
+0x1f4aa, 0x1f4aa,
+0x1f574, 0x1f575,
+0x1f57a, 0x1f57a,
+0x1f590, 0x1f590,
+0x1f595, 0x1f596,
+0x1f645, 0x1f647,
+0x1f64b, 0x1f64f,
+0x1f6a3, 0x1f6a3,
+0x1f6b4, 0x1f6b6,
+0x1f6c0, 0x1f6c0,
+0x1f6cc, 0x1f6cc,
+0x1f918, 0x1f91c,
+0x1f91e, 0x1f91f,
+0x1f926, 0x1f926,
+0x1f930, 0x1f939,
+0x1f93d, 0x1f93e,
+0x1f9b5, 0x1f9b6,
+0x1f9b8, 0x1f9b9,
+0x1f9d1, 0x1f9dd,
+}; /* END of CR_Emoji_Modifier_Base */
+
+/* PROPERTY: 'Emoji_Presentation': Emoji Property */
+static const OnigCodePoint
+CR_Emoji_Presentation[] = { 77,
+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,
+0x1f6eb, 0x1f6ec,
+0x1f6f4, 0x1f6f9,
+0x1f910, 0x1f93a,
+0x1f93c, 0x1f93e,
+0x1f940, 0x1f945,
+0x1f947, 0x1f970,
+0x1f973, 0x1f976,
+0x1f97a, 0x1f97a,
+0x1f97c, 0x1f9a2,
+0x1f9b0, 0x1f9b9,
+0x1f9c0, 0x1f9c2,
+0x1f9d0, 0x1f9ff,
+}; /* END of CR_Emoji_Presentation */
+
 /* PROPERTY: 'Ethiopic': Script */
 static const OnigCodePoint
 CR_Ethiopic[] = { 32,
@@ -10418,9 +11289,91 @@ CR_Ethiopic[] = { 32,
 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[] = { 26,
+CR_Extender[] = { 29,
 0x00b7, 0x00b7,
 0x02d0, 0x02d1,
 0x0640, 0x0640,
@@ -10446,17 +11399,22 @@ CR_Extender[] = { 26,
 0xff70, 0xff70,
 0x1135d, 0x1135d,
 0x115c6, 0x115c8,
+0x11a98, 0x11a98,
 0x16b42, 0x16b43,
+0x16fe0, 0x16fe1,
+0x1e944, 0x1e946,
 }; /* END of CR_Extender */
 
 /* PROPERTY: 'Georgian': Script */
 static const OnigCodePoint
-CR_Georgian[] = { 8,
+CR_Georgian[] = { 10,
 0x10a0, 0x10c5,
 0x10c7, 0x10c7,
 0x10cd, 0x10cd,
 0x10d0, 0x10fa,
 0x10fc, 0x10ff,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x2d00, 0x2d25,
 0x2d27, 0x2d27,
 0x2d2d, 0x2d2d,
@@ -10464,9 +11422,14 @@ CR_Georgian[] = { 8,
 
 /* PROPERTY: 'Glagolitic': Script */
 static const OnigCodePoint
-CR_Glagolitic[] = { 2,
+CR_Glagolitic[] = { 7,
 0x2c00, 0x2c2e,
 0x2c30, 0x2c5e,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 }; /* END of CR_Glagolitic */
 
 /* PROPERTY: 'Gothic': Script */
@@ -10497,7 +11460,7 @@ CR_Grantha[] = { 15,
 
 /* PROPERTY: 'Grapheme_Base': Derived Property */
 static const OnigCodePoint
-CR_Grapheme_Base[] = { 743,
+CR_Grapheme_Base[] = { 806,
 0x0020, 0x007e,
 0x00a0, 0x00ac,
 0x00ae, 0x02ff,
@@ -10509,16 +11472,14 @@ CR_Grapheme_Base[] = { 743,
 0x03a3, 0x0482,
 0x048a, 0x052f,
 0x0531, 0x0556,
-0x0559, 0x055f,
-0x0561, 0x0587,
-0x0589, 0x058a,
+0x0559, 0x058a,
 0x058d, 0x058f,
 0x05be, 0x05be,
 0x05c0, 0x05c0,
 0x05c3, 0x05c3,
 0x05c6, 0x05c6,
 0x05d0, 0x05ea,
-0x05f0, 0x05f4,
+0x05ef, 0x05f4,
 0x0606, 0x060f,
 0x061b, 0x061b,
 0x061e, 0x064a,
@@ -10534,14 +11495,16 @@ CR_Grapheme_Base[] = { 743,
 0x07b1, 0x07b1,
 0x07c0, 0x07ea,
 0x07f4, 0x07fa,
-0x0800, 0x0815,
+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,
@@ -10563,7 +11526,7 @@ CR_Grapheme_Base[] = { 743,
 0x09ce, 0x09ce,
 0x09dc, 0x09dd,
 0x09df, 0x09e1,
-0x09e6, 0x09fb,
+0x09e6, 0x09fd,
 0x0a03, 0x0a03,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
@@ -10577,6 +11540,7 @@ CR_Grapheme_Base[] = { 743,
 0x0a5e, 0x0a5e,
 0x0a66, 0x0a6f,
 0x0a72, 0x0a74,
+0x0a76, 0x0a76,
 0x0a83, 0x0a83,
 0x0a85, 0x0a8d,
 0x0a8f, 0x0a91,
@@ -10631,9 +11595,8 @@ CR_Grapheme_Base[] = { 743,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c61,
 0x0c66, 0x0c6f,
-0x0c78, 0x0c7f,
-0x0c82, 0x0c83,
-0x0c85, 0x0c8c,
+0x0c78, 0x0c80,
+0x0c82, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
 0x0caa, 0x0cb3,
@@ -10655,10 +11618,10 @@ CR_Grapheme_Base[] = { 743,
 0x0d3f, 0x0d40,
 0x0d46, 0x0d48,
 0x0d4a, 0x0d4c,
-0x0d4e, 0x0d4e,
-0x0d5f, 0x0d61,
-0x0d66, 0x0d75,
-0x0d79, 0x0d7f,
+0x0d4e, 0x0d4f,
+0x0d54, 0x0d56,
+0x0d58, 0x0d61,
+0x0d66, 0x0d7f,
 0x0d82, 0x0d83,
 0x0d85, 0x0d96,
 0x0d9a, 0x0db1,
@@ -10755,8 +11718,9 @@ CR_Grapheme_Base[] = { 743,
 0x17f0, 0x17f9,
 0x1800, 0x180a,
 0x1810, 0x1819,
-0x1820, 0x1877,
-0x1880, 0x18a8,
+0x1820, 0x1878,
+0x1880, 0x1884,
+0x1887, 0x18a8,
 0x18aa, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -10798,13 +11762,14 @@ CR_Grapheme_Base[] = { 743,
 0x1bfc, 0x1c2b,
 0x1c34, 0x1c35,
 0x1c3b, 0x1c49,
-0x1c4d, 0x1c7f,
-0x1cc0, 0x1cc7,
+0x1c4d, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cc7,
 0x1cd3, 0x1cd3,
 0x1ce1, 0x1ce1,
 0x1ce9, 0x1cec,
 0x1cee, 0x1cf3,
-0x1cf5, 0x1cf6,
+0x1cf5, 0x1cf7,
 0x1d00, 0x1dbf,
 0x1e00, 0x1f15,
 0x1f18, 0x1f1d,
@@ -10828,17 +11793,14 @@ CR_Grapheme_Base[] = { 743,
 0x2070, 0x2071,
 0x2074, 0x208e,
 0x2090, 0x209c,
-0x20a0, 0x20be,
+0x20a0, 0x20bf,
 0x2100, 0x218b,
-0x2190, 0x23fa,
-0x2400, 0x2426,
+0x2190, 0x2426,
 0x2440, 0x244a,
 0x2460, 0x2b73,
 0x2b76, 0x2b95,
-0x2b98, 0x2bb9,
-0x2bbd, 0x2bc8,
-0x2bca, 0x2bd1,
-0x2bec, 0x2bef,
+0x2b98, 0x2bc8,
+0x2bca, 0x2bfe,
 0x2c00, 0x2c2e,
 0x2c30, 0x2c5e,
 0x2c60, 0x2cee,
@@ -10857,7 +11819,7 @@ CR_Grapheme_Base[] = { 743,
 0x2dc8, 0x2dce,
 0x2dd0, 0x2dd6,
 0x2dd8, 0x2dde,
-0x2e00, 0x2e42,
+0x2e00, 0x2e4e,
 0x2e80, 0x2e99,
 0x2e9b, 0x2ef3,
 0x2f00, 0x2fd5,
@@ -10866,14 +11828,14 @@ CR_Grapheme_Base[] = { 743,
 0x3030, 0x303f,
 0x3041, 0x3096,
 0x309b, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x3190, 0x31ba,
 0x31c0, 0x31e3,
 0x31f0, 0x321e,
 0x3220, 0x32fe,
 0x3300, 0x4db5,
-0x4dc0, 0x9fd5,
+0x4dc0, 0x9fef,
 0xa000, 0xa48c,
 0xa490, 0xa4c6,
 0xa4d0, 0xa62b,
@@ -10882,8 +11844,7 @@ CR_Grapheme_Base[] = { 743,
 0xa67e, 0xa69d,
 0xa6a0, 0xa6ef,
 0xa6f2, 0xa6f7,
-0xa700, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa700, 0xa7b9,
 0xa7f7, 0xa801,
 0xa803, 0xa805,
 0xa807, 0xa80a,
@@ -10893,7 +11854,7 @@ CR_Grapheme_Base[] = { 743,
 0xa840, 0xa877,
 0xa880, 0xa8c3,
 0xa8ce, 0xa8d9,
-0xa8f2, 0xa8fd,
+0xa8f2, 0xa8fe,
 0xa900, 0xa925,
 0xa92e, 0xa946,
 0xa952, 0xa953,
@@ -10973,7 +11934,7 @@ CR_Grapheme_Base[] = { 743,
 0x10080, 0x100fa,
 0x10100, 0x10102,
 0x10107, 0x10133,
-0x10137, 0x1018c,
+0x10137, 0x1018e,
 0x10190, 0x1019b,
 0x101a0, 0x101a0,
 0x101d0, 0x101fc,
@@ -10981,13 +11942,15 @@ CR_Grapheme_Base[] = { 743,
 0x102a0, 0x102d0,
 0x102e1, 0x102fb,
 0x10300, 0x10323,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x10375,
 0x10380, 0x1039d,
 0x1039f, 0x103c3,
 0x103c8, 0x103d5,
 0x10400, 0x1049d,
 0x104a0, 0x104a9,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x1056f, 0x1056f,
@@ -11012,8 +11975,8 @@ CR_Grapheme_Base[] = { 743,
 0x109d2, 0x10a00,
 0x10a10, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
-0x10a40, 0x10a47,
+0x10a19, 0x10a35,
+0x10a40, 0x10a48,
 0x10a50, 0x10a58,
 0x10a60, 0x10a9f,
 0x10ac0, 0x10ae4,
@@ -11027,8 +11990,12 @@ CR_Grapheme_Base[] = { 743,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
-0x10cfa, 0x10cff,
+0x10cfa, 0x10d23,
+0x10d30, 0x10d39,
 0x10e60, 0x10e7e,
+0x10f00, 0x10f27,
+0x10f30, 0x10f45,
+0x10f51, 0x10f59,
 0x11000, 0x11000,
 0x11002, 0x11037,
 0x11047, 0x1104d,
@@ -11041,11 +12008,11 @@ CR_Grapheme_Base[] = { 743,
 0x110f0, 0x110f9,
 0x11103, 0x11126,
 0x1112c, 0x1112c,
-0x11136, 0x11143,
+0x11136, 0x11146,
 0x11150, 0x11172,
 0x11174, 0x11176,
 0x11182, 0x111b5,
-0x111bf, 0x111c9,
+0x111bf, 0x111c8,
 0x111cd, 0x111cd,
 0x111d0, 0x111df,
 0x111e1, 0x111f4,
@@ -11076,6 +12043,12 @@ CR_Grapheme_Base[] = { 743,
 0x1134b, 0x1134d,
 0x11350, 0x11350,
 0x1135d, 0x11363,
+0x11400, 0x11437,
+0x11440, 0x11441,
+0x11445, 0x11445,
+0x11447, 0x11459,
+0x1145b, 0x1145b,
+0x1145d, 0x1145d,
 0x11480, 0x114af,
 0x114b1, 0x114b2,
 0x114b9, 0x114b9,
@@ -11094,18 +12067,55 @@ CR_Grapheme_Base[] = { 743,
 0x1163e, 0x1163e,
 0x11641, 0x11644,
 0x11650, 0x11659,
+0x11660, 0x1166c,
 0x11680, 0x116aa,
 0x116ac, 0x116ac,
 0x116ae, 0x116af,
 0x116b6, 0x116b6,
 0x116c0, 0x116c9,
-0x11700, 0x11719,
+0x11700, 0x1171a,
 0x11720, 0x11721,
 0x11726, 0x11726,
 0x11730, 0x1173f,
+0x11800, 0x1182e,
+0x11838, 0x11838,
+0x1183b, 0x1183b,
 0x118a0, 0x118f2,
 0x118ff, 0x118ff,
+0x11a00, 0x11a00,
+0x11a0b, 0x11a32,
+0x11a39, 0x11a3a,
+0x11a3f, 0x11a46,
+0x11a50, 0x11a50,
+0x11a57, 0x11a58,
+0x11a5c, 0x11a83,
+0x11a86, 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,
 0x12000, 0x12399,
 0x12400, 0x1246e,
 0x12470, 0x12474,
@@ -11124,10 +12134,15 @@ CR_Grapheme_Base[] = { 743,
 0x16b5b, 0x16b61,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e9a,
 0x16f00, 0x16f44,
 0x16f50, 0x16f7e,
 0x16f93, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -11144,8 +12159,9 @@ CR_Grapheme_Base[] = { 743,
 0x1d1ae, 0x1d1e8,
 0x1d200, 0x1d241,
 0x1d245, 0x1d245,
+0x1d2e0, 0x1d2f3,
 0x1d300, 0x1d356,
-0x1d360, 0x1d371,
+0x1d360, 0x1d378,
 0x1d400, 0x1d454,
 0x1d456, 0x1d49c,
 0x1d49e, 0x1d49f,
@@ -11173,6 +12189,10 @@ CR_Grapheme_Base[] = { 743,
 0x1da85, 0x1da8b,
 0x1e800, 0x1e8c4,
 0x1e8c7, 0x1e8cf,
+0x1e900, 0x1e943,
+0x1e950, 0x1e959,
+0x1e95e, 0x1e95f,
+0x1ec71, 0x1ecb4,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -11214,38 +12234,44 @@ CR_Grapheme_Base[] = { 743,
 0x1f0c1, 0x1f0cf,
 0x1f0d1, 0x1f0f5,
 0x1f100, 0x1f10c,
-0x1f110, 0x1f12e,
-0x1f130, 0x1f16b,
-0x1f170, 0x1f19a,
+0x1f110, 0x1f16b,
+0x1f170, 0x1f1ac,
 0x1f1e6, 0x1f202,
-0x1f210, 0x1f23a,
+0x1f210, 0x1f23b,
 0x1f240, 0x1f248,
 0x1f250, 0x1f251,
-0x1f300, 0x1f579,
-0x1f57b, 0x1f5a3,
-0x1f5a5, 0x1f6d0,
+0x1f260, 0x1f265,
+0x1f300, 0x1f6d4,
 0x1f6e0, 0x1f6ec,
-0x1f6f0, 0x1f6f3,
+0x1f6f0, 0x1f6f9,
 0x1f700, 0x1f773,
-0x1f780, 0x1f7d4,
+0x1f780, 0x1f7d8,
 0x1f800, 0x1f80b,
 0x1f810, 0x1f847,
 0x1f850, 0x1f859,
 0x1f860, 0x1f887,
 0x1f890, 0x1f8ad,
-0x1f910, 0x1f918,
-0x1f980, 0x1f984,
-0x1f9c0, 0x1f9c0,
+0x1f900, 0x1f90b,
+0x1f910, 0x1f93e,
+0x1f940, 0x1f970,
+0x1f973, 0x1f976,
+0x1f97a, 0x1f97a,
+0x1f97c, 0x1f9a2,
+0x1f9b0, 0x1f9b9,
+0x1f9c0, 0x1f9c2,
+0x1f9d0, 0x1f9ff,
+0x1fa60, 0x1fa6d,
 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[] = { 283,
+CR_Grapheme_Extend[] = { 331,
 0x0300, 0x036f,
 0x0483, 0x0489,
 0x0591, 0x05bd,
@@ -11264,11 +12290,13 @@ CR_Grapheme_Extend[] = { 283,
 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,
@@ -11283,6 +12311,7 @@ CR_Grapheme_Extend[] = { 283,
 0x09cd, 0x09cd,
 0x09d7, 0x09d7,
 0x09e2, 0x09e3,
+0x09fe, 0x09fe,
 0x0a01, 0x0a02,
 0x0a3c, 0x0a3c,
 0x0a41, 0x0a42,
@@ -11297,6 +12326,7 @@ CR_Grapheme_Extend[] = { 283,
 0x0ac7, 0x0ac8,
 0x0acd, 0x0acd,
 0x0ae2, 0x0ae3,
+0x0afa, 0x0aff,
 0x0b01, 0x0b01,
 0x0b3c, 0x0b3c,
 0x0b3e, 0x0b3f,
@@ -11310,6 +12340,7 @@ CR_Grapheme_Extend[] = { 283,
 0x0bcd, 0x0bcd,
 0x0bd7, 0x0bd7,
 0x0c00, 0x0c00,
+0x0c04, 0x0c04,
 0x0c3e, 0x0c40,
 0x0c46, 0x0c48,
 0x0c4a, 0x0c4d,
@@ -11323,7 +12354,8 @@ CR_Grapheme_Extend[] = { 283,
 0x0ccc, 0x0ccd,
 0x0cd5, 0x0cd6,
 0x0ce2, 0x0ce3,
-0x0d01, 0x0d01,
+0x0d00, 0x0d01,
+0x0d3b, 0x0d3c,
 0x0d3e, 0x0d3e,
 0x0d41, 0x0d44,
 0x0d4d, 0x0d4d,
@@ -11373,6 +12405,7 @@ CR_Grapheme_Extend[] = { 283,
 0x17c9, 0x17d3,
 0x17dd, 0x17dd,
 0x180b, 0x180d,
+0x1885, 0x1886,
 0x18a9, 0x18a9,
 0x1920, 0x1922,
 0x1927, 0x1928,
@@ -11410,9 +12443,9 @@ CR_Grapheme_Extend[] = { 283,
 0x1ced, 0x1ced,
 0x1cf4, 0x1cf4,
 0x1cf8, 0x1cf9,
-0x1dc0, 0x1df5,
-0x1dfc, 0x1dff,
-0x200c, 0x200d,
+0x1dc0, 0x1df9,
+0x1dfb, 0x1dff,
+0x200c, 0x200c,
 0x20d0, 0x20f0,
 0x2cef, 0x2cf1,
 0x2d7f, 0x2d7f,
@@ -11427,8 +12460,9 @@ CR_Grapheme_Extend[] = { 283,
 0xa806, 0xa806,
 0xa80b, 0xa80b,
 0xa825, 0xa826,
-0xa8c4, 0xa8c4,
+0xa8c4, 0xa8c5,
 0xa8e0, 0xa8f1,
+0xa8ff, 0xa8ff,
 0xa926, 0xa92d,
 0xa947, 0xa951,
 0xa980, 0xa982,
@@ -11465,6 +12499,8 @@ CR_Grapheme_Extend[] = { 283,
 0x10a38, 0x10a3a,
 0x10a3f, 0x10a3f,
 0x10ae5, 0x10ae6,
+0x10d24, 0x10d27,
+0x10f46, 0x10f50,
 0x11001, 0x11001,
 0x11038, 0x11046,
 0x1107f, 0x11081,
@@ -11476,19 +12512,24 @@ CR_Grapheme_Extend[] = { 283,
 0x11173, 0x11173,
 0x11180, 0x11181,
 0x111b6, 0x111be,
-0x111ca, 0x111cc,
+0x111c9, 0x111cc,
 0x1122f, 0x11231,
 0x11234, 0x11234,
 0x11236, 0x11237,
+0x1123e, 0x1123e,
 0x112df, 0x112df,
 0x112e3, 0x112ea,
 0x11300, 0x11301,
-0x1133c, 0x1133c,
+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,
@@ -11510,6 +12551,32 @@ CR_Grapheme_Extend[] = { 283,
 0x1171d, 0x1171f,
 0x11722, 0x11725,
 0x11727, 0x1172b,
+0x1182f, 0x11837,
+0x11839, 0x1183a,
+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,
 0x16f8f, 0x16f92,
@@ -11527,13 +12594,20 @@ CR_Grapheme_Extend[] = { 283,
 0x1da84, 0x1da84,
 0x1da9b, 0x1da9f,
 0x1daa1, 0x1daaf,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e8d0, 0x1e8d6,
+0x1e944, 0x1e94a,
+0xe0020, 0xe007f,
 0xe0100, 0xe01ef,
 }; /* END of CR_Grapheme_Extend */
 
 /* PROPERTY: 'Grapheme_Link': Derived Property */
 static const OnigCodePoint
-CR_Grapheme_Link[] = { 41,
+CR_Grapheme_Link[] = { 50,
 0x094d, 0x094d,
 0x09cd, 0x09cd,
 0x0a4d, 0x0a4d,
@@ -11542,6 +12616,7 @@ CR_Grapheme_Link[] = { 41,
 0x0bcd, 0x0bcd,
 0x0c4d, 0x0c4d,
 0x0ccd, 0x0ccd,
+0x0d3b, 0x0d3c,
 0x0d4d, 0x0d4d,
 0x0dca, 0x0dca,
 0x0e3a, 0x0e3a,
@@ -11570,11 +12645,19 @@ CR_Grapheme_Link[] = { 41,
 0x11235, 0x11235,
 0x112ea, 0x112ea,
 0x1134d, 0x1134d,
+0x11442, 0x11442,
 0x114c2, 0x114c2,
 0x115bf, 0x115bf,
 0x1163f, 0x1163f,
 0x116b6, 0x116b6,
 0x1172b, 0x1172b,
+0x11839, 0x11839,
+0x11a34, 0x11a34,
+0x11a47, 0x11a47,
+0x11a99, 0x11a99,
+0x11c3f, 0x11c3f,
+0x11d44, 0x11d45,
+0x11d97, 0x11d97,
 }; /* END of CR_Grapheme_Link */
 
 /* PROPERTY: 'Greek': Script */
@@ -11613,7 +12696,7 @@ CR_Greek[] = { 36,
 0x1ff6, 0x1ffe,
 0x2126, 0x2126,
 0xab65, 0xab65,
-0x10140, 0x1018c,
+0x10140, 0x1018e,
 0x101a0, 0x101a0,
 0x1d200, 0x1d245,
 }; /* END of CR_Greek */
@@ -11634,9 +12717,20 @@ CR_Gujarati[] = { 14,
 0x0ad0, 0x0ad0,
 0x0ae0, 0x0ae3,
 0x0ae6, 0x0af1,
-0x0af9, 0x0af9,
+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,
@@ -11655,12 +12749,12 @@ CR_Gurmukhi[] = { 16,
 0x0a51, 0x0a51,
 0x0a59, 0x0a5c,
 0x0a5e, 0x0a5e,
-0x0a66, 0x0a75,
+0x0a66, 0x0a76,
 }; /* END of CR_Gurmukhi */
 
 /* PROPERTY: 'Han': Script */
 static const OnigCodePoint
-CR_Han[] = { 16,
+CR_Han[] = { 17,
 0x2e80, 0x2e99,
 0x2e9b, 0x2ef3,
 0x2f00, 0x2fd5,
@@ -11669,13 +12763,14 @@ CR_Han[] = { 16,
 0x3021, 0x3029,
 0x3038, 0x303b,
 0x3400, 0x4db5,
-0x4e00, 0x9fd5,
+0x4e00, 0x9fef,
 0xf900, 0xfa6d,
 0xfa70, 0xfad9,
 0x20000, 0x2a6d6,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 0x2f800, 0x2fa1d,
 }; /* END of CR_Han */
 
@@ -11698,6 +12793,13 @@ CR_Hangul[] = { 14,
 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,
@@ -11717,7 +12819,7 @@ static const OnigCodePoint
 CR_Hebrew[] = { 9,
 0x0591, 0x05c7,
 0x05d0, 0x05ea,
-0x05f0, 0x05f4,
+0x05ef, 0x05f4,
 0xfb1d, 0xfb36,
 0xfb38, 0xfb3c,
 0xfb3e, 0xfb3e,
@@ -11742,7 +12844,7 @@ static const OnigCodePoint
 CR_Hiragana[] = { 4,
 0x3041, 0x3096,
 0x309d, 0x309f,
-0x1b001, 0x1b001,
+0x1b001, 0x1b11e,
 0x1f200, 0x1f200,
 }; /* END of CR_Hiragana */
 
@@ -11776,7 +12878,7 @@ CR_IDS_Trinary_Operator[] = { 1,
 
 /* PROPERTY: 'ID_Continue': Derived Property */
 static const OnigCodePoint
-CR_ID_Continue[] = { 651,
+CR_ID_Continue[] = { 707,
 0x0030, 0x0039,
 0x0041, 0x005a,
 0x005f, 0x005f,
@@ -11805,14 +12907,14 @@ CR_ID_Continue[] = { 651,
 0x048a, 0x052f,
 0x0531, 0x0556,
 0x0559, 0x0559,
-0x0561, 0x0587,
+0x0560, 0x0588,
 0x0591, 0x05bd,
 0x05bf, 0x05bf,
 0x05c1, 0x05c2,
 0x05c4, 0x05c5,
 0x05c7, 0x05c7,
 0x05d0, 0x05ea,
-0x05f0, 0x05f2,
+0x05ef, 0x05f2,
 0x0610, 0x061a,
 0x0620, 0x0669,
 0x066e, 0x06d3,
@@ -11824,9 +12926,13 @@ CR_ID_Continue[] = { 651,
 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,
@@ -11843,6 +12949,8 @@ CR_ID_Continue[] = { 651,
 0x09dc, 0x09dd,
 0x09df, 0x09e3,
 0x09e6, 0x09f1,
+0x09fc, 0x09fc,
+0x09fe, 0x09fe,
 0x0a01, 0x0a03,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
@@ -11872,7 +12980,7 @@ CR_ID_Continue[] = { 651,
 0x0ad0, 0x0ad0,
 0x0ae0, 0x0ae3,
 0x0ae6, 0x0aef,
-0x0af9, 0x0af9,
+0x0af9, 0x0aff,
 0x0b01, 0x0b03,
 0x0b05, 0x0b0c,
 0x0b0f, 0x0b10,
@@ -11904,8 +13012,7 @@ CR_ID_Continue[] = { 651,
 0x0bd0, 0x0bd0,
 0x0bd7, 0x0bd7,
 0x0be6, 0x0bef,
-0x0c00, 0x0c03,
-0x0c05, 0x0c0c,
+0x0c00, 0x0c0c,
 0x0c0e, 0x0c10,
 0x0c12, 0x0c28,
 0x0c2a, 0x0c39,
@@ -11916,7 +13023,7 @@ CR_ID_Continue[] = { 651,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c63,
 0x0c66, 0x0c6f,
-0x0c81, 0x0c83,
+0x0c80, 0x0c83,
 0x0c85, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
@@ -11930,14 +13037,13 @@ CR_ID_Continue[] = { 651,
 0x0ce0, 0x0ce3,
 0x0ce6, 0x0cef,
 0x0cf1, 0x0cf2,
-0x0d01, 0x0d03,
+0x0d00, 0x0d03,
 0x0d05, 0x0d0c,
 0x0d0e, 0x0d10,
-0x0d12, 0x0d3a,
-0x0d3d, 0x0d44,
+0x0d12, 0x0d44,
 0x0d46, 0x0d48,
 0x0d4a, 0x0d4e,
-0x0d57, 0x0d57,
+0x0d54, 0x0d57,
 0x0d5f, 0x0d63,
 0x0d66, 0x0d6f,
 0x0d7a, 0x0d7f,
@@ -12031,7 +13137,7 @@ CR_ID_Continue[] = { 651,
 0x17e0, 0x17e9,
 0x180b, 0x180d,
 0x1810, 0x1819,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -12056,11 +13162,13 @@ CR_ID_Continue[] = { 651,
 0x1c00, 0x1c37,
 0x1c40, 0x1c49,
 0x1c4d, 0x1c7d,
+0x1c80, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1cd0, 0x1cd2,
-0x1cd4, 0x1cf6,
-0x1cf8, 0x1cf9,
-0x1d00, 0x1df5,
-0x1dfc, 0x1f15,
+0x1cd4, 0x1cf9,
+0x1d00, 0x1df9,
+0x1dfb, 0x1f15,
 0x1f18, 0x1f1d,
 0x1f20, 0x1f45,
 0x1f48, 0x1f4d,
@@ -12127,12 +13235,12 @@ CR_ID_Continue[] = { 651,
 0x3099, 0x309f,
 0x30a1, 0x30fa,
 0x30fc, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x31a0, 0x31ba,
 0x31f0, 0x31ff,
 0x3400, 0x4db5,
-0x4e00, 0x9fd5,
+0x4e00, 0x9fef,
 0xa000, 0xa48c,
 0xa4d0, 0xa4fd,
 0xa500, 0xa60c,
@@ -12142,16 +13250,14 @@ CR_ID_Continue[] = { 651,
 0xa67f, 0xa6f1,
 0xa717, 0xa71f,
 0xa722, 0xa788,
-0xa78b, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa78b, 0xa7b9,
 0xa7f7, 0xa827,
 0xa840, 0xa873,
-0xa880, 0xa8c4,
+0xa880, 0xa8c5,
 0xa8d0, 0xa8d9,
 0xa8e0, 0xa8f7,
 0xa8fb, 0xa8fb,
-0xa8fd, 0xa8fd,
-0xa900, 0xa92d,
+0xa8fd, 0xa92d,
 0xa930, 0xa953,
 0xa960, 0xa97c,
 0xa980, 0xa9c0,
@@ -12221,7 +13327,7 @@ CR_ID_Continue[] = { 651,
 0x102a0, 0x102d0,
 0x102e0, 0x102e0,
 0x10300, 0x1031f,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x1037a,
 0x10380, 0x1039d,
 0x103a0, 0x103c3,
@@ -12229,6 +13335,8 @@ CR_ID_Continue[] = { 651,
 0x103d1, 0x103d5,
 0x10400, 0x1049d,
 0x104a0, 0x104a9,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x10600, 0x10736,
@@ -12252,7 +13360,7 @@ CR_ID_Continue[] = { 651,
 0x10a05, 0x10a06,
 0x10a0c, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a38, 0x10a3a,
 0x10a3f, 0x10a3f,
 0x10a60, 0x10a7c,
@@ -12266,6 +13374,11 @@ CR_ID_Continue[] = { 651,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
+0x10d00, 0x10d27,
+0x10d30, 0x10d39,
+0x10f00, 0x10f1c,
+0x10f27, 0x10f27,
+0x10f30, 0x10f50,
 0x11000, 0x11046,
 0x11066, 0x1106f,
 0x1107f, 0x110ba,
@@ -12273,14 +13386,16 @@ CR_ID_Continue[] = { 651,
 0x110f0, 0x110f9,
 0x11100, 0x11134,
 0x11136, 0x1113f,
+0x11144, 0x11146,
 0x11150, 0x11173,
 0x11176, 0x11176,
 0x11180, 0x111c4,
-0x111ca, 0x111cc,
+0x111c9, 0x111cc,
 0x111d0, 0x111da,
 0x111dc, 0x111dc,
 0x11200, 0x11211,
 0x11213, 0x11237,
+0x1123e, 0x1123e,
 0x11280, 0x11286,
 0x11288, 0x11288,
 0x1128a, 0x1128d,
@@ -12295,7 +13410,7 @@ CR_ID_Continue[] = { 651,
 0x1132a, 0x11330,
 0x11332, 0x11333,
 0x11335, 0x11339,
-0x1133c, 0x11344,
+0x1133b, 0x11344,
 0x11347, 0x11348,
 0x1134b, 0x1134d,
 0x11350, 0x11350,
@@ -12303,6 +13418,9 @@ CR_ID_Continue[] = { 651,
 0x1135d, 0x11363,
 0x11366, 0x1136c,
 0x11370, 0x11374,
+0x11400, 0x1144a,
+0x11450, 0x11459,
+0x1145e, 0x1145e,
 0x11480, 0x114c5,
 0x114c7, 0x114c7,
 0x114d0, 0x114d9,
@@ -12314,12 +13432,39 @@ CR_ID_Continue[] = { 651,
 0x11650, 0x11659,
 0x11680, 0x116b7,
 0x116c0, 0x116c9,
-0x11700, 0x11719,
+0x11700, 0x1171a,
 0x1171d, 0x1172b,
 0x11730, 0x11739,
+0x11800, 0x1183a,
 0x118a0, 0x118e9,
 0x118ff, 0x118ff,
+0x11a00, 0x11a3e,
+0x11a47, 0x11a47,
+0x11a50, 0x11a83,
+0x11a86, 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,
@@ -12335,10 +13480,15 @@ CR_ID_Continue[] = { 651,
 0x16b50, 0x16b59,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e7f,
 0x16f00, 0x16f44,
 0x16f50, 0x16f7e,
 0x16f8f, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -12387,8 +13537,15 @@ CR_ID_Continue[] = { 651,
 0x1da84, 0x1da84,
 0x1da9b, 0x1da9f,
 0x1daa1, 0x1daaf,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e800, 0x1e8c4,
 0x1e8d0, 0x1e8d6,
+0x1e900, 0x1e94a,
+0x1e950, 0x1e959,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -12426,13 +13583,14 @@ CR_ID_Continue[] = { 651,
 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[] = { 555,
+CR_ID_Start[] = { 599,
 0x0041, 0x005a,
 0x0061, 0x007a,
 0x00aa, 0x00aa,
@@ -12458,9 +13616,9 @@ CR_ID_Start[] = { 555,
 0x048a, 0x052f,
 0x0531, 0x0556,
 0x0559, 0x0559,
-0x0561, 0x0587,
+0x0560, 0x0588,
 0x05d0, 0x05ea,
-0x05f0, 0x05f2,
+0x05ef, 0x05f2,
 0x0620, 0x064a,
 0x066e, 0x066f,
 0x0671, 0x06d3,
@@ -12481,7 +13639,9 @@ CR_ID_Start[] = { 555,
 0x0824, 0x0824,
 0x0828, 0x0828,
 0x0840, 0x0858,
+0x0860, 0x086a,
 0x08a0, 0x08b4,
+0x08b6, 0x08bd,
 0x0904, 0x0939,
 0x093d, 0x093d,
 0x0950, 0x0950,
@@ -12498,6 +13658,7 @@ CR_ID_Start[] = { 555,
 0x09dc, 0x09dd,
 0x09df, 0x09e1,
 0x09f0, 0x09f1,
+0x09fc, 0x09fc,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
 0x0a13, 0x0a28,
@@ -12546,6 +13707,7 @@ CR_ID_Start[] = { 555,
 0x0c3d, 0x0c3d,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c61,
+0x0c80, 0x0c80,
 0x0c85, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
@@ -12560,6 +13722,7 @@ CR_ID_Start[] = { 555,
 0x0d12, 0x0d3a,
 0x0d3d, 0x0d3d,
 0x0d4e, 0x0d4e,
+0x0d54, 0x0d56,
 0x0d5f, 0x0d61,
 0x0d7a, 0x0d7f,
 0x0d85, 0x0d96,
@@ -12637,7 +13800,7 @@ CR_ID_Start[] = { 555,
 0x1780, 0x17b3,
 0x17d7, 0x17d7,
 0x17dc, 0x17dc,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18a8,
 0x18aa, 0x18aa,
 0x18b0, 0x18f5,
@@ -12657,6 +13820,9 @@ CR_ID_Start[] = { 555,
 0x1c00, 0x1c23,
 0x1c4d, 0x1c4f,
 0x1c5a, 0x1c7d,
+0x1c80, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1ce9, 0x1cec,
 0x1cee, 0x1cf1,
 0x1cf5, 0x1cf6,
@@ -12723,12 +13889,12 @@ CR_ID_Start[] = { 555,
 0x309b, 0x309f,
 0x30a1, 0x30fa,
 0x30fc, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x31a0, 0x31ba,
 0x31f0, 0x31ff,
 0x3400, 0x4db5,
-0x4e00, 0x9fd5,
+0x4e00, 0x9fef,
 0xa000, 0xa48c,
 0xa4d0, 0xa4fd,
 0xa500, 0xa60c,
@@ -12739,8 +13905,7 @@ CR_ID_Start[] = { 555,
 0xa6a0, 0xa6ef,
 0xa717, 0xa71f,
 0xa722, 0xa788,
-0xa78b, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa78b, 0xa7b9,
 0xa7f7, 0xa801,
 0xa803, 0xa805,
 0xa807, 0xa80a,
@@ -12749,7 +13914,7 @@ CR_ID_Start[] = { 555,
 0xa882, 0xa8b3,
 0xa8f2, 0xa8f7,
 0xa8fb, 0xa8fb,
-0xa8fd, 0xa8fd,
+0xa8fd, 0xa8fe,
 0xa90a, 0xa925,
 0xa930, 0xa946,
 0xa960, 0xa97c,
@@ -12819,13 +13984,15 @@ CR_ID_Start[] = { 555,
 0x10280, 0x1029c,
 0x102a0, 0x102d0,
 0x10300, 0x1031f,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x10375,
 0x10380, 0x1039d,
 0x103a0, 0x103c3,
 0x103c8, 0x103cf,
 0x103d1, 0x103d5,
 0x10400, 0x1049d,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x10600, 0x10736,
@@ -12848,7 +14015,7 @@ CR_ID_Start[] = { 555,
 0x10a00, 0x10a00,
 0x10a10, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a60, 0x10a7c,
 0x10a80, 0x10a9c,
 0x10ac0, 0x10ac7,
@@ -12860,10 +14027,15 @@ CR_ID_Start[] = { 555,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
+0x10d00, 0x10d23,
+0x10f00, 0x10f1c,
+0x10f27, 0x10f27,
+0x10f30, 0x10f45,
 0x11003, 0x11037,
 0x11083, 0x110af,
 0x110d0, 0x110e8,
 0x11103, 0x11126,
+0x11144, 0x11144,
 0x11150, 0x11172,
 0x11176, 0x11176,
 0x11183, 0x111b2,
@@ -12887,6 +14059,8 @@ CR_ID_Start[] = { 555,
 0x1133d, 0x1133d,
 0x11350, 0x11350,
 0x1135d, 0x11361,
+0x11400, 0x11434,
+0x11447, 0x1144a,
 0x11480, 0x114af,
 0x114c4, 0x114c5,
 0x114c7, 0x114c7,
@@ -12895,10 +14069,31 @@ CR_ID_Start[] = { 555,
 0x11600, 0x1162f,
 0x11644, 0x11644,
 0x11680, 0x116aa,
-0x11700, 0x11719,
+0x11700, 0x1171a,
+0x11800, 0x1182b,
 0x118a0, 0x118df,
 0x118ff, 0x118ff,
+0x11a00, 0x11a00,
+0x11a0b, 0x11a32,
+0x11a3a, 0x11a3a,
+0x11a50, 0x11a50,
+0x11a5c, 0x11a83,
+0x11a86, 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,
@@ -12911,10 +14106,15 @@ CR_ID_Start[] = { 555,
 0x16b40, 0x16b43,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e7f,
 0x16f00, 0x16f44,
 0x16f50, 0x16f50,
 0x16f93, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -12950,6 +14150,7 @@ CR_ID_Start[] = { 555,
 0x1d7aa, 0x1d7c2,
 0x1d7c4, 0x1d7cb,
 0x1e800, 0x1e8c4,
+0x1e900, 0x1e943,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -12987,23 +14188,28 @@ CR_ID_Start[] = { 555,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 0x2f800, 0x2fa1d,
 }; /* END of CR_ID_Start */
 
 /* PROPERTY: 'Ideographic': Binary Property */
 static const OnigCodePoint
-CR_Ideographic[] = { 12,
+CR_Ideographic[] = { 16,
 0x3006, 0x3007,
 0x3021, 0x3029,
 0x3038, 0x303a,
 0x3400, 0x4db5,
-0x4e00, 0x9fd5,
+0x4e00, 0x9fef,
 0xf900, 0xfa6d,
 0xfa70, 0xfad9,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b170, 0x1b2fb,
 0x20000, 0x2a6d6,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 0x2f800, 0x2fa1d,
 }; /* END of CR_Ideographic */
 
@@ -13016,7 +14222,7 @@ CR_Imperial_Aramaic[] = { 2,
 
 /* PROPERTY: 'Inherited': Script */
 static const OnigCodePoint
-CR_Inherited[] = { 27,
+CR_Inherited[] = { 28,
 0x0300, 0x036f,
 0x0485, 0x0486,
 0x064b, 0x0655,
@@ -13029,8 +14235,8 @@ CR_Inherited[] = { 27,
 0x1ced, 0x1ced,
 0x1cf4, 0x1cf4,
 0x1cf8, 0x1cf9,
-0x1dc0, 0x1df5,
-0x1dfc, 0x1dff,
+0x1dc0, 0x1df9,
+0x1dfb, 0x1dff,
 0x200c, 0x200d,
 0x20d0, 0x20f0,
 0x302a, 0x302d,
@@ -13039,6 +14245,7 @@ CR_Inherited[] = { 27,
 0xfe20, 0xfe2d,
 0x101fd, 0x101fd,
 0x102e0, 0x102e0,
+0x1133b, 0x1133b,
 0x1d167, 0x1d169,
 0x1d17b, 0x1d182,
 0x1d185, 0x1d18b,
@@ -13076,15 +14283,15 @@ CR_Join_Control[] = { 1,
 
 /* PROPERTY: 'Kaithi': Script */
 static const OnigCodePoint
-CR_Kaithi[] = { 1,
+CR_Kaithi[] = { 2,
 0x11080, 0x110c1,
+0x110cd, 0x110cd,
 }; /* END of CR_Kaithi */
 
 /* PROPERTY: 'Kannada': Script */
 static const OnigCodePoint
-CR_Kannada[] = { 14,
-0x0c81, 0x0c83,
-0x0c85, 0x0c8c,
+CR_Kannada[] = { 13,
+0x0c80, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
 0x0caa, 0x0cb3,
@@ -13126,9 +14333,9 @@ CR_Kharoshthi[] = { 8,
 0x10a05, 0x10a06,
 0x10a0c, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a38, 0x10a3a,
-0x10a3f, 0x10a47,
+0x10a3f, 0x10a48,
 0x10a50, 0x10a58,
 }; /* END of CR_Kharoshthi */
 
@@ -13145,7 +14352,7 @@ CR_Khmer[] = { 4,
 static const OnigCodePoint
 CR_Khojki[] = { 2,
 0x11200, 0x11211,
-0x11213, 0x1123d,
+0x11213, 0x1123e,
 }; /* END of CR_Khojki */
 
 /* PROPERTY: 'Khudawadi': Script */
@@ -13157,7 +14364,7 @@ CR_Khudawadi[] = { 2,
 
 /* PROPERTY: 'L': Major Category */
 static const OnigCodePoint
-CR_L[] = { 554,
+CR_L[] = { 599,
 0x0041, 0x005a,
 0x0061, 0x007a,
 0x00aa, 0x00aa,
@@ -13183,9 +14390,9 @@ CR_L[] = { 554,
 0x048a, 0x052f,
 0x0531, 0x0556,
 0x0559, 0x0559,
-0x0561, 0x0587,
+0x0560, 0x0588,
 0x05d0, 0x05ea,
-0x05f0, 0x05f2,
+0x05ef, 0x05f2,
 0x0620, 0x064a,
 0x066e, 0x066f,
 0x0671, 0x06d3,
@@ -13206,7 +14413,9 @@ CR_L[] = { 554,
 0x0824, 0x0824,
 0x0828, 0x0828,
 0x0840, 0x0858,
+0x0860, 0x086a,
 0x08a0, 0x08b4,
+0x08b6, 0x08bd,
 0x0904, 0x0939,
 0x093d, 0x093d,
 0x0950, 0x0950,
@@ -13223,6 +14432,7 @@ CR_L[] = { 554,
 0x09dc, 0x09dd,
 0x09df, 0x09e1,
 0x09f0, 0x09f1,
+0x09fc, 0x09fc,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
 0x0a13, 0x0a28,
@@ -13271,6 +14481,7 @@ CR_L[] = { 554,
 0x0c3d, 0x0c3d,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c61,
+0x0c80, 0x0c80,
 0x0c85, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
@@ -13285,6 +14496,7 @@ CR_L[] = { 554,
 0x0d12, 0x0d3a,
 0x0d3d, 0x0d3d,
 0x0d4e, 0x0d4e,
+0x0d54, 0x0d56,
 0x0d5f, 0x0d61,
 0x0d7a, 0x0d7f,
 0x0d85, 0x0d96,
@@ -13362,8 +14574,9 @@ CR_L[] = { 554,
 0x1780, 0x17b3,
 0x17d7, 0x17d7,
 0x17dc, 0x17dc,
-0x1820, 0x1877,
-0x1880, 0x18a8,
+0x1820, 0x1878,
+0x1880, 0x1884,
+0x1887, 0x18a8,
 0x18aa, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -13382,6 +14595,9 @@ CR_L[] = { 554,
 0x1c00, 0x1c23,
 0x1c4d, 0x1c4f,
 0x1c5a, 0x1c7d,
+0x1c80, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1ce9, 0x1cec,
 0x1cee, 0x1cf1,
 0x1cf5, 0x1cf6,
@@ -13449,12 +14665,12 @@ CR_L[] = { 554,
 0x309d, 0x309f,
 0x30a1, 0x30fa,
 0x30fc, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x31a0, 0x31ba,
 0x31f0, 0x31ff,
 0x3400, 0x4db5,
-0x4e00, 0x9fd5,
+0x4e00, 0x9fef,
 0xa000, 0xa48c,
 0xa4d0, 0xa4fd,
 0xa500, 0xa60c,
@@ -13465,8 +14681,7 @@ CR_L[] = { 554,
 0xa6a0, 0xa6e5,
 0xa717, 0xa71f,
 0xa722, 0xa788,
-0xa78b, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa78b, 0xa7b9,
 0xa7f7, 0xa801,
 0xa803, 0xa805,
 0xa807, 0xa80a,
@@ -13475,7 +14690,7 @@ CR_L[] = { 554,
 0xa882, 0xa8b3,
 0xa8f2, 0xa8f7,
 0xa8fb, 0xa8fb,
-0xa8fd, 0xa8fd,
+0xa8fd, 0xa8fe,
 0xa90a, 0xa925,
 0xa930, 0xa946,
 0xa960, 0xa97c,
@@ -13544,13 +14759,15 @@ CR_L[] = { 554,
 0x10280, 0x1029c,
 0x102a0, 0x102d0,
 0x10300, 0x1031f,
-0x10330, 0x10340,
+0x1032d, 0x10340,
 0x10342, 0x10349,
 0x10350, 0x10375,
 0x10380, 0x1039d,
 0x103a0, 0x103c3,
 0x103c8, 0x103cf,
 0x10400, 0x1049d,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x10600, 0x10736,
@@ -13573,7 +14790,7 @@ CR_L[] = { 554,
 0x10a00, 0x10a00,
 0x10a10, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a60, 0x10a7c,
 0x10a80, 0x10a9c,
 0x10ac0, 0x10ac7,
@@ -13585,10 +14802,15 @@ CR_L[] = { 554,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
+0x10d00, 0x10d23,
+0x10f00, 0x10f1c,
+0x10f27, 0x10f27,
+0x10f30, 0x10f45,
 0x11003, 0x11037,
 0x11083, 0x110af,
 0x110d0, 0x110e8,
 0x11103, 0x11126,
+0x11144, 0x11144,
 0x11150, 0x11172,
 0x11176, 0x11176,
 0x11183, 0x111b2,
@@ -13612,6 +14834,8 @@ CR_L[] = { 554,
 0x1133d, 0x1133d,
 0x11350, 0x11350,
 0x1135d, 0x11361,
+0x11400, 0x11434,
+0x11447, 0x1144a,
 0x11480, 0x114af,
 0x114c4, 0x114c5,
 0x114c7, 0x114c7,
@@ -13620,10 +14844,31 @@ CR_L[] = { 554,
 0x11600, 0x1162f,
 0x11644, 0x11644,
 0x11680, 0x116aa,
-0x11700, 0x11719,
+0x11700, 0x1171a,
+0x11800, 0x1182b,
 0x118a0, 0x118df,
 0x118ff, 0x118ff,
+0x11a00, 0x11a00,
+0x11a0b, 0x11a32,
+0x11a3a, 0x11a3a,
+0x11a50, 0x11a50,
+0x11a5c, 0x11a83,
+0x11a86, 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,
@@ -13635,10 +14880,15 @@ CR_L[] = { 554,
 0x16b40, 0x16b43,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e7f,
 0x16f00, 0x16f44,
 0x16f50, 0x16f50,
 0x16f93, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -13674,6 +14924,7 @@ CR_L[] = { 554,
 0x1d7aa, 0x1d7c2,
 0x1d7c4, 0x1d7cb,
 0x1e800, 0x1e8c4,
+0x1e900, 0x1e943,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -13711,12 +14962,13 @@ CR_L[] = { 554,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 0x2f800, 0x2fa1d,
 }; /* END of CR_L */
 
 /* PROPERTY: 'LC': General Category */
 static const OnigCodePoint
-CR_LC[] = { 122,
+CR_LC[] = { 130,
 0x0041, 0x005a,
 0x0061, 0x007a,
 0x00b5, 0x00b5,
@@ -13738,12 +14990,17 @@ CR_LC[] = { 122,
 0x03f7, 0x0481,
 0x048a, 0x052f,
 0x0531, 0x0556,
-0x0561, 0x0587,
+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,
@@ -13795,8 +15052,7 @@ CR_LC[] = { 122,
 0xa722, 0xa76f,
 0xa771, 0xa787,
 0xa78b, 0xa78e,
-0xa790, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa790, 0xa7b9,
 0xa7fa, 0xa7fa,
 0xab30, 0xab5a,
 0xab60, 0xab65,
@@ -13806,9 +15062,12 @@ CR_LC[] = { 122,
 0xff21, 0xff3a,
 0xff41, 0xff5a,
 0x10400, 0x1044f,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
 0x118a0, 0x118df,
+0x16e40, 0x16e7f,
 0x1d400, 0x1d454,
 0x1d456, 0x1d49c,
 0x1d49e, 0x1d49f,
@@ -13839,6 +15098,7 @@ CR_LC[] = { 122,
 0x1d78a, 0x1d7a8,
 0x1d7aa, 0x1d7c2,
 0x1d7c4, 0x1d7cb,
+0x1e900, 0x1e943,
 }; /* END of CR_LC */
 
 /* PROPERTY: 'Lao': Script */
@@ -13866,7 +15126,7 @@ CR_Lao[] = { 18,
 
 /* PROPERTY: 'Latin': Script */
 static const OnigCodePoint
-CR_Latin[] = { 31,
+CR_Latin[] = { 30,
 0x0041, 0x005a,
 0x0061, 0x007a,
 0x00aa, 0x00aa,
@@ -13890,8 +15150,7 @@ CR_Latin[] = { 31,
 0x2160, 0x2188,
 0x2c60, 0x2c7f,
 0xa722, 0xa787,
-0xa78b, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa78b, 0xa7b9,
 0xa7f7, 0xa7ff,
 0xab30, 0xab5a,
 0xab5c, 0xab64,
@@ -13946,7 +15205,7 @@ CR_Lisu[] = { 1,
 
 /* PROPERTY: 'Ll': General Category */
 static const OnigCodePoint
-CR_Ll[] = { 630,
+CR_Ll[] = { 638,
 0x0061, 0x007a,
 0x00b5, 0x00b5,
 0x00df, 0x00f6,
@@ -14216,8 +15475,11 @@ CR_Ll[] = { 630,
 0x052b, 0x052b,
 0x052d, 0x052d,
 0x052f, 0x052f,
-0x0561, 0x0587,
+0x0560, 0x0588,
+0x10d0, 0x10fa,
+0x10fd, 0x10ff,
 0x13f8, 0x13fd,
+0x1c80, 0x1c88,
 0x1d00, 0x1d2b,
 0x1d6b, 0x1d77,
 0x1d79, 0x1d9a,
@@ -14537,8 +15799,10 @@ CR_Ll[] = { 630,
 0xa7a5, 0xa7a5,
 0xa7a7, 0xa7a7,
 0xa7a9, 0xa7a9,
+0xa7af, 0xa7af,
 0xa7b5, 0xa7b5,
 0xa7b7, 0xa7b7,
+0xa7b9, 0xa7b9,
 0xa7fa, 0xa7fa,
 0xab30, 0xab5a,
 0xab60, 0xab65,
@@ -14547,8 +15811,10 @@ CR_Ll[] = { 630,
 0xfb13, 0xfb17,
 0xff41, 0xff5a,
 0x10428, 0x1044f,
+0x104d8, 0x104fb,
 0x10cc0, 0x10cf2,
 0x118c0, 0x118df,
+0x16e60, 0x16e7f,
 0x1d41a, 0x1d433,
 0x1d44e, 0x1d454,
 0x1d456, 0x1d467,
@@ -14577,11 +15843,12 @@ CR_Ll[] = { 630,
 0x1d7aa, 0x1d7c2,
 0x1d7c4, 0x1d7c9,
 0x1d7cb, 0x1d7cb,
+0x1e922, 0x1e943,
 }; /* END of CR_Ll */
 
 /* PROPERTY: 'Lm': General Category */
 static const OnigCodePoint
-CR_Lm[] = { 56,
+CR_Lm[] = { 57,
 0x02b0, 0x02c1,
 0x02c6, 0x02d1,
 0x02e0, 0x02e4,
@@ -14638,18 +15905,19 @@ CR_Lm[] = { 56,
 0xff9e, 0xff9f,
 0x16b40, 0x16b43,
 0x16f93, 0x16f9f,
+0x16fe0, 0x16fe1,
 }; /* END of CR_Lm */
 
 /* PROPERTY: 'Lo': General Category */
 static const OnigCodePoint
-CR_Lo[] = { 433,
+CR_Lo[] = { 470,
 0x00aa, 0x00aa,
 0x00ba, 0x00ba,
 0x01bb, 0x01bb,
 0x01c0, 0x01c3,
 0x0294, 0x0294,
 0x05d0, 0x05ea,
-0x05f0, 0x05f2,
+0x05ef, 0x05f2,
 0x0620, 0x063f,
 0x0641, 0x064a,
 0x066e, 0x066f,
@@ -14665,7 +15933,9 @@ CR_Lo[] = { 433,
 0x07ca, 0x07ea,
 0x0800, 0x0815,
 0x0840, 0x0858,
+0x0860, 0x086a,
 0x08a0, 0x08b4,
+0x08b6, 0x08bd,
 0x0904, 0x0939,
 0x093d, 0x093d,
 0x0950, 0x0950,
@@ -14682,6 +15952,7 @@ CR_Lo[] = { 433,
 0x09dc, 0x09dd,
 0x09df, 0x09e1,
 0x09f0, 0x09f1,
+0x09fc, 0x09fc,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
 0x0a13, 0x0a28,
@@ -14730,6 +16001,7 @@ CR_Lo[] = { 433,
 0x0c3d, 0x0c3d,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c61,
+0x0c80, 0x0c80,
 0x0c85, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
@@ -14744,6 +16016,7 @@ CR_Lo[] = { 433,
 0x0d12, 0x0d3a,
 0x0d3d, 0x0d3d,
 0x0d4e, 0x0d4e,
+0x0d54, 0x0d56,
 0x0d5f, 0x0d61,
 0x0d7a, 0x0d7f,
 0x0d85, 0x0d96,
@@ -14783,8 +16056,7 @@ CR_Lo[] = { 433,
 0x106e, 0x1070,
 0x1075, 0x1081,
 0x108e, 0x108e,
-0x10d0, 0x10fa,
-0x10fd, 0x1248,
+0x1100, 0x1248,
 0x124a, 0x124d,
 0x1250, 0x1256,
 0x1258, 0x1258,
@@ -14815,8 +16087,9 @@ CR_Lo[] = { 433,
 0x1780, 0x17b3,
 0x17dc, 0x17dc,
 0x1820, 0x1842,
-0x1844, 0x1877,
-0x1880, 0x18a8,
+0x1844, 0x1878,
+0x1880, 0x1884,
+0x1887, 0x18a8,
 0x18aa, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -14854,12 +16127,12 @@ CR_Lo[] = { 433,
 0x309f, 0x309f,
 0x30a1, 0x30fa,
 0x30ff, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x31a0, 0x31ba,
 0x31f0, 0x31ff,
 0x3400, 0x4db5,
-0x4e00, 0x9fd5,
+0x4e00, 0x9fef,
 0xa000, 0xa014,
 0xa016, 0xa48c,
 0xa4d0, 0xa4f7,
@@ -14878,7 +16151,7 @@ CR_Lo[] = { 433,
 0xa882, 0xa8b3,
 0xa8f2, 0xa8f7,
 0xa8fb, 0xa8fb,
-0xa8fd, 0xa8fd,
+0xa8fd, 0xa8fe,
 0xa90a, 0xa925,
 0xa930, 0xa946,
 0xa960, 0xa97c,
@@ -14943,7 +16216,7 @@ CR_Lo[] = { 433,
 0x10280, 0x1029c,
 0x102a0, 0x102d0,
 0x10300, 0x1031f,
-0x10330, 0x10340,
+0x1032d, 0x10340,
 0x10342, 0x10349,
 0x10350, 0x10375,
 0x10380, 0x1039d,
@@ -14972,7 +16245,7 @@ CR_Lo[] = { 433,
 0x10a00, 0x10a00,
 0x10a10, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a60, 0x10a7c,
 0x10a80, 0x10a9c,
 0x10ac0, 0x10ac7,
@@ -14982,10 +16255,15 @@ CR_Lo[] = { 433,
 0x10b60, 0x10b72,
 0x10b80, 0x10b91,
 0x10c00, 0x10c48,
+0x10d00, 0x10d23,
+0x10f00, 0x10f1c,
+0x10f27, 0x10f27,
+0x10f30, 0x10f45,
 0x11003, 0x11037,
 0x11083, 0x110af,
 0x110d0, 0x110e8,
 0x11103, 0x11126,
+0x11144, 0x11144,
 0x11150, 0x11172,
 0x11176, 0x11176,
 0x11183, 0x111b2,
@@ -15009,6 +16287,8 @@ CR_Lo[] = { 433,
 0x1133d, 0x1133d,
 0x11350, 0x11350,
 0x1135d, 0x11361,
+0x11400, 0x11434,
+0x11447, 0x1144a,
 0x11480, 0x114af,
 0x114c4, 0x114c5,
 0x114c7, 0x114c7,
@@ -15017,9 +16297,30 @@ CR_Lo[] = { 433,
 0x11600, 0x1162f,
 0x11644, 0x11644,
 0x11680, 0x116aa,
-0x11700, 0x11719,
+0x11700, 0x1171a,
+0x11800, 0x1182b,
 0x118ff, 0x118ff,
+0x11a00, 0x11a00,
+0x11a0b, 0x11a32,
+0x11a3a, 0x11a3a,
+0x11a50, 0x11a50,
+0x11a5c, 0x11a83,
+0x11a86, 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,
@@ -15032,7 +16333,10 @@ CR_Lo[] = { 433,
 0x16b7d, 0x16b8f,
 0x16f00, 0x16f44,
 0x16f50, 0x16f50,
-0x1b000, 0x1b001,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -15075,6 +16379,7 @@ CR_Lo[] = { 433,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 0x2f800, 0x2fa1d,
 }; /* END of CR_Lo */
 
@@ -15110,7 +16415,7 @@ CR_Lt[] = { 10,
 
 /* PROPERTY: 'Lu': General Category */
 static const OnigCodePoint
-CR_Lu[] = { 625,
+CR_Lu[] = { 631,
 0x0041, 0x005a,
 0x00c0, 0x00d6,
 0x00d8, 0x00de,
@@ -15387,6 +16692,8 @@ CR_Lu[] = { 625,
 0x10c7, 0x10c7,
 0x10cd, 0x10cd,
 0x13a0, 0x13f5,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1e00, 0x1e00,
 0x1e02, 0x1e02,
 0x1e04, 0x1e04,
@@ -15698,13 +17005,16 @@ CR_Lu[] = { 625,
 0xa7a4, 0xa7a4,
 0xa7a6, 0xa7a6,
 0xa7a8, 0xa7a8,
-0xa7aa, 0xa7ad,
+0xa7aa, 0xa7ae,
 0xa7b0, 0xa7b4,
 0xa7b6, 0xa7b6,
+0xa7b8, 0xa7b8,
 0xff21, 0xff3a,
 0x10400, 0x10427,
+0x104b0, 0x104d3,
 0x10c80, 0x10cb2,
 0x118a0, 0x118bf,
+0x16e40, 0x16e5f,
 0x1d400, 0x1d419,
 0x1d434, 0x1d44d,
 0x1d468, 0x1d481,
@@ -15736,6 +17046,7 @@ CR_Lu[] = { 625,
 0x1d756, 0x1d76e,
 0x1d790, 0x1d7a8,
 0x1d7ca, 0x1d7ca,
+0x1e900, 0x1e921,
 }; /* END of CR_Lu */
 
 /* PROPERTY: 'Lycian': Script */
@@ -15753,7 +17064,7 @@ CR_Lydian[] = { 2,
 
 /* PROPERTY: 'M': Major Category */
 static const OnigCodePoint
-CR_M[] = { 236,
+CR_M[] = { 275,
 0x0300, 0x036f,
 0x0483, 0x0489,
 0x0591, 0x05bd,
@@ -15772,11 +17083,13 @@ CR_M[] = { 236,
 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,
@@ -15789,6 +17102,7 @@ CR_M[] = { 236,
 0x09cb, 0x09cd,
 0x09d7, 0x09d7,
 0x09e2, 0x09e3,
+0x09fe, 0x09fe,
 0x0a01, 0x0a03,
 0x0a3c, 0x0a3c,
 0x0a3e, 0x0a42,
@@ -15803,6 +17117,7 @@ CR_M[] = { 236,
 0x0ac7, 0x0ac9,
 0x0acb, 0x0acd,
 0x0ae2, 0x0ae3,
+0x0afa, 0x0aff,
 0x0b01, 0x0b03,
 0x0b3c, 0x0b3c,
 0x0b3e, 0x0b44,
@@ -15815,7 +17130,7 @@ CR_M[] = { 236,
 0x0bc6, 0x0bc8,
 0x0bca, 0x0bcd,
 0x0bd7, 0x0bd7,
-0x0c00, 0x0c03,
+0x0c00, 0x0c04,
 0x0c3e, 0x0c44,
 0x0c46, 0x0c48,
 0x0c4a, 0x0c4d,
@@ -15828,7 +17143,8 @@ CR_M[] = { 236,
 0x0cca, 0x0ccd,
 0x0cd5, 0x0cd6,
 0x0ce2, 0x0ce3,
-0x0d01, 0x0d03,
+0x0d00, 0x0d03,
+0x0d3b, 0x0d3c,
 0x0d3e, 0x0d44,
 0x0d46, 0x0d48,
 0x0d4a, 0x0d4d,
@@ -15874,6 +17190,7 @@ CR_M[] = { 236,
 0x17b4, 0x17d3,
 0x17dd, 0x17dd,
 0x180b, 0x180d,
+0x1885, 0x1886,
 0x18a9, 0x18a9,
 0x1920, 0x192b,
 0x1930, 0x193b,
@@ -15893,9 +17210,9 @@ CR_M[] = { 236,
 0x1cd4, 0x1ce8,
 0x1ced, 0x1ced,
 0x1cf2, 0x1cf4,
-0x1cf8, 0x1cf9,
-0x1dc0, 0x1df5,
-0x1dfc, 0x1dff,
+0x1cf7, 0x1cf9,
+0x1dc0, 0x1df9,
+0x1dfb, 0x1dff,
 0x20d0, 0x20f0,
 0x2cef, 0x2cf1,
 0x2d7f, 0x2d7f,
@@ -15911,8 +17228,9 @@ CR_M[] = { 236,
 0xa80b, 0xa80b,
 0xa823, 0xa827,
 0xa880, 0xa881,
-0xa8b4, 0xa8c4,
+0xa8b4, 0xa8c5,
 0xa8e0, 0xa8f1,
+0xa8ff, 0xa8ff,
 0xa926, 0xa92d,
 0xa947, 0xa953,
 0xa980, 0xa983,
@@ -15943,20 +17261,24 @@ CR_M[] = { 236,
 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,
-0x111ca, 0x111cc,
+0x111c9, 0x111cc,
 0x1122c, 0x11237,
+0x1123e, 0x1123e,
 0x112df, 0x112ea,
 0x11300, 0x11303,
-0x1133c, 0x1133c,
+0x1133b, 0x1133c,
 0x1133e, 0x11344,
 0x11347, 0x11348,
 0x1134b, 0x1134d,
@@ -15964,6 +17286,8 @@ CR_M[] = { 236,
 0x11362, 0x11363,
 0x11366, 0x1136c,
 0x11370, 0x11374,
+0x11435, 0x11446,
+0x1145e, 0x1145e,
 0x114b0, 0x114c3,
 0x115af, 0x115b5,
 0x115b8, 0x115c0,
@@ -15971,6 +17295,26 @@ CR_M[] = { 236,
 0x11630, 0x11640,
 0x116ab, 0x116b7,
 0x1171d, 0x1172b,
+0x1182c, 0x1183a,
+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,
 0x16f51, 0x16f7e,
@@ -15988,7 +17332,13 @@ CR_M[] = { 236,
 0x1da84, 0x1da84,
 0x1da9b, 0x1da9f,
 0x1daa1, 0x1daaf,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e8d0, 0x1e8d6,
+0x1e944, 0x1e94a,
 0xe0100, 0xe01ef,
 }; /* END of CR_M */
 
@@ -15998,20 +17348,23 @@ 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[] = { 11,
-0x0d01, 0x0d03,
+CR_Malayalam[] = { 8,
+0x0d00, 0x0d03,
 0x0d05, 0x0d0c,
 0x0d0e, 0x0d10,
-0x0d12, 0x0d3a,
-0x0d3d, 0x0d44,
+0x0d12, 0x0d44,
 0x0d46, 0x0d48,
-0x0d4a, 0x0d4e,
-0x0d57, 0x0d57,
-0x0d5f, 0x0d63,
-0x0d66, 0x0d75,
-0x0d79, 0x0d7f,
+0x0d4a, 0x0d4f,
+0x0d54, 0x0d63,
+0x0d66, 0x0d7f,
 }; /* END of CR_Malayalam */
 
 /* PROPERTY: 'Mandaic': Script */
@@ -16028,6 +17381,26 @@ CR_Manichaean[] = { 2,
 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,
@@ -16173,7 +17546,7 @@ CR_Math[] = { 138,
 
 /* PROPERTY: 'Mc': General Category */
 static const OnigCodePoint
-CR_Mc[] = { 147,
+CR_Mc[] = { 166,
 0x0903, 0x0903,
 0x093b, 0x093b,
 0x093e, 0x0940,
@@ -16261,6 +17634,7 @@ CR_Mc[] = { 147,
 0x1c34, 0x1c35,
 0x1ce1, 0x1ce1,
 0x1cf2, 0x1cf3,
+0x1cf7, 0x1cf7,
 0x302e, 0x302f,
 0xa823, 0xa824,
 0xa827, 0xa827,
@@ -16289,6 +17663,7 @@ CR_Mc[] = { 147,
 0x110b0, 0x110b2,
 0x110b7, 0x110b8,
 0x1112c, 0x1112c,
+0x11145, 0x11146,
 0x11182, 0x11182,
 0x111b3, 0x111b5,
 0x111bf, 0x111c0,
@@ -16303,6 +17678,9 @@ CR_Mc[] = { 147,
 0x1134b, 0x1134d,
 0x11357, 0x11357,
 0x11362, 0x11363,
+0x11435, 0x11437,
+0x11440, 0x11441,
+0x11445, 0x11445,
 0x114b0, 0x114b2,
 0x114b9, 0x114b9,
 0x114bb, 0x114be,
@@ -16318,6 +17696,20 @@ CR_Mc[] = { 147,
 0x116b6, 0x116b6,
 0x11720, 0x11721,
 0x11726, 0x11726,
+0x1182c, 0x1182e,
+0x11838, 0x11838,
+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, 0x16f7e,
 0x1d165, 0x1d166,
 0x1d16d, 0x1d172,
@@ -16333,6 +17725,12 @@ CR_Me[] = { 5,
 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,
@@ -16372,7 +17770,7 @@ CR_Miao[] = { 3,
 
 /* PROPERTY: 'Mn': General Category */
 static const OnigCodePoint
-CR_Mn[] = { 266,
+CR_Mn[] = { 313,
 0x0300, 0x036f,
 0x0483, 0x0487,
 0x0591, 0x05bd,
@@ -16391,11 +17789,13 @@ CR_Mn[] = { 266,
 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,
@@ -16408,6 +17808,7 @@ CR_Mn[] = { 266,
 0x09c1, 0x09c4,
 0x09cd, 0x09cd,
 0x09e2, 0x09e3,
+0x09fe, 0x09fe,
 0x0a01, 0x0a02,
 0x0a3c, 0x0a3c,
 0x0a41, 0x0a42,
@@ -16422,6 +17823,7 @@ CR_Mn[] = { 266,
 0x0ac7, 0x0ac8,
 0x0acd, 0x0acd,
 0x0ae2, 0x0ae3,
+0x0afa, 0x0aff,
 0x0b01, 0x0b01,
 0x0b3c, 0x0b3c,
 0x0b3f, 0x0b3f,
@@ -16433,6 +17835,7 @@ CR_Mn[] = { 266,
 0x0bc0, 0x0bc0,
 0x0bcd, 0x0bcd,
 0x0c00, 0x0c00,
+0x0c04, 0x0c04,
 0x0c3e, 0x0c40,
 0x0c46, 0x0c48,
 0x0c4a, 0x0c4d,
@@ -16444,7 +17847,8 @@ CR_Mn[] = { 266,
 0x0cc6, 0x0cc6,
 0x0ccc, 0x0ccd,
 0x0ce2, 0x0ce3,
-0x0d01, 0x0d01,
+0x0d00, 0x0d01,
+0x0d3b, 0x0d3c,
 0x0d41, 0x0d44,
 0x0d4d, 0x0d4d,
 0x0d62, 0x0d63,
@@ -16490,6 +17894,7 @@ CR_Mn[] = { 266,
 0x17c9, 0x17d3,
 0x17dd, 0x17dd,
 0x180b, 0x180d,
+0x1885, 0x1886,
 0x18a9, 0x18a9,
 0x1920, 0x1922,
 0x1927, 0x1928,
@@ -16527,8 +17932,8 @@ CR_Mn[] = { 266,
 0x1ced, 0x1ced,
 0x1cf4, 0x1cf4,
 0x1cf8, 0x1cf9,
-0x1dc0, 0x1df5,
-0x1dfc, 0x1dff,
+0x1dc0, 0x1df9,
+0x1dfb, 0x1dff,
 0x20d0, 0x20dc,
 0x20e1, 0x20e1,
 0x20e5, 0x20f0,
@@ -16545,8 +17950,9 @@ CR_Mn[] = { 266,
 0xa806, 0xa806,
 0xa80b, 0xa80b,
 0xa825, 0xa826,
-0xa8c4, 0xa8c4,
+0xa8c4, 0xa8c5,
 0xa8e0, 0xa8f1,
+0xa8ff, 0xa8ff,
 0xa926, 0xa92d,
 0xa947, 0xa951,
 0xa980, 0xa982,
@@ -16582,6 +17988,8 @@ CR_Mn[] = { 266,
 0x10a38, 0x10a3a,
 0x10a3f, 0x10a3f,
 0x10ae5, 0x10ae6,
+0x10d24, 0x10d27,
+0x10f46, 0x10f50,
 0x11001, 0x11001,
 0x11038, 0x11046,
 0x1107f, 0x11081,
@@ -16593,17 +18001,22 @@ CR_Mn[] = { 266,
 0x11173, 0x11173,
 0x11180, 0x11181,
 0x111b6, 0x111be,
-0x111ca, 0x111cc,
+0x111c9, 0x111cc,
 0x1122f, 0x11231,
 0x11234, 0x11234,
 0x11236, 0x11237,
+0x1123e, 0x1123e,
 0x112df, 0x112df,
 0x112e3, 0x112ea,
 0x11300, 0x11301,
-0x1133c, 0x1133c,
+0x1133b, 0x1133c,
 0x11340, 0x11340,
 0x11366, 0x1136c,
 0x11370, 0x11374,
+0x11438, 0x1143f,
+0x11442, 0x11444,
+0x11446, 0x11446,
+0x1145e, 0x1145e,
 0x114b3, 0x114b8,
 0x114ba, 0x114ba,
 0x114bf, 0x114c0,
@@ -16622,6 +18035,32 @@ CR_Mn[] = { 266,
 0x1171d, 0x1171f,
 0x11722, 0x11725,
 0x11727, 0x1172b,
+0x1182f, 0x11837,
+0x11839, 0x1183a,
+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,
 0x16f8f, 0x16f92,
@@ -16637,7 +18076,13 @@ CR_Mn[] = { 266,
 0x1da84, 0x1da84,
 0x1da9b, 0x1da9f,
 0x1daa1, 0x1daaf,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e8d0, 0x1e8d6,
+0x1e944, 0x1e94a,
 0xe0100, 0xe01ef,
 }; /* END of CR_Mn */
 
@@ -16650,13 +18095,14 @@ CR_Modi[] = { 2,
 
 /* PROPERTY: 'Mongolian': Script */
 static const OnigCodePoint
-CR_Mongolian[] = { 6,
+CR_Mongolian[] = { 7,
 0x1800, 0x1801,
 0x1804, 0x1804,
 0x1806, 0x180e,
 0x1810, 0x1819,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18aa,
+0x11660, 0x1166c,
 }; /* END of CR_Mongolian */
 
 /* PROPERTY: 'Mro': Script */
@@ -16687,7 +18133,7 @@ CR_Myanmar[] = { 3,
 
 /* PROPERTY: 'N': Major Category */
 static const OnigCodePoint
-CR_N[] = { 111,
+CR_N[] = { 125,
 0x0030, 0x0039,
 0x00b2, 0x00b3,
 0x00b9, 0x00b9,
@@ -16706,7 +18152,8 @@ CR_N[] = { 111,
 0x0c66, 0x0c6f,
 0x0c78, 0x0c7e,
 0x0ce6, 0x0cef,
-0x0d66, 0x0d75,
+0x0d58, 0x0d5e,
+0x0d66, 0x0d78,
 0x0de6, 0x0def,
 0x0e50, 0x0e59,
 0x0ed0, 0x0ed9,
@@ -16771,7 +18218,7 @@ CR_N[] = { 111,
 0x109bc, 0x109bd,
 0x109c0, 0x109cf,
 0x109d2, 0x109ff,
-0x10a40, 0x10a47,
+0x10a40, 0x10a48,
 0x10a7d, 0x10a7e,
 0x10a9d, 0x10a9f,
 0x10aeb, 0x10aef,
@@ -16779,25 +18226,38 @@ CR_N[] = { 111,
 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,
 0x12400, 0x1246e,
 0x16a60, 0x16a69,
 0x16b50, 0x16b59,
 0x16b5b, 0x16b61,
-0x1d360, 0x1d371,
+0x16e80, 0x16e96,
+0x1d2e0, 0x1d2f3,
+0x1d360, 0x1d378,
 0x1d7ce, 0x1d7ff,
 0x1e8c7, 0x1e8cf,
+0x1e950, 0x1e959,
+0x1ec71, 0x1ecab,
+0x1ecad, 0x1ecaf,
+0x1ecb1, 0x1ecb4,
 0x1f100, 0x1f10c,
 }; /* END of CR_N */
 
@@ -16820,10 +18280,19 @@ CR_New_Tai_Lue[] = { 4,
 0x19de, 0x19df,
 }; /* END of CR_New_Tai_Lue */
 
+/* PROPERTY: 'Newa': Script */
+static const OnigCodePoint
+CR_Newa[] = { 3,
+0x11400, 0x11459,
+0x1145b, 0x1145b,
+0x1145d, 0x1145e,
+}; /* END of CR_Newa */
+
 /* PROPERTY: 'Nko': Script */
 static const OnigCodePoint
-CR_Nko[] = { 1,
+CR_Nko[] = { 2,
 0x07c0, 0x07fa,
+0x07fd, 0x07ff,
 }; /* END of CR_Nko */
 
 /* PROPERTY: 'Nl': General Category */
@@ -16845,7 +18314,7 @@ CR_Nl[] = { 12,
 
 /* PROPERTY: 'No': General Category */
 static const OnigCodePoint
-CR_No[] = { 58,
+CR_No[] = { 67,
 0x00b2, 0x00b3,
 0x00b9, 0x00b9,
 0x00bc, 0x00be,
@@ -16853,7 +18322,8 @@ CR_No[] = { 58,
 0x0b72, 0x0b77,
 0x0bf0, 0x0bf2,
 0x0c78, 0x0c7e,
-0x0d70, 0x0d75,
+0x0d58, 0x0d5e,
+0x0d70, 0x0d78,
 0x0f2a, 0x0f33,
 0x1369, 0x137c,
 0x17f0, 0x17f9,
@@ -16887,7 +18357,7 @@ CR_No[] = { 58,
 0x109bc, 0x109bd,
 0x109c0, 0x109cf,
 0x109d2, 0x109ff,
-0x10a40, 0x10a47,
+0x10a40, 0x10a48,
 0x10a7d, 0x10a7e,
 0x10a9d, 0x10a9f,
 0x10aeb, 0x10aef,
@@ -16896,13 +18366,21 @@ CR_No[] = { 58,
 0x10ba9, 0x10baf,
 0x10cfa, 0x10cff,
 0x10e60, 0x10e7e,
+0x10f1d, 0x10f26,
+0x10f51, 0x10f54,
 0x11052, 0x11065,
 0x111e1, 0x111f4,
 0x1173a, 0x1173b,
 0x118ea, 0x118f2,
+0x11c5a, 0x11c6c,
 0x16b5b, 0x16b61,
-0x1d360, 0x1d371,
+0x16e80, 0x16e96,
+0x1d2e0, 0x1d2f3,
+0x1d360, 0x1d378,
 0x1e8c7, 0x1e8cf,
+0x1ec71, 0x1ecab,
+0x1ecad, 0x1ecaf,
+0x1ecb1, 0x1ecb4,
 0x1f100, 0x1f10c,
 }; /* END of CR_No */
 
@@ -16929,6 +18407,13 @@ CR_Noncharacter_Code_Point[] = { 18,
 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: 'Ogham': Script */
 static const OnigCodePoint
 CR_Ogham[] = { 1,
@@ -16951,8 +18436,9 @@ CR_Old_Hungarian[] = { 3,
 
 /* PROPERTY: 'Old_Italic': Script */
 static const OnigCodePoint
-CR_Old_Italic[] = { 1,
+CR_Old_Italic[] = { 2,
 0x10300, 0x10323,
+0x1032d, 0x1032f,
 }; /* END of CR_Old_Italic */
 
 /* PROPERTY: 'Old_North_Arabian': Script */
@@ -16974,6 +18460,12 @@ CR_Old_Persian[] = { 2,
 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,
@@ -17005,6 +18497,13 @@ CR_Oriya[] = { 14,
 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,
@@ -17014,7 +18513,7 @@ CR_Osmanya[] = { 2,
 
 /* PROPERTY: 'Other_Alphabetic': Binary Property */
 static const OnigCodePoint
-CR_Other_Alphabetic[] = { 178,
+CR_Other_Alphabetic[] = { 213,
 0x0345, 0x0345,
 0x05b0, 0x05bd,
 0x05bf, 0x05bf,
@@ -17036,6 +18535,7 @@ CR_Other_Alphabetic[] = { 178,
 0x081b, 0x0823,
 0x0825, 0x0827,
 0x0829, 0x082c,
+0x08d4, 0x08df,
 0x08e3, 0x08e9,
 0x08f0, 0x0903,
 0x093a, 0x093b,
@@ -17061,6 +18561,7 @@ CR_Other_Alphabetic[] = { 178,
 0x0ac7, 0x0ac9,
 0x0acb, 0x0acc,
 0x0ae2, 0x0ae3,
+0x0afa, 0x0afc,
 0x0b01, 0x0b03,
 0x0b3e, 0x0b44,
 0x0b47, 0x0b48,
@@ -17084,7 +18585,7 @@ CR_Other_Alphabetic[] = { 178,
 0x0cca, 0x0ccc,
 0x0cd5, 0x0cd6,
 0x0ce2, 0x0ce3,
-0x0d01, 0x0d03,
+0x0d00, 0x0d03,
 0x0d3e, 0x0d44,
 0x0d46, 0x0d48,
 0x0d4a, 0x0d4c,
@@ -17121,6 +18622,7 @@ CR_Other_Alphabetic[] = { 178,
 0x1752, 0x1753,
 0x1772, 0x1773,
 0x17b6, 0x17c8,
+0x1885, 0x1886,
 0x18a9, 0x18a9,
 0x1920, 0x192b,
 0x1930, 0x1938,
@@ -17143,6 +18645,7 @@ CR_Other_Alphabetic[] = { 178,
 0xa823, 0xa827,
 0xa880, 0xa881,
 0xa8b4, 0xa8c3,
+0xa8c5, 0xa8c5,
 0xa926, 0xa92a,
 0xa947, 0xa952,
 0xa980, 0xa983,
@@ -17162,16 +18665,19 @@ CR_Other_Alphabetic[] = { 178,
 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,
@@ -17179,6 +18685,8 @@ CR_Other_Alphabetic[] = { 178,
 0x1134b, 0x1134c,
 0x11357, 0x11357,
 0x11362, 0x11363,
+0x11435, 0x11441,
+0x11443, 0x11445,
 0x114b0, 0x114c1,
 0x115af, 0x115b5,
 0x115b8, 0x115be,
@@ -17187,9 +18695,35 @@ CR_Other_Alphabetic[] = { 178,
 0x11640, 0x11640,
 0x116ab, 0x116b5,
 0x1171d, 0x1172a,
+0x1182c, 0x11838,
+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,
 0x16b30, 0x16b36,
 0x16f51, 0x16f7e,
 0x1bc9e, 0x1bc9e,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
+0x1e947, 0x1e947,
 0x1f130, 0x1f149,
 0x1f150, 0x1f169,
 0x1f170, 0x1f189,
@@ -17213,7 +18747,7 @@ CR_Other_Default_Ignorable_Code_Point[] = { 11,
 
 /* PROPERTY: 'Other_Grapheme_Extend': Binary Property */
 static const OnigCodePoint
-CR_Other_Grapheme_Extend[] = { 22,
+CR_Other_Grapheme_Extend[] = { 23,
 0x09be, 0x09be,
 0x09d7, 0x09d7,
 0x0b3e, 0x0b3e,
@@ -17226,7 +18760,7 @@ CR_Other_Grapheme_Extend[] = { 22,
 0x0d57, 0x0d57,
 0x0dcf, 0x0dcf,
 0x0ddf, 0x0ddf,
-0x200c, 0x200d,
+0x200c, 0x200c,
 0x302e, 0x302f,
 0xff9e, 0xff9f,
 0x1133e, 0x1133e,
@@ -17236,6 +18770,7 @@ CR_Other_Grapheme_Extend[] = { 22,
 0x115af, 0x115af,
 0x1d165, 0x1d165,
 0x1d16e, 0x1d172,
+0xe0020, 0xe007f,
 }; /* END of CR_Other_Grapheme_Extend */
 
 /* PROPERTY: 'Other_ID_Continue': Binary Property */
@@ -17249,7 +18784,8 @@ CR_Other_ID_Continue[] = { 4,
 
 /* PROPERTY: 'Other_ID_Start': Binary Property */
 static const OnigCodePoint
-CR_Other_ID_Start[] = { 3,
+CR_Other_ID_Start[] = { 4,
+0x1885, 0x1886,
 0x2118, 0x2118,
 0x212e, 0x212e,
 0x309b, 0x309c,
@@ -17653,7 +19189,7 @@ CR_Pi[] = { 11,
 
 /* PROPERTY: 'Po': General Category */
 static const OnigCodePoint
-CR_Po[] = { 157,
+CR_Po[] = { 175,
 0x0021, 0x0023,
 0x0025, 0x0027,
 0x002a, 0x002a,
@@ -17686,7 +19222,10 @@ CR_Po[] = { 157,
 0x085e, 0x085e,
 0x0964, 0x0965,
 0x0970, 0x0970,
+0x09fd, 0x09fd,
+0x0a76, 0x0a76,
 0x0af0, 0x0af0,
+0x0c84, 0x0c84,
 0x0df4, 0x0df4,
 0x0e4f, 0x0e4f,
 0x0e5a, 0x0e5b,
@@ -17737,6 +19276,7 @@ CR_Po[] = { 157,
 0x2e30, 0x2e39,
 0x2e3c, 0x2e3f,
 0x2e41, 0x2e41,
+0x2e43, 0x2e4e,
 0x3001, 0x3003,
 0x303d, 0x303d,
 0x30fb, 0x30fb,
@@ -17789,30 +19329,55 @@ CR_Po[] = { 157,
 0x10af0, 0x10af6,
 0x10b39, 0x10b3f,
 0x10b99, 0x10b9c,
+0x10f55, 0x10f59,
 0x11047, 0x1104d,
 0x110bb, 0x110bc,
 0x110be, 0x110c1,
 0x11140, 0x11143,
 0x11174, 0x11175,
-0x111c5, 0x111c9,
+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,
+0x11a3f, 0x11a46,
+0x11a9a, 0x11a9c,
+0x11a9e, 0x11aa2,
+0x11c41, 0x11c45,
+0x11c70, 0x11c71,
+0x11ef7, 0x11ef8,
 0x12470, 0x12474,
 0x16a6e, 0x16a6f,
 0x16af5, 0x16af5,
 0x16b37, 0x16b3b,
 0x16b44, 0x16b44,
+0x16e97, 0x16e9a,
 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,
@@ -17927,6 +19492,12 @@ CR_Radical[] = { 3,
 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,
@@ -17943,7 +19514,7 @@ CR_Runic[] = { 2,
 
 /* PROPERTY: 'S': Major Category */
 static const OnigCodePoint
-CR_S[] = { 214,
+CR_S[] = { 220,
 0x0024, 0x0024,
 0x002b, 0x002b,
 0x003c, 0x003e,
@@ -17976,12 +19547,14 @@ CR_S[] = { 214,
 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,
@@ -18012,7 +19585,7 @@ CR_S[] = { 214,
 0x2052, 0x2052,
 0x207a, 0x207c,
 0x208a, 0x208c,
-0x20a0, 0x20be,
+0x20a0, 0x20bf,
 0x2100, 0x2101,
 0x2103, 0x2106,
 0x2108, 0x2109,
@@ -18030,8 +19603,7 @@ CR_S[] = { 214,
 0x218a, 0x218b,
 0x2190, 0x2307,
 0x230c, 0x2328,
-0x232b, 0x23fa,
-0x2400, 0x2426,
+0x232b, 0x2426,
 0x2440, 0x244a,
 0x249c, 0x24e9,
 0x2500, 0x2767,
@@ -18042,10 +19614,8 @@ CR_S[] = { 214,
 0x29dc, 0x29fb,
 0x29fe, 0x2b73,
 0x2b76, 0x2b95,
-0x2b98, 0x2bb9,
-0x2bbd, 0x2bc8,
-0x2bca, 0x2bd1,
-0x2bec, 0x2bef,
+0x2b98, 0x2bc8,
+0x2bca, 0x2bfe,
 0x2ce5, 0x2cea,
 0x2e80, 0x2e99,
 0x2e9b, 0x2ef3,
@@ -18094,7 +19664,7 @@ CR_S[] = { 214,
 0xfffc, 0xfffd,
 0x10137, 0x1013f,
 0x10179, 0x10189,
-0x1018c, 0x1018c,
+0x1018c, 0x1018e,
 0x10190, 0x1019b,
 0x101a0, 0x101a0,
 0x101d0, 0x101fc,
@@ -18129,6 +19699,8 @@ CR_S[] = { 214,
 0x1da6d, 0x1da74,
 0x1da76, 0x1da83,
 0x1da85, 0x1da86,
+0x1ecac, 0x1ecac,
+0x1ecb0, 0x1ecb0,
 0x1eef0, 0x1eef1,
 0x1f000, 0x1f02b,
 0x1f030, 0x1f093,
@@ -18136,41 +19708,87 @@ CR_S[] = { 214,
 0x1f0b1, 0x1f0bf,
 0x1f0c1, 0x1f0cf,
 0x1f0d1, 0x1f0f5,
-0x1f110, 0x1f12e,
-0x1f130, 0x1f16b,
-0x1f170, 0x1f19a,
+0x1f110, 0x1f16b,
+0x1f170, 0x1f1ac,
 0x1f1e6, 0x1f202,
-0x1f210, 0x1f23a,
+0x1f210, 0x1f23b,
 0x1f240, 0x1f248,
 0x1f250, 0x1f251,
-0x1f300, 0x1f579,
-0x1f57b, 0x1f5a3,
-0x1f5a5, 0x1f6d0,
+0x1f260, 0x1f265,
+0x1f300, 0x1f6d4,
 0x1f6e0, 0x1f6ec,
-0x1f6f0, 0x1f6f3,
+0x1f6f0, 0x1f6f9,
 0x1f700, 0x1f773,
-0x1f780, 0x1f7d4,
+0x1f780, 0x1f7d8,
 0x1f800, 0x1f80b,
 0x1f810, 0x1f847,
 0x1f850, 0x1f859,
 0x1f860, 0x1f887,
 0x1f890, 0x1f8ad,
-0x1f910, 0x1f918,
-0x1f980, 0x1f984,
-0x1f9c0, 0x1f9c0,
+0x1f900, 0x1f90b,
+0x1f910, 0x1f93e,
+0x1f940, 0x1f970,
+0x1f973, 0x1f976,
+0x1f97a, 0x1f97a,
+0x1f97c, 0x1f9a2,
+0x1f9b0, 0x1f9b9,
+0x1f9c0, 0x1f9c2,
+0x1f9d0, 0x1f9ff,
+0x1fa60, 0x1fa6d,
 }; /* END of CR_S */
 
-/* PROPERTY: 'STerm': Binary Property */
+/* 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[] = { 19,
+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,
+0x1ecb0, 0x1ecb0,
+}; /* END of CR_Sc */
+
+/* PROPERTY: 'Sentence_Terminal': Binary Property */
 static const OnigCodePoint
-CR_STerm[] = { 64,
+CR_Sentence_Terminal[] = { 74,
 0x0021, 0x0021,
 0x002e, 0x002e,
 0x003f, 0x003f,
 0x0589, 0x0589,
-0x061f, 0x061f,
+0x061e, 0x061f,
 0x06d4, 0x06d4,
 0x0700, 0x0702,
 0x07f9, 0x07f9,
+0x0837, 0x0837,
+0x0839, 0x0839,
+0x083d, 0x083e,
 0x0964, 0x0965,
 0x104a, 0x104b,
 0x1362, 0x1362,
@@ -18208,6 +19826,7 @@ CR_STerm[] = { 64,
 0xff1f, 0xff1f,
 0xff61, 0xff61,
 0x10a56, 0x10a57,
+0x10f55, 0x10f59,
 0x11047, 0x11048,
 0x110be, 0x110c1,
 0x11141, 0x11143,
@@ -18217,53 +19836,23 @@ CR_STerm[] = { 64,
 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_STerm */
-
-/* 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, 0xa8c4,
-0xa8ce, 0xa8d9,
-}; /* END of CR_Saurashtra */
-
-/* PROPERTY: 'Sc': General Category */
-static const OnigCodePoint
-CR_Sc[] = { 17,
-0x0024, 0x0024,
-0x00a2, 0x00a5,
-0x058f, 0x058f,
-0x060b, 0x060b,
-0x09f2, 0x09f3,
-0x09fb, 0x09fb,
-0x0af1, 0x0af1,
-0x0bf9, 0x0bf9,
-0x0e3f, 0x0e3f,
-0x17db, 0x17db,
-0x20a0, 0x20be,
-0xa838, 0xa838,
-0xfdfc, 0xfdfc,
-0xfe69, 0xfe69,
-0xff04, 0xff04,
-0xffe0, 0xffe1,
-0xffe5, 0xffe6,
-}; /* END of CR_Sc */
+}; /* END of CR_Sentence_Terminal */
 
 /* PROPERTY: 'Sharada': Script */
 static const OnigCodePoint
@@ -18416,7 +20005,7 @@ CR_Sm[] = { 64,
 
 /* PROPERTY: 'So': General Category */
 static const OnigCodePoint
-CR_So[] = { 170,
+CR_So[] = { 174,
 0x00a6, 0x00a6,
 0x00a9, 0x00a9,
 0x00ae, 0x00ae,
@@ -18433,6 +20022,7 @@ CR_So[] = { 170,
 0x0bf3, 0x0bf8,
 0x0bfa, 0x0bfa,
 0x0c7f, 0x0c7f,
+0x0d4f, 0x0d4f,
 0x0d79, 0x0d79,
 0x0f01, 0x0f03,
 0x0f13, 0x0f13,
@@ -18481,8 +20071,7 @@ CR_So[] = { 170,
 0x232b, 0x237b,
 0x237d, 0x239a,
 0x23b4, 0x23db,
-0x23e2, 0x23fa,
-0x2400, 0x2426,
+0x23e2, 0x2426,
 0x2440, 0x244a,
 0x249c, 0x24e9,
 0x2500, 0x25b6,
@@ -18496,10 +20085,8 @@ CR_So[] = { 170,
 0x2b45, 0x2b46,
 0x2b4d, 0x2b73,
 0x2b76, 0x2b95,
-0x2b98, 0x2bb9,
-0x2bbd, 0x2bc8,
-0x2bca, 0x2bd1,
-0x2bec, 0x2bef,
+0x2b98, 0x2bc8,
+0x2bca, 0x2bfe,
 0x2ce5, 0x2cea,
 0x2e80, 0x2e99,
 0x2e9b, 0x2ef3,
@@ -18533,7 +20120,7 @@ CR_So[] = { 170,
 0xfffc, 0xfffd,
 0x10137, 0x1013f,
 0x10179, 0x10189,
-0x1018c, 0x1018c,
+0x1018c, 0x1018e,
 0x10190, 0x1019b,
 0x101a0, 0x101a0,
 0x101d0, 0x101fc,
@@ -18558,35 +20145,41 @@ CR_So[] = { 170,
 0x1da6d, 0x1da74,
 0x1da76, 0x1da83,
 0x1da85, 0x1da86,
+0x1ecac, 0x1ecac,
 0x1f000, 0x1f02b,
 0x1f030, 0x1f093,
 0x1f0a0, 0x1f0ae,
 0x1f0b1, 0x1f0bf,
 0x1f0c1, 0x1f0cf,
 0x1f0d1, 0x1f0f5,
-0x1f110, 0x1f12e,
-0x1f130, 0x1f16b,
-0x1f170, 0x1f19a,
+0x1f110, 0x1f16b,
+0x1f170, 0x1f1ac,
 0x1f1e6, 0x1f202,
-0x1f210, 0x1f23a,
+0x1f210, 0x1f23b,
 0x1f240, 0x1f248,
 0x1f250, 0x1f251,
+0x1f260, 0x1f265,
 0x1f300, 0x1f3fa,
-0x1f400, 0x1f579,
-0x1f57b, 0x1f5a3,
-0x1f5a5, 0x1f6d0,
+0x1f400, 0x1f6d4,
 0x1f6e0, 0x1f6ec,
-0x1f6f0, 0x1f6f3,
+0x1f6f0, 0x1f6f9,
 0x1f700, 0x1f773,
-0x1f780, 0x1f7d4,
+0x1f780, 0x1f7d8,
 0x1f800, 0x1f80b,
 0x1f810, 0x1f847,
 0x1f850, 0x1f859,
 0x1f860, 0x1f887,
 0x1f890, 0x1f8ad,
-0x1f910, 0x1f918,
-0x1f980, 0x1f984,
-0x1f9c0, 0x1f9c0,
+0x1f900, 0x1f90b,
+0x1f910, 0x1f93e,
+0x1f940, 0x1f970,
+0x1f973, 0x1f976,
+0x1f97a, 0x1f97a,
+0x1f97c, 0x1f9a2,
+0x1f9b0, 0x1f9b9,
+0x1f9c0, 0x1f9c2,
+0x1f9d0, 0x1f9ff,
+0x1fa60, 0x1fa6d,
 }; /* END of CR_So */
 
 /* PROPERTY: 'Soft_Dotted': Binary Property */
@@ -18625,6 +20218,12 @@ CR_Soft_Dotted[] = { 31,
 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,
@@ -18632,6 +20231,13 @@ CR_Sora_Sompeng[] = { 2,
 0x110f0, 0x110f9,
 }; /* END of CR_Sora_Sompeng */
 
+/* PROPERTY: 'Soyombo': Script */
+static const OnigCodePoint
+CR_Soyombo[] = { 2,
+0x11a50, 0x11a83,
+0x11a86, 0x11aa2,
+}; /* END of CR_Soyombo */
+
 /* PROPERTY: 'Sundanese': Script */
 static const OnigCodePoint
 CR_Sundanese[] = { 2,
@@ -18647,10 +20253,11 @@ CR_Syloti_Nagri[] = { 1,
 
 /* PROPERTY: 'Syriac': Script */
 static const OnigCodePoint
-CR_Syriac[] = { 3,
+CR_Syriac[] = { 4,
 0x0700, 0x070d,
 0x070f, 0x074a,
 0x074d, 0x074f,
+0x0860, 0x086a,
 }; /* END of CR_Syriac */
 
 /* PROPERTY: 'Tagalog': Script */
@@ -18720,11 +20327,18 @@ CR_Tamil[] = { 16,
 0x0be6, 0x0bfa,
 }; /* END of CR_Tamil */
 
+/* PROPERTY: 'Tangut': Script */
+static const OnigCodePoint
+CR_Tangut[] = { 3,
+0x16fe0, 0x16fe0,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+}; /* END of CR_Tangut */
+
 /* PROPERTY: 'Telugu': Script */
 static const OnigCodePoint
-CR_Telugu[] = { 13,
-0x0c00, 0x0c03,
-0x0c05, 0x0c0c,
+CR_Telugu[] = { 12,
+0x0c00, 0x0c0c,
 0x0c0e, 0x0c10,
 0x0c12, 0x0c28,
 0x0c2a, 0x0c39,
@@ -18740,7 +20354,7 @@ CR_Telugu[] = { 13,
 
 /* PROPERTY: 'Terminal_Punctuation': Binary Property */
 static const OnigCodePoint
-CR_Terminal_Punctuation[] = { 90,
+CR_Terminal_Punctuation[] = { 102,
 0x0021, 0x0021,
 0x002c, 0x002c,
 0x002e, 0x002e,
@@ -18752,7 +20366,7 @@ CR_Terminal_Punctuation[] = { 90,
 0x05c3, 0x05c3,
 0x060c, 0x060c,
 0x061b, 0x061b,
-0x061f, 0x061f,
+0x061e, 0x061f,
 0x06d4, 0x06d4,
 0x0700, 0x070a,
 0x070c, 0x070c,
@@ -18783,6 +20397,8 @@ CR_Terminal_Punctuation[] = { 90,
 0x2e2e, 0x2e2e,
 0x2e3c, 0x2e3c,
 0x2e41, 0x2e41,
+0x2e4c, 0x2e4c,
+0x2e4e, 0x2e4e,
 0x3001, 0x3002,
 0xa4fe, 0xa4ff,
 0xa60d, 0xa60f,
@@ -18812,6 +20428,7 @@ CR_Terminal_Punctuation[] = { 90,
 0x10af0, 0x10af5,
 0x10b3a, 0x10b3f,
 0x10b99, 0x10b9c,
+0x10f55, 0x10f59,
 0x11047, 0x1104d,
 0x110be, 0x110c1,
 0x11141, 0x11143,
@@ -18820,15 +20437,24 @@ CR_Terminal_Punctuation[] = { 90,
 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 */
@@ -18882,9 +20508,9 @@ CR_Ugaritic[] = { 2,
 
 /* PROPERTY: 'Unified_Ideograph': Binary Property */
 static const OnigCodePoint
-CR_Unified_Ideograph[] = { 13,
+CR_Unified_Ideograph[] = { 14,
 0x3400, 0x4db5,
-0x4e00, 0x9fd5,
+0x4e00, 0x9fef,
 0xfa0e, 0xfa0f,
 0xfa11, 0xfa11,
 0xfa13, 0xfa14,
@@ -18896,11 +20522,12 @@ CR_Unified_Ideograph[] = { 13,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 }; /* END of CR_Unified_Ideograph */
 
 /* PROPERTY: 'Unknown': Script */
 static const OnigCodePoint
-CR_Unknown[] = { 611,
+CR_Unknown[] = { 656,
 0x0378, 0x0379,
 0x0380, 0x0383,
 0x038b, 0x038b,
@@ -18908,23 +20535,23 @@ CR_Unknown[] = { 611,
 0x03a2, 0x03a2,
 0x0530, 0x0530,
 0x0557, 0x0558,
-0x0560, 0x0560,
-0x0588, 0x0588,
 0x058b, 0x058c,
 0x0590, 0x0590,
 0x05c8, 0x05cf,
-0x05eb, 0x05ef,
+0x05eb, 0x05ee,
 0x05f5, 0x05ff,
 0x061d, 0x061d,
 0x070e, 0x070e,
 0x074b, 0x074c,
 0x07b2, 0x07bf,
-0x07fb, 0x07ff,
+0x07fb, 0x07fc,
 0x082e, 0x082f,
 0x083f, 0x083f,
 0x085c, 0x085d,
-0x085f, 0x089f,
-0x08b5, 0x08e2,
+0x085f, 0x085f,
+0x086b, 0x089f,
+0x08b5, 0x08b5,
+0x08be, 0x08d2,
 0x0984, 0x0984,
 0x098d, 0x098e,
 0x0991, 0x0992,
@@ -18938,7 +20565,7 @@ CR_Unknown[] = { 611,
 0x09d8, 0x09db,
 0x09de, 0x09de,
 0x09e4, 0x09e5,
-0x09fc, 0x0a00,
+0x09ff, 0x0a00,
 0x0a04, 0x0a04,
 0x0a0b, 0x0a0e,
 0x0a11, 0x0a12,
@@ -18954,7 +20581,7 @@ CR_Unknown[] = { 611,
 0x0a52, 0x0a58,
 0x0a5d, 0x0a5d,
 0x0a5f, 0x0a65,
-0x0a76, 0x0a80,
+0x0a77, 0x0a80,
 0x0a84, 0x0a84,
 0x0a8e, 0x0a8e,
 0x0a92, 0x0a92,
@@ -18968,7 +20595,7 @@ CR_Unknown[] = { 611,
 0x0ad1, 0x0adf,
 0x0ae4, 0x0ae5,
 0x0af2, 0x0af8,
-0x0afa, 0x0b00,
+0x0b00, 0x0b00,
 0x0b04, 0x0b04,
 0x0b0d, 0x0b0e,
 0x0b11, 0x0b12,
@@ -18999,7 +20626,6 @@ CR_Unknown[] = { 611,
 0x0bd1, 0x0bd6,
 0x0bd8, 0x0be5,
 0x0bfb, 0x0bff,
-0x0c04, 0x0c04,
 0x0c0d, 0x0c0d,
 0x0c11, 0x0c11,
 0x0c29, 0x0c29,
@@ -19011,8 +20637,6 @@ CR_Unknown[] = { 611,
 0x0c5b, 0x0c5f,
 0x0c64, 0x0c65,
 0x0c70, 0x0c77,
-0x0c80, 0x0c80,
-0x0c84, 0x0c84,
 0x0c8d, 0x0c8d,
 0x0c91, 0x0c91,
 0x0ca9, 0x0ca9,
@@ -19025,17 +20649,14 @@ CR_Unknown[] = { 611,
 0x0cdf, 0x0cdf,
 0x0ce4, 0x0ce5,
 0x0cf0, 0x0cf0,
-0x0cf3, 0x0d00,
+0x0cf3, 0x0cff,
 0x0d04, 0x0d04,
 0x0d0d, 0x0d0d,
 0x0d11, 0x0d11,
-0x0d3b, 0x0d3c,
 0x0d45, 0x0d45,
 0x0d49, 0x0d49,
-0x0d4f, 0x0d56,
-0x0d58, 0x0d5e,
+0x0d50, 0x0d53,
 0x0d64, 0x0d65,
-0x0d76, 0x0d78,
 0x0d80, 0x0d81,
 0x0d84, 0x0d84,
 0x0d97, 0x0d99,
@@ -19112,7 +20733,7 @@ CR_Unknown[] = { 611,
 0x17fa, 0x17ff,
 0x180f, 0x180f,
 0x181a, 0x181f,
-0x1878, 0x187f,
+0x1879, 0x187f,
 0x18ab, 0x18af,
 0x18f6, 0x18ff,
 0x191f, 0x191f,
@@ -19136,11 +20757,11 @@ CR_Unknown[] = { 611,
 0x1bf4, 0x1bfb,
 0x1c38, 0x1c3a,
 0x1c4a, 0x1c4c,
-0x1c80, 0x1cbf,
+0x1c89, 0x1c8f,
+0x1cbb, 0x1cbc,
 0x1cc8, 0x1ccf,
-0x1cf7, 0x1cf7,
 0x1cfa, 0x1cff,
-0x1df6, 0x1dfb,
+0x1dfa, 0x1dfa,
 0x1f16, 0x1f17,
 0x1f1e, 0x1f1f,
 0x1f46, 0x1f47,
@@ -19161,18 +20782,15 @@ CR_Unknown[] = { 611,
 0x2072, 0x2073,
 0x208f, 0x208f,
 0x209d, 0x209f,
-0x20bf, 0x20cf,
+0x20c0, 0x20cf,
 0x20f1, 0x20ff,
 0x218c, 0x218f,
-0x23fb, 0x23ff,
 0x2427, 0x243f,
 0x244b, 0x245f,
 0x2b74, 0x2b75,
 0x2b96, 0x2b97,
-0x2bba, 0x2bbc,
 0x2bc9, 0x2bc9,
-0x2bd2, 0x2beb,
-0x2bf0, 0x2bff,
+0x2bff, 0x2bff,
 0x2c2f, 0x2c2f,
 0x2c5f, 0x2c5f,
 0x2cf4, 0x2cf8,
@@ -19190,7 +20808,7 @@ CR_Unknown[] = { 611,
 0x2dcf, 0x2dcf,
 0x2dd7, 0x2dd7,
 0x2ddf, 0x2ddf,
-0x2e43, 0x2e7f,
+0x2e4f, 0x2e7f,
 0x2e9a, 0x2e9a,
 0x2ef4, 0x2eff,
 0x2fd6, 0x2fef,
@@ -19198,26 +20816,24 @@ CR_Unknown[] = { 611,
 0x3040, 0x3040,
 0x3097, 0x3098,
 0x3100, 0x3104,
-0x312e, 0x3130,
+0x3130, 0x3130,
 0x318f, 0x318f,
 0x31bb, 0x31bf,
 0x31e4, 0x31ef,
 0x321f, 0x321f,
 0x32ff, 0x32ff,
 0x4db6, 0x4dbf,
-0x9fd6, 0x9fff,
+0x9ff0, 0x9fff,
 0xa48d, 0xa48f,
 0xa4c7, 0xa4cf,
 0xa62c, 0xa63f,
 0xa6f8, 0xa6ff,
-0xa7ae, 0xa7af,
-0xa7b8, 0xa7f6,
+0xa7ba, 0xa7f6,
 0xa82c, 0xa82f,
 0xa83a, 0xa83f,
 0xa878, 0xa87f,
-0xa8c5, 0xa8cd,
+0xa8c6, 0xa8cd,
 0xa8da, 0xa8df,
-0xa8fe, 0xa8ff,
 0xa954, 0xa95e,
 0xa97d, 0xa97f,
 0xa9ce, 0xa9ce,
@@ -19277,21 +20893,23 @@ CR_Unknown[] = { 611,
 0x100fb, 0x100ff,
 0x10103, 0x10106,
 0x10134, 0x10136,
-0x1018d, 0x1018f,
+0x1018f, 0x1018f,
 0x1019c, 0x1019f,
 0x101a1, 0x101cf,
 0x101fe, 0x1027f,
 0x1029d, 0x1029f,
 0x102d1, 0x102df,
 0x102fc, 0x102ff,
-0x10324, 0x1032f,
+0x10324, 0x1032c,
 0x1034b, 0x1034f,
 0x1037b, 0x1037f,
 0x1039e, 0x1039e,
 0x103c4, 0x103c7,
 0x103d6, 0x103ff,
 0x1049e, 0x1049f,
-0x104aa, 0x104ff,
+0x104aa, 0x104af,
+0x104d4, 0x104d7,
+0x104fc, 0x104ff,
 0x10528, 0x1052f,
 0x10564, 0x1056e,
 0x10570, 0x105ff,
@@ -19317,9 +20935,9 @@ CR_Unknown[] = { 611,
 0x10a07, 0x10a0b,
 0x10a14, 0x10a14,
 0x10a18, 0x10a18,
-0x10a34, 0x10a37,
+0x10a36, 0x10a37,
 0x10a3b, 0x10a3e,
-0x10a48, 0x10a4f,
+0x10a49, 0x10a4f,
 0x10a59, 0x10a5f,
 0x10aa0, 0x10abf,
 0x10ae7, 0x10aea,
@@ -19333,21 +20951,25 @@ CR_Unknown[] = { 611,
 0x10c49, 0x10c7f,
 0x10cb3, 0x10cbf,
 0x10cf3, 0x10cf9,
-0x10d00, 0x10e5f,
-0x10e7f, 0x10fff,
+0x10d28, 0x10d2f,
+0x10d3a, 0x10e5f,
+0x10e7f, 0x10eff,
+0x10f28, 0x10f2f,
+0x10f5a, 0x10fff,
 0x1104e, 0x11051,
 0x11070, 0x1107e,
-0x110c2, 0x110cf,
+0x110c2, 0x110cc,
+0x110ce, 0x110cf,
 0x110e9, 0x110ef,
 0x110fa, 0x110ff,
 0x11135, 0x11135,
-0x11144, 0x1114f,
+0x11147, 0x1114f,
 0x11177, 0x1117f,
 0x111ce, 0x111cf,
 0x111e0, 0x111e0,
 0x111f5, 0x111ff,
 0x11212, 0x11212,
-0x1123e, 0x1127f,
+0x1123f, 0x1127f,
 0x11287, 0x11287,
 0x11289, 0x11289,
 0x1128e, 0x1128e,
@@ -19361,7 +20983,7 @@ CR_Unknown[] = { 611,
 0x11329, 0x11329,
 0x11331, 0x11331,
 0x11334, 0x11334,
-0x1133a, 0x1133b,
+0x1133a, 0x1133a,
 0x11345, 0x11346,
 0x11349, 0x1134a,
 0x1134e, 0x1134f,
@@ -19369,21 +20991,50 @@ CR_Unknown[] = { 611,
 0x11358, 0x1135c,
 0x11364, 0x11365,
 0x1136d, 0x1136f,
-0x11375, 0x1147f,
+0x11375, 0x113ff,
+0x1145a, 0x1145a,
+0x1145c, 0x1145c,
+0x1145f, 0x1147f,
 0x114c8, 0x114cf,
 0x114da, 0x1157f,
 0x115b6, 0x115b7,
 0x115de, 0x115ff,
 0x11645, 0x1164f,
-0x1165a, 0x1167f,
+0x1165a, 0x1165f,
+0x1166d, 0x1167f,
 0x116b8, 0x116bf,
 0x116ca, 0x116ff,
-0x1171a, 0x1171c,
+0x1171b, 0x1171c,
 0x1172c, 0x1172f,
-0x11740, 0x1189f,
+0x11740, 0x117ff,
+0x1183c, 0x1189f,
 0x118f3, 0x118fe,
-0x11900, 0x11abf,
-0x11af9, 0x11fff,
+0x11900, 0x119ff,
+0x11a48, 0x11a4f,
+0x11a84, 0x11a85,
+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, 0x11fff,
 0x1239a, 0x123ff,
 0x1246f, 0x1246f,
 0x12475, 0x1247f,
@@ -19400,11 +21051,16 @@ CR_Unknown[] = { 611,
 0x16b5a, 0x16b5a,
 0x16b62, 0x16b62,
 0x16b78, 0x16b7c,
-0x16b90, 0x16eff,
+0x16b90, 0x16e3f,
+0x16e9b, 0x16eff,
 0x16f45, 0x16f4f,
 0x16f7f, 0x16f8e,
-0x16fa0, 0x1afff,
-0x1b002, 0x1bbff,
+0x16fa0, 0x16fdf,
+0x16fe2, 0x16fff,
+0x187f2, 0x187ff,
+0x18af3, 0x1afff,
+0x1b11f, 0x1b16f,
+0x1b2fc, 0x1bbff,
 0x1bc6b, 0x1bc6f,
 0x1bc7d, 0x1bc7f,
 0x1bc89, 0x1bc8f,
@@ -19413,9 +21069,10 @@ CR_Unknown[] = { 611,
 0x1d0f6, 0x1d0ff,
 0x1d127, 0x1d128,
 0x1d1e9, 0x1d1ff,
-0x1d246, 0x1d2ff,
+0x1d246, 0x1d2df,
+0x1d2f4, 0x1d2ff,
 0x1d357, 0x1d35f,
-0x1d372, 0x1d3ff,
+0x1d379, 0x1d3ff,
 0x1d455, 0x1d455,
 0x1d49d, 0x1d49d,
 0x1d4a0, 0x1d4a1,
@@ -19438,9 +21095,18 @@ CR_Unknown[] = { 611,
 0x1d7cc, 0x1d7cd,
 0x1da8c, 0x1da9a,
 0x1daa0, 0x1daa0,
-0x1dab0, 0x1e7ff,
+0x1dab0, 0x1dfff,
+0x1e007, 0x1e007,
+0x1e019, 0x1e01a,
+0x1e022, 0x1e022,
+0x1e025, 0x1e025,
+0x1e02b, 0x1e7ff,
 0x1e8c5, 0x1e8c6,
-0x1e8d7, 0x1edff,
+0x1e8d7, 0x1e8ff,
+0x1e94b, 0x1e94f,
+0x1e95a, 0x1e95d,
+0x1e960, 0x1ec70,
+0x1ecb5, 0x1edff,
 0x1ee04, 0x1ee04,
 0x1ee20, 0x1ee20,
 0x1ee23, 0x1ee23,
@@ -19482,32 +21148,38 @@ CR_Unknown[] = { 611,
 0x1f0d0, 0x1f0d0,
 0x1f0f6, 0x1f0ff,
 0x1f10d, 0x1f10f,
-0x1f12f, 0x1f12f,
 0x1f16c, 0x1f16f,
-0x1f19b, 0x1f1e5,
+0x1f1ad, 0x1f1e5,
 0x1f203, 0x1f20f,
-0x1f23b, 0x1f23f,
+0x1f23c, 0x1f23f,
 0x1f249, 0x1f24f,
-0x1f252, 0x1f2ff,
-0x1f57a, 0x1f57a,
-0x1f5a4, 0x1f5a4,
-0x1f6d1, 0x1f6df,
+0x1f252, 0x1f25f,
+0x1f266, 0x1f2ff,
+0x1f6d5, 0x1f6df,
 0x1f6ed, 0x1f6ef,
-0x1f6f4, 0x1f6ff,
+0x1f6fa, 0x1f6ff,
 0x1f774, 0x1f77f,
-0x1f7d5, 0x1f7ff,
+0x1f7d9, 0x1f7ff,
 0x1f80c, 0x1f80f,
 0x1f848, 0x1f84f,
 0x1f85a, 0x1f85f,
 0x1f888, 0x1f88f,
-0x1f8ae, 0x1f90f,
-0x1f919, 0x1f97f,
-0x1f985, 0x1f9bf,
-0x1f9c1, 0x1ffff,
+0x1f8ae, 0x1f8ff,
+0x1f90c, 0x1f90f,
+0x1f93f, 0x1f93f,
+0x1f971, 0x1f972,
+0x1f977, 0x1f979,
+0x1f97b, 0x1f97b,
+0x1f9a3, 0x1f9af,
+0x1f9ba, 0x1f9bf,
+0x1f9c3, 0x1f9cf,
+0x1fa00, 0x1fa5f,
+0x1fa6e, 0x1ffff,
 0x2a6d7, 0x2a6ff,
 0x2b735, 0x2b73f,
 0x2b81e, 0x2b81f,
-0x2cea2, 0x2f7ff,
+0x2cea2, 0x2ceaf,
+0x2ebe1, 0x2f7ff,
 0x2fa1e, 0xe0000,
 0xe0002, 0xe001f,
 0xe0080, 0xe00ff,
@@ -19543,7 +21215,7 @@ CR_Warang_Citi[] = { 2,
 
 /* PROPERTY: 'XID_Continue': Derived Property */
 static const OnigCodePoint
-CR_XID_Continue[] = { 658,
+CR_XID_Continue[] = { 714,
 0x0030, 0x0039,
 0x0041, 0x005a,
 0x005f, 0x005f,
@@ -19572,14 +21244,14 @@ CR_XID_Continue[] = { 658,
 0x048a, 0x052f,
 0x0531, 0x0556,
 0x0559, 0x0559,
-0x0561, 0x0587,
+0x0560, 0x0588,
 0x0591, 0x05bd,
 0x05bf, 0x05bf,
 0x05c1, 0x05c2,
 0x05c4, 0x05c5,
 0x05c7, 0x05c7,
 0x05d0, 0x05ea,
-0x05f0, 0x05f2,
+0x05ef, 0x05f2,
 0x0610, 0x061a,
 0x0620, 0x0669,
 0x066e, 0x06d3,
@@ -19591,9 +21263,13 @@ CR_XID_Continue[] = { 658,
 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,
@@ -19610,6 +21286,8 @@ CR_XID_Continue[] = { 658,
 0x09dc, 0x09dd,
 0x09df, 0x09e3,
 0x09e6, 0x09f1,
+0x09fc, 0x09fc,
+0x09fe, 0x09fe,
 0x0a01, 0x0a03,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
@@ -19639,7 +21317,7 @@ CR_XID_Continue[] = { 658,
 0x0ad0, 0x0ad0,
 0x0ae0, 0x0ae3,
 0x0ae6, 0x0aef,
-0x0af9, 0x0af9,
+0x0af9, 0x0aff,
 0x0b01, 0x0b03,
 0x0b05, 0x0b0c,
 0x0b0f, 0x0b10,
@@ -19671,8 +21349,7 @@ CR_XID_Continue[] = { 658,
 0x0bd0, 0x0bd0,
 0x0bd7, 0x0bd7,
 0x0be6, 0x0bef,
-0x0c00, 0x0c03,
-0x0c05, 0x0c0c,
+0x0c00, 0x0c0c,
 0x0c0e, 0x0c10,
 0x0c12, 0x0c28,
 0x0c2a, 0x0c39,
@@ -19683,7 +21360,7 @@ CR_XID_Continue[] = { 658,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c63,
 0x0c66, 0x0c6f,
-0x0c81, 0x0c83,
+0x0c80, 0x0c83,
 0x0c85, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
@@ -19697,14 +21374,13 @@ CR_XID_Continue[] = { 658,
 0x0ce0, 0x0ce3,
 0x0ce6, 0x0cef,
 0x0cf1, 0x0cf2,
-0x0d01, 0x0d03,
+0x0d00, 0x0d03,
 0x0d05, 0x0d0c,
 0x0d0e, 0x0d10,
-0x0d12, 0x0d3a,
-0x0d3d, 0x0d44,
+0x0d12, 0x0d44,
 0x0d46, 0x0d48,
 0x0d4a, 0x0d4e,
-0x0d57, 0x0d57,
+0x0d54, 0x0d57,
 0x0d5f, 0x0d63,
 0x0d66, 0x0d6f,
 0x0d7a, 0x0d7f,
@@ -19798,7 +21474,7 @@ CR_XID_Continue[] = { 658,
 0x17e0, 0x17e9,
 0x180b, 0x180d,
 0x1810, 0x1819,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -19823,11 +21499,13 @@ CR_XID_Continue[] = { 658,
 0x1c00, 0x1c37,
 0x1c40, 0x1c49,
 0x1c4d, 0x1c7d,
+0x1c80, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1cd0, 0x1cd2,
-0x1cd4, 0x1cf6,
-0x1cf8, 0x1cf9,
-0x1d00, 0x1df5,
-0x1dfc, 0x1f15,
+0x1cd4, 0x1cf9,
+0x1d00, 0x1df9,
+0x1dfb, 0x1f15,
 0x1f18, 0x1f1d,
 0x1f20, 0x1f45,
 0x1f48, 0x1f4d,
@@ -19895,12 +21573,12 @@ CR_XID_Continue[] = { 658,
 0x309d, 0x309f,
 0x30a1, 0x30fa,
 0x30fc, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x31a0, 0x31ba,
 0x31f0, 0x31ff,
 0x3400, 0x4db5,
-0x4e00, 0x9fd5,
+0x4e00, 0x9fef,
 0xa000, 0xa48c,
 0xa4d0, 0xa4fd,
 0xa500, 0xa60c,
@@ -19910,16 +21588,14 @@ CR_XID_Continue[] = { 658,
 0xa67f, 0xa6f1,
 0xa717, 0xa71f,
 0xa722, 0xa788,
-0xa78b, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa78b, 0xa7b9,
 0xa7f7, 0xa827,
 0xa840, 0xa873,
-0xa880, 0xa8c4,
+0xa880, 0xa8c5,
 0xa8d0, 0xa8d9,
 0xa8e0, 0xa8f7,
 0xa8fb, 0xa8fb,
-0xa8fd, 0xa8fd,
-0xa900, 0xa92d,
+0xa8fd, 0xa92d,
 0xa930, 0xa953,
 0xa960, 0xa97c,
 0xa980, 0xa9c0,
@@ -19995,7 +21671,7 @@ CR_XID_Continue[] = { 658,
 0x102a0, 0x102d0,
 0x102e0, 0x102e0,
 0x10300, 0x1031f,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x1037a,
 0x10380, 0x1039d,
 0x103a0, 0x103c3,
@@ -20003,6 +21679,8 @@ CR_XID_Continue[] = { 658,
 0x103d1, 0x103d5,
 0x10400, 0x1049d,
 0x104a0, 0x104a9,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x10600, 0x10736,
@@ -20026,7 +21704,7 @@ CR_XID_Continue[] = { 658,
 0x10a05, 0x10a06,
 0x10a0c, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a38, 0x10a3a,
 0x10a3f, 0x10a3f,
 0x10a60, 0x10a7c,
@@ -20040,6 +21718,11 @@ CR_XID_Continue[] = { 658,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
+0x10d00, 0x10d27,
+0x10d30, 0x10d39,
+0x10f00, 0x10f1c,
+0x10f27, 0x10f27,
+0x10f30, 0x10f50,
 0x11000, 0x11046,
 0x11066, 0x1106f,
 0x1107f, 0x110ba,
@@ -20047,14 +21730,16 @@ CR_XID_Continue[] = { 658,
 0x110f0, 0x110f9,
 0x11100, 0x11134,
 0x11136, 0x1113f,
+0x11144, 0x11146,
 0x11150, 0x11173,
 0x11176, 0x11176,
 0x11180, 0x111c4,
-0x111ca, 0x111cc,
+0x111c9, 0x111cc,
 0x111d0, 0x111da,
 0x111dc, 0x111dc,
 0x11200, 0x11211,
 0x11213, 0x11237,
+0x1123e, 0x1123e,
 0x11280, 0x11286,
 0x11288, 0x11288,
 0x1128a, 0x1128d,
@@ -20069,7 +21754,7 @@ CR_XID_Continue[] = { 658,
 0x1132a, 0x11330,
 0x11332, 0x11333,
 0x11335, 0x11339,
-0x1133c, 0x11344,
+0x1133b, 0x11344,
 0x11347, 0x11348,
 0x1134b, 0x1134d,
 0x11350, 0x11350,
@@ -20077,6 +21762,9 @@ CR_XID_Continue[] = { 658,
 0x1135d, 0x11363,
 0x11366, 0x1136c,
 0x11370, 0x11374,
+0x11400, 0x1144a,
+0x11450, 0x11459,
+0x1145e, 0x1145e,
 0x11480, 0x114c5,
 0x114c7, 0x114c7,
 0x114d0, 0x114d9,
@@ -20088,12 +21776,39 @@ CR_XID_Continue[] = { 658,
 0x11650, 0x11659,
 0x11680, 0x116b7,
 0x116c0, 0x116c9,
-0x11700, 0x11719,
+0x11700, 0x1171a,
 0x1171d, 0x1172b,
 0x11730, 0x11739,
+0x11800, 0x1183a,
 0x118a0, 0x118e9,
 0x118ff, 0x118ff,
+0x11a00, 0x11a3e,
+0x11a47, 0x11a47,
+0x11a50, 0x11a83,
+0x11a86, 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,
@@ -20109,10 +21824,15 @@ CR_XID_Continue[] = { 658,
 0x16b50, 0x16b59,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e7f,
 0x16f00, 0x16f44,
 0x16f50, 0x16f7e,
 0x16f8f, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -20161,8 +21881,15 @@ CR_XID_Continue[] = { 658,
 0x1da84, 0x1da84,
 0x1da9b, 0x1da9f,
 0x1daa1, 0x1daaf,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e800, 0x1e8c4,
 0x1e8d0, 0x1e8d6,
+0x1e900, 0x1e94a,
+0x1e950, 0x1e959,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -20200,13 +21927,14 @@ CR_XID_Continue[] = { 658,
 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[] = { 562,
+CR_XID_Start[] = { 606,
 0x0041, 0x005a,
 0x0061, 0x007a,
 0x00aa, 0x00aa,
@@ -20232,9 +21960,9 @@ CR_XID_Start[] = { 562,
 0x048a, 0x052f,
 0x0531, 0x0556,
 0x0559, 0x0559,
-0x0561, 0x0587,
+0x0560, 0x0588,
 0x05d0, 0x05ea,
-0x05f0, 0x05f2,
+0x05ef, 0x05f2,
 0x0620, 0x064a,
 0x066e, 0x066f,
 0x0671, 0x06d3,
@@ -20255,7 +21983,9 @@ CR_XID_Start[] = { 562,
 0x0824, 0x0824,
 0x0828, 0x0828,
 0x0840, 0x0858,
+0x0860, 0x086a,
 0x08a0, 0x08b4,
+0x08b6, 0x08bd,
 0x0904, 0x0939,
 0x093d, 0x093d,
 0x0950, 0x0950,
@@ -20272,6 +22002,7 @@ CR_XID_Start[] = { 562,
 0x09dc, 0x09dd,
 0x09df, 0x09e1,
 0x09f0, 0x09f1,
+0x09fc, 0x09fc,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
 0x0a13, 0x0a28,
@@ -20320,6 +22051,7 @@ CR_XID_Start[] = { 562,
 0x0c3d, 0x0c3d,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c61,
+0x0c80, 0x0c80,
 0x0c85, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
@@ -20334,6 +22066,7 @@ CR_XID_Start[] = { 562,
 0x0d12, 0x0d3a,
 0x0d3d, 0x0d3d,
 0x0d4e, 0x0d4e,
+0x0d54, 0x0d56,
 0x0d5f, 0x0d61,
 0x0d7a, 0x0d7f,
 0x0d85, 0x0d96,
@@ -20411,7 +22144,7 @@ CR_XID_Start[] = { 562,
 0x1780, 0x17b3,
 0x17d7, 0x17d7,
 0x17dc, 0x17dc,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18a8,
 0x18aa, 0x18aa,
 0x18b0, 0x18f5,
@@ -20431,6 +22164,9 @@ CR_XID_Start[] = { 562,
 0x1c00, 0x1c23,
 0x1c4d, 0x1c4f,
 0x1c5a, 0x1c7d,
+0x1c80, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1ce9, 0x1cec,
 0x1cee, 0x1cf1,
 0x1cf5, 0x1cf6,
@@ -20497,12 +22233,12 @@ CR_XID_Start[] = { 562,
 0x309d, 0x309f,
 0x30a1, 0x30fa,
 0x30fc, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x31a0, 0x31ba,
 0x31f0, 0x31ff,
 0x3400, 0x4db5,
-0x4e00, 0x9fd5,
+0x4e00, 0x9fef,
 0xa000, 0xa48c,
 0xa4d0, 0xa4fd,
 0xa500, 0xa60c,
@@ -20513,8 +22249,7 @@ CR_XID_Start[] = { 562,
 0xa6a0, 0xa6ef,
 0xa717, 0xa71f,
 0xa722, 0xa788,
-0xa78b, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa78b, 0xa7b9,
 0xa7f7, 0xa801,
 0xa803, 0xa805,
 0xa807, 0xa80a,
@@ -20523,7 +22258,7 @@ CR_XID_Start[] = { 562,
 0xa882, 0xa8b3,
 0xa8f2, 0xa8f7,
 0xa8fb, 0xa8fb,
-0xa8fd, 0xa8fd,
+0xa8fd, 0xa8fe,
 0xa90a, 0xa925,
 0xa930, 0xa946,
 0xa960, 0xa97c,
@@ -20600,13 +22335,15 @@ CR_XID_Start[] = { 562,
 0x10280, 0x1029c,
 0x102a0, 0x102d0,
 0x10300, 0x1031f,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x10375,
 0x10380, 0x1039d,
 0x103a0, 0x103c3,
 0x103c8, 0x103cf,
 0x103d1, 0x103d5,
 0x10400, 0x1049d,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x10600, 0x10736,
@@ -20629,7 +22366,7 @@ CR_XID_Start[] = { 562,
 0x10a00, 0x10a00,
 0x10a10, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a60, 0x10a7c,
 0x10a80, 0x10a9c,
 0x10ac0, 0x10ac7,
@@ -20641,10 +22378,15 @@ CR_XID_Start[] = { 562,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
+0x10d00, 0x10d23,
+0x10f00, 0x10f1c,
+0x10f27, 0x10f27,
+0x10f30, 0x10f45,
 0x11003, 0x11037,
 0x11083, 0x110af,
 0x110d0, 0x110e8,
 0x11103, 0x11126,
+0x11144, 0x11144,
 0x11150, 0x11172,
 0x11176, 0x11176,
 0x11183, 0x111b2,
@@ -20668,6 +22410,8 @@ CR_XID_Start[] = { 562,
 0x1133d, 0x1133d,
 0x11350, 0x11350,
 0x1135d, 0x11361,
+0x11400, 0x11434,
+0x11447, 0x1144a,
 0x11480, 0x114af,
 0x114c4, 0x114c5,
 0x114c7, 0x114c7,
@@ -20676,10 +22420,31 @@ CR_XID_Start[] = { 562,
 0x11600, 0x1162f,
 0x11644, 0x11644,
 0x11680, 0x116aa,
-0x11700, 0x11719,
+0x11700, 0x1171a,
+0x11800, 0x1182b,
 0x118a0, 0x118df,
 0x118ff, 0x118ff,
+0x11a00, 0x11a00,
+0x11a0b, 0x11a32,
+0x11a3a, 0x11a3a,
+0x11a50, 0x11a50,
+0x11a5c, 0x11a83,
+0x11a86, 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,
@@ -20692,10 +22457,15 @@ CR_XID_Start[] = { 562,
 0x16b40, 0x16b43,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e7f,
 0x16f00, 0x16f44,
 0x16f50, 0x16f50,
 0x16f93, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -20731,6 +22501,7 @@ CR_XID_Start[] = { 562,
 0x1d7aa, 0x1d7c2,
 0x1d7c4, 0x1d7cb,
 0x1e800, 0x1e8c4,
+0x1e900, 0x1e943,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -20768,6 +22539,7 @@ CR_XID_Start[] = { 562,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 0x2f800, 0x2fa1d,
 }; /* END of CR_XID_Start */
 
@@ -20791,6 +22563,12 @@ CR_Z[] = { 8,
 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,
@@ -20926,6 +22704,12 @@ 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,
@@ -21175,6 +22959,18 @@ CR_In_Lepcha[] = { 1,
 /* 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,
@@ -21859,6 +23655,12 @@ 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,
@@ -21979,12 +23781,30 @@ 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_Brahmi': Block */
 static const OnigCodePoint
 CR_In_Brahmi[] = { 1,
@@ -22051,6 +23871,12 @@ 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,
@@ -22069,6 +23895,12 @@ 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,
@@ -22081,18 +23913,66 @@ 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_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_Cuneiform': Block */
 static const OnigCodePoint
 CR_In_Cuneiform[] = { 1,
@@ -22147,18 +24027,54 @@ 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_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,
@@ -22189,6 +24105,12 @@ 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,
@@ -22213,12 +24135,30 @@ 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_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_Arabic_Mathematical_Alphabetic_Symbols': Block */
 static const OnigCodePoint
 CR_In_Arabic_Mathematical_Alphabetic_Symbols[] = { 1,
@@ -22303,6 +24243,12 @@ 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_CJK_Unified_Ideographs_Extension_B': Block */
 static const OnigCodePoint
 CR_In_CJK_Unified_Ideographs_Extension_B[] = { 1,
@@ -22327,6 +24273,12 @@ 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,
@@ -22359,13 +24311,11 @@ CR_In_Supplementary_Private_Use_Area_B[] = { 1,
 
 /* PROPERTY: 'In_No_Block': Block */
 static const OnigCodePoint
-CR_In_No_Block[] = { 42,
-0x0860, 0x089f,
-0x1c80, 0x1cbf,
+CR_In_No_Block[] = { 51,
+0x0870, 0x089f,
 0x2fe0, 0x2fef,
 0x10200, 0x1027f,
 0x103e0, 0x103ff,
-0x104b0, 0x104ff,
 0x10570, 0x105ff,
 0x10780, 0x107ff,
 0x108b0, 0x108df,
@@ -22373,32 +24323,43 @@ CR_In_No_Block[] = { 42,
 0x10aa0, 0x10abf,
 0x10bb0, 0x10bff,
 0x10c50, 0x10c7f,
-0x10d00, 0x10e5f,
-0x10e80, 0x10fff,
+0x10d40, 0x10e5f,
+0x10e80, 0x10eff,
+0x10f70, 0x10fff,
 0x11250, 0x1127f,
-0x11380, 0x1147f,
+0x11380, 0x113ff,
 0x114e0, 0x1157f,
-0x11660, 0x1167f,
 0x116d0, 0x116ff,
-0x11740, 0x1189f,
-0x11900, 0x11abf,
-0x11b00, 0x11fff,
+0x11740, 0x117ff,
+0x11850, 0x1189f,
+0x11900, 0x119ff,
+0x11ab0, 0x11abf,
+0x11b00, 0x11bff,
+0x11cc0, 0x11cff,
+0x11db0, 0x11edf,
+0x11f00, 0x11fff,
 0x12550, 0x12fff,
 0x13430, 0x143ff,
 0x14680, 0x167ff,
 0x16a70, 0x16acf,
-0x16b90, 0x16eff,
-0x16fa0, 0x1afff,
-0x1b100, 0x1bbff,
+0x16b90, 0x16e3f,
+0x16ea0, 0x16eff,
+0x16fa0, 0x16fdf,
+0x18b00, 0x1afff,
+0x1b130, 0x1b16f,
+0x1b300, 0x1bbff,
 0x1bcb0, 0x1cfff,
-0x1d250, 0x1d2ff,
+0x1d250, 0x1d2df,
 0x1d380, 0x1d3ff,
-0x1dab0, 0x1e7ff,
-0x1e8e0, 0x1edff,
+0x1dab0, 0x1dfff,
+0x1e030, 0x1e7ff,
+0x1e8e0, 0x1e8ff,
+0x1e960, 0x1ec6f,
+0x1ecc0, 0x1edff,
 0x1ef00, 0x1efff,
-0x1fa00, 0x1ffff,
+0x1fa70, 0x1ffff,
 0x2a6e0, 0x2a6ff,
-0x2ceb0, 0x2f7ff,
+0x2ebf0, 0x2f7ff,
 0x2fa20, 0xdffff,
 0xe0080, 0xe00ff,
 0xe01f0, 0xeffff,
@@ -22422,6 +24383,7 @@ const CodeRanges[] = {
   CR_Alnum,
   CR_ASCII,
   CR_ASCII_Hex_Digit,
+  CR_Adlam,
   CR_Ahom,
   CR_Alphabetic,
   CR_Anatolian_Hieroglyphs,
@@ -22435,6 +24397,7 @@ const CodeRanges[] = {
   CR_Bassa_Vah,
   CR_Batak,
   CR_Bengali,
+  CR_Bhaiksuki,
   CR_Bidi_Control,
   CR_Bopomofo,
   CR_Brahmi,
@@ -22471,10 +24434,17 @@ const CodeRanges[] = {
   CR_Deseret,
   CR_Devanagari,
   CR_Diacritic,
+  CR_Dogra,
   CR_Duployan,
   CR_Egyptian_Hieroglyphs,
   CR_Elbasan,
+  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,
@@ -22485,9 +24455,11 @@ const CodeRanges[] = {
   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,
@@ -22533,12 +24505,16 @@ const CodeRanges[] = {
   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,
@@ -22554,10 +24530,12 @@ const CodeRanges[] = {
   CR_Nabataean,
   CR_Nd,
   CR_New_Tai_Lue,
+  CR_Newa,
   CR_Nko,
   CR_Nl,
   CR_No,
   CR_Noncharacter_Code_Point,
+  CR_Nushu,
   CR_Ogham,
   CR_Ol_Chiki,
   CR_Old_Hungarian,
@@ -22565,9 +24543,11 @@ const CodeRanges[] = {
   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,
@@ -22591,17 +24571,19 @@ const CodeRanges[] = {
   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_STerm,
   CR_Samaritan,
   CR_Saurashtra,
   CR_Sc,
+  CR_Sentence_Terminal,
   CR_Sharada,
   CR_Shavian,
   CR_Siddham,
@@ -22611,7 +24593,9 @@ const CodeRanges[] = {
   CR_Sm,
   CR_So,
   CR_Soft_Dotted,
+  CR_Sogdian,
   CR_Sora_Sompeng,
+  CR_Soyombo,
   CR_Sundanese,
   CR_Syloti_Nagri,
   CR_Syriac,
@@ -22622,6 +24606,7 @@ const CodeRanges[] = {
   CR_Tai_Viet,
   CR_Takri,
   CR_Tamil,
+  CR_Tangut,
   CR_Telugu,
   CR_Terminal_Punctuation,
   CR_Thaana,
@@ -22641,6 +24626,7 @@ const CodeRanges[] = {
   CR_XID_Start,
   CR_Yi,
   CR_Z,
+  CR_Zanabazar_Square,
   CR_Zl,
   CR_Zp,
   CR_Zs,
@@ -22663,6 +24649,7 @@ const CodeRanges[] = {
   CR_In_NKo,
   CR_In_Samaritan,
   CR_In_Mandaic,
+  CR_In_Syriac_Supplement,
   CR_In_Arabic_Extended_A,
   CR_In_Devanagari,
   CR_In_Bengali,
@@ -22705,6 +24692,8 @@ const CodeRanges[] = {
   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,
@@ -22821,6 +24810,7 @@ const CodeRanges[] = {
   CR_In_Deseret,
   CR_In_Shavian,
   CR_In_Osmanya,
+  CR_In_Osage,
   CR_In_Elbasan,
   CR_In_Caucasian_Albanian,
   CR_In_Linear_A,
@@ -22843,7 +24833,10 @@ const CodeRanges[] = {
   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_Brahmi,
   CR_In_Kaithi,
   CR_In_Sora_Sompeng,
@@ -22855,13 +24848,23 @@ const CodeRanges[] = {
   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_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_Cuneiform,
   CR_In_Cuneiform_Numbers_and_Punctuation,
   CR_In_Early_Dynastic_Cuneiform,
@@ -22871,18 +24874,28 @@ const CodeRanges[] = {
   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_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_Mende_Kikakui,
+  CR_In_Adlam,
+  CR_In_Indic_Siyaq_Numbers,
   CR_In_Arabic_Mathematical_Alphabetic_Symbols,
   CR_In_Mahjong_Tiles,
   CR_In_Domino_Tiles,
@@ -22897,10 +24910,12 @@ const CodeRanges[] = {
   CR_In_Geometric_Shapes_Extended,
   CR_In_Supplemental_Arrows_C,
   CR_In_Supplemental_Symbols_and_Pictographs,
+  CR_In_Chess_Symbols,
   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,
@@ -22912,12 +24927,12 @@ const CodeRanges[] = {
 #define pool_offset(s) offsetof(struct unicode_prop_name_pool_t, unicode_prop_name_pool_str##s)
 
 
-#define TOTAL_KEYWORDS 711
+#define TOTAL_KEYWORDS 784
 #define MIN_WORD_LENGTH 1
 #define MAX_WORD_LENGTH 44
-#define MIN_HASH_VALUE 1
-#define MAX_HASH_VALUE 5162
-/* maximum key range = 5162, duplicates = 0 */
+#define MIN_HASH_VALUE 10
+#define MAX_HASH_VALUE 5516
+/* maximum key range = 5507, duplicates = 0 */
 
 #ifndef GPERF_DOWNCASE
 #define GPERF_DOWNCASE 1
@@ -22947,7 +24962,7 @@ static unsigned char gperf_downcase[256] =
 #ifndef GPERF_CASE_STRNCMP
 #define GPERF_CASE_STRNCMP 1
 static int
-gperf_case_strncmp (register const char *s1, register const char *s2, register unsigned int n)
+gperf_case_strncmp (register const char *s1, register const char *s2, register size_t n)
 {
   for (; n > 0;)
     {
@@ -22972,38 +24987,38 @@ inline
 #endif
 #endif
 static unsigned int
-hash (register const char *str, register unsigned int len)
+hash (register const char *str, register size_t len)
 {
   static const unsigned short asso_values[] =
     {
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163,   11, 1103,    8,  582,   38,
-        53, 1066,  293,    2,   67, 1766,  129,    7,    0,  271,
-       719,    0,  210,   33,   71, 1001, 1376,  537,   22, 1162,
-         1, 5163, 5163, 5163, 5163, 5163, 5163,   11, 1103,    8,
-       582,   38,   53, 1066,  293,    2,   67, 1766,  129,    7,
-         0,  271,  719,    0,  210,   33,   71, 1001, 1376,  537,
-        22, 1162,    1, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163, 5163,
-      5163, 5163, 5163, 5163, 5163, 5163
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517,    0, 1387,  107,  399,   14,
+      1024,  783,  831,    7, 1473,   25,  363,   89,    3,   17,
+      1203,  711,   59,  149,  313,  590, 1257,  334,  172, 1559,
+        22,    2,    1, 5517, 5517, 5517, 5517,    0, 1387,  107,
+       399,   14, 1024,  783,  831,    7, 1473,   25,  363,   89,
+         3,   17, 1203,  711,   59,  149,  313,  590, 1257,  334,
+       172, 1559,   22,    2,    1, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517,
+      5517, 5517, 5517, 5517, 5517, 5517, 5517, 5517
     };
-  register int hval = len;
+  register unsigned int hval = (unsigned int )len;
 
   switch (hval)
     {
@@ -23035,7 +25050,7 @@ hash (register const char *str, register unsigned int len)
         hval += asso_values[(unsigned char)str[1]];
       /*FALLTHROUGH*/
       case 1:
-        hval += asso_values[(unsigned char)str[0]];
+        hval += asso_values[(unsigned char)str[0]+2];
         break;
     }
   return hval + asso_values[(unsigned char)str[len - 1]];
@@ -23043,3430 +25058,3814 @@ hash (register const char *str, register unsigned int len)
 
 struct unicode_prop_name_pool_t
   {
-    char unicode_prop_name_pool_str1[sizeof("n")];
-    char unicode_prop_name_pool_str3[sizeof("z")];
-    char unicode_prop_name_pool_str8[sizeof("zzzz")];
-    char unicode_prop_name_pool_str9[sizeof("mn")];
-    char unicode_prop_name_pool_str10[sizeof("cn")];
-    char unicode_prop_name_pool_str14[sizeof("ci")];
-    char unicode_prop_name_pool_str15[sizeof("m")];
-    char unicode_prop_name_pool_str17[sizeof("c")];
-    char unicode_prop_name_pool_str23[sizeof("inmanichaean")];
-    char unicode_prop_name_pool_str24[sizeof("mani")];
-    char unicode_prop_name_pool_str25[sizeof("mc")];
-    char unicode_prop_name_pool_str26[sizeof("cc")];
-    char unicode_prop_name_pool_str28[sizeof("qaai")];
-    char unicode_prop_name_pool_str34[sizeof("qaac")];
-    char unicode_prop_name_pool_str41[sizeof("incham")];
-    char unicode_prop_name_pool_str46[sizeof("mandaic")];
-    char unicode_prop_name_pool_str49[sizeof("sm")];
-    char unicode_prop_name_pool_str51[sizeof("sc")];
-    char unicode_prop_name_pool_str56[sizeof("cans")];
-    char unicode_prop_name_pool_str61[sizeof("ascii")];
-    char unicode_prop_name_pool_str64[sizeof("insamaritan")];
-    char unicode_prop_name_pool_str66[sizeof("incuneiform")];
-    char unicode_prop_name_pool_str67[sizeof("s")];
-    char unicode_prop_name_pool_str68[sizeof("inarmenian")];
-    char unicode_prop_name_pool_str69[sizeof("zs")];
-    char unicode_prop_name_pool_str76[sizeof("cs")];
-    char unicode_prop_name_pool_str85[sizeof("me")];
-    char unicode_prop_name_pool_str90[sizeof("incommonindicnumberforms")];
-    char unicode_prop_name_pool_str93[sizeof("inavestan")];
-    char unicode_prop_name_pool_str94[sizeof("inthai")];
-    char unicode_prop_name_pool_str103[sizeof("inipaextensions")];
-    char unicode_prop_name_pool_str108[sizeof("initialpunctuation")];
-    char unicode_prop_name_pool_str112[sizeof("inancientsymbols")];
-    char unicode_prop_name_pool_str114[sizeof("inthaana")];
-    char unicode_prop_name_pool_str116[sizeof("cf")];
-    char unicode_prop_name_pool_str118[sizeof("incuneiformnumbersandpunctuation")];
-    char unicode_prop_name_pool_str122[sizeof("mtei")];
-    char unicode_prop_name_pool_str124[sizeof("inspecials")];
-    char unicode_prop_name_pool_str133[sizeof("inmusicalsymbols")];
-    char unicode_prop_name_pool_str141[sizeof("inmiscellaneousmathematicalsymbolsa")];
-    char unicode_prop_name_pool_str145[sizeof("lm")];
-    char unicode_prop_name_pool_str146[sizeof("lina")];
-    char unicode_prop_name_pool_str147[sizeof("lc")];
-    char unicode_prop_name_pool_str149[sizeof("inlycian")];
-    char unicode_prop_name_pool_str155[sizeof("lana")];
-    char unicode_prop_name_pool_str157[sizeof("intaixuanjingsymbols")];
-    char unicode_prop_name_pool_str158[sizeof("inmyanmarextendeda")];
-    char unicode_prop_name_pool_str159[sizeof("alnum")];
-    char unicode_prop_name_pool_str161[sizeof("sterm")];
-    char unicode_prop_name_pool_str162[sizeof("intaitham")];
-    char unicode_prop_name_pool_str163[sizeof("intransportandmapsymbols")];
-    char unicode_prop_name_pool_str165[sizeof("taile")];
-    char unicode_prop_name_pool_str167[sizeof("inmalayalam")];
-    char unicode_prop_name_pool_str176[sizeof("inmiscellaneoussymbols")];
-    char unicode_prop_name_pool_str177[sizeof("incontrolpictures")];
-    char unicode_prop_name_pool_str185[sizeof("inmiscellaneoussymbolsandarrows")];
-    char unicode_prop_name_pool_str189[sizeof("inlineara")];
-    char unicode_prop_name_pool_str190[sizeof("inmiscellaneoussymbolsandpictographs")];
-    char unicode_prop_name_pool_str193[sizeof("sinhala")];
-    char unicode_prop_name_pool_str202[sizeof("taiviet")];
-    char unicode_prop_name_pool_str205[sizeof("ext")];
-    char unicode_prop_name_pool_str215[sizeof("latn")];
-    char unicode_prop_name_pool_str216[sizeof("latin")];
-    char unicode_prop_name_pool_str217[sizeof("ital")];
-    char unicode_prop_name_pool_str218[sizeof("intamil")];
-    char unicode_prop_name_pool_str220[sizeof("inmultani")];
-    char unicode_prop_name_pool_str222[sizeof("taml")];
-    char unicode_prop_name_pool_str229[sizeof("inrunic")];
-    char unicode_prop_name_pool_str230[sizeof("incarian")];
-    char unicode_prop_name_pool_str232[sizeof("armn")];
-    char unicode_prop_name_pool_str234[sizeof("armi")];
-    char unicode_prop_name_pool_str235[sizeof("cari")];
-    char unicode_prop_name_pool_str236[sizeof("inlatinextendedc")];
-    char unicode_prop_name_pool_str238[sizeof("armenian")];
-    char unicode_prop_name_pool_str239[sizeof("inmyanmar")];
-    char unicode_prop_name_pool_str240[sizeof("incyrillic")];
-    char unicode_prop_name_pool_str242[sizeof("inlatinextendeda")];
-    char unicode_prop_name_pool_str246[sizeof("carian")];
-    char unicode_prop_name_pool_str249[sizeof("intaile")];
-    char unicode_prop_name_pool_str253[sizeof("tale")];
-    char unicode_prop_name_pool_str256[sizeof("arabic")];
-    char unicode_prop_name_pool_str259[sizeof("l")];
-    char unicode_prop_name_pool_str260[sizeof("nl")];
-    char unicode_prop_name_pool_str261[sizeof("zl")];
-    char unicode_prop_name_pool_str263[sizeof("insyriac")];
-    char unicode_prop_name_pool_str265[sizeof("samr")];
-    char unicode_prop_name_pool_str267[sizeof("merc")];
-    char unicode_prop_name_pool_str269[sizeof("inlinearbideograms")];
-    char unicode_prop_name_pool_str272[sizeof("samaritan")];
-    char unicode_prop_name_pool_str273[sizeof("lt")];
-    char unicode_prop_name_pool_str276[sizeof("insharada")];
-    char unicode_prop_name_pool_str283[sizeof("inmeeteimayekextensions")];
-    char unicode_prop_name_pool_str292[sizeof("inruminumeralsymbols")];
-    char unicode_prop_name_pool_str295[sizeof("miao")];
-    char unicode_prop_name_pool_str296[sizeof("inlatinextendede")];
-    char unicode_prop_name_pool_str300[sizeof("zinh")];
-    char unicode_prop_name_pool_str304[sizeof("inahom")];
-    char unicode_prop_name_pool_str306[sizeof("incherokee")];
-    char unicode_prop_name_pool_str307[sizeof("han")];
-    char unicode_prop_name_pool_str310[sizeof("hani")];
-    char unicode_prop_name_pool_str311[sizeof("inosmanya")];
-    char unicode_prop_name_pool_str312[sizeof("inmiscellaneoustechnical")];
-    char unicode_prop_name_pool_str323[sizeof("cham")];
-    char unicode_prop_name_pool_str325[sizeof("inmahajani")];
-    char unicode_prop_name_pool_str326[sizeof("osma")];
-    char unicode_prop_name_pool_str329[sizeof("manichaean")];
-    char unicode_prop_name_pool_str330[sizeof("term")];
-    char unicode_prop_name_pool_str332[sizeof("sinh")];
-    char unicode_prop_name_pool_str342[sizeof("cntrl")];
-    char unicode_prop_name_pool_str347[sizeof("chakma")];
-    char unicode_prop_name_pool_str348[sizeof("insinhala")];
-    char unicode_prop_name_pool_str352[sizeof("tamil")];
-    char unicode_prop_name_pool_str353[sizeof("inethiopic")];
-    char unicode_prop_name_pool_str356[sizeof("connectorpunctuation")];
-    char unicode_prop_name_pool_str357[sizeof("shavian")];
-    char unicode_prop_name_pool_str361[sizeof("joinc")];
-    char unicode_prop_name_pool_str362[sizeof("inenclosedalphanumerics")];
-    char unicode_prop_name_pool_str368[sizeof("ahex")];
-    char unicode_prop_name_pool_str369[sizeof("inlatinextendedadditional")];
-    char unicode_prop_name_pool_str370[sizeof("lineara")];
-    char unicode_prop_name_pool_str377[sizeof("inenclosedcjklettersandmonths")];
-    char unicode_prop_name_pool_str378[sizeof("hex")];
-    char unicode_prop_name_pool_str381[sizeof("thai")];
-    char unicode_prop_name_pool_str382[sizeof("mahj")];
-    char unicode_prop_name_pool_str386[sizeof("math")];
-    char unicode_prop_name_pool_str389[sizeof("ll")];
-    char unicode_prop_name_pool_str390[sizeof("thaa")];
-    char unicode_prop_name_pool_str392[sizeof("hatran")];
-    char unicode_prop_name_pool_str399[sizeof("mahajani")];
-    char unicode_prop_name_pool_str400[sizeof("insinhalaarchaicnumbers")];
-    char unicode_prop_name_pool_str402[sizeof("taitham")];
-    char unicode_prop_name_pool_str403[sizeof("thaana")];
-    char unicode_prop_name_pool_str408[sizeof("ethi")];
-    char unicode_prop_name_pool_str409[sizeof("inenclosedalphanumericsupplement")];
-    char unicode_prop_name_pool_str414[sizeof("meroiticcursive")];
-    char unicode_prop_name_pool_str415[sizeof("inideographicdescriptioncharacters")];
-    char unicode_prop_name_pool_str419[sizeof("terminalpunctuation")];
-    char unicode_prop_name_pool_str426[sizeof("inemoticons")];
-    char unicode_prop_name_pool_str431[sizeof("intifinagh")];
-    char unicode_prop_name_pool_str433[sizeof("asciihexdigit")];
-    char unicode_prop_name_pool_str438[sizeof("tifinagh")];
-    char unicode_prop_name_pool_str451[sizeof("inearlydynasticcuneiform")];
-    char unicode_prop_name_pool_str457[sizeof("inopticalcharacterrecognition")];
-    char unicode_prop_name_pool_str479[sizeof("loe")];
-    char unicode_prop_name_pool_str486[sizeof("titlecaseletter")];
-    char unicode_prop_name_pool_str489[sizeof("inscriptionalparthian")];
-    char unicode_prop_name_pool_str510[sizeof("oriya")];
-    char unicode_prop_name_pool_str520[sizeof("hira")];
-    char unicode_prop_name_pool_str529[sizeof("sora")];
-    char unicode_prop_name_pool_str530[sizeof("mero")];
-    char unicode_prop_name_pool_str535[sizeof("inarrows")];
-    char unicode_prop_name_pool_str537[sizeof("inhiragana")];
-    char unicode_prop_name_pool_str544[sizeof("no")];
-    char unicode_prop_name_pool_str545[sizeof("inmahjongtiles")];
-    char unicode_prop_name_pool_str549[sizeof("innko")];
-    char unicode_prop_name_pool_str552[sizeof("co")];
-    char unicode_prop_name_pool_str553[sizeof("cher")];
-    char unicode_prop_name_pool_str556[sizeof("inmro")];
-    char unicode_prop_name_pool_str563[sizeof("common")];
-    char unicode_prop_name_pool_str564[sizeof("cwcm")];
-    char unicode_prop_name_pool_str568[sizeof("inmiao")];
-    char unicode_prop_name_pool_str573[sizeof("inscriptionalpahlavi")];
-    char unicode_prop_name_pool_str576[sizeof("inmathematicalalphanumericsymbols")];
-    char unicode_prop_name_pool_str577[sizeof("so")];
-    char unicode_prop_name_pool_str579[sizeof("hano")];
-    char unicode_prop_name_pool_str580[sizeof("tirh")];
-    char unicode_prop_name_pool_str584[sizeof("inhatran")];
-    char unicode_prop_name_pool_str585[sizeof("inolchiki")];
-    char unicode_prop_name_pool_str586[sizeof("ahom")];
-    char unicode_prop_name_pool_str588[sizeof("di")];
-    char unicode_prop_name_pool_str589[sizeof("hatr")];
-    char unicode_prop_name_pool_str591[sizeof("inogham")];
-    char unicode_prop_name_pool_str596[sizeof("intirhuta")];
-    char unicode_prop_name_pool_str601[sizeof("inmodi")];
-    char unicode_prop_name_pool_str603[sizeof("idc")];
-    char unicode_prop_name_pool_str604[sizeof("mand")];
-    char unicode_prop_name_pool_str608[sizeof("inmandaic")];
-    char unicode_prop_name_pool_str609[sizeof("dia")];
-    char unicode_prop_name_pool_str610[sizeof("cwcf")];
-    char unicode_prop_name_pool_str618[sizeof("xidc")];
-    char unicode_prop_name_pool_str621[sizeof("sind")];
-    char unicode_prop_name_pool_str622[sizeof("newline")];
-    char unicode_prop_name_pool_str631[sizeof("mend")];
-    char unicode_prop_name_pool_str635[sizeof("newtailue")];
-    char unicode_prop_name_pool_str638[sizeof("inshorthandformatcontrols")];
-    char unicode_prop_name_pool_str642[sizeof("anatolianhieroglyphs")];
-    char unicode_prop_name_pool_str643[sizeof("xids")];
-    char unicode_prop_name_pool_str653[sizeof("ids")];
-    char unicode_prop_name_pool_str659[sizeof("innewtailue")];
-    char unicode_prop_name_pool_str660[sizeof("insylotinagri")];
-    char unicode_prop_name_pool_str666[sizeof("insundanese")];
-    char unicode_prop_name_pool_str673[sizeof("lo")];
-    char unicode_prop_name_pool_str677[sizeof("indominotiles")];
-    char unicode_prop_name_pool_str678[sizeof("inlao")];
-    char unicode_prop_name_pool_str685[sizeof("lao")];
-    char unicode_prop_name_pool_str686[sizeof("laoo")];
-    char unicode_prop_name_pool_str687[sizeof("mongolian")];
-    char unicode_prop_name_pool_str690[sizeof("cwt")];
-    char unicode_prop_name_pool_str692[sizeof("idst")];
-    char unicode_prop_name_pool_str693[sizeof("format")];
-    char unicode_prop_name_pool_str696[sizeof("lineseparator")];
-    char unicode_prop_name_pool_str702[sizeof("letter")];
-    char unicode_prop_name_pool_str711[sizeof("idcontinue")];
-    char unicode_prop_name_pool_str714[sizeof("inanatolianhieroglyphs")];
-    char unicode_prop_name_pool_str723[sizeof("inlydian")];
-    char unicode_prop_name_pool_str725[sizeof("pi")];
-    char unicode_prop_name_pool_str726[sizeof("nchar")];
-    char unicode_prop_name_pool_str731[sizeof("inspacingmodifierletters")];
-    char unicode_prop_name_pool_str732[sizeof("oalpha")];
-    char unicode_prop_name_pool_str735[sizeof("indeseret")];
-    char unicode_prop_name_pool_str737[sizeof("pc")];
-    char unicode_prop_name_pool_str756[sizeof("xdigit")];
-    char unicode_prop_name_pool_str758[sizeof("inphaistosdisc")];
-    char unicode_prop_name_pool_str759[sizeof("joincontrol")];
-    char unicode_prop_name_pool_str760[sizeof("inlowsurrogates")];
-    char unicode_prop_name_pool_str762[sizeof("mro")];
-    char unicode_prop_name_pool_str763[sizeof("mroo")];
-    char unicode_prop_name_pool_str767[sizeof("xidstart")];
-    char unicode_prop_name_pool_str773[sizeof("wara")];
-    char unicode_prop_name_pool_str776[sizeof("inwarangciti")];
-    char unicode_prop_name_pool_str787[sizeof("ps")];
-    char unicode_prop_name_pool_str797[sizeof("pe")];
-    char unicode_prop_name_pool_str806[sizeof("cwl")];
-    char unicode_prop_name_pool_str816[sizeof("incoptic")];
-    char unicode_prop_name_pool_str824[sizeof("diacritic")];
-    char unicode_prop_name_pool_str827[sizeof("pf")];
-    char unicode_prop_name_pool_str844[sizeof("space")];
-    char unicode_prop_name_pool_str853[sizeof("hanunoo")];
-    char unicode_prop_name_pool_str856[sizeof("incyrillicextendeda")];
-    char unicode_prop_name_pool_str860[sizeof("odi")];
-    char unicode_prop_name_pool_str866[sizeof("modi")];
-    char unicode_prop_name_pool_str867[sizeof("oidc")];
-    char unicode_prop_name_pool_str868[sizeof("incopticepactnumbers")];
-    char unicode_prop_name_pool_str870[sizeof("palm")];
-    char unicode_prop_name_pool_str871[sizeof("insundanesesupplement")];
-    char unicode_prop_name_pool_str872[sizeof("patws")];
-    char unicode_prop_name_pool_str876[sizeof("inolditalic")];
-    char unicode_prop_name_pool_str877[sizeof("inlepcha")];
-    char unicode_prop_name_pool_str878[sizeof("shaw")];
-    char unicode_prop_name_pool_str880[sizeof("omath")];
-    char unicode_prop_name_pool_str886[sizeof("alpha")];
-    char unicode_prop_name_pool_str892[sizeof("oids")];
-    char unicode_prop_name_pool_str896[sizeof("control")];
-    char unicode_prop_name_pool_str897[sizeof("ideo")];
-    char unicode_prop_name_pool_str898[sizeof("lepc")];
-    char unicode_prop_name_pool_str899[sizeof("psalterpahlavi")];
-    char unicode_prop_name_pool_str900[sizeof("dsrt")];
-    char unicode_prop_name_pool_str902[sizeof("otheridcontinue")];
-    char unicode_prop_name_pool_str906[sizeof("inpalmyrene")];
-    char unicode_prop_name_pool_str907[sizeof("decimalnumber")];
-    char unicode_prop_name_pool_str915[sizeof("noncharactercodepoint")];
-    char unicode_prop_name_pool_str916[sizeof("idstart")];
-    char unicode_prop_name_pool_str917[sizeof("otheralphabetic")];
-    char unicode_prop_name_pool_str918[sizeof("letternumber")];
-    char unicode_prop_name_pool_str923[sizeof("dash")];
-    char unicode_prop_name_pool_str926[sizeof("xidcontinue")];
-    char unicode_prop_name_pool_str930[sizeof("finalpunctuation")];
-    char unicode_prop_name_pool_str931[sizeof("extender")];
-    char unicode_prop_name_pool_str935[sizeof("siddham")];
-    char unicode_prop_name_pool_str945[sizeof("inoldturkic")];
-    char unicode_prop_name_pool_str948[sizeof("sharada")];
-    char unicode_prop_name_pool_str951[sizeof("whitespace")];
-    char unicode_prop_name_pool_str956[sizeof("inmodifiertoneletters")];
-    char unicode_prop_name_pool_str958[sizeof("radical")];
-    char unicode_prop_name_pool_str960[sizeof("canadianaboriginal")];
-    char unicode_prop_name_pool_str969[sizeof("inethiopicextendeda")];
-    char unicode_prop_name_pool_str970[sizeof("imperialaramaic")];
-    char unicode_prop_name_pool_str978[sizeof("perm")];
-    char unicode_prop_name_pool_str979[sizeof("deseret")];
-    char unicode_prop_name_pool_str984[sizeof("casedletter")];
-    char unicode_prop_name_pool_str998[sizeof("inimperialaramaic")];
-    char unicode_prop_name_pool_str1001[sizeof("otheridstart")];
-    char unicode_prop_name_pool_str1006[sizeof("prti")];
-    char unicode_prop_name_pool_str1012[sizeof("cprt")];
-    char unicode_prop_name_pool_str1018[sizeof("othersymbol")];
-    char unicode_prop_name_pool_str1022[sizeof("coptic")];
-    char unicode_prop_name_pool_str1037[sizeof("otherlowercase")];
-    char unicode_prop_name_pool_str1038[sizeof("phnx")];
-    char unicode_prop_name_pool_str1042[sizeof("inphoenician")];
-    char unicode_prop_name_pool_str1049[sizeof("incaucasianalbanian")];
-    char unicode_prop_name_pool_str1050[sizeof("inlatin1supplement")];
-    char unicode_prop_name_pool_str1054[sizeof("xpeo")];
-    char unicode_prop_name_pool_str1058[sizeof("ininscriptionalparthian")];
-    char unicode_prop_name_pool_str1059[sizeof("ininscriptionalpahlavi")];
-    char unicode_prop_name_pool_str1060[sizeof("other")];
-    char unicode_prop_name_pool_str1061[sizeof("privateuse")];
-    char unicode_prop_name_pool_str1066[sizeof("othernumber")];
-    char unicode_prop_name_pool_str1071[sizeof("inenclosedideographicsupplement")];
-    char unicode_prop_name_pool_str1073[sizeof("copt")];
-    char unicode_prop_name_pool_str1078[sizeof("print")];
-    char unicode_prop_name_pool_str1080[sizeof("cuneiform")];
-    char unicode_prop_name_pool_str1081[sizeof("olditalic")];
-    char unicode_prop_name_pool_str1082[sizeof("xsux")];
-    char unicode_prop_name_pool_str1086[sizeof("inmongolian")];
-    char unicode_prop_name_pool_str1091[sizeof("inancientgreekmusicalnotation")];
-    char unicode_prop_name_pool_str1092[sizeof("sundanese")];
-    char unicode_prop_name_pool_str1093[sizeof("inoldnortharabian")];
-    char unicode_prop_name_pool_str1095[sizeof("patternsyntax")];
-    char unicode_prop_name_pool_str1098[sizeof("inherited")];
-    char unicode_prop_name_pool_str1099[sizeof("ingrantha")];
-    char unicode_prop_name_pool_str1100[sizeof("inphoneticextensions")];
-    char unicode_prop_name_pool_str1110[sizeof("saurashtra")];
-    char unicode_prop_name_pool_str1116[sizeof("inancientgreeknumbers")];
-    char unicode_prop_name_pool_str1122[sizeof("shrd")];
-    char unicode_prop_name_pool_str1126[sizeof("inoldsoutharabian")];
-    char unicode_prop_name_pool_str1127[sizeof("innabataean")];
-    char unicode_prop_name_pool_str1128[sizeof("inalphabeticpresentationforms")];
-    char unicode_prop_name_pool_str1129[sizeof("spaceseparator")];
-    char unicode_prop_name_pool_str1135[sizeof("olower")];
-    char unicode_prop_name_pool_str1137[sizeof("ingeneralpunctuation")];
-    char unicode_prop_name_pool_str1138[sizeof("inunifiedcanadianaboriginalsyllabics")];
-    char unicode_prop_name_pool_str1140[sizeof("bamum")];
-    char unicode_prop_name_pool_str1143[sizeof("inarabic")];
-    char unicode_prop_name_pool_str1147[sizeof("phli")];
-    char unicode_prop_name_pool_str1148[sizeof("inphoneticextensionssupplement")];
-    char unicode_prop_name_pool_str1150[sizeof("patternwhitespace")];
-    char unicode_prop_name_pool_str1152[sizeof("inbasiclatin")];
-    char unicode_prop_name_pool_str1154[sizeof("othermath")];
-    char unicode_prop_name_pool_str1155[sizeof("idsbinaryoperator")];
-    char unicode_prop_name_pool_str1156[sizeof("inmathematicaloperators")];
-    char unicode_prop_name_pool_str1157[sizeof("multani")];
-    char unicode_prop_name_pool_str1158[sizeof("ingujarati")];
-    char unicode_prop_name_pool_str1163[sizeof("inelbasan")];
-    char unicode_prop_name_pool_str1164[sizeof("inoldhungarian")];
-    char unicode_prop_name_pool_str1165[sizeof("innumberforms")];
-    char unicode_prop_name_pool_str1166[sizeof("nd")];
-    char unicode_prop_name_pool_str1168[sizeof("yi")];
-    char unicode_prop_name_pool_str1169[sizeof("lisu")];
-    char unicode_prop_name_pool_str1172[sizeof("yiii")];
-    char unicode_prop_name_pool_str1174[sizeof("inpsalterpahlavi")];
-    char unicode_prop_name_pool_str1178[sizeof("tagbanwa")];
-    char unicode_prop_name_pool_str1184[sizeof("bass")];
-    char unicode_prop_name_pool_str1189[sizeof("nbat")];
-    char unicode_prop_name_pool_str1190[sizeof("inbyzantinemusicalsymbols")];
-    char unicode_prop_name_pool_str1192[sizeof("closepunctuation")];
-    char unicode_prop_name_pool_str1194[sizeof("tfng")];
-    char unicode_prop_name_pool_str1195[sizeof("otherletter")];
-    char unicode_prop_name_pool_str1199[sizeof("sd")];
-    char unicode_prop_name_pool_str1202[sizeof("lowercase")];
-    char unicode_prop_name_pool_str1203[sizeof("sidd")];
-    char unicode_prop_name_pool_str1205[sizeof("nabataean")];
-    char unicode_prop_name_pool_str1207[sizeof("lepcha")];
-    char unicode_prop_name_pool_str1208[sizeof("inarabicpresentationformsa")];
-    char unicode_prop_name_pool_str1210[sizeof("modifierletter")];
-    char unicode_prop_name_pool_str1211[sizeof("intags")];
-    char unicode_prop_name_pool_str1212[sizeof("mult")];
-    char unicode_prop_name_pool_str1215[sizeof("insiddham")];
-    char unicode_prop_name_pool_str1216[sizeof("talu")];
-    char unicode_prop_name_pool_str1221[sizeof("cased")];
-    char unicode_prop_name_pool_str1223[sizeof("intibetan")];
-    char unicode_prop_name_pool_str1230[sizeof("separator")];
-    char unicode_prop_name_pool_str1232[sizeof("runic")];
-    char unicode_prop_name_pool_str1233[sizeof("inmiscellaneousmathematicalsymbolsb")];
-    char unicode_prop_name_pool_str1238[sizeof("linb")];
-    char unicode_prop_name_pool_str1239[sizeof("inbraillepatterns")];
-    char unicode_prop_name_pool_str1240[sizeof("oldpersian")];
-    char unicode_prop_name_pool_str1242[sizeof("inugaritic")];
-    char unicode_prop_name_pool_str1243[sizeof("telu")];
-    char unicode_prop_name_pool_str1245[sizeof("limb")];
-    char unicode_prop_name_pool_str1247[sizeof("oldpermic")];
-    char unicode_prop_name_pool_str1249[sizeof("bali")];
-    char unicode_prop_name_pool_str1250[sizeof("inmyanmarextendedb")];
-    char unicode_prop_name_pool_str1251[sizeof("tibt")];
-    char unicode_prop_name_pool_str1259[sizeof("saur")];
-    char unicode_prop_name_pool_str1263[sizeof("po")];
-    char unicode_prop_name_pool_str1265[sizeof("tibetan")];
-    char unicode_prop_name_pool_str1280[sizeof("insaurashtra")];
-    char unicode_prop_name_pool_str1284[sizeof("inbalinese")];
-    char unicode_prop_name_pool_str1285[sizeof("elba")];
-    char unicode_prop_name_pool_str1290[sizeof("bengali")];
-    char unicode_prop_name_pool_str1291[sizeof("gran")];
-    char unicode_prop_name_pool_str1295[sizeof("phoenician")];
-    char unicode_prop_name_pool_str1297[sizeof("ingurmukhi")];
-    char unicode_prop_name_pool_str1300[sizeof("caseignorable")];
-    char unicode_prop_name_pool_str1305[sizeof("lyci")];
-    char unicode_prop_name_pool_str1307[sizeof("inyijinghexagramsymbols")];
-    char unicode_prop_name_pool_str1309[sizeof("mlym")];
-    char unicode_prop_name_pool_str1316[sizeof("lycian")];
-    char unicode_prop_name_pool_str1321[sizeof("elbasan")];
-    char unicode_prop_name_pool_str1327[sizeof("balinese")];
-    char unicode_prop_name_pool_str1328[sizeof("narb")];
-    char unicode_prop_name_pool_str1330[sizeof("brai")];
-    char unicode_prop_name_pool_str1333[sizeof("insuttonsignwriting")];
-    char unicode_prop_name_pool_str1335[sizeof("insorasompeng")];
-    char unicode_prop_name_pool_str1336[sizeof("malayalam")];
-    char unicode_prop_name_pool_str1339[sizeof("arab")];
-    char unicode_prop_name_pool_str1341[sizeof("brahmi")];
-    char unicode_prop_name_pool_str1343[sizeof("incountingrodnumerals")];
-    char unicode_prop_name_pool_str1347[sizeof("rjng")];
-    char unicode_prop_name_pool_str1348[sizeof("mong")];
-    char unicode_prop_name_pool_str1352[sizeof("incyrillicsupplement")];
-    char unicode_prop_name_pool_str1359[sizeof("ogam")];
-    char unicode_prop_name_pool_str1361[sizeof("sarb")];
-    char unicode_prop_name_pool_str1362[sizeof("lower")];
-    char unicode_prop_name_pool_str1364[sizeof("inrejang")];
-    char unicode_prop_name_pool_str1370[sizeof("hmng")];
-    char unicode_prop_name_pool_str1373[sizeof("tirhuta")];
-    char unicode_prop_name_pool_str1374[sizeof("hang")];
-    char unicode_prop_name_pool_str1379[sizeof("wspace")];
-    char unicode_prop_name_pool_str1384[sizeof("inlatinextendedd")];
-    char unicode_prop_name_pool_str1387[sizeof("invai")];
-    char unicode_prop_name_pool_str1388[sizeof("incherokeesupplement")];
-    char unicode_prop_name_pool_str1390[sizeof("mymr")];
-    char unicode_prop_name_pool_str1394[sizeof("vai")];
-    char unicode_prop_name_pool_str1395[sizeof("vaii")];
-    char unicode_prop_name_pool_str1408[sizeof("ethiopic")];
-    char unicode_prop_name_pool_str1410[sizeof("sylotinagri")];
-    char unicode_prop_name_pool_str1415[sizeof("myanmar")];
-    char unicode_prop_name_pool_str1417[sizeof("syrc")];
-    char unicode_prop_name_pool_str1419[sizeof("inbrahmi")];
-    char unicode_prop_name_pool_str1423[sizeof("mathsymbol")];
-    char unicode_prop_name_pool_str1425[sizeof("runr")];
-    char unicode_prop_name_pool_str1431[sizeof("inshavian")];
-    char unicode_prop_name_pool_str1432[sizeof("gothic")];
-    char unicode_prop_name_pool_str1438[sizeof("syriac")];
-    char unicode_prop_name_pool_str1439[sizeof("p")];
-    char unicode_prop_name_pool_str1441[sizeof("zp")];
-    char unicode_prop_name_pool_str1442[sizeof("induployan")];
-    char unicode_prop_name_pool_str1444[sizeof("vs")];
-    char unicode_prop_name_pool_str1447[sizeof("ingreekandcoptic")];
-    char unicode_prop_name_pool_str1448[sizeof("ingothic")];
-    char unicode_prop_name_pool_str1451[sizeof("lowercaseletter")];
-    char unicode_prop_name_pool_str1455[sizeof("inoriya")];
-    char unicode_prop_name_pool_str1461[sizeof("grext")];
-    char unicode_prop_name_pool_str1462[sizeof("linearb")];
-    char unicode_prop_name_pool_str1463[sizeof("inyiradicals")];
-    char unicode_prop_name_pool_str1465[sizeof("inethiopicsupplement")];
-    char unicode_prop_name_pool_str1466[sizeof("inletterlikesymbols")];
-    char unicode_prop_name_pool_str1467[sizeof("ingeometricshapes")];
-    char unicode_prop_name_pool_str1469[sizeof("java")];
-    char unicode_prop_name_pool_str1470[sizeof("inblockelements")];
-    char unicode_prop_name_pool_str1472[sizeof("number")];
-    char unicode_prop_name_pool_str1473[sizeof("incombininghalfmarks")];
-    char unicode_prop_name_pool_str1474[sizeof("inbassavah")];
-    char unicode_prop_name_pool_str1489[sizeof("inlinearbsyllabary")];
-    char unicode_prop_name_pool_str1491[sizeof("osmanya")];
-    char unicode_prop_name_pool_str1495[sizeof("avst")];
-    char unicode_prop_name_pool_str1500[sizeof("hexdigit")];
-    char unicode_prop_name_pool_str1504[sizeof("injavanese")];
-    char unicode_prop_name_pool_str1513[sizeof("cyrl")];
-    char unicode_prop_name_pool_str1514[sizeof("avestan")];
-    char unicode_prop_name_pool_str1531[sizeof("intaiviet")];
-    char unicode_prop_name_pool_str1532[sizeof("inornamentaldingbats")];
-    char unicode_prop_name_pool_str1533[sizeof("tavt")];
-    char unicode_prop_name_pool_str1538[sizeof("javanese")];
-    char unicode_prop_name_pool_str1539[sizeof("inethiopicextended")];
-    char unicode_prop_name_pool_str1550[sizeof("inhalfwidthandfullwidthforms")];
-    char unicode_prop_name_pool_str1559[sizeof("ingeorgian")];
-    char unicode_prop_name_pool_str1561[sizeof("inarabicmathematicalalphabeticsymbols")];
-    char unicode_prop_name_pool_str1569[sizeof("hangul")];
-    char unicode_prop_name_pool_str1571[sizeof("insuperscriptsandsubscripts")];
-    char unicode_prop_name_pool_str1576[sizeof("inhanunoo")];
-    char unicode_prop_name_pool_str1578[sizeof("inhangulsyllables")];
-    char unicode_prop_name_pool_str1586[sizeof("inoldpersian")];
-    char unicode_prop_name_pool_str1589[sizeof("geor")];
-    char unicode_prop_name_pool_str1591[sizeof("otherpunctuation")];
-    char unicode_prop_name_pool_str1593[sizeof("inoldpermic")];
-    char unicode_prop_name_pool_str1598[sizeof("inalchemicalsymbols")];
-    char unicode_prop_name_pool_str1599[sizeof("sylo")];
-    char unicode_prop_name_pool_str1601[sizeof("hiragana")];
-    char unicode_prop_name_pool_str1604[sizeof("word")];
-    char unicode_prop_name_pool_str1612[sizeof("inmeroitichieroglyphs")];
-    char unicode_prop_name_pool_str1614[sizeof("insmallformvariants")];
-    char unicode_prop_name_pool_str1620[sizeof("sund")];
-    char unicode_prop_name_pool_str1621[sizeof("brah")];
-    char unicode_prop_name_pool_str1623[sizeof("insupplementalmathematicaloperators")];
-    char unicode_prop_name_pool_str1624[sizeof("glagolitic")];
-    char unicode_prop_name_pool_str1627[sizeof("braille")];
-    char unicode_prop_name_pool_str1639[sizeof("unassigned")];
-    char unicode_prop_name_pool_str1640[sizeof("sgnw")];
-    char unicode_prop_name_pool_str1644[sizeof("plrd")];
-    char unicode_prop_name_pool_str1648[sizeof("hebr")];
-    char unicode_prop_name_pool_str1649[sizeof("ogham")];
-    char unicode_prop_name_pool_str1654[sizeof("cyrillic")];
-    char unicode_prop_name_pool_str1658[sizeof("orya")];
-    char unicode_prop_name_pool_str1669[sizeof("grantha")];
-    char unicode_prop_name_pool_str1684[sizeof("invariationselectors")];
-    char unicode_prop_name_pool_str1693[sizeof("indingbats")];
-    char unicode_prop_name_pool_str1695[sizeof("inunifiedcanadianaboriginalsyllabicsextended")];
-    char unicode_prop_name_pool_str1702[sizeof("inhanguljamoextendeda")];
-    char unicode_prop_name_pool_str1705[sizeof("goth")];
-    char unicode_prop_name_pool_str1706[sizeof("graphemebase")];
-    char unicode_prop_name_pool_str1708[sizeof("bidic")];
-    char unicode_prop_name_pool_str1717[sizeof("ogrext")];
-    char unicode_prop_name_pool_str1724[sizeof("idsb")];
-    char unicode_prop_name_pool_str1732[sizeof("invariationselectorssupplement")];
-    char unicode_prop_name_pool_str1733[sizeof("assigned")];
-    char unicode_prop_name_pool_str1737[sizeof("symbol")];
-    char unicode_prop_name_pool_str1741[sizeof("ingreekextended")];
-    char unicode_prop_name_pool_str1743[sizeof("pauc")];
-    char unicode_prop_name_pool_str1752[sizeof("meroitichieroglyphs")];
-    char unicode_prop_name_pool_str1754[sizeof("logicalorderexception")];
-    char unicode_prop_name_pool_str1771[sizeof("incurrencysymbols")];
-    char unicode_prop_name_pool_str1775[sizeof("inarabicextendeda")];
-    char unicode_prop_name_pool_str1783[sizeof("insupplementalarrowsc")];
-    char unicode_prop_name_pool_str1786[sizeof("insupplementalarrowsa")];
-    char unicode_prop_name_pool_str1788[sizeof("inkannada")];
-    char unicode_prop_name_pool_str1792[sizeof("kana")];
-    char unicode_prop_name_pool_str1793[sizeof("phagspa")];
-    char unicode_prop_name_pool_str1796[sizeof("cakm")];
-    char unicode_prop_name_pool_str1797[sizeof("digit")];
-    char unicode_prop_name_pool_str1802[sizeof("softdotted")];
-    char unicode_prop_name_pool_str1806[sizeof("inchakma")];
-    char unicode_prop_name_pool_str1818[sizeof("inphagspa")];
-    char unicode_prop_name_pool_str1822[sizeof("inhighprivateusesurrogates")];
-    char unicode_prop_name_pool_str1836[sizeof("warangciti")];
-    char unicode_prop_name_pool_str1844[sizeof("incjkcompatibilityforms")];
-    char unicode_prop_name_pool_str1847[sizeof("idstrinaryoperator")];
-    char unicode_prop_name_pool_str1849[sizeof("incjkcompatibilityideographs")];
-    char unicode_prop_name_pool_str1851[sizeof("inkaithi")];
-    char unicode_prop_name_pool_str1857[sizeof("takri")];
-    char unicode_prop_name_pool_str1864[sizeof("phlp")];
-    char unicode_prop_name_pool_str1865[sizeof("mendekikakui")];
-    char unicode_prop_name_pool_str1867[sizeof("punct")];
-    char unicode_prop_name_pool_str1870[sizeof("otherdefaultignorablecodepoint")];
-    char unicode_prop_name_pool_str1871[sizeof("inkatakana")];
-    char unicode_prop_name_pool_str1878[sizeof("graph")];
-    char unicode_prop_name_pool_str1879[sizeof("lydi")];
-    char unicode_prop_name_pool_str1885[sizeof("pd")];
-    char unicode_prop_name_pool_str1887[sizeof("incjkstrokes")];
-    char unicode_prop_name_pool_str1890[sizeof("lydian")];
-    char unicode_prop_name_pool_str1895[sizeof("sorasompeng")];
-    char unicode_prop_name_pool_str1897[sizeof("incjkcompatibilityideographssupplement")];
-    char unicode_prop_name_pool_str1900[sizeof("meeteimayek")];
-    char unicode_prop_name_pool_str1909[sizeof("otheruppercase")];
-    char unicode_prop_name_pool_str1912[sizeof("kali")];
-    char unicode_prop_name_pool_str1915[sizeof("inhanguljamo")];
-    char unicode_prop_name_pool_str1917[sizeof("ideographic")];
-    char unicode_prop_name_pool_str1935[sizeof("inmeeteimayek")];
-    char unicode_prop_name_pool_str1948[sizeof("incyrillicextendedb")];
-    char unicode_prop_name_pool_str1964[sizeof("hluw")];
-    char unicode_prop_name_pool_str1969[sizeof("patsyn")];
-    char unicode_prop_name_pool_str1972[sizeof("incombiningdiacriticalmarks")];
-    char unicode_prop_name_pool_str1973[sizeof("inarabicsupplement")];
-    char unicode_prop_name_pool_str1975[sizeof("inkanasupplement")];
-    char unicode_prop_name_pool_str1977[sizeof("deprecated")];
-    char unicode_prop_name_pool_str1978[sizeof("inverticalforms")];
-    char unicode_prop_name_pool_str1982[sizeof("incombiningdiacriticalmarksforsymbols")];
-    char unicode_prop_name_pool_str1987[sizeof("indevanagari")];
-    char unicode_prop_name_pool_str1989[sizeof("inbuhid")];
-    char unicode_prop_name_pool_str1991[sizeof("alphabetic")];
-    char unicode_prop_name_pool_str1995[sizeof("oldhungarian")];
-    char unicode_prop_name_pool_str1998[sizeof("mark")];
-    char unicode_prop_name_pool_str2005[sizeof("inkharoshthi")];
-    char unicode_prop_name_pool_str2011[sizeof("deva")];
-    char unicode_prop_name_pool_str2012[sizeof("invedicextensions")];
-    char unicode_prop_name_pool_str2019[sizeof("devanagari")];
-    char unicode_prop_name_pool_str2020[sizeof("incombiningdiacriticalmarkssupplement")];
-    char unicode_prop_name_pool_str2024[sizeof("ingeometricshapesextended")];
-    char unicode_prop_name_pool_str2030[sizeof("inkhmer")];
-    char unicode_prop_name_pool_str2034[sizeof("changeswhencasemapped")];
-    char unicode_prop_name_pool_str2058[sizeof("intakri")];
-    char unicode_prop_name_pool_str2061[sizeof("dep")];
-    char unicode_prop_name_pool_str2062[sizeof("takr")];
-    char unicode_prop_name_pool_str2080[sizeof("changeswhencasefolded")];
-    char unicode_prop_name_pool_str2082[sizeof("kaithi")];
-    char unicode_prop_name_pool_str2093[sizeof("phag")];
-    char unicode_prop_name_pool_str2104[sizeof("inpahawhhmong")];
-    char unicode_prop_name_pool_str2106[sizeof("bidicontrol")];
-    char unicode_prop_name_pool_str2116[sizeof("inkhojki")];
-    char unicode_prop_name_pool_str2126[sizeof("bamu")];
-    char unicode_prop_name_pool_str2127[sizeof("inbamum")];
-    char unicode_prop_name_pool_str2128[sizeof("changeswhentitlecased")];
-    char unicode_prop_name_pool_str2131[sizeof("inkhmersymbols")];
-    char unicode_prop_name_pool_str2132[sizeof("uideo")];
-    char unicode_prop_name_pool_str2133[sizeof("lu")];
-    char unicode_prop_name_pool_str2136[sizeof("kthi")];
-    char unicode_prop_name_pool_str2145[sizeof("limbu")];
-    char unicode_prop_name_pool_str2147[sizeof("defaultignorablecodepoint")];
-    char unicode_prop_name_pool_str2151[sizeof("inplayingcards")];
-    char unicode_prop_name_pool_str2153[sizeof("inhebrew")];
-    char unicode_prop_name_pool_str2161[sizeof("modifiersymbol")];
-    char unicode_prop_name_pool_str2167[sizeof("ugaritic")];
-    char unicode_prop_name_pool_str2172[sizeof("inlisu")];
-    char unicode_prop_name_pool_str2173[sizeof("inglagolitic")];
-    char unicode_prop_name_pool_str2175[sizeof("inprivateusearea")];
-    char unicode_prop_name_pool_str2178[sizeof("olck")];
-    char unicode_prop_name_pool_str2182[sizeof("inbengali")];
-    char unicode_prop_name_pool_str2185[sizeof("olchiki")];
-    char unicode_prop_name_pool_str2195[sizeof("caucasianalbanian")];
-    char unicode_prop_name_pool_str2210[sizeof("oldturkic")];
-    char unicode_prop_name_pool_str2211[sizeof("beng")];
-    char unicode_prop_name_pool_str2212[sizeof("intelugu")];
-    char unicode_prop_name_pool_str2218[sizeof("hyphen")];
-    char unicode_prop_name_pool_str2221[sizeof("inbuginese")];
-    char unicode_prop_name_pool_str2225[sizeof("intagalog")];
-    char unicode_prop_name_pool_str2240[sizeof("cypriot")];
-    char unicode_prop_name_pool_str2249[sizeof("inlimbu")];
-    char unicode_prop_name_pool_str2252[sizeof("graphemeextend")];
-    char unicode_prop_name_pool_str2255[sizeof("tagb")];
-    char unicode_prop_name_pool_str2259[sizeof("incypriotsyllabary")];
-    char unicode_prop_name_pool_str2263[sizeof("intagbanwa")];
-    char unicode_prop_name_pool_str2268[sizeof("inaegeannumbers")];
-    char unicode_prop_name_pool_str2275[sizeof("inkatakanaphoneticextensions")];
-    char unicode_prop_name_pool_str2276[sizeof("glag")];
-    char unicode_prop_name_pool_str2277[sizeof("combiningmark")];
-    char unicode_prop_name_pool_str2278[sizeof("palmyrene")];
-    char unicode_prop_name_pool_str2280[sizeof("khmr")];
-    char unicode_prop_name_pool_str2284[sizeof("khar")];
-    char unicode_prop_name_pool_str2292[sizeof("ugar")];
-    char unicode_prop_name_pool_str2300[sizeof("inarabicpresentationformsb")];
-    char unicode_prop_name_pool_str2304[sizeof("insupplementaryprivateuseareaa")];
-    char unicode_prop_name_pool_str2306[sizeof("variationselector")];
-    char unicode_prop_name_pool_str2311[sizeof("nko")];
-    char unicode_prop_name_pool_str2312[sizeof("nkoo")];
-    char unicode_prop_name_pool_str2330[sizeof("inbamumsupplement")];
-    char unicode_prop_name_pool_str2336[sizeof("tglg")];
-    char unicode_prop_name_pool_str2338[sizeof("any")];
-    char unicode_prop_name_pool_str2339[sizeof("enclosingmark")];
-    char unicode_prop_name_pool_str2348[sizeof("gujr")];
-    char unicode_prop_name_pool_str2358[sizeof("changeswhenlowercased")];
-    char unicode_prop_name_pool_str2363[sizeof("knda")];
-    char unicode_prop_name_pool_str2364[sizeof("hung")];
-    char unicode_prop_name_pool_str2365[sizeof("gujarati")];
-    char unicode_prop_name_pool_str2368[sizeof("bopo")];
-    char unicode_prop_name_pool_str2373[sizeof("inmendekikakui")];
-    char unicode_prop_name_pool_str2376[sizeof("inbopomofo")];
-    char unicode_prop_name_pool_str2386[sizeof("kharoshthi")];
-    char unicode_prop_name_pool_str2388[sizeof("kannada")];
-    char unicode_prop_name_pool_str2401[sizeof("khoj")];
-    char unicode_prop_name_pool_str2422[sizeof("cherokee")];
-    char unicode_prop_name_pool_str2426[sizeof("inlatinextendedb")];
-    char unicode_prop_name_pool_str2432[sizeof("dashpunctuation")];
-    char unicode_prop_name_pool_str2435[sizeof("dupl")];
-    char unicode_prop_name_pool_str2443[sizeof("inyisyllables")];
-    char unicode_prop_name_pool_str2451[sizeof("georgian")];
-    char unicode_prop_name_pool_str2453[sizeof("rejang")];
-    char unicode_prop_name_pool_str2455[sizeof("oupper")];
-    char unicode_prop_name_pool_str2477[sizeof("aghb")];
-    char unicode_prop_name_pool_str2491[sizeof("khmer")];
-    char unicode_prop_name_pool_str2494[sizeof("grbase")];
-    char unicode_prop_name_pool_str2503[sizeof("currencysymbol")];
-    char unicode_prop_name_pool_str2529[sizeof("incombiningdiacriticalmarksextended")];
-    char unicode_prop_name_pool_str2542[sizeof("spacingmark")];
-    char unicode_prop_name_pool_str2544[sizeof("orkh")];
-    char unicode_prop_name_pool_str2550[sizeof("cwu")];
-    char unicode_prop_name_pool_str2552[sizeof("hebrew")];
-    char unicode_prop_name_pool_str2570[sizeof("insupplementalpunctuation")];
-    char unicode_prop_name_pool_str2581[sizeof("oldnortharabian")];
-    char unicode_prop_name_pool_str2587[sizeof("incjksymbolsandpunctuation")];
-    char unicode_prop_name_pool_str2590[sizeof("othergraphemeextend")];
-    char unicode_prop_name_pool_str2613[sizeof("indevanagariextended")];
-    char unicode_prop_name_pool_str2621[sizeof("tagalog")];
-    char unicode_prop_name_pool_str2628[sizeof("surrogate")];
-    char unicode_prop_name_pool_str2650[sizeof("bopomofo")];
-    char unicode_prop_name_pool_str2679[sizeof("ingeorgiansupplement")];
-    char unicode_prop_name_pool_str2704[sizeof("uppercase")];
-    char unicode_prop_name_pool_str2711[sizeof("unifiedideograph")];
-    char unicode_prop_name_pool_str2742[sizeof("inpaucinhau")];
-    char unicode_prop_name_pool_str2743[sizeof("paucinhau")];
-    char unicode_prop_name_pool_str2774[sizeof("insupplementalsymbolsandpictographs")];
-    char unicode_prop_name_pool_str2792[sizeof("nonspacingmark")];
-    char unicode_prop_name_pool_str2794[sizeof("inhanguljamoextendedb")];
-    char unicode_prop_name_pool_str2802[sizeof("inhighsurrogates")];
-    char unicode_prop_name_pool_str2803[sizeof("punctuation")];
-    char unicode_prop_name_pool_str2834[sizeof("openpunctuation")];
-    char unicode_prop_name_pool_str2835[sizeof("bassavah")];
-    char unicode_prop_name_pool_str2864[sizeof("upper")];
-    char unicode_prop_name_pool_str2878[sizeof("insupplementalarrowsb")];
-    char unicode_prop_name_pool_str2879[sizeof("inkanbun")];
-    char unicode_prop_name_pool_str2918[sizeof("inkangxiradicals")];
-    char unicode_prop_name_pool_str2922[sizeof("inmeroiticcursive")];
-    char unicode_prop_name_pool_str2925[sizeof("signwriting")];
-    char unicode_prop_name_pool_str2928[sizeof("incjkradicalssupplement")];
-    char unicode_prop_name_pool_str2930[sizeof("pahawhhmong")];
-    char unicode_prop_name_pool_str2952[sizeof("inkayahli")];
-    char unicode_prop_name_pool_str2953[sizeof("uppercaseletter")];
-    char unicode_prop_name_pool_str2955[sizeof("batk")];
-    char unicode_prop_name_pool_str2960[sizeof("inbatak")];
-    char unicode_prop_name_pool_str2968[sizeof("incjkcompatibility")];
-    char unicode_prop_name_pool_str2983[sizeof("buhd")];
-    char unicode_prop_name_pool_str2989[sizeof("egyp")];
-    char unicode_prop_name_pool_str3009[sizeof("innoblock")];
-    char unicode_prop_name_pool_str3043[sizeof("inegyptianhieroglyphs")];
-    char unicode_prop_name_pool_str3084[sizeof("grek")];
-    char unicode_prop_name_pool_str3176[sizeof("bugi")];
-    char unicode_prop_name_pool_str3230[sizeof("changeswhenuppercased")];
-    char unicode_prop_name_pool_str3234[sizeof("paragraphseparator")];
-    char unicode_prop_name_pool_str3254[sizeof("buginese")];
-    char unicode_prop_name_pool_str3282[sizeof("guru")];
-    char unicode_prop_name_pool_str3299[sizeof("inbopomofoextended")];
-    char unicode_prop_name_pool_str3312[sizeof("telugu")];
-    char unicode_prop_name_pool_str3343[sizeof("quotationmark")];
-    char unicode_prop_name_pool_str3364[sizeof("inkhudawadi")];
-    char unicode_prop_name_pool_str3370[sizeof("kayahli")];
-    char unicode_prop_name_pool_str3372[sizeof("oldsoutharabian")];
-    char unicode_prop_name_pool_str3396[sizeof("insupplementaryprivateuseareab")];
-    char unicode_prop_name_pool_str3479[sizeof("inhangulcompatibilityjamo")];
-    char unicode_prop_name_pool_str3491[sizeof("zyyy")];
-    char unicode_prop_name_pool_str3555[sizeof("qmark")];
-    char unicode_prop_name_pool_str3566[sizeof("buhid")];
-    char unicode_prop_name_pool_str3567[sizeof("sk")];
-    char unicode_prop_name_pool_str3582[sizeof("unknown")];
-    char unicode_prop_name_pool_str3619[sizeof("khudawadi")];
-    char unicode_prop_name_pool_str3644[sizeof("katakana")];
-    char unicode_prop_name_pool_str3670[sizeof("incjkunifiedideographsextensionc")];
-    char unicode_prop_name_pool_str3673[sizeof("incjkunifiedideographsextensiona")];
-    char unicode_prop_name_pool_str3685[sizeof("incjkunifiedideographs")];
-    char unicode_prop_name_pool_str3700[sizeof("incjkunifiedideographsextensione")];
-    char unicode_prop_name_pool_str3743[sizeof("duployan")];
-    char unicode_prop_name_pool_str3763[sizeof("egyptianhieroglyphs")];
-    char unicode_prop_name_pool_str3853[sizeof("inboxdrawing")];
-    char unicode_prop_name_pool_str4106[sizeof("khojki")];
-    char unicode_prop_name_pool_str4244[sizeof("incjkunifiedideographsextensiond")];
-    char unicode_prop_name_pool_str4722[sizeof("batak")];
-    char unicode_prop_name_pool_str4765[sizeof("incjkunifiedideographsextensionb")];
-    char unicode_prop_name_pool_str4780[sizeof("blank")];
-    char unicode_prop_name_pool_str4851[sizeof("greek")];
-    char unicode_prop_name_pool_str4943[sizeof("grlink")];
-    char unicode_prop_name_pool_str5054[sizeof("gurmukhi")];
-    char unicode_prop_name_pool_str5162[sizeof("graphemelink")];
+    char unicode_prop_name_pool_str10[sizeof("lana")];
+    char unicode_prop_name_pool_str17[sizeof("lina")];
+    char unicode_prop_name_pool_str18[sizeof("yi")];
+    char unicode_prop_name_pool_str22[sizeof("cn")];
+    char unicode_prop_name_pool_str24[sizeof("z")];
+    char unicode_prop_name_pool_str25[sizeof("mn")];
+    char unicode_prop_name_pool_str27[sizeof("yiii")];
+    char unicode_prop_name_pool_str30[sizeof("ci")];
+    char unicode_prop_name_pool_str31[sizeof("mani")];
+    char unicode_prop_name_pool_str39[sizeof("lo")];
+    char unicode_prop_name_pool_str40[sizeof("lao")];
+    char unicode_prop_name_pool_str41[sizeof("laoo")];
+    char unicode_prop_name_pool_str45[sizeof("miao")];
+    char unicode_prop_name_pool_str46[sizeof("maka")];
+    char unicode_prop_name_pool_str47[sizeof("me")];
+    char unicode_prop_name_pool_str50[sizeof("co")];
+    char unicode_prop_name_pool_str51[sizeof("loe")];
+    char unicode_prop_name_pool_str68[sizeof("inkannada")];
+    char unicode_prop_name_pool_str70[sizeof("innko")];
+    char unicode_prop_name_pool_str71[sizeof("zzzz")];
+    char unicode_prop_name_pool_str73[sizeof("gran")];
+    char unicode_prop_name_pool_str75[sizeof("pi")];
+    char unicode_prop_name_pool_str79[sizeof("lineara")];
+    char unicode_prop_name_pool_str84[sizeof("cari")];
+    char unicode_prop_name_pool_str85[sizeof("carian")];
+    char unicode_prop_name_pool_str89[sizeof("pe")];
+    char unicode_prop_name_pool_str95[sizeof("po")];
+    char unicode_prop_name_pool_str96[sizeof("kana")];
+    char unicode_prop_name_pool_str99[sizeof("mendekikakui")];
+    char unicode_prop_name_pool_str101[sizeof("geor")];
+    char unicode_prop_name_pool_str102[sizeof("meeteimayek")];
+    char unicode_prop_name_pool_str105[sizeof("mark")];
+    char unicode_prop_name_pool_str107[sizeof("m")];
+    char unicode_prop_name_pool_str109[sizeof("grek")];
+    char unicode_prop_name_pool_str111[sizeof("mero")];
+    char unicode_prop_name_pool_str113[sizeof("mro")];
+    char unicode_prop_name_pool_str114[sizeof("mroo")];
+    char unicode_prop_name_pool_str120[sizeof("gonm")];
+    char unicode_prop_name_pool_str122[sizeof("c")];
+    char unicode_prop_name_pool_str132[sizeof("cakm")];
+    char unicode_prop_name_pool_str135[sizeof("greek")];
+    char unicode_prop_name_pool_str138[sizeof("inkharoshthi")];
+    char unicode_prop_name_pool_str141[sizeof("mandaic")];
+    char unicode_prop_name_pool_str143[sizeof("inosmanya")];
+    char unicode_prop_name_pool_str144[sizeof("inarmenian")];
+    char unicode_prop_name_pool_str145[sizeof("inmanichaean")];
+    char unicode_prop_name_pool_str149[sizeof("common")];
+    char unicode_prop_name_pool_str156[sizeof("inmro")];
+    char unicode_prop_name_pool_str157[sizeof("inmiao")];
+    char unicode_prop_name_pool_str160[sizeof("qaai")];
+    char unicode_prop_name_pool_str168[sizeof("inchakma")];
+    char unicode_prop_name_pool_str170[sizeof("cans")];
+    char unicode_prop_name_pool_str181[sizeof("connectorpunctuation")];
+    char unicode_prop_name_pool_str183[sizeof("lm")];
+    char unicode_prop_name_pool_str187[sizeof("marc")];
+    char unicode_prop_name_pool_str188[sizeof("inmyanmar")];
+    char unicode_prop_name_pool_str189[sizeof("vai")];
+    char unicode_prop_name_pool_str190[sizeof("vaii")];
+    char unicode_prop_name_pool_str199[sizeof("inideographicsymbolsandpunctuation")];
+    char unicode_prop_name_pool_str201[sizeof("merc")];
+    char unicode_prop_name_pool_str203[sizeof("inavestan")];
+    char unicode_prop_name_pool_str204[sizeof("incuneiformnumbersandpunctuation")];
+    char unicode_prop_name_pool_str210[sizeof("inmakasar")];
+    char unicode_prop_name_pool_str211[sizeof("inrunic")];
+    char unicode_prop_name_pool_str212[sizeof("incarian")];
+    char unicode_prop_name_pool_str217[sizeof("prependedconcatenationmark")];
+    char unicode_prop_name_pool_str219[sizeof("lc")];
+    char unicode_prop_name_pool_str220[sizeof("inipaextensions")];
+    char unicode_prop_name_pool_str222[sizeof("inkhmer")];
+    char unicode_prop_name_pool_str225[sizeof("perm")];
+    char unicode_prop_name_pool_str227[sizeof("combiningmark")];
+    char unicode_prop_name_pool_str229[sizeof("inahom")];
+    char unicode_prop_name_pool_str230[sizeof("cc")];
+    char unicode_prop_name_pool_str232[sizeof("incherokee")];
+    char unicode_prop_name_pool_str233[sizeof("mc")];
+    char unicode_prop_name_pool_str245[sizeof("insharada")];
+    char unicode_prop_name_pool_str251[sizeof("masaramgondi")];
+    char unicode_prop_name_pool_str252[sizeof("incuneiform")];
+    char unicode_prop_name_pool_str257[sizeof("makasar")];
+    char unicode_prop_name_pool_str260[sizeof("qaac")];
+    char unicode_prop_name_pool_str261[sizeof("inarrows")];
+    char unicode_prop_name_pool_str262[sizeof("armn")];
+    char unicode_prop_name_pool_str265[sizeof("lineseparator")];
+    char unicode_prop_name_pool_str266[sizeof("armi")];
+    char unicode_prop_name_pool_str275[sizeof("pc")];
+    char unicode_prop_name_pool_str276[sizeof("armenian")];
+    char unicode_prop_name_pool_str280[sizeof("insamaritan")];
+    char unicode_prop_name_pool_str290[sizeof("inmasaramgondi")];
+    char unicode_prop_name_pool_str292[sizeof("inzanabazarsquare")];
+    char unicode_prop_name_pool_str293[sizeof("qmark")];
+    char unicode_prop_name_pool_str295[sizeof("inmarchen")];
+    char unicode_prop_name_pool_str301[sizeof("zs")];
+    char unicode_prop_name_pool_str314[sizeof("cs")];
+    char unicode_prop_name_pool_str318[sizeof("incyrillic")];
+    char unicode_prop_name_pool_str319[sizeof("incham")];
+    char unicode_prop_name_pool_str323[sizeof("latn")];
+    char unicode_prop_name_pool_str326[sizeof("inscriptionalparthian")];
+    char unicode_prop_name_pool_str327[sizeof("latin")];
+    char unicode_prop_name_pool_str329[sizeof("ri")];
+    char unicode_prop_name_pool_str336[sizeof("inkhmersymbols")];
+    char unicode_prop_name_pool_str347[sizeof("pcm")];
+    char unicode_prop_name_pool_str349[sizeof("inthaana")];
+    char unicode_prop_name_pool_str355[sizeof("mtei")];
+    char unicode_prop_name_pool_str358[sizeof("insyriac")];
+    char unicode_prop_name_pool_str359[sizeof("ps")];
+    char unicode_prop_name_pool_str361[sizeof("inthai")];
+    char unicode_prop_name_pool_str367[sizeof("l")];
+    char unicode_prop_name_pool_str371[sizeof("innewa")];
+    char unicode_prop_name_pool_str376[sizeof("inkatakana")];
+    char unicode_prop_name_pool_str382[sizeof("ascii")];
+    char unicode_prop_name_pool_str383[sizeof("initialpunctuation")];
+    char unicode_prop_name_pool_str388[sizeof("inkaithi")];
+    char unicode_prop_name_pool_str393[sizeof("arabic")];
+    char unicode_prop_name_pool_str405[sizeof("inideographicdescriptioncharacters")];
+    char unicode_prop_name_pool_str417[sizeof("inlineara")];
+    char unicode_prop_name_pool_str423[sizeof("mand")];
+    char unicode_prop_name_pool_str429[sizeof("mongolian")];
+    char unicode_prop_name_pool_str430[sizeof("inlao")];
+    char unicode_prop_name_pool_str435[sizeof("katakana")];
+    char unicode_prop_name_pool_str437[sizeof("mend")];
+    char unicode_prop_name_pool_str439[sizeof("intakri")];
+    char unicode_prop_name_pool_str441[sizeof("inruminumeralsymbols")];
+    char unicode_prop_name_pool_str442[sizeof("prti")];
+    char unicode_prop_name_pool_str444[sizeof("modi")];
+    char unicode_prop_name_pool_str447[sizeof("inwarangciti")];
+    char unicode_prop_name_pool_str453[sizeof("incjkcompatibilityforms")];
+    char unicode_prop_name_pool_str457[sizeof("inspecials")];
+    char unicode_prop_name_pool_str458[sizeof("incjkcompatibilityideographs")];
+    char unicode_prop_name_pool_str459[sizeof("ideo")];
+    char unicode_prop_name_pool_str462[sizeof("privateuse")];
+    char unicode_prop_name_pool_str463[sizeof("kali")];
+    char unicode_prop_name_pool_str465[sizeof("inmyanmarextendeda")];
+    char unicode_prop_name_pool_str468[sizeof("letter")];
+    char unicode_prop_name_pool_str469[sizeof("brai")];
+    char unicode_prop_name_pool_str470[sizeof("inkanaextendeda")];
+    char unicode_prop_name_pool_str472[sizeof("vs")];
+    char unicode_prop_name_pool_str473[sizeof("xidcontinue")];
+    char unicode_prop_name_pool_str477[sizeof("lower")];
+    char unicode_prop_name_pool_str478[sizeof("inchesssymbols")];
+    char unicode_prop_name_pool_str480[sizeof("control")];
+    char unicode_prop_name_pool_str487[sizeof("inadlam")];
+    char unicode_prop_name_pool_str488[sizeof("grlink")];
+    char unicode_prop_name_pool_str495[sizeof("knda")];
+    char unicode_prop_name_pool_str496[sizeof("inmeeteimayek")];
+    char unicode_prop_name_pool_str498[sizeof("kannada")];
+    char unicode_prop_name_pool_str511[sizeof("inmiscellaneousmathematicalsymbolsa")];
+    char unicode_prop_name_pool_str515[sizeof("palm")];
+    char unicode_prop_name_pool_str516[sizeof("inlycian")];
+    char unicode_prop_name_pool_str517[sizeof("intransportandmapsymbols")];
+    char unicode_prop_name_pool_str526[sizeof("inoldnortharabian")];
+    char unicode_prop_name_pool_str532[sizeof("inemoticons")];
+    char unicode_prop_name_pool_str533[sizeof("letternumber")];
+    char unicode_prop_name_pool_str536[sizeof("inmodi")];
+    char unicode_prop_name_pool_str539[sizeof("xidc")];
+    char unicode_prop_name_pool_str543[sizeof("lowercase")];
+    char unicode_prop_name_pool_str545[sizeof("inancientsymbols")];
+    char unicode_prop_name_pool_str548[sizeof("cwcm")];
+    char unicode_prop_name_pool_str553[sizeof("inmedefaidrin")];
+    char unicode_prop_name_pool_str556[sizeof("psalterpahlavi")];
+    char unicode_prop_name_pool_str564[sizeof("gothic")];
+    char unicode_prop_name_pool_str565[sizeof("inmendekikakui")];
+    char unicode_prop_name_pool_str567[sizeof("brahmi")];
+    char unicode_prop_name_pool_str569[sizeof("inolditalic")];
+    char unicode_prop_name_pool_str580[sizeof("inmalayalam")];
+    char unicode_prop_name_pool_str581[sizeof("xids")];
+    char unicode_prop_name_pool_str582[sizeof("incommonindicnumberforms")];
+    char unicode_prop_name_pool_str588[sizeof("meroiticcursive")];
+    char unicode_prop_name_pool_str589[sizeof("inlinearbideograms")];
+    char unicode_prop_name_pool_str597[sizeof("patternwhitespace")];
+    char unicode_prop_name_pool_str604[sizeof("insundanese")];
+    char unicode_prop_name_pool_str606[sizeof("joinc")];
+    char unicode_prop_name_pool_str611[sizeof("inoldsogdian")];
+    char unicode_prop_name_pool_str619[sizeof("incjkstrokes")];
+    char unicode_prop_name_pool_str626[sizeof("so")];
+    char unicode_prop_name_pool_str630[sizeof("patternsyntax")];
+    char unicode_prop_name_pool_str631[sizeof("lt")];
+    char unicode_prop_name_pool_str632[sizeof("incjkcompatibilityideographssupplement")];
+    char unicode_prop_name_pool_str635[sizeof("inmandaic")];
+    char unicode_prop_name_pool_str636[sizeof("insylotinagri")];
+    char unicode_prop_name_pool_str641[sizeof("idc")];
+    char unicode_prop_name_pool_str642[sizeof("sk")];
+    char unicode_prop_name_pool_str656[sizeof("alnum")];
+    char unicode_prop_name_pool_str670[sizeof("sora")];
+    char unicode_prop_name_pool_str671[sizeof("bamum")];
+    char unicode_prop_name_pool_str672[sizeof("inoldsoutharabian")];
+    char unicode_prop_name_pool_str675[sizeof("patws")];
+    char unicode_prop_name_pool_str676[sizeof("inmusicalsymbols")];
+    char unicode_prop_name_pool_str690[sizeof("idsbinaryoperator")];
+    char unicode_prop_name_pool_str699[sizeof("indominotiles")];
+    char unicode_prop_name_pool_str701[sizeof("bass")];
+    char unicode_prop_name_pool_str703[sizeof("innewtailue")];
+    char unicode_prop_name_pool_str705[sizeof("ital")];
+    char unicode_prop_name_pool_str707[sizeof("inmiscellaneoussymbols")];
+    char unicode_prop_name_pool_str710[sizeof("inopticalcharacterrecognition")];
+    char unicode_prop_name_pool_str711[sizeof("grext")];
+    char unicode_prop_name_pool_str712[sizeof("inkanasupplement")];
+    char unicode_prop_name_pool_str716[sizeof("inmiscellaneoussymbolsandarrows")];
+    char unicode_prop_name_pool_str721[sizeof("inmiscellaneoussymbolsandpictographs")];
+    char unicode_prop_name_pool_str723[sizeof("unknown")];
+    char unicode_prop_name_pool_str724[sizeof("inmodifiertoneletters")];
+    char unicode_prop_name_pool_str725[sizeof("ids")];
+    char unicode_prop_name_pool_str729[sizeof("zl")];
+    char unicode_prop_name_pool_str730[sizeof("inlatinextendeda")];
+    char unicode_prop_name_pool_str731[sizeof("ll")];
+    char unicode_prop_name_pool_str732[sizeof("intaile")];
+    char unicode_prop_name_pool_str738[sizeof("incontrolpictures")];
+    char unicode_prop_name_pool_str740[sizeof("s")];
+    char unicode_prop_name_pool_str741[sizeof("batk")];
+    char unicode_prop_name_pool_str742[sizeof("samr")];
+    char unicode_prop_name_pool_str753[sizeof("lisu")];
+    char unicode_prop_name_pool_str756[sizeof("print")];
+    char unicode_prop_name_pool_str757[sizeof("samaritan")];
+    char unicode_prop_name_pool_str758[sizeof("inlatinextendede")];
+    char unicode_prop_name_pool_str759[sizeof("intaitham")];
+    char unicode_prop_name_pool_str760[sizeof("pauc")];
+    char unicode_prop_name_pool_str767[sizeof("batak")];
+    char unicode_prop_name_pool_str770[sizeof("sm")];
+    char unicode_prop_name_pool_str773[sizeof("bali")];
+    char unicode_prop_name_pool_str778[sizeof("inancientgreekmusicalnotation")];
+    char unicode_prop_name_pool_str779[sizeof("uideo")];
+    char unicode_prop_name_pool_str781[sizeof("intaixuanjingsymbols")];
+    char unicode_prop_name_pool_str782[sizeof("oriya")];
+    char unicode_prop_name_pool_str791[sizeof("incyrillicextendeda")];
+    char unicode_prop_name_pool_str793[sizeof("bengali")];
+    char unicode_prop_name_pool_str794[sizeof("inugaritic")];
+    char unicode_prop_name_pool_str801[sizeof("balinese")];
+    char unicode_prop_name_pool_str806[sizeof("sc")];
+    char unicode_prop_name_pool_str807[sizeof("intamil")];
+    char unicode_prop_name_pool_str808[sizeof("inlydian")];
+    char unicode_prop_name_pool_str809[sizeof("inmultani")];
+    char unicode_prop_name_pool_str814[sizeof("gong")];
+    char unicode_prop_name_pool_str817[sizeof("blank")];
+    char unicode_prop_name_pool_str823[sizeof("ingrantha")];
+    char unicode_prop_name_pool_str824[sizeof("mong")];
+    char unicode_prop_name_pool_str833[sizeof("inearlydynasticcuneiform")];
+    char unicode_prop_name_pool_str838[sizeof("insaurashtra")];
+    char unicode_prop_name_pool_str839[sizeof("georgian")];
+    char unicode_prop_name_pool_str846[sizeof("zinh")];
+    char unicode_prop_name_pool_str849[sizeof("inosage")];
+    char unicode_prop_name_pool_str854[sizeof("ingeneralpunctuation")];
+    char unicode_prop_name_pool_str857[sizeof("incaucasianalbanian")];
+    char unicode_prop_name_pool_str859[sizeof("pd")];
+    char unicode_prop_name_pool_str866[sizeof("canadianaboriginal")];
+    char unicode_prop_name_pool_str867[sizeof("glagolitic")];
+    char unicode_prop_name_pool_str870[sizeof("inspacingmodifierletters")];
+    char unicode_prop_name_pool_str871[sizeof("idcontinue")];
+    char unicode_prop_name_pool_str875[sizeof("inoldturkic")];
+    char unicode_prop_name_pool_str884[sizeof("plrd")];
+    char unicode_prop_name_pool_str885[sizeof("joincontrol")];
+    char unicode_prop_name_pool_str890[sizeof("idst")];
+    char unicode_prop_name_pool_str892[sizeof("inhanifirohingya")];
+    char unicode_prop_name_pool_str893[sizeof("osage")];
+    char unicode_prop_name_pool_str898[sizeof("incyrillicextendedc")];
+    char unicode_prop_name_pool_str900[sizeof("ingeorgian")];
+    char unicode_prop_name_pool_str902[sizeof("unassigned")];
+    char unicode_prop_name_pool_str907[sizeof("lowercaseletter")];
+    char unicode_prop_name_pool_str908[sizeof("emoji")];
+    char unicode_prop_name_pool_str912[sizeof("indeseret")];
+    char unicode_prop_name_pool_str916[sizeof("inancientgreeknumbers")];
+    char unicode_prop_name_pool_str917[sizeof("inmongolian")];
+    char unicode_prop_name_pool_str922[sizeof("cher")];
+    char unicode_prop_name_pool_str923[sizeof("cherokee")];
+    char unicode_prop_name_pool_str928[sizeof("inhiragana")];
+    char unicode_prop_name_pool_str930[sizeof("phoenician")];
+    char unicode_prop_name_pool_str931[sizeof("marchen")];
+    char unicode_prop_name_pool_str937[sizeof("xsux")];
+    char unicode_prop_name_pool_str938[sizeof("cham")];
+    char unicode_prop_name_pool_str940[sizeof("chakma")];
+    char unicode_prop_name_pool_str943[sizeof("inmeeteimayekextensions")];
+    char unicode_prop_name_pool_str944[sizeof("inlatinextendedc")];
+    char unicode_prop_name_pool_str947[sizeof("kaithi")];
+    char unicode_prop_name_pool_str951[sizeof("graphemebase")];
+    char unicode_prop_name_pool_str952[sizeof("idstart")];
+    char unicode_prop_name_pool_str953[sizeof("osma")];
+    char unicode_prop_name_pool_str962[sizeof("adlm")];
+    char unicode_prop_name_pool_str965[sizeof("inmahajani")];
+    char unicode_prop_name_pool_str966[sizeof("cased")];
+    char unicode_prop_name_pool_str969[sizeof("runr")];
+    char unicode_prop_name_pool_str970[sizeof("sinhala")];
+    char unicode_prop_name_pool_str971[sizeof("manichaean")];
+    char unicode_prop_name_pool_str972[sizeof("inogham")];
+    char unicode_prop_name_pool_str973[sizeof("graphemelink")];
+    char unicode_prop_name_pool_str976[sizeof("ingurmukhi")];
+    char unicode_prop_name_pool_str977[sizeof("cwt")];
+    char unicode_prop_name_pool_str982[sizeof("khojki")];
+    char unicode_prop_name_pool_str983[sizeof("khar")];
+    char unicode_prop_name_pool_str987[sizeof("multani")];
+    char unicode_prop_name_pool_str989[sizeof("gunjalagondi")];
+    char unicode_prop_name_pool_str995[sizeof("casedletter")];
+    char unicode_prop_name_pool_str997[sizeof("inethiopic")];
+    char unicode_prop_name_pool_str999[sizeof("inolchiki")];
+    char unicode_prop_name_pool_str1000[sizeof("variationselector")];
+    char unicode_prop_name_pool_str1003[sizeof("sind")];
+    char unicode_prop_name_pool_str1004[sizeof("incountingrodnumerals")];
+    char unicode_prop_name_pool_str1007[sizeof("logicalorderexception")];
+    char unicode_prop_name_pool_str1020[sizeof("insinhala")];
+    char unicode_prop_name_pool_str1024[sizeof("bidic")];
+    char unicode_prop_name_pool_str1034[sizeof("dia")];
+    char unicode_prop_name_pool_str1035[sizeof("insorasompeng")];
+    char unicode_prop_name_pool_str1036[sizeof("anatolianhieroglyphs")];
+    char unicode_prop_name_pool_str1038[sizeof("inlowsurrogates")];
+    char unicode_prop_name_pool_str1040[sizeof("di")];
+    char unicode_prop_name_pool_str1048[sizeof("ahom")];
+    char unicode_prop_name_pool_str1050[sizeof("inenclosedalphanumerics")];
+    char unicode_prop_name_pool_str1052[sizeof("adlam")];
+    char unicode_prop_name_pool_str1060[sizeof("inkhudawadi")];
+    char unicode_prop_name_pool_str1061[sizeof("cntrl")];
+    char unicode_prop_name_pool_str1062[sizeof("xidstart")];
+    char unicode_prop_name_pool_str1067[sizeof("xdigit")];
+    char unicode_prop_name_pool_str1069[sizeof("phnx")];
+    char unicode_prop_name_pool_str1071[sizeof("emojimodifier")];
+    char unicode_prop_name_pool_str1072[sizeof("khmr")];
+    char unicode_prop_name_pool_str1073[sizeof("insiddham")];
+    char unicode_prop_name_pool_str1077[sizeof("cwl")];
+    char unicode_prop_name_pool_str1082[sizeof("bamu")];
+    char unicode_prop_name_pool_str1086[sizeof("ingreekandcoptic")];
+    char unicode_prop_name_pool_str1087[sizeof("inmiscellaneoustechnical")];
+    char unicode_prop_name_pool_str1100[sizeof("sterm")];
+    char unicode_prop_name_pool_str1101[sizeof("inscriptionalpahlavi")];
+    char unicode_prop_name_pool_str1102[sizeof("inlatinextendedadditional")];
+    char unicode_prop_name_pool_str1103[sizeof("kharoshthi")];
+    char unicode_prop_name_pool_str1125[sizeof("runic")];
+    char unicode_prop_name_pool_str1127[sizeof("odi")];
+    char unicode_prop_name_pool_str1128[sizeof("ahex")];
+    char unicode_prop_name_pool_str1132[sizeof("khmer")];
+    char unicode_prop_name_pool_str1138[sizeof("incyrillicsupplement")];
+    char unicode_prop_name_pool_str1145[sizeof("incherokeesupplement")];
+    char unicode_prop_name_pool_str1153[sizeof("inmeroitichieroglyphs")];
+    char unicode_prop_name_pool_str1156[sizeof("enclosingmark")];
+    char unicode_prop_name_pool_str1157[sizeof("glag")];
+    char unicode_prop_name_pool_str1160[sizeof("inkangxiradicals")];
+    char unicode_prop_name_pool_str1165[sizeof("math")];
+    char unicode_prop_name_pool_str1166[sizeof("quotationmark")];
+    char unicode_prop_name_pool_str1172[sizeof("goth")];
+    char unicode_prop_name_pool_str1179[sizeof("emojimodifierbase")];
+    char unicode_prop_name_pool_str1180[sizeof("ugar")];
+    char unicode_prop_name_pool_str1185[sizeof("lu")];
+    char unicode_prop_name_pool_str1189[sizeof("radical")];
+    char unicode_prop_name_pool_str1198[sizeof("incjkunifiedideographsextensiona")];
+    char unicode_prop_name_pool_str1203[sizeof("beng")];
+    char unicode_prop_name_pool_str1205[sizeof("braille")];
+    char unicode_prop_name_pool_str1207[sizeof("n")];
+    char unicode_prop_name_pool_str1209[sizeof("sundanese")];
+    char unicode_prop_name_pool_str1210[sizeof("olck")];
+    char unicode_prop_name_pool_str1212[sizeof("incjkunifiedideographsextensione")];
+    char unicode_prop_name_pool_str1213[sizeof("diacritic")];
+    char unicode_prop_name_pool_str1217[sizeof("grantha")];
+    char unicode_prop_name_pool_str1223[sizeof("inenclosedalphanumericsupplement")];
+    char unicode_prop_name_pool_str1227[sizeof("olchiki")];
+    char unicode_prop_name_pool_str1228[sizeof("oidc")];
+    char unicode_prop_name_pool_str1229[sizeof("olower")];
+    char unicode_prop_name_pool_str1230[sizeof("regionalindicator")];
+    char unicode_prop_name_pool_str1239[sizeof("no")];
+    char unicode_prop_name_pool_str1240[sizeof("intirhuta")];
+    char unicode_prop_name_pool_str1242[sizeof("inhatran")];
+    char unicode_prop_name_pool_str1243[sizeof("saur")];
+    char unicode_prop_name_pool_str1244[sizeof("kthi")];
+    char unicode_prop_name_pool_str1246[sizeof("ingeometricshapes")];
+    char unicode_prop_name_pool_str1250[sizeof("guru")];
+    char unicode_prop_name_pool_str1256[sizeof("ingreekextended")];
+    char unicode_prop_name_pool_str1258[sizeof("paucinhau")];
+    char unicode_prop_name_pool_str1260[sizeof("xpeo")];
+    char unicode_prop_name_pool_str1263[sizeof("p")];
+    char unicode_prop_name_pool_str1264[sizeof("phli")];
+    char unicode_prop_name_pool_str1265[sizeof("nko")];
+    char unicode_prop_name_pool_str1266[sizeof("nkoo")];
+    char unicode_prop_name_pool_str1270[sizeof("oids")];
+    char unicode_prop_name_pool_str1276[sizeof("indogra")];
+    char unicode_prop_name_pool_str1280[sizeof("inphoenician")];
+    char unicode_prop_name_pool_str1283[sizeof("punct")];
+    char unicode_prop_name_pool_str1284[sizeof("limbu")];
+    char unicode_prop_name_pool_str1286[sizeof("gurmukhi")];
+    char unicode_prop_name_pool_str1287[sizeof("mult")];
+    char unicode_prop_name_pool_str1293[sizeof("brah")];
+    char unicode_prop_name_pool_str1297[sizeof("taile")];
+    char unicode_prop_name_pool_str1299[sizeof("inoldhungarian")];
+    char unicode_prop_name_pool_str1301[sizeof("takri")];
+    char unicode_prop_name_pool_str1303[sizeof("bidicontrol")];
+    char unicode_prop_name_pool_str1304[sizeof("invai")];
+    char unicode_prop_name_pool_str1305[sizeof("incjkunifiedideographsextensionc")];
+    char unicode_prop_name_pool_str1314[sizeof("inenclosedideographicsupplement")];
+    char unicode_prop_name_pool_str1320[sizeof("decimalnumber")];
+    char unicode_prop_name_pool_str1331[sizeof("lepc")];
+    char unicode_prop_name_pool_str1333[sizeof("inherited")];
+    char unicode_prop_name_pool_str1337[sizeof("incjkunifiedideographs")];
+    char unicode_prop_name_pool_str1338[sizeof("graphemeextend")];
+    char unicode_prop_name_pool_str1339[sizeof("saurashtra")];
+    char unicode_prop_name_pool_str1343[sizeof("caseignorable")];
+    char unicode_prop_name_pool_str1344[sizeof("emojicomponent")];
+    char unicode_prop_name_pool_str1345[sizeof("takr")];
+    char unicode_prop_name_pool_str1360[sizeof("inanatolianhieroglyphs")];
+    char unicode_prop_name_pool_str1363[sizeof("inornamentaldingbats")];
+    char unicode_prop_name_pool_str1366[sizeof("inphaistosdisc")];
+    char unicode_prop_name_pool_str1371[sizeof("insogdian")];
+    char unicode_prop_name_pool_str1372[sizeof("indingbats")];
+    char unicode_prop_name_pool_str1390[sizeof("sd")];
+    char unicode_prop_name_pool_str1395[sizeof("zanb")];
+    char unicode_prop_name_pool_str1397[sizeof("insinhalaarchaicnumbers")];
+    char unicode_prop_name_pool_str1398[sizeof("ideographic")];
+    char unicode_prop_name_pool_str1399[sizeof("sidd")];
+    char unicode_prop_name_pool_str1404[sizeof("linb")];
+    char unicode_prop_name_pool_str1407[sizeof("sogdian")];
+    char unicode_prop_name_pool_str1408[sizeof("bhks")];
+    char unicode_prop_name_pool_str1411[sizeof("sogo")];
+    char unicode_prop_name_pool_str1420[sizeof("bhaiksuki")];
+    char unicode_prop_name_pool_str1423[sizeof("term")];
+    char unicode_prop_name_pool_str1425[sizeof("insundanesesupplement")];
+    char unicode_prop_name_pool_str1428[sizeof("intags")];
+    char unicode_prop_name_pool_str1432[sizeof("innabataean")];
+    char unicode_prop_name_pool_str1435[sizeof("sinh")];
+    char unicode_prop_name_pool_str1438[sizeof("shavian")];
+    char unicode_prop_name_pool_str1440[sizeof("inbhaiksuki")];
+    char unicode_prop_name_pool_str1441[sizeof("inelbasan")];
+    char unicode_prop_name_pool_str1442[sizeof("inimperialaramaic")];
+    char unicode_prop_name_pool_str1446[sizeof("inshavian")];
+    char unicode_prop_name_pool_str1448[sizeof("intangut")];
+    char unicode_prop_name_pool_str1451[sizeof("inshorthandformatcontrols")];
+    char unicode_prop_name_pool_str1454[sizeof("inkanbun")];
+    char unicode_prop_name_pool_str1455[sizeof("sentenceterminal")];
+    char unicode_prop_name_pool_str1458[sizeof("medf")];
+    char unicode_prop_name_pool_str1461[sizeof("coptic")];
+    char unicode_prop_name_pool_str1466[sizeof("linearb")];
+    char unicode_prop_name_pool_str1468[sizeof("medefaidrin")];
+    char unicode_prop_name_pool_str1470[sizeof("inethiopicextendeda")];
+    char unicode_prop_name_pool_str1478[sizeof("inhanunoo")];
+    char unicode_prop_name_pool_str1482[sizeof("han")];
+    char unicode_prop_name_pool_str1483[sizeof("cwcf")];
+    char unicode_prop_name_pool_str1487[sizeof("hani")];
+    char unicode_prop_name_pool_str1490[sizeof("limb")];
+    char unicode_prop_name_pool_str1497[sizeof("hano")];
+    char unicode_prop_name_pool_str1504[sizeof("ingeometricshapesextended")];
+    char unicode_prop_name_pool_str1520[sizeof("hanunoo")];
+    char unicode_prop_name_pool_str1528[sizeof("inlatinextendedd")];
+    char unicode_prop_name_pool_str1530[sizeof("inarabic")];
+    char unicode_prop_name_pool_str1531[sizeof("cwu")];
+    char unicode_prop_name_pool_str1534[sizeof("asciihexdigit")];
+    char unicode_prop_name_pool_str1537[sizeof("ininscriptionalparthian")];
+    char unicode_prop_name_pool_str1539[sizeof("format")];
+    char unicode_prop_name_pool_str1540[sizeof("ininscriptionalpahlavi")];
+    char unicode_prop_name_pool_str1543[sizeof("hira")];
+    char unicode_prop_name_pool_str1549[sizeof("dsrt")];
+    char unicode_prop_name_pool_str1551[sizeof("copt")];
+    char unicode_prop_name_pool_str1552[sizeof("ugaritic")];
+    char unicode_prop_name_pool_str1555[sizeof("newa")];
+    char unicode_prop_name_pool_str1557[sizeof("arab")];
+    char unicode_prop_name_pool_str1558[sizeof("inkhojki")];
+    char unicode_prop_name_pool_str1559[sizeof("oldpersian")];
+    char unicode_prop_name_pool_str1569[sizeof("punctuation")];
+    char unicode_prop_name_pool_str1580[sizeof("deseret")];
+    char unicode_prop_name_pool_str1581[sizeof("newtailue")];
+    char unicode_prop_name_pool_str1582[sizeof("newline")];
+    char unicode_prop_name_pool_str1584[sizeof("ext")];
+    char unicode_prop_name_pool_str1586[sizeof("sund")];
+    char unicode_prop_name_pool_str1587[sizeof("ogam")];
+    char unicode_prop_name_pool_str1589[sizeof("inbasiclatin")];
+    char unicode_prop_name_pool_str1590[sizeof("inarabicpresentationformsa")];
+    char unicode_prop_name_pool_str1593[sizeof("cprt")];
+    char unicode_prop_name_pool_str1594[sizeof("imperialaramaic")];
+    char unicode_prop_name_pool_str1597[sizeof("incjkunifiedideographsextensiond")];
+    char unicode_prop_name_pool_str1598[sizeof("assigned")];
+    char unicode_prop_name_pool_str1605[sizeof("taiviet")];
+    char unicode_prop_name_pool_str1608[sizeof("innushu")];
+    char unicode_prop_name_pool_str1618[sizeof("inoriya")];
+    char unicode_prop_name_pool_str1622[sizeof("wara")];
+    char unicode_prop_name_pool_str1624[sizeof("java")];
+    char unicode_prop_name_pool_str1626[sizeof("sorasompeng")];
+    char unicode_prop_name_pool_str1628[sizeof("inkayahli")];
+    char unicode_prop_name_pool_str1630[sizeof("orkh")];
+    char unicode_prop_name_pool_str1633[sizeof("closepunctuation")];
+    char unicode_prop_name_pool_str1636[sizeof("grbase")];
+    char unicode_prop_name_pool_str1638[sizeof("tale")];
+    char unicode_prop_name_pool_str1640[sizeof("bopo")];
+    char unicode_prop_name_pool_str1659[sizeof("javanese")];
+    char unicode_prop_name_pool_str1661[sizeof("osge")];
+    char unicode_prop_name_pool_str1662[sizeof("oldpermic")];
+    char unicode_prop_name_pool_str1665[sizeof("inoldpersian")];
+    char unicode_prop_name_pool_str1677[sizeof("phag")];
+    char unicode_prop_name_pool_str1678[sizeof("alpha")];
+    char unicode_prop_name_pool_str1680[sizeof("lyci")];
+    char unicode_prop_name_pool_str1681[sizeof("lycian")];
+    char unicode_prop_name_pool_str1687[sizeof("inkatakanaphoneticextensions")];
+    char unicode_prop_name_pool_str1690[sizeof("incjksymbolsandpunctuation")];
+    char unicode_prop_name_pool_str1691[sizeof("inhanguljamo")];
+    char unicode_prop_name_pool_str1697[sizeof("inhanguljamoextendeda")];
+    char unicode_prop_name_pool_str1701[sizeof("avestan")];
+    char unicode_prop_name_pool_str1708[sizeof("inpalmyrene")];
+    char unicode_prop_name_pool_str1709[sizeof("inlepcha")];
+    char unicode_prop_name_pool_str1710[sizeof("indevanagari")];
+    char unicode_prop_name_pool_str1713[sizeof("taml")];
+    char unicode_prop_name_pool_str1714[sizeof("sgnw")];
+    char unicode_prop_name_pool_str1717[sizeof("inblockelements")];
+    char unicode_prop_name_pool_str1726[sizeof("inlisu")];
+    char unicode_prop_name_pool_str1728[sizeof("mymr")];
+    char unicode_prop_name_pool_str1731[sizeof("myanmar")];
+    char unicode_prop_name_pool_str1733[sizeof("graph")];
+    char unicode_prop_name_pool_str1736[sizeof("cuneiform")];
+    char unicode_prop_name_pool_str1737[sizeof("extender")];
+    char unicode_prop_name_pool_str1741[sizeof("inphoneticextensions")];
+    char unicode_prop_name_pool_str1749[sizeof("inmongoliansupplement")];
+    char unicode_prop_name_pool_str1750[sizeof("bopomofo")];
+    char unicode_prop_name_pool_str1754[sizeof("intibetan")];
+    char unicode_prop_name_pool_str1758[sizeof("innumberforms")];
+    char unicode_prop_name_pool_str1759[sizeof("shaw")];
+    char unicode_prop_name_pool_str1760[sizeof("inbatak")];
+    char unicode_prop_name_pool_str1765[sizeof("inoldpermic")];
+    char unicode_prop_name_pool_str1766[sizeof("incoptic")];
+    char unicode_prop_name_pool_str1776[sizeof("invariationselectors")];
+    char unicode_prop_name_pool_str1779[sizeof("insoyombo")];
+    char unicode_prop_name_pool_str1782[sizeof("terminalpunctuation")];
+    char unicode_prop_name_pool_str1783[sizeof("bugi")];
+    char unicode_prop_name_pool_str1791[sizeof("insyriacsupplement")];
+    char unicode_prop_name_pool_str1793[sizeof("sogd")];
+    char unicode_prop_name_pool_str1798[sizeof("hatran")];
+    char unicode_prop_name_pool_str1807[sizeof("inbyzantinemusicalsymbols")];
+    char unicode_prop_name_pool_str1809[sizeof("inbalinese")];
+    char unicode_prop_name_pool_str1811[sizeof("buginese")];
+    char unicode_prop_name_pool_str1815[sizeof("innoblock")];
+    char unicode_prop_name_pool_str1817[sizeof("inethiopicsupplement")];
+    char unicode_prop_name_pool_str1820[sizeof("inglagolitic")];
+    char unicode_prop_name_pool_str1824[sizeof("ingeorgiansupplement")];
+    char unicode_prop_name_pool_str1826[sizeof("space")];
+    char unicode_prop_name_pool_str1827[sizeof("sharada")];
+    char unicode_prop_name_pool_str1829[sizeof("dogra")];
+    char unicode_prop_name_pool_str1830[sizeof("avst")];
+    char unicode_prop_name_pool_str1834[sizeof("hex")];
+    char unicode_prop_name_pool_str1837[sizeof("inunifiedcanadianaboriginalsyllabics")];
+    char unicode_prop_name_pool_str1838[sizeof("inverticalforms")];
+    char unicode_prop_name_pool_str1839[sizeof("spacingmark")];
+    char unicode_prop_name_pool_str1845[sizeof("inarabicextendeda")];
+    char unicode_prop_name_pool_str1849[sizeof("hatr")];
+    char unicode_prop_name_pool_str1850[sizeof("modifierletter")];
+    char unicode_prop_name_pool_str1852[sizeof("inmyanmarextendedb")];
+    char unicode_prop_name_pool_str1858[sizeof("incjkcompatibility")];
+    char unicode_prop_name_pool_str1860[sizeof("khudawadi")];
+    char unicode_prop_name_pool_str1863[sizeof("invedicextensions")];
+    char unicode_prop_name_pool_str1868[sizeof("inethiopicextended")];
+    char unicode_prop_name_pool_str1875[sizeof("ingeorgianextended")];
+    char unicode_prop_name_pool_str1883[sizeof("shrd")];
+    char unicode_prop_name_pool_str1887[sizeof("dogr")];
+    char unicode_prop_name_pool_str1892[sizeof("intelugu")];
+    char unicode_prop_name_pool_str1898[sizeof("inmiscellaneousmathematicalsymbolsb")];
+    char unicode_prop_name_pool_str1899[sizeof("inmayannumerals")];
+    char unicode_prop_name_pool_str1902[sizeof("olditalic")];
+    char unicode_prop_name_pool_str1904[sizeof("inbraillepatterns")];
+    char unicode_prop_name_pool_str1911[sizeof("oalpha")];
+    char unicode_prop_name_pool_str1913[sizeof("inmathematicalalphanumericsymbols")];
+    char unicode_prop_name_pool_str1915[sizeof("inphoneticextensionssupplement")];
+    char unicode_prop_name_pool_str1916[sizeof("intagalog")];
+    char unicode_prop_name_pool_str1921[sizeof("insuttonsignwriting")];
+    char unicode_prop_name_pool_str1923[sizeof("siddham")];
+    char unicode_prop_name_pool_str1927[sizeof("intaiviet")];
+    char unicode_prop_name_pool_str1931[sizeof("nl")];
+    char unicode_prop_name_pool_str1934[sizeof("separator")];
+    char unicode_prop_name_pool_str1938[sizeof("ethi")];
+    char unicode_prop_name_pool_str1943[sizeof("patsyn")];
+    char unicode_prop_name_pool_str1948[sizeof("rohg")];
+    char unicode_prop_name_pool_str1950[sizeof("invariationselectorssupplement")];
+    char unicode_prop_name_pool_str1956[sizeof("inyiradicals")];
+    char unicode_prop_name_pool_str1957[sizeof("otheridcontinue")];
+    char unicode_prop_name_pool_str1964[sizeof("idsb")];
+    char unicode_prop_name_pool_str1965[sizeof("insmallformvariants")];
+    char unicode_prop_name_pool_str1972[sizeof("lydi")];
+    char unicode_prop_name_pool_str1973[sizeof("lydian")];
+    char unicode_prop_name_pool_str1978[sizeof("other")];
+    char unicode_prop_name_pool_str1987[sizeof("othernumber")];
+    char unicode_prop_name_pool_str1999[sizeof("cyrl")];
+    char unicode_prop_name_pool_str2003[sizeof("nd")];
+    char unicode_prop_name_pool_str2006[sizeof("induployan")];
+    char unicode_prop_name_pool_str2008[sizeof("dash")];
+    char unicode_prop_name_pool_str2010[sizeof("zanabazarsquare")];
+    char unicode_prop_name_pool_str2016[sizeof("incopticepactnumbers")];
+    char unicode_prop_name_pool_str2020[sizeof("number")];
+    char unicode_prop_name_pool_str2023[sizeof("inphagspa")];
+    char unicode_prop_name_pool_str2032[sizeof("mlym")];
+    char unicode_prop_name_pool_str2037[sizeof("malayalam")];
+    char unicode_prop_name_pool_str2038[sizeof("word")];
+    char unicode_prop_name_pool_str2040[sizeof("sarb")];
+    char unicode_prop_name_pool_str2047[sizeof("tang")];
+    char unicode_prop_name_pool_str2050[sizeof("otheralphabetic")];
+    char unicode_prop_name_pool_str2051[sizeof("tagbanwa")];
+    char unicode_prop_name_pool_str2057[sizeof("lepcha")];
+    char unicode_prop_name_pool_str2062[sizeof("surrogate")];
+    char unicode_prop_name_pool_str2063[sizeof("palmyrene")];
+    char unicode_prop_name_pool_str2064[sizeof("cf")];
+    char unicode_prop_name_pool_str2070[sizeof("ingothic")];
+    char unicode_prop_name_pool_str2071[sizeof("inmeroiticcursive")];
+    char unicode_prop_name_pool_str2077[sizeof("tamil")];
+    char unicode_prop_name_pool_str2084[sizeof("oldhungarian")];
+    char unicode_prop_name_pool_str2085[sizeof("titlecaseletter")];
+    char unicode_prop_name_pool_str2092[sizeof("thaa")];
+    char unicode_prop_name_pool_str2095[sizeof("inunifiedcanadianaboriginalsyllabicsextended")];
+    char unicode_prop_name_pool_str2097[sizeof("thaana")];
+    char unicode_prop_name_pool_str2099[sizeof("thai")];
+    char unicode_prop_name_pool_str2109[sizeof("pf")];
+    char unicode_prop_name_pool_str2110[sizeof("extendedpictographic")];
+    char unicode_prop_name_pool_str2121[sizeof("incjkradicalssupplement")];
+    char unicode_prop_name_pool_str2124[sizeof("indevanagariextended")];
+    char unicode_prop_name_pool_str2133[sizeof("gujr")];
+    char unicode_prop_name_pool_str2144[sizeof("gujarati")];
+    char unicode_prop_name_pool_str2158[sizeof("tirh")];
+    char unicode_prop_name_pool_str2160[sizeof("caucasianalbanian")];
+    char unicode_prop_name_pool_str2178[sizeof("incyrillicextendedb")];
+    char unicode_prop_name_pool_str2187[sizeof("soyo")];
+    char unicode_prop_name_pool_str2188[sizeof("inhangulsyllables")];
+    char unicode_prop_name_pool_str2190[sizeof("inbamum")];
+    char unicode_prop_name_pool_str2191[sizeof("taitham")];
+    char unicode_prop_name_pool_str2196[sizeof("meroitichieroglyphs")];
+    char unicode_prop_name_pool_str2213[sizeof("intifinagh")];
+    char unicode_prop_name_pool_str2214[sizeof("talu")];
+    char unicode_prop_name_pool_str2217[sizeof("inbengali")];
+    char unicode_prop_name_pool_str2222[sizeof("incjkunifiedideographsextensionf")];
+    char unicode_prop_name_pool_str2223[sizeof("buhd")];
+    char unicode_prop_name_pool_str2228[sizeof("telu")];
+    char unicode_prop_name_pool_str2229[sizeof("inbuginese")];
+    char unicode_prop_name_pool_str2232[sizeof("idstrinaryoperator")];
+    char unicode_prop_name_pool_str2233[sizeof("tirhuta")];
+    char unicode_prop_name_pool_str2238[sizeof("oldturkic")];
+    char unicode_prop_name_pool_str2245[sizeof("incombiningdiacriticalmarks")];
+    char unicode_prop_name_pool_str2249[sizeof("phagspa")];
+    char unicode_prop_name_pool_str2255[sizeof("incombiningdiacriticalmarksforsymbols")];
+    char unicode_prop_name_pool_str2258[sizeof("changeswhencasemapped")];
+    char unicode_prop_name_pool_str2259[sizeof("inlatin1supplement")];
+    char unicode_prop_name_pool_str2261[sizeof("inbrahmi")];
+    char unicode_prop_name_pool_str2263[sizeof("hang")];
+    char unicode_prop_name_pool_str2264[sizeof("nchar")];
+    char unicode_prop_name_pool_str2286[sizeof("oldsogdian")];
+    char unicode_prop_name_pool_str2299[sizeof("deva")];
+    char unicode_prop_name_pool_str2301[sizeof("ingujarati")];
+    char unicode_prop_name_pool_str2305[sizeof("otherlowercase")];
+    char unicode_prop_name_pool_str2311[sizeof("ingunjalagondi")];
+    char unicode_prop_name_pool_str2315[sizeof("devanagari")];
+    char unicode_prop_name_pool_str2319[sizeof("syrc")];
+    char unicode_prop_name_pool_str2325[sizeof("mahj")];
+    char unicode_prop_name_pool_str2330[sizeof("hiragana")];
+    char unicode_prop_name_pool_str2333[sizeof("orya")];
+    char unicode_prop_name_pool_str2336[sizeof("mahajani")];
+    char unicode_prop_name_pool_str2341[sizeof("incurrencysymbols")];
+    char unicode_prop_name_pool_str2342[sizeof("spaceseparator")];
+    char unicode_prop_name_pool_str2347[sizeof("otherletter")];
+    char unicode_prop_name_pool_str2348[sizeof("inlinearbsyllabary")];
+    char unicode_prop_name_pool_str2351[sizeof("inrejang")];
+    char unicode_prop_name_pool_str2352[sizeof("hmng")];
+    char unicode_prop_name_pool_str2357[sizeof("ogrext")];
+    char unicode_prop_name_pool_str2376[sizeof("inaegeannumbers")];
+    char unicode_prop_name_pool_str2389[sizeof("changeswhentitlecased")];
+    char unicode_prop_name_pool_str2409[sizeof("zp")];
+    char unicode_prop_name_pool_str2411[sizeof("mathsymbol")];
+    char unicode_prop_name_pool_str2414[sizeof("khoj")];
+    char unicode_prop_name_pool_str2419[sizeof("incombiningdiacriticalmarkssupplement")];
+    char unicode_prop_name_pool_str2421[sizeof("warangciti")];
+    char unicode_prop_name_pool_str2428[sizeof("syriac")];
+    char unicode_prop_name_pool_str2429[sizeof("finalpunctuation")];
+    char unicode_prop_name_pool_str2437[sizeof("othersymbol")];
+    char unicode_prop_name_pool_str2444[sizeof("currencysymbol")];
+    char unicode_prop_name_pool_str2445[sizeof("digit")];
+    char unicode_prop_name_pool_str2449[sizeof("emojipresentation")];
+    char unicode_prop_name_pool_str2455[sizeof("inpsalterpahlavi")];
+    char unicode_prop_name_pool_str2456[sizeof("softdotted")];
+    char unicode_prop_name_pool_str2460[sizeof("phlp")];
+    char unicode_prop_name_pool_str2461[sizeof("noncharactercodepoint")];
+    char unicode_prop_name_pool_str2464[sizeof("inlimbu")];
+    char unicode_prop_name_pool_str2465[sizeof("nonspacingmark")];
+    char unicode_prop_name_pool_str2467[sizeof("omath")];
+    char unicode_prop_name_pool_str2473[sizeof("cyrillic")];
+    char unicode_prop_name_pool_str2476[sizeof("inenclosedcjklettersandmonths")];
+    char unicode_prop_name_pool_str2482[sizeof("tangut")];
+    char unicode_prop_name_pool_str2484[sizeof("changeswhenlowercased")];
+    char unicode_prop_name_pool_str2496[sizeof("inalphabeticpresentationforms")];
+    char unicode_prop_name_pool_str2500[sizeof("intangutcomponents")];
+    char unicode_prop_name_pool_str2503[sizeof("incombiningdiacriticalmarksextended")];
+    char unicode_prop_name_pool_str2508[sizeof("ogham")];
+    char unicode_prop_name_pool_str2518[sizeof("osmanya")];
+    char unicode_prop_name_pool_str2521[sizeof("intagbanwa")];
+    char unicode_prop_name_pool_str2525[sizeof("inprivateusearea")];
+    char unicode_prop_name_pool_str2529[sizeof("inpaucinhau")];
+    char unicode_prop_name_pool_str2532[sizeof("otheruppercase")];
+    char unicode_prop_name_pool_str2533[sizeof("sylo")];
+    char unicode_prop_name_pool_str2537[sizeof("elba")];
+    char unicode_prop_name_pool_str2553[sizeof("paragraphseparator")];
+    char unicode_prop_name_pool_str2554[sizeof("inbassavah")];
+    char unicode_prop_name_pool_str2559[sizeof("otheridstart")];
+    char unicode_prop_name_pool_str2567[sizeof("signwriting")];
+    char unicode_prop_name_pool_str2576[sizeof("rjng")];
+    char unicode_prop_name_pool_str2584[sizeof("whitespace")];
+    char unicode_prop_name_pool_str2585[sizeof("incjkunifiedideographsextensionb")];
+    char unicode_prop_name_pool_str2586[sizeof("inletterlikesymbols")];
+    char unicode_prop_name_pool_str2623[sizeof("buhid")];
+    char unicode_prop_name_pool_str2642[sizeof("oupper")];
+    char unicode_prop_name_pool_str2644[sizeof("bassavah")];
+    char unicode_prop_name_pool_str2647[sizeof("inhebrew")];
+    char unicode_prop_name_pool_str2653[sizeof("narb")];
+    char unicode_prop_name_pool_str2659[sizeof("inbuhid")];
+    char unicode_prop_name_pool_str2662[sizeof("inbopomofo")];
+    char unicode_prop_name_pool_str2692[sizeof("elbasan")];
+    char unicode_prop_name_pool_str2700[sizeof("incombininghalfmarks")];
+    char unicode_prop_name_pool_str2707[sizeof("inindicsiyaqnumbers")];
+    char unicode_prop_name_pool_str2711[sizeof("changeswhenuppercased")];
+    char unicode_prop_name_pool_str2743[sizeof("inmathematicaloperators")];
+    char unicode_prop_name_pool_str2745[sizeof("inarabicmathematicalalphabeticsymbols")];
+    char unicode_prop_name_pool_str2764[sizeof("hluw")];
+    char unicode_prop_name_pool_str2770[sizeof("hexdigit")];
+    char unicode_prop_name_pool_str2771[sizeof("deprecated")];
+    char unicode_prop_name_pool_str2776[sizeof("insuperscriptsandsubscripts")];
+    char unicode_prop_name_pool_str2777[sizeof("nshu")];
+    char unicode_prop_name_pool_str2782[sizeof("injavanese")];
+    char unicode_prop_name_pool_str2790[sizeof("inbamumsupplement")];
+    char unicode_prop_name_pool_str2798[sizeof("hangul")];
+    char unicode_prop_name_pool_str2826[sizeof("unifiedideograph")];
+    char unicode_prop_name_pool_str2831[sizeof("tavt")];
+    char unicode_prop_name_pool_str2843[sizeof("othermath")];
+    char unicode_prop_name_pool_str2849[sizeof("pahawhhmong")];
+    char unicode_prop_name_pool_str2850[sizeof("sylotinagri")];
+    char unicode_prop_name_pool_str2853[sizeof("hung")];
+    char unicode_prop_name_pool_str2856[sizeof("kayahli")];
+    char unicode_prop_name_pool_str2861[sizeof("inpahawhhmong")];
+    char unicode_prop_name_pool_str2863[sizeof("upper")];
+    char unicode_prop_name_pool_str2884[sizeof("inalchemicalsymbols")];
+    char unicode_prop_name_pool_str2907[sizeof("nbat")];
+    char unicode_prop_name_pool_str2915[sizeof("nabataean")];
+    char unicode_prop_name_pool_str2929[sizeof("uppercase")];
+    char unicode_prop_name_pool_str2937[sizeof("hebr")];
+    char unicode_prop_name_pool_str2947[sizeof("inmahjongtiles")];
+    char unicode_prop_name_pool_str2954[sizeof("oldnortharabian")];
+    char unicode_prop_name_pool_str2963[sizeof("inarabicsupplement")];
+    char unicode_prop_name_pool_str2968[sizeof("tibt")];
+    char unicode_prop_name_pool_str2974[sizeof("tibetan")];
+    char unicode_prop_name_pool_str2975[sizeof("inhighprivateusesurrogates")];
+    char unicode_prop_name_pool_str2976[sizeof("insupplementalarrowsa")];
+    char unicode_prop_name_pool_str2977[sizeof("inarabicpresentationformsb")];
+    char unicode_prop_name_pool_str2986[sizeof("otherdefaultignorablecodepoint")];
+    char unicode_prop_name_pool_str2987[sizeof("symbol")];
+    char unicode_prop_name_pool_str3012[sizeof("inplayingcards")];
+    char unicode_prop_name_pool_str3013[sizeof("inhalfwidthandfullwidthforms")];
+    char unicode_prop_name_pool_str3052[sizeof("wspace")];
+    char unicode_prop_name_pool_str3071[sizeof("tfng")];
+    char unicode_prop_name_pool_str3080[sizeof("insupplementalmathematicaloperators")];
+    char unicode_prop_name_pool_str3083[sizeof("insupplementalarrowsc")];
+    char unicode_prop_name_pool_str3084[sizeof("inhanguljamoextendedb")];
+    char unicode_prop_name_pool_str3112[sizeof("aghb")];
+    char unicode_prop_name_pool_str3120[sizeof("cypriot")];
+    char unicode_prop_name_pool_str3127[sizeof("nushu")];
+    char unicode_prop_name_pool_str3130[sizeof("tifinagh")];
+    char unicode_prop_name_pool_str3139[sizeof("otherpunctuation")];
+    char unicode_prop_name_pool_str3177[sizeof("alphabetic")];
+    char unicode_prop_name_pool_str3184[sizeof("dupl")];
+    char unicode_prop_name_pool_str3190[sizeof("tglg")];
+    char unicode_prop_name_pool_str3193[sizeof("changeswhencasefolded")];
+    char unicode_prop_name_pool_str3210[sizeof("tagalog")];
+    char unicode_prop_name_pool_str3228[sizeof("modifiersymbol")];
+    char unicode_prop_name_pool_str3231[sizeof("any")];
+    char unicode_prop_name_pool_str3239[sizeof("inglagoliticsupplement")];
+    char unicode_prop_name_pool_str3262[sizeof("ethiopic")];
+    char unicode_prop_name_pool_str3293[sizeof("uppercaseletter")];
+    char unicode_prop_name_pool_str3297[sizeof("dashpunctuation")];
+    char unicode_prop_name_pool_str3304[sizeof("hanifirohingya")];
+    char unicode_prop_name_pool_str3328[sizeof("inyijinghexagramsymbols")];
+    char unicode_prop_name_pool_str3337[sizeof("incypriotsyllabary")];
+    char unicode_prop_name_pool_str3375[sizeof("rejang")];
+    char unicode_prop_name_pool_str3426[sizeof("defaultignorablecodepoint")];
+    char unicode_prop_name_pool_str3431[sizeof("tagb")];
+    char unicode_prop_name_pool_str3447[sizeof("dep")];
+    char unicode_prop_name_pool_str3471[sizeof("inyisyllables")];
+    char unicode_prop_name_pool_str3485[sizeof("oldsoutharabian")];
+    char unicode_prop_name_pool_str3504[sizeof("inlatinextendedb")];
+    char unicode_prop_name_pool_str3514[sizeof("insupplementalpunctuation")];
+    char unicode_prop_name_pool_str3517[sizeof("othergraphemeextend")];
+    char unicode_prop_name_pool_str3562[sizeof("hebrew")];
+    char unicode_prop_name_pool_str3564[sizeof("inboxdrawing")];
+    char unicode_prop_name_pool_str3570[sizeof("inhighsurrogates")];
+    char unicode_prop_name_pool_str3603[sizeof("telugu")];
+    char unicode_prop_name_pool_str3623[sizeof("inbopomofoextended")];
+    char unicode_prop_name_pool_str3666[sizeof("soyombo")];
+    char unicode_prop_name_pool_str3764[sizeof("inegyptianhieroglyphs")];
+    char unicode_prop_name_pool_str4052[sizeof("openpunctuation")];
+    char unicode_prop_name_pool_str4129[sizeof("insupplementaryprivateuseareaa")];
+    char unicode_prop_name_pool_str4261[sizeof("hyphen")];
+    char unicode_prop_name_pool_str4277[sizeof("inhangulcompatibilityjamo")];
+    char unicode_prop_name_pool_str4332[sizeof("egyp")];
+    char unicode_prop_name_pool_str4363[sizeof("insupplementalarrowsb")];
+    char unicode_prop_name_pool_str4404[sizeof("duployan")];
+    char unicode_prop_name_pool_str4639[sizeof("insupplementalsymbolsandpictographs")];
+    char unicode_prop_name_pool_str4682[sizeof("zyyy")];
+    char unicode_prop_name_pool_str5231[sizeof("egyptianhieroglyphs")];
+    char unicode_prop_name_pool_str5516[sizeof("insupplementaryprivateuseareab")];
   };
 static const struct unicode_prop_name_pool_t unicode_prop_name_pool_contents =
   {
-    "n",
+    "lana",
+    "lina",
+    "yi",
+    "cn",
     "z",
-    "zzzz",
     "mn",
-    "cn",
+    "yiii",
     "ci",
+    "mani",
+    "lo",
+    "lao",
+    "laoo",
+    "miao",
+    "maka",
+    "me",
+    "co",
+    "loe",
+    "inkannada",
+    "innko",
+    "zzzz",
+    "gran",
+    "pi",
+    "lineara",
+    "cari",
+    "carian",
+    "pe",
+    "po",
+    "kana",
+    "mendekikakui",
+    "geor",
+    "meeteimayek",
+    "mark",
     "m",
+    "grek",
+    "mero",
+    "mro",
+    "mroo",
+    "gonm",
     "c",
+    "cakm",
+    "greek",
+    "inkharoshthi",
+    "mandaic",
+    "inosmanya",
+    "inarmenian",
     "inmanichaean",
-    "mani",
-    "mc",
-    "cc",
+    "common",
+    "inmro",
+    "inmiao",
     "qaai",
-    "qaac",
-    "incham",
-    "mandaic",
-    "sm",
-    "sc",
+    "inchakma",
     "cans",
-    "ascii",
-    "insamaritan",
-    "incuneiform",
-    "s",
-    "inarmenian",
-    "zs",
-    "cs",
-    "me",
-    "incommonindicnumberforms",
+    "connectorpunctuation",
+    "lm",
+    "marc",
+    "inmyanmar",
+    "vai",
+    "vaii",
+    "inideographicsymbolsandpunctuation",
+    "merc",
     "inavestan",
-    "inthai",
+    "incuneiformnumbersandpunctuation",
+    "inmakasar",
+    "inrunic",
+    "incarian",
+    "prependedconcatenationmark",
+    "lc",
     "inipaextensions",
-    "initialpunctuation",
-    "inancientsymbols",
+    "inkhmer",
+    "perm",
+    "combiningmark",
+    "inahom",
+    "cc",
+    "incherokee",
+    "mc",
+    "insharada",
+    "masaramgondi",
+    "incuneiform",
+    "makasar",
+    "qaac",
+    "inarrows",
+    "armn",
+    "lineseparator",
+    "armi",
+    "pc",
+    "armenian",
+    "insamaritan",
+    "inmasaramgondi",
+    "inzanabazarsquare",
+    "qmark",
+    "inmarchen",
+    "zs",
+    "cs",
+    "incyrillic",
+    "incham",
+    "latn",
+    "inscriptionalparthian",
+    "latin",
+    "ri",
+    "inkhmersymbols",
+    "pcm",
     "inthaana",
-    "cf",
-    "incuneiformnumbersandpunctuation",
     "mtei",
+    "insyriac",
+    "ps",
+    "inthai",
+    "l",
+    "innewa",
+    "inkatakana",
+    "ascii",
+    "initialpunctuation",
+    "inkaithi",
+    "arabic",
+    "inideographicdescriptioncharacters",
+    "inlineara",
+    "mand",
+    "mongolian",
+    "inlao",
+    "katakana",
+    "mend",
+    "intakri",
+    "inruminumeralsymbols",
+    "prti",
+    "modi",
+    "inwarangciti",
+    "incjkcompatibilityforms",
     "inspecials",
-    "inmusicalsymbols",
+    "incjkcompatibilityideographs",
+    "ideo",
+    "privateuse",
+    "kali",
+    "inmyanmarextendeda",
+    "letter",
+    "brai",
+    "inkanaextendeda",
+    "vs",
+    "xidcontinue",
+    "lower",
+    "inchesssymbols",
+    "control",
+    "inadlam",
+    "grlink",
+    "knda",
+    "inmeeteimayek",
+    "kannada",
     "inmiscellaneousmathematicalsymbolsa",
-    "lm",
-    "lina",
-    "lc",
+    "palm",
     "inlycian",
-    "lana",
-    "intaixuanjingsymbols",
-    "inmyanmarextendeda",
-    "alnum",
-    "sterm",
-    "intaitham",
     "intransportandmapsymbols",
-    "taile",
+    "inoldnortharabian",
+    "inemoticons",
+    "letternumber",
+    "inmodi",
+    "xidc",
+    "lowercase",
+    "inancientsymbols",
+    "cwcm",
+    "inmedefaidrin",
+    "psalterpahlavi",
+    "gothic",
+    "inmendekikakui",
+    "brahmi",
+    "inolditalic",
     "inmalayalam",
+    "xids",
+    "incommonindicnumberforms",
+    "meroiticcursive",
+    "inlinearbideograms",
+    "patternwhitespace",
+    "insundanese",
+    "joinc",
+    "inoldsogdian",
+    "incjkstrokes",
+    "so",
+    "patternsyntax",
+    "lt",
+    "incjkcompatibilityideographssupplement",
+    "inmandaic",
+    "insylotinagri",
+    "idc",
+    "sk",
+    "alnum",
+    "sora",
+    "bamum",
+    "inoldsoutharabian",
+    "patws",
+    "inmusicalsymbols",
+    "idsbinaryoperator",
+    "indominotiles",
+    "bass",
+    "innewtailue",
+    "ital",
     "inmiscellaneoussymbols",
-    "incontrolpictures",
+    "inopticalcharacterrecognition",
+    "grext",
+    "inkanasupplement",
     "inmiscellaneoussymbolsandarrows",
-    "inlineara",
     "inmiscellaneoussymbolsandpictographs",
-    "sinhala",
-    "taiviet",
-    "ext",
-    "latn",
-    "latin",
-    "ital",
-    "intamil",
-    "inmultani",
-    "taml",
-    "inrunic",
-    "incarian",
-    "armn",
-    "armi",
-    "cari",
-    "inlatinextendedc",
-    "armenian",
-    "inmyanmar",
-    "incyrillic",
+    "unknown",
+    "inmodifiertoneletters",
+    "ids",
+    "zl",
     "inlatinextendeda",
-    "carian",
+    "ll",
     "intaile",
-    "tale",
-    "arabic",
-    "l",
-    "nl",
-    "zl",
-    "insyriac",
+    "incontrolpictures",
+    "s",
+    "batk",
     "samr",
-    "merc",
-    "inlinearbideograms",
+    "lisu",
+    "print",
     "samaritan",
-    "lt",
-    "insharada",
-    "inmeeteimayekextensions",
-    "inruminumeralsymbols",
-    "miao",
     "inlatinextendede",
+    "intaitham",
+    "pauc",
+    "batak",
+    "sm",
+    "bali",
+    "inancientgreekmusicalnotation",
+    "uideo",
+    "intaixuanjingsymbols",
+    "oriya",
+    "incyrillicextendeda",
+    "bengali",
+    "inugaritic",
+    "balinese",
+    "sc",
+    "intamil",
+    "inlydian",
+    "inmultani",
+    "gong",
+    "blank",
+    "ingrantha",
+    "mong",
+    "inearlydynasticcuneiform",
+    "insaurashtra",
+    "georgian",
     "zinh",
-    "inahom",
-    "incherokee",
-    "han",
-    "hani",
-    "inosmanya",
-    "inmiscellaneoustechnical",
+    "inosage",
+    "ingeneralpunctuation",
+    "incaucasianalbanian",
+    "pd",
+    "canadianaboriginal",
+    "glagolitic",
+    "inspacingmodifierletters",
+    "idcontinue",
+    "inoldturkic",
+    "plrd",
+    "joincontrol",
+    "idst",
+    "inhanifirohingya",
+    "osage",
+    "incyrillicextendedc",
+    "ingeorgian",
+    "unassigned",
+    "lowercaseletter",
+    "emoji",
+    "indeseret",
+    "inancientgreeknumbers",
+    "inmongolian",
+    "cher",
+    "cherokee",
+    "inhiragana",
+    "phoenician",
+    "marchen",
+    "xsux",
     "cham",
-    "inmahajani",
+    "chakma",
+    "inmeeteimayekextensions",
+    "inlatinextendedc",
+    "kaithi",
+    "graphemebase",
+    "idstart",
     "osma",
+    "adlm",
+    "inmahajani",
+    "cased",
+    "runr",
+    "sinhala",
     "manichaean",
-    "term",
-    "sinh",
-    "cntrl",
-    "chakma",
-    "insinhala",
-    "tamil",
+    "inogham",
+    "graphemelink",
+    "ingurmukhi",
+    "cwt",
+    "khojki",
+    "khar",
+    "multani",
+    "gunjalagondi",
+    "casedletter",
     "inethiopic",
-    "connectorpunctuation",
-    "shavian",
-    "joinc",
-    "inenclosedalphanumerics",
-    "ahex",
-    "inlatinextendedadditional",
-    "lineara",
-    "inenclosedcjklettersandmonths",
-    "hex",
-    "thai",
-    "mahj",
-    "math",
-    "ll",
-    "thaa",
-    "hatran",
-    "mahajani",
-    "insinhalaarchaicnumbers",
-    "taitham",
-    "thaana",
-    "ethi",
-    "inenclosedalphanumericsupplement",
-    "meroiticcursive",
-    "inideographicdescriptioncharacters",
-    "terminalpunctuation",
-    "inemoticons",
-    "intifinagh",
-    "asciihexdigit",
-    "tifinagh",
-    "inearlydynasticcuneiform",
-    "inopticalcharacterrecognition",
-    "loe",
-    "titlecaseletter",
-    "inscriptionalparthian",
-    "oriya",
-    "hira",
-    "sora",
-    "mero",
-    "inarrows",
-    "inhiragana",
-    "no",
-    "inmahjongtiles",
-    "innko",
-    "co",
-    "cher",
-    "inmro",
-    "common",
-    "cwcm",
-    "inmiao",
-    "inscriptionalpahlavi",
-    "inmathematicalalphanumericsymbols",
-    "so",
-    "hano",
-    "tirh",
-    "inhatran",
     "inolchiki",
-    "ahom",
-    "di",
-    "hatr",
-    "inogham",
-    "intirhuta",
-    "inmodi",
-    "idc",
-    "mand",
-    "inmandaic",
-    "dia",
-    "cwcf",
-    "xidc",
+    "variationselector",
     "sind",
-    "newline",
-    "mend",
-    "newtailue",
-    "inshorthandformatcontrols",
+    "incountingrodnumerals",
+    "logicalorderexception",
+    "insinhala",
+    "bidic",
+    "dia",
+    "insorasompeng",
     "anatolianhieroglyphs",
-    "xids",
-    "ids",
-    "innewtailue",
-    "insylotinagri",
-    "insundanese",
-    "lo",
-    "indominotiles",
-    "inlao",
-    "lao",
-    "laoo",
-    "mongolian",
-    "cwt",
-    "idst",
-    "format",
-    "lineseparator",
-    "letter",
-    "idcontinue",
-    "inanatolianhieroglyphs",
-    "inlydian",
-    "pi",
-    "nchar",
-    "inspacingmodifierletters",
-    "oalpha",
-    "indeseret",
-    "pc",
-    "xdigit",
-    "inphaistosdisc",
-    "joincontrol",
     "inlowsurrogates",
-    "mro",
-    "mroo",
+    "di",
+    "ahom",
+    "inenclosedalphanumerics",
+    "adlam",
+    "inkhudawadi",
+    "cntrl",
     "xidstart",
-    "wara",
-    "inwarangciti",
-    "ps",
-    "pe",
+    "xdigit",
+    "phnx",
+    "emojimodifier",
+    "khmr",
+    "insiddham",
     "cwl",
-    "incoptic",
-    "diacritic",
-    "pf",
-    "space",
-    "hanunoo",
-    "incyrillicextendeda",
+    "bamu",
+    "ingreekandcoptic",
+    "inmiscellaneoustechnical",
+    "sterm",
+    "inscriptionalpahlavi",
+    "inlatinextendedadditional",
+    "kharoshthi",
+    "runic",
     "odi",
-    "modi",
+    "ahex",
+    "khmer",
+    "incyrillicsupplement",
+    "incherokeesupplement",
+    "inmeroitichieroglyphs",
+    "enclosingmark",
+    "glag",
+    "inkangxiradicals",
+    "math",
+    "quotationmark",
+    "goth",
+    "emojimodifierbase",
+    "ugar",
+    "lu",
+    "radical",
+    "incjkunifiedideographsextensiona",
+    "beng",
+    "braille",
+    "n",
+    "sundanese",
+    "olck",
+    "incjkunifiedideographsextensione",
+    "diacritic",
+    "grantha",
+    "inenclosedalphanumericsupplement",
+    "olchiki",
     "oidc",
-    "incopticepactnumbers",
-    "palm",
-    "insundanesesupplement",
-    "patws",
-    "inolditalic",
-    "inlepcha",
-    "shaw",
-    "omath",
-    "alpha",
+    "olower",
+    "regionalindicator",
+    "no",
+    "intirhuta",
+    "inhatran",
+    "saur",
+    "kthi",
+    "ingeometricshapes",
+    "guru",
+    "ingreekextended",
+    "paucinhau",
+    "xpeo",
+    "p",
+    "phli",
+    "nko",
+    "nkoo",
     "oids",
-    "control",
-    "ideo",
-    "lepc",
-    "psalterpahlavi",
-    "dsrt",
-    "otheridcontinue",
-    "inpalmyrene",
+    "indogra",
+    "inphoenician",
+    "punct",
+    "limbu",
+    "gurmukhi",
+    "mult",
+    "brah",
+    "taile",
+    "inoldhungarian",
+    "takri",
+    "bidicontrol",
+    "invai",
+    "incjkunifiedideographsextensionc",
+    "inenclosedideographicsupplement",
     "decimalnumber",
-    "noncharactercodepoint",
-    "idstart",
-    "otheralphabetic",
-    "letternumber",
-    "dash",
-    "xidcontinue",
-    "finalpunctuation",
-    "extender",
-    "siddham",
-    "inoldturkic",
-    "sharada",
-    "whitespace",
-    "inmodifiertoneletters",
-    "radical",
-    "canadianaboriginal",
-    "inethiopicextendeda",
-    "imperialaramaic",
-    "perm",
-    "deseret",
-    "casedletter",
+    "lepc",
+    "inherited",
+    "incjkunifiedideographs",
+    "graphemeextend",
+    "saurashtra",
+    "caseignorable",
+    "emojicomponent",
+    "takr",
+    "inanatolianhieroglyphs",
+    "inornamentaldingbats",
+    "inphaistosdisc",
+    "insogdian",
+    "indingbats",
+    "sd",
+    "zanb",
+    "insinhalaarchaicnumbers",
+    "ideographic",
+    "sidd",
+    "linb",
+    "sogdian",
+    "bhks",
+    "sogo",
+    "bhaiksuki",
+    "term",
+    "insundanesesupplement",
+    "intags",
+    "innabataean",
+    "sinh",
+    "shavian",
+    "inbhaiksuki",
+    "inelbasan",
     "inimperialaramaic",
-    "otheridstart",
-    "prti",
-    "cprt",
-    "othersymbol",
+    "inshavian",
+    "intangut",
+    "inshorthandformatcontrols",
+    "inkanbun",
+    "sentenceterminal",
+    "medf",
     "coptic",
-    "otherlowercase",
-    "phnx",
-    "inphoenician",
-    "incaucasianalbanian",
-    "inlatin1supplement",
-    "xpeo",
+    "linearb",
+    "medefaidrin",
+    "inethiopicextendeda",
+    "inhanunoo",
+    "han",
+    "cwcf",
+    "hani",
+    "limb",
+    "hano",
+    "ingeometricshapesextended",
+    "hanunoo",
+    "inlatinextendedd",
+    "inarabic",
+    "cwu",
+    "asciihexdigit",
     "ininscriptionalparthian",
+    "format",
     "ininscriptionalpahlavi",
-    "other",
-    "privateuse",
-    "othernumber",
-    "inenclosedideographicsupplement",
+    "hira",
+    "dsrt",
     "copt",
-    "print",
+    "ugaritic",
+    "newa",
+    "arab",
+    "inkhojki",
+    "oldpersian",
+    "punctuation",
+    "deseret",
+    "newtailue",
+    "newline",
+    "ext",
+    "sund",
+    "ogam",
+    "inbasiclatin",
+    "inarabicpresentationformsa",
+    "cprt",
+    "imperialaramaic",
+    "incjkunifiedideographsextensiond",
+    "assigned",
+    "taiviet",
+    "innushu",
+    "inoriya",
+    "wara",
+    "java",
+    "sorasompeng",
+    "inkayahli",
+    "orkh",
+    "closepunctuation",
+    "grbase",
+    "tale",
+    "bopo",
+    "javanese",
+    "osge",
+    "oldpermic",
+    "inoldpersian",
+    "phag",
+    "alpha",
+    "lyci",
+    "lycian",
+    "inkatakanaphoneticextensions",
+    "incjksymbolsandpunctuation",
+    "inhanguljamo",
+    "inhanguljamoextendeda",
+    "avestan",
+    "inpalmyrene",
+    "inlepcha",
+    "indevanagari",
+    "taml",
+    "sgnw",
+    "inblockelements",
+    "inlisu",
+    "mymr",
+    "myanmar",
+    "graph",
     "cuneiform",
-    "olditalic",
-    "xsux",
-    "inmongolian",
-    "inancientgreekmusicalnotation",
-    "sundanese",
-    "inoldnortharabian",
-    "patternsyntax",
-    "inherited",
-    "ingrantha",
+    "extender",
     "inphoneticextensions",
-    "saurashtra",
-    "inancientgreeknumbers",
-    "shrd",
-    "inoldsoutharabian",
-    "innabataean",
-    "inalphabeticpresentationforms",
-    "spaceseparator",
-    "olower",
-    "ingeneralpunctuation",
-    "inunifiedcanadianaboriginalsyllabics",
-    "bamum",
-    "inarabic",
-    "phli",
-    "inphoneticextensionssupplement",
-    "patternwhitespace",
-    "inbasiclatin",
-    "othermath",
-    "idsbinaryoperator",
-    "inmathematicaloperators",
-    "multani",
-    "ingujarati",
-    "inelbasan",
-    "inoldhungarian",
+    "inmongoliansupplement",
+    "bopomofo",
+    "intibetan",
     "innumberforms",
-    "nd",
-    "yi",
-    "lisu",
-    "yiii",
-    "inpsalterpahlavi",
-    "tagbanwa",
-    "bass",
-    "nbat",
+    "shaw",
+    "inbatak",
+    "inoldpermic",
+    "incoptic",
+    "invariationselectors",
+    "insoyombo",
+    "terminalpunctuation",
+    "bugi",
+    "insyriacsupplement",
+    "sogd",
+    "hatran",
     "inbyzantinemusicalsymbols",
-    "closepunctuation",
-    "tfng",
-    "otherletter",
-    "sd",
-    "lowercase",
-    "sidd",
-    "nabataean",
-    "lepcha",
-    "inarabicpresentationformsa",
+    "inbalinese",
+    "buginese",
+    "innoblock",
+    "inethiopicsupplement",
+    "inglagolitic",
+    "ingeorgiansupplement",
+    "space",
+    "sharada",
+    "dogra",
+    "avst",
+    "hex",
+    "inunifiedcanadianaboriginalsyllabics",
+    "inverticalforms",
+    "spacingmark",
+    "inarabicextendeda",
+    "hatr",
     "modifierletter",
-    "intags",
-    "mult",
-    "insiddham",
-    "talu",
-    "cased",
-    "intibetan",
-    "separator",
-    "runic",
-    "inmiscellaneousmathematicalsymbolsb",
-    "linb",
-    "inbraillepatterns",
-    "oldpersian",
-    "inugaritic",
-    "telu",
-    "limb",
-    "oldpermic",
-    "bali",
     "inmyanmarextendedb",
-    "tibt",
-    "saur",
-    "po",
-    "tibetan",
-    "insaurashtra",
-    "inbalinese",
-    "elba",
-    "bengali",
-    "gran",
-    "phoenician",
-    "ingurmukhi",
-    "caseignorable",
-    "lyci",
-    "inyijinghexagramsymbols",
-    "mlym",
-    "lycian",
-    "elbasan",
-    "balinese",
-    "narb",
-    "brai",
+    "incjkcompatibility",
+    "khudawadi",
+    "invedicextensions",
+    "inethiopicextended",
+    "ingeorgianextended",
+    "shrd",
+    "dogr",
+    "intelugu",
+    "inmiscellaneousmathematicalsymbolsb",
+    "inmayannumerals",
+    "olditalic",
+    "inbraillepatterns",
+    "oalpha",
+    "inmathematicalalphanumericsymbols",
+    "inphoneticextensionssupplement",
+    "intagalog",
     "insuttonsignwriting",
-    "insorasompeng",
+    "siddham",
+    "intaiviet",
+    "nl",
+    "separator",
+    "ethi",
+    "patsyn",
+    "rohg",
+    "invariationselectorssupplement",
+    "inyiradicals",
+    "otheridcontinue",
+    "idsb",
+    "insmallformvariants",
+    "lydi",
+    "lydian",
+    "other",
+    "othernumber",
+    "cyrl",
+    "nd",
+    "induployan",
+    "dash",
+    "zanabazarsquare",
+    "incopticepactnumbers",
+    "number",
+    "inphagspa",
+    "mlym",
     "malayalam",
-    "arab",
-    "brahmi",
-    "incountingrodnumerals",
-    "rjng",
-    "mong",
-    "incyrillicsupplement",
-    "ogam",
+    "word",
     "sarb",
-    "lower",
-    "inrejang",
-    "hmng",
+    "tang",
+    "otheralphabetic",
+    "tagbanwa",
+    "lepcha",
+    "surrogate",
+    "palmyrene",
+    "cf",
+    "ingothic",
+    "inmeroiticcursive",
+    "tamil",
+    "oldhungarian",
+    "titlecaseletter",
+    "thaa",
+    "inunifiedcanadianaboriginalsyllabicsextended",
+    "thaana",
+    "thai",
+    "pf",
+    "extendedpictographic",
+    "incjkradicalssupplement",
+    "indevanagariextended",
+    "gujr",
+    "gujarati",
+    "tirh",
+    "caucasianalbanian",
+    "incyrillicextendedb",
+    "soyo",
+    "inhangulsyllables",
+    "inbamum",
+    "taitham",
+    "meroitichieroglyphs",
+    "intifinagh",
+    "talu",
+    "inbengali",
+    "incjkunifiedideographsextensionf",
+    "buhd",
+    "telu",
+    "inbuginese",
+    "idstrinaryoperator",
     "tirhuta",
+    "oldturkic",
+    "incombiningdiacriticalmarks",
+    "phagspa",
+    "incombiningdiacriticalmarksforsymbols",
+    "changeswhencasemapped",
+    "inlatin1supplement",
+    "inbrahmi",
     "hang",
-    "wspace",
-    "inlatinextendedd",
-    "invai",
-    "incherokeesupplement",
-    "mymr",
-    "vai",
-    "vaii",
-    "ethiopic",
-    "sylotinagri",
-    "myanmar",
+    "nchar",
+    "oldsogdian",
+    "deva",
+    "ingujarati",
+    "otherlowercase",
+    "ingunjalagondi",
+    "devanagari",
     "syrc",
-    "inbrahmi",
-    "mathsymbol",
-    "runr",
-    "inshavian",
-    "gothic",
-    "syriac",
-    "p",
-    "zp",
-    "induployan",
-    "vs",
-    "ingreekandcoptic",
-    "ingothic",
-    "lowercaseletter",
-    "inoriya",
-    "grext",
-    "linearb",
-    "inyiradicals",
-    "inethiopicsupplement",
-    "inletterlikesymbols",
-    "ingeometricshapes",
-    "java",
-    "inblockelements",
-    "number",
-    "incombininghalfmarks",
-    "inbassavah",
-    "inlinearbsyllabary",
-    "osmanya",
-    "avst",
-    "hexdigit",
-    "injavanese",
-    "cyrl",
-    "avestan",
-    "intaiviet",
-    "inornamentaldingbats",
-    "tavt",
-    "javanese",
-    "inethiopicextended",
-    "inhalfwidthandfullwidthforms",
-    "ingeorgian",
-    "inarabicmathematicalalphabeticsymbols",
-    "hangul",
-    "insuperscriptsandsubscripts",
-    "inhanunoo",
-    "inhangulsyllables",
-    "inoldpersian",
-    "geor",
-    "otherpunctuation",
-    "inoldpermic",
-    "inalchemicalsymbols",
-    "sylo",
+    "mahj",
     "hiragana",
-    "word",
-    "inmeroitichieroglyphs",
-    "insmallformvariants",
-    "sund",
-    "brah",
-    "insupplementalmathematicaloperators",
-    "glagolitic",
-    "braille",
-    "unassigned",
-    "sgnw",
-    "plrd",
-    "hebr",
-    "ogham",
-    "cyrillic",
     "orya",
-    "grantha",
-    "invariationselectors",
-    "indingbats",
-    "inunifiedcanadianaboriginalsyllabicsextended",
-    "inhanguljamoextendeda",
-    "goth",
-    "graphemebase",
-    "bidic",
-    "ogrext",
-    "idsb",
-    "invariationselectorssupplement",
-    "assigned",
-    "symbol",
-    "ingreekextended",
-    "pauc",
-    "meroitichieroglyphs",
-    "logicalorderexception",
+    "mahajani",
     "incurrencysymbols",
-    "inarabicextendeda",
-    "insupplementalarrowsc",
-    "insupplementalarrowsa",
-    "inkannada",
-    "kana",
-    "phagspa",
-    "cakm",
+    "spaceseparator",
+    "otherletter",
+    "inlinearbsyllabary",
+    "inrejang",
+    "hmng",
+    "ogrext",
+    "inaegeannumbers",
+    "changeswhentitlecased",
+    "zp",
+    "mathsymbol",
+    "khoj",
+    "incombiningdiacriticalmarkssupplement",
+    "warangciti",
+    "syriac",
+    "finalpunctuation",
+    "othersymbol",
+    "currencysymbol",
     "digit",
+    "emojipresentation",
+    "inpsalterpahlavi",
     "softdotted",
-    "inchakma",
-    "inphagspa",
-    "inhighprivateusesurrogates",
-    "warangciti",
-    "incjkcompatibilityforms",
-    "idstrinaryoperator",
-    "incjkcompatibilityideographs",
-    "inkaithi",
-    "takri",
     "phlp",
-    "mendekikakui",
-    "punct",
-    "otherdefaultignorablecodepoint",
-    "inkatakana",
-    "graph",
-    "lydi",
-    "pd",
-    "incjkstrokes",
-    "lydian",
-    "sorasompeng",
-    "incjkcompatibilityideographssupplement",
-    "meeteimayek",
+    "noncharactercodepoint",
+    "inlimbu",
+    "nonspacingmark",
+    "omath",
+    "cyrillic",
+    "inenclosedcjklettersandmonths",
+    "tangut",
+    "changeswhenlowercased",
+    "inalphabeticpresentationforms",
+    "intangutcomponents",
+    "incombiningdiacriticalmarksextended",
+    "ogham",
+    "osmanya",
+    "intagbanwa",
+    "inprivateusearea",
+    "inpaucinhau",
     "otheruppercase",
-    "kali",
-    "inhanguljamo",
-    "ideographic",
-    "inmeeteimayek",
-    "incyrillicextendedb",
+    "sylo",
+    "elba",
+    "paragraphseparator",
+    "inbassavah",
+    "otheridstart",
+    "signwriting",
+    "rjng",
+    "whitespace",
+    "incjkunifiedideographsextensionb",
+    "inletterlikesymbols",
+    "buhid",
+    "oupper",
+    "bassavah",
+    "inhebrew",
+    "narb",
+    "inbuhid",
+    "inbopomofo",
+    "elbasan",
+    "incombininghalfmarks",
+    "inindicsiyaqnumbers",
+    "changeswhenuppercased",
+    "inmathematicaloperators",
+    "inarabicmathematicalalphabeticsymbols",
     "hluw",
-    "patsyn",
-    "incombiningdiacriticalmarks",
-    "inarabicsupplement",
-    "inkanasupplement",
+    "hexdigit",
     "deprecated",
-    "inverticalforms",
-    "incombiningdiacriticalmarksforsymbols",
-    "indevanagari",
-    "inbuhid",
-    "alphabetic",
-    "oldhungarian",
-    "mark",
-    "inkharoshthi",
-    "deva",
-    "invedicextensions",
-    "devanagari",
-    "incombiningdiacriticalmarkssupplement",
-    "ingeometricshapesextended",
-    "inkhmer",
-    "changeswhencasemapped",
-    "intakri",
-    "dep",
-    "takr",
-    "changeswhencasefolded",
-    "kaithi",
-    "phag",
+    "insuperscriptsandsubscripts",
+    "nshu",
+    "injavanese",
+    "inbamumsupplement",
+    "hangul",
+    "unifiedideograph",
+    "tavt",
+    "othermath",
+    "pahawhhmong",
+    "sylotinagri",
+    "hung",
+    "kayahli",
     "inpahawhhmong",
-    "bidicontrol",
-    "inkhojki",
-    "bamu",
-    "inbamum",
-    "changeswhentitlecased",
-    "inkhmersymbols",
-    "uideo",
-    "lu",
-    "kthi",
-    "limbu",
-    "defaultignorablecodepoint",
+    "upper",
+    "inalchemicalsymbols",
+    "nbat",
+    "nabataean",
+    "uppercase",
+    "hebr",
+    "inmahjongtiles",
+    "oldnortharabian",
+    "inarabicsupplement",
+    "tibt",
+    "tibetan",
+    "inhighprivateusesurrogates",
+    "insupplementalarrowsa",
+    "inarabicpresentationformsb",
+    "otherdefaultignorablecodepoint",
+    "symbol",
     "inplayingcards",
-    "inhebrew",
-    "modifiersymbol",
-    "ugaritic",
-    "inlisu",
-    "inglagolitic",
-    "inprivateusearea",
-    "olck",
-    "inbengali",
-    "olchiki",
-    "caucasianalbanian",
-    "oldturkic",
-    "beng",
-    "intelugu",
-    "hyphen",
-    "inbuginese",
-    "intagalog",
+    "inhalfwidthandfullwidthforms",
+    "wspace",
+    "tfng",
+    "insupplementalmathematicaloperators",
+    "insupplementalarrowsc",
+    "inhanguljamoextendedb",
+    "aghb",
     "cypriot",
-    "inlimbu",
-    "graphemeextend",
-    "tagb",
-    "incypriotsyllabary",
-    "intagbanwa",
-    "inaegeannumbers",
-    "inkatakanaphoneticextensions",
-    "glag",
-    "combiningmark",
-    "palmyrene",
-    "khmr",
-    "khar",
-    "ugar",
-    "inarabicpresentationformsb",
-    "insupplementaryprivateuseareaa",
-    "variationselector",
-    "nko",
-    "nkoo",
-    "inbamumsupplement",
+    "nushu",
+    "tifinagh",
+    "otherpunctuation",
+    "alphabetic",
+    "dupl",
     "tglg",
+    "changeswhencasefolded",
+    "tagalog",
+    "modifiersymbol",
     "any",
-    "enclosingmark",
-    "gujr",
-    "changeswhenlowercased",
-    "knda",
-    "hung",
-    "gujarati",
-    "bopo",
-    "inmendekikakui",
-    "inbopomofo",
-    "kharoshthi",
-    "kannada",
-    "khoj",
-    "cherokee",
-    "inlatinextendedb",
+    "inglagoliticsupplement",
+    "ethiopic",
+    "uppercaseletter",
     "dashpunctuation",
-    "dupl",
-    "inyisyllables",
-    "georgian",
+    "hanifirohingya",
+    "inyijinghexagramsymbols",
+    "incypriotsyllabary",
     "rejang",
-    "oupper",
-    "aghb",
-    "khmer",
-    "grbase",
-    "currencysymbol",
-    "incombiningdiacriticalmarksextended",
-    "spacingmark",
-    "orkh",
-    "cwu",
-    "hebrew",
+    "defaultignorablecodepoint",
+    "tagb",
+    "dep",
+    "inyisyllables",
+    "oldsoutharabian",
+    "inlatinextendedb",
     "insupplementalpunctuation",
-    "oldnortharabian",
-    "incjksymbolsandpunctuation",
     "othergraphemeextend",
-    "indevanagariextended",
-    "tagalog",
-    "surrogate",
-    "bopomofo",
-    "ingeorgiansupplement",
-    "uppercase",
-    "unifiedideograph",
-    "inpaucinhau",
-    "paucinhau",
-    "insupplementalsymbolsandpictographs",
-    "nonspacingmark",
-    "inhanguljamoextendedb",
+    "hebrew",
+    "inboxdrawing",
     "inhighsurrogates",
-    "punctuation",
-    "openpunctuation",
-    "bassavah",
-    "upper",
-    "insupplementalarrowsb",
-    "inkanbun",
-    "inkangxiradicals",
-    "inmeroiticcursive",
-    "signwriting",
-    "incjkradicalssupplement",
-    "pahawhhmong",
-    "inkayahli",
-    "uppercaseletter",
-    "batk",
-    "inbatak",
-    "incjkcompatibility",
-    "buhd",
-    "egyp",
-    "innoblock",
-    "inegyptianhieroglyphs",
-    "grek",
-    "bugi",
-    "changeswhenuppercased",
-    "paragraphseparator",
-    "buginese",
-    "guru",
-    "inbopomofoextended",
     "telugu",
-    "quotationmark",
-    "inkhudawadi",
-    "kayahli",
-    "oldsoutharabian",
-    "insupplementaryprivateuseareab",
+    "inbopomofoextended",
+    "soyombo",
+    "inegyptianhieroglyphs",
+    "openpunctuation",
+    "insupplementaryprivateuseareaa",
+    "hyphen",
     "inhangulcompatibilityjamo",
-    "zyyy",
-    "qmark",
-    "buhid",
-    "sk",
-    "unknown",
-    "khudawadi",
-    "katakana",
-    "incjkunifiedideographsextensionc",
-    "incjkunifiedideographsextensiona",
-    "incjkunifiedideographs",
-    "incjkunifiedideographsextensione",
+    "egyp",
+    "insupplementalarrowsb",
     "duployan",
+    "insupplementalsymbolsandpictographs",
+    "zyyy",
     "egyptianhieroglyphs",
-    "inboxdrawing",
-    "khojki",
-    "incjkunifiedideographsextensiond",
-    "batak",
-    "incjkunifiedideographsextensionb",
-    "blank",
-    "greek",
-    "grlink",
-    "gurmukhi",
-    "graphemelink"
+    "insupplementaryprivateuseareab"
   };
 #define unicode_prop_name_pool ((const char *) &unicode_prop_name_pool_contents)
-#ifdef __GNUC__
-__inline
-#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
-const struct PoolPropertyNameCtype *
-unicode_lookup_property_name (register const char *str, register unsigned int len)
+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),                               235},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(17),                               124},
+
+      {pool_offset(18),                                 257},
+      {-1}, {-1}, {-1},
+
+      {pool_offset(22),                                  53},
       {-1},
 
-      {pool_offset(1),                                  144},
+      {pool_offset(24),                                  258},
+
+      {pool_offset(25),                                 153},
       {-1},
 
-      {pool_offset(3),                                  234},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(27),                               257},
+      {-1}, {-1},
+
+      {pool_offset(30),                                  40},
 
-      {pool_offset(8),                               225},
+      {pool_offset(31),                               141},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(39),                                 129},
 
-      {pool_offset(9),                                 138},
+      {pool_offset(40),                                120},
 
-      {pool_offset(10),                                  51},
+      {pool_offset(41),                               120},
       {-1}, {-1}, {-1},
 
-      {pool_offset(14),                                  38},
+      {pool_offset(45),                               152},
+
+      {pool_offset(46),                               138},
+
+      {pool_offset(47),                                 146},
+      {-1}, {-1},
+
+      {pool_offset(50),                                  54},
+
+      {pool_offset(51),                                130},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(68),                          291},
+      {-1},
+
+      {pool_offset(70),                              279},
 
-      {pool_offset(15),                                  125},
+      {pool_offset(71),                               249},
       {-1},
 
-      {pool_offset(17),                                   35},
+      {pool_offset(73),                                82},
+      {-1},
+
+      {pool_offset(75),                                 202},
+      {-1}, {-1}, {-1},
+
+      {pool_offset(79),                            124},
+      {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(84),                                39},
+
+      {pool_offset(85),                              39},
+      {-1}, {-1}, {-1},
+
+      {pool_offset(89),                                 198},
       {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(23),                       430},
+      {pool_offset(95),                                 203},
+
+      {pool_offset(96),                               112},
+      {-1}, {-1},
+
+      {pool_offset(99),                       149},
+      {-1},
+
+      {pool_offset(101),                                79},
+
+      {pool_offset(102),                        148},
+      {-1}, {-1},
+
+      {pool_offset(105),                               136},
+      {-1},
 
-      {pool_offset(24),                               129},
+      {pool_offset(107),                                  136},
+      {-1},
 
-      {pool_offset(25),                                 131},
+      {pool_offset(109),                                86},
+      {-1},
 
-      {pool_offset(26),                                  41},
+      {pool_offset(111),                               151},
       {-1},
 
-      {pool_offset(28),                                94},
+      {pool_offset(113),                                156},
+
+      {pool_offset(114),                               156},
       {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(34),                                54},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(120),                               143},
+      {-1},
 
-      {pool_offset(41),                             373},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(122),                                   37},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(132),                                45},
+      {-1}, {-1},
+
+      {pool_offset(135),                               86},
+      {-1}, {-1},
 
-      {pool_offset(46),                            128},
+      {pool_offset(138),                       456},
       {-1}, {-1},
 
-      {pool_offset(49),                                 202},
+      {pool_offset(141),                            140},
       {-1},
 
-      {pool_offset(51),                                 195},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(143),                          442},
 
-      {pool_offset(56),                                36},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(144),                         273},
+
+      {pool_offset(145),                       459},
+      {-1}, {-1}, {-1},
+
+      {pool_offset(149),                              55},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(156),                              504},
 
-      {pool_offset(61),                               14},
+      {pool_offset(157),                             508},
       {-1}, {-1},
 
-      {pool_offset(64),                        255},
+      {pool_offset(160),                               105},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(168),                           473},
+      {-1},
+
+      {pool_offset(170),                                38},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1},
 
-      {pool_offset(66),                        456},
+      {pool_offset(181),               196},
+      {-1},
 
-      {pool_offset(67),                                  191},
+      {pool_offset(183),                                 128},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(68),                         248},
+      {pool_offset(187),                               142},
 
-      {pool_offset(69),                                 237},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(188),                          297},
 
-      {pool_offset(76),                                  55},
+      {pool_offset(189),                                251},
+
+      {pool_offset(190),                               251},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(85),                                 132},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(199), 509},
+      {-1},
 
-      {pool_offset(90),           364},
-      {-1}, {-1},
+      {pool_offset(201),                               150},
+      {-1},
 
-      {pool_offset(93),                          431},
+      {pool_offset(203),                          460},
 
-      {pool_offset(94),                             268},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(204),   499},
+      {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(210),                          497},
 
-      {pool_offset(103),                    242},
+      {pool_offset(211),                            305},
+
+      {pool_offset(212),                           433},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(108),                 183},
-      {-1}, {-1}, {-1},
+      {pool_offset(217),         204},
+      {-1},
+
+      {pool_offset(219),                                 119},
 
-      {pool_offset(112),                   402},
+      {pool_offset(220),                    267},
       {-1},
 
-      {pool_offset(114),                           253},
+      {pool_offset(222),                            310},
+      {-1}, {-1},
+
+      {pool_offset(225),                               174},
       {-1},
 
-      {pool_offset(116),                                  42},
+      {pool_offset(227),                      136},
       {-1},
 
-      {pool_offset(118),   457},
-      {-1}, {-1}, {-1},
+      {pool_offset(229),                             487},
 
-      {pool_offset(122),                               133},
+      {pool_offset(230),                                  43},
       {-1},
 
-      {pool_offset(124),                         397},
+      {pool_offset(232),                         302},
+
+      {pool_offset(233),                                 145},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1},
+
+      {pool_offset(245),                          475},
+      {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(251),                       143},
+
+      {pool_offset(252),                        498},
+      {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(257),                            138},
+      {-1}, {-1},
+
+      {pool_offset(260),                                56},
+
+      {pool_offset(261),                           340},
+
+      {pool_offset(262),                                22},
+      {-1}, {-1},
+
+      {pool_offset(265),                      260},
+
+      {pool_offset(266),                               104},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(133),                   470},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(275),                                 196},
 
-      {pool_offset(141), 323},
+      {pool_offset(276),                            22},
       {-1}, {-1}, {-1},
 
-      {pool_offset(145),                                 117},
+      {pool_offset(280),                        280},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(290),                     495},
+      {-1},
 
-      {pool_offset(146),                               113},
+      {pool_offset(292),                  490},
 
-      {pool_offset(147),                                 108},
+      {pool_offset(293),                              207},
       {-1},
 
-      {pool_offset(149),                           404},
+      {pool_offset(295),                          494},
       {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(155),                               212},
-      {-1},
+      {pool_offset(301),                                 262},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(157),               472},
+      {pool_offset(314),                                  57},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(158),                 374},
+      {pool_offset(318),                         271},
 
-      {pool_offset(159),                               13},
-      {-1},
+      {pool_offset(319),                             401},
+      {-1}, {-1}, {-1},
+
+      {pool_offset(323),                               121},
+      {-1}, {-1},
+
+      {pool_offset(326),              107},
 
-      {pool_offset(161),                              192},
+      {pool_offset(327),                              121},
+      {-1},
 
-      {pool_offset(162),                          292},
+      {pool_offset(329),                                 209},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(163),           486},
+      {pool_offset(336),                     316},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1},
 
-      {pool_offset(165),                              211},
+      {pool_offset(347),                                204},
       {-1},
 
-      {pool_offset(167),                        266},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(349),                           278},
+      {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(355),                               148},
+      {-1}, {-1},
 
-      {pool_offset(176),             321},
+      {pool_offset(358),                           276},
 
-      {pool_offset(177),                  315},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(359),                                 205},
+      {-1},
+
+      {pool_offset(361),                             294},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(185),    329},
+      {pool_offset(367),                                  118},
       {-1}, {-1}, {-1},
 
-      {pool_offset(189),                          417},
+      {pool_offset(371),                             481},
+      {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(376),                         371},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(190), 483},
-      {-1}, {-1},
+      {pool_offset(382),                               14},
 
-      {pool_offset(193),                            200},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(383),                 202},
+      {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(388),                           471},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(202),                            213},
+      {pool_offset(393),                              21},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1},
 
-      {pool_offset(205),                                 69},
+      {pool_offset(405), 368},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1},
+
+      {pool_offset(417),                          446},
+      {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(423),                               140},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(215),                               110},
+      {pool_offset(429),                          155},
 
-      {pool_offset(216),                              110},
+      {pool_offset(430),                              295},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(217),                               155},
+      {pool_offset(435),                           112},
+      {-1},
 
-      {pool_offset(218),                            263},
+      {pool_offset(437),                               149},
       {-1},
 
-      {pool_offset(220),                          446},
+      {pool_offset(439),                            486},
       {-1},
 
-      {pool_offset(222),                               215},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(441),               467},
+
+      {pool_offset(442),                               107},
+      {-1},
+
+      {pool_offset(444),                               154},
+      {-1}, {-1},
+
+      {pool_offset(447),                       489},
+      {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(453),            421},
+      {-1}, {-1}, {-1},
+
+      {pool_offset(457),                         425},
+
+      {pool_offset(458),       415},
+
+      {pool_offset(459),                               103},
+      {-1}, {-1},
 
-      {pool_offset(229),                            279},
+      {pool_offset(462),                          54},
 
-      {pool_offset(230),                           405},
+      {pool_offset(463),                               113},
       {-1},
 
-      {pool_offset(232),                                21},
+      {pool_offset(465),                 402},
+      {-1}, {-1},
+
+      {pool_offset(468),                             118},
+
+      {pool_offset(469),                                34},
+
+      {pool_offset(470),                    513},
       {-1},
 
-      {pool_offset(234),                                93},
+      {pool_offset(472),                                 252},
 
-      {pool_offset(235),                                37},
+      {pool_offset(473),                        255},
+      {-1}, {-1}, {-1},
+
+      {pool_offset(477),                                6},
 
-      {pool_offset(236),                   331},
+      {pool_offset(478),                     543},
       {-1},
 
-      {pool_offset(238),                            21},
+      {pool_offset(480),                             43},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(487),                            527},
 
-      {pool_offset(239),                          271},
+      {pool_offset(488),                              85},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(495),                               111},
 
-      {pool_offset(240),                         246},
+      {pool_offset(496),                      408},
       {-1},
 
-      {pool_offset(242),                   240},
+      {pool_offset(498),                            111},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1},
+
+      {pool_offset(511), 351},
       {-1}, {-1}, {-1},
 
-      {pool_offset(246),                              37},
+      {pool_offset(515),                               192},
+
+      {pool_offset(516),                           432},
+
+      {pool_offset(517),           538},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(526),                  458},
+      {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(532),                        536},
+
+      {pool_offset(533),                       165},
       {-1}, {-1},
 
-      {pool_offset(249),                            288},
+      {pool_offset(536),                             484},
+      {-1}, {-1},
+
+      {pool_offset(539),                               255},
       {-1}, {-1}, {-1},
 
-      {pool_offset(253),                               211},
+      {pool_offset(543),                          131},
+      {-1},
+
+      {pool_offset(545),                   430},
       {-1}, {-1},
 
-      {pool_offset(256),                              20},
+      {pool_offset(548),                                48},
+      {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(553),                      507},
       {-1}, {-1},
 
-      {pool_offset(259),                                  107},
+      {pool_offset(556),                     206},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(260),                                 149},
+      {pool_offset(564),                              81},
 
-      {pool_offset(261),                                 235},
+      {pool_offset(565),                     526},
       {-1},
 
-      {pool_offset(263),                           251},
+      {pool_offset(567),                              33},
       {-1},
 
-      {pool_offset(265),                               193},
+      {pool_offset(569),                        435},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1},
 
-      {pool_offset(267),                               135},
+      {pool_offset(580),                        292},
+
+      {pool_offset(581),                               256},
+
+      {pool_offset(582),           392},
+      {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(588),                    150},
+
+      {pool_offset(589),                 427},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(597),                  194},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(604),                        321},
       {-1},
 
-      {pool_offset(269),                 399},
+      {pool_offset(606),                              109},
+      {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(611),                       468},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(619),                       376},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(626),                                 224},
+      {-1}, {-1}, {-1},
+
+      {pool_offset(630),                      193},
+
+      {pool_offset(631),                                 132},
+
+      {pool_offset(632), 549},
       {-1}, {-1},
 
-      {pool_offset(272),                          193},
+      {pool_offset(635),                          281},
+
+      {pool_offset(636),                      391},
+      {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(641),                                101},
+
+      {pool_offset(642),                                 222},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(656),                               13},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(273),                                 121},
+      {pool_offset(670),                               227},
+
+      {pool_offset(671),                               26},
+
+      {pool_offset(672),                  457},
       {-1}, {-1},
 
-      {pool_offset(276),                          443},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(675),                              194},
+
+      {pool_offset(676),                   518},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(283),            376},
+      {pool_offset(690),                   99},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(292),               437},
+      {pool_offset(699),                      531},
+      {-1},
+
+      {pool_offset(701),                                27},
+      {-1},
+
+      {pool_offset(703),                        315},
+      {-1},
+
+      {pool_offset(705),                               172},
+      {-1},
+
+      {pool_offset(707),             349},
       {-1}, {-1},
 
-      {pool_offset(295),                               137},
+      {pool_offset(710),      344},
 
-      {pool_offset(296),                   378},
-      {-1}, {-1}, {-1},
+      {pool_offset(711),                               84},
 
-      {pool_offset(300),                                94},
+      {pool_offset(712),                   512},
       {-1}, {-1}, {-1},
 
-      {pool_offset(304),                             453},
+      {pool_offset(716),    357},
+      {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(721), 535},
       {-1},
 
-      {pool_offset(306),                         276},
+      {pool_offset(723),                            249},
 
-      {pool_offset(307),                                 80},
-      {-1}, {-1},
+      {pool_offset(724),              389},
 
-      {pool_offset(310),                                80},
+      {pool_offset(725),                                102},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(311),                          414},
+      {pool_offset(729),                                 260},
 
-      {pool_offset(312),           314},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(730),                   265},
+
+      {pool_offset(731),                                 127},
+
+      {pool_offset(732),                            314},
+      {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(738),                  343},
       {-1},
 
-      {pool_offset(323),                                44},
+      {pool_offset(740),                                  212},
+
+      {pool_offset(741),                                28},
+
+      {pool_offset(742),                               213},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1},
 
-      {pool_offset(325),                         442},
+      {pool_offset(753),                               126},
+      {-1}, {-1},
+
+      {pool_offset(756),                                7},
+
+      {pool_offset(757),                          213},
+
+      {pool_offset(758),                   406},
+
+      {pool_offset(759),                          318},
 
-      {pool_offset(326),                               162},
+      {pool_offset(760),                               195},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(767),                               28},
+      {-1}, {-1},
+
+      {pool_offset(770),                                 223},
       {-1}, {-1},
 
-      {pool_offset(329),                         129},
+      {pool_offset(773),                                25},
+      {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(778),      519},
 
-      {pool_offset(330),                               217},
+      {pool_offset(779),                              248},
       {-1},
 
-      {pool_offset(332),                               200},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(781),               521},
+
+      {pool_offset(782),                              179},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(791),                364},
+      {-1},
+
+      {pool_offset(793),                             29},
 
-      {pool_offset(342),                                3},
+      {pool_offset(794),                         438},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(801),                            25},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(347),                              43},
+      {pool_offset(806),                                 215},
 
-      {pool_offset(348),                          267},
-      {-1}, {-1}, {-1},
+      {pool_offset(807),                            289},
+
+      {pool_offset(808),                           453},
 
-      {pool_offset(352),                              215},
+      {pool_offset(809),                          478},
+      {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(814),                                88},
+      {-1}, {-1},
+
+      {pool_offset(817),                                2},
+      {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(823),                          480},
+
+      {pool_offset(824),                               155},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(353),                         274},
-      {-1}, {-1},
+      {pool_offset(833),           500},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(356),               177},
+      {pool_offset(838),                       394},
 
-      {pool_offset(357),                            197},
-      {-1}, {-1}, {-1},
+      {pool_offset(839),                            79},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(361),                               98},
+      {pool_offset(846),                               105},
+      {-1}, {-1},
 
-      {pool_offset(362),            317},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(849),                            443},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(368),                                15},
+      {pool_offset(854),               334},
+      {-1}, {-1},
 
-      {pool_offset(369),          304},
+      {pool_offset(857),                445},
+      {-1},
 
-      {pool_offset(370),                            113},
+      {pool_offset(859),                                 197},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(377),      350},
+      {pool_offset(866),                  38},
 
-      {pool_offset(378),                                 85},
+      {pool_offset(867),                          80},
       {-1}, {-1},
 
-      {pool_offset(381),                               219},
+      {pool_offset(870),           268},
 
-      {pool_offset(382),                               126},
+      {pool_offset(871),                         101},
       {-1}, {-1}, {-1},
 
-      {pool_offset(386),                               130},
-      {-1}, {-1},
+      {pool_offset(875),                        464},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(884),                               152},
 
-      {pool_offset(389),                                 116},
+      {pool_offset(885),                        109},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(390),                               218},
+      {pool_offset(890),                               100},
       {-1},
 
-      {pool_offset(392),                              83},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(892),                   466},
 
-      {pool_offset(399),                           126},
+      {pool_offset(893),                              180},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(400),            444},
+      {pool_offset(898),                325},
       {-1},
 
-      {pool_offset(402),                            212},
+      {pool_offset(900),                         298},
+      {-1},
 
-      {pool_offset(403),                             218},
+      {pool_offset(902),                          53},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(408),                                68},
+      {pool_offset(907),                    127},
 
-      {pool_offset(409),   481},
-      {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(414),                    135},
+      {pool_offset(908),                               71},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(415), 340},
+      {pool_offset(912),                          440},
       {-1}, {-1}, {-1},
 
-      {pool_offset(419),                217},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(916),              429},
 
-      {pool_offset(426),                        484},
+      {pool_offset(917),                        311},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(431),                         334},
-      {-1},
+      {pool_offset(922),                                52},
 
-      {pool_offset(433),                       15},
+      {pool_offset(923),                            52},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(438),                           221},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1},
+      {pool_offset(928),                         370},
+      {-1},
 
-      {pool_offset(451),           458},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(930),                         201},
 
-      {pool_offset(457),      316},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1},
+      {pool_offset(931),                            142},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(479),                                119},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(937),                                58},
 
-      {pool_offset(486),                    121},
-      {-1}, {-1},
+      {pool_offset(938),                                46},
+      {-1},
 
-      {pool_offset(489),               96},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(940),                              45},
       {-1}, {-1},
 
-      {pool_offset(510),                              161},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(520),                                86},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(529),                               205},
+      {pool_offset(943),            404},
 
-      {pool_offset(530),                               136},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(944),                   359},
+      {-1}, {-1},
 
-      {pool_offset(535),                           312},
-      {-1},
+      {pool_offset(947),                             110},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(537),                         342},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(951),                        83},
 
-      {pool_offset(544),                                 150},
+      {pool_offset(952),                            102},
 
-      {pool_offset(545),                     478},
-      {-1}, {-1}, {-1},
+      {pool_offset(953),                               181},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(549),                              254},
+      {pool_offset(962),                                16},
       {-1}, {-1},
 
-      {pool_offset(552),                                  52},
+      {pool_offset(965),                         474},
 
-      {pool_offset(553),                                50},
+      {pool_offset(966),                               41},
       {-1}, {-1},
 
-      {pool_offset(556),                              462},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(969),                               211},
 
-      {pool_offset(563),                              53},
+      {pool_offset(970),                            221},
 
-      {pool_offset(564),                                46},
-      {-1}, {-1}, {-1},
+      {pool_offset(971),                         141},
 
-      {pool_offset(568),                             465},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(972),                            304},
 
-      {pool_offset(573),                95},
+      {pool_offset(973),                        85},
       {-1}, {-1},
 
-      {pool_offset(576),  474},
+      {pool_offset(976),                         286},
 
-      {pool_offset(577),                                 203},
-      {-1},
+      {pool_offset(977),                                 50},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(579),                                82},
+      {pool_offset(982),                             116},
 
-      {pool_offset(580),                               222},
+      {pool_offset(983),                               114},
       {-1}, {-1}, {-1},
 
-      {pool_offset(584),                           422},
-
-      {pool_offset(585),                          298},
-
-      {pool_offset(586),                                16},
+      {pool_offset(987),                            157},
       {-1},
 
-      {pool_offset(588),                                  60},
+      {pool_offset(989),                        88},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(589),                                83},
+      {pool_offset(995),                        119},
       {-1},
 
-      {pool_offset(591),                            278},
-      {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(596),                          449},
-      {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(601),                             451},
+      {pool_offset(997),                         300},
       {-1},
 
-      {pool_offset(603),                                 90},
-
-      {pool_offset(604),                               128},
-      {-1}, {-1}, {-1},
-
-      {pool_offset(608),                          256},
+      {pool_offset(999),                          324},
 
-      {pool_offset(609),                                 64},
-
-      {pool_offset(610),                                45},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(618),                               231},
+      {pool_offset(1000),                  252},
       {-1}, {-1},
 
-      {pool_offset(621),                               106},
-
-      {pool_offset(622),                              0},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(631),                               134},
-      {-1}, {-1}, {-1},
+      {pool_offset(1003),                               117},
 
-      {pool_offset(635),                          147},
+      {pool_offset(1004),              522},
       {-1}, {-1},
 
-      {pool_offset(638),          468},
+      {pool_offset(1007),              130},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1},
 
-      {pool_offset(642),                18},
+      {pool_offset(1020),                          293},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(643),                               232},
+      {pool_offset(1024),                               31},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(653),                                 91},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1034),                                 66},
 
-      {pool_offset(659),                        289},
+      {pool_offset(1035),                      472},
 
-      {pool_offset(660),                      363},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1036),                19},
+      {-1},
 
-      {pool_offset(666),                        295},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1038),                    413},
+      {-1},
 
-      {pool_offset(673),                                 118},
-      {-1}, {-1}, {-1},
+      {pool_offset(1040),                                  62},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(677),                      479},
+      {pool_offset(1048),                                17},
+      {-1},
 
-      {pool_offset(678),                              269},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1050),            345},
+      {-1},
+
+      {pool_offset(1052),                               16},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(685),                                109},
+      {pool_offset(1060),                        479},
 
-      {pool_offset(686),                               109},
+      {pool_offset(1061),                                3},
 
-      {pool_offset(687),                          140},
-      {-1}, {-1},
+      {pool_offset(1062),                           256},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(690),                                 48},
+      {pool_offset(1067),                              11},
       {-1},
 
-      {pool_offset(692),                                89},
-
-      {pool_offset(693),                              42},
-      {-1}, {-1},
+      {pool_offset(1069),                               201},
+      {-1},
 
-      {pool_offset(696),                      235},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1071),                       73},
 
-      {pool_offset(702),                             107},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1072),                               115},
 
-      {pool_offset(711),                          90},
-      {-1}, {-1},
+      {pool_offset(1073),                          483},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(714),             460},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1077),                                 49},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(723),                           424},
-      {-1},
+      {pool_offset(1082),                                26},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(725),                                 183},
+      {pool_offset(1086),                   270},
 
-      {pool_offset(726),                              151},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1087),           342},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(731),           243},
+      {pool_offset(1100),                              216},
 
-      {pool_offset(732),                             163},
-      {-1}, {-1},
+      {pool_offset(1101),               106},
 
-      {pool_offset(735),                          412},
-      {-1},
+      {pool_offset(1102),          332},
 
-      {pool_offset(737),                                 177},
+      {pool_offset(1103),                         114},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(756),                              11},
+      {pool_offset(1125),                              211},
       {-1},
 
-      {pool_offset(758),                     403},
+      {pool_offset(1127),                                183},
 
-      {pool_offset(759),                         98},
+      {pool_offset(1128),                                15},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(760),                    385},
-      {-1},
+      {pool_offset(1132),                              115},
+      {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(1138),               272},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(762),                                141},
+      {pool_offset(1145),               407},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(763),                               141},
-      {-1}, {-1}, {-1},
+      {pool_offset(1153),              454},
+      {-1}, {-1},
 
-      {pool_offset(767),                           232},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1156),                      146},
 
-      {pool_offset(773),                               229},
+      {pool_offset(1157),                                80},
       {-1}, {-1},
 
-      {pool_offset(776),                       454},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1},
+      {pool_offset(1160),                   367},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(787),                                 185},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1165),                               144},
 
-      {pool_offset(797),                                 179},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1166),                      207},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(806),                                 47},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1172),                                81},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(816),                           332},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1179),                   74},
 
-      {pool_offset(824),                           64},
-      {-1}, {-1},
+      {pool_offset(1180),                               247},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(827),                                 180},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1185),                                 133},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(844),                                9},
+      {pool_offset(1189),                            208},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(853),                             82},
-      {-1}, {-1},
+      {pool_offset(1198),   380},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(856),                336},
-      {-1}, {-1}, {-1},
+      {pool_offset(1203),                                29},
+      {-1},
 
-      {pool_offset(860),                                164},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1205),                             34},
+      {-1},
 
-      {pool_offset(866),                               139},
+      {pool_offset(1207),                                  159},
+      {-1},
 
-      {pool_offset(867),                               166},
+      {pool_offset(1209),                          229},
 
-      {pool_offset(868),               406},
+      {pool_offset(1210),                               170},
       {-1},
 
-      {pool_offset(870),                               173},
+      {pool_offset(1212),   547},
 
-      {pool_offset(871),              299},
-
-      {pool_offset(872),                              175},
+      {pool_offset(1213),                           66},
       {-1}, {-1}, {-1},
 
-      {pool_offset(876),                        407},
+      {pool_offset(1217),                             82},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(877),                           297},
+      {pool_offset(1223),   533},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(878),                               197},
-      {-1},
+      {pool_offset(1227),                            170},
 
-      {pool_offset(880),                              169},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1228),                               185},
 
-      {pool_offset(886),                                1},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1229),                             187},
 
-      {pool_offset(892),                               167},
-      {-1}, {-1}, {-1},
+      {pool_offset(1230),                  209},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(896),                             41},
+      {pool_offset(1239),                                 166},
 
-      {pool_offset(897),                                92},
+      {pool_offset(1240),                          482},
+      {-1},
 
-      {pool_offset(898),                               111},
+      {pool_offset(1242),                           451},
 
-      {pool_offset(899),                     186},
+      {pool_offset(1243),                               214},
 
-      {pool_offset(900),                                62},
+      {pool_offset(1244),                               110},
       {-1},
 
-      {pool_offset(902),                    166},
+      {pool_offset(1246),                  348},
       {-1}, {-1}, {-1},
 
-      {pool_offset(906),                        420},
+      {pool_offset(1250),                                89},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(907),                      146},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1256),                    333},
+      {-1},
 
-      {pool_offset(915),              151},
+      {pool_offset(1258),                          195},
+      {-1},
 
-      {pool_offset(916),                             91},
+      {pool_offset(1260),                               175},
+      {-1}, {-1},
 
-      {pool_offset(917),                    163},
+      {pool_offset(1263),                                  190},
 
-      {pool_offset(918),                       149},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1264),                               106},
 
-      {pool_offset(923),                                59},
-      {-1}, {-1},
+      {pool_offset(1265),                                164},
 
-      {pool_offset(926),                        231},
+      {pool_offset(1266),                               164},
       {-1}, {-1}, {-1},
 
-      {pool_offset(930),                   180},
+      {pool_offset(1270),                               186},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(931),                            69},
+      {pool_offset(1276),                            488},
       {-1}, {-1}, {-1},
 
-      {pool_offset(935),                            198},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(945),                        435},
-      {-1}, {-1},
-
-      {pool_offset(948),                            196},
+      {pool_offset(1280),                       452},
       {-1}, {-1},
 
-      {pool_offset(951),                         230},
-      {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(956),              361},
-      {-1},
+      {pool_offset(1283),                                8},
 
-      {pool_offset(958),                            188},
+      {pool_offset(1284),                              123},
       {-1},
 
-      {pool_offset(960),                  36},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1286),                            89},
 
-      {pool_offset(969),                377},
+      {pool_offset(1287),                               157},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(970),                     93},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1293),                                33},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(978),                               157},
+      {pool_offset(1297),                              234},
+      {-1},
 
-      {pool_offset(979),                             62},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1299),                     465},
+      {-1},
 
-      {pool_offset(984),                        108},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1301),                              237},
+      {-1},
 
-      {pool_offset(998),                  419},
-      {-1}, {-1},
+      {pool_offset(1303),                         31},
 
-      {pool_offset(1001),                       167},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1304),                              386},
 
-      {pool_offset(1006),                                96},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1305),   545},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1012),                                57},
+      {pool_offset(1314),    534},
       {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1018),                        203},
-      {-1}, {-1}, {-1},
-
-      {pool_offset(1022),                              54},
+      {pool_offset(1320),                      161},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1},
 
-      {pool_offset(1037),                     168},
+      {pool_offset(1331),                               122},
+      {-1},
 
-      {pool_offset(1038),                               182},
+      {pool_offset(1333),                          105},
       {-1}, {-1}, {-1},
 
-      {pool_offset(1042),                       423},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1337),             382},
 
-      {pool_offset(1049),                416},
+      {pool_offset(1338),                      84},
 
-      {pool_offset(1050),                 239},
+      {pool_offset(1339),                         214},
       {-1}, {-1}, {-1},
 
-      {pool_offset(1054),                               158},
-      {-1}, {-1}, {-1},
+      {pool_offset(1343),                       40},
+
+      {pool_offset(1344),                      72},
 
-      {pool_offset(1058),            432},
+      {pool_offset(1345),                               237},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1059),             433},
+      {pool_offset(1360),             502},
+      {-1}, {-1},
 
-      {pool_offset(1060),                               35},
+      {pool_offset(1363),               537},
+      {-1}, {-1},
 
-      {pool_offset(1061),                          52},
+      {pool_offset(1366),                     431},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1066),                        150},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1371),                          469},
 
-      {pool_offset(1071),    482},
-      {-1},
+      {pool_offset(1372),                         350},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1073),                                54},
+      {pool_offset(1390),                                 225},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1078),                                7},
+      {pool_offset(1395),                               259},
       {-1},
 
-      {pool_offset(1080),                           56},
+      {pool_offset(1397),            476},
 
-      {pool_offset(1081),                          155},
+      {pool_offset(1398),                        103},
 
-      {pool_offset(1082),                                56},
-      {-1}, {-1}, {-1},
-
-      {pool_offset(1086),                        285},
+      {pool_offset(1399),                               219},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1091),      471},
-
-      {pool_offset(1092),                          206},
+      {pool_offset(1404),                               125},
+      {-1}, {-1},
 
-      {pool_offset(1093),                  429},
-      {-1},
+      {pool_offset(1407),                            226},
 
-      {pool_offset(1095),                      174},
+      {pool_offset(1408),                                30},
       {-1}, {-1},
 
-      {pool_offset(1098),                           94},
-
-      {pool_offset(1099),                          448},
+      {pool_offset(1411),                               176},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1100),               301},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1420),                           30},
+      {-1}, {-1},
 
-      {pool_offset(1110),                         194},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1423),                               241},
+      {-1},
 
-      {pool_offset(1116),              401},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1425),              327},
+      {-1}, {-1},
 
-      {pool_offset(1122),                               196},
+      {pool_offset(1428),                             550},
       {-1}, {-1}, {-1},
 
-      {pool_offset(1126),                  428},
+      {pool_offset(1432),                        450},
+      {-1}, {-1},
 
-      {pool_offset(1127),                        421},
+      {pool_offset(1435),                               221},
+      {-1}, {-1},
 
-      {pool_offset(1128),      388},
+      {pool_offset(1438),                            218},
+      {-1},
 
-      {pool_offset(1129),                     237},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1440),                        493},
 
-      {pool_offset(1135),                             168},
-      {-1},
+      {pool_offset(1441),                          444},
 
-      {pool_offset(1137),               306},
+      {pool_offset(1442),                  448},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(1138), 277},
+      {pool_offset(1446),                          441},
       {-1},
 
-      {pool_offset(1140),                               25},
+      {pool_offset(1448),                           510},
       {-1}, {-1},
 
-      {pool_offset(1143),                           250},
-      {-1}, {-1}, {-1},
+      {pool_offset(1451),          516},
+      {-1}, {-1},
 
-      {pool_offset(1147),                                95},
+      {pool_offset(1454),                           374},
 
-      {pool_offset(1148),     302},
-      {-1},
+      {pool_offset(1455),                   216},
+      {-1}, {-1},
+
+      {pool_offset(1458),                               147},
+      {-1}, {-1},
+
+      {pool_offset(1461),                              56},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1150),                  175},
+      {pool_offset(1466),                            125},
       {-1},
 
-      {pool_offset(1152),                       238},
+      {pool_offset(1468),                        147},
       {-1},
 
-      {pool_offset(1154),                          169},
+      {pool_offset(1470),                405},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1155),                   88},
+      {pool_offset(1478),                          307},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(1156),            313},
+      {pool_offset(1482),                                 90},
 
-      {pool_offset(1157),                            142},
+      {pool_offset(1483),                                47},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(1158),                         261},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1487),                                90},
+      {-1}, {-1},
 
-      {pool_offset(1163),                          415},
+      {pool_offset(1490),                               123},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(1497),                                93},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1164),                     436},
+      {pool_offset(1504),          540},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1165),                      311},
+      {pool_offset(1520),                             93},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1166),                                 146},
+      {pool_offset(1528),                   390},
       {-1},
 
-      {pool_offset(1168),                                 233},
+      {pool_offset(1530),                           275},
+
+      {pool_offset(1531),                                 51},
+      {-1}, {-1},
 
-      {pool_offset(1169),                               115},
+      {pool_offset(1534),                       15},
       {-1}, {-1},
 
-      {pool_offset(1172),                               233},
+      {pool_offset(1537),            461},
       {-1},
 
-      {pool_offset(1174),                   434},
-      {-1}, {-1}, {-1},
+      {pool_offset(1539),                              44},
+
+      {pool_offset(1540),             462},
+      {-1}, {-1},
 
-      {pool_offset(1178),                           210},
+      {pool_offset(1543),                                97},
       {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1184),                                26},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1549),                                64},
+      {-1},
 
-      {pool_offset(1189),                               145},
+      {pool_offset(1551),                                56},
 
-      {pool_offset(1190),          469},
-      {-1},
+      {pool_offset(1552),                           247},
+      {-1}, {-1},
 
-      {pool_offset(1192),                   179},
+      {pool_offset(1555),                               163},
       {-1},
 
-      {pool_offset(1194),                               221},
+      {pool_offset(1557),                                21},
 
-      {pool_offset(1195),                        118},
-      {-1}, {-1}, {-1},
+      {pool_offset(1558),                           477},
 
-      {pool_offset(1199),                                 204},
-      {-1}, {-1},
+      {pool_offset(1559),                         175},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(1569),                        190},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1},
+
+      {pool_offset(1580),                             64},
 
-      {pool_offset(1202),                          120},
+      {pool_offset(1581),                          162},
 
-      {pool_offset(1203),                               198},
+      {pool_offset(1582),                              0},
       {-1},
 
-      {pool_offset(1205),                          145},
+      {pool_offset(1584),                                 78},
       {-1},
 
-      {pool_offset(1207),                             111},
+      {pool_offset(1586),                               229},
 
-      {pool_offset(1208),         389},
+      {pool_offset(1587),                               169},
       {-1},
 
-      {pool_offset(1210),                     117},
+      {pool_offset(1589),                       263},
 
-      {pool_offset(1211),                             496},
-
-      {pool_offset(1212),                               142},
+      {pool_offset(1590),         417},
       {-1}, {-1},
 
-      {pool_offset(1215),                          450},
+      {pool_offset(1593),                                59},
 
-      {pool_offset(1216),                               147},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1594),                    104},
+      {-1}, {-1},
 
-      {pool_offset(1221),                               39},
-      {-1},
+      {pool_offset(1597),   546},
 
-      {pool_offset(1223),                          270},
+      {pool_offset(1598),                            23},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1230),                          234},
-      {-1},
-
-      {pool_offset(1232),                              190},
-
-      {pool_offset(1233), 327},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1605),                            236},
+      {-1}, {-1},
 
-      {pool_offset(1238),                               114},
+      {pool_offset(1608),                            514},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1239),                  325},
+      {pool_offset(1618),                            288},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(1240),                         158},
+      {pool_offset(1622),                               253},
       {-1},
 
-      {pool_offset(1242),                         410},
-
-      {pool_offset(1243),                               216},
+      {pool_offset(1624),                               108},
       {-1},
 
-      {pool_offset(1245),                               112},
+      {pool_offset(1626),                        227},
       {-1},
 
-      {pool_offset(1247),                          157},
+      {pool_offset(1628),                          396},
       {-1},
 
-      {pool_offset(1249),                                24},
-
-      {pool_offset(1250),                 372},
+      {pool_offset(1630),                               178},
+      {-1}, {-1},
 
-      {pool_offset(1251),                               220},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1633),                   198},
+      {-1}, {-1},
 
-      {pool_offset(1259),                               194},
-      {-1}, {-1}, {-1},
+      {pool_offset(1636),                              83},
+      {-1},
 
-      {pool_offset(1263),                                 184},
+      {pool_offset(1638),                               234},
       {-1},
 
-      {pool_offset(1265),                            220},
+      {pool_offset(1640),                                32},
+      {-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(1280),                       366},
-      {-1}, {-1}, {-1},
+      {pool_offset(1659),                           108},
+      {-1},
 
-      {pool_offset(1284),                         294},
+      {pool_offset(1661),                               180},
 
-      {pool_offset(1285),                                67},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1662),                          174},
+      {-1}, {-1},
 
-      {pool_offset(1290),                             28},
+      {pool_offset(1665),                       439},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1},
 
-      {pool_offset(1291),                                73},
-      {-1}, {-1}, {-1},
+      {pool_offset(1677),                               200},
 
-      {pool_offset(1295),                         182},
+      {pool_offset(1678),                                1},
       {-1},
 
-      {pool_offset(1297),                         260},
+      {pool_offset(1680),                               134},
+
+      {pool_offset(1681),                             134},
+      {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(1687),       377},
       {-1}, {-1},
 
-      {pool_offset(1300),                       38},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1690),         369},
 
-      {pool_offset(1305),                               123},
-      {-1},
+      {pool_offset(1691),                       299},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1307),            353},
-      {-1},
+      {pool_offset(1697),              398},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(1309),                               127},
+      {pool_offset(1701),                             24},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1316),                             123},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1708),                        449},
 
-      {pool_offset(1321),                             67},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1709),                           323},
 
-      {pool_offset(1327),                            24},
+      {pool_offset(1710),                       284},
+      {-1}, {-1},
 
-      {pool_offset(1328),                               156},
-      {-1},
+      {pool_offset(1713),                               238},
 
-      {pool_offset(1330),                                32},
+      {pool_offset(1714),                               220},
       {-1}, {-1},
 
-      {pool_offset(1333),                475},
-      {-1},
+      {pool_offset(1717),                    347},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1335),                      440},
+      {pool_offset(1726),                             385},
+      {-1},
 
-      {pool_offset(1336),                          127},
+      {pool_offset(1728),                               158},
       {-1}, {-1},
 
-      {pool_offset(1339),                                20},
+      {pool_offset(1731),                            158},
       {-1},
 
-      {pool_offset(1341),                              31},
-      {-1},
+      {pool_offset(1733),                                5},
+      {-1}, {-1},
 
-      {pool_offset(1343),              473},
+      {pool_offset(1736),                           58},
+
+      {pool_offset(1737),                            78},
       {-1}, {-1}, {-1},
 
-      {pool_offset(1347),                               189},
+      {pool_offset(1741),               329},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(1749),              485},
 
-      {pool_offset(1348),                               140},
+      {pool_offset(1750),                            32},
       {-1}, {-1}, {-1},
 
-      {pool_offset(1352),               247},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1754),                          296},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(1359),                               152},
-      {-1},
+      {pool_offset(1758),                      339},
 
-      {pool_offset(1361),                               159},
+      {pool_offset(1759),                               218},
 
-      {pool_offset(1362),                                6},
-      {-1},
+      {pool_offset(1760),                            322},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1364),                           369},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1765),                        437},
+
+      {pool_offset(1766),                           360},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(1776),               418},
+      {-1}, {-1},
 
-      {pool_offset(1370),                               172},
+      {pool_offset(1779),                          491},
       {-1}, {-1},
 
-      {pool_offset(1373),                            222},
+      {pool_offset(1782),                241},
 
-      {pool_offset(1374),                                81},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1783),                                35},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(1791),                 282},
+      {-1},
 
-      {pool_offset(1379),                             230},
+      {pool_offset(1793),                               226},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1384),                   362},
-      {-1}, {-1},
+      {pool_offset(1798),                              94},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1387),                              358},
+      {pool_offset(1807),          517},
+      {-1},
 
-      {pool_offset(1388),               379},
+      {pool_offset(1809),                         320},
       {-1},
 
-      {pool_offset(1390),                               143},
+      {pool_offset(1811),                            35},
       {-1}, {-1}, {-1},
 
-      {pool_offset(1394),                                227},
+      {pool_offset(1815),                          554},
+      {-1},
 
-      {pool_offset(1395),                               227},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1817),               301},
+      {-1}, {-1},
+
+      {pool_offset(1820),                       358},
       {-1}, {-1}, {-1},
 
-      {pool_offset(1408),                            68},
+      {pool_offset(1824),               361},
       {-1},
 
-      {pool_offset(1410),                        207},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1826),                                9},
 
-      {pool_offset(1415),                            143},
+      {pool_offset(1827),                            217},
       {-1},
 
-      {pool_offset(1417),                               208},
-      {-1},
+      {pool_offset(1829),                               67},
 
-      {pool_offset(1419),                           438},
+      {pool_offset(1830),                                24},
       {-1}, {-1}, {-1},
 
-      {pool_offset(1423),                         202},
-      {-1},
+      {pool_offset(1834),                                 96},
+      {-1}, {-1},
 
-      {pool_offset(1425),                               190},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1837), 303},
 
-      {pool_offset(1431),                          413},
+      {pool_offset(1838),                    419},
 
-      {pool_offset(1432),                              72},
+      {pool_offset(1839),                        145},
       {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1438),                             208},
+      {pool_offset(1845),                  283},
+      {-1}, {-1}, {-1},
+
+      {pool_offset(1849),                                94},
 
-      {pool_offset(1439),                                  171},
+      {pool_offset(1850),                     128},
       {-1},
 
-      {pool_offset(1441),                                 236},
+      {pool_offset(1852),                 400},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1442),                         467},
+      {pool_offset(1858),                 379},
       {-1},
 
-      {pool_offset(1444),                                 228},
+      {pool_offset(1860),                          117},
       {-1}, {-1},
 
-      {pool_offset(1447),                   245},
+      {pool_offset(1863),                  328},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1448),                           408},
-      {-1}, {-1},
+      {pool_offset(1868),                 363},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(1875),                 326},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1451),                    116},
+      {pool_offset(1883),                               217},
       {-1}, {-1}, {-1},
 
-      {pool_offset(1455),                            262},
+      {pool_offset(1887),                                67},
+      {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(1892),                           290},
       {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1461),                               75},
+      {pool_offset(1898), 355},
 
-      {pool_offset(1462),                            114},
+      {pool_offset(1899),                    520},
+      {-1}, {-1},
 
-      {pool_offset(1463),                       356},
+      {pool_offset(1902),                          172},
       {-1},
 
-      {pool_offset(1465),               275},
+      {pool_offset(1904),                  353},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1466),                310},
+      {pool_offset(1911),                             182},
+      {-1},
 
-      {pool_offset(1467),                  320},
+      {pool_offset(1913),  523},
       {-1},
 
-      {pool_offset(1469),                                97},
+      {pool_offset(1915),     330},
 
-      {pool_offset(1470),                    319},
-      {-1},
+      {pool_offset(1916),                          306},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1472),                             144},
+      {pool_offset(1921),                524},
+      {-1},
 
-      {pool_offset(1473),               392},
+      {pool_offset(1923),                            219},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(1474),                         463},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1927),                          403},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(1489),                 398},
-      {-1},
+      {pool_offset(1931),                                 165},
+      {-1}, {-1},
 
-      {pool_offset(1491),                            162},
+      {pool_offset(1934),                          258},
       {-1}, {-1}, {-1},
 
-      {pool_offset(1495),                                23},
+      {pool_offset(1938),                                76},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1500),                            85},
-      {-1}, {-1}, {-1},
+      {pool_offset(1943),                             193},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1504),                         371},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1948),                                92},
+      {-1},
 
-      {pool_offset(1513),                                58},
+      {pool_offset(1950),     551},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1514),                             23},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1956),                       384},
 
-      {pool_offset(1531),                          375},
+      {pool_offset(1957),                    185},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1532),               485},
+      {pool_offset(1964),                                99},
 
-      {pool_offset(1533),                               213},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1965),                422},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1538),                            97},
+      {pool_offset(1972),                               135},
 
-      {pool_offset(1539),                 335},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1},
+      {pool_offset(1973),                             135},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1550),       396},
+      {pool_offset(1978),                               37},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1559),                         272},
-      {-1},
+      {pool_offset(1987),                        166},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1},
 
-      {pool_offset(1561), 477},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(1999),                                60},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(1569),                              81},
-      {-1},
+      {pool_offset(2003),                                 161},
+      {-1}, {-1},
 
-      {pool_offset(1571),        307},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2006),                         515},
+      {-1},
 
-      {pool_offset(1576),                          281},
+      {pool_offset(2008),                                61},
       {-1},
 
-      {pool_offset(1578),                  381},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2010),                    259},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1586),                       411},
-      {-1}, {-1},
+      {pool_offset(2016),               434},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(1589),                                70},
-      {-1},
+      {pool_offset(2020),                             159},
+      {-1}, {-1},
 
-      {pool_offset(1591),                   184},
-      {-1},
+      {pool_offset(2023),                          393},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1593),                        409},
+      {pool_offset(2032),                               139},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1598),                487},
+      {pool_offset(2037),                          139},
 
-      {pool_offset(1599),                               207},
+      {pool_offset(2038),                                12},
       {-1},
 
-      {pool_offset(1601),                            86},
-      {-1}, {-1},
+      {pool_offset(2040),                               177},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1604),                                12},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2047),                               239},
+      {-1}, {-1},
 
-      {pool_offset(1612),              425},
-      {-1},
+      {pool_offset(2050),                    182},
 
-      {pool_offset(1614),                394},
+      {pool_offset(2051),                           233},
       {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1620),                               206},
+      {pool_offset(2057),                             122},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1621),                                31},
-      {-1},
+      {pool_offset(2062),                           57},
 
-      {pool_offset(1623), 328},
+      {pool_offset(2063),                          192},
 
-      {pool_offset(1624),                          71},
-      {-1}, {-1},
+      {pool_offset(2064),                                  44},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1627),                             32},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1},
+      {pool_offset(2070),                           436},
 
-      {pool_offset(1639),                          51},
+      {pool_offset(2071),                  455},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1640),                               199},
-      {-1}, {-1}, {-1},
+      {pool_offset(2077),                              238},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1644),                               137},
-      {-1}, {-1}, {-1},
+      {pool_offset(2084),                       171},
 
-      {pool_offset(1648),                                84},
+      {pool_offset(2085),                    132},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1649),                              152},
-      {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2092),                               242},
+      {-1}, {-1},
 
-      {pool_offset(1654),                            58},
-      {-1}, {-1}, {-1},
+      {pool_offset(2095), 312},
+      {-1},
 
-      {pool_offset(1658),                               161},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2097),                             242},
       {-1},
 
-      {pool_offset(1669),                             73},
+      {pool_offset(2099),                               243},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1684),               390},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2109),                                 199},
 
-      {pool_offset(1693),                         322},
+      {pool_offset(2110),                77},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1},
 
-      {pool_offset(1695), 286},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(1702),              370},
+      {pool_offset(2121),            366},
       {-1}, {-1},
 
-      {pool_offset(1705),                                72},
+      {pool_offset(2124),               395},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1706),                        74},
+      {pool_offset(2133),                                87},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1},
 
-      {pool_offset(1708),                               29},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(1717),                             165},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2144),                            87},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1724),                                88},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2158),                               246},
+      {-1},
 
-      {pool_offset(1732),     497},
+      {pool_offset(2160),                   42},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1733),                            22},
-      {-1}, {-1}, {-1},
+      {pool_offset(2178),                387},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1737),                             191},
-      {-1}, {-1}, {-1},
+      {pool_offset(2187),                               228},
 
-      {pool_offset(1741),                    305},
+      {pool_offset(2188),                  409},
       {-1},
 
-      {pool_offset(1743),                               176},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2190),                            388},
 
-      {pool_offset(1752),                136},
-      {-1},
+      {pool_offset(2191),                            235},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1754),              119},
+      {pool_offset(2196),                151},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1771),                  308},
-      {-1}, {-1}, {-1},
-
-      {pool_offset(1775),                  257},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2213),                         362},
 
-      {pool_offset(1783),              489},
+      {pool_offset(2214),                               162},
       {-1}, {-1},
 
-      {pool_offset(1786),              324},
-      {-1},
+      {pool_offset(2217),                          285},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1788),                          265},
-      {-1}, {-1}, {-1},
+      {pool_offset(2222),   548},
 
-      {pool_offset(1792),                               101},
+      {pool_offset(2223),                                36},
+      {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(2228),                               240},
 
-      {pool_offset(1793),                            181},
+      {pool_offset(2229),                         317},
       {-1}, {-1},
 
-      {pool_offset(1796),                                43},
+      {pool_offset(2232),                 100},
 
-      {pool_offset(1797),                                4},
+      {pool_offset(2233),                            246},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1802),                         204},
-      {-1}, {-1}, {-1},
-
-      {pool_offset(1806),                           441},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1},
+      {pool_offset(2238),                          178},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1818),                          365},
+      {pool_offset(2245),        269},
       {-1}, {-1}, {-1},
 
-      {pool_offset(1822),         384},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(1836),                         229},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2249),                            200},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1844),            393},
+      {pool_offset(2255), 337},
       {-1}, {-1},
 
-      {pool_offset(1847),                  89},
+      {pool_offset(2258),               48},
+
+      {pool_offset(2259),                 264},
       {-1},
 
-      {pool_offset(1849),       387},
+      {pool_offset(2261),                           470},
       {-1},
 
-      {pool_offset(1851),                           439},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2263),                                91},
 
-      {pool_offset(1857),                              214},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2264),                              167},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(1864),                               186},
+      {pool_offset(2286),                         176},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(1865),                       134},
+      {pool_offset(2299),                                65},
       {-1},
 
-      {pool_offset(1867),                                8},
-      {-1}, {-1},
+      {pool_offset(2301),                         287},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(1870),     164},
+      {pool_offset(2305),                     187},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1871),                         343},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2311),                     496},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(1878),                                5},
+      {pool_offset(2315),                          65},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(1879),                               124},
+      {pool_offset(2319),                               231},
       {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1885),                                 178},
-      {-1},
+      {pool_offset(2325),                               137},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1887),                       348},
+      {pool_offset(2330),                            97},
       {-1}, {-1},
 
-      {pool_offset(1890),                             124},
+      {pool_offset(2333),                               179},
+      {-1}, {-1},
+
+      {pool_offset(2336),                           137},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1895),                        205},
-      {-1},
+      {pool_offset(2341),                  336},
 
-      {pool_offset(1897), 495},
-      {-1}, {-1},
+      {pool_offset(2342),                     262},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1900),                        133},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2347),                        129},
 
-      {pool_offset(1909),                     170},
+      {pool_offset(2348),                 426},
       {-1}, {-1},
 
-      {pool_offset(1912),                               102},
-      {-1}, {-1},
+      {pool_offset(2351),                           397},
 
-      {pool_offset(1915),                       273},
-      {-1},
+      {pool_offset(2352),                               191},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1917),                         92},
+      {pool_offset(2357),                             184},
+      {-1}, {-1}, {-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(1935),                      380},
+      {pool_offset(2376),                    428},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1},
 
-      {pool_offset(1948),                359},
+      {pool_offset(2389),               50},
+      {-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(1964),                                18},
-      {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(1969),                             174},
-      {-1}, {-1},
-
-      {pool_offset(1972),        244},
-
-      {pool_offset(1973),                 252},
       {-1},
 
-      {pool_offset(1975),                   466},
+      {pool_offset(2409),                                 261},
       {-1},
 
-      {pool_offset(1977),                          61},
-
-      {pool_offset(1978),                    391},
-      {-1}, {-1}, {-1},
+      {pool_offset(2411),                         223},
+      {-1}, {-1},
 
-      {pool_offset(1982), 309},
+      {pool_offset(2414),                               116},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(1987),                       258},
-      {-1},
-
-      {pool_offset(1989),                            282},
+      {pool_offset(2419), 331},
       {-1},
 
-      {pool_offset(1991),                          17},
-      {-1}, {-1}, {-1},
-
-      {pool_offset(1995),                       154},
-      {-1}, {-1},
-
-      {pool_offset(1998),                               125},
+      {pool_offset(2421),                         253},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2005),                       427},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2428),                             231},
 
-      {pool_offset(2011),                                63},
+      {pool_offset(2429),                   199},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2012),                  300},
+      {pool_offset(2437),                        224},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2019),                          63},
+      {pool_offset(2444),                     215},
 
-      {pool_offset(2020), 303},
+      {pool_offset(2445),                                4},
       {-1}, {-1}, {-1},
 
-      {pool_offset(2024),          488},
+      {pool_offset(2449),                   75},
       {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2030),                            284},
+      {pool_offset(2455),                   463},
+
+      {pool_offset(2456),                         225},
       {-1}, {-1}, {-1},
 
-      {pool_offset(2034),               46},
-      {-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(2460),                               206},
 
-      {pool_offset(2058),                            452},
+      {pool_offset(2461),              167},
       {-1}, {-1},
 
-      {pool_offset(2061),                                 61},
-
-      {pool_offset(2062),                               214},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2464),                            313},
 
-      {pool_offset(2080),               45},
+      {pool_offset(2465),                     153},
       {-1},
 
-      {pool_offset(2082),                              99},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1},
+      {pool_offset(2467),                              188},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2093),                               181},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1},
+      {pool_offset(2473),                            60},
+      {-1}, {-1},
+
+      {pool_offset(2476),      378},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2104),                      464},
+      {pool_offset(2482),                             239},
       {-1},
 
-      {pool_offset(2106),                         29},
+      {pool_offset(2484),               49},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1},
 
-      {pool_offset(2116),                           445},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2496),      416},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(2126),                                25},
+      {pool_offset(2500),                 511},
+      {-1}, {-1},
+
+      {pool_offset(2503), 319},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2127),                            360},
+      {pool_offset(2508),                              169},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2128),               48},
+      {pool_offset(2518),                            181},
       {-1}, {-1},
 
-      {pool_offset(2131),                     290},
+      {pool_offset(2521),                         309},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(2132),                              224},
+      {pool_offset(2525),                   414},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(2133),                                 122},
+      {pool_offset(2529),                        492},
       {-1}, {-1},
 
-      {pool_offset(2136),                                99},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(2145),                              112},
-      {-1},
+      {pool_offset(2532),                     189},
 
-      {pool_offset(2147),           60},
+      {pool_offset(2533),                               230},
       {-1}, {-1}, {-1},
 
-      {pool_offset(2151),                     480},
-      {-1},
-
-      {pool_offset(2153),                           249},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2537),                                70},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2161),                     201},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2553),                 261},
 
-      {pool_offset(2167),                           223},
+      {pool_offset(2554),                         505},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2172),                             357},
+      {pool_offset(2559),                       186},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2173),                       330},
-      {-1},
+      {pool_offset(2567),                        220},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2175),                   386},
-      {-1}, {-1},
+      {pool_offset(2576),                               210},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2178),                               153},
-      {-1}, {-1}, {-1},
+      {pool_offset(2584),                         254},
 
-      {pool_offset(2182),                          259},
-      {-1}, {-1},
+      {pool_offset(2585),   544},
 
-      {pool_offset(2185),                            153},
+      {pool_offset(2586),                338},
+      {-1}, {-1}, {-1}, {-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(2195),                   40},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2210),                          160},
-
-      {pool_offset(2211),                                28},
+      {pool_offset(2623),                               36},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2212),                           264},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2642),                             189},
+      {-1},
 
-      {pool_offset(2218),                              87},
+      {pool_offset(2644),                            27},
       {-1}, {-1},
 
-      {pool_offset(2221),                         291},
-      {-1}, {-1}, {-1},
-
-      {pool_offset(2225),                          280},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2647),                           274},
       {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2240),                             57},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2653),                               173},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2249),                            287},
+      {pool_offset(2659),                            308},
       {-1}, {-1},
 
-      {pool_offset(2252),                      75},
+      {pool_offset(2662),                         372},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-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(2255),                               210},
-      {-1}, {-1}, {-1},
+      {pool_offset(2692),                             70},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(2700),               420},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2259),                 418},
+      {pool_offset(2707),                528},
       {-1}, {-1}, {-1},
 
-      {pool_offset(2263),                         283},
+      {pool_offset(2711),               51},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-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(2268),                    400},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2743),            341},
+      {-1},
 
-      {pool_offset(2275),       349},
+      {pool_offset(2745), 529},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2276),                                71},
+      {pool_offset(2764),                                19},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2277),                      125},
+      {pool_offset(2770),                            96},
 
-      {pool_offset(2278),                          173},
-      {-1},
+      {pool_offset(2771),                          63},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2280),                               104},
-      {-1}, {-1}, {-1},
+      {pool_offset(2776),        335},
 
-      {pool_offset(2284),                               103},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2777),                               168},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2292),                               223},
+      {pool_offset(2782),                         399},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2300),         395},
-      {-1}, {-1}, {-1},
+      {pool_offset(2790),                  503},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2304),     498},
-      {-1},
+      {pool_offset(2798),                              91},
+      {-1}, {-1}, {-1}, {-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(2306),                  228},
+      {pool_offset(2826),                   248},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2311),                                148},
-
-      {pool_offset(2312),                               148},
+      {pool_offset(2831),                               236},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1},
 
-      {pool_offset(2330),                  461},
+      {pool_offset(2843),                          188},
       {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2336),                               209},
-      {-1},
-
-      {pool_offset(2338),                                 19},
+      {pool_offset(2849),                        191},
 
-      {pool_offset(2339),                      132},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2850),                        230},
+      {-1}, {-1},
 
-      {pool_offset(2348),                                78},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2853),                               171},
+      {-1}, {-1},
 
-      {pool_offset(2358),               47},
+      {pool_offset(2856),                            113},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2363),                               100},
-
-      {pool_offset(2364),                               154},
+      {pool_offset(2861),                      506},
+      {-1},
 
-      {pool_offset(2365),                            78},
+      {pool_offset(2863),                               10},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1},
 
-      {pool_offset(2368),                                30},
+      {pool_offset(2884),                539},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2373),                     476},
-      {-1}, {-1},
+      {pool_offset(2907),                               160},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2376),                         344},
+      {pool_offset(2915),                          160},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2386),                         103},
-      {-1},
+      {pool_offset(2929),                          250},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2388),                            100},
+      {pool_offset(2937),                                95},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1},
 
-      {pool_offset(2401),                               105},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1},
+      {pool_offset(2947),                     530},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2422),                            50},
-      {-1}, {-1}, {-1},
+      {pool_offset(2954),                    173},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(2963),                 277},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2426),                   241},
+      {pool_offset(2968),                               244},
       {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2432),                    178},
-      {-1}, {-1},
+      {pool_offset(2974),                            244},
 
-      {pool_offset(2435),                                65},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2975),         412},
 
-      {pool_offset(2443),                      355},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2976),              352},
 
-      {pool_offset(2451),                            70},
-      {-1},
+      {pool_offset(2977),         423},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2453),                             189},
-      {-1},
+      {pool_offset(2986),     183},
 
-      {pool_offset(2455),                             170},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(2987),                             212},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1},
-
-      {pool_offset(2477),                                40},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(2491),                              104},
-      {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2494),                              74},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(3012),                     532},
 
-      {pool_offset(2503),                     195},
+      {pool_offset(3013),       424},
       {-1}, {-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(2529), 293},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1},
-
-      {pool_offset(2542),                        131},
-      {-1},
-
-      {pool_offset(2544),                               160},
-      {-1}, {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(2550),                                 49},
-      {-1},
-
-      {pool_offset(2552),                              84},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1},
 
-      {pool_offset(2570),          337},
+      {pool_offset(3052),                             254},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1},
 
-      {pool_offset(2581),                    156},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(3071),                               245},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2587),         341},
+      {pool_offset(3080), 356},
       {-1}, {-1},
 
-      {pool_offset(2590),                165},
+      {pool_offset(3083),              541},
+
+      {pool_offset(3084),              410},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-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(2613),               367},
+      {pool_offset(3112),                                42},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2621),                            209},
+      {pool_offset(3120),                             59},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2628),                           55},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1},
+      {pool_offset(3127),                              168},
+      {-1}, {-1},
 
-      {pool_offset(2650),                            30},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(3130),                           245},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(3139),                   203},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1},
-
-      {pool_offset(2679),               333},
       {-1}, {-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(2704),                          226},
+      {pool_offset(3177),                          18},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2711),                   224},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-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(3184),                                68},
+      {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2742),                        455},
+      {pool_offset(3190),                               232},
+      {-1}, {-1},
 
-      {pool_offset(2743),                          176},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(3193),               47},
       {-1}, {-1}, {-1}, {-1}, {-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(2774), 490},
+      {pool_offset(3210),                            232},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2792),                     138},
-      {-1},
+      {pool_offset(3228),                     222},
+      {-1}, {-1},
 
-      {pool_offset(2794),              382},
+      {pool_offset(3231),                                 20},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2802),                   383},
+      {pool_offset(3239),             525},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2803),                        171},
+      {pool_offset(3262),                            76},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-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(2834),                    185},
+      {pool_offset(3293),                    133},
+      {-1}, {-1}, {-1},
 
-      {pool_offset(2835),                            26},
-      {-1}, {-1}, {-1}, {-1}, {-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(3297),                    197},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2864),                               10},
+      {pool_offset(3304),                      92},
       {-1}, {-1}, {-1}, {-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(2878),              326},
+      {pool_offset(3328),            381},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2879),                           346},
+      {pool_offset(3337),                 447},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-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(2918),                   339},
-      {-1}, {-1}, {-1},
-
-      {pool_offset(2922),                  426},
-      {-1}, {-1},
-
-      {pool_offset(2925),                        199},
-      {-1}, {-1},
-
-      {pool_offset(2928),            338},
       {-1},
 
-      {pool_offset(2930),                        172},
+      {pool_offset(3375),                             210},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1},
-
-      {pool_offset(2952),                          368},
-
-      {pool_offset(2953),                    122},
-      {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-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(2955),                                27},
+      {pool_offset(3426),           62},
       {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2960),                            296},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(2968),                 351},
+      {pool_offset(3431),                               233},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(2983),                                34},
+      {pool_offset(3447),                                 63},
+      {-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(2989),                                66},
+      {pool_offset(3471),                      383},
       {-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(3009),                          500},
+      {pool_offset(3485),                    177},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(3504),                   266},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(3043),              459},
+      {pool_offset(3514),          365},
+      {-1}, {-1},
+
+      {pool_offset(3517),                184},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-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(3084),                                77},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(3562),                              95},
+      {-1},
+
+      {pool_offset(3564),                       346},
+      {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(3570),                   411},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-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(3603),                             240},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1},
+
+      {pool_offset(3623),                 375},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-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(3176),                                33},
+      {pool_offset(3666),                            228},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-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(3230),               49},
-      {-1}, {-1}, {-1},
-
-      {pool_offset(3234),                 236},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1},
-
-      {pool_offset(3254),                            33},
       {-1}, {-1}, {-1}, {-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(3282),                                79},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 
-      {pool_offset(3299),                 347},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1},
-
-      {pool_offset(3312),                             216},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(3764),              501},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1},
-
-      {pool_offset(3343),                      187},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1},
-
-      {pool_offset(3364),                        447},
-      {-1}, {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(3370),                            102},
-      {-1},
-
-      {pool_offset(3372),                    159},
       {-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(3396),     499},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
@@ -26476,13 +28875,7 @@ unicode_lookup_property_name (register const char *str, register unsigned int le
       {-1}, {-1}, {-1}, {-1}, {-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(3479),          345},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1},
-
-      {pool_offset(3491),                                53},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
@@ -26490,57 +28883,30 @@ unicode_lookup_property_name (register const char *str, register unsigned int le
       {-1}, {-1}, {-1}, {-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(3555),                              187},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1},
-
-      {pool_offset(3566),                               34},
-
-      {pool_offset(3567),                                 201},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(3582),                            225},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-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(3619),                          106},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-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(3644),                           101},
+      {pool_offset(4052),                    205},
       {-1}, {-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(3670),   492},
-      {-1}, {-1},
-
-      {pool_offset(3673),   352},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1},
-
-      {pool_offset(3685),             354},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(3700),   494},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-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(3743),                            65},
+      {pool_offset(4129),     552},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1},
-
-      {pool_offset(3763),                 66},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
@@ -26550,26 +28916,37 @@ unicode_lookup_property_name (register const char *str, register unsigned int le
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-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(3853),                       318},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-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(4261),                              98},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+
+      {pool_offset(4277),          373},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-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(4332),                                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},
+
+      {pool_offset(4363),              354},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-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(4404),                            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},
@@ -26581,8 +28958,6 @@ unicode_lookup_property_name (register const char *str, register unsigned int le
       {-1}, {-1}, {-1}, {-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(4106),                             105},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
@@ -26598,14 +28973,15 @@ unicode_lookup_property_name (register const char *str, register unsigned int le
       {-1}, {-1}, {-1}, {-1}, {-1}, {-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(4244),   493},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {pool_offset(4639), 542},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-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(4682),                                55},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
@@ -26654,19 +29030,11 @@ unicode_lookup_property_name (register const char *str, register unsigned int le
       {-1}, {-1}, {-1}, {-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(4722),                               27},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-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(4765),   491},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1},
-
-      {pool_offset(4780),                                2},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
@@ -26674,9 +29042,9 @@ unicode_lookup_property_name (register const char *str, register unsigned int le
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-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),                               77},
+      {pool_offset(5231),                 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},
@@ -26687,11 +29055,6 @@ unicode_lookup_property_name (register const char *str, register unsigned int le
       {-1}, {-1}, {-1}, {-1}, {-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(4943),                              76},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
@@ -26702,9 +29065,6 @@ unicode_lookup_property_name (register const char *str, register unsigned int le
       {-1}, {-1}, {-1}, {-1}, {-1}, {-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(5054),                            79},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
@@ -26716,16 +29076,16 @@ unicode_lookup_property_name (register const char *str, register unsigned int le
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-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(5162),                        76}
+      {pool_offset(5516),     553}
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
     {
-      register int key = hash (str, len);
+      register unsigned int key = hash (str, len);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           register int o = wordlist[key].name;
           if (o >= 0)
@@ -26742,7 +29102,792 @@ unicode_lookup_property_name (register const char *str, register unsigned int le
 
 
 
-#define PROPERTY_VERSION  8_0_0
+#define UNICODE_PROPERTY_VERSION  11_0_0
 
 #define PROPERTY_NAME_MAX_SIZE  59
-#define CODE_RANGES_NUM         501
+#define CODE_RANGES_NUM         555
+
+#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_ARAB 21
+#define PROP_INDEX_ARABIC 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_EMOJI 71
+#define PROP_INDEX_EMOJICOMPONENT 72
+#define PROP_INDEX_EMOJIMODIFIER 73
+#define PROP_INDEX_EMOJIMODIFIERBASE 74
+#define PROP_INDEX_EMOJIPRESENTATION 75
+#define PROP_INDEX_ETHIOPIC 76
+#define PROP_INDEX_ETHI 76
+#define PROP_INDEX_EXTENDEDPICTOGRAPHIC 77
+#define PROP_INDEX_EXT 78
+#define PROP_INDEX_EXTENDER 78
+#define PROP_INDEX_GEORGIAN 79
+#define PROP_INDEX_GEOR 79
+#define PROP_INDEX_GLAG 80
+#define PROP_INDEX_GLAGOLITIC 80
+#define PROP_INDEX_GOTH 81
+#define PROP_INDEX_GOTHIC 81
+#define PROP_INDEX_GRAN 82
+#define PROP_INDEX_GRANTHA 82
+#define PROP_INDEX_GRBASE 83
+#define PROP_INDEX_GRAPHEMEBASE 83
+#define PROP_INDEX_GREXT 84
+#define PROP_INDEX_GRAPHEMEEXTEND 84
+#define PROP_INDEX_GRAPHEMELINK 85
+#define PROP_INDEX_GRLINK 85
+#define PROP_INDEX_GREEK 86
+#define PROP_INDEX_GREK 86
+#define PROP_INDEX_GUJARATI 87
+#define PROP_INDEX_GUJR 87
+#define PROP_INDEX_GUNJALAGONDI 88
+#define PROP_INDEX_GONG 88
+#define PROP_INDEX_GURU 89
+#define PROP_INDEX_GURMUKHI 89
+#define PROP_INDEX_HANI 90
+#define PROP_INDEX_HAN 90
+#define PROP_INDEX_HANG 91
+#define PROP_INDEX_HANGUL 91
+#define PROP_INDEX_HANIFIROHINGYA 92
+#define PROP_INDEX_ROHG 92
+#define PROP_INDEX_HANUNOO 93
+#define PROP_INDEX_HANO 93
+#define PROP_INDEX_HATR 94
+#define PROP_INDEX_HATRAN 94
+#define PROP_INDEX_HEBREW 95
+#define PROP_INDEX_HEBR 95
+#define PROP_INDEX_HEXDIGIT 96
+#define PROP_INDEX_HEX 96
+#define PROP_INDEX_HIRAGANA 97
+#define PROP_INDEX_HIRA 97
+#define PROP_INDEX_HYPHEN 98
+#define PROP_INDEX_IDSB 99
+#define PROP_INDEX_IDSBINARYOPERATOR 99
+#define PROP_INDEX_IDST 100
+#define PROP_INDEX_IDSTRINARYOPERATOR 100
+#define PROP_INDEX_IDCONTINUE 101
+#define PROP_INDEX_IDC 101
+#define PROP_INDEX_IDS 102
+#define PROP_INDEX_IDSTART 102
+#define PROP_INDEX_IDEO 103
+#define PROP_INDEX_IDEOGRAPHIC 103
+#define PROP_INDEX_ARMI 104
+#define PROP_INDEX_IMPERIALARAMAIC 104
+#define PROP_INDEX_ZINH 105
+#define PROP_INDEX_INHERITED 105
+#define PROP_INDEX_QAAI 105
+#define PROP_INDEX_PHLI 106
+#define PROP_INDEX_INSCRIPTIONALPAHLAVI 106
+#define PROP_INDEX_INSCRIPTIONALPARTHIAN 107
+#define PROP_INDEX_PRTI 107
+#define PROP_INDEX_JAVANESE 108
+#define PROP_INDEX_JAVA 108
+#define PROP_INDEX_JOINC 109
+#define PROP_INDEX_JOINCONTROL 109
+#define PROP_INDEX_KAITHI 110
+#define PROP_INDEX_KTHI 110
+#define PROP_INDEX_KNDA 111
+#define PROP_INDEX_KANNADA 111
+#define PROP_INDEX_KATAKANA 112
+#define PROP_INDEX_KANA 112
+#define PROP_INDEX_KAYAHLI 113
+#define PROP_INDEX_KALI 113
+#define PROP_INDEX_KHAROSHTHI 114
+#define PROP_INDEX_KHAR 114
+#define PROP_INDEX_KHMR 115
+#define PROP_INDEX_KHMER 115
+#define PROP_INDEX_KHOJ 116
+#define PROP_INDEX_KHOJKI 116
+#define PROP_INDEX_KHUDAWADI 117
+#define PROP_INDEX_SIND 117
+#define PROP_INDEX_L 118
+#define PROP_INDEX_LETTER 118
+#define PROP_INDEX_LC 119
+#define PROP_INDEX_CASEDLETTER 119
+#define PROP_INDEX_LAO 120
+#define PROP_INDEX_LAOO 120
+#define PROP_INDEX_LATN 121
+#define PROP_INDEX_LATIN 121
+#define PROP_INDEX_LEPC 122
+#define PROP_INDEX_LEPCHA 122
+#define PROP_INDEX_LIMBU 123
+#define PROP_INDEX_LIMB 123
+#define PROP_INDEX_LINA 124
+#define PROP_INDEX_LINEARA 124
+#define PROP_INDEX_LINB 125
+#define PROP_INDEX_LINEARB 125
+#define PROP_INDEX_LISU 126
+#define PROP_INDEX_LOWERCASELETTER 127
+#define PROP_INDEX_LL 127
+#define PROP_INDEX_LM 128
+#define PROP_INDEX_MODIFIERLETTER 128
+#define PROP_INDEX_LO 129
+#define PROP_INDEX_OTHERLETTER 129
+#define PROP_INDEX_LOGICALORDEREXCEPTION 130
+#define PROP_INDEX_LOE 130
+#define PROP_INDEX_LOWERCASE 131
+#define PROP_INDEX_LT 132
+#define PROP_INDEX_TITLECASELETTER 132
+#define PROP_INDEX_UPPERCASELETTER 133
+#define PROP_INDEX_LU 133
+#define PROP_INDEX_LYCI 134
+#define PROP_INDEX_LYCIAN 134
+#define PROP_INDEX_LYDI 135
+#define PROP_INDEX_LYDIAN 135
+#define PROP_INDEX_M 136
+#define PROP_INDEX_COMBININGMARK 136
+#define PROP_INDEX_MARK 136
+#define PROP_INDEX_MAHJ 137
+#define PROP_INDEX_MAHAJANI 137
+#define PROP_INDEX_MAKASAR 138
+#define PROP_INDEX_MAKA 138
+#define PROP_INDEX_MALAYALAM 139
+#define PROP_INDEX_MLYM 139
+#define PROP_INDEX_MAND 140
+#define PROP_INDEX_MANDAIC 140
+#define PROP_INDEX_MANI 141
+#define PROP_INDEX_MANICHAEAN 141
+#define PROP_INDEX_MARC 142
+#define PROP_INDEX_MARCHEN 142
+#define PROP_INDEX_MASARAMGONDI 143
+#define PROP_INDEX_GONM 143
+#define PROP_INDEX_MATH 144
+#define PROP_INDEX_MC 145
+#define PROP_INDEX_SPACINGMARK 145
+#define PROP_INDEX_ENCLOSINGMARK 146
+#define PROP_INDEX_ME 146
+#define PROP_INDEX_MEDEFAIDRIN 147
+#define PROP_INDEX_MEDF 147
+#define PROP_INDEX_MEETEIMAYEK 148
+#define PROP_INDEX_MTEI 148
+#define PROP_INDEX_MENDEKIKAKUI 149
+#define PROP_INDEX_MEND 149
+#define PROP_INDEX_MEROITICCURSIVE 150
+#define PROP_INDEX_MERC 150
+#define PROP_INDEX_MEROITICHIEROGLYPHS 151
+#define PROP_INDEX_MERO 151
+#define PROP_INDEX_PLRD 152
+#define PROP_INDEX_MIAO 152
+#define PROP_INDEX_MN 153
+#define PROP_INDEX_NONSPACINGMARK 153
+#define PROP_INDEX_MODI 154
+#define PROP_INDEX_MONGOLIAN 155
+#define PROP_INDEX_MONG 155
+#define PROP_INDEX_MRO 156
+#define PROP_INDEX_MROO 156
+#define PROP_INDEX_MULT 157
+#define PROP_INDEX_MULTANI 157
+#define PROP_INDEX_MYANMAR 158
+#define PROP_INDEX_MYMR 158
+#define PROP_INDEX_NUMBER 159
+#define PROP_INDEX_N 159
+#define PROP_INDEX_NABATAEAN 160
+#define PROP_INDEX_NBAT 160
+#define PROP_INDEX_DECIMALNUMBER 161
+#define PROP_INDEX_ND 161
+#define PROP_INDEX_TALU 162
+#define PROP_INDEX_NEWTAILUE 162
+#define PROP_INDEX_NEWA 163
+#define PROP_INDEX_NKO 164
+#define PROP_INDEX_NKOO 164
+#define PROP_INDEX_LETTERNUMBER 165
+#define PROP_INDEX_NL 165
+#define PROP_INDEX_OTHERNUMBER 166
+#define PROP_INDEX_NO 166
+#define PROP_INDEX_NONCHARACTERCODEPOINT 167
+#define PROP_INDEX_NCHAR 167
+#define PROP_INDEX_NSHU 168
+#define PROP_INDEX_NUSHU 168
+#define PROP_INDEX_OGHAM 169
+#define PROP_INDEX_OGAM 169
+#define PROP_INDEX_OLCK 170
+#define PROP_INDEX_OLCHIKI 170
+#define PROP_INDEX_HUNG 171
+#define PROP_INDEX_OLDHUNGARIAN 171
+#define PROP_INDEX_ITAL 172
+#define PROP_INDEX_OLDITALIC 172
+#define PROP_INDEX_NARB 173
+#define PROP_INDEX_OLDNORTHARABIAN 173
+#define PROP_INDEX_OLDPERMIC 174
+#define PROP_INDEX_PERM 174
+#define PROP_INDEX_OLDPERSIAN 175
+#define PROP_INDEX_XPEO 175
+#define PROP_INDEX_SOGO 176
+#define PROP_INDEX_OLDSOGDIAN 176
+#define PROP_INDEX_SARB 177
+#define PROP_INDEX_OLDSOUTHARABIAN 177
+#define PROP_INDEX_OLDTURKIC 178
+#define PROP_INDEX_ORKH 178
+#define PROP_INDEX_ORYA 179
+#define PROP_INDEX_ORIYA 179
+#define PROP_INDEX_OSAGE 180
+#define PROP_INDEX_OSGE 180
+#define PROP_INDEX_OSMANYA 181
+#define PROP_INDEX_OSMA 181
+#define PROP_INDEX_OTHERALPHABETIC 182
+#define PROP_INDEX_OALPHA 182
+#define PROP_INDEX_ODI 183
+#define PROP_INDEX_OTHERDEFAULTIGNORABLECODEPOINT 183
+#define PROP_INDEX_OGREXT 184
+#define PROP_INDEX_OTHERGRAPHEMEEXTEND 184
+#define PROP_INDEX_OIDC 185
+#define PROP_INDEX_OTHERIDCONTINUE 185
+#define PROP_INDEX_OTHERIDSTART 186
+#define PROP_INDEX_OIDS 186
+#define PROP_INDEX_OTHERLOWERCASE 187
+#define PROP_INDEX_OLOWER 187
+#define PROP_INDEX_OTHERMATH 188
+#define PROP_INDEX_OMATH 188
+#define PROP_INDEX_OTHERUPPERCASE 189
+#define PROP_INDEX_OUPPER 189
+#define PROP_INDEX_P 190
+#define PROP_INDEX_PUNCTUATION 190
+#define PROP_INDEX_PAHAWHHMONG 191
+#define PROP_INDEX_HMNG 191
+#define PROP_INDEX_PALMYRENE 192
+#define PROP_INDEX_PALM 192
+#define PROP_INDEX_PATTERNSYNTAX 193
+#define PROP_INDEX_PATSYN 193
+#define PROP_INDEX_PATWS 194
+#define PROP_INDEX_PATTERNWHITESPACE 194
+#define PROP_INDEX_PAUCINHAU 195
+#define PROP_INDEX_PAUC 195
+#define PROP_INDEX_CONNECTORPUNCTUATION 196
+#define PROP_INDEX_PC 196
+#define PROP_INDEX_DASHPUNCTUATION 197
+#define PROP_INDEX_PD 197
+#define PROP_INDEX_PE 198
+#define PROP_INDEX_CLOSEPUNCTUATION 198
+#define PROP_INDEX_FINALPUNCTUATION 199
+#define PROP_INDEX_PF 199
+#define PROP_INDEX_PHAG 200
+#define PROP_INDEX_PHAGSPA 200
+#define PROP_INDEX_PHOENICIAN 201
+#define PROP_INDEX_PHNX 201
+#define PROP_INDEX_PI 202
+#define PROP_INDEX_INITIALPUNCTUATION 202
+#define PROP_INDEX_OTHERPUNCTUATION 203
+#define PROP_INDEX_PO 203
+#define PROP_INDEX_PREPENDEDCONCATENATIONMARK 204
+#define PROP_INDEX_PCM 204
+#define PROP_INDEX_PS 205
+#define PROP_INDEX_OPENPUNCTUATION 205
+#define PROP_INDEX_PHLP 206
+#define PROP_INDEX_PSALTERPAHLAVI 206
+#define PROP_INDEX_QUOTATIONMARK 207
+#define PROP_INDEX_QMARK 207
+#define PROP_INDEX_RADICAL 208
+#define PROP_INDEX_RI 209
+#define PROP_INDEX_REGIONALINDICATOR 209
+#define PROP_INDEX_REJANG 210
+#define PROP_INDEX_RJNG 210
+#define PROP_INDEX_RUNIC 211
+#define PROP_INDEX_RUNR 211
+#define PROP_INDEX_S 212
+#define PROP_INDEX_SYMBOL 212
+#define PROP_INDEX_SAMARITAN 213
+#define PROP_INDEX_SAMR 213
+#define PROP_INDEX_SAURASHTRA 214
+#define PROP_INDEX_SAUR 214
+#define PROP_INDEX_SC 215
+#define PROP_INDEX_CURRENCYSYMBOL 215
+#define PROP_INDEX_SENTENCETERMINAL 216
+#define PROP_INDEX_STERM 216
+#define PROP_INDEX_SHARADA 217
+#define PROP_INDEX_SHRD 217
+#define PROP_INDEX_SHAVIAN 218
+#define PROP_INDEX_SHAW 218
+#define PROP_INDEX_SIDDHAM 219
+#define PROP_INDEX_SIDD 219
+#define PROP_INDEX_SIGNWRITING 220
+#define PROP_INDEX_SGNW 220
+#define PROP_INDEX_SINH 221
+#define PROP_INDEX_SINHALA 221
+#define PROP_INDEX_SK 222
+#define PROP_INDEX_MODIFIERSYMBOL 222
+#define PROP_INDEX_MATHSYMBOL 223
+#define PROP_INDEX_SM 223
+#define PROP_INDEX_SO 224
+#define PROP_INDEX_OTHERSYMBOL 224
+#define PROP_INDEX_SD 225
+#define PROP_INDEX_SOFTDOTTED 225
+#define PROP_INDEX_SOGD 226
+#define PROP_INDEX_SOGDIAN 226
+#define PROP_INDEX_SORASOMPENG 227
+#define PROP_INDEX_SORA 227
+#define PROP_INDEX_SOYO 228
+#define PROP_INDEX_SOYOMBO 228
+#define PROP_INDEX_SUND 229
+#define PROP_INDEX_SUNDANESE 229
+#define PROP_INDEX_SYLO 230
+#define PROP_INDEX_SYLOTINAGRI 230
+#define PROP_INDEX_SYRC 231
+#define PROP_INDEX_SYRIAC 231
+#define PROP_INDEX_TGLG 232
+#define PROP_INDEX_TAGALOG 232
+#define PROP_INDEX_TAGBANWA 233
+#define PROP_INDEX_TAGB 233
+#define PROP_INDEX_TAILE 234
+#define PROP_INDEX_TALE 234
+#define PROP_INDEX_TAITHAM 235
+#define PROP_INDEX_LANA 235
+#define PROP_INDEX_TAIVIET 236
+#define PROP_INDEX_TAVT 236
+#define PROP_INDEX_TAKRI 237
+#define PROP_INDEX_TAKR 237
+#define PROP_INDEX_TAMIL 238
+#define PROP_INDEX_TAML 238
+#define PROP_INDEX_TANG 239
+#define PROP_INDEX_TANGUT 239
+#define PROP_INDEX_TELUGU 240
+#define PROP_INDEX_TELU 240
+#define PROP_INDEX_TERM 241
+#define PROP_INDEX_TERMINALPUNCTUATION 241
+#define PROP_INDEX_THAA 242
+#define PROP_INDEX_THAANA 242
+#define PROP_INDEX_THAI 243
+#define PROP_INDEX_TIBT 244
+#define PROP_INDEX_TIBETAN 244
+#define PROP_INDEX_TFNG 245
+#define PROP_INDEX_TIFINAGH 245
+#define PROP_INDEX_TIRHUTA 246
+#define PROP_INDEX_TIRH 246
+#define PROP_INDEX_UGAR 247
+#define PROP_INDEX_UGARITIC 247
+#define PROP_INDEX_UNIFIEDIDEOGRAPH 248
+#define PROP_INDEX_UIDEO 248
+#define PROP_INDEX_ZZZZ 249
+#define PROP_INDEX_UNKNOWN 249
+#define PROP_INDEX_UPPERCASE 250
+#define PROP_INDEX_VAII 251
+#define PROP_INDEX_VAI 251
+#define PROP_INDEX_VARIATIONSELECTOR 252
+#define PROP_INDEX_VS 252
+#define PROP_INDEX_WARANGCITI 253
+#define PROP_INDEX_WARA 253
+#define PROP_INDEX_WHITESPACE 254
+#define PROP_INDEX_WSPACE 254
+#define PROP_INDEX_XIDC 255
+#define PROP_INDEX_XIDCONTINUE 255
+#define PROP_INDEX_XIDS 256
+#define PROP_INDEX_XIDSTART 256
+#define PROP_INDEX_YI 257
+#define PROP_INDEX_YIII 257
+#define PROP_INDEX_SEPARATOR 258
+#define PROP_INDEX_Z 258
+#define PROP_INDEX_ZANABAZARSQUARE 259
+#define PROP_INDEX_ZANB 259
+#define PROP_INDEX_ZL 260
+#define PROP_INDEX_LINESEPARATOR 260
+#define PROP_INDEX_ZP 261
+#define PROP_INDEX_PARAGRAPHSEPARATOR 261
+#define PROP_INDEX_ZS 262
+#define PROP_INDEX_SPACESEPARATOR 262
+#define PROP_INDEX_INBASICLATIN 263
+#define PROP_INDEX_INLATIN1SUPPLEMENT 264
+#define PROP_INDEX_INLATINEXTENDEDA 265
+#define PROP_INDEX_INLATINEXTENDEDB 266
+#define PROP_INDEX_INIPAEXTENSIONS 267
+#define PROP_INDEX_INSPACINGMODIFIERLETTERS 268
+#define PROP_INDEX_INCOMBININGDIACRITICALMARKS 269
+#define PROP_INDEX_INGREEKANDCOPTIC 270
+#define PROP_INDEX_INCYRILLIC 271
+#define PROP_INDEX_INCYRILLICSUPPLEMENT 272
+#define PROP_INDEX_INARMENIAN 273
+#define PROP_INDEX_INHEBREW 274
+#define PROP_INDEX_INARABIC 275
+#define PROP_INDEX_INSYRIAC 276
+#define PROP_INDEX_INARABICSUPPLEMENT 277
+#define PROP_INDEX_INTHAANA 278
+#define PROP_INDEX_INNKO 279
+#define PROP_INDEX_INSAMARITAN 280
+#define PROP_INDEX_INMANDAIC 281
+#define PROP_INDEX_INSYRIACSUPPLEMENT 282
+#define PROP_INDEX_INARABICEXTENDEDA 283
+#define PROP_INDEX_INDEVANAGARI 284
+#define PROP_INDEX_INBENGALI 285
+#define PROP_INDEX_INGURMUKHI 286
+#define PROP_INDEX_INGUJARATI 287
+#define PROP_INDEX_INORIYA 288
+#define PROP_INDEX_INTAMIL 289
+#define PROP_INDEX_INTELUGU 290
+#define PROP_INDEX_INKANNADA 291
+#define PROP_INDEX_INMALAYALAM 292
+#define PROP_INDEX_INSINHALA 293
+#define PROP_INDEX_INTHAI 294
+#define PROP_INDEX_INLAO 295
+#define PROP_INDEX_INTIBETAN 296
+#define PROP_INDEX_INMYANMAR 297
+#define PROP_INDEX_INGEORGIAN 298
+#define PROP_INDEX_INHANGULJAMO 299
+#define PROP_INDEX_INETHIOPIC 300
+#define PROP_INDEX_INETHIOPICSUPPLEMENT 301
+#define PROP_INDEX_INCHEROKEE 302
+#define PROP_INDEX_INUNIFIEDCANADIANABORIGINALSYLLABICS 303
+#define PROP_INDEX_INOGHAM 304
+#define PROP_INDEX_INRUNIC 305
+#define PROP_INDEX_INTAGALOG 306
+#define PROP_INDEX_INHANUNOO 307
+#define PROP_INDEX_INBUHID 308
+#define PROP_INDEX_INTAGBANWA 309
+#define PROP_INDEX_INKHMER 310
+#define PROP_INDEX_INMONGOLIAN 311
+#define PROP_INDEX_INUNIFIEDCANADIANABORIGINALSYLLABICSEXTENDED 312
+#define PROP_INDEX_INLIMBU 313
+#define PROP_INDEX_INTAILE 314
+#define PROP_INDEX_INNEWTAILUE 315
+#define PROP_INDEX_INKHMERSYMBOLS 316
+#define PROP_INDEX_INBUGINESE 317
+#define PROP_INDEX_INTAITHAM 318
+#define PROP_INDEX_INCOMBININGDIACRITICALMARKSEXTENDED 319
+#define PROP_INDEX_INBALINESE 320
+#define PROP_INDEX_INSUNDANESE 321
+#define PROP_INDEX_INBATAK 322
+#define PROP_INDEX_INLEPCHA 323
+#define PROP_INDEX_INOLCHIKI 324
+#define PROP_INDEX_INCYRILLICEXTENDEDC 325
+#define PROP_INDEX_INGEORGIANEXTENDED 326
+#define PROP_INDEX_INSUNDANESESUPPLEMENT 327
+#define PROP_INDEX_INVEDICEXTENSIONS 328
+#define PROP_INDEX_INPHONETICEXTENSIONS 329
+#define PROP_INDEX_INPHONETICEXTENSIONSSUPPLEMENT 330
+#define PROP_INDEX_INCOMBININGDIACRITICALMARKSSUPPLEMENT 331
+#define PROP_INDEX_INLATINEXTENDEDADDITIONAL 332
+#define PROP_INDEX_INGREEKEXTENDED 333
+#define PROP_INDEX_INGENERALPUNCTUATION 334
+#define PROP_INDEX_INSUPERSCRIPTSANDSUBSCRIPTS 335
+#define PROP_INDEX_INCURRENCYSYMBOLS 336
+#define PROP_INDEX_INCOMBININGDIACRITICALMARKSFORSYMBOLS 337
+#define PROP_INDEX_INLETTERLIKESYMBOLS 338
+#define PROP_INDEX_INNUMBERFORMS 339
+#define PROP_INDEX_INARROWS 340
+#define PROP_INDEX_INMATHEMATICALOPERATORS 341
+#define PROP_INDEX_INMISCELLANEOUSTECHNICAL 342
+#define PROP_INDEX_INCONTROLPICTURES 343
+#define PROP_INDEX_INOPTICALCHARACTERRECOGNITION 344
+#define PROP_INDEX_INENCLOSEDALPHANUMERICS 345
+#define PROP_INDEX_INBOXDRAWING 346
+#define PROP_INDEX_INBLOCKELEMENTS 347
+#define PROP_INDEX_INGEOMETRICSHAPES 348
+#define PROP_INDEX_INMISCELLANEOUSSYMBOLS 349
+#define PROP_INDEX_INDINGBATS 350
+#define PROP_INDEX_INMISCELLANEOUSMATHEMATICALSYMBOLSA 351
+#define PROP_INDEX_INSUPPLEMENTALARROWSA 352
+#define PROP_INDEX_INBRAILLEPATTERNS 353
+#define PROP_INDEX_INSUPPLEMENTALARROWSB 354
+#define PROP_INDEX_INMISCELLANEOUSMATHEMATICALSYMBOLSB 355
+#define PROP_INDEX_INSUPPLEMENTALMATHEMATICALOPERATORS 356
+#define PROP_INDEX_INMISCELLANEOUSSYMBOLSANDARROWS 357
+#define PROP_INDEX_INGLAGOLITIC 358
+#define PROP_INDEX_INLATINEXTENDEDC 359
+#define PROP_INDEX_INCOPTIC 360
+#define PROP_INDEX_INGEORGIANSUPPLEMENT 361
+#define PROP_INDEX_INTIFINAGH 362
+#define PROP_INDEX_INETHIOPICEXTENDED 363
+#define PROP_INDEX_INCYRILLICEXTENDEDA 364
+#define PROP_INDEX_INSUPPLEMENTALPUNCTUATION 365
+#define PROP_INDEX_INCJKRADICALSSUPPLEMENT 366
+#define PROP_INDEX_INKANGXIRADICALS 367
+#define PROP_INDEX_INIDEOGRAPHICDESCRIPTIONCHARACTERS 368
+#define PROP_INDEX_INCJKSYMBOLSANDPUNCTUATION 369
+#define PROP_INDEX_INHIRAGANA 370
+#define PROP_INDEX_INKATAKANA 371
+#define PROP_INDEX_INBOPOMOFO 372
+#define PROP_INDEX_INHANGULCOMPATIBILITYJAMO 373
+#define PROP_INDEX_INKANBUN 374
+#define PROP_INDEX_INBOPOMOFOEXTENDED 375
+#define PROP_INDEX_INCJKSTROKES 376
+#define PROP_INDEX_INKATAKANAPHONETICEXTENSIONS 377
+#define PROP_INDEX_INENCLOSEDCJKLETTERSANDMONTHS 378
+#define PROP_INDEX_INCJKCOMPATIBILITY 379
+#define PROP_INDEX_INCJKUNIFIEDIDEOGRAPHSEXTENSIONA 380
+#define PROP_INDEX_INYIJINGHEXAGRAMSYMBOLS 381
+#define PROP_INDEX_INCJKUNIFIEDIDEOGRAPHS 382
+#define PROP_INDEX_INYISYLLABLES 383
+#define PROP_INDEX_INYIRADICALS 384
+#define PROP_INDEX_INLISU 385
+#define PROP_INDEX_INVAI 386
+#define PROP_INDEX_INCYRILLICEXTENDEDB 387
+#define PROP_INDEX_INBAMUM 388
+#define PROP_INDEX_INMODIFIERTONELETTERS 389
+#define PROP_INDEX_INLATINEXTENDEDD 390
+#define PROP_INDEX_INSYLOTINAGRI 391
+#define PROP_INDEX_INCOMMONINDICNUMBERFORMS 392
+#define PROP_INDEX_INPHAGSPA 393
+#define PROP_INDEX_INSAURASHTRA 394
+#define PROP_INDEX_INDEVANAGARIEXTENDED 395
+#define PROP_INDEX_INKAYAHLI 396
+#define PROP_INDEX_INREJANG 397
+#define PROP_INDEX_INHANGULJAMOEXTENDEDA 398
+#define PROP_INDEX_INJAVANESE 399
+#define PROP_INDEX_INMYANMAREXTENDEDB 400
+#define PROP_INDEX_INCHAM 401
+#define PROP_INDEX_INMYANMAREXTENDEDA 402
+#define PROP_INDEX_INTAIVIET 403
+#define PROP_INDEX_INMEETEIMAYEKEXTENSIONS 404
+#define PROP_INDEX_INETHIOPICEXTENDEDA 405
+#define PROP_INDEX_INLATINEXTENDEDE 406
+#define PROP_INDEX_INCHEROKEESUPPLEMENT 407
+#define PROP_INDEX_INMEETEIMAYEK 408
+#define PROP_INDEX_INHANGULSYLLABLES 409
+#define PROP_INDEX_INHANGULJAMOEXTENDEDB 410
+#define PROP_INDEX_INHIGHSURROGATES 411
+#define PROP_INDEX_INHIGHPRIVATEUSESURROGATES 412
+#define PROP_INDEX_INLOWSURROGATES 413
+#define PROP_INDEX_INPRIVATEUSEAREA 414
+#define PROP_INDEX_INCJKCOMPATIBILITYIDEOGRAPHS 415
+#define PROP_INDEX_INALPHABETICPRESENTATIONFORMS 416
+#define PROP_INDEX_INARABICPRESENTATIONFORMSA 417
+#define PROP_INDEX_INVARIATIONSELECTORS 418
+#define PROP_INDEX_INVERTICALFORMS 419
+#define PROP_INDEX_INCOMBININGHALFMARKS 420
+#define PROP_INDEX_INCJKCOMPATIBILITYFORMS 421
+#define PROP_INDEX_INSMALLFORMVARIANTS 422
+#define PROP_INDEX_INARABICPRESENTATIONFORMSB 423
+#define PROP_INDEX_INHALFWIDTHANDFULLWIDTHFORMS 424
+#define PROP_INDEX_INSPECIALS 425
+#define PROP_INDEX_INLINEARBSYLLABARY 426
+#define PROP_INDEX_INLINEARBIDEOGRAMS 427
+#define PROP_INDEX_INAEGEANNUMBERS 428
+#define PROP_INDEX_INANCIENTGREEKNUMBERS 429
+#define PROP_INDEX_INANCIENTSYMBOLS 430
+#define PROP_INDEX_INPHAISTOSDISC 431
+#define PROP_INDEX_INLYCIAN 432
+#define PROP_INDEX_INCARIAN 433
+#define PROP_INDEX_INCOPTICEPACTNUMBERS 434
+#define PROP_INDEX_INOLDITALIC 435
+#define PROP_INDEX_INGOTHIC 436
+#define PROP_INDEX_INOLDPERMIC 437
+#define PROP_INDEX_INUGARITIC 438
+#define PROP_INDEX_INOLDPERSIAN 439
+#define PROP_INDEX_INDESERET 440
+#define PROP_INDEX_INSHAVIAN 441
+#define PROP_INDEX_INOSMANYA 442
+#define PROP_INDEX_INOSAGE 443
+#define PROP_INDEX_INELBASAN 444
+#define PROP_INDEX_INCAUCASIANALBANIAN 445
+#define PROP_INDEX_INLINEARA 446
+#define PROP_INDEX_INCYPRIOTSYLLABARY 447
+#define PROP_INDEX_INIMPERIALARAMAIC 448
+#define PROP_INDEX_INPALMYRENE 449
+#define PROP_INDEX_INNABATAEAN 450
+#define PROP_INDEX_INHATRAN 451
+#define PROP_INDEX_INPHOENICIAN 452
+#define PROP_INDEX_INLYDIAN 453
+#define PROP_INDEX_INMEROITICHIEROGLYPHS 454
+#define PROP_INDEX_INMEROITICCURSIVE 455
+#define PROP_INDEX_INKHAROSHTHI 456
+#define PROP_INDEX_INOLDSOUTHARABIAN 457
+#define PROP_INDEX_INOLDNORTHARABIAN 458
+#define PROP_INDEX_INMANICHAEAN 459
+#define PROP_INDEX_INAVESTAN 460
+#define PROP_INDEX_ININSCRIPTIONALPARTHIAN 461
+#define PROP_INDEX_ININSCRIPTIONALPAHLAVI 462
+#define PROP_INDEX_INPSALTERPAHLAVI 463
+#define PROP_INDEX_INOLDTURKIC 464
+#define PROP_INDEX_INOLDHUNGARIAN 465
+#define PROP_INDEX_INHANIFIROHINGYA 466
+#define PROP_INDEX_INRUMINUMERALSYMBOLS 467
+#define PROP_INDEX_INOLDSOGDIAN 468
+#define PROP_INDEX_INSOGDIAN 469
+#define PROP_INDEX_INBRAHMI 470
+#define PROP_INDEX_INKAITHI 471
+#define PROP_INDEX_INSORASOMPENG 472
+#define PROP_INDEX_INCHAKMA 473
+#define PROP_INDEX_INMAHAJANI 474
+#define PROP_INDEX_INSHARADA 475
+#define PROP_INDEX_INSINHALAARCHAICNUMBERS 476
+#define PROP_INDEX_INKHOJKI 477
+#define PROP_INDEX_INMULTANI 478
+#define PROP_INDEX_INKHUDAWADI 479
+#define PROP_INDEX_INGRANTHA 480
+#define PROP_INDEX_INNEWA 481
+#define PROP_INDEX_INTIRHUTA 482
+#define PROP_INDEX_INSIDDHAM 483
+#define PROP_INDEX_INMODI 484
+#define PROP_INDEX_INMONGOLIANSUPPLEMENT 485
+#define PROP_INDEX_INTAKRI 486
+#define PROP_INDEX_INAHOM 487
+#define PROP_INDEX_INDOGRA 488
+#define PROP_INDEX_INWARANGCITI 489
+#define PROP_INDEX_INZANABAZARSQUARE 490
+#define PROP_INDEX_INSOYOMBO 491
+#define PROP_INDEX_INPAUCINHAU 492
+#define PROP_INDEX_INBHAIKSUKI 493
+#define PROP_INDEX_INMARCHEN 494
+#define PROP_INDEX_INMASARAMGONDI 495
+#define PROP_INDEX_INGUNJALAGONDI 496
+#define PROP_INDEX_INMAKASAR 497
+#define PROP_INDEX_INCUNEIFORM 498
+#define PROP_INDEX_INCUNEIFORMNUMBERSANDPUNCTUATION 499
+#define PROP_INDEX_INEARLYDYNASTICCUNEIFORM 500
+#define PROP_INDEX_INEGYPTIANHIEROGLYPHS 501
+#define PROP_INDEX_INANATOLIANHIEROGLYPHS 502
+#define PROP_INDEX_INBAMUMSUPPLEMENT 503
+#define PROP_INDEX_INMRO 504
+#define PROP_INDEX_INBASSAVAH 505
+#define PROP_INDEX_INPAHAWHHMONG 506
+#define PROP_INDEX_INMEDEFAIDRIN 507
+#define PROP_INDEX_INMIAO 508
+#define PROP_INDEX_INIDEOGRAPHICSYMBOLSANDPUNCTUATION 509
+#define PROP_INDEX_INTANGUT 510
+#define PROP_INDEX_INTANGUTCOMPONENTS 511
+#define PROP_INDEX_INKANASUPPLEMENT 512
+#define PROP_INDEX_INKANAEXTENDEDA 513
+#define PROP_INDEX_INNUSHU 514
+#define PROP_INDEX_INDUPLOYAN 515
+#define PROP_INDEX_INSHORTHANDFORMATCONTROLS 516
+#define PROP_INDEX_INBYZANTINEMUSICALSYMBOLS 517
+#define PROP_INDEX_INMUSICALSYMBOLS 518
+#define PROP_INDEX_INANCIENTGREEKMUSICALNOTATION 519
+#define PROP_INDEX_INMAYANNUMERALS 520
+#define PROP_INDEX_INTAIXUANJINGSYMBOLS 521
+#define PROP_INDEX_INCOUNTINGRODNUMERALS 522
+#define PROP_INDEX_INMATHEMATICALALPHANUMERICSYMBOLS 523
+#define PROP_INDEX_INSUTTONSIGNWRITING 524
+#define PROP_INDEX_INGLAGOLITICSUPPLEMENT 525
+#define PROP_INDEX_INMENDEKIKAKUI 526
+#define PROP_INDEX_INADLAM 527
+#define PROP_INDEX_ININDICSIYAQNUMBERS 528
+#define PROP_INDEX_INARABICMATHEMATICALALPHABETICSYMBOLS 529
+#define PROP_INDEX_INMAHJONGTILES 530
+#define PROP_INDEX_INDOMINOTILES 531
+#define PROP_INDEX_INPLAYINGCARDS 532
+#define PROP_INDEX_INENCLOSEDALPHANUMERICSUPPLEMENT 533
+#define PROP_INDEX_INENCLOSEDIDEOGRAPHICSUPPLEMENT 534
+#define PROP_INDEX_INMISCELLANEOUSSYMBOLSANDPICTOGRAPHS 535
+#define PROP_INDEX_INEMOTICONS 536
+#define PROP_INDEX_INORNAMENTALDINGBATS 537
+#define PROP_INDEX_INTRANSPORTANDMAPSYMBOLS 538
+#define PROP_INDEX_INALCHEMICALSYMBOLS 539
+#define PROP_INDEX_INGEOMETRICSHAPESEXTENDED 540
+#define PROP_INDEX_INSUPPLEMENTALARROWSC 541
+#define PROP_INDEX_INSUPPLEMENTALSYMBOLSANDPICTOGRAPHS 542
+#define PROP_INDEX_INCHESSSYMBOLS 543
+#define PROP_INDEX_INCJKUNIFIEDIDEOGRAPHSEXTENSIONB 544
+#define PROP_INDEX_INCJKUNIFIEDIDEOGRAPHSEXTENSIONC 545
+#define PROP_INDEX_INCJKUNIFIEDIDEOGRAPHSEXTENSIOND 546
+#define PROP_INDEX_INCJKUNIFIEDIDEOGRAPHSEXTENSIONE 547
+#define PROP_INDEX_INCJKUNIFIEDIDEOGRAPHSEXTENSIONF 548
+#define PROP_INDEX_INCJKCOMPATIBILITYIDEOGRAPHSSUPPLEMENT 549
+#define PROP_INDEX_INTAGS 550
+#define PROP_INDEX_INVARIATIONSELECTORSSUPPLEMENT 551
+#define PROP_INDEX_INSUPPLEMENTARYPRIVATEUSEAREAA 552
+#define PROP_INDEX_INSUPPLEMENTARYPRIVATEUSEAREAB 553
+#define PROP_INDEX_INNOBLOCK 554
index fffe2ef107ed466296080010e3ab2d640960adea..75ae98a837349b352ff70cd75193d393897ad4ad 100644 (file)
@@ -1,5 +1,5 @@
-/* ANSI-C code produced by gperf version 3.0.4 */
-/* Command-line: gperf -T -C -c -t -j1 -L ANSI-C --ignore-case --pic -Q unicode_prop_name_pool -N unicode_lookup_property_name --output-file gperf.tmp unicode_property_data_posix.gperf  */
+/* ANSI-C code produced by gperf version 3.1 */
+/* Command-line: /usr/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) \
@@ -26,7 +26,7 @@
       && ('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-gnu-gperf@gnu.org>."
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
 #endif
 
 
@@ -42,7 +42,7 @@ CR_NEWLINE[] = { 1,
 
 /* PROPERTY: 'Alpha': POSIX [[:Alpha:]] */
 static const OnigCodePoint
-CR_Alpha[] = { 617,
+CR_Alpha[] = { 676,
 0x0041, 0x005a,
 0x0061, 0x007a,
 0x00aa, 0x00aa,
@@ -69,14 +69,14 @@ CR_Alpha[] = { 617,
 0x048a, 0x052f,
 0x0531, 0x0556,
 0x0559, 0x0559,
-0x0561, 0x0587,
+0x0560, 0x0588,
 0x05b0, 0x05bd,
 0x05bf, 0x05bf,
 0x05c1, 0x05c2,
 0x05c4, 0x05c5,
 0x05c7, 0x05c7,
 0x05d0, 0x05ea,
-0x05f0, 0x05f2,
+0x05ef, 0x05f2,
 0x0610, 0x061a,
 0x0620, 0x0657,
 0x0659, 0x065f,
@@ -94,7 +94,10 @@ CR_Alpha[] = { 617,
 0x0800, 0x0817,
 0x081a, 0x082c,
 0x0840, 0x0858,
+0x0860, 0x086a,
 0x08a0, 0x08b4,
+0x08b6, 0x08bd,
+0x08d4, 0x08df,
 0x08e3, 0x08e9,
 0x08f0, 0x093b,
 0x093d, 0x094c,
@@ -115,6 +118,7 @@ CR_Alpha[] = { 617,
 0x09dc, 0x09dd,
 0x09df, 0x09e3,
 0x09f0, 0x09f1,
+0x09fc, 0x09fc,
 0x0a01, 0x0a03,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
@@ -142,7 +146,7 @@ CR_Alpha[] = { 617,
 0x0acb, 0x0acc,
 0x0ad0, 0x0ad0,
 0x0ae0, 0x0ae3,
-0x0af9, 0x0af9,
+0x0af9, 0x0afc,
 0x0b01, 0x0b03,
 0x0b05, 0x0b0c,
 0x0b0f, 0x0b10,
@@ -183,7 +187,7 @@ CR_Alpha[] = { 617,
 0x0c55, 0x0c56,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c63,
-0x0c81, 0x0c83,
+0x0c80, 0x0c83,
 0x0c85, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
@@ -196,7 +200,7 @@ CR_Alpha[] = { 617,
 0x0cde, 0x0cde,
 0x0ce0, 0x0ce3,
 0x0cf1, 0x0cf2,
-0x0d01, 0x0d03,
+0x0d00, 0x0d03,
 0x0d05, 0x0d0c,
 0x0d0e, 0x0d10,
 0x0d12, 0x0d3a,
@@ -204,7 +208,7 @@ CR_Alpha[] = { 617,
 0x0d46, 0x0d48,
 0x0d4a, 0x0d4c,
 0x0d4e, 0x0d4e,
-0x0d57, 0x0d57,
+0x0d54, 0x0d57,
 0x0d5f, 0x0d63,
 0x0d7a, 0x0d7f,
 0x0d82, 0x0d83,
@@ -291,7 +295,7 @@ CR_Alpha[] = { 617,
 0x17b6, 0x17c8,
 0x17d7, 0x17d7,
 0x17dc, 0x17dc,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -315,6 +319,9 @@ CR_Alpha[] = { 617,
 0x1c00, 0x1c35,
 0x1c4d, 0x1c4f,
 0x1c5a, 0x1c7d,
+0x1c80, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1ce9, 0x1cec,
 0x1cee, 0x1cf3,
 0x1cf5, 0x1cf6,
@@ -386,12 +393,12 @@ CR_Alpha[] = { 617,
 0x309d, 0x309f,
 0x30a1, 0x30fa,
 0x30fc, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x31a0, 0x31ba,
 0x31f0, 0x31ff,
 0x3400, 0x4db5,
-0x4e00, 0x9fd5,
+0x4e00, 0x9fef,
 0xa000, 0xa48c,
 0xa4d0, 0xa4fd,
 0xa500, 0xa60c,
@@ -402,17 +409,17 @@ CR_Alpha[] = { 617,
 0xa67f, 0xa6ef,
 0xa717, 0xa71f,
 0xa722, 0xa788,
-0xa78b, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa78b, 0xa7b9,
 0xa7f7, 0xa801,
 0xa803, 0xa805,
 0xa807, 0xa80a,
 0xa80c, 0xa827,
 0xa840, 0xa873,
 0xa880, 0xa8c3,
+0xa8c5, 0xa8c5,
 0xa8f2, 0xa8f7,
 0xa8fb, 0xa8fb,
-0xa8fd, 0xa8fd,
+0xa8fd, 0xa8fe,
 0xa90a, 0xa92a,
 0xa930, 0xa952,
 0xa960, 0xa97c,
@@ -478,13 +485,15 @@ CR_Alpha[] = { 617,
 0x10280, 0x1029c,
 0x102a0, 0x102d0,
 0x10300, 0x1031f,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x1037a,
 0x10380, 0x1039d,
 0x103a0, 0x103c3,
 0x103c8, 0x103cf,
 0x103d1, 0x103d5,
 0x10400, 0x1049d,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x10600, 0x10736,
@@ -508,7 +517,7 @@ CR_Alpha[] = { 617,
 0x10a05, 0x10a06,
 0x10a0c, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a60, 0x10a7c,
 0x10a80, 0x10a9c,
 0x10ac0, 0x10ac7,
@@ -520,10 +529,15 @@ CR_Alpha[] = { 617,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
+0x10d00, 0x10d27,
+0x10f00, 0x10f1c,
+0x10f27, 0x10f27,
+0x10f30, 0x10f45,
 0x11000, 0x11045,
 0x11082, 0x110b8,
 0x110d0, 0x110e8,
 0x11100, 0x11132,
+0x11144, 0x11146,
 0x11150, 0x11172,
 0x11176, 0x11176,
 0x11180, 0x111bf,
@@ -533,6 +547,7 @@ CR_Alpha[] = { 617,
 0x11200, 0x11211,
 0x11213, 0x11234,
 0x11237, 0x11237,
+0x1123e, 0x1123e,
 0x11280, 0x11286,
 0x11288, 0x11288,
 0x1128a, 0x1128d,
@@ -552,6 +567,9 @@ CR_Alpha[] = { 617,
 0x11350, 0x11350,
 0x11357, 0x11357,
 0x1135d, 0x11363,
+0x11400, 0x11441,
+0x11443, 0x11445,
+0x11447, 0x1144a,
 0x11480, 0x114c1,
 0x114c4, 0x114c5,
 0x114c7, 0x114c7,
@@ -562,11 +580,39 @@ CR_Alpha[] = { 617,
 0x11640, 0x11640,
 0x11644, 0x11644,
 0x11680, 0x116b5,
-0x11700, 0x11719,
+0x11700, 0x1171a,
 0x1171d, 0x1172a,
+0x11800, 0x11838,
 0x118a0, 0x118df,
 0x118ff, 0x118ff,
+0x11a00, 0x11a32,
+0x11a35, 0x11a3e,
+0x11a50, 0x11a83,
+0x11a86, 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,
@@ -579,10 +625,15 @@ CR_Alpha[] = { 617,
 0x16b40, 0x16b43,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e7f,
 0x16f00, 0x16f44,
 0x16f50, 0x16f7e,
 0x16f93, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -618,7 +669,14 @@ CR_Alpha[] = { 617,
 0x1d78a, 0x1d7a8,
 0x1d7aa, 0x1d7c2,
 0x1d7c4, 0x1d7cb,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e800, 0x1e8c4,
+0x1e900, 0x1e943,
+0x1e947, 0x1e947,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -659,6 +717,7 @@ CR_Alpha[] = { 617,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 0x2f800, 0x2fa1d,
 }; /* END of CR_Alpha */
 
@@ -684,7 +743,7 @@ CR_Cntrl[] = { 2,
 
 /* PROPERTY: 'Digit': POSIX [[:Digit:]] */
 static const OnigCodePoint
-CR_Digit[] = { 51,
+CR_Digit[] = { 57,
 0x0030, 0x0039,
 0x0660, 0x0669,
 0x06f0, 0x06f9,
@@ -723,24 +782,30 @@ CR_Digit[] = { 51,
 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,
+0x1e950, 0x1e959,
 }; /* END of CR_Digit */
 
 /* PROPERTY: 'Graph': POSIX [[:Graph:]] */
 static const OnigCodePoint
-CR_Graph[] = { 618,
+CR_Graph[] = { 663,
 0x0021, 0x007e,
 0x00a1, 0x0377,
 0x037a, 0x037f,
@@ -749,24 +814,24 @@ CR_Graph[] = { 618,
 0x038e, 0x03a1,
 0x03a3, 0x052f,
 0x0531, 0x0556,
-0x0559, 0x055f,
-0x0561, 0x0587,
-0x0589, 0x058a,
+0x0559, 0x058a,
 0x058d, 0x058f,
 0x0591, 0x05c7,
 0x05d0, 0x05ea,
-0x05f0, 0x05f4,
+0x05ef, 0x05f4,
 0x0600, 0x061c,
 0x061e, 0x070d,
 0x070f, 0x074a,
 0x074d, 0x07b1,
 0x07c0, 0x07fa,
-0x0800, 0x082d,
+0x07fd, 0x082d,
 0x0830, 0x083e,
 0x0840, 0x085b,
 0x085e, 0x085e,
+0x0860, 0x086a,
 0x08a0, 0x08b4,
-0x08e3, 0x0983,
+0x08b6, 0x08bd,
+0x08d3, 0x0983,
 0x0985, 0x098c,
 0x098f, 0x0990,
 0x0993, 0x09a8,
@@ -779,7 +844,7 @@ CR_Graph[] = { 618,
 0x09d7, 0x09d7,
 0x09dc, 0x09dd,
 0x09df, 0x09e3,
-0x09e6, 0x09fb,
+0x09e6, 0x09fe,
 0x0a01, 0x0a03,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
@@ -795,7 +860,7 @@ CR_Graph[] = { 618,
 0x0a51, 0x0a51,
 0x0a59, 0x0a5c,
 0x0a5e, 0x0a5e,
-0x0a66, 0x0a75,
+0x0a66, 0x0a76,
 0x0a81, 0x0a83,
 0x0a85, 0x0a8d,
 0x0a8f, 0x0a91,
@@ -809,7 +874,7 @@ CR_Graph[] = { 618,
 0x0ad0, 0x0ad0,
 0x0ae0, 0x0ae3,
 0x0ae6, 0x0af1,
-0x0af9, 0x0af9,
+0x0af9, 0x0aff,
 0x0b01, 0x0b03,
 0x0b05, 0x0b0c,
 0x0b0f, 0x0b10,
@@ -840,8 +905,7 @@ CR_Graph[] = { 618,
 0x0bd0, 0x0bd0,
 0x0bd7, 0x0bd7,
 0x0be6, 0x0bfa,
-0x0c00, 0x0c03,
-0x0c05, 0x0c0c,
+0x0c00, 0x0c0c,
 0x0c0e, 0x0c10,
 0x0c12, 0x0c28,
 0x0c2a, 0x0c39,
@@ -852,9 +916,7 @@ CR_Graph[] = { 618,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c63,
 0x0c66, 0x0c6f,
-0x0c78, 0x0c7f,
-0x0c81, 0x0c83,
-0x0c85, 0x0c8c,
+0x0c78, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
 0x0caa, 0x0cb3,
@@ -867,17 +929,14 @@ CR_Graph[] = { 618,
 0x0ce0, 0x0ce3,
 0x0ce6, 0x0cef,
 0x0cf1, 0x0cf2,
-0x0d01, 0x0d03,
+0x0d00, 0x0d03,
 0x0d05, 0x0d0c,
 0x0d0e, 0x0d10,
-0x0d12, 0x0d3a,
-0x0d3d, 0x0d44,
+0x0d12, 0x0d44,
 0x0d46, 0x0d48,
-0x0d4a, 0x0d4e,
-0x0d57, 0x0d57,
-0x0d5f, 0x0d63,
-0x0d66, 0x0d75,
-0x0d79, 0x0d7f,
+0x0d4a, 0x0d4f,
+0x0d54, 0x0d63,
+0x0d66, 0x0d7f,
 0x0d82, 0x0d83,
 0x0d85, 0x0d96,
 0x0d9a, 0x0db1,
@@ -954,7 +1013,7 @@ CR_Graph[] = { 618,
 0x17f0, 0x17f9,
 0x1800, 0x180e,
 0x1810, 0x1819,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -978,12 +1037,12 @@ CR_Graph[] = { 618,
 0x1b80, 0x1bf3,
 0x1bfc, 0x1c37,
 0x1c3b, 0x1c49,
-0x1c4d, 0x1c7f,
-0x1cc0, 0x1cc7,
-0x1cd0, 0x1cf6,
-0x1cf8, 0x1cf9,
-0x1d00, 0x1df5,
-0x1dfc, 0x1f15,
+0x1c4d, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cc7,
+0x1cd0, 0x1cf9,
+0x1d00, 0x1df9,
+0x1dfb, 0x1f15,
 0x1f18, 0x1f1d,
 0x1f20, 0x1f45,
 0x1f48, 0x1f4d,
@@ -1006,18 +1065,15 @@ CR_Graph[] = { 618,
 0x2066, 0x2071,
 0x2074, 0x208e,
 0x2090, 0x209c,
-0x20a0, 0x20be,
+0x20a0, 0x20bf,
 0x20d0, 0x20f0,
 0x2100, 0x218b,
-0x2190, 0x23fa,
-0x2400, 0x2426,
+0x2190, 0x2426,
 0x2440, 0x244a,
 0x2460, 0x2b73,
 0x2b76, 0x2b95,
-0x2b98, 0x2bb9,
-0x2bbd, 0x2bc8,
-0x2bca, 0x2bd1,
-0x2bec, 0x2bef,
+0x2b98, 0x2bc8,
+0x2bca, 0x2bfe,
 0x2c00, 0x2c2e,
 0x2c30, 0x2c5e,
 0x2c60, 0x2cf3,
@@ -1035,7 +1091,7 @@ CR_Graph[] = { 618,
 0x2dc8, 0x2dce,
 0x2dd0, 0x2dd6,
 0x2dd8, 0x2dde,
-0x2de0, 0x2e42,
+0x2de0, 0x2e4e,
 0x2e80, 0x2e99,
 0x2e9b, 0x2ef3,
 0x2f00, 0x2fd5,
@@ -1043,27 +1099,25 @@ CR_Graph[] = { 618,
 0x3001, 0x303f,
 0x3041, 0x3096,
 0x3099, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x3190, 0x31ba,
 0x31c0, 0x31e3,
 0x31f0, 0x321e,
 0x3220, 0x32fe,
 0x3300, 0x4db5,
-0x4dc0, 0x9fd5,
+0x4dc0, 0x9fef,
 0xa000, 0xa48c,
 0xa490, 0xa4c6,
 0xa4d0, 0xa62b,
 0xa640, 0xa6f7,
-0xa700, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa700, 0xa7b9,
 0xa7f7, 0xa82b,
 0xa830, 0xa839,
 0xa840, 0xa877,
-0xa880, 0xa8c4,
+0xa880, 0xa8c5,
 0xa8ce, 0xa8d9,
-0xa8e0, 0xa8fd,
-0xa900, 0xa953,
+0xa8e0, 0xa953,
 0xa95f, 0xa97c,
 0xa980, 0xa9cd,
 0xa9cf, 0xa9d9,
@@ -1122,7 +1176,7 @@ CR_Graph[] = { 618,
 0x10080, 0x100fa,
 0x10100, 0x10102,
 0x10107, 0x10133,
-0x10137, 0x1018c,
+0x10137, 0x1018e,
 0x10190, 0x1019b,
 0x101a0, 0x101a0,
 0x101d0, 0x101fd,
@@ -1130,13 +1184,15 @@ CR_Graph[] = { 618,
 0x102a0, 0x102d0,
 0x102e0, 0x102fb,
 0x10300, 0x10323,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x1037a,
 0x10380, 0x1039d,
 0x1039f, 0x103c3,
 0x103c8, 0x103d5,
 0x10400, 0x1049d,
 0x104a0, 0x104a9,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x1056f, 0x1056f,
@@ -1162,9 +1218,9 @@ CR_Graph[] = { 618,
 0x10a05, 0x10a06,
 0x10a0c, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a38, 0x10a3a,
-0x10a3f, 0x10a47,
+0x10a3f, 0x10a48,
 0x10a50, 0x10a58,
 0x10a60, 0x10a9f,
 0x10ac0, 0x10ae6,
@@ -1178,21 +1234,25 @@ CR_Graph[] = { 618,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
-0x10cfa, 0x10cff,
+0x10cfa, 0x10d27,
+0x10d30, 0x10d39,
 0x10e60, 0x10e7e,
+0x10f00, 0x10f27,
+0x10f30, 0x10f59,
 0x11000, 0x1104d,
 0x11052, 0x1106f,
 0x1107f, 0x110c1,
+0x110cd, 0x110cd,
 0x110d0, 0x110e8,
 0x110f0, 0x110f9,
 0x11100, 0x11134,
-0x11136, 0x11143,
+0x11136, 0x11146,
 0x11150, 0x11176,
 0x11180, 0x111cd,
 0x111d0, 0x111df,
 0x111e1, 0x111f4,
 0x11200, 0x11211,
-0x11213, 0x1123d,
+0x11213, 0x1123e,
 0x11280, 0x11286,
 0x11288, 0x11288,
 0x1128a, 0x1128d,
@@ -1207,7 +1267,7 @@ CR_Graph[] = { 618,
 0x1132a, 0x11330,
 0x11332, 0x11333,
 0x11335, 0x11339,
-0x1133c, 0x11344,
+0x1133b, 0x11344,
 0x11347, 0x11348,
 0x1134b, 0x1134d,
 0x11350, 0x11350,
@@ -1215,20 +1275,49 @@ CR_Graph[] = { 618,
 0x1135d, 0x11363,
 0x11366, 0x1136c,
 0x11370, 0x11374,
+0x11400, 0x11459,
+0x1145b, 0x1145b,
+0x1145d, 0x1145e,
 0x11480, 0x114c7,
 0x114d0, 0x114d9,
 0x11580, 0x115b5,
 0x115b8, 0x115dd,
 0x11600, 0x11644,
 0x11650, 0x11659,
+0x11660, 0x1166c,
 0x11680, 0x116b7,
 0x116c0, 0x116c9,
-0x11700, 0x11719,
+0x11700, 0x1171a,
 0x1171d, 0x1172b,
 0x11730, 0x1173f,
+0x11800, 0x1183b,
 0x118a0, 0x118f2,
 0x118ff, 0x118ff,
+0x11a00, 0x11a47,
+0x11a50, 0x11a83,
+0x11a86, 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,
 0x12000, 0x12399,
 0x12400, 0x1246e,
 0x12470, 0x12474,
@@ -1246,10 +1335,15 @@ CR_Graph[] = { 618,
 0x16b5b, 0x16b61,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e9a,
 0x16f00, 0x16f44,
 0x16f50, 0x16f7e,
 0x16f8f, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -1259,8 +1353,9 @@ CR_Graph[] = { 618,
 0x1d100, 0x1d126,
 0x1d129, 0x1d1e8,
 0x1d200, 0x1d245,
+0x1d2e0, 0x1d2f3,
 0x1d300, 0x1d356,
-0x1d360, 0x1d371,
+0x1d360, 0x1d378,
 0x1d400, 0x1d454,
 0x1d456, 0x1d49c,
 0x1d49e, 0x1d49f,
@@ -1284,8 +1379,17 @@ CR_Graph[] = { 618,
 0x1d7ce, 0x1da8b,
 0x1da9b, 0x1da9f,
 0x1daa1, 0x1daaf,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e800, 0x1e8c4,
 0x1e8c7, 0x1e8d6,
+0x1e900, 0x1e94a,
+0x1e950, 0x1e959,
+0x1e95e, 0x1e95f,
+0x1ec71, 0x1ecb4,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -1327,32 +1431,38 @@ CR_Graph[] = { 618,
 0x1f0c1, 0x1f0cf,
 0x1f0d1, 0x1f0f5,
 0x1f100, 0x1f10c,
-0x1f110, 0x1f12e,
-0x1f130, 0x1f16b,
-0x1f170, 0x1f19a,
+0x1f110, 0x1f16b,
+0x1f170, 0x1f1ac,
 0x1f1e6, 0x1f202,
-0x1f210, 0x1f23a,
+0x1f210, 0x1f23b,
 0x1f240, 0x1f248,
 0x1f250, 0x1f251,
-0x1f300, 0x1f579,
-0x1f57b, 0x1f5a3,
-0x1f5a5, 0x1f6d0,
+0x1f260, 0x1f265,
+0x1f300, 0x1f6d4,
 0x1f6e0, 0x1f6ec,
-0x1f6f0, 0x1f6f3,
+0x1f6f0, 0x1f6f9,
 0x1f700, 0x1f773,
-0x1f780, 0x1f7d4,
+0x1f780, 0x1f7d8,
 0x1f800, 0x1f80b,
 0x1f810, 0x1f847,
 0x1f850, 0x1f859,
 0x1f860, 0x1f887,
 0x1f890, 0x1f8ad,
-0x1f910, 0x1f918,
-0x1f980, 0x1f984,
-0x1f9c0, 0x1f9c0,
+0x1f900, 0x1f90b,
+0x1f910, 0x1f93e,
+0x1f940, 0x1f970,
+0x1f973, 0x1f976,
+0x1f97a, 0x1f97a,
+0x1f97c, 0x1f9a2,
+0x1f9b0, 0x1f9b9,
+0x1f9c0, 0x1f9c2,
+0x1f9d0, 0x1f9ff,
+0x1fa60, 0x1fa6d,
 0x20000, 0x2a6d6,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 0x2f800, 0x2fa1d,
 0xe0001, 0xe0001,
 0xe0020, 0xe007f,
@@ -1363,7 +1473,7 @@ CR_Graph[] = { 618,
 
 /* PROPERTY: 'Lower': POSIX [[:Lower:]] */
 static const OnigCodePoint
-CR_Lower[] = { 637,
+CR_Lower[] = { 645,
 0x0061, 0x007a,
 0x00aa, 0x00aa,
 0x00b5, 0x00b5,
@@ -1638,8 +1748,11 @@ CR_Lower[] = { 637,
 0x052b, 0x052b,
 0x052d, 0x052d,
 0x052f, 0x052f,
-0x0561, 0x0587,
+0x0560, 0x0588,
+0x10d0, 0x10fa,
+0x10fd, 0x10ff,
 0x13f8, 0x13fd,
+0x1c80, 0x1c88,
 0x1d00, 0x1dbf,
 0x1e01, 0x1e01,
 0x1e03, 0x1e03,
@@ -1961,8 +2074,10 @@ CR_Lower[] = { 637,
 0xa7a5, 0xa7a5,
 0xa7a7, 0xa7a7,
 0xa7a9, 0xa7a9,
+0xa7af, 0xa7af,
 0xa7b5, 0xa7b5,
 0xa7b7, 0xa7b7,
+0xa7b9, 0xa7b9,
 0xa7f8, 0xa7fa,
 0xab30, 0xab5a,
 0xab5c, 0xab65,
@@ -1971,8 +2086,10 @@ CR_Lower[] = { 637,
 0xfb13, 0xfb17,
 0xff41, 0xff5a,
 0x10428, 0x1044f,
+0x104d8, 0x104fb,
 0x10cc0, 0x10cf2,
 0x118c0, 0x118df,
+0x16e60, 0x16e7f,
 0x1d41a, 0x1d433,
 0x1d44e, 0x1d454,
 0x1d456, 0x1d467,
@@ -2001,11 +2118,12 @@ CR_Lower[] = { 637,
 0x1d7aa, 0x1d7c2,
 0x1d7c4, 0x1d7c9,
 0x1d7cb, 0x1d7cb,
+0x1e922, 0x1e943,
 }; /* END of CR_Lower */
 
 /* PROPERTY: 'Print': POSIX [[:Print:]] */
 static const OnigCodePoint
-CR_Print[] = { 615,
+CR_Print[] = { 660,
 0x0020, 0x007e,
 0x00a0, 0x0377,
 0x037a, 0x037f,
@@ -2014,24 +2132,24 @@ CR_Print[] = { 615,
 0x038e, 0x03a1,
 0x03a3, 0x052f,
 0x0531, 0x0556,
-0x0559, 0x055f,
-0x0561, 0x0587,
-0x0589, 0x058a,
+0x0559, 0x058a,
 0x058d, 0x058f,
 0x0591, 0x05c7,
 0x05d0, 0x05ea,
-0x05f0, 0x05f4,
+0x05ef, 0x05f4,
 0x0600, 0x061c,
 0x061e, 0x070d,
 0x070f, 0x074a,
 0x074d, 0x07b1,
 0x07c0, 0x07fa,
-0x0800, 0x082d,
+0x07fd, 0x082d,
 0x0830, 0x083e,
 0x0840, 0x085b,
 0x085e, 0x085e,
+0x0860, 0x086a,
 0x08a0, 0x08b4,
-0x08e3, 0x0983,
+0x08b6, 0x08bd,
+0x08d3, 0x0983,
 0x0985, 0x098c,
 0x098f, 0x0990,
 0x0993, 0x09a8,
@@ -2044,7 +2162,7 @@ CR_Print[] = { 615,
 0x09d7, 0x09d7,
 0x09dc, 0x09dd,
 0x09df, 0x09e3,
-0x09e6, 0x09fb,
+0x09e6, 0x09fe,
 0x0a01, 0x0a03,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
@@ -2060,7 +2178,7 @@ CR_Print[] = { 615,
 0x0a51, 0x0a51,
 0x0a59, 0x0a5c,
 0x0a5e, 0x0a5e,
-0x0a66, 0x0a75,
+0x0a66, 0x0a76,
 0x0a81, 0x0a83,
 0x0a85, 0x0a8d,
 0x0a8f, 0x0a91,
@@ -2074,7 +2192,7 @@ CR_Print[] = { 615,
 0x0ad0, 0x0ad0,
 0x0ae0, 0x0ae3,
 0x0ae6, 0x0af1,
-0x0af9, 0x0af9,
+0x0af9, 0x0aff,
 0x0b01, 0x0b03,
 0x0b05, 0x0b0c,
 0x0b0f, 0x0b10,
@@ -2105,8 +2223,7 @@ CR_Print[] = { 615,
 0x0bd0, 0x0bd0,
 0x0bd7, 0x0bd7,
 0x0be6, 0x0bfa,
-0x0c00, 0x0c03,
-0x0c05, 0x0c0c,
+0x0c00, 0x0c0c,
 0x0c0e, 0x0c10,
 0x0c12, 0x0c28,
 0x0c2a, 0x0c39,
@@ -2117,9 +2234,7 @@ CR_Print[] = { 615,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c63,
 0x0c66, 0x0c6f,
-0x0c78, 0x0c7f,
-0x0c81, 0x0c83,
-0x0c85, 0x0c8c,
+0x0c78, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
 0x0caa, 0x0cb3,
@@ -2132,17 +2247,14 @@ CR_Print[] = { 615,
 0x0ce0, 0x0ce3,
 0x0ce6, 0x0cef,
 0x0cf1, 0x0cf2,
-0x0d01, 0x0d03,
+0x0d00, 0x0d03,
 0x0d05, 0x0d0c,
 0x0d0e, 0x0d10,
-0x0d12, 0x0d3a,
-0x0d3d, 0x0d44,
+0x0d12, 0x0d44,
 0x0d46, 0x0d48,
-0x0d4a, 0x0d4e,
-0x0d57, 0x0d57,
-0x0d5f, 0x0d63,
-0x0d66, 0x0d75,
-0x0d79, 0x0d7f,
+0x0d4a, 0x0d4f,
+0x0d54, 0x0d63,
+0x0d66, 0x0d7f,
 0x0d82, 0x0d83,
 0x0d85, 0x0d96,
 0x0d9a, 0x0db1,
@@ -2218,7 +2330,7 @@ CR_Print[] = { 615,
 0x17f0, 0x17f9,
 0x1800, 0x180e,
 0x1810, 0x1819,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -2242,12 +2354,12 @@ CR_Print[] = { 615,
 0x1b80, 0x1bf3,
 0x1bfc, 0x1c37,
 0x1c3b, 0x1c49,
-0x1c4d, 0x1c7f,
-0x1cc0, 0x1cc7,
-0x1cd0, 0x1cf6,
-0x1cf8, 0x1cf9,
-0x1d00, 0x1df5,
-0x1dfc, 0x1f15,
+0x1c4d, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cc7,
+0x1cd0, 0x1cf9,
+0x1d00, 0x1df9,
+0x1dfb, 0x1f15,
 0x1f18, 0x1f1d,
 0x1f20, 0x1f45,
 0x1f48, 0x1f4d,
@@ -2268,18 +2380,15 @@ CR_Print[] = { 615,
 0x2066, 0x2071,
 0x2074, 0x208e,
 0x2090, 0x209c,
-0x20a0, 0x20be,
+0x20a0, 0x20bf,
 0x20d0, 0x20f0,
 0x2100, 0x218b,
-0x2190, 0x23fa,
-0x2400, 0x2426,
+0x2190, 0x2426,
 0x2440, 0x244a,
 0x2460, 0x2b73,
 0x2b76, 0x2b95,
-0x2b98, 0x2bb9,
-0x2bbd, 0x2bc8,
-0x2bca, 0x2bd1,
-0x2bec, 0x2bef,
+0x2b98, 0x2bc8,
+0x2bca, 0x2bfe,
 0x2c00, 0x2c2e,
 0x2c30, 0x2c5e,
 0x2c60, 0x2cf3,
@@ -2297,7 +2406,7 @@ CR_Print[] = { 615,
 0x2dc8, 0x2dce,
 0x2dd0, 0x2dd6,
 0x2dd8, 0x2dde,
-0x2de0, 0x2e42,
+0x2de0, 0x2e4e,
 0x2e80, 0x2e99,
 0x2e9b, 0x2ef3,
 0x2f00, 0x2fd5,
@@ -2305,27 +2414,25 @@ CR_Print[] = { 615,
 0x3000, 0x303f,
 0x3041, 0x3096,
 0x3099, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x3190, 0x31ba,
 0x31c0, 0x31e3,
 0x31f0, 0x321e,
 0x3220, 0x32fe,
 0x3300, 0x4db5,
-0x4dc0, 0x9fd5,
+0x4dc0, 0x9fef,
 0xa000, 0xa48c,
 0xa490, 0xa4c6,
 0xa4d0, 0xa62b,
 0xa640, 0xa6f7,
-0xa700, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa700, 0xa7b9,
 0xa7f7, 0xa82b,
 0xa830, 0xa839,
 0xa840, 0xa877,
-0xa880, 0xa8c4,
+0xa880, 0xa8c5,
 0xa8ce, 0xa8d9,
-0xa8e0, 0xa8fd,
-0xa900, 0xa953,
+0xa8e0, 0xa953,
 0xa95f, 0xa97c,
 0xa980, 0xa9cd,
 0xa9cf, 0xa9d9,
@@ -2384,7 +2491,7 @@ CR_Print[] = { 615,
 0x10080, 0x100fa,
 0x10100, 0x10102,
 0x10107, 0x10133,
-0x10137, 0x1018c,
+0x10137, 0x1018e,
 0x10190, 0x1019b,
 0x101a0, 0x101a0,
 0x101d0, 0x101fd,
@@ -2392,13 +2499,15 @@ CR_Print[] = { 615,
 0x102a0, 0x102d0,
 0x102e0, 0x102fb,
 0x10300, 0x10323,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x1037a,
 0x10380, 0x1039d,
 0x1039f, 0x103c3,
 0x103c8, 0x103d5,
 0x10400, 0x1049d,
 0x104a0, 0x104a9,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x1056f, 0x1056f,
@@ -2424,9 +2533,9 @@ CR_Print[] = { 615,
 0x10a05, 0x10a06,
 0x10a0c, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a38, 0x10a3a,
-0x10a3f, 0x10a47,
+0x10a3f, 0x10a48,
 0x10a50, 0x10a58,
 0x10a60, 0x10a9f,
 0x10ac0, 0x10ae6,
@@ -2440,21 +2549,25 @@ CR_Print[] = { 615,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
-0x10cfa, 0x10cff,
+0x10cfa, 0x10d27,
+0x10d30, 0x10d39,
 0x10e60, 0x10e7e,
+0x10f00, 0x10f27,
+0x10f30, 0x10f59,
 0x11000, 0x1104d,
 0x11052, 0x1106f,
 0x1107f, 0x110c1,
+0x110cd, 0x110cd,
 0x110d0, 0x110e8,
 0x110f0, 0x110f9,
 0x11100, 0x11134,
-0x11136, 0x11143,
+0x11136, 0x11146,
 0x11150, 0x11176,
 0x11180, 0x111cd,
 0x111d0, 0x111df,
 0x111e1, 0x111f4,
 0x11200, 0x11211,
-0x11213, 0x1123d,
+0x11213, 0x1123e,
 0x11280, 0x11286,
 0x11288, 0x11288,
 0x1128a, 0x1128d,
@@ -2469,7 +2582,7 @@ CR_Print[] = { 615,
 0x1132a, 0x11330,
 0x11332, 0x11333,
 0x11335, 0x11339,
-0x1133c, 0x11344,
+0x1133b, 0x11344,
 0x11347, 0x11348,
 0x1134b, 0x1134d,
 0x11350, 0x11350,
@@ -2477,20 +2590,49 @@ CR_Print[] = { 615,
 0x1135d, 0x11363,
 0x11366, 0x1136c,
 0x11370, 0x11374,
+0x11400, 0x11459,
+0x1145b, 0x1145b,
+0x1145d, 0x1145e,
 0x11480, 0x114c7,
 0x114d0, 0x114d9,
 0x11580, 0x115b5,
 0x115b8, 0x115dd,
 0x11600, 0x11644,
 0x11650, 0x11659,
+0x11660, 0x1166c,
 0x11680, 0x116b7,
 0x116c0, 0x116c9,
-0x11700, 0x11719,
+0x11700, 0x1171a,
 0x1171d, 0x1172b,
 0x11730, 0x1173f,
+0x11800, 0x1183b,
 0x118a0, 0x118f2,
 0x118ff, 0x118ff,
+0x11a00, 0x11a47,
+0x11a50, 0x11a83,
+0x11a86, 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,
 0x12000, 0x12399,
 0x12400, 0x1246e,
 0x12470, 0x12474,
@@ -2508,10 +2650,15 @@ CR_Print[] = { 615,
 0x16b5b, 0x16b61,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e9a,
 0x16f00, 0x16f44,
 0x16f50, 0x16f7e,
 0x16f8f, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -2521,8 +2668,9 @@ CR_Print[] = { 615,
 0x1d100, 0x1d126,
 0x1d129, 0x1d1e8,
 0x1d200, 0x1d245,
+0x1d2e0, 0x1d2f3,
 0x1d300, 0x1d356,
-0x1d360, 0x1d371,
+0x1d360, 0x1d378,
 0x1d400, 0x1d454,
 0x1d456, 0x1d49c,
 0x1d49e, 0x1d49f,
@@ -2546,8 +2694,17 @@ CR_Print[] = { 615,
 0x1d7ce, 0x1da8b,
 0x1da9b, 0x1da9f,
 0x1daa1, 0x1daaf,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e800, 0x1e8c4,
 0x1e8c7, 0x1e8d6,
+0x1e900, 0x1e94a,
+0x1e950, 0x1e959,
+0x1e95e, 0x1e95f,
+0x1ec71, 0x1ecb4,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -2589,32 +2746,38 @@ CR_Print[] = { 615,
 0x1f0c1, 0x1f0cf,
 0x1f0d1, 0x1f0f5,
 0x1f100, 0x1f10c,
-0x1f110, 0x1f12e,
-0x1f130, 0x1f16b,
-0x1f170, 0x1f19a,
+0x1f110, 0x1f16b,
+0x1f170, 0x1f1ac,
 0x1f1e6, 0x1f202,
-0x1f210, 0x1f23a,
+0x1f210, 0x1f23b,
 0x1f240, 0x1f248,
 0x1f250, 0x1f251,
-0x1f300, 0x1f579,
-0x1f57b, 0x1f5a3,
-0x1f5a5, 0x1f6d0,
+0x1f260, 0x1f265,
+0x1f300, 0x1f6d4,
 0x1f6e0, 0x1f6ec,
-0x1f6f0, 0x1f6f3,
+0x1f6f0, 0x1f6f9,
 0x1f700, 0x1f773,
-0x1f780, 0x1f7d4,
+0x1f780, 0x1f7d8,
 0x1f800, 0x1f80b,
 0x1f810, 0x1f847,
 0x1f850, 0x1f859,
 0x1f860, 0x1f887,
 0x1f890, 0x1f8ad,
-0x1f910, 0x1f918,
-0x1f980, 0x1f984,
-0x1f9c0, 0x1f9c0,
+0x1f900, 0x1f90b,
+0x1f910, 0x1f93e,
+0x1f940, 0x1f970,
+0x1f973, 0x1f976,
+0x1f97a, 0x1f97a,
+0x1f97c, 0x1f9a2,
+0x1f9b0, 0x1f9b9,
+0x1f9c0, 0x1f9c2,
+0x1f9d0, 0x1f9ff,
+0x1fa60, 0x1fa6d,
 0x20000, 0x2a6d6,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 0x2f800, 0x2fa1d,
 0xe0001, 0xe0001,
 0xe0020, 0xe007f,
@@ -2625,7 +2788,7 @@ CR_Print[] = { 615,
 
 /* PROPERTY: 'Punct': POSIX [[:Punct:]] */
 static const OnigCodePoint
-CR_Punct[] = { 161,
+CR_Punct[] = { 178,
 0x0021, 0x0023,
 0x0025, 0x002a,
 0x002c, 0x002f,
@@ -2662,7 +2825,10 @@ CR_Punct[] = { 161,
 0x085e, 0x085e,
 0x0964, 0x0965,
 0x0970, 0x0970,
+0x09fd, 0x09fd,
+0x0a76, 0x0a76,
 0x0af0, 0x0af0,
+0x0c84, 0x0c84,
 0x0df4, 0x0df4,
 0x0e4f, 0x0e4f,
 0x0e5a, 0x0e5b,
@@ -2711,7 +2877,7 @@ CR_Punct[] = { 161,
 0x2cfe, 0x2cff,
 0x2d70, 0x2d70,
 0x2e00, 0x2e2e,
-0x2e30, 0x2e42,
+0x2e30, 0x2e4e,
 0x3001, 0x3003,
 0x3008, 0x3011,
 0x3014, 0x301f,
@@ -2765,28 +2931,42 @@ CR_Punct[] = { 161,
 0x10af0, 0x10af6,
 0x10b39, 0x10b3f,
 0x10b99, 0x10b9c,
+0x10f55, 0x10f59,
 0x11047, 0x1104d,
 0x110bb, 0x110bc,
 0x110be, 0x110c1,
 0x11140, 0x11143,
 0x11174, 0x11175,
-0x111c5, 0x111c9,
+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,
+0x11a3f, 0x11a46,
+0x11a9a, 0x11a9c,
+0x11a9e, 0x11aa2,
+0x11c41, 0x11c45,
+0x11c70, 0x11c71,
+0x11ef7, 0x11ef8,
 0x12470, 0x12474,
 0x16a6e, 0x16a6f,
 0x16af5, 0x16af5,
 0x16b37, 0x16b3b,
 0x16b44, 0x16b44,
+0x16e97, 0x16e9a,
 0x1bc9f, 0x1bc9f,
 0x1da87, 0x1da8b,
+0x1e95e, 0x1e95f,
 }; /* END of CR_Punct */
 
 /* PROPERTY: 'Space': POSIX [[:Space:]] */
@@ -2806,7 +2986,7 @@ CR_Space[] = { 10,
 
 /* PROPERTY: 'Upper': POSIX [[:Upper:]] */
 static const OnigCodePoint
-CR_Upper[] = { 630,
+CR_Upper[] = { 636,
 0x0041, 0x005a,
 0x00c0, 0x00d6,
 0x00d8, 0x00de,
@@ -3083,6 +3263,8 @@ CR_Upper[] = { 630,
 0x10c7, 0x10c7,
 0x10cd, 0x10cd,
 0x13a0, 0x13f5,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1e00, 0x1e00,
 0x1e02, 0x1e02,
 0x1e04, 0x1e04,
@@ -3396,13 +3578,16 @@ CR_Upper[] = { 630,
 0xa7a4, 0xa7a4,
 0xa7a6, 0xa7a6,
 0xa7a8, 0xa7a8,
-0xa7aa, 0xa7ad,
+0xa7aa, 0xa7ae,
 0xa7b0, 0xa7b4,
 0xa7b6, 0xa7b6,
+0xa7b8, 0xa7b8,
 0xff21, 0xff3a,
 0x10400, 0x10427,
+0x104b0, 0x104d3,
 0x10c80, 0x10cb2,
 0x118a0, 0x118bf,
+0x16e40, 0x16e5f,
 0x1d400, 0x1d419,
 0x1d434, 0x1d44d,
 0x1d468, 0x1d481,
@@ -3434,6 +3619,7 @@ CR_Upper[] = { 630,
 0x1d756, 0x1d76e,
 0x1d790, 0x1d7a8,
 0x1d7ca, 0x1d7ca,
+0x1e900, 0x1e921,
 0x1f130, 0x1f149,
 0x1f150, 0x1f169,
 0x1f170, 0x1f189,
@@ -3449,7 +3635,7 @@ CR_XDigit[] = { 3,
 
 /* PROPERTY: 'Word': POSIX [[:Word:]] */
 static const OnigCodePoint
-CR_Word[] = { 654,
+CR_Word[] = { 710,
 0x0030, 0x0039,
 0x0041, 0x005a,
 0x005f, 0x005f,
@@ -3477,14 +3663,14 @@ CR_Word[] = { 654,
 0x0483, 0x052f,
 0x0531, 0x0556,
 0x0559, 0x0559,
-0x0561, 0x0587,
+0x0560, 0x0588,
 0x0591, 0x05bd,
 0x05bf, 0x05bf,
 0x05c1, 0x05c2,
 0x05c4, 0x05c5,
 0x05c7, 0x05c7,
 0x05d0, 0x05ea,
-0x05f0, 0x05f2,
+0x05ef, 0x05f2,
 0x0610, 0x061a,
 0x0620, 0x0669,
 0x066e, 0x06d3,
@@ -3496,9 +3682,13 @@ CR_Word[] = { 654,
 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,
@@ -3515,6 +3705,8 @@ CR_Word[] = { 654,
 0x09dc, 0x09dd,
 0x09df, 0x09e3,
 0x09e6, 0x09f1,
+0x09fc, 0x09fc,
+0x09fe, 0x09fe,
 0x0a01, 0x0a03,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
@@ -3544,7 +3736,7 @@ CR_Word[] = { 654,
 0x0ad0, 0x0ad0,
 0x0ae0, 0x0ae3,
 0x0ae6, 0x0aef,
-0x0af9, 0x0af9,
+0x0af9, 0x0aff,
 0x0b01, 0x0b03,
 0x0b05, 0x0b0c,
 0x0b0f, 0x0b10,
@@ -3576,8 +3768,7 @@ CR_Word[] = { 654,
 0x0bd0, 0x0bd0,
 0x0bd7, 0x0bd7,
 0x0be6, 0x0bef,
-0x0c00, 0x0c03,
-0x0c05, 0x0c0c,
+0x0c00, 0x0c0c,
 0x0c0e, 0x0c10,
 0x0c12, 0x0c28,
 0x0c2a, 0x0c39,
@@ -3588,7 +3779,7 @@ CR_Word[] = { 654,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c63,
 0x0c66, 0x0c6f,
-0x0c81, 0x0c83,
+0x0c80, 0x0c83,
 0x0c85, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
@@ -3602,14 +3793,13 @@ CR_Word[] = { 654,
 0x0ce0, 0x0ce3,
 0x0ce6, 0x0cef,
 0x0cf1, 0x0cf2,
-0x0d01, 0x0d03,
+0x0d00, 0x0d03,
 0x0d05, 0x0d0c,
 0x0d0e, 0x0d10,
-0x0d12, 0x0d3a,
-0x0d3d, 0x0d44,
+0x0d12, 0x0d44,
 0x0d46, 0x0d48,
 0x0d4a, 0x0d4e,
-0x0d57, 0x0d57,
+0x0d54, 0x0d57,
 0x0d5f, 0x0d63,
 0x0d66, 0x0d6f,
 0x0d7a, 0x0d7f,
@@ -3702,7 +3892,7 @@ CR_Word[] = { 654,
 0x17e0, 0x17e9,
 0x180b, 0x180d,
 0x1810, 0x1819,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -3727,11 +3917,13 @@ CR_Word[] = { 654,
 0x1c00, 0x1c37,
 0x1c40, 0x1c49,
 0x1c4d, 0x1c7d,
+0x1c80, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1cd0, 0x1cd2,
-0x1cd4, 0x1cf6,
-0x1cf8, 0x1cf9,
-0x1d00, 0x1df5,
-0x1dfc, 0x1f15,
+0x1cd4, 0x1cf9,
+0x1d00, 0x1df9,
+0x1dfb, 0x1f15,
 0x1f18, 0x1f1d,
 0x1f20, 0x1f45,
 0x1f48, 0x1f4d,
@@ -3800,12 +3992,12 @@ CR_Word[] = { 654,
 0x309d, 0x309f,
 0x30a1, 0x30fa,
 0x30fc, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x31a0, 0x31ba,
 0x31f0, 0x31ff,
 0x3400, 0x4db5,
-0x4e00, 0x9fd5,
+0x4e00, 0x9fef,
 0xa000, 0xa48c,
 0xa4d0, 0xa4fd,
 0xa500, 0xa60c,
@@ -3815,16 +4007,14 @@ CR_Word[] = { 654,
 0xa67f, 0xa6f1,
 0xa717, 0xa71f,
 0xa722, 0xa788,
-0xa78b, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa78b, 0xa7b9,
 0xa7f7, 0xa827,
 0xa840, 0xa873,
-0xa880, 0xa8c4,
+0xa880, 0xa8c5,
 0xa8d0, 0xa8d9,
 0xa8e0, 0xa8f7,
 0xa8fb, 0xa8fb,
-0xa8fd, 0xa8fd,
-0xa900, 0xa92d,
+0xa8fd, 0xa92d,
 0xa930, 0xa953,
 0xa960, 0xa97c,
 0xa980, 0xa9c0,
@@ -3894,7 +4084,7 @@ CR_Word[] = { 654,
 0x102a0, 0x102d0,
 0x102e0, 0x102e0,
 0x10300, 0x1031f,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x1037a,
 0x10380, 0x1039d,
 0x103a0, 0x103c3,
@@ -3902,6 +4092,8 @@ CR_Word[] = { 654,
 0x103d1, 0x103d5,
 0x10400, 0x1049d,
 0x104a0, 0x104a9,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x10600, 0x10736,
@@ -3925,7 +4117,7 @@ CR_Word[] = { 654,
 0x10a05, 0x10a06,
 0x10a0c, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a38, 0x10a3a,
 0x10a3f, 0x10a3f,
 0x10a60, 0x10a7c,
@@ -3939,6 +4131,11 @@ CR_Word[] = { 654,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
+0x10d00, 0x10d27,
+0x10d30, 0x10d39,
+0x10f00, 0x10f1c,
+0x10f27, 0x10f27,
+0x10f30, 0x10f50,
 0x11000, 0x11046,
 0x11066, 0x1106f,
 0x1107f, 0x110ba,
@@ -3946,14 +4143,16 @@ CR_Word[] = { 654,
 0x110f0, 0x110f9,
 0x11100, 0x11134,
 0x11136, 0x1113f,
+0x11144, 0x11146,
 0x11150, 0x11173,
 0x11176, 0x11176,
 0x11180, 0x111c4,
-0x111ca, 0x111cc,
+0x111c9, 0x111cc,
 0x111d0, 0x111da,
 0x111dc, 0x111dc,
 0x11200, 0x11211,
 0x11213, 0x11237,
+0x1123e, 0x1123e,
 0x11280, 0x11286,
 0x11288, 0x11288,
 0x1128a, 0x1128d,
@@ -3968,7 +4167,7 @@ CR_Word[] = { 654,
 0x1132a, 0x11330,
 0x11332, 0x11333,
 0x11335, 0x11339,
-0x1133c, 0x11344,
+0x1133b, 0x11344,
 0x11347, 0x11348,
 0x1134b, 0x1134d,
 0x11350, 0x11350,
@@ -3976,6 +4175,9 @@ CR_Word[] = { 654,
 0x1135d, 0x11363,
 0x11366, 0x1136c,
 0x11370, 0x11374,
+0x11400, 0x1144a,
+0x11450, 0x11459,
+0x1145e, 0x1145e,
 0x11480, 0x114c5,
 0x114c7, 0x114c7,
 0x114d0, 0x114d9,
@@ -3987,12 +4189,39 @@ CR_Word[] = { 654,
 0x11650, 0x11659,
 0x11680, 0x116b7,
 0x116c0, 0x116c9,
-0x11700, 0x11719,
+0x11700, 0x1171a,
 0x1171d, 0x1172b,
 0x11730, 0x11739,
+0x11800, 0x1183a,
 0x118a0, 0x118e9,
 0x118ff, 0x118ff,
+0x11a00, 0x11a3e,
+0x11a47, 0x11a47,
+0x11a50, 0x11a83,
+0x11a86, 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,
@@ -4008,10 +4237,15 @@ CR_Word[] = { 654,
 0x16b50, 0x16b59,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e7f,
 0x16f00, 0x16f44,
 0x16f50, 0x16f7e,
 0x16f8f, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -4060,8 +4294,15 @@ CR_Word[] = { 654,
 0x1da84, 0x1da84,
 0x1da9b, 0x1da9f,
 0x1daa1, 0x1daaf,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e800, 0x1e8c4,
 0x1e8d0, 0x1e8d6,
+0x1e900, 0x1e94a,
+0x1e950, 0x1e959,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -4102,13 +4343,14 @@ CR_Word[] = { 654,
 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[] = { 648,
+CR_Alnum[] = { 713,
 0x0030, 0x0039,
 0x0041, 0x005a,
 0x0061, 0x007a,
@@ -4136,14 +4378,14 @@ CR_Alnum[] = { 648,
 0x048a, 0x052f,
 0x0531, 0x0556,
 0x0559, 0x0559,
-0x0561, 0x0587,
+0x0560, 0x0588,
 0x05b0, 0x05bd,
 0x05bf, 0x05bf,
 0x05c1, 0x05c2,
 0x05c4, 0x05c5,
 0x05c7, 0x05c7,
 0x05d0, 0x05ea,
-0x05f0, 0x05f2,
+0x05ef, 0x05f2,
 0x0610, 0x061a,
 0x0620, 0x0657,
 0x0659, 0x0669,
@@ -4160,7 +4402,10 @@ CR_Alnum[] = { 648,
 0x0800, 0x0817,
 0x081a, 0x082c,
 0x0840, 0x0858,
+0x0860, 0x086a,
 0x08a0, 0x08b4,
+0x08b6, 0x08bd,
+0x08d4, 0x08df,
 0x08e3, 0x08e9,
 0x08f0, 0x093b,
 0x093d, 0x094c,
@@ -4182,6 +4427,7 @@ CR_Alnum[] = { 648,
 0x09dc, 0x09dd,
 0x09df, 0x09e3,
 0x09e6, 0x09f1,
+0x09fc, 0x09fc,
 0x0a01, 0x0a03,
 0x0a05, 0x0a0a,
 0x0a0f, 0x0a10,
@@ -4210,7 +4456,7 @@ CR_Alnum[] = { 648,
 0x0ad0, 0x0ad0,
 0x0ae0, 0x0ae3,
 0x0ae6, 0x0aef,
-0x0af9, 0x0af9,
+0x0af9, 0x0afc,
 0x0b01, 0x0b03,
 0x0b05, 0x0b0c,
 0x0b0f, 0x0b10,
@@ -4254,7 +4500,7 @@ CR_Alnum[] = { 648,
 0x0c58, 0x0c5a,
 0x0c60, 0x0c63,
 0x0c66, 0x0c6f,
-0x0c81, 0x0c83,
+0x0c80, 0x0c83,
 0x0c85, 0x0c8c,
 0x0c8e, 0x0c90,
 0x0c92, 0x0ca8,
@@ -4268,7 +4514,7 @@ CR_Alnum[] = { 648,
 0x0ce0, 0x0ce3,
 0x0ce6, 0x0cef,
 0x0cf1, 0x0cf2,
-0x0d01, 0x0d03,
+0x0d00, 0x0d03,
 0x0d05, 0x0d0c,
 0x0d0e, 0x0d10,
 0x0d12, 0x0d3a,
@@ -4276,7 +4522,7 @@ CR_Alnum[] = { 648,
 0x0d46, 0x0d48,
 0x0d4a, 0x0d4c,
 0x0d4e, 0x0d4e,
-0x0d57, 0x0d57,
+0x0d54, 0x0d57,
 0x0d5f, 0x0d63,
 0x0d66, 0x0d6f,
 0x0d7a, 0x0d7f,
@@ -4371,7 +4617,7 @@ CR_Alnum[] = { 648,
 0x17dc, 0x17dc,
 0x17e0, 0x17e9,
 0x1810, 0x1819,
-0x1820, 0x1877,
+0x1820, 0x1878,
 0x1880, 0x18aa,
 0x18b0, 0x18f5,
 0x1900, 0x191e,
@@ -4398,6 +4644,9 @@ CR_Alnum[] = { 648,
 0x1c00, 0x1c35,
 0x1c40, 0x1c49,
 0x1c4d, 0x1c7d,
+0x1c80, 0x1c88,
+0x1c90, 0x1cba,
+0x1cbd, 0x1cbf,
 0x1ce9, 0x1cec,
 0x1cee, 0x1cf3,
 0x1cf5, 0x1cf6,
@@ -4469,12 +4718,12 @@ CR_Alnum[] = { 648,
 0x309d, 0x309f,
 0x30a1, 0x30fa,
 0x30fc, 0x30ff,
-0x3105, 0x312d,
+0x3105, 0x312f,
 0x3131, 0x318e,
 0x31a0, 0x31ba,
 0x31f0, 0x31ff,
 0x3400, 0x4db5,
-0x4e00, 0x9fd5,
+0x4e00, 0x9fef,
 0xa000, 0xa48c,
 0xa4d0, 0xa4fd,
 0xa500, 0xa60c,
@@ -4484,18 +4733,18 @@ CR_Alnum[] = { 648,
 0xa67f, 0xa6ef,
 0xa717, 0xa71f,
 0xa722, 0xa788,
-0xa78b, 0xa7ad,
-0xa7b0, 0xa7b7,
+0xa78b, 0xa7b9,
 0xa7f7, 0xa801,
 0xa803, 0xa805,
 0xa807, 0xa80a,
 0xa80c, 0xa827,
 0xa840, 0xa873,
 0xa880, 0xa8c3,
+0xa8c5, 0xa8c5,
 0xa8d0, 0xa8d9,
 0xa8f2, 0xa8f7,
 0xa8fb, 0xa8fb,
-0xa8fd, 0xa8fd,
+0xa8fd, 0xa8fe,
 0xa900, 0xa92a,
 0xa930, 0xa952,
 0xa960, 0xa97c,
@@ -4563,7 +4812,7 @@ CR_Alnum[] = { 648,
 0x10280, 0x1029c,
 0x102a0, 0x102d0,
 0x10300, 0x1031f,
-0x10330, 0x1034a,
+0x1032d, 0x1034a,
 0x10350, 0x1037a,
 0x10380, 0x1039d,
 0x103a0, 0x103c3,
@@ -4571,6 +4820,8 @@ CR_Alnum[] = { 648,
 0x103d1, 0x103d5,
 0x10400, 0x1049d,
 0x104a0, 0x104a9,
+0x104b0, 0x104d3,
+0x104d8, 0x104fb,
 0x10500, 0x10527,
 0x10530, 0x10563,
 0x10600, 0x10736,
@@ -4594,7 +4845,7 @@ CR_Alnum[] = { 648,
 0x10a05, 0x10a06,
 0x10a0c, 0x10a13,
 0x10a15, 0x10a17,
-0x10a19, 0x10a33,
+0x10a19, 0x10a35,
 0x10a60, 0x10a7c,
 0x10a80, 0x10a9c,
 0x10ac0, 0x10ac7,
@@ -4606,6 +4857,11 @@ CR_Alnum[] = { 648,
 0x10c00, 0x10c48,
 0x10c80, 0x10cb2,
 0x10cc0, 0x10cf2,
+0x10d00, 0x10d27,
+0x10d30, 0x10d39,
+0x10f00, 0x10f1c,
+0x10f27, 0x10f27,
+0x10f30, 0x10f45,
 0x11000, 0x11045,
 0x11066, 0x1106f,
 0x11082, 0x110b8,
@@ -4613,6 +4869,7 @@ CR_Alnum[] = { 648,
 0x110f0, 0x110f9,
 0x11100, 0x11132,
 0x11136, 0x1113f,
+0x11144, 0x11146,
 0x11150, 0x11172,
 0x11176, 0x11176,
 0x11180, 0x111bf,
@@ -4622,6 +4879,7 @@ CR_Alnum[] = { 648,
 0x11200, 0x11211,
 0x11213, 0x11234,
 0x11237, 0x11237,
+0x1123e, 0x1123e,
 0x11280, 0x11286,
 0x11288, 0x11288,
 0x1128a, 0x1128d,
@@ -4642,6 +4900,10 @@ CR_Alnum[] = { 648,
 0x11350, 0x11350,
 0x11357, 0x11357,
 0x1135d, 0x11363,
+0x11400, 0x11441,
+0x11443, 0x11445,
+0x11447, 0x1144a,
+0x11450, 0x11459,
 0x11480, 0x114c1,
 0x114c4, 0x114c5,
 0x114c7, 0x114c7,
@@ -4655,12 +4917,43 @@ CR_Alnum[] = { 648,
 0x11650, 0x11659,
 0x11680, 0x116b5,
 0x116c0, 0x116c9,
-0x11700, 0x11719,
+0x11700, 0x1171a,
 0x1171d, 0x1172a,
 0x11730, 0x11739,
+0x11800, 0x11838,
 0x118a0, 0x118e9,
 0x118ff, 0x118ff,
+0x11a00, 0x11a32,
+0x11a35, 0x11a3e,
+0x11a50, 0x11a83,
+0x11a86, 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,
@@ -4675,10 +4968,15 @@ CR_Alnum[] = { 648,
 0x16b50, 0x16b59,
 0x16b63, 0x16b77,
 0x16b7d, 0x16b8f,
+0x16e40, 0x16e7f,
 0x16f00, 0x16f44,
 0x16f50, 0x16f7e,
 0x16f93, 0x16f9f,
-0x1b000, 0x1b001,
+0x16fe0, 0x16fe1,
+0x17000, 0x187f1,
+0x18800, 0x18af2,
+0x1b000, 0x1b11e,
+0x1b170, 0x1b2fb,
 0x1bc00, 0x1bc6a,
 0x1bc70, 0x1bc7c,
 0x1bc80, 0x1bc88,
@@ -4715,7 +5013,15 @@ CR_Alnum[] = { 648,
 0x1d7aa, 0x1d7c2,
 0x1d7c4, 0x1d7cb,
 0x1d7ce, 0x1d7ff,
+0x1e000, 0x1e006,
+0x1e008, 0x1e018,
+0x1e01b, 0x1e021,
+0x1e023, 0x1e024,
+0x1e026, 0x1e02a,
 0x1e800, 0x1e8c4,
+0x1e900, 0x1e943,
+0x1e947, 0x1e947,
+0x1e950, 0x1e959,
 0x1ee00, 0x1ee03,
 0x1ee05, 0x1ee1f,
 0x1ee21, 0x1ee22,
@@ -4756,6 +5062,7 @@ CR_Alnum[] = { 648,
 0x2a700, 0x2b734,
 0x2b740, 0x2b81d,
 0x2b820, 0x2cea1,
+0x2ceb0, 0x2ebe0,
 0x2f800, 0x2fa1d,
 }; /* END of CR_Alnum */
 
@@ -4823,7 +5130,7 @@ static unsigned char gperf_downcase[256] =
 #ifndef GPERF_CASE_STRNCMP
 #define GPERF_CASE_STRNCMP 1
 static int
-gperf_case_strncmp (register const char *s1, register const char *s2, register unsigned int n)
+gperf_case_strncmp (register const char *s1, register const char *s2, register size_t n)
 {
   for (; n > 0;)
     {
@@ -4848,7 +5155,7 @@ inline
 #endif
 #endif
 static unsigned int
-hash (register const char *str, register unsigned int len)
+hash (register const char *str, register size_t len)
 {
   static const unsigned char asso_values[] =
     {
@@ -4919,14 +5226,8 @@ static const struct unicode_prop_name_pool_t unicode_prop_name_pool_contents =
     "blank"
   };
 #define unicode_prop_name_pool ((const char *) &unicode_prop_name_pool_contents)
-#ifdef __GNUC__
-__inline
-#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
-const struct PoolPropertyNameCtype *
-unicode_lookup_property_name (register const char *str, register unsigned int len)
+static const struct PoolPropertyNameCtype *
+unicode_lookup_property_name (register const char *str, register size_t len)
 {
   static const struct PoolPropertyNameCtype wordlist[] =
     {
@@ -4965,9 +5266,9 @@ unicode_lookup_property_name (register const char *str, register unsigned int le
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
     {
-      register int key = hash (str, len);
+      register unsigned int key = hash (str, len);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           register int o = wordlist[key].name;
           if (o >= 0)
@@ -4984,7 +5285,21 @@ unicode_lookup_property_name (register const char *str, register unsigned int le
 
 
 
-#define PROPERTY_VERSION  8_0_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
index 15302caada8e0c4ddec158b290cebecfc899b4a7..b4c0318ed4fbfa007dc63880ddcdfc226fb84e0f 100644 (file)
@@ -1,21 +1,47 @@
 /* This file was converted by gperf_unfold_key_conv.py
       from gperf output file. */
-/* ANSI-C code produced by gperf version 3.0.4 */
-/* Command-line: gperf -n -C -T -c -t -j1 -L ANSI-C -F,-1,0 -N unicode_unfold_key unicode_unfold_key.gperf  */
+/* ANSI-C code produced by gperf version 3.1 */
+/* Command-line: /usr/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 1321
+#define TOTAL_KEYWORDS 1480
 #define MIN_WORD_LENGTH 3
 #define MAX_WORD_LENGTH 3
-#define MIN_HASH_VALUE 11
-#define MAX_HASH_VALUE 1544
-/* maximum key range = 1534, duplicates = 0 */
+#define MIN_HASH_VALUE 10
+#define MAX_HASH_VALUE 1993
+/* maximum key range = 1984, duplicates = 0 */
 
 #ifdef __GNUC__
 __inline
@@ -30,2782 +56,3122 @@ hash(OnigCodePoint codes[])
 {
   static const unsigned short asso_values[] =
     {
-         8,    6,    2,  124,    5,    1,   36, 1545, 1545, 1545,
-      1545, 1545, 1545,   11, 1545, 1545, 1545,   16, 1545, 1545,
-       562, 1545, 1545, 1545, 1545,   77, 1545, 1545, 1545, 1545,
-      1545,    0,    3, 1545,   61,  628, 1379,  206, 1378,  607,
-      1372,  597, 1399,  569, 1371,    4, 1365,  559, 1359,  548,
-      1353,  836, 1393,  830, 1345,  587, 1344,  581, 1336,  539,
-      1335,  530,  982,  521,  970,  818, 1389,  723, 1329,  351,
-      1320,  333, 1312,  293, 1311,  320, 1304,  176,  589,  311,
-      1165,  302, 1384, 1243,  579,  780,  173, 1230,  147, 1213,
-        75, 1219, 1296, 1009, 1293, 1282, 1267, 1217, 1030,  331,
-      1291, 1210, 1286,  998,  500,  993, 1359,  806, 1281,  510,
-      1048,  501,  662,  797,  754,  792,  372,  775,  290,  768,
-       228,  755,  292, 1159,  489, 1135,  267, 1229,  233, 1053,
-       222,  728,  159,  708,  484,  695,  155,  995,  247,  686,
-       859,  674,  747,  618,  561,  381,  313,  987,  167,  975,
-       165, 1279,  388, 1207,  157,  765,  900, 1007,  794,  476,
-        21, 1198, 1271,  490, 1265,  478, 1245,   18,    8,  253,
-      1188,  652,    7,  245, 1185,  415, 1256,  226, 1177,   54,
-      1169,  214, 1155,  195,  607,   42,  963,   30, 1147,  185,
-      1139,  465, 1129,  451, 1121,   86,  948,  136,  940,   76,
-       909,   66,  664,  126,  644,  116,  632,  106,  930,  166,
-       925,  149,  915,   96,  903,  390,  364,  283,  746,  273,
-      1098,  372, 1095,  265,  528,  361,  311,  897, 1195,  396,
-      1103,  425, 1094, 1088,  893,  887,  573,  407,  237, 1083,
-       934, 1145,  432, 1076,  679,  714,  956, 1112,  509,  880,
-        62,  873,  157,  864,  276, 1069,  112,  855,  156, 1063,
-      1545,  848,  152, 1057, 1545, 1047,  145, 1041,  144, 1035,
-        49, 1025,  142, 1256, 1545, 1239,  355,  342,   21, 1019,
-        14, 1233,  459,  843,  822,  740,   38,  553,   96,  448,
-         8
+         9,    5,    2,  214,  176,    1,  110, 1994, 1994, 1994,
+      1994, 1994, 1994,   13, 1994, 1994, 1994,   77, 1994, 1994,
+        71, 1994, 1994, 1994, 1994,   86, 1994, 1994, 1994,    7,
+      1994,    0,    3, 1994,   50,  560, 1509,  132, 1501,  552,
+      1492,  546, 1586,  538, 1491,    4, 1480,  518, 1475,  510,
+      1467,  879, 1578,  855, 1459,  527, 1426,  234, 1067,  497,
+      1458,  486, 1450,  352, 1436,  831, 1577,  783,  285,  639,
+      1576,  629, 1567,  575, 1566,  609, 1556,  567, 1425,  598,
+      1151,  587, 1064,  461,  668, 1035,  427, 1414,  160, 1411,
+        21, 1404, 1253, 1289, 1416, 1537,  482, 1402,  669, 1391,
+      1302, 1305, 1277, 1095, 1220, 1076,  261,  869, 1387,  475,
+      1340,  151,  327,  845,  859,  824,  731,  816,  539,  715,
+       212,  707,   83, 1297, 1046, 1278,  529, 1380,  520, 1352,
+       184, 1086,  235, 1073,  275, 1052,  193, 1258,    8, 1060,
+       655, 1030,  513, 1022,  393,  254,  344, 1265,  203, 1246,
+       193, 1548,   15, 1376,  120, 1545, 1591,  525, 1590,  232,
+      1583, 1365, 1465,  464, 1011,  451, 1353,   18,    6,  383,
+      1236,  802,    8,  438,  940,  163, 1533,  427,  858,  244,
+      1225,  360, 1212,  333,  575,  219, 1002,  206, 1209,  320,
+       735,  140, 1199,  410, 1188,   73,  973,  103,  965,   63,
+       944,   53,  791,  196,  788,  116,  695,   93,  921,   83,
+       930,  182,  762,   31,  685,  311,  913,  268,  671,   44,
+       906,  302, 1186,  293, 1180,  280, 1154,  885, 1354,  660,
+       760,  650, 1174, 1169,  402,  897,  641,  726, 1162, 1153,
+       622, 1316,  994, 1143,  664, 1134,  447,  173,  375, 1124,
+         0, 1111,  371,  956,  156, 1270,  147, 1117,  113,  504,
+      1994, 1105,  112, 1347, 1994, 1339,   75, 1335,   65, 1331,
+       591, 1096,   45, 1393, 1994, 1198,  239, 1324,   26,  984,
+        18, 1528,   40, 1517,  124,  421,   27,  904,   91,  137,
+        16
     };
   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)];
 }
 
-#ifdef __GNUC__
-__inline
-#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
 const struct ByUnfoldKey *
-unicode_unfold_key(OnigCodePoint code)
+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},
-      {0xffffffff, -1, 0},
 
-      {0x1040a, 3267, 1},
+      {0x1040a, 3420, 1},
+
+      {0x01d7, 444, 1},
+
+      {0x1fd7, 31, 3},
 
-      {0x1e0a, 1727, 1},
+      {0x1e0a, 1876, 1},
 
-      {0x040a, 1016, 1},
+      {0x040a, 1026, 1},
 
       {0x010a, 186, 1},
 
-      {0x1f0a, 2088, 1},
+      {0x1f0a, 2237, 1},
 
-      {0x2c0a, 2451, 1},
+      {0x2c0a, 2600, 1},
+
+      {0x1f85, 154, 2},
 
       {0x0189, 619, 1},
 
       {0x1f89, 134, 2},
 
-      {0x1f85, 154, 2},
-
-      {0x0389, 733, 1},
+      {0x2c67, 2720, 1},
 
-      {0x03ff, 724, 1},
+      {0x1c85, 951, 1},
 
-      {0xab89, 1523, 1},
+      {0xab85, 1660, 1},
 
-      {0xab85, 1511, 1},
+      {0x10c85, 3633, 1},
 
-      {0x10c89, 3384, 1},
+      {0xab89, 1672, 1},
 
-      {0x10c85, 3372, 1},
+      {0x10c89, 3645, 1},
 
-      {0x1e84, 1911, 1},
+      {0x1e84, 2060, 1},
 
-      {0x03f5, 752, 1},
+      {0x2c75, 2732, 1},
 
       {0x0184, 360, 1},
 
       {0x1f84, 149, 2},
 
-      {0x2c84, 2592, 1},
-
-      {0x017d, 351, 1},
-
-      {0x1ff3, 96, 2},
-
-      {0xab84, 1508, 1},
-
-      {0xa784, 3105, 1},
-
-      {0x10c84, 3369, 1},
-
-      {0xab7d, 1487, 1},
-
-      {0xa77d, 1706, 1},
-
-      {0x1e98, 38, 2},
-
-      {0x0498, 1106, 1},
-
-      {0x0198, 375, 1},
-
-      {0x1f98, 169, 2},
-
-      {0x2c98, 2622, 1},
-
-      {0x0398, 762, 1},
+      {0x2c84, 2741, 1},
 
-      {0xa684, 2940, 1},
+      {0xab75, 1612, 1},
 
-      {0xab98, 1568, 1},
+      {0xa784, 3255, 1},
 
-      {0xa798, 3123, 1},
+      {0x1c84, 951, 1},
 
-      {0x10c98, 3429, 1},
+      {0xab84, 1657, 1},
 
-      {0x050a, 1277, 1},
+      {0x10c84, 3630, 1},
 
-      {0x1ffb, 2265, 1},
+      {0x104b2, 3516, 1},
 
-      {0x1e96, 16, 2},
+      {0x1ff3, 96, 2},
 
-      {0x0496, 1103, 1},
+      {0x1ffb, 2414, 1},
 
-      {0x0196, 652, 1},
+      {0x1eb2, 2114, 1},
 
-      {0x1f96, 199, 2},
+      {0x04b2, 1156, 1},
 
-      {0x2c96, 2619, 1},
+      {0x01b2, 697, 1},
 
-      {0x0396, 756, 1},
+      {0x1fb2, 249, 2},
 
-      {0xa698, 2970, 1},
+      {0x2cb2, 2810, 1},
 
-      {0xab96, 1562, 1},
+      {0xa684, 3090, 1},
 
-      {0xa796, 3120, 1},
+      {0xa7b2, 706, 1},
 
-      {0x10c96, 3423, 1},
+      {0x1cb2, 1561, 1},
 
-      {0x1feb, 2259, 1},
+      {0xabb2, 1795, 1},
 
-      {0x2ceb, 2736, 1},
+      {0x10cb2, 3768, 1},
 
-      {0x1e90, 1929, 1},
+      {0x104b8, 3534, 1},
 
-      {0x0490, 1094, 1},
+      {0x01f7, 414, 1},
 
-      {0x0190, 628, 1},
+      {0x1ff7, 67, 3},
 
-      {0x1f90, 169, 2},
+      {0x1eb8, 2123, 1},
 
-      {0x2c90, 2610, 1},
+      {0x04b8, 1165, 1},
 
-      {0x0390, 25, 3},
+      {0x01b8, 408, 1},
 
-      {0xa696, 2967, 1},
+      {0x1fb8, 2417, 1},
 
-      {0xab90, 1544, 1},
+      {0x2cb8, 2819, 1},
 
-      {0xa790, 3114, 1},
+      {0x2ced, 2888, 1},
 
-      {0x10c90, 3405, 1},
+      {0xa7b8, 3306, 1},
 
-      {0x01d7, 444, 1},
+      {0x1cb8, 1579, 1},
 
-      {0x1fd7, 31, 3},
+      {0xabb8, 1813, 1},
 
-      {0x1ea6, 1947, 1},
+      {0x1ea6, 2096, 1},
 
-      {0x04a6, 1127, 1},
+      {0x04a6, 1138, 1},
 
-      {0x01a6, 676, 1},
+      {0x01a6, 679, 1},
 
       {0x1fa6, 239, 2},
 
-      {0x2ca6, 2643, 1},
+      {0x2ca6, 2792, 1},
 
-      {0x03a6, 810, 1},
+      {0x2167, 2462, 1},
 
-      {0xa690, 2958, 1},
+      {0xa7a6, 3294, 1},
 
-      {0xaba6, 1610, 1},
+      {0x1ca6, 1525, 1},
 
-      {0xa7a6, 3144, 1},
+      {0xaba6, 1759, 1},
 
-      {0x10ca6, 3471, 1},
+      {0x10ca6, 3732, 1},
 
-      {0x1ea4, 1944, 1},
+      {0x1ea4, 2093, 1},
 
-      {0x04a4, 1124, 1},
+      {0x04a4, 1135, 1},
 
       {0x01a4, 390, 1},
 
       {0x1fa4, 229, 2},
 
-      {0x2ca4, 2640, 1},
+      {0x2ca4, 2789, 1},
 
-      {0x03a4, 804, 1},
+      {0x1fe9, 2432, 1},
 
-      {0x10a6, 2763, 1},
+      {0xa7a4, 3291, 1},
 
-      {0xaba4, 1604, 1},
+      {0x1ca4, 1519, 1},
 
-      {0xa7a4, 3141, 1},
+      {0xaba4, 1753, 1},
 
-      {0x10ca4, 3465, 1},
+      {0x10ca4, 3726, 1},
 
-      {0x1ea0, 1938, 1},
+      {0x1ea0, 2087, 1},
 
-      {0x04a0, 1118, 1},
+      {0x04a0, 1129, 1},
 
       {0x01a0, 384, 1},
 
       {0x1fa0, 209, 2},
 
-      {0x2ca0, 2634, 1},
+      {0x2ca0, 2783, 1},
 
-      {0x03a0, 792, 1},
+      {0x1fe7, 47, 3},
 
-      {0x10a4, 2757, 1},
+      {0xa7a0, 3285, 1},
 
-      {0xaba0, 1592, 1},
+      {0x1ca0, 1507, 1},
 
-      {0xa7a0, 3135, 1},
+      {0xaba0, 1741, 1},
 
-      {0x10ca0, 3453, 1},
+      {0x10ca0, 3714, 1},
 
-      {0x1eb2, 1965, 1},
+      {0x1eae, 2108, 1},
 
-      {0x04b2, 1145, 1},
+      {0x04ae, 1150, 1},
 
-      {0x01b2, 694, 1},
+      {0x01ae, 688, 1},
 
-      {0x1fb2, 249, 2},
+      {0x1fae, 239, 2},
 
-      {0x2cb2, 2661, 1},
+      {0x2cae, 2804, 1},
 
-      {0x03fd, 718, 1},
+      {0x0057, 65, 1},
 
-      {0x10a0, 2745, 1},
+      {0xa7ae, 655, 1},
 
-      {0xabb2, 1646, 1},
+      {0x1cae, 1549, 1},
 
-      {0xa7b2, 703, 1},
+      {0xabae, 1783, 1},
 
-      {0x10cb2, 3507, 1},
+      {0x10cae, 3756, 1},
 
-      {0x1eac, 1956, 1},
+      {0x1eac, 2105, 1},
 
-      {0x04ac, 1136, 1},
+      {0x04ac, 1147, 1},
 
       {0x01ac, 396, 1},
 
       {0x1fac, 229, 2},
 
-      {0x2cac, 2652, 1},
-
-      {0x0537, 1352, 1},
+      {0x2cac, 2801, 1},
 
-      {0x10b2, 2799, 1},
-
-      {0xabac, 1628, 1},
+      {0x13fb, 1846, 1},
 
       {0xa7ac, 637, 1},
 
-      {0x10cac, 3489, 1},
-
-      {0x1eaa, 1953, 1},
+      {0x1cac, 1543, 1},
 
-      {0x04aa, 1133, 1},
+      {0xabac, 1777, 1},
 
-      {0x00dd, 162, 1},
-
-      {0x1faa, 219, 2},
+      {0x10cac, 3750, 1},
 
-      {0x2caa, 2649, 1},
+      {0x1ea2, 2090, 1},
 
-      {0x03aa, 824, 1},
+      {0x04a2, 1132, 1},
 
-      {0x10ac, 2781, 1},
+      {0x01a2, 387, 1},
 
-      {0xabaa, 1622, 1},
+      {0x1fa2, 219, 2},
 
-      {0xa7aa, 646, 1},
+      {0x2ca2, 2786, 1},
 
-      {0x10caa, 3483, 1},
+      {0x10b2, 2948, 1},
 
-      {0x1ea8, 1950, 1},
+      {0xa7a2, 3288, 1},
 
-      {0x04a8, 1130, 1},
+      {0x1ca2, 1513, 1},
 
-      {0x020a, 517, 1},
+      {0xaba2, 1747, 1},
 
-      {0x1fa8, 209, 2},
+      {0x10ca2, 3720, 1},
 
-      {0x2ca8, 2646, 1},
+      {0x118b2, 3825, 1},
 
-      {0x03a8, 817, 1},
+      {0x050a, 1288, 1},
 
-      {0x10aa, 2775, 1},
+      {0x1fe3, 41, 3},
 
-      {0xaba8, 1616, 1},
+      {0x1eaa, 2102, 1},
 
-      {0xa7a8, 3147, 1},
+      {0x04aa, 1144, 1},
 
-      {0x10ca8, 3477, 1},
+      {0x00df, 24, 2},
 
-      {0x1ea2, 1941, 1},
+      {0x1faa, 219, 2},
 
-      {0x04a2, 1121, 1},
+      {0x2caa, 2798, 1},
 
-      {0x01a2, 387, 1},
+      {0x10b8, 2966, 1},
 
-      {0x1fa2, 219, 2},
+      {0xa7aa, 646, 1},
 
-      {0x2ca2, 2637, 1},
+      {0x1caa, 1537, 1},
 
-      {0x118a6, 3528, 1},
+      {0xabaa, 1771, 1},
 
-      {0x10a8, 2769, 1},
+      {0x10caa, 3744, 1},
 
-      {0xaba2, 1598, 1},
+      {0x118b8, 3843, 1},
 
-      {0xa7a2, 3138, 1},
+      {0x1ff9, 2402, 1},
 
-      {0x10ca2, 3459, 1},
+      {0xab77, 1618, 1},
 
-      {0x2ced, 2739, 1},
+      {0x10402, 3396, 1},
 
-      {0x1fe9, 2283, 1},
+      {0x10a6, 2912, 1},
 
-      {0x1fe7, 47, 3},
+      {0x0537, 1363, 1},
 
-      {0x1eb0, 1962, 1},
+      {0x1e02, 1864, 1},
 
-      {0x04b0, 1142, 1},
+      {0x0402, 1002, 1},
 
-      {0x118a4, 3522, 1},
+      {0x0102, 174, 1},
 
-      {0x10a2, 2751, 1},
+      {0x118a6, 3789, 1},
 
-      {0x2cb0, 2658, 1},
+      {0x2c02, 2576, 1},
 
-      {0x03b0, 41, 3},
+      {0x1efe, 2228, 1},
 
-      {0x1fe3, 41, 3},
+      {0x04fe, 1270, 1},
 
-      {0xabb0, 1640, 1},
+      {0x01fe, 499, 1},
 
-      {0xa7b0, 706, 1},
+      {0x10a4, 2906, 1},
 
-      {0x10cb0, 3501, 1},
+      {0x049c, 1123, 1},
 
-      {0x01d9, 447, 1},
+      {0x019c, 664, 1},
 
-      {0x1fd9, 2277, 1},
+      {0x1f9c, 189, 2},
 
-      {0x118a0, 3510, 1},
+      {0x2c9c, 2777, 1},
 
-      {0x00df, 24, 2},
+      {0x118a4, 3783, 1},
 
-      {0x00d9, 150, 1},
+      {0xa79c, 3279, 1},
 
-      {0xab77, 1469, 1},
+      {0x1c9c, 1495, 1},
 
-      {0x10b0, 2793, 1},
+      {0xab9c, 1729, 1},
 
-      {0x1eae, 1959, 1},
+      {0x10c9c, 3702, 1},
 
-      {0x04ae, 1139, 1},
+      {0x10a0, 2894, 1},
 
-      {0x01ae, 685, 1},
+      {0x1e4c, 1975, 1},
 
-      {0x1fae, 239, 2},
+      {0x00dd, 162, 1},
 
-      {0x2cae, 2655, 1},
+      {0x014c, 279, 1},
 
-      {0x118b2, 3564, 1},
+      {0x1f4c, 2333, 1},
 
-      {0xab73, 1457, 1},
+      {0x118a0, 3771, 1},
 
-      {0xabae, 1634, 1},
+      {0x004c, 31, 1},
 
-      {0xab71, 1451, 1},
+      {0xa74c, 3186, 1},
 
-      {0x10cae, 3495, 1},
+      {0x01db, 450, 1},
 
-      {0x1e2a, 1775, 1},
+      {0x1fdb, 2396, 1},
 
-      {0x042a, 968, 1},
+      {0x10ae, 2936, 1},
 
-      {0x012a, 234, 1},
+      {0x00db, 156, 1},
 
-      {0x1f2a, 2130, 1},
+      {0x13fd, 1852, 1},
 
-      {0x2c2a, 2547, 1},
+      {0x1e8c, 2072, 1},
 
-      {0x118ac, 3546, 1},
+      {0x048c, 1099, 1},
 
-      {0x10ae, 2787, 1},
+      {0x118ae, 3813, 1},
 
-      {0x0535, 1346, 1},
+      {0x1f8c, 149, 2},
 
-      {0xa72a, 2988, 1},
+      {0x2c8c, 2753, 1},
 
-      {0x1e9a, 0, 2},
+      {0xff37, 3378, 1},
 
-      {0x049a, 1109, 1},
+      {0xa64c, 3033, 1},
 
-      {0xff37, 3225, 1},
+      {0x10ac, 2930, 1},
 
-      {0x1f9a, 179, 2},
+      {0xab8c, 1681, 1},
 
-      {0x2c9a, 2625, 1},
+      {0x10c8c, 3654, 1},
 
-      {0x039a, 772, 1},
+      {0x1ed4, 2165, 1},
 
-      {0x118aa, 3540, 1},
+      {0x04d4, 1207, 1},
 
-      {0xab9a, 1574, 1},
+      {0x118ac, 3807, 1},
 
-      {0xa79a, 3126, 1},
+      {0x24b8, 2498, 1},
 
-      {0x10c9a, 3435, 1},
+      {0x2cd4, 2861, 1},
 
-      {0x1e94, 1935, 1},
+      {0x00d4, 138, 1},
 
-      {0x0494, 1100, 1},
+      {0x104b0, 3510, 1},
 
-      {0x0194, 640, 1},
+      {0x10a2, 2900, 1},
 
-      {0x1f94, 189, 2},
+      {0xa68c, 3102, 1},
 
-      {0x2c94, 2616, 1},
+      {0x1eb0, 2111, 1},
 
-      {0x0394, 749, 1},
+      {0x04b0, 1153, 1},
 
-      {0x118a8, 3534, 1},
+      {0x0389, 736, 1},
 
-      {0xab94, 1556, 1},
+      {0x118a2, 3777, 1},
 
-      {0xa69a, 2973, 1},
+      {0x2cb0, 2807, 1},
 
-      {0x10c94, 3417, 1},
+      {0x1f5f, 2348, 1},
 
-      {0x10402, 3243, 1},
+      {0xa7b0, 709, 1},
 
-      {0x1e02, 1715, 1},
+      {0x1cb0, 1555, 1},
 
-      {0x0402, 992, 1},
+      {0xabb0, 1789, 1},
 
-      {0x0102, 174, 1},
+      {0x10cb0, 3762, 1},
 
-      {0x0533, 1340, 1},
+      {0x03ff, 727, 1},
 
-      {0x2c02, 2427, 1},
+      {0x10aa, 2924, 1},
 
-      {0x118a2, 3516, 1},
+      {0x03f5, 755, 1},
 
-      {0x052a, 1325, 1},
+      {0x13f9, 1840, 1},
 
-      {0xa694, 2964, 1},
+      {0x1ea8, 2099, 1},
 
-      {0x1e92, 1932, 1},
+      {0x04a8, 1141, 1},
 
-      {0x0492, 1097, 1},
+      {0x118aa, 3801, 1},
 
-      {0x2165, 2307, 1},
+      {0x1fa8, 209, 2},
 
-      {0x1f92, 179, 2},
+      {0x2ca8, 2795, 1},
 
-      {0x2c92, 2613, 1},
+      {0xab73, 1606, 1},
 
-      {0x0392, 742, 1},
+      {0xa7a8, 3297, 1},
 
-      {0x2161, 2295, 1},
+      {0x1ca8, 1531, 1},
 
-      {0xab92, 1550, 1},
+      {0xaba8, 1765, 1},
 
-      {0xa792, 3117, 1},
+      {0x10ca8, 3738, 1},
 
-      {0x10c92, 3411, 1},
+      {0x1e98, 38, 2},
 
-      {0x118b0, 3558, 1},
+      {0x0498, 1117, 1},
 
-      {0x1f5f, 2199, 1},
+      {0x0198, 375, 1},
 
-      {0x1e8e, 1926, 1},
+      {0x1f98, 169, 2},
 
-      {0x048e, 1091, 1},
+      {0x2c98, 2771, 1},
 
-      {0x018e, 453, 1},
+      {0xab71, 1600, 1},
 
-      {0x1f8e, 159, 2},
+      {0xa798, 3273, 1},
 
-      {0x2c8e, 2607, 1},
+      {0x1c98, 1483, 1},
 
-      {0x038e, 833, 1},
+      {0xab98, 1717, 1},
 
-      {0xa692, 2961, 1},
+      {0x10c98, 3690, 1},
 
-      {0xab8e, 1538, 1},
+      {0x03f7, 887, 1},
 
       {0x0055, 59, 1},
 
-      {0x10c8e, 3399, 1},
+      {0x020a, 517, 1},
 
-      {0x1f5d, 2196, 1},
+      {0x1e96, 16, 2},
 
-      {0x212a, 27, 1},
+      {0x0496, 1114, 1},
 
-      {0x04cb, 1181, 1},
+      {0x0196, 652, 1},
 
-      {0x01cb, 425, 1},
+      {0x1f96, 199, 2},
 
-      {0x1fcb, 2241, 1},
+      {0x2c96, 2768, 1},
 
-      {0x118ae, 3552, 1},
+      {0xa698, 3120, 1},
 
-      {0x0502, 1265, 1},
+      {0xa796, 3270, 1},
 
-      {0x00cb, 111, 1},
+      {0x1c96, 1477, 1},
 
-      {0xa68e, 2955, 1},
+      {0xab96, 1711, 1},
 
-      {0x1e8a, 1920, 1},
+      {0x10c96, 3684, 1},
 
-      {0x048a, 1085, 1},
+      {0x03a6, 813, 1},
 
-      {0x018a, 622, 1},
+      {0x16e57, 3936, 1},
 
-      {0x1f8a, 139, 2},
+      {0x10416, 3456, 1},
 
-      {0x2c8a, 2601, 1},
+      {0x1e7c, 2048, 1},
 
-      {0x038a, 736, 1},
+      {0x047c, 1087, 1},
 
-      {0x2c67, 2571, 1},
+      {0x1e16, 1894, 1},
 
-      {0xab8a, 1526, 1},
+      {0x0416, 913, 1},
 
-      {0x1e86, 1914, 1},
+      {0x0116, 204, 1},
 
-      {0x10c8a, 3387, 1},
+      {0xa696, 3117, 1},
 
-      {0x0186, 616, 1},
+      {0x2c16, 2636, 1},
 
-      {0x1f86, 159, 2},
+      {0x03a4, 807, 1},
 
-      {0x2c86, 2595, 1},
+      {0xab7c, 1633, 1},
 
-      {0x0386, 727, 1},
+      {0x01f1, 483, 1},
 
-      {0xff35, 3219, 1},
+      {0x0502, 1276, 1},
 
-      {0xab86, 1514, 1},
+      {0x2165, 2456, 1},
 
-      {0xa786, 3108, 1},
+      {0x1e90, 2078, 1},
 
-      {0x10c86, 3375, 1},
+      {0x0490, 1105, 1},
 
-      {0xa68a, 2949, 1},
+      {0x0190, 628, 1},
 
-      {0x0555, 1442, 1},
+      {0x1f90, 169, 2},
 
-      {0x1ebc, 1980, 1},
+      {0x2c90, 2759, 1},
 
-      {0x04bc, 1160, 1},
+      {0x03a0, 795, 1},
 
-      {0x01bc, 411, 1},
+      {0xa790, 3264, 1},
 
-      {0x1fbc, 62, 2},
+      {0x1c90, 1459, 1},
 
-      {0x2cbc, 2676, 1},
+      {0xab90, 1693, 1},
 
-      {0x1f5b, 2193, 1},
+      {0x10c90, 3666, 1},
 
-      {0xa686, 2943, 1},
+      {0x1e6e, 2027, 1},
 
-      {0xabbc, 1676, 1},
+      {0x046e, 1066, 1},
 
-      {0x1eb8, 1974, 1},
+      {0x016e, 330, 1},
 
-      {0x04b8, 1154, 1},
+      {0x1f6e, 2369, 1},
 
-      {0x01b8, 408, 1},
+      {0x2c6e, 667, 1},
 
-      {0x1fb8, 2268, 1},
+      {0x10b0, 2942, 1},
 
-      {0x2cb8, 2670, 1},
+      {0xa76e, 3237, 1},
 
-      {0x01db, 450, 1},
+      {0x054c, 1426, 1},
 
-      {0x1fdb, 2247, 1},
+      {0xa690, 3108, 1},
 
-      {0xabb8, 1664, 1},
+      {0x0147, 273, 1},
 
-      {0x10bc, 2829, 1},
+      {0x118b0, 3819, 1},
 
-      {0x00db, 156, 1},
+      {0x104b6, 3528, 1},
 
-      {0x1eb6, 1971, 1},
+      {0x0047, 18, 1},
 
-      {0x04b6, 1151, 1},
+      {0x03fd, 721, 1},
 
-      {0xff33, 3213, 1},
+      {0x1eb6, 2120, 1},
 
-      {0x1fb6, 58, 2},
+      {0x04b6, 1162, 1},
 
-      {0x2cb6, 2667, 1},
+      {0x0535, 1357, 1},
 
-      {0xff2a, 3186, 1},
+      {0x1fb6, 58, 2},
 
-      {0x10b8, 2817, 1},
+      {0x2cb6, 2816, 1},
 
-      {0xabb6, 1658, 1},
+      {0x10a8, 2918, 1},
 
-      {0xa7b6, 3153, 1},
+      {0xa7b6, 3303, 1},
 
-      {0x10426, 3351, 1},
+      {0x1cb6, 1573, 1},
 
-      {0x1e26, 1769, 1},
+      {0xabb6, 1807, 1},
 
-      {0x0426, 956, 1},
+      {0x104be, 3552, 1},
 
-      {0x0126, 228, 1},
+      {0x118a8, 3795, 1},
 
-      {0x0053, 52, 1},
+      {0x2c63, 1858, 1},
 
-      {0x2c26, 2535, 1},
+      {0x1ebe, 2132, 1},
 
-      {0x0057, 65, 1},
+      {0x04be, 1174, 1},
 
-      {0x10b6, 2811, 1},
+      {0x10421, 3489, 1},
 
-      {0x022a, 562, 1},
+      {0x1fbe, 770, 1},
 
-      {0xa726, 2982, 1},
+      {0x2cbe, 2828, 1},
 
-      {0x1e2e, 1781, 1},
+      {0x2161, 2444, 1},
 
-      {0x042e, 980, 1},
+      {0x0421, 947, 1},
 
-      {0x012e, 240, 1},
+      {0x1cbe, 1591, 1},
 
-      {0x1f2e, 2142, 1},
+      {0xabbe, 1831, 1},
 
-      {0x2c2e, 2559, 1},
-      {0xffffffff, -1, 0},
+      {0x2c21, 2669, 1},
 
-      {0x2167, 2313, 1},
+      {0x104bc, 3546, 1},
       {0xffffffff, -1, 0},
 
-      {0xa72e, 2994, 1},
+      {0x03aa, 827, 1},
 
-      {0x1e2c, 1778, 1},
+      {0x1ebc, 2129, 1},
 
-      {0x042c, 974, 1},
+      {0x04bc, 1171, 1},
 
-      {0x012c, 237, 1},
+      {0x01bc, 411, 1},
 
-      {0x1f2c, 2136, 1},
+      {0x1fbc, 62, 2},
 
-      {0x2c2c, 2553, 1},
+      {0x2cbc, 2825, 1},
 
-      {0x1f6f, 2223, 1},
+      {0x16e4c, 3903, 1},
 
-      {0x2c6f, 604, 1},
+      {0x104ba, 3540, 1},
 
-      {0xabbf, 1685, 1},
+      {0x03f9, 881, 1},
 
-      {0xa72c, 2991, 1},
+      {0xabbc, 1825, 1},
 
-      {0x1e28, 1772, 1},
+      {0x1eba, 2126, 1},
 
-      {0x0428, 962, 1},
+      {0x04ba, 1168, 1},
 
-      {0x0128, 231, 1},
+      {0x216e, 2483, 1},
 
-      {0x1f28, 2124, 1},
+      {0x1fba, 2375, 1},
 
-      {0x2c28, 2541, 1},
-      {0xffffffff, -1, 0},
+      {0x2cba, 2822, 1},
 
-      {0x0553, 1436, 1},
+      {0xff35, 3372, 1},
 
-      {0x10bf, 2838, 1},
+      {0x104b4, 3522, 1},
 
-      {0xa728, 2985, 1},
+      {0x1cba, 1585, 1},
 
-      {0x0526, 1319, 1},
+      {0xabba, 1819, 1},
 
-      {0x0202, 505, 1},
+      {0x1eb4, 2117, 1},
 
-      {0x1e40, 1808, 1},
+      {0x04b4, 1159, 1},
 
-      {0x10424, 3345, 1},
+      {0x03fe, 724, 1},
 
-      {0x1e24, 1766, 1},
+      {0x1fb4, 50, 2},
 
-      {0x0424, 950, 1},
+      {0x2cb4, 2813, 1},
 
-      {0x0124, 225, 1},
-      {0xffffffff, -1, 0},
+      {0x039c, 782, 1},
 
-      {0x2c24, 2529, 1},
+      {0xa7b4, 3300, 1},
 
-      {0x052e, 1331, 1},
+      {0x1cb4, 1567, 1},
 
-      {0xa740, 3018, 1},
+      {0xabb4, 1801, 1},
 
-      {0x118bc, 3594, 1},
+      {0x1e9a, 0, 2},
 
-      {0xa724, 2979, 1},
+      {0x049a, 1120, 1},
 
-      {0x1ef2, 2061, 1},
+      {0x0555, 1453, 1},
 
-      {0x04f2, 1241, 1},
+      {0x1f9a, 179, 2},
 
-      {0x01f2, 483, 1},
+      {0x2c9a, 2774, 1},
 
-      {0x1ff2, 257, 2},
+      {0x2163, 2450, 1},
 
-      {0x2cf2, 2742, 1},
+      {0xa79a, 3276, 1},
 
-      {0x052c, 1328, 1},
+      {0x1c9a, 1489, 1},
 
-      {0x118b8, 3582, 1},
+      {0xab9a, 1723, 1},
 
-      {0xa640, 2865, 1},
+      {0x10c9a, 3696, 1},
 
-      {0x10422, 3339, 1},
+      {0x1f4d, 2336, 1},
 
-      {0x1e22, 1763, 1},
+      {0x16e5f, 3960, 1},
 
-      {0x0422, 944, 1},
+      {0x004d, 34, 1},
 
-      {0x0122, 222, 1},
+      {0x1e94, 2084, 1},
 
-      {0x2126, 820, 1},
+      {0x0494, 1111, 1},
 
-      {0x2c22, 2523, 1},
+      {0x0194, 640, 1},
 
-      {0x0528, 1322, 1},
+      {0x1f94, 189, 2},
 
-      {0x01f1, 483, 1},
+      {0x2c94, 2765, 1},
 
-      {0x118b6, 3576, 1},
+      {0xa69a, 3123, 1},
 
-      {0xa722, 2976, 1},
+      {0x038c, 833, 1},
 
-      {0x03f1, 796, 1},
+      {0x1c94, 1471, 1},
 
-      {0x1ebe, 1983, 1},
+      {0xab94, 1705, 1},
 
-      {0x04be, 1163, 1},
+      {0x10c94, 3678, 1},
+      {0xffffffff, -1, 0},
 
-      {0xfb02, 12, 2},
+      {0x0516, 1306, 1},
 
-      {0x1fbe, 767, 1},
+      {0x10b6, 2960, 1},
 
-      {0x2cbe, 2679, 1},
+      {0x0202, 505, 1},
 
-      {0x01b5, 405, 1},
+      {0x1f6f, 2372, 1},
 
-      {0x0540, 1379, 1},
+      {0x2c6f, 604, 1},
 
-      {0xabbe, 1682, 1},
+      {0x1041c, 3474, 1},
 
-      {0x0524, 1316, 1},
+      {0x118b6, 3837, 1},
 
-      {0x00b5, 779, 1},
+      {0xa694, 3114, 1},
 
-      {0xabb5, 1655, 1},
+      {0x1e1c, 1903, 1},
 
-      {0x1eba, 1977, 1},
+      {0x041c, 931, 1},
 
-      {0x04ba, 1157, 1},
+      {0x011c, 213, 1},
 
-      {0x216f, 2337, 1},
+      {0x1f1c, 2267, 1},
 
-      {0x1fba, 2226, 1},
+      {0x2c1c, 2654, 1},
 
-      {0x2cba, 2673, 1},
+      {0x10be, 2984, 1},
 
-      {0x10be, 2835, 1},
+      {0x03b0, 41, 3},
 
-      {0x0051, 46, 1},
+      {0x16e55, 3930, 1},
 
-      {0xabba, 1670, 1},
+      {0x1e92, 2081, 1},
 
-      {0x10b5, 2808, 1},
+      {0x0492, 1108, 1},
 
-      {0x1e6e, 1878, 1},
+      {0x118be, 3861, 1},
 
-      {0x046e, 1055, 1},
+      {0x1f92, 179, 2},
 
-      {0x016e, 330, 1},
+      {0x2c92, 2762, 1},
 
-      {0x1f6e, 2220, 1},
+      {0x024c, 598, 1},
 
-      {0x2c6e, 664, 1},
+      {0xa792, 3267, 1},
 
-      {0x118bf, 3603, 1},
+      {0x1c92, 1465, 1},
 
-      {0x0522, 1313, 1},
+      {0xab92, 1699, 1},
 
-      {0x10ba, 2823, 1},
+      {0x10c92, 3672, 1},
 
-      {0xa76e, 3087, 1},
+      {0x10bc, 2978, 1},
 
-      {0x1eb4, 1968, 1},
+      {0x0547, 1411, 1},
 
-      {0x04b4, 1148, 1},
+      {0x03a8, 820, 1},
 
-      {0x2c75, 2583, 1},
+      {0x01d9, 447, 1},
 
-      {0x1fb4, 50, 2},
+      {0x1fd9, 2426, 1},
 
-      {0x2cb4, 2664, 1},
+      {0x118bc, 3855, 1},
 
-      {0xab75, 1463, 1},
+      {0x00d9, 150, 1},
 
-      {0x1ec2, 1989, 1},
+      {0x01d5, 441, 1},
 
-      {0xabb4, 1652, 1},
+      {0xa692, 3111, 1},
 
-      {0xa7b4, 3150, 1},
+      {0x10ba, 2972, 1},
 
-      {0x1fc2, 253, 2},
+      {0x00d5, 141, 1},
+      {0xffffffff, -1, 0},
 
-      {0x2cc2, 2685, 1},
+      {0x0398, 765, 1},
 
-      {0x03c2, 800, 1},
+      {0x1e86, 2063, 1},
 
-      {0x00c2, 83, 1},
-      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
+      {0x118ba, 3849, 1},
 
-      {0xff26, 3174, 1},
+      {0x0186, 616, 1},
 
-      {0x10b4, 2805, 1},
+      {0x1f86, 159, 2},
 
-      {0x1eca, 2001, 1},
+      {0x2c86, 2744, 1},
 
-      {0x0551, 1430, 1},
+      {0x10b4, 2954, 1},
 
-      {0x01ca, 425, 1},
+      {0xa786, 3258, 1},
 
-      {0x1fca, 2238, 1},
+      {0x1c86, 977, 1},
 
-      {0x2cca, 2697, 1},
+      {0xab86, 1663, 1},
 
-      {0x10c2, 2847, 1},
+      {0x10c86, 3636, 1},
 
-      {0x00ca, 108, 1},
+      {0x118b4, 3831, 1},
 
-      {0xff2e, 3198, 1},
+      {0x216f, 2486, 1},
 
-      {0x1e8c, 1923, 1},
+      {0x0396, 759, 1},
 
-      {0x048c, 1088, 1},
+      {0x1f6d, 2366, 1},
 
-      {0x0226, 556, 1},
+      {0x2c6d, 607, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1f8c, 149, 2},
+      {0x104c7, 3579, 1},
 
-      {0x2c8c, 2604, 1},
+      {0x24b6, 2492, 1},
 
-      {0x038c, 830, 1},
-      {0xffffffff, -1, 0},
+      {0xa686, 3093, 1},
 
-      {0xab8c, 1532, 1},
+      {0x1e90a, 3993, 1},
 
-      {0xff2c, 3192, 1},
+      {0x04c7, 1186, 1},
 
-      {0x10c8c, 3393, 1},
+      {0x01c7, 421, 1},
 
-      {0x1ec4, 1992, 1},
+      {0x1fc7, 15, 3},
+      {0xffffffff, -1, 0},
 
-      {0x022e, 568, 1},
+      {0x00c7, 99, 1},
 
-      {0x01c4, 417, 1},
+      {0x16e47, 3888, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1fc4, 54, 2},
+      {0x1e9e, 24, 2},
 
-      {0x2cc4, 2688, 1},
-      {0xffffffff, -1, 0},
+      {0x049e, 1126, 1},
 
-      {0x00c4, 89, 1},
+      {0x24be, 2516, 1},
 
-      {0xff28, 3180, 1},
+      {0x1f9e, 199, 2},
 
-      {0xa68c, 2952, 1},
+      {0x2c9e, 2780, 1},
 
-      {0x01cf, 432, 1},
+      {0x03f1, 799, 1},
 
-      {0x022c, 565, 1},
+      {0xa79e, 3282, 1},
 
-      {0x118be, 3600, 1},
+      {0x1c9e, 1501, 1},
 
-      {0x03cf, 839, 1},
+      {0xab9e, 1735, 1},
 
-      {0x00cf, 123, 1},
+      {0x10c9e, 3708, 1},
 
-      {0x118b5, 3573, 1},
-      {0xffffffff, -1, 0},
+      {0x0390, 25, 3},
 
-      {0x10c4, 2853, 1},
+      {0x1efa, 2222, 1},
 
-      {0x216e, 2334, 1},
+      {0x04fa, 1264, 1},
 
-      {0x24cb, 2406, 1},
+      {0x01fa, 493, 1},
 
-      {0x0228, 559, 1},
+      {0x1ffa, 2411, 1},
 
-      {0xff24, 3168, 1},
+      {0x24bc, 2510, 1},
       {0xffffffff, -1, 0},
 
-      {0x118ba, 3588, 1},
+      {0x1e8e, 2075, 1},
 
-      {0x1efe, 2079, 1},
+      {0x048e, 1102, 1},
 
-      {0x04fe, 1259, 1},
+      {0x018e, 453, 1},
 
-      {0x01fe, 499, 1},
+      {0x1f8e, 159, 2},
 
-      {0x1e9e, 24, 2},
+      {0x2c8e, 2756, 1},
 
-      {0x049e, 1115, 1},
+      {0xff21, 3312, 1},
+      {0xffffffff, -1, 0},
 
-      {0x03fe, 721, 1},
+      {0x24ba, 2504, 1},
 
-      {0x1f9e, 199, 2},
+      {0xab8e, 1687, 1},
 
-      {0x2c9e, 2631, 1},
+      {0x10c8e, 3660, 1},
 
-      {0x039e, 786, 1},
+      {0x054d, 1429, 1},
 
-      {0x0224, 553, 1},
+      {0x1e8a, 2069, 1},
 
-      {0xab9e, 1586, 1},
+      {0x048a, 1096, 1},
 
-      {0xa79e, 3132, 1},
+      {0x018a, 622, 1},
 
-      {0x10c9e, 3447, 1},
+      {0x1f8a, 139, 2},
 
-      {0x01f7, 414, 1},
+      {0x2c8a, 2750, 1},
 
-      {0x1ff7, 67, 3},
+      {0x216d, 2480, 1},
 
-      {0xff22, 3162, 1},
+      {0x104d3, 3615, 1},
 
-      {0x03f7, 884, 1},
+      {0xa68e, 3105, 1},
 
-      {0x118b4, 3570, 1},
+      {0xab8a, 1675, 1},
 
-      {0x049c, 1112, 1},
+      {0x10c8a, 3648, 1},
 
-      {0x019c, 661, 1},
+      {0x0216, 535, 1},
 
-      {0x1f9c, 189, 2},
+      {0x01d3, 438, 1},
 
-      {0x2c9c, 2628, 1},
+      {0x1fd3, 25, 3},
+
+      {0x1e82, 2057, 1},
 
-      {0x039c, 779, 1},
+      {0x00d3, 135, 1},
 
-      {0x24bc, 2361, 1},
+      {0x0182, 357, 1},
 
-      {0xab9c, 1580, 1},
+      {0x1f82, 139, 2},
 
-      {0xa79c, 3129, 1},
+      {0x2c82, 2738, 1},
 
-      {0x10c9c, 3441, 1},
+      {0xa68a, 3099, 1},
 
-      {0x0222, 550, 1},
+      {0xa782, 3252, 1},
 
-      {0x1e7c, 1899, 1},
+      {0x1c82, 937, 1},
 
-      {0x047c, 1076, 1},
+      {0xab82, 1651, 1},
 
-      {0x1e82, 1908, 1},
+      {0x10c82, 3624, 1},
 
-      {0x24b8, 2349, 1},
+      {0x1e30, 1933, 1},
 
-      {0x0182, 357, 1},
+      {0x051c, 1315, 1},
 
-      {0x1f82, 139, 2},
+      {0x0130, 261, 2},
 
-      {0x2c82, 2589, 1},
+      {0x1e80, 2054, 1},
 
-      {0xab7c, 1484, 1},
+      {0x0480, 1093, 1},
       {0xffffffff, -1, 0},
 
-      {0xab82, 1502, 1},
+      {0x1f80, 129, 2},
 
-      {0xa782, 3102, 1},
+      {0x2c80, 2735, 1},
 
-      {0x10c82, 3363, 1},
+      {0xa682, 3087, 1},
 
-      {0x2c63, 1709, 1},
+      {0xa780, 3249, 1},
 
-      {0x24b6, 2343, 1},
+      {0x1c80, 899, 1},
 
-      {0x1e80, 1905, 1},
+      {0xab80, 1645, 1},
 
-      {0x0480, 1082, 1},
+      {0x10c80, 3618, 1},
 
-      {0x1f59, 2190, 1},
+      {0x16e4d, 3906, 1},
 
-      {0x1f80, 129, 2},
+      {0x1e4a, 1972, 1},
+      {0xffffffff, -1, 0},
 
-      {0x2c80, 2586, 1},
+      {0x014a, 276, 1},
 
-      {0x0059, 71, 1},
+      {0x1f4a, 2327, 1},
 
-      {0xa682, 2937, 1},
+      {0x10c7, 3008, 1},
 
-      {0xab80, 1496, 1},
+      {0x004a, 24, 1},
 
-      {0xa780, 3099, 1},
+      {0xa74a, 3183, 1},
 
-      {0x10c80, 3357, 1},
-      {0xffffffff, -1, 0},
+      {0xa680, 3084, 1},
 
-      {0x1e4c, 1826, 1},
+      {0x1041a, 3468, 1},
 
-      {0x0145, 270, 1},
+      {0x013d, 258, 1},
 
-      {0x014c, 279, 1},
+      {0x1f3d, 2312, 1},
 
-      {0x1f4c, 2184, 1},
+      {0x1e1a, 1900, 1},
 
-      {0x0345, 767, 1},
+      {0x041a, 925, 1},
 
-      {0x0045, 12, 1},
+      {0x011a, 210, 1},
 
-      {0x004c, 31, 1},
+      {0x1f1a, 2261, 1},
 
-      {0xa680, 2934, 1},
+      {0x2c1a, 2648, 1},
+      {0xffffffff, -1, 0},
 
-      {0xa74c, 3036, 1},
+      {0x13fa, 1843, 1},
 
-      {0x1e4a, 1823, 1},
+      {0xa64a, 3029, 1},
 
-      {0x01d5, 441, 1},
+      {0x10418, 3462, 1},
+      {0xffffffff, -1, 0},
 
-      {0x014a, 276, 1},
+      {0x039a, 775, 1},
 
-      {0x1f4a, 2178, 1},
+      {0x1e18, 1897, 1},
 
-      {0x03d5, 810, 1},
+      {0x0418, 919, 1},
 
-      {0x00d5, 141, 1},
+      {0x0118, 207, 1},
 
-      {0x004a, 24, 1},
+      {0x1f18, 2255, 1},
 
-      {0x24bf, 2370, 1},
+      {0x2c18, 2642, 1},
+      {0xffffffff, -1, 0},
 
-      {0xa74a, 3033, 1},
+      {0xfb02, 12, 2},
 
-      {0xa64c, 2883, 1},
+      {0x1ee0, 2183, 1},
 
-      {0x1041c, 3321, 1},
+      {0x04e0, 1225, 1},
 
-      {0x1e1c, 1754, 1},
+      {0x01e0, 459, 1},
 
-      {0x041c, 926, 1},
+      {0x1040e, 3432, 1},
 
-      {0x011c, 213, 1},
+      {0x2ce0, 2879, 1},
 
-      {0x1f1c, 2118, 1},
+      {0x0394, 752, 1},
 
-      {0x2c1c, 2505, 1},
-      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
+      {0x1e0e, 1882, 1},
 
-      {0xa64a, 2880, 1},
+      {0x040e, 1038, 1},
 
-      {0x1041a, 3315, 1},
+      {0x010e, 192, 1},
 
-      {0x1e1a, 1751, 1},
+      {0x1f0e, 2249, 1},
 
-      {0x041a, 920, 1},
+      {0x2c0e, 2612, 1},
 
-      {0x011a, 210, 1},
+      {0x1040c, 3426, 1},
 
-      {0x1f1a, 2112, 1},
+      {0x1f6b, 2360, 1},
 
-      {0x2c1a, 2499, 1},
+      {0x2c6b, 2726, 1},
 
-      {0xabbd, 1679, 1},
+      {0x1e0c, 1879, 1},
 
-      {0x0545, 1394, 1},
+      {0x040c, 1032, 1},
 
-      {0x054c, 1415, 1},
+      {0x010c, 189, 1},
 
-      {0x10418, 3309, 1},
+      {0x1f0c, 2243, 1},
 
-      {0x1e18, 1748, 1},
+      {0x2c0c, 2606, 1},
 
-      {0x0418, 914, 1},
+      {0x1f5d, 2345, 1},
 
-      {0x0118, 207, 1},
+      {0x10414, 3450, 1},
 
-      {0x1f18, 2106, 1},
+      {0x1e7a, 2045, 1},
 
-      {0x2c18, 2493, 1},
+      {0x047a, 1084, 1},
 
-      {0x10bd, 2832, 1},
+      {0x1e14, 1891, 1},
 
-      {0x2163, 2301, 1},
+      {0x0414, 906, 1},
 
-      {0x054a, 1409, 1},
+      {0x0114, 201, 1},
 
-      {0x1040e, 3279, 1},
+      {0x1e902, 3969, 1},
 
-      {0x1e0e, 1733, 1},
+      {0x2c14, 2630, 1},
 
-      {0x040e, 1028, 1},
+      {0x1f5b, 2342, 1},
 
-      {0x010e, 192, 1},
+      {0xab7a, 1627, 1},
 
-      {0x1f0e, 2100, 1},
+      {0x24c7, 2543, 1},
 
-      {0x2c0e, 2463, 1},
+      {0x10408, 3414, 1},
 
-      {0x1efc, 2076, 1},
+      {0x0392, 745, 1},
 
-      {0x04fc, 1256, 1},
+      {0x0533, 1351, 1},
 
-      {0x01fc, 496, 1},
+      {0x1e08, 1873, 1},
 
-      {0x1ffc, 96, 2},
+      {0x0408, 1020, 1},
 
-      {0x051c, 1304, 1},
+      {0x0108, 183, 1},
 
-      {0x1040c, 3273, 1},
+      {0x1f08, 2231, 1},
 
-      {0x1e0c, 1730, 1},
+      {0x2c08, 2594, 1},
 
-      {0x040c, 1022, 1},
+      {0x10406, 3408, 1},
 
-      {0x010c, 189, 1},
+      {0x0053, 52, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1f0c, 2094, 1},
+      {0x1e06, 1870, 1},
 
-      {0x2c0c, 2457, 1},
+      {0x0406, 1014, 1},
 
-      {0x1f6d, 2217, 1},
+      {0x0106, 180, 1},
 
-      {0x2c6d, 607, 1},
+      {0x10404, 3402, 1},
 
-      {0x051a, 1301, 1},
+      {0x2c06, 2588, 1},
 
-      {0x24be, 2367, 1},
+      {0x03d5, 813, 1},
 
-      {0x10408, 3261, 1},
+      {0x1e04, 1867, 1},
 
-      {0x1e08, 1724, 1},
+      {0x0404, 1008, 1},
 
-      {0x0408, 1010, 1},
+      {0x0104, 177, 1},
+      {0xffffffff, -1, 0},
 
-      {0x0108, 183, 1},
+      {0x2c04, 2582, 1},
 
-      {0x1f08, 2082, 1},
+      {0x10400, 3390, 1},
+      {0xffffffff, -1, 0},
 
-      {0x2c08, 2445, 1},
+      {0x0386, 730, 1},
 
-      {0x04c9, 1178, 1},
+      {0x1e00, 1861, 1},
 
-      {0x0518, 1298, 1},
+      {0x0400, 996, 1},
 
-      {0x1fc9, 2235, 1},
-      {0xffffffff, -1, 0},
+      {0x0100, 171, 1},
 
-      {0x24ba, 2355, 1},
+      {0x216b, 2474, 1},
 
-      {0x00c9, 105, 1},
+      {0x2c00, 2570, 1},
+      {0xffffffff, -1, 0},
 
-      {0x10416, 3303, 1},
+      {0x021c, 544, 1},
 
-      {0x1e16, 1745, 1},
+      {0x1e2a, 1924, 1},
 
-      {0x0416, 908, 1},
+      {0x042a, 977, 1},
 
-      {0x0116, 204, 1},
+      {0x012a, 234, 1},
 
-      {0x050e, 1283, 1},
+      {0x1f2a, 2279, 1},
 
-      {0x2c16, 2487, 1},
+      {0x2c2a, 2696, 1},
 
-      {0x10414, 3297, 1},
+      {0x10426, 3504, 1},
 
-      {0x1e14, 1742, 1},
+      {0xa72a, 3138, 1},
 
-      {0x0414, 902, 1},
+      {0xff33, 3366, 1},
 
-      {0x0114, 201, 1},
+      {0x1e26, 1918, 1},
 
-      {0x042b, 971, 1},
+      {0x0426, 965, 1},
 
-      {0x2c14, 2481, 1},
+      {0x0126, 228, 1},
 
-      {0x1f2b, 2133, 1},
+      {0x1f95, 194, 2},
 
-      {0x2c2b, 2550, 1},
+      {0x2c26, 2684, 1},
       {0xffffffff, -1, 0},
 
-      {0x050c, 1280, 1},
-
-      {0x10406, 3255, 1},
-
-      {0x1e06, 1721, 1},
+      {0xa726, 3132, 1},
 
-      {0x0406, 1004, 1},
+      {0x1c95, 1474, 1},
 
-      {0x0106, 180, 1},
+      {0xab95, 1708, 1},
 
-      {0x13fb, 1697, 1},
+      {0x10c95, 3681, 1},
 
-      {0x2c06, 2439, 1},
+      {0x054a, 1420, 1},
 
-      {0x24c2, 2379, 1},
+      {0x039e, 789, 1},
 
-      {0x118bd, 3597, 1},
-      {0xffffffff, -1, 0},
+      {0x1e2e, 1930, 1},
 
-      {0x0508, 1274, 1},
+      {0x042e, 990, 1},
 
-      {0x10404, 3249, 1},
+      {0x012e, 240, 1},
 
-      {0x1e04, 1718, 1},
+      {0x1f2e, 2291, 1},
 
-      {0x0404, 998, 1},
+      {0x2c2e, 2708, 1},
 
-      {0x0104, 177, 1},
+      {0x053d, 1381, 1},
 
-      {0x1f95, 194, 2},
+      {0xa72e, 3144, 1},
 
-      {0x2c04, 2433, 1},
+      {0x1feb, 2408, 1},
 
-      {0x0395, 752, 1},
+      {0x2ceb, 2885, 1},
 
-      {0x24ca, 2403, 1},
+      {0x051a, 1312, 1},
 
-      {0xab95, 1559, 1},
+      {0x03fa, 890, 1},
 
-      {0x0531, 1334, 1},
+      {0x1e2c, 1927, 1},
 
-      {0x10c95, 3420, 1},
+      {0x042c, 984, 1},
 
-      {0x0516, 1295, 1},
+      {0x012c, 237, 1},
 
-      {0x1e6c, 1875, 1},
+      {0x1f2c, 2285, 1},
 
-      {0x046c, 1052, 1},
+      {0x2c2c, 2702, 1},
 
-      {0x016c, 327, 1},
+      {0x038e, 836, 1},
 
-      {0x1f6c, 2214, 1},
+      {0xa72c, 3141, 1},
 
-      {0x216d, 2331, 1},
+      {0xfb16, 125, 2},
+      {0xffffffff, -1, 0},
 
-      {0x0514, 1292, 1},
+      {0x0518, 1309, 1},
 
-      {0x0245, 697, 1},
+      {0xff30, 3357, 1},
 
-      {0x024c, 598, 1},
+      {0x1e28, 1921, 1},
 
-      {0xa76c, 3084, 1},
+      {0x0428, 971, 1},
 
-      {0x10400, 3237, 1},
+      {0x0128, 231, 1},
 
-      {0x1e00, 1712, 1},
+      {0x1f28, 2273, 1},
 
-      {0x0400, 986, 1},
+      {0x2c28, 2690, 1},
 
-      {0x0100, 171, 1},
+      {0x038a, 739, 1},
 
-      {0x24c4, 2385, 1},
+      {0xa728, 3135, 1},
+      {0xffffffff, -1, 0},
 
-      {0x2c00, 2421, 1},
+      {0x212a, 27, 1},
+      {0xffffffff, -1, 0},
 
-      {0x0506, 1271, 1},
+      {0x104cd, 3597, 1},
 
-      {0x024a, 595, 1},
+      {0x050e, 1294, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1fab, 224, 2},
+      {0x16e4a, 3897, 1},
 
-      {0xa66c, 2931, 1},
+      {0x04cd, 1195, 1},
 
-      {0x03ab, 827, 1},
+      {0x01cd, 429, 1},
 
-      {0x24cf, 2418, 1},
+      {0x2126, 823, 1},
 
-      {0xabab, 1625, 1},
+      {0x10424, 3498, 1},
 
-      {0xa7ab, 631, 1},
+      {0x00cd, 117, 1},
 
-      {0x10cab, 3486, 1},
-      {0xffffffff, -1, 0},
+      {0x050c, 1291, 1},
 
-      {0x0504, 1268, 1},
-      {0xffffffff, -1, 0},
+      {0x1e24, 1915, 1},
 
-      {0x021c, 544, 1},
+      {0x0424, 959, 1},
 
-      {0x01a9, 679, 1},
+      {0x0124, 225, 1},
 
-      {0x1fa9, 214, 2},
+      {0x1e916, 4029, 1},
 
-      {0x10ab, 2778, 1},
+      {0x2c24, 2678, 1},
+      {0xffffffff, -1, 0},
 
-      {0x03a9, 820, 1},
+      {0xa724, 3129, 1},
 
-      {0x212b, 92, 1},
+      {0x10422, 3492, 1},
 
-      {0xaba9, 1619, 1},
+      {0x0514, 1303, 1},
 
-      {0x1e88, 1917, 1},
+      {0x104c9, 3585, 1},
 
-      {0x10ca9, 3480, 1},
+      {0x1e22, 1912, 1},
 
-      {0x021a, 541, 1},
+      {0x0422, 951, 1},
 
-      {0x1f88, 129, 2},
+      {0x0122, 222, 1},
 
-      {0x2c88, 2598, 1},
+      {0x04c9, 1189, 1},
 
-      {0x0388, 730, 1},
+      {0x2c22, 2672, 1},
 
-      {0x13fd, 1703, 1},
+      {0x1fc9, 2384, 1},
 
-      {0xab88, 1520, 1},
+      {0xa722, 3126, 1},
 
-      {0x10a9, 2772, 1},
+      {0x00c9, 105, 1},
 
-      {0x10c88, 3381, 1},
-      {0xffffffff, -1, 0},
+      {0x104c4, 3570, 1},
 
-      {0x0218, 538, 1},
+      {0x0508, 1285, 1},
 
-      {0x0500, 1262, 1},
+      {0x0553, 1447, 1},
 
-      {0x1f4d, 2187, 1},
+      {0x1ec4, 2141, 1},
+      {0xffffffff, -1, 0},
 
-      {0x01a7, 393, 1},
+      {0x01c4, 417, 1},
 
-      {0x1fa7, 244, 2},
+      {0x1fc4, 54, 2},
 
-      {0x004d, 34, 1},
+      {0x2cc4, 2837, 1},
 
-      {0x03a7, 814, 1},
+      {0x00c4, 89, 1},
 
-      {0xa688, 2946, 1},
+      {0x0506, 1282, 1},
 
-      {0xaba7, 1613, 1},
+      {0x104c2, 3564, 1},
 
-      {0x020e, 523, 1},
+      {0x1f69, 2354, 1},
 
-      {0x10ca7, 3474, 1},
+      {0x2c69, 2723, 1},
 
-      {0x1e6a, 1872, 1},
+      {0x1ec2, 2138, 1},
 
-      {0x046a, 1049, 1},
+      {0x104d1, 3609, 1},
 
-      {0x016a, 324, 1},
+      {0x0504, 1279, 1},
 
-      {0x1f6a, 2208, 1},
-      {0xffffffff, -1, 0},
+      {0x1fc2, 253, 2},
 
-      {0x216c, 2328, 1},
+      {0x2cc2, 2834, 1},
 
-      {0x10a7, 2766, 1},
+      {0x00c2, 83, 1},
 
       {0x01d1, 435, 1},
 
-      {0xa76a, 3081, 1},
-
-      {0x020c, 520, 1},
+      {0x16e5d, 3954, 1},
 
-      {0x03d1, 762, 1},
+      {0x104b7, 3531, 1},
 
       {0x00d1, 129, 1},
 
-      {0x1e68, 1869, 1},
+      {0x0500, 1273, 1},
 
-      {0x0468, 1046, 1},
-
-      {0x0168, 321, 1},
-
-      {0x1f68, 2202, 1},
-      {0xffffffff, -1, 0},
+      {0x013f, 261, 1},
 
-      {0xff31, 3207, 1},
+      {0x1f3f, 2318, 1},
 
-      {0xa66a, 2928, 1},
+      {0x01b7, 703, 1},
 
-      {0x0208, 514, 1},
+      {0x1fb7, 10, 3},
 
-      {0xa768, 3078, 1},
+      {0x0230, 571, 1},
 
-      {0x1e64, 1863, 1},
+      {0x16e5b, 3948, 1},
 
-      {0x0464, 1040, 1},
+      {0x052a, 1336, 1},
 
-      {0x0164, 315, 1},
+      {0x1cb7, 1576, 1},
 
-      {0x054d, 1418, 1},
+      {0xabb7, 1810, 1},
 
-      {0x2c64, 673, 1},
+      {0x03e0, 857, 1},
       {0xffffffff, -1, 0},
 
-      {0xff2b, 3189, 1},
+      {0x104b3, 3519, 1},
+
+      {0x1e921, 4062, 1},
       {0xffffffff, -1, 0},
 
-      {0xa764, 3072, 1},
+      {0x0526, 1330, 1},
 
-      {0xa668, 2925, 1},
+      {0x16e53, 3924, 1},
 
-      {0x0216, 535, 1},
-      {0xffffffff, -1, 0},
+      {0x01b3, 402, 1},
 
-      {0x118ab, 3543, 1},
+      {0x1fb3, 62, 2},
 
-      {0x1e62, 1860, 1},
+      {0x024a, 595, 1},
+      {0xffffffff, -1, 0},
 
-      {0x0462, 1037, 1},
+      {0xa7b3, 3309, 1},
 
-      {0x0162, 312, 1},
+      {0x1cb3, 1564, 1},
 
-      {0x0214, 532, 1},
+      {0xabb3, 1798, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0x2c62, 655, 1},
+      {0x023d, 378, 1},
 
-      {0xa664, 2919, 1},
+      {0x052e, 1342, 1},
 
-      {0x1ed2, 2013, 1},
+      {0x1fab, 224, 2},
 
-      {0x04d2, 1193, 1},
+      {0x10cd, 3011, 1},
 
-      {0xa762, 3069, 1},
+      {0x021a, 541, 1},
 
-      {0x1fd2, 20, 3},
+      {0xa7ab, 631, 1},
 
-      {0x2cd2, 2709, 1},
+      {0x1cab, 1540, 1},
 
-      {0x118a9, 3537, 1},
+      {0xabab, 1774, 1},
 
-      {0x00d2, 132, 1},
+      {0x10cab, 3747, 1},
 
-      {0x0206, 511, 1},
+      {0x2169, 2468, 1},
+      {0xffffffff, -1, 0},
 
-      {0x10420, 3333, 1},
+      {0x1e56, 1990, 1},
 
-      {0x1e20, 1760, 1},
+      {0x052c, 1339, 1},
 
-      {0x0420, 938, 1},
+      {0x0156, 294, 1},
 
-      {0x0120, 219, 1},
+      {0x1f56, 62, 3},
 
-      {0xa662, 2916, 1},
+      {0x0218, 538, 1},
 
-      {0x2c20, 2517, 1},
+      {0x0056, 62, 1},
 
-      {0x1e60, 1856, 1},
+      {0xa756, 3201, 1},
 
-      {0x0460, 1034, 1},
+      {0xff2a, 3339, 1},
 
-      {0x0160, 309, 1},
+      {0x1e54, 1987, 1},
+      {0xffffffff, -1, 0},
 
-      {0x0204, 508, 1},
+      {0x0154, 291, 1},
 
-      {0x2c60, 2562, 1},
-      {0xffffffff, -1, 0},
+      {0x1f54, 57, 3},
 
-      {0x24bd, 2364, 1},
+      {0x0528, 1333, 1},
 
-      {0x216a, 2322, 1},
+      {0x0054, 56, 1},
 
-      {0xa760, 3066, 1},
-      {0xffffffff, -1, 0},
+      {0xa754, 3198, 1},
 
-      {0xfb16, 125, 2},
+      {0xff26, 3327, 1},
 
-      {0x118a7, 3531, 1},
+      {0x104ca, 3588, 1},
 
-      {0x1efa, 2073, 1},
+      {0x020e, 523, 1},
 
-      {0x04fa, 1253, 1},
+      {0xa656, 3048, 1},
 
-      {0x01fa, 493, 1},
+      {0x1eca, 2150, 1},
 
-      {0x1ffa, 2262, 1},
+      {0x10c4, 3002, 1},
 
-      {0xfb14, 109, 2},
+      {0x01ca, 425, 1},
 
-      {0x03fa, 887, 1},
+      {0x1fca, 2387, 1},
 
-      {0xa660, 2913, 1},
+      {0x2cca, 2846, 1},
 
-      {0x2168, 2316, 1},
+      {0x00ca, 108, 1},
 
-      {0x01b7, 700, 1},
+      {0x020c, 520, 1},
 
-      {0x1fb7, 10, 3},
+      {0xa654, 3045, 1},
 
-      {0x1f6b, 2211, 1},
+      {0xff2e, 3351, 1},
 
-      {0x2c6b, 2577, 1},
+      {0x1e9b, 2005, 1},
 
-      {0x0200, 502, 1},
+      {0x0051, 46, 1},
 
-      {0xabb7, 1661, 1},
+      {0x10c2, 2996, 1},
 
-      {0xfb06, 29, 2},
+      {0x1f9b, 184, 2},
 
-      {0x1e56, 1841, 1},
+      {0x0524, 1327, 1},
+      {0xffffffff, -1, 0},
 
-      {0x2164, 2304, 1},
+      {0x0214, 532, 1},
 
-      {0x0156, 294, 1},
+      {0x1c9b, 1492, 1},
 
-      {0x1f56, 62, 3},
+      {0xab9b, 1726, 1},
 
-      {0x0520, 1310, 1},
+      {0x10c9b, 3699, 1},
 
-      {0x004f, 40, 1},
+      {0xff2c, 3345, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0x0056, 62, 1},
+      {0x10b7, 2963, 1},
 
-      {0x10b7, 2814, 1},
+      {0x0522, 1324, 1},
 
-      {0xa756, 3051, 1},
+      {0x1e91c, 4047, 1},
 
-      {0xfb04, 5, 3},
+      {0x0395, 755, 1},
 
-      {0x1e78, 1893, 1},
+      {0x0208, 514, 1},
 
-      {0x0478, 1070, 1},
+      {0x118b7, 3840, 1},
 
-      {0x0178, 168, 1},
+      {0x24cd, 2561, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1e54, 1838, 1},
+      {0xff28, 3333, 1},
 
-      {0x2162, 2298, 1},
+      {0x104c3, 3567, 1},
+      {0xffffffff, -1, 0},
 
-      {0x0154, 291, 1},
+      {0x104b1, 3513, 1},
 
-      {0x1f54, 57, 3},
+      {0x0206, 511, 1},
 
-      {0xab78, 1472, 1},
+      {0x04c3, 1180, 1},
 
-      {0xa656, 2898, 1},
+      {0x10b3, 2951, 1},
 
-      {0x0054, 56, 1},
+      {0x1fc3, 71, 2},
 
-      {0x1e52, 1835, 1},
+      {0x01b1, 694, 1},
 
-      {0xa754, 3048, 1},
+      {0x00c3, 86, 1},
 
-      {0x0152, 288, 1},
+      {0x0204, 508, 1},
 
-      {0x1f52, 52, 3},
+      {0x118b3, 3828, 1},
 
-      {0x24c9, 2400, 1},
+      {0xa7b1, 685, 1},
 
-      {0x1e32, 1787, 1},
+      {0x1cb1, 1558, 1},
 
-      {0x0052, 49, 1},
+      {0xabb1, 1792, 1},
 
-      {0x0132, 243, 1},
+      {0x10cb1, 3765, 1},
 
-      {0xa752, 3045, 1},
-      {0xffffffff, -1, 0},
+      {0x10ab, 2927, 1},
 
-      {0xfb00, 4, 2},
+      {0x24c9, 2549, 1},
 
-      {0xa654, 2895, 1},
+      {0x0200, 502, 1},
       {0xffffffff, -1, 0},
 
-      {0xa732, 2997, 1},
+      {0xff24, 3321, 1},
 
-      {0x2160, 2292, 1},
+      {0x118ab, 3804, 1},
 
-      {0x054f, 1424, 1},
+      {0x0531, 1345, 1},
 
-      {0x0556, 1445, 1},
+      {0x053f, 1387, 1},
 
-      {0x1e50, 1832, 1},
+      {0x10420, 3486, 1},
 
-      {0xa652, 2892, 1},
+      {0x022a, 562, 1},
 
-      {0x0150, 285, 1},
+      {0x24c4, 2534, 1},
 
-      {0x1f50, 84, 2},
+      {0x1e20, 1909, 1},
 
-      {0x017b, 348, 1},
+      {0x0420, 944, 1},
 
-      {0x1e4e, 1829, 1},
+      {0x0120, 219, 1},
 
-      {0x0050, 43, 1},
+      {0xff22, 3315, 1},
 
-      {0x014e, 282, 1},
+      {0x2c20, 2666, 1},
+      {0xffffffff, -1, 0},
 
-      {0xa750, 3042, 1},
+      {0x0226, 556, 1},
 
-      {0xab7b, 1481, 1},
+      {0x01a9, 682, 1},
 
-      {0xa77b, 3093, 1},
+      {0x1fa9, 214, 2},
 
-      {0x004e, 37, 1},
+      {0x24c2, 2528, 1},
 
-      {0x0554, 1439, 1},
+      {0x01a7, 393, 1},
 
-      {0xa74e, 3039, 1},
+      {0x1fa7, 244, 2},
 
-      {0x1e48, 1820, 1},
-      {0xffffffff, -1, 0},
+      {0x1ca9, 1534, 1},
 
-      {0x216b, 2325, 1},
+      {0xaba9, 1768, 1},
 
-      {0x1f48, 2172, 1},
+      {0x10ca9, 3741, 1},
 
-      {0xa650, 2889, 1},
+      {0x1ca7, 1528, 1},
 
-      {0x0552, 1433, 1},
+      {0xaba7, 1762, 1},
 
-      {0x0048, 21, 1},
-      {0xffffffff, -1, 0},
+      {0x10ca7, 3735, 1},
 
-      {0xa748, 3030, 1},
+      {0x022e, 568, 1},
 
-      {0xa64e, 2886, 1},
+      {0x1e88, 2066, 1},
 
-      {0x0532, 1337, 1},
+      {0x24b7, 2495, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1041e, 3327, 1},
+      {0x1f88, 129, 2},
 
-      {0x1e1e, 1757, 1},
+      {0x2c88, 2747, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0x041e, 932, 1},
+      {0x1c88, 3029, 1},
 
-      {0x011e, 216, 1},
+      {0xab88, 1669, 1},
 
-      {0x118b7, 3579, 1},
+      {0x10c88, 3642, 1},
 
-      {0x2c1e, 2511, 1},
-      {0xffffffff, -1, 0},
+      {0x022c, 565, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0xa648, 2877, 1},
+      {0xff31, 3360, 1},
 
-      {0x1ff9, 2253, 1},
-      {0xffffffff, -1, 0},
+      {0x1e52, 1984, 1},
 
-      {0x03f9, 878, 1},
+      {0x0556, 1456, 1},
 
-      {0x0550, 1427, 1},
+      {0x0152, 288, 1},
 
-      {0x10412, 3291, 1},
+      {0x1f52, 52, 3},
 
-      {0x1e12, 1739, 1},
+      {0xa688, 3096, 1},
 
-      {0x0412, 896, 1},
+      {0x0052, 49, 1},
 
-      {0x0112, 198, 1},
+      {0xa752, 3195, 1},
 
-      {0x054e, 1421, 1},
+      {0x0228, 559, 1},
 
-      {0x2c12, 2475, 1},
+      {0x1e50, 1981, 1},
 
-      {0x10410, 3285, 1},
+      {0x0554, 1450, 1},
 
-      {0x1e10, 1736, 1},
+      {0x0150, 285, 1},
 
-      {0x0410, 890, 1},
+      {0x1f50, 84, 2},
 
-      {0x0110, 195, 1},
-      {0xffffffff, -1, 0},
+      {0x1041e, 3480, 1},
 
-      {0x2c10, 2469, 1},
+      {0x0050, 43, 1},
 
-      {0x2132, 2289, 1},
+      {0xa750, 3192, 1},
 
-      {0x0548, 1403, 1},
+      {0x1e1e, 1906, 1},
 
-      {0x1ef8, 2070, 1},
+      {0x041e, 937, 1},
 
-      {0x04f8, 1250, 1},
+      {0x011e, 216, 1},
 
-      {0x01f8, 490, 1},
+      {0xa652, 3042, 1},
 
-      {0x1ff8, 2250, 1},
+      {0x2c1e, 2660, 1},
 
-      {0x0220, 381, 1},
+      {0x03c2, 803, 1},
 
-      {0x1ee2, 2037, 1},
+      {0x10c3, 2999, 1},
+      {0xffffffff, -1, 0},
 
-      {0x04e2, 1217, 1},
+      {0x10b1, 2945, 1},
 
-      {0x01e2, 462, 1},
+      {0x03d1, 765, 1},
 
-      {0x1fe2, 36, 3},
+      {0x0551, 1441, 1},
 
-      {0x2ce2, 2733, 1},
+      {0xa650, 3039, 1},
 
-      {0x03e2, 857, 1},
+      {0x0224, 553, 1},
 
-      {0x051e, 1307, 1},
+      {0x118b1, 3822, 1},
 
-      {0x1ede, 2031, 1},
+      {0x1e4e, 1978, 1},
+      {0xffffffff, -1, 0},
 
-      {0x04de, 1211, 1},
+      {0x014e, 282, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0x01de, 456, 1},
-      {0xffffffff, -1, 0},
+      {0x004e, 37, 1},
 
-      {0x2cde, 2727, 1},
+      {0xa74e, 3189, 1},
 
-      {0x03de, 851, 1},
+      {0x10412, 3444, 1},
 
-      {0x00de, 165, 1},
+      {0x0222, 550, 1},
 
-      {0x1f69, 2205, 1},
+      {0x16e56, 3933, 1},
 
-      {0x2c69, 2574, 1},
+      {0x1e12, 1888, 1},
 
-      {0x1eda, 2025, 1},
+      {0x0412, 899, 1},
 
-      {0x04da, 1205, 1},
+      {0x0112, 198, 1},
 
-      {0x0512, 1289, 1},
+      {0x24ca, 2552, 1},
 
-      {0x1fda, 2244, 1},
+      {0x2c12, 2624, 1},
 
-      {0x2cda, 2721, 1},
+      {0x018f, 625, 1},
 
-      {0x03da, 845, 1},
+      {0x1f8f, 164, 2},
 
-      {0x00da, 153, 1},
-      {0xffffffff, -1, 0},
+      {0x16e54, 3927, 1},
 
-      {0x0510, 1286, 1},
+      {0xa64e, 3036, 1},
 
-      {0x1ed8, 2022, 1},
+      {0x004f, 40, 1},
 
-      {0x04d8, 1202, 1},
-      {0xffffffff, -1, 0},
+      {0x10a9, 2921, 1},
 
-      {0x1fd8, 2274, 1},
+      {0xab8f, 1690, 1},
 
-      {0x2cd8, 2718, 1},
+      {0x10c8f, 3663, 1},
 
-      {0x03d8, 842, 1},
+      {0x10a7, 2915, 1},
 
-      {0x00d8, 147, 1},
+      {0x1e48, 1969, 1},
 
-      {0x1ed6, 2019, 1},
+      {0x118a9, 3798, 1},
 
-      {0x04d6, 1199, 1},
-      {0xffffffff, -1, 0},
+      {0x03ab, 830, 1},
 
-      {0x1fd6, 76, 2},
+      {0x1f48, 2321, 1},
 
-      {0x2cd6, 2715, 1},
+      {0x118a7, 3792, 1},
 
-      {0x03d6, 792, 1},
+      {0x0048, 21, 1},
 
-      {0x00d6, 144, 1},
+      {0xa748, 3180, 1},
 
-      {0x1ec8, 1998, 1},
+      {0x10410, 3438, 1},
       {0xffffffff, -1, 0},
 
-      {0x01c8, 421, 1},
-
-      {0x1fc8, 2232, 1},
+      {0x16e51, 3918, 1},
 
-      {0x2cc8, 2694, 1},
+      {0x1e10, 1885, 1},
 
-      {0xff32, 3210, 1},
+      {0x0410, 893, 1},
 
-      {0x00c8, 102, 1},
+      {0x0110, 195, 1},
 
-      {0x04c7, 1175, 1},
+      {0x104c0, 3558, 1},
 
-      {0x01c7, 421, 1},
+      {0x2c10, 2618, 1},
 
-      {0x1fc7, 15, 3},
+      {0x1e91a, 4041, 1},
 
-      {0x1ec0, 1986, 1},
+      {0x1ec0, 2135, 1},
 
-      {0x04c0, 1187, 1},
+      {0x04c0, 1198, 1},
 
-      {0x00c7, 99, 1},
+      {0xa648, 3026, 1},
       {0xffffffff, -1, 0},
 
-      {0x2cc0, 2682, 1},
-
-      {0x0179, 345, 1},
+      {0x2cc0, 2831, 1},
 
       {0x00c0, 77, 1},
+      {0xffffffff, -1, 0},
 
-      {0x0232, 574, 1},
+      {0x24c3, 2531, 1},
 
-      {0x01b3, 402, 1},
+      {0x0520, 1321, 1},
 
-      {0x1fb3, 62, 2},
+      {0x104c8, 3582, 1},
+
+      {0x1e918, 4035, 1},
+      {0xffffffff, -1, 0},
 
-      {0xab79, 1475, 1},
+      {0x1ec8, 2147, 1},
 
-      {0xa779, 3090, 1},
+      {0xfb14, 109, 2},
 
-      {0x10c7, 2859, 1},
+      {0x01c8, 421, 1},
 
-      {0xabb3, 1649, 1},
+      {0x1fc8, 2381, 1},
 
-      {0xa7b3, 3156, 1},
+      {0x2cc8, 2843, 1},
 
-      {0x1fa5, 234, 2},
+      {0x00c8, 102, 1},
 
-      {0x10c0, 2841, 1},
+      {0x104b9, 3537, 1},
 
-      {0x03a5, 807, 1},
-      {0xffffffff, -1, 0},
+      {0x1efc, 2225, 1},
 
-      {0xaba5, 1607, 1},
+      {0x04fc, 1267, 1},
 
-      {0x01b1, 691, 1},
+      {0x01fc, 496, 1},
 
-      {0x10ca5, 3468, 1},
+      {0x1ffc, 96, 2},
 
-      {0x10b3, 2802, 1},
+      {0x1e90e, 4005, 1},
 
-      {0x2169, 2319, 1},
+      {0x1fb9, 2420, 1},
 
-      {0x024e, 601, 1},
+      {0x104b5, 3525, 1},
 
-      {0xabb1, 1643, 1},
+      {0x039b, 779, 1},
+      {0xffffffff, -1, 0},
 
-      {0xa7b1, 682, 1},
+      {0x1cb9, 1582, 1},
 
-      {0x10cb1, 3504, 1},
+      {0xabb9, 1816, 1},
 
-      {0x10a5, 2760, 1},
-      {0xffffffff, -1, 0},
+      {0x01b5, 405, 1},
 
-      {0x01af, 399, 1},
+      {0x1e90c, 3999, 1},
 
-      {0x1faf, 244, 2},
+      {0xfb06, 29, 2},
+
+      {0x00b5, 782, 1},
       {0xffffffff, -1, 0},
 
-      {0x0248, 592, 1},
+      {0x1cb5, 1570, 1},
 
-      {0x10b1, 2796, 1},
+      {0xabb5, 1804, 1},
+      {0xffffffff, -1, 0},
 
-      {0xabaf, 1637, 1},
+      {0xfb04, 5, 3},
 
       {0x1fad, 234, 2},
 
-      {0x10caf, 3498, 1},
+      {0x1e914, 4023, 1},
 
-      {0x04cd, 1184, 1},
+      {0x0552, 1444, 1},
 
-      {0x01cd, 429, 1},
+      {0xa7ad, 661, 1},
 
-      {0xabad, 1631, 1},
+      {0x1cad, 1546, 1},
 
-      {0xa7ad, 658, 1},
+      {0xabad, 1780, 1},
 
-      {0x10cad, 3492, 1},
+      {0x10cad, 3753, 1},
 
-      {0x00cd, 117, 1},
+      {0xfb00, 4, 2},
 
-      {0x10af, 2790, 1},
+      {0x01af, 399, 1},
 
-      {0x021e, 547, 1},
+      {0x1faf, 244, 2},
 
-      {0x1fa3, 224, 2},
+      {0x0550, 1438, 1},
       {0xffffffff, -1, 0},
 
-      {0x03a3, 800, 1},
+      {0x1e908, 3987, 1},
 
-      {0x10ad, 2784, 1},
+      {0x1caf, 1552, 1},
 
-      {0xaba3, 1601, 1},
+      {0xabaf, 1786, 1},
+
+      {0x10caf, 3759, 1},
       {0xffffffff, -1, 0},
 
-      {0x10ca3, 3462, 1},
+      {0x051e, 1318, 1},
 
-      {0x10cd, 2862, 1},
+      {0x018b, 366, 1},
 
-      {0x1fa1, 214, 2},
+      {0x1f8b, 144, 2},
 
-      {0x24b7, 2346, 1},
+      {0x1e906, 3981, 1},
+      {0xffffffff, -1, 0},
 
-      {0x03a1, 796, 1},
+      {0xa78b, 3261, 1},
 
-      {0x0212, 529, 1},
+      {0x1fa5, 234, 2},
 
-      {0xaba1, 1595, 1},
+      {0xab8b, 1678, 1},
 
-      {0x10a3, 2754, 1},
+      {0x10c8b, 3651, 1},
 
-      {0x10ca1, 3456, 1},
+      {0x1e904, 3975, 1},
 
-      {0x01d3, 438, 1},
+      {0x1ca5, 1522, 1},
 
-      {0x1fd3, 25, 3},
+      {0xaba5, 1756, 1},
 
-      {0x0210, 526, 1},
+      {0x10ca5, 3729, 1},
       {0xffffffff, -1, 0},
 
-      {0x00d3, 135, 1},
+      {0x054e, 1432, 1},
 
-      {0x1e97, 34, 2},
+      {0x1eda, 2174, 1},
 
-      {0x10a1, 2748, 1},
+      {0x04da, 1216, 1},
 
-      {0x0197, 649, 1},
+      {0x1e900, 3963, 1},
 
-      {0x1f97, 204, 2},
+      {0x1fda, 2393, 1},
+
+      {0x2cda, 2870, 1},
+
+      {0x00da, 153, 1},
+
+      {0x10c0, 2990, 1},
+
+      {0x16e52, 3921, 1},
+
+      {0x03a9, 823, 1},
+
+      {0x0512, 1300, 1},
       {0xffffffff, -1, 0},
 
-      {0x0397, 759, 1},
+      {0x03a7, 817, 1},
 
-      {0x1041d, 3324, 1},
+      {0x1fa3, 224, 2},
 
-      {0xab97, 1565, 1},
+      {0x054f, 1435, 1},
+      {0xffffffff, -1, 0},
 
-      {0x041d, 929, 1},
+      {0x16e50, 3915, 1},
 
-      {0x10c97, 3426, 1},
+      {0x1ca3, 1516, 1},
 
-      {0x1f1d, 2121, 1},
+      {0xaba3, 1750, 1},
 
-      {0x2c1d, 2508, 1},
+      {0x10ca3, 3723, 1},
 
-      {0x1e72, 1884, 1},
+      {0x13fc, 1849, 1},
 
-      {0x0472, 1061, 1},
+      {0x1fa1, 214, 2},
+      {0xffffffff, -1, 0},
 
-      {0x0172, 336, 1},
+      {0x0388, 733, 1},
 
-      {0x118b3, 3567, 1},
+      {0x0548, 1414, 1},
 
-      {0x2c72, 2580, 1},
+      {0x1ca1, 1510, 1},
 
-      {0x0372, 712, 1},
+      {0xaba1, 1744, 1},
 
-      {0x1041b, 3318, 1},
+      {0x10ca1, 3717, 1},
 
-      {0xab72, 1454, 1},
+      {0x10b9, 2969, 1},
 
-      {0x041b, 923, 1},
+      {0x1ef4, 2213, 1},
 
-      {0x118a5, 3525, 1},
+      {0x04f4, 1255, 1},
 
-      {0x1f1b, 2115, 1},
+      {0x01f4, 487, 1},
 
-      {0x2c1b, 2502, 1},
+      {0x1ff4, 101, 2},
 
-      {0x1e70, 1881, 1},
+      {0x118b9, 3846, 1},
 
-      {0x0470, 1058, 1},
+      {0x0510, 1297, 1},
 
-      {0x0170, 333, 1},
+      {0x10b5, 2957, 1},
 
-      {0x118b1, 3561, 1},
+      {0x104cf, 3603, 1},
 
-      {0x2c70, 610, 1},
+      {0x16e4e, 3909, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0x0370, 709, 1},
+      {0x118b5, 3834, 1},
 
-      {0x1e46, 1817, 1},
+      {0x01cf, 432, 1},
 
-      {0xab70, 1448, 1},
+      {0x0220, 381, 1},
 
-      {0x1e66, 1866, 1},
+      {0x10ad, 2933, 1},
 
-      {0x0466, 1043, 1},
+      {0x00cf, 123, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0x0166, 318, 1},
+      {0x1e97, 34, 2},
 
-      {0x1e44, 1814, 1},
+      {0x118ad, 3810, 1},
 
-      {0x0046, 15, 1},
+      {0x0197, 649, 1},
 
-      {0x118af, 3555, 1},
+      {0x1f97, 204, 2},
 
-      {0xa746, 3027, 1},
+      {0x16e4f, 3912, 1},
+
+      {0x10af, 2939, 1},
       {0xffffffff, -1, 0},
 
-      {0xa766, 3075, 1},
+      {0x1c97, 1480, 1},
 
-      {0x0044, 9, 1},
+      {0xab97, 1714, 1},
+
+      {0x10c97, 3687, 1},
 
-      {0x118ad, 3549, 1},
+      {0x118af, 3816, 1},
 
-      {0xa744, 3024, 1},
+      {0x0181, 613, 1},
+
+      {0x1f81, 134, 2},
+      {0xffffffff, -1, 0},
+
+      {0x16e48, 3891, 1},
+
+      {0x24c0, 2522, 1},
+
+      {0x1c81, 906, 1},
+
+      {0xab81, 1648, 1},
 
-      {0x1e7a, 1896, 1},
+      {0x10c81, 3621, 1},
 
-      {0x047a, 1073, 1},
+      {0x10a5, 2909, 1},
 
-      {0x1e3a, 1799, 1},
+      {0x1e6c, 2024, 1},
+
+      {0x046c, 1063, 1},
+
+      {0x016c, 327, 1},
+
+      {0x1f6c, 2363, 1},
+
+      {0x118a5, 3786, 1},
       {0xffffffff, -1, 0},
 
-      {0xa646, 2874, 1},
+      {0xa76c, 3234, 1},
+
+      {0x24c8, 2546, 1},
 
-      {0x1f3a, 2154, 1},
+      {0x1e6a, 2021, 1},
 
-      {0xa666, 2922, 1},
+      {0x046a, 1060, 1},
+
+      {0x016a, 324, 1},
 
-      {0xab7a, 1478, 1},
+      {0x1f6a, 2357, 1},
 
-      {0x118a3, 3519, 1},
+      {0x038f, 839, 1},
 
-      {0xa644, 2871, 1},
+      {0x1e32, 1936, 1},
 
-      {0xa73a, 3009, 1},
+      {0xa76a, 3231, 1},
+
+      {0x0132, 243, 1},
+
+      {0x24b9, 2501, 1},
       {0xffffffff, -1, 0},
 
-      {0x1ef4, 2064, 1},
+      {0xa66c, 3081, 1},
 
-      {0x04f4, 1244, 1},
+      {0xa732, 3147, 1},
 
-      {0x01f4, 487, 1},
+      {0x10a3, 2903, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0x1ff4, 101, 2},
+      {0x021e, 547, 1},
+      {0xffffffff, -1, 0},
 
-      {0x118a1, 3513, 1},
+      {0x118a3, 3780, 1},
 
-      {0x03f4, 762, 1},
+      {0xa66a, 3078, 1},
 
-      {0x1eec, 2052, 1},
+      {0x1f59, 2339, 1},
 
-      {0x04ec, 1232, 1},
+      {0x10a1, 2897, 1},
 
-      {0x01ec, 477, 1},
+      {0x0059, 71, 1},
 
-      {0x1fec, 2286, 1},
+      {0x1e64, 2012, 1},
 
-      {0x0546, 1397, 1},
+      {0x0464, 1051, 1},
+
+      {0x0164, 315, 1},
 
-      {0x03ec, 872, 1},
+      {0x118a1, 3774, 1},
+
+      {0x2c64, 676, 1},
       {0xffffffff, -1, 0},
 
-      {0x013f, 261, 1},
+      {0xa764, 3222, 1},
+
+      {0x024e, 601, 1},
+
+      {0x1e68, 2018, 1},
 
-      {0x1f3f, 2169, 1},
+      {0x0468, 1057, 1},
 
-      {0x0544, 1391, 1},
+      {0x0168, 321, 1},
 
-      {0x1eea, 2049, 1},
+      {0x1f68, 2351, 1},
 
-      {0x04ea, 1229, 1},
+      {0x10417, 3459, 1},
 
-      {0x01ea, 474, 1},
+      {0x042f, 993, 1},
+
+      {0xa768, 3228, 1},
+
+      {0x1f2f, 2294, 1},
+
+      {0x0417, 916, 1},
+
+      {0x0212, 529, 1},
+
+      {0xa664, 3069, 1},
+
+      {0x2c17, 2639, 1},
+
+      {0x216c, 2477, 1},
+
+      {0x1e62, 2009, 1},
+
+      {0x0462, 1047, 1},
+
+      {0x0162, 312, 1},
 
-      {0x1fea, 2256, 1},
+      {0x1e46, 1966, 1},
+
+      {0x2c62, 658, 1},
+
+      {0xa668, 3075, 1},
+
+      {0xa762, 3219, 1},
+
+      {0x216a, 2471, 1},
+
+      {0x0046, 15, 1},
+
+      {0xa746, 3177, 1},
+
+      {0x0248, 592, 1},
       {0xffffffff, -1, 0},
 
-      {0x03ea, 869, 1},
+      {0x2132, 2438, 1},
 
-      {0x1ee8, 2046, 1},
+      {0x1e60, 2005, 1},
 
-      {0x04e8, 1226, 1},
+      {0x0460, 1044, 1},
 
-      {0x01e8, 471, 1},
+      {0x0160, 309, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1fe8, 2280, 1},
+      {0x2c60, 2711, 1},
 
-      {0x053a, 1361, 1},
+      {0xa662, 3066, 1},
 
-      {0x03e8, 866, 1},
+      {0xa760, 3216, 1},
 
-      {0x1ee6, 2043, 1},
+      {0x0210, 526, 1},
 
-      {0x04e6, 1223, 1},
+      {0xa646, 3023, 1},
 
-      {0x01e6, 468, 1},
+      {0x1e44, 1963, 1},
 
-      {0x1fe6, 88, 2},
+      {0x1eec, 2201, 1},
 
-      {0x1f4b, 2181, 1},
+      {0x04ec, 1243, 1},
 
-      {0x03e6, 863, 1},
+      {0x01ec, 477, 1},
 
-      {0x1e5e, 1853, 1},
+      {0x1fec, 2435, 1},
 
-      {0x004b, 27, 1},
+      {0x0044, 9, 1},
 
-      {0x015e, 306, 1},
+      {0xa744, 3174, 1},
 
-      {0x2166, 2310, 1},
+      {0x2164, 2453, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1ee4, 2040, 1},
+      {0xa660, 3063, 1},
 
-      {0x04e4, 1220, 1},
+      {0x1ee2, 2186, 1},
 
-      {0x01e4, 465, 1},
+      {0x04e2, 1228, 1},
 
-      {0x1fe4, 80, 2},
+      {0x01e2, 462, 1},
 
-      {0xa75e, 3063, 1},
+      {0x1fe2, 36, 3},
 
-      {0x03e4, 860, 1},
+      {0x2ce2, 2882, 1},
 
-      {0x1ee0, 2034, 1},
+      {0x2168, 2465, 1},
 
-      {0x04e0, 1214, 1},
+      {0x1ed8, 2171, 1},
 
-      {0x01e0, 459, 1},
+      {0x04d8, 1213, 1},
+
+      {0xa644, 3020, 1},
+
+      {0x1fd8, 2423, 1},
 
-      {0x053f, 1376, 1},
+      {0x2cd8, 2867, 1},
 
-      {0x2ce0, 2730, 1},
+      {0x00d8, 147, 1},
+
+      {0x1ede, 2180, 1},
 
-      {0x03e0, 854, 1},
+      {0x04de, 1222, 1},
+
+      {0x01de, 456, 1},
 
-      {0x1edc, 2028, 1},
+      {0x03a5, 810, 1},
 
-      {0x04dc, 1208, 1},
+      {0x2cde, 2876, 1},
 
-      {0xa65e, 2910, 1},
+      {0x00de, 165, 1},
+
+      {0x2162, 2447, 1},
+
+      {0x1ed6, 2168, 1},
+
+      {0x04d6, 1210, 1},
+
+      {0x24cf, 2567, 1},
+
+      {0x1fd6, 76, 2},
+
+      {0x2cd6, 2864, 1},
+
+      {0x00d6, 144, 1},
       {0xffffffff, -1, 0},
 
-      {0x2cdc, 2724, 1},
+      {0x104d2, 3612, 1},
 
-      {0x03dc, 848, 1},
+      {0x03da, 848, 1},
+      {0xffffffff, -1, 0},
 
-      {0x00dc, 159, 1},
+      {0x1ed2, 2162, 1},
 
-      {0x1ed0, 2010, 1},
+      {0x04d2, 1204, 1},
 
-      {0x04d0, 1190, 1},
-      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
+      {0x2160, 2441, 1},
 
-      {0x2cd0, 2706, 1},
+      {0x1fd2, 20, 3},
 
-      {0x03d0, 742, 1},
+      {0x2cd2, 2858, 1},
 
-      {0x00d0, 126, 1},
+      {0x00d2, 132, 1},
 
-      {0x1ecc, 2004, 1},
+      {0x104d0, 3606, 1},
 
-      {0x054b, 1412, 1},
+      {0x03a3, 803, 1},
       {0xffffffff, -1, 0},
 
-      {0x1fcc, 71, 2},
+      {0x1ed0, 2159, 1},
+
+      {0x04d0, 1201, 1},
+
+      {0x0532, 1348, 1},
+      {0xffffffff, -1, 0},
+
+      {0x2cd0, 2855, 1},
+
+      {0x00d0, 126, 1},
 
-      {0x2ccc, 2700, 1},
+      {0x03a1, 799, 1},
+
+      {0x104cc, 3594, 1},
+
+      {0x104bf, 3555, 1},
+
+      {0x042d, 987, 1},
+
+      {0x1ecc, 2153, 1},
+
+      {0x1f2d, 2288, 1},
+
+      {0x2c2d, 2705, 1},
+
+      {0x1fcc, 71, 2},
 
-      {0x1ec6, 1995, 1},
+      {0x2ccc, 2849, 1},
 
       {0x00cc, 114, 1},
+
+      {0x104cb, 3591, 1},
+
+      {0x03f4, 765, 1},
+
+      {0x1cbf, 1594, 1},
+
+      {0xabbf, 1834, 1},
+
+      {0x04cb, 1192, 1},
+
+      {0x01cb, 425, 1},
+
+      {0x1fcb, 2390, 1},
+
+      {0x104c6, 3576, 1},
+
+      {0x00cb, 111, 1},
       {0xffffffff, -1, 0},
 
-      {0x1fc6, 67, 2},
+      {0x1ec6, 2144, 1},
 
-      {0x2cc6, 2691, 1},
+      {0x03cf, 842, 1},
+
+      {0x104c5, 3573, 1},
+
+      {0x1fc6, 67, 2},
 
-      {0x24c8, 2397, 1},
+      {0x2cc6, 2840, 1},
 
       {0x00c6, 96, 1},
 
-      {0x04c5, 1172, 1},
+      {0x04c5, 1183, 1},
 
       {0x01c5, 417, 1},
-      {0xffffffff, -1, 0},
 
-      {0x1fbb, 2229, 1},
+      {0x104bd, 3549, 1},
 
-      {0x24c7, 2394, 1},
+      {0x0397, 762, 1},
 
       {0x00c5, 92, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1fb9, 2271, 1},
+      {0x1e920, 4059, 1},
 
-      {0xabbb, 1673, 1},
+      {0xff32, 3363, 1},
 
-      {0x24c0, 2373, 1},
+      {0x104bb, 3543, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0x04c3, 1169, 1},
+      {0x0546, 1408, 1},
 
-      {0xabb9, 1667, 1},
+      {0x1cbd, 1588, 1},
 
-      {0x1fc3, 71, 2},
+      {0xabbd, 1828, 1},
+
+      {0x1fbb, 2378, 1},
+
+      {0x019f, 673, 1},
+
+      {0x1f9f, 204, 2},
+      {0xffffffff, -1, 0},
+
+      {0x16e59, 3942, 1},
+
+      {0xabbb, 1822, 1},
+
+      {0x1c9f, 1504, 1},
+
+      {0xab9f, 1738, 1},
+
+      {0x10c9f, 3711, 1},
+
+      {0x1ef0, 2207, 1},
+
+      {0x04f0, 1249, 1},
+
+      {0x01f0, 20, 2},
+
+      {0x019d, 670, 1},
+
+      {0x1f9d, 194, 2},
       {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0x00c3, 86, 1},
+      {0x0544, 1402, 1},
 
-      {0x10c5, 2856, 1},
+      {0x1c9d, 1498, 1},
 
-      {0x10bb, 2826, 1},
+      {0xab9d, 1732, 1},
 
-      {0x1ed4, 2016, 1},
+      {0x10c9d, 3705, 1},
 
-      {0x04d4, 1196, 1},
+      {0x1e99, 42, 2},
+      {0xffffffff, -1, 0},
 
-      {0x10b9, 2820, 1},
+      {0xff2f, 3354, 1},
 
-      {0x13fc, 1700, 1},
+      {0x1f99, 174, 2},
+      {0xffffffff, -1, 0},
 
-      {0x2cd4, 2712, 1},
+      {0x0193, 634, 1},
 
-      {0x0246, 589, 1},
+      {0x1f93, 184, 2},
 
-      {0x00d4, 138, 1},
+      {0x1c99, 1486, 1},
+
+      {0xab99, 1720, 1},
 
-      {0x10c3, 2850, 1},
+      {0x10c99, 3693, 1},
+
+      {0x1c93, 1468, 1},
+
+      {0xab93, 1702, 1},
+
+      {0x10c93, 3675, 1},
+
+      {0x0145, 270, 1},
+
+      {0x16e46, 3885, 1},
       {0xffffffff, -1, 0},
 
-      {0xff3a, 3234, 1},
+      {0x0045, 12, 1},
+      {0xffffffff, -1, 0},
 
-      {0x0244, 688, 1},
+      {0x0191, 369, 1},
 
-      {0x019f, 670, 1},
+      {0x1f91, 174, 2},
 
-      {0x1f9f, 204, 2},
+      {0x1e91e, 4053, 1},
       {0xffffffff, -1, 0},
 
-      {0x039f, 789, 1},
+      {0x10bf, 2987, 1},
+
+      {0x1c91, 1462, 1},
+
+      {0xab91, 1696, 1},
+
+      {0x10c91, 3669, 1},
       {0xffffffff, -1, 0},
 
-      {0xab9f, 1589, 1},
+      {0x118bf, 3864, 1},
       {0xffffffff, -1, 0},
 
-      {0x10c9f, 3450, 1},
+      {0x0187, 363, 1},
 
-      {0x019d, 667, 1},
+      {0x1f87, 164, 2},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0x1f9d, 194, 2},
+      {0x16e44, 3879, 1},
 
-      {0x023a, 2565, 1},
+      {0x1c87, 1047, 1},
 
-      {0x039d, 783, 1},
+      {0xab87, 1666, 1},
 
-      {0x1e5a, 1847, 1},
+      {0x10c87, 3639, 1},
 
-      {0xab9d, 1583, 1},
+      {0x1e72, 2033, 1},
 
-      {0x015a, 300, 1},
+      {0x0472, 1072, 1},
 
-      {0x10c9d, 3444, 1},
+      {0x0172, 336, 1},
 
-      {0x1e9b, 1856, 1},
+      {0x0232, 574, 1},
 
-      {0x24cd, 2412, 1},
+      {0x2c72, 2729, 1},
 
-      {0x005a, 74, 1},
+      {0x10c5, 3005, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1f9b, 184, 2},
+      {0x1e912, 4017, 1},
 
-      {0xa75a, 3057, 1},
+      {0xab72, 1603, 1},
 
-      {0x039b, 776, 1},
+      {0x0139, 252, 1},
 
-      {0x1ece, 2007, 1},
+      {0x1f39, 2300, 1},
 
-      {0xab9b, 1577, 1},
+      {0x10bd, 2981, 1},
 
-      {0x1e99, 42, 2},
+      {0x1e66, 2015, 1},
 
-      {0x10c9b, 3438, 1},
+      {0x0466, 1054, 1},
 
-      {0x2cce, 2703, 1},
+      {0x0166, 318, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1f99, 174, 2},
+      {0x118bd, 3858, 1},
 
-      {0x00ce, 120, 1},
+      {0x10bb, 2975, 1},
+
+      {0xa766, 3225, 1},
 
-      {0x0399, 767, 1},
+      {0x1e70, 2030, 1},
 
-      {0xa65a, 2904, 1},
+      {0x0470, 1069, 1},
 
-      {0xab99, 1571, 1},
+      {0x0170, 333, 1},
+
+      {0x118bb, 3852, 1},
+
+      {0x2c70, 610, 1},
+
+      {0x1edc, 2177, 1},
+
+      {0x04dc, 1219, 1},
+
+      {0x03ec, 875, 1},
+
+      {0xab70, 1597, 1},
+
+      {0x2cdc, 2873, 1},
+
+      {0x00dc, 159, 1},
+
+      {0xa666, 3072, 1},
+
+      {0x1e910, 4011, 1},
+
+      {0x1e5a, 1996, 1},
+
+      {0x0143, 267, 1},
+
+      {0x015a, 300, 1},
+
+      {0x03e2, 860, 1},
+
+      {0x0043, 6, 1},
+
+      {0x005a, 74, 1},
+
+      {0xa75a, 3207, 1},
+
+      {0x24cc, 2558, 1},
+
+      {0x24bf, 2519, 1},
+
+      {0x03d8, 845, 1},
       {0xffffffff, -1, 0},
 
-      {0x10c99, 3432, 1},
+      {0x1e3a, 1948, 1},
 
-      {0x0193, 634, 1},
+      {0x0246, 589, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1f93, 184, 2},
+      {0x1f3a, 2303, 1},
 
-      {0x1e58, 1844, 1},
+      {0x03de, 854, 1},
 
-      {0x0393, 746, 1},
+      {0x24cb, 2555, 1},
+
+      {0xa73a, 3159, 1},
+
+      {0xa65a, 3054, 1},
+
+      {0x1e58, 1993, 1},
+
+      {0xff2d, 3348, 1},
 
       {0x0158, 297, 1},
 
-      {0xab93, 1553, 1},
-      {0xffffffff, -1, 0},
+      {0x03d6, 795, 1},
 
-      {0x10c93, 3414, 1},
+      {0x24c6, 2540, 1},
 
       {0x0058, 68, 1},
 
-      {0x042d, 977, 1},
+      {0xa758, 3204, 1},
 
-      {0xa758, 3054, 1},
+      {0x0141, 264, 1},
 
-      {0x1f2d, 2139, 1},
+      {0x1e42, 1960, 1},
 
-      {0x2c2d, 2556, 1},
+      {0x24c5, 2537, 1},
 
-      {0x118bb, 3591, 1},
+      {0x0041, 0, 1},
 
-      {0x0191, 369, 1},
+      {0x2166, 2459, 1},
 
-      {0x1f91, 174, 2},
+      {0x0244, 691, 1},
+
+      {0x0042, 3, 1},
+
+      {0xa742, 3171, 1},
 
-      {0x118b9, 3585, 1},
+      {0x24bd, 2513, 1},
 
-      {0x0391, 739, 1},
+      {0x104ce, 3600, 1},
       {0xffffffff, -1, 0},
 
-      {0xab91, 1547, 1},
+      {0xa658, 3051, 1},
 
-      {0xa658, 2901, 1},
+      {0x1ece, 2156, 1},
+      {0xffffffff, -1, 0},
 
-      {0x10c91, 3408, 1},
+      {0x24bb, 2507, 1},
 
-      {0x018f, 625, 1},
+      {0x03d0, 745, 1},
 
-      {0x1f8f, 164, 2},
-      {0xffffffff, -1, 0},
+      {0x2cce, 2852, 1},
 
-      {0x038f, 836, 1},
+      {0x00ce, 120, 1},
       {0xffffffff, -1, 0},
 
-      {0xab8f, 1541, 1},
-      {0xffffffff, -1, 0},
+      {0xa642, 3017, 1},
 
-      {0x10c8f, 3402, 1},
+      {0x1ef2, 2210, 1},
 
-      {0x018b, 366, 1},
+      {0x04f2, 1252, 1},
 
-      {0x1f8b, 144, 2},
+      {0x01f2, 483, 1},
+
+      {0x1ff2, 257, 2},
+
+      {0x2cf2, 2891, 1},
       {0xffffffff, -1, 0},
 
-      {0x0187, 363, 1},
+      {0x0545, 1405, 1},
 
-      {0x1f87, 164, 2},
+      {0x1eea, 2198, 1},
+
+      {0x04ea, 1240, 1},
+
+      {0x01ea, 474, 1},
+
+      {0x1fea, 2405, 1},
+
+      {0x1ee8, 2195, 1},
 
-      {0xab8b, 1529, 1},
+      {0x04e8, 1237, 1},
 
-      {0xa78b, 3111, 1},
+      {0x01e8, 471, 1},
 
-      {0x10c8b, 3390, 1},
+      {0x1fe8, 2429, 1},
 
-      {0xab87, 1517, 1},
+      {0x1ee6, 2192, 1},
 
-      {0x04c1, 1166, 1},
+      {0x04e6, 1234, 1},
 
-      {0x10c87, 3378, 1},
+      {0x01e6, 468, 1},
 
-      {0x1e7e, 1902, 1},
+      {0x1fe6, 88, 2},
 
-      {0x047e, 1079, 1},
+      {0x1f4b, 2330, 1},
       {0xffffffff, -1, 0},
 
-      {0x00c1, 80, 1},
+      {0x004b, 27, 1},
 
-      {0x2c7e, 580, 1},
-      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
+      {0x0587, 105, 2},
 
-      {0xab7e, 1490, 1},
+      {0x1ee4, 2189, 1},
 
-      {0xa77e, 3096, 1},
+      {0x04e4, 1231, 1},
 
-      {0x1e76, 1890, 1},
+      {0x01e4, 465, 1},
 
-      {0x0476, 1067, 1},
+      {0x1fe4, 80, 2},
 
-      {0x0176, 342, 1},
+      {0x104c1, 3561, 1},
 
-      {0x1e42, 1811, 1},
+      {0x1e5e, 2002, 1},
+      {0xffffffff, -1, 0},
 
-      {0x10c1, 2844, 1},
+      {0x015e, 306, 1},
 
-      {0x0376, 715, 1},
+      {0x04c1, 1177, 1},
 
-      {0x1e36, 1793, 1},
+      {0x1f83, 144, 2},
+      {0xffffffff, -1, 0},
 
-      {0xab76, 1466, 1},
+      {0xa75e, 3213, 1},
 
-      {0x0136, 249, 1},
+      {0x00c1, 80, 1},
 
-      {0x0042, 3, 1},
+      {0x1c83, 947, 1},
 
-      {0x1e3e, 1805, 1},
+      {0xab83, 1654, 1},
 
-      {0xa742, 3021, 1},
+      {0x10c83, 3627, 1},
 
-      {0x1e38, 1796, 1},
+      {0x0539, 1369, 1},
 
-      {0x1f3e, 2166, 1},
+      {0x039f, 792, 1},
 
-      {0xa736, 3003, 1},
+      {0x1e7e, 2051, 1},
 
-      {0x1f38, 2148, 1},
+      {0x047e, 1090, 1},
+
+      {0x16e45, 3882, 1},
       {0xffffffff, -1, 0},
 
-      {0x0587, 105, 2},
+      {0x2c7e, 580, 1},
+
+      {0xa65e, 3060, 1},
 
-      {0xa73e, 3015, 1},
+      {0xa77e, 3246, 1},
       {0xffffffff, -1, 0},
 
-      {0xa738, 3006, 1},
+      {0xab7e, 1639, 1},
 
-      {0xa642, 2868, 1},
+      {0x03f0, 775, 1},
 
-      {0x1e5c, 1850, 1},
+      {0x039d, 786, 1},
 
-      {0x1e34, 1790, 1},
+      {0x1e76, 2039, 1},
 
-      {0x015c, 303, 1},
+      {0x0476, 1078, 1},
 
-      {0x0134, 246, 1},
+      {0x0176, 342, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1ef6, 2067, 1},
+      {0x1e5c, 1999, 1},
+      {0xffffffff, -1, 0},
 
-      {0x04f6, 1247, 1},
+      {0x015c, 303, 1},
+      {0xffffffff, -1, 0},
 
-      {0x01f6, 372, 1},
+      {0xab76, 1615, 1},
 
-      {0x1ff6, 92, 2},
+      {0x0399, 770, 1},
 
-      {0xa75c, 3060, 1},
+      {0xa75c, 3210, 1},
 
-      {0xa734, 3000, 1},
+      {0x0543, 1399, 1},
 
-      {0x1ef0, 2058, 1},
+      {0x0393, 749, 1},
 
-      {0x04f0, 1238, 1},
+      {0x0149, 46, 2},
 
-      {0x01f0, 20, 2},
-      {0xffffffff, -1, 0},
+      {0x1f49, 2324, 1},
 
-      {0x1e30, 1784, 1},
+      {0x1e40, 1957, 1},
 
-      {0x03f0, 772, 1},
+      {0x0049, 4065, 1},
 
-      {0x0130, 261, 2},
+      {0x1eee, 2204, 1},
 
-      {0x0542, 1385, 1},
+      {0x04ee, 1246, 1},
 
-      {0xa65c, 2907, 1},
+      {0x01ee, 480, 1},
 
-      {0x1f83, 144, 2},
+      {0x0345, 770, 1},
 
-      {0x0536, 1349, 1},
-      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
+      {0xa740, 3168, 1},
 
-      {0xab83, 1505, 1},
+      {0xa65c, 3057, 1},
 
-      {0x053e, 1373, 1},
+      {0x053a, 1372, 1},
 
-      {0x10c83, 3366, 1},
+      {0xff39, 3384, 1},
 
-      {0x0538, 1355, 1},
+      {0x0391, 742, 1},
 
-      {0x1eee, 2055, 1},
+      {0x1e3e, 1954, 1},
 
-      {0x04ee, 1235, 1},
+      {0x2183, 2489, 1},
 
-      {0x01ee, 480, 1},
+      {0x1e38, 1945, 1},
 
-      {0x1f8d, 154, 2},
+      {0x1f3e, 2315, 1},
       {0xffffffff, -1, 0},
 
-      {0x03ee, 875, 1},
-      {0xffffffff, -1, 0},
+      {0x1f38, 2297, 1},
 
-      {0xab8d, 1535, 1},
+      {0xa73e, 3165, 1},
 
-      {0xa78d, 643, 1},
+      {0xa640, 3014, 1},
 
-      {0x10c8d, 3396, 1},
+      {0xa738, 3156, 1},
 
-      {0x0534, 1343, 1},
+      {0x1e36, 1942, 1},
 
-      {0x0181, 613, 1},
+      {0x0541, 1393, 1},
 
-      {0x1f81, 134, 2},
+      {0x0136, 249, 1},
 
-      {0x013d, 258, 1},
+      {0x1e34, 1939, 1},
+
+      {0x0542, 1396, 1},
 
-      {0x1f3d, 2163, 1},
+      {0x0134, 246, 1},
+
+      {0xa736, 3153, 1},
+
+      {0x013b, 255, 1},
+
+      {0x1f3b, 2306, 1},
+
+      {0xa734, 3150, 1},
       {0xffffffff, -1, 0},
 
-      {0xab81, 1499, 1},
+      {0x0372, 715, 1},
 
-      {0x017f, 52, 1},
+      {0x10415, 3453, 1},
 
-      {0x10c81, 3360, 1},
+      {0x16e43, 3876, 1},
 
-      {0x2c7f, 583, 1},
+      {0x16e5a, 3945, 1},
 
-      {0x037f, 881, 1},
+      {0x042b, 981, 1},
 
-      {0xff2d, 3195, 1},
+      {0x0415, 910, 1},
 
-      {0xab7f, 1493, 1},
+      {0x1f2b, 2282, 1},
 
-      {0x1e74, 1887, 1},
+      {0x2c2b, 2699, 1},
 
-      {0x0474, 1064, 1},
+      {0x2c15, 2633, 1},
 
-      {0x0174, 339, 1},
+      {0x10c1, 2993, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1e3c, 1802, 1},
+      {0x1041d, 3477, 1},
 
-      {0x0149, 46, 2},
+      {0x0245, 700, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1f49, 2175, 1},
+      {0xff3a, 3387, 1},
 
-      {0x1f3c, 2160, 1},
+      {0x041d, 934, 1},
 
-      {0xab74, 1460, 1},
+      {0xfb17, 117, 2},
 
-      {0x0049, 3606, 1},
+      {0x1f1d, 2270, 1},
 
-      {0x0143, 267, 1},
+      {0x2c1d, 2657, 1},
 
-      {0x24cc, 2409, 1},
+      {0x0370, 712, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0xa73c, 3012, 1},
+      {0x16e58, 3939, 1},
       {0xffffffff, -1, 0},
 
-      {0x0043, 6, 1},
+      {0x03dc, 851, 1},
 
-      {0x0141, 264, 1},
+      {0x1041b, 3471, 1},
 
-      {0x24c6, 2391, 1},
+      {0x24ce, 2564, 1},
 
-      {0x013b, 255, 1},
+      {0x16e41, 3870, 1},
 
-      {0x1f3b, 2157, 1},
+      {0x054b, 1423, 1},
 
-      {0x0041, 0, 1},
+      {0x041b, 928, 1},
 
-      {0x0139, 252, 1},
+      {0x16e42, 3873, 1},
+
+      {0x1f1b, 2264, 1},
+
+      {0x2c1b, 2651, 1},
+
+      {0x10419, 3465, 1},
 
-      {0x1f39, 2151, 1},
+      {0x10413, 3447, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0x24c5, 2388, 1},
+      {0x0419, 922, 1},
 
-      {0x24bb, 2358, 1},
+      {0x0413, 903, 1},
 
-      {0x13fa, 1694, 1},
+      {0x1f19, 2258, 1},
 
-      {0x053d, 1370, 1},
+      {0x2c19, 2645, 1},
 
-      {0x24b9, 2352, 1},
+      {0x2c13, 2627, 1},
 
-      {0x0429, 965, 1},
+      {0x1040f, 3435, 1},
 
-      {0x2183, 2340, 1},
+      {0x1e917, 4032, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1f29, 2127, 1},
+      {0x017f, 52, 1},
 
-      {0x2c29, 2544, 1},
+      {0x040f, 1041, 1},
 
-      {0x24c3, 2382, 1},
+      {0x2c7f, 583, 1},
 
-      {0x10427, 3354, 1},
+      {0x1f0f, 2252, 1},
 
-      {0x10425, 3348, 1},
+      {0x2c0f, 2615, 1},
 
-      {0x0427, 959, 1},
+      {0x1040d, 3429, 1},
 
-      {0x0425, 953, 1},
+      {0xab7f, 1642, 1},
       {0xffffffff, -1, 0},
 
-      {0x2c27, 2538, 1},
+      {0x212b, 92, 1},
+
+      {0x040d, 1035, 1},
 
-      {0x2c25, 2532, 1},
+      {0x1040b, 3423, 1},
 
-      {0x0549, 1406, 1},
+      {0x1f0d, 2246, 1},
 
-      {0x053c, 1367, 1},
+      {0x2c0d, 2609, 1},
+      {0xffffffff, -1, 0},
 
-      {0x10423, 3342, 1},
+      {0x040b, 1029, 1},
       {0xffffffff, -1, 0},
 
-      {0x0423, 947, 1},
+      {0x1f0b, 2240, 1},
 
-      {0x0543, 1388, 1},
+      {0x2c0b, 2603, 1},
       {0xffffffff, -1, 0},
 
-      {0x2c23, 2526, 1},
+      {0x24c1, 2525, 1},
+
+      {0x16e4b, 3900, 1},
 
-      {0xff36, 3222, 1},
+      {0x10409, 3417, 1},
+
+      {0x10405, 3405, 1},
       {0xffffffff, -1, 0},
 
-      {0x0541, 1382, 1},
+      {0x0243, 354, 1},
+
+      {0x0409, 1023, 1},
 
-      {0x10421, 3336, 1},
+      {0x0405, 1011, 1},
 
-      {0x053b, 1364, 1},
+      {0x1f09, 2234, 1},
 
-      {0x0421, 941, 1},
+      {0x2c09, 2597, 1},
 
-      {0xff38, 3228, 1},
+      {0x2c05, 2585, 1},
 
-      {0x0539, 1358, 1},
+      {0x0549, 1417, 1},
 
-      {0x2c21, 2520, 1},
+      {0x10403, 3399, 1},
 
-      {0x10419, 3312, 1},
+      {0x16e5e, 3957, 1},
+      {0xffffffff, -1, 0},
 
-      {0x10417, 3306, 1},
+      {0x0540, 1390, 1},
 
-      {0x0419, 917, 1},
+      {0x0403, 1005, 1},
 
-      {0x0417, 911, 1},
+      {0x023a, 2714, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1f19, 2109, 1},
+      {0x2c03, 2579, 1},
 
-      {0x2c19, 2496, 1},
+      {0x10401, 3393, 1},
 
-      {0x2c17, 2490, 1},
+      {0x03ea, 872, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0x023e, 2568, 1},
+      {0x0401, 999, 1},
 
-      {0xff34, 3216, 1},
+      {0x03e8, 869, 1},
 
-      {0x10415, 3300, 1},
+      {0x053e, 1384, 1},
 
-      {0x10413, 3294, 1},
+      {0x2c01, 2573, 1},
 
-      {0x0415, 905, 1},
+      {0x0538, 1366, 1},
 
-      {0x0413, 899, 1},
-      {0xffffffff, -1, 0},
+      {0x03e6, 866, 1},
 
-      {0x2c15, 2484, 1},
+      {0x0241, 586, 1},
 
-      {0x2c13, 2478, 1},
+      {0x1ef8, 2219, 1},
+
+      {0x04f8, 1261, 1},
+
+      {0x01f8, 490, 1},
+
+      {0x1ff8, 2399, 1},
+
+      {0x0536, 1360, 1},
       {0xffffffff, -1, 0},
 
-      {0x24ce, 2415, 1},
+      {0x03e4, 863, 1},
 
-      {0x1040f, 3282, 1},
+      {0x0534, 1354, 1},
       {0xffffffff, -1, 0},
 
-      {0x040f, 1031, 1},
+      {0x053b, 1375, 1},
 
-      {0xff30, 3204, 1},
+      {0x16e5c, 3951, 1},
 
-      {0x1f0f, 2103, 1},
+      {0x1ef6, 2216, 1},
 
-      {0x2c0f, 2466, 1},
+      {0x04f6, 1258, 1},
 
-      {0x1040d, 3276, 1},
-      {0xffffffff, -1, 0},
+      {0x01f6, 372, 1},
 
-      {0x040d, 1025, 1},
+      {0x1ff6, 92, 2},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0x0147, 273, 1},
+      {0x16e49, 3894, 1},
+      {0xffffffff, -1, 0},
 
-      {0x1f0d, 2097, 1},
+      {0x1f8d, 154, 2},
 
-      {0x2c0d, 2460, 1},
+      {0x1e3c, 1951, 1},
 
-      {0x1040b, 3270, 1},
+      {0x16e40, 3867, 1},
 
-      {0x0047, 18, 1},
+      {0xa78d, 643, 1},
 
-      {0x040b, 1019, 1},
+      {0x1f3c, 2309, 1},
 
-      {0x0230, 571, 1},
+      {0xab8d, 1684, 1},
 
-      {0x1f0b, 2091, 1},
+      {0x10c8d, 3657, 1},
 
-      {0x2c0b, 2454, 1},
+      {0xa73c, 3162, 1},
+      {0xffffffff, -1, 0},
 
-      {0x10409, 3264, 1},
+      {0x1e78, 2042, 1},
 
-      {0x10405, 3252, 1},
+      {0x0478, 1081, 1},
 
-      {0x0409, 1013, 1},
+      {0x0178, 168, 1},
 
-      {0x0405, 1001, 1},
+      {0x1e74, 2036, 1},
 
-      {0x1f09, 2085, 1},
+      {0x0474, 1075, 1},
 
-      {0x2c09, 2448, 1},
+      {0x0174, 339, 1},
 
-      {0x2c05, 2436, 1},
+      {0xff38, 3381, 1},
 
-      {0x10403, 3246, 1},
+      {0x0376, 718, 1},
 
-      {0x10401, 3240, 1},
+      {0xab78, 1621, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0x0403, 995, 1},
+      {0xab74, 1609, 1},
 
-      {0x0401, 989, 1},
-      {0xffffffff, -1, 0},
+      {0x0429, 974, 1},
 
-      {0x2c03, 2430, 1},
+      {0xff36, 3375, 1},
 
-      {0x2c01, 2424, 1},
+      {0x1f29, 2276, 1},
 
-      {0x13f9, 1691, 1},
+      {0x2c29, 2693, 1},
 
-      {0x042f, 983, 1},
+      {0xff34, 3369, 1},
       {0xffffffff, -1, 0},
 
-      {0x1f2f, 2145, 1},
+      {0x10427, 3507, 1},
 
-      {0x1041f, 3330, 1},
-      {0xffffffff, -1, 0},
+      {0x10425, 3501, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0x041f, 935, 1},
+      {0x0427, 968, 1},
 
-      {0x023d, 378, 1},
+      {0x0425, 962, 1},
 
-      {0x10411, 3288, 1},
+      {0x03ee, 878, 1},
 
-      {0x2c1f, 2514, 1},
+      {0x2c27, 2687, 1},
 
-      {0x0411, 893, 1},
+      {0x2c25, 2681, 1},
 
-      {0x0547, 1400, 1},
-      {0xffffffff, -1, 0},
+      {0xff2b, 3342, 1},
+
+      {0x10423, 3495, 1},
 
-      {0x2c11, 2472, 1},
+      {0x1041f, 3483, 1},
 
-      {0x10407, 3258, 1},
+      {0x10411, 3441, 1},
       {0xffffffff, -1, 0},
 
-      {0x0407, 1007, 1},
+      {0x0423, 956, 1},
+
+      {0x041f, 941, 1},
+
+      {0x0411, 896, 1},
 
-      {0x24c1, 2376, 1},
+      {0x2c23, 2675, 1},
+
+      {0x2c1f, 2663, 1},
+
+      {0x2c11, 2621, 1},
+
+      {0x10407, 3411, 1},
       {0xffffffff, -1, 0},
 
-      {0x2c07, 2442, 1},
+      {0x017d, 351, 1},
       {0xffffffff, -1, 0},
 
-      {0x13f8, 1688, 1},
+      {0x0407, 1017, 1},
+
+      {0x13f8, 1837, 1},
+
+      {0xa77d, 1855, 1},
+
+      {0x2c07, 2591, 1},
+
+      {0xab7d, 1636, 1},
+
+      {0x017b, 348, 1},
+
+      {0x0179, 345, 1},
       {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0xff39, 3231, 1},
-      {0xffffffff, -1, 0},
+      {0xa77b, 3243, 1},
 
-      {0x0243, 354, 1},
-      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
+      {0xa779, 3240, 1},
 
-      {0x0241, 586, 1},
+      {0xab7b, 1630, 1},
+
+      {0xab79, 1624, 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},
 
-      {0xff29, 3183, 1},
+      {0x023e, 2717, 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},
 
       {0x023b, 577, 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},
 
-      {0xff27, 3177, 1},
+      {0x037f, 884, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0xff25, 3171, 1},
+      {0x053c, 1378, 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},
 
-      {0xff23, 3165, 1},
+      {0xff29, 3336, 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},
+
+      {0xff27, 3330, 1},
+
+      {0xff25, 3324, 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},
 
-      {0xff21, 3159, 1},
+      {0xff23, 3318, 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},
@@ -2816,37 +3182,98 @@ unicode_unfold_key(OnigCodePoint code)
       {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},
+
+      {0xfb15, 113, 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}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
       {0xffffffff, -1, 0},
 
-      {0xfb17, 117, 2},
+      {0x1e915, 4026, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
+
+      {0xfb13, 121, 2},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
+
+      {0x1e91d, 4050, 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},
+
+      {0x1e91b, 4044, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
       {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0xff2f, 3201, 1},
+      {0x1e919, 4038, 1},
+
+      {0x1e913, 4020, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
+
+      {0xfb05, 29, 2},
+      {0xffffffff, -1, 0},
+
+      {0x1e90f, 4008, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
+      {0xffffffff, -1, 0},
+
+      {0xfb03, 0, 3},
+
+      {0x1e90d, 4002, 1},
       {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0xfb15, 113, 2},
+      {0x1e90b, 3996, 1},
+      {0xffffffff, -1, 0},
 
-      {0xfb13, 121, 2},
+      {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},
+
+      {0x1e909, 3990, 1},
+
+      {0x1e905, 3978, 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},
+
+      {0x1e903, 3972, 1},
       {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
+
+      {0x1e901, 3966, 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},
-
-      {0xfb05, 29, 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}, {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},
 
-      {0xfb03, 0, 3},
+      {0x1e91f, 4056, 1},
+
+      {0x1e911, 4014, 1},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
+      {0xffffffff, -1, 0}, {0xffffffff, -1, 0},
 
-      {0xfb01, 8, 2}
+      {0x1e907, 3984, 1}
     };
 
   if (0 == 0)
     {
       int key = hash(&code);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           OnigCodePoint gcode = wordlist[key].code;