diff options
Diffstat (limited to 'lib/unicode/prop/uprop_is_cwu.c')
-rw-r--r-- | lib/unicode/prop/uprop_is_cwu.c | 1025 |
1 files changed, 387 insertions, 638 deletions
diff --git a/lib/unicode/prop/uprop_is_cwu.c b/lib/unicode/prop/uprop_is_cwu.c index 2b32787..891e4e4 100644 --- a/lib/unicode/prop/uprop_is_cwu.c +++ b/lib/unicode/prop/uprop_is_cwu.c @@ -1,651 +1,400 @@ /* This file is autogenerated by gen/prop/bool-props; DO NOT EDIT. */ -#include "_bsearch.h" #include "bitset.h" -#include "rune.h" #include "unicode/prop.h" -/* clang-format off */ - -static constexpr bitset(bs, LATIN1_MAX) = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x07, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, - 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x7F, 0xFF, +static constexpr uint8_t stage1[] = { + 0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 7, 6, 6, 8, 6, 6, 6, 6, 6, 6, 6, 6, 9, 10, 11, 12, + 6, 13, 6, 6, 14, 6, 6, 6, 6, 6, 6, 6, 15, 16, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 17, 18, 6, 6, 6, 19, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 20, 6, 6, 6, 21, + 6, 6, 6, 6, 22, 23, 6, 6, 6, 6, 6, 6, 24, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 25, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 26, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 27, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, }; -static const struct { - rune lo, hi; -} lookup[] = { - {RUNE_C(0x000101), RUNE_C(0x000101)}, - {RUNE_C(0x000103), RUNE_C(0x000103)}, - {RUNE_C(0x000105), RUNE_C(0x000105)}, - {RUNE_C(0x000107), RUNE_C(0x000107)}, - {RUNE_C(0x000109), RUNE_C(0x000109)}, - {RUNE_C(0x00010B), RUNE_C(0x00010B)}, - {RUNE_C(0x00010D), RUNE_C(0x00010D)}, - {RUNE_C(0x00010F), RUNE_C(0x00010F)}, - {RUNE_C(0x000111), RUNE_C(0x000111)}, - {RUNE_C(0x000113), RUNE_C(0x000113)}, - {RUNE_C(0x000115), RUNE_C(0x000115)}, - {RUNE_C(0x000117), RUNE_C(0x000117)}, - {RUNE_C(0x000119), RUNE_C(0x000119)}, - {RUNE_C(0x00011B), RUNE_C(0x00011B)}, - {RUNE_C(0x00011D), RUNE_C(0x00011D)}, - {RUNE_C(0x00011F), RUNE_C(0x00011F)}, - {RUNE_C(0x000121), RUNE_C(0x000121)}, - {RUNE_C(0x000123), RUNE_C(0x000123)}, - {RUNE_C(0x000125), RUNE_C(0x000125)}, - {RUNE_C(0x000127), RUNE_C(0x000127)}, - {RUNE_C(0x000129), RUNE_C(0x000129)}, - {RUNE_C(0x00012B), RUNE_C(0x00012B)}, - {RUNE_C(0x00012D), RUNE_C(0x00012D)}, - {RUNE_C(0x00012F), RUNE_C(0x00012F)}, - {RUNE_C(0x000131), RUNE_C(0x000131)}, - {RUNE_C(0x000133), RUNE_C(0x000133)}, - {RUNE_C(0x000135), RUNE_C(0x000135)}, - {RUNE_C(0x000137), RUNE_C(0x000137)}, - {RUNE_C(0x00013A), RUNE_C(0x00013A)}, - {RUNE_C(0x00013C), RUNE_C(0x00013C)}, - {RUNE_C(0x00013E), RUNE_C(0x00013E)}, - {RUNE_C(0x000140), RUNE_C(0x000140)}, - {RUNE_C(0x000142), RUNE_C(0x000142)}, - {RUNE_C(0x000144), RUNE_C(0x000144)}, - {RUNE_C(0x000146), RUNE_C(0x000146)}, - {RUNE_C(0x000148), RUNE_C(0x000149)}, - {RUNE_C(0x00014B), RUNE_C(0x00014B)}, - {RUNE_C(0x00014D), RUNE_C(0x00014D)}, - {RUNE_C(0x00014F), RUNE_C(0x00014F)}, - {RUNE_C(0x000151), RUNE_C(0x000151)}, - {RUNE_C(0x000153), RUNE_C(0x000153)}, - {RUNE_C(0x000155), RUNE_C(0x000155)}, - {RUNE_C(0x000157), RUNE_C(0x000157)}, - {RUNE_C(0x000159), RUNE_C(0x000159)}, - {RUNE_C(0x00015B), RUNE_C(0x00015B)}, - {RUNE_C(0x00015D), RUNE_C(0x00015D)}, - {RUNE_C(0x00015F), RUNE_C(0x00015F)}, - {RUNE_C(0x000161), RUNE_C(0x000161)}, - {RUNE_C(0x000163), RUNE_C(0x000163)}, - {RUNE_C(0x000165), RUNE_C(0x000165)}, - {RUNE_C(0x000167), RUNE_C(0x000167)}, - {RUNE_C(0x000169), RUNE_C(0x000169)}, - {RUNE_C(0x00016B), RUNE_C(0x00016B)}, - {RUNE_C(0x00016D), RUNE_C(0x00016D)}, - {RUNE_C(0x00016F), RUNE_C(0x00016F)}, - {RUNE_C(0x000171), RUNE_C(0x000171)}, - {RUNE_C(0x000173), RUNE_C(0x000173)}, - {RUNE_C(0x000175), RUNE_C(0x000175)}, - {RUNE_C(0x000177), RUNE_C(0x000177)}, - {RUNE_C(0x00017A), RUNE_C(0x00017A)}, - {RUNE_C(0x00017C), RUNE_C(0x00017C)}, - {RUNE_C(0x00017E), RUNE_C(0x000180)}, - {RUNE_C(0x000183), RUNE_C(0x000183)}, - {RUNE_C(0x000185), RUNE_C(0x000185)}, - {RUNE_C(0x000188), RUNE_C(0x000188)}, - {RUNE_C(0x00018C), RUNE_C(0x00018C)}, - {RUNE_C(0x000192), RUNE_C(0x000192)}, - {RUNE_C(0x000195), RUNE_C(0x000195)}, - {RUNE_C(0x000199), RUNE_C(0x00019A)}, - {RUNE_C(0x00019E), RUNE_C(0x00019E)}, - {RUNE_C(0x0001A1), RUNE_C(0x0001A1)}, - {RUNE_C(0x0001A3), RUNE_C(0x0001A3)}, - {RUNE_C(0x0001A5), RUNE_C(0x0001A5)}, - {RUNE_C(0x0001A8), RUNE_C(0x0001A8)}, - {RUNE_C(0x0001AD), RUNE_C(0x0001AD)}, - {RUNE_C(0x0001B0), RUNE_C(0x0001B0)}, - {RUNE_C(0x0001B4), RUNE_C(0x0001B4)}, - {RUNE_C(0x0001B6), RUNE_C(0x0001B6)}, - {RUNE_C(0x0001B9), RUNE_C(0x0001B9)}, - {RUNE_C(0x0001BD), RUNE_C(0x0001BD)}, - {RUNE_C(0x0001BF), RUNE_C(0x0001BF)}, - {RUNE_C(0x0001C5), RUNE_C(0x0001C6)}, - {RUNE_C(0x0001C8), RUNE_C(0x0001C9)}, - {RUNE_C(0x0001CB), RUNE_C(0x0001CC)}, - {RUNE_C(0x0001CE), RUNE_C(0x0001CE)}, - {RUNE_C(0x0001D0), RUNE_C(0x0001D0)}, - {RUNE_C(0x0001D2), RUNE_C(0x0001D2)}, - {RUNE_C(0x0001D4), RUNE_C(0x0001D4)}, - {RUNE_C(0x0001D6), RUNE_C(0x0001D6)}, - {RUNE_C(0x0001D8), RUNE_C(0x0001D8)}, - {RUNE_C(0x0001DA), RUNE_C(0x0001DA)}, - {RUNE_C(0x0001DC), RUNE_C(0x0001DD)}, - {RUNE_C(0x0001DF), RUNE_C(0x0001DF)}, - {RUNE_C(0x0001E1), RUNE_C(0x0001E1)}, - {RUNE_C(0x0001E3), RUNE_C(0x0001E3)}, - {RUNE_C(0x0001E5), RUNE_C(0x0001E5)}, - {RUNE_C(0x0001E7), RUNE_C(0x0001E7)}, - {RUNE_C(0x0001E9), RUNE_C(0x0001E9)}, - {RUNE_C(0x0001EB), RUNE_C(0x0001EB)}, - {RUNE_C(0x0001ED), RUNE_C(0x0001ED)}, - {RUNE_C(0x0001EF), RUNE_C(0x0001F0)}, - {RUNE_C(0x0001F2), RUNE_C(0x0001F3)}, - {RUNE_C(0x0001F5), RUNE_C(0x0001F5)}, - {RUNE_C(0x0001F9), RUNE_C(0x0001F9)}, - {RUNE_C(0x0001FB), RUNE_C(0x0001FB)}, - {RUNE_C(0x0001FD), RUNE_C(0x0001FD)}, - {RUNE_C(0x0001FF), RUNE_C(0x0001FF)}, - {RUNE_C(0x000201), RUNE_C(0x000201)}, - {RUNE_C(0x000203), RUNE_C(0x000203)}, - {RUNE_C(0x000205), RUNE_C(0x000205)}, - {RUNE_C(0x000207), RUNE_C(0x000207)}, - {RUNE_C(0x000209), RUNE_C(0x000209)}, - {RUNE_C(0x00020B), RUNE_C(0x00020B)}, - {RUNE_C(0x00020D), RUNE_C(0x00020D)}, - {RUNE_C(0x00020F), RUNE_C(0x00020F)}, - {RUNE_C(0x000211), RUNE_C(0x000211)}, - {RUNE_C(0x000213), RUNE_C(0x000213)}, - {RUNE_C(0x000215), RUNE_C(0x000215)}, - {RUNE_C(0x000217), RUNE_C(0x000217)}, - {RUNE_C(0x000219), RUNE_C(0x000219)}, - {RUNE_C(0x00021B), RUNE_C(0x00021B)}, - {RUNE_C(0x00021D), RUNE_C(0x00021D)}, - {RUNE_C(0x00021F), RUNE_C(0x00021F)}, - {RUNE_C(0x000223), RUNE_C(0x000223)}, - {RUNE_C(0x000225), RUNE_C(0x000225)}, - {RUNE_C(0x000227), RUNE_C(0x000227)}, - {RUNE_C(0x000229), RUNE_C(0x000229)}, - {RUNE_C(0x00022B), RUNE_C(0x00022B)}, - {RUNE_C(0x00022D), RUNE_C(0x00022D)}, - {RUNE_C(0x00022F), RUNE_C(0x00022F)}, - {RUNE_C(0x000231), RUNE_C(0x000231)}, - {RUNE_C(0x000233), RUNE_C(0x000233)}, - {RUNE_C(0x00023C), RUNE_C(0x00023C)}, - {RUNE_C(0x00023F), RUNE_C(0x000240)}, - {RUNE_C(0x000242), RUNE_C(0x000242)}, - {RUNE_C(0x000247), RUNE_C(0x000247)}, - {RUNE_C(0x000249), RUNE_C(0x000249)}, - {RUNE_C(0x00024B), RUNE_C(0x00024B)}, - {RUNE_C(0x00024D), RUNE_C(0x00024D)}, - {RUNE_C(0x00024F), RUNE_C(0x000254)}, - {RUNE_C(0x000256), RUNE_C(0x000257)}, - {RUNE_C(0x000259), RUNE_C(0x000259)}, - {RUNE_C(0x00025B), RUNE_C(0x00025C)}, - {RUNE_C(0x000260), RUNE_C(0x000261)}, - {RUNE_C(0x000263), RUNE_C(0x000263)}, - {RUNE_C(0x000265), RUNE_C(0x000266)}, - {RUNE_C(0x000268), RUNE_C(0x00026C)}, - {RUNE_C(0x00026F), RUNE_C(0x00026F)}, - {RUNE_C(0x000271), RUNE_C(0x000272)}, - {RUNE_C(0x000275), RUNE_C(0x000275)}, - {RUNE_C(0x00027D), RUNE_C(0x00027D)}, - {RUNE_C(0x000280), RUNE_C(0x000280)}, - {RUNE_C(0x000282), RUNE_C(0x000283)}, - {RUNE_C(0x000287), RUNE_C(0x00028C)}, - {RUNE_C(0x000292), RUNE_C(0x000292)}, - {RUNE_C(0x00029D), RUNE_C(0x00029E)}, - {RUNE_C(0x000345), RUNE_C(0x000345)}, - {RUNE_C(0x000371), RUNE_C(0x000371)}, - {RUNE_C(0x000373), RUNE_C(0x000373)}, - {RUNE_C(0x000377), RUNE_C(0x000377)}, - {RUNE_C(0x00037B), RUNE_C(0x00037D)}, - {RUNE_C(0x000390), RUNE_C(0x000390)}, - {RUNE_C(0x0003AC), RUNE_C(0x0003CE)}, - {RUNE_C(0x0003D0), RUNE_C(0x0003D1)}, - {RUNE_C(0x0003D5), RUNE_C(0x0003D7)}, - {RUNE_C(0x0003D9), RUNE_C(0x0003D9)}, - {RUNE_C(0x0003DB), RUNE_C(0x0003DB)}, - {RUNE_C(0x0003DD), RUNE_C(0x0003DD)}, - {RUNE_C(0x0003DF), RUNE_C(0x0003DF)}, - {RUNE_C(0x0003E1), RUNE_C(0x0003E1)}, - {RUNE_C(0x0003E3), RUNE_C(0x0003E3)}, - {RUNE_C(0x0003E5), RUNE_C(0x0003E5)}, - {RUNE_C(0x0003E7), RUNE_C(0x0003E7)}, - {RUNE_C(0x0003E9), RUNE_C(0x0003E9)}, - {RUNE_C(0x0003EB), RUNE_C(0x0003EB)}, - {RUNE_C(0x0003ED), RUNE_C(0x0003ED)}, - {RUNE_C(0x0003EF), RUNE_C(0x0003F3)}, - {RUNE_C(0x0003F5), RUNE_C(0x0003F5)}, - {RUNE_C(0x0003F8), RUNE_C(0x0003F8)}, - {RUNE_C(0x0003FB), RUNE_C(0x0003FB)}, - {RUNE_C(0x000430), RUNE_C(0x00045F)}, - {RUNE_C(0x000461), RUNE_C(0x000461)}, - {RUNE_C(0x000463), RUNE_C(0x000463)}, - {RUNE_C(0x000465), RUNE_C(0x000465)}, - {RUNE_C(0x000467), RUNE_C(0x000467)}, - {RUNE_C(0x000469), RUNE_C(0x000469)}, - {RUNE_C(0x00046B), RUNE_C(0x00046B)}, - {RUNE_C(0x00046D), RUNE_C(0x00046D)}, - {RUNE_C(0x00046F), RUNE_C(0x00046F)}, - {RUNE_C(0x000471), RUNE_C(0x000471)}, - {RUNE_C(0x000473), RUNE_C(0x000473)}, - {RUNE_C(0x000475), RUNE_C(0x000475)}, - {RUNE_C(0x000477), RUNE_C(0x000477)}, - {RUNE_C(0x000479), RUNE_C(0x000479)}, - {RUNE_C(0x00047B), RUNE_C(0x00047B)}, - {RUNE_C(0x00047D), RUNE_C(0x00047D)}, - {RUNE_C(0x00047F), RUNE_C(0x00047F)}, - {RUNE_C(0x000481), RUNE_C(0x000481)}, - {RUNE_C(0x00048B), RUNE_C(0x00048B)}, - {RUNE_C(0x00048D), RUNE_C(0x00048D)}, - {RUNE_C(0x00048F), RUNE_C(0x00048F)}, - {RUNE_C(0x000491), RUNE_C(0x000491)}, - {RUNE_C(0x000493), RUNE_C(0x000493)}, - {RUNE_C(0x000495), RUNE_C(0x000495)}, - {RUNE_C(0x000497), RUNE_C(0x000497)}, - {RUNE_C(0x000499), RUNE_C(0x000499)}, - {RUNE_C(0x00049B), RUNE_C(0x00049B)}, - {RUNE_C(0x00049D), RUNE_C(0x00049D)}, - {RUNE_C(0x00049F), RUNE_C(0x00049F)}, - {RUNE_C(0x0004A1), RUNE_C(0x0004A1)}, - {RUNE_C(0x0004A3), RUNE_C(0x0004A3)}, - {RUNE_C(0x0004A5), RUNE_C(0x0004A5)}, - {RUNE_C(0x0004A7), RUNE_C(0x0004A7)}, - {RUNE_C(0x0004A9), RUNE_C(0x0004A9)}, - {RUNE_C(0x0004AB), RUNE_C(0x0004AB)}, - {RUNE_C(0x0004AD), RUNE_C(0x0004AD)}, - {RUNE_C(0x0004AF), RUNE_C(0x0004AF)}, - {RUNE_C(0x0004B1), RUNE_C(0x0004B1)}, - {RUNE_C(0x0004B3), RUNE_C(0x0004B3)}, - {RUNE_C(0x0004B5), RUNE_C(0x0004B5)}, - {RUNE_C(0x0004B7), RUNE_C(0x0004B7)}, - {RUNE_C(0x0004B9), RUNE_C(0x0004B9)}, - {RUNE_C(0x0004BB), RUNE_C(0x0004BB)}, - {RUNE_C(0x0004BD), RUNE_C(0x0004BD)}, - {RUNE_C(0x0004BF), RUNE_C(0x0004BF)}, - {RUNE_C(0x0004C2), RUNE_C(0x0004C2)}, - {RUNE_C(0x0004C4), RUNE_C(0x0004C4)}, - {RUNE_C(0x0004C6), RUNE_C(0x0004C6)}, - {RUNE_C(0x0004C8), RUNE_C(0x0004C8)}, - {RUNE_C(0x0004CA), RUNE_C(0x0004CA)}, - {RUNE_C(0x0004CC), RUNE_C(0x0004CC)}, - {RUNE_C(0x0004CE), RUNE_C(0x0004CF)}, - {RUNE_C(0x0004D1), RUNE_C(0x0004D1)}, - {RUNE_C(0x0004D3), RUNE_C(0x0004D3)}, - {RUNE_C(0x0004D5), RUNE_C(0x0004D5)}, - {RUNE_C(0x0004D7), RUNE_C(0x0004D7)}, - {RUNE_C(0x0004D9), RUNE_C(0x0004D9)}, - {RUNE_C(0x0004DB), RUNE_C(0x0004DB)}, - {RUNE_C(0x0004DD), RUNE_C(0x0004DD)}, - {RUNE_C(0x0004DF), RUNE_C(0x0004DF)}, - {RUNE_C(0x0004E1), RUNE_C(0x0004E1)}, - {RUNE_C(0x0004E3), RUNE_C(0x0004E3)}, - {RUNE_C(0x0004E5), RUNE_C(0x0004E5)}, - {RUNE_C(0x0004E7), RUNE_C(0x0004E7)}, - {RUNE_C(0x0004E9), RUNE_C(0x0004E9)}, - {RUNE_C(0x0004EB), RUNE_C(0x0004EB)}, - {RUNE_C(0x0004ED), RUNE_C(0x0004ED)}, - {RUNE_C(0x0004EF), RUNE_C(0x0004EF)}, - {RUNE_C(0x0004F1), RUNE_C(0x0004F1)}, - {RUNE_C(0x0004F3), RUNE_C(0x0004F3)}, - {RUNE_C(0x0004F5), RUNE_C(0x0004F5)}, - {RUNE_C(0x0004F7), RUNE_C(0x0004F7)}, - {RUNE_C(0x0004F9), RUNE_C(0x0004F9)}, - {RUNE_C(0x0004FB), RUNE_C(0x0004FB)}, - {RUNE_C(0x0004FD), RUNE_C(0x0004FD)}, - {RUNE_C(0x0004FF), RUNE_C(0x0004FF)}, - {RUNE_C(0x000501), RUNE_C(0x000501)}, - {RUNE_C(0x000503), RUNE_C(0x000503)}, - {RUNE_C(0x000505), RUNE_C(0x000505)}, - {RUNE_C(0x000507), RUNE_C(0x000507)}, - {RUNE_C(0x000509), RUNE_C(0x000509)}, - {RUNE_C(0x00050B), RUNE_C(0x00050B)}, - {RUNE_C(0x00050D), RUNE_C(0x00050D)}, - {RUNE_C(0x00050F), RUNE_C(0x00050F)}, - {RUNE_C(0x000511), RUNE_C(0x000511)}, - {RUNE_C(0x000513), RUNE_C(0x000513)}, - {RUNE_C(0x000515), RUNE_C(0x000515)}, - {RUNE_C(0x000517), RUNE_C(0x000517)}, - {RUNE_C(0x000519), RUNE_C(0x000519)}, - {RUNE_C(0x00051B), RUNE_C(0x00051B)}, - {RUNE_C(0x00051D), RUNE_C(0x00051D)}, - {RUNE_C(0x00051F), RUNE_C(0x00051F)}, - {RUNE_C(0x000521), RUNE_C(0x000521)}, - {RUNE_C(0x000523), RUNE_C(0x000523)}, - {RUNE_C(0x000525), RUNE_C(0x000525)}, - {RUNE_C(0x000527), RUNE_C(0x000527)}, - {RUNE_C(0x000529), RUNE_C(0x000529)}, - {RUNE_C(0x00052B), RUNE_C(0x00052B)}, - {RUNE_C(0x00052D), RUNE_C(0x00052D)}, - {RUNE_C(0x00052F), RUNE_C(0x00052F)}, - {RUNE_C(0x000561), RUNE_C(0x000587)}, - {RUNE_C(0x0010D0), RUNE_C(0x0010FA)}, - {RUNE_C(0x0010FD), RUNE_C(0x0010FF)}, - {RUNE_C(0x0013F8), RUNE_C(0x0013FD)}, - {RUNE_C(0x001C80), RUNE_C(0x001C88)}, - {RUNE_C(0x001D79), RUNE_C(0x001D79)}, - {RUNE_C(0x001D7D), RUNE_C(0x001D7D)}, - {RUNE_C(0x001D8E), RUNE_C(0x001D8E)}, - {RUNE_C(0x001E01), RUNE_C(0x001E01)}, - {RUNE_C(0x001E03), RUNE_C(0x001E03)}, - {RUNE_C(0x001E05), RUNE_C(0x001E05)}, - {RUNE_C(0x001E07), RUNE_C(0x001E07)}, - {RUNE_C(0x001E09), RUNE_C(0x001E09)}, - {RUNE_C(0x001E0B), RUNE_C(0x001E0B)}, - {RUNE_C(0x001E0D), RUNE_C(0x001E0D)}, - {RUNE_C(0x001E0F), RUNE_C(0x001E0F)}, - {RUNE_C(0x001E11), RUNE_C(0x001E11)}, - {RUNE_C(0x001E13), RUNE_C(0x001E13)}, - {RUNE_C(0x001E15), RUNE_C(0x001E15)}, - {RUNE_C(0x001E17), RUNE_C(0x001E17)}, - {RUNE_C(0x001E19), RUNE_C(0x001E19)}, - {RUNE_C(0x001E1B), RUNE_C(0x001E1B)}, - {RUNE_C(0x001E1D), RUNE_C(0x001E1D)}, - {RUNE_C(0x001E1F), RUNE_C(0x001E1F)}, - {RUNE_C(0x001E21), RUNE_C(0x001E21)}, - {RUNE_C(0x001E23), RUNE_C(0x001E23)}, - {RUNE_C(0x001E25), RUNE_C(0x001E25)}, - {RUNE_C(0x001E27), RUNE_C(0x001E27)}, - {RUNE_C(0x001E29), RUNE_C(0x001E29)}, - {RUNE_C(0x001E2B), RUNE_C(0x001E2B)}, - {RUNE_C(0x001E2D), RUNE_C(0x001E2D)}, - {RUNE_C(0x001E2F), RUNE_C(0x001E2F)}, - {RUNE_C(0x001E31), RUNE_C(0x001E31)}, - {RUNE_C(0x001E33), RUNE_C(0x001E33)}, - {RUNE_C(0x001E35), RUNE_C(0x001E35)}, - {RUNE_C(0x001E37), RUNE_C(0x001E37)}, - {RUNE_C(0x001E39), RUNE_C(0x001E39)}, - {RUNE_C(0x001E3B), RUNE_C(0x001E3B)}, - {RUNE_C(0x001E3D), RUNE_C(0x001E3D)}, - {RUNE_C(0x001E3F), RUNE_C(0x001E3F)}, - {RUNE_C(0x001E41), RUNE_C(0x001E41)}, - {RUNE_C(0x001E43), RUNE_C(0x001E43)}, - {RUNE_C(0x001E45), RUNE_C(0x001E45)}, - {RUNE_C(0x001E47), RUNE_C(0x001E47)}, - {RUNE_C(0x001E49), RUNE_C(0x001E49)}, - {RUNE_C(0x001E4B), RUNE_C(0x001E4B)}, - {RUNE_C(0x001E4D), RUNE_C(0x001E4D)}, - {RUNE_C(0x001E4F), RUNE_C(0x001E4F)}, - {RUNE_C(0x001E51), RUNE_C(0x001E51)}, - {RUNE_C(0x001E53), RUNE_C(0x001E53)}, - {RUNE_C(0x001E55), RUNE_C(0x001E55)}, - {RUNE_C(0x001E57), RUNE_C(0x001E57)}, - {RUNE_C(0x001E59), RUNE_C(0x001E59)}, - {RUNE_C(0x001E5B), RUNE_C(0x001E5B)}, - {RUNE_C(0x001E5D), RUNE_C(0x001E5D)}, - {RUNE_C(0x001E5F), RUNE_C(0x001E5F)}, - {RUNE_C(0x001E61), RUNE_C(0x001E61)}, - {RUNE_C(0x001E63), RUNE_C(0x001E63)}, - {RUNE_C(0x001E65), RUNE_C(0x001E65)}, - {RUNE_C(0x001E67), RUNE_C(0x001E67)}, - {RUNE_C(0x001E69), RUNE_C(0x001E69)}, - {RUNE_C(0x001E6B), RUNE_C(0x001E6B)}, - {RUNE_C(0x001E6D), RUNE_C(0x001E6D)}, - {RUNE_C(0x001E6F), RUNE_C(0x001E6F)}, - {RUNE_C(0x001E71), RUNE_C(0x001E71)}, - {RUNE_C(0x001E73), RUNE_C(0x001E73)}, - {RUNE_C(0x001E75), RUNE_C(0x001E75)}, - {RUNE_C(0x001E77), RUNE_C(0x001E77)}, - {RUNE_C(0x001E79), RUNE_C(0x001E79)}, - {RUNE_C(0x001E7B), RUNE_C(0x001E7B)}, - {RUNE_C(0x001E7D), RUNE_C(0x001E7D)}, - {RUNE_C(0x001E7F), RUNE_C(0x001E7F)}, - {RUNE_C(0x001E81), RUNE_C(0x001E81)}, - {RUNE_C(0x001E83), RUNE_C(0x001E83)}, - {RUNE_C(0x001E85), RUNE_C(0x001E85)}, - {RUNE_C(0x001E87), RUNE_C(0x001E87)}, - {RUNE_C(0x001E89), RUNE_C(0x001E89)}, - {RUNE_C(0x001E8B), RUNE_C(0x001E8B)}, - {RUNE_C(0x001E8D), RUNE_C(0x001E8D)}, - {RUNE_C(0x001E8F), RUNE_C(0x001E8F)}, - {RUNE_C(0x001E91), RUNE_C(0x001E91)}, - {RUNE_C(0x001E93), RUNE_C(0x001E93)}, - {RUNE_C(0x001E95), RUNE_C(0x001E9B)}, - {RUNE_C(0x001EA1), RUNE_C(0x001EA1)}, - {RUNE_C(0x001EA3), RUNE_C(0x001EA3)}, - {RUNE_C(0x001EA5), RUNE_C(0x001EA5)}, - {RUNE_C(0x001EA7), RUNE_C(0x001EA7)}, - {RUNE_C(0x001EA9), RUNE_C(0x001EA9)}, - {RUNE_C(0x001EAB), RUNE_C(0x001EAB)}, - {RUNE_C(0x001EAD), RUNE_C(0x001EAD)}, - {RUNE_C(0x001EAF), RUNE_C(0x001EAF)}, - {RUNE_C(0x001EB1), RUNE_C(0x001EB1)}, - {RUNE_C(0x001EB3), RUNE_C(0x001EB3)}, - {RUNE_C(0x001EB5), RUNE_C(0x001EB5)}, - {RUNE_C(0x001EB7), RUNE_C(0x001EB7)}, - {RUNE_C(0x001EB9), RUNE_C(0x001EB9)}, - {RUNE_C(0x001EBB), RUNE_C(0x001EBB)}, - {RUNE_C(0x001EBD), RUNE_C(0x001EBD)}, - {RUNE_C(0x001EBF), RUNE_C(0x001EBF)}, - {RUNE_C(0x001EC1), RUNE_C(0x001EC1)}, - {RUNE_C(0x001EC3), RUNE_C(0x001EC3)}, - {RUNE_C(0x001EC5), RUNE_C(0x001EC5)}, - {RUNE_C(0x001EC7), RUNE_C(0x001EC7)}, - {RUNE_C(0x001EC9), RUNE_C(0x001EC9)}, - {RUNE_C(0x001ECB), RUNE_C(0x001ECB)}, - {RUNE_C(0x001ECD), RUNE_C(0x001ECD)}, - {RUNE_C(0x001ECF), RUNE_C(0x001ECF)}, - {RUNE_C(0x001ED1), RUNE_C(0x001ED1)}, - {RUNE_C(0x001ED3), RUNE_C(0x001ED3)}, - {RUNE_C(0x001ED5), RUNE_C(0x001ED5)}, - {RUNE_C(0x001ED7), RUNE_C(0x001ED7)}, - {RUNE_C(0x001ED9), RUNE_C(0x001ED9)}, - {RUNE_C(0x001EDB), RUNE_C(0x001EDB)}, - {RUNE_C(0x001EDD), RUNE_C(0x001EDD)}, - {RUNE_C(0x001EDF), RUNE_C(0x001EDF)}, - {RUNE_C(0x001EE1), RUNE_C(0x001EE1)}, - {RUNE_C(0x001EE3), RUNE_C(0x001EE3)}, - {RUNE_C(0x001EE5), RUNE_C(0x001EE5)}, - {RUNE_C(0x001EE7), RUNE_C(0x001EE7)}, - {RUNE_C(0x001EE9), RUNE_C(0x001EE9)}, - {RUNE_C(0x001EEB), RUNE_C(0x001EEB)}, - {RUNE_C(0x001EED), RUNE_C(0x001EED)}, - {RUNE_C(0x001EEF), RUNE_C(0x001EEF)}, - {RUNE_C(0x001EF1), RUNE_C(0x001EF1)}, - {RUNE_C(0x001EF3), RUNE_C(0x001EF3)}, - {RUNE_C(0x001EF5), RUNE_C(0x001EF5)}, - {RUNE_C(0x001EF7), RUNE_C(0x001EF7)}, - {RUNE_C(0x001EF9), RUNE_C(0x001EF9)}, - {RUNE_C(0x001EFB), RUNE_C(0x001EFB)}, - {RUNE_C(0x001EFD), RUNE_C(0x001EFD)}, - {RUNE_C(0x001EFF), RUNE_C(0x001F07)}, - {RUNE_C(0x001F10), RUNE_C(0x001F15)}, - {RUNE_C(0x001F20), RUNE_C(0x001F27)}, - {RUNE_C(0x001F30), RUNE_C(0x001F37)}, - {RUNE_C(0x001F40), RUNE_C(0x001F45)}, - {RUNE_C(0x001F50), RUNE_C(0x001F57)}, - {RUNE_C(0x001F60), RUNE_C(0x001F67)}, - {RUNE_C(0x001F70), RUNE_C(0x001F7D)}, - {RUNE_C(0x001F80), RUNE_C(0x001FB4)}, - {RUNE_C(0x001FB6), RUNE_C(0x001FB7)}, - {RUNE_C(0x001FBC), RUNE_C(0x001FBC)}, - {RUNE_C(0x001FBE), RUNE_C(0x001FBE)}, - {RUNE_C(0x001FC2), RUNE_C(0x001FC4)}, - {RUNE_C(0x001FC6), RUNE_C(0x001FC7)}, - {RUNE_C(0x001FCC), RUNE_C(0x001FCC)}, - {RUNE_C(0x001FD0), RUNE_C(0x001FD3)}, - {RUNE_C(0x001FD6), RUNE_C(0x001FD7)}, - {RUNE_C(0x001FE0), RUNE_C(0x001FE7)}, - {RUNE_C(0x001FF2), RUNE_C(0x001FF4)}, - {RUNE_C(0x001FF6), RUNE_C(0x001FF7)}, - {RUNE_C(0x001FFC), RUNE_C(0x001FFC)}, - {RUNE_C(0x00214E), RUNE_C(0x00214E)}, - {RUNE_C(0x002170), RUNE_C(0x00217F)}, - {RUNE_C(0x002184), RUNE_C(0x002184)}, - {RUNE_C(0x0024D0), RUNE_C(0x0024E9)}, - {RUNE_C(0x002C30), RUNE_C(0x002C5F)}, - {RUNE_C(0x002C61), RUNE_C(0x002C61)}, - {RUNE_C(0x002C65), RUNE_C(0x002C66)}, - {RUNE_C(0x002C68), RUNE_C(0x002C68)}, - {RUNE_C(0x002C6A), RUNE_C(0x002C6A)}, - {RUNE_C(0x002C6C), RUNE_C(0x002C6C)}, - {RUNE_C(0x002C73), RUNE_C(0x002C73)}, - {RUNE_C(0x002C76), RUNE_C(0x002C76)}, - {RUNE_C(0x002C81), RUNE_C(0x002C81)}, - {RUNE_C(0x002C83), RUNE_C(0x002C83)}, - {RUNE_C(0x002C85), RUNE_C(0x002C85)}, - {RUNE_C(0x002C87), RUNE_C(0x002C87)}, - {RUNE_C(0x002C89), RUNE_C(0x002C89)}, - {RUNE_C(0x002C8B), RUNE_C(0x002C8B)}, - {RUNE_C(0x002C8D), RUNE_C(0x002C8D)}, - {RUNE_C(0x002C8F), RUNE_C(0x002C8F)}, - {RUNE_C(0x002C91), RUNE_C(0x002C91)}, - {RUNE_C(0x002C93), RUNE_C(0x002C93)}, - {RUNE_C(0x002C95), RUNE_C(0x002C95)}, - {RUNE_C(0x002C97), RUNE_C(0x002C97)}, - {RUNE_C(0x002C99), RUNE_C(0x002C99)}, - {RUNE_C(0x002C9B), RUNE_C(0x002C9B)}, - {RUNE_C(0x002C9D), RUNE_C(0x002C9D)}, - {RUNE_C(0x002C9F), RUNE_C(0x002C9F)}, - {RUNE_C(0x002CA1), RUNE_C(0x002CA1)}, - {RUNE_C(0x002CA3), RUNE_C(0x002CA3)}, - {RUNE_C(0x002CA5), RUNE_C(0x002CA5)}, - {RUNE_C(0x002CA7), RUNE_C(0x002CA7)}, - {RUNE_C(0x002CA9), RUNE_C(0x002CA9)}, - {RUNE_C(0x002CAB), RUNE_C(0x002CAB)}, - {RUNE_C(0x002CAD), RUNE_C(0x002CAD)}, - {RUNE_C(0x002CAF), RUNE_C(0x002CAF)}, - {RUNE_C(0x002CB1), RUNE_C(0x002CB1)}, - {RUNE_C(0x002CB3), RUNE_C(0x002CB3)}, - {RUNE_C(0x002CB5), RUNE_C(0x002CB5)}, - {RUNE_C(0x002CB7), RUNE_C(0x002CB7)}, - {RUNE_C(0x002CB9), RUNE_C(0x002CB9)}, - {RUNE_C(0x002CBB), RUNE_C(0x002CBB)}, - {RUNE_C(0x002CBD), RUNE_C(0x002CBD)}, - {RUNE_C(0x002CBF), RUNE_C(0x002CBF)}, - {RUNE_C(0x002CC1), RUNE_C(0x002CC1)}, - {RUNE_C(0x002CC3), RUNE_C(0x002CC3)}, - {RUNE_C(0x002CC5), RUNE_C(0x002CC5)}, - {RUNE_C(0x002CC7), RUNE_C(0x002CC7)}, - {RUNE_C(0x002CC9), RUNE_C(0x002CC9)}, - {RUNE_C(0x002CCB), RUNE_C(0x002CCB)}, - {RUNE_C(0x002CCD), RUNE_C(0x002CCD)}, - {RUNE_C(0x002CCF), RUNE_C(0x002CCF)}, - {RUNE_C(0x002CD1), RUNE_C(0x002CD1)}, - {RUNE_C(0x002CD3), RUNE_C(0x002CD3)}, - {RUNE_C(0x002CD5), RUNE_C(0x002CD5)}, - {RUNE_C(0x002CD7), RUNE_C(0x002CD7)}, - {RUNE_C(0x002CD9), RUNE_C(0x002CD9)}, - {RUNE_C(0x002CDB), RUNE_C(0x002CDB)}, - {RUNE_C(0x002CDD), RUNE_C(0x002CDD)}, - {RUNE_C(0x002CDF), RUNE_C(0x002CDF)}, - {RUNE_C(0x002CE1), RUNE_C(0x002CE1)}, - {RUNE_C(0x002CE3), RUNE_C(0x002CE3)}, - {RUNE_C(0x002CEC), RUNE_C(0x002CEC)}, - {RUNE_C(0x002CEE), RUNE_C(0x002CEE)}, - {RUNE_C(0x002CF3), RUNE_C(0x002CF3)}, - {RUNE_C(0x002D00), RUNE_C(0x002D25)}, - {RUNE_C(0x002D27), RUNE_C(0x002D27)}, - {RUNE_C(0x002D2D), RUNE_C(0x002D2D)}, - {RUNE_C(0x00A641), RUNE_C(0x00A641)}, - {RUNE_C(0x00A643), RUNE_C(0x00A643)}, - {RUNE_C(0x00A645), RUNE_C(0x00A645)}, - {RUNE_C(0x00A647), RUNE_C(0x00A647)}, - {RUNE_C(0x00A649), RUNE_C(0x00A649)}, - {RUNE_C(0x00A64B), RUNE_C(0x00A64B)}, - {RUNE_C(0x00A64D), RUNE_C(0x00A64D)}, - {RUNE_C(0x00A64F), RUNE_C(0x00A64F)}, - {RUNE_C(0x00A651), RUNE_C(0x00A651)}, - {RUNE_C(0x00A653), RUNE_C(0x00A653)}, - {RUNE_C(0x00A655), RUNE_C(0x00A655)}, - {RUNE_C(0x00A657), RUNE_C(0x00A657)}, - {RUNE_C(0x00A659), RUNE_C(0x00A659)}, - {RUNE_C(0x00A65B), RUNE_C(0x00A65B)}, - {RUNE_C(0x00A65D), RUNE_C(0x00A65D)}, - {RUNE_C(0x00A65F), RUNE_C(0x00A65F)}, - {RUNE_C(0x00A661), RUNE_C(0x00A661)}, - {RUNE_C(0x00A663), RUNE_C(0x00A663)}, - {RUNE_C(0x00A665), RUNE_C(0x00A665)}, - {RUNE_C(0x00A667), RUNE_C(0x00A667)}, - {RUNE_C(0x00A669), RUNE_C(0x00A669)}, - {RUNE_C(0x00A66B), RUNE_C(0x00A66B)}, - {RUNE_C(0x00A66D), RUNE_C(0x00A66D)}, - {RUNE_C(0x00A681), RUNE_C(0x00A681)}, - {RUNE_C(0x00A683), RUNE_C(0x00A683)}, - {RUNE_C(0x00A685), RUNE_C(0x00A685)}, - {RUNE_C(0x00A687), RUNE_C(0x00A687)}, - {RUNE_C(0x00A689), RUNE_C(0x00A689)}, - {RUNE_C(0x00A68B), RUNE_C(0x00A68B)}, - {RUNE_C(0x00A68D), RUNE_C(0x00A68D)}, - {RUNE_C(0x00A68F), RUNE_C(0x00A68F)}, - {RUNE_C(0x00A691), RUNE_C(0x00A691)}, - {RUNE_C(0x00A693), RUNE_C(0x00A693)}, - {RUNE_C(0x00A695), RUNE_C(0x00A695)}, - {RUNE_C(0x00A697), RUNE_C(0x00A697)}, - {RUNE_C(0x00A699), RUNE_C(0x00A699)}, - {RUNE_C(0x00A69B), RUNE_C(0x00A69B)}, - {RUNE_C(0x00A723), RUNE_C(0x00A723)}, - {RUNE_C(0x00A725), RUNE_C(0x00A725)}, - {RUNE_C(0x00A727), RUNE_C(0x00A727)}, - {RUNE_C(0x00A729), RUNE_C(0x00A729)}, - {RUNE_C(0x00A72B), RUNE_C(0x00A72B)}, - {RUNE_C(0x00A72D), RUNE_C(0x00A72D)}, - {RUNE_C(0x00A72F), RUNE_C(0x00A72F)}, - {RUNE_C(0x00A733), RUNE_C(0x00A733)}, - {RUNE_C(0x00A735), RUNE_C(0x00A735)}, - {RUNE_C(0x00A737), RUNE_C(0x00A737)}, - {RUNE_C(0x00A739), RUNE_C(0x00A739)}, - {RUNE_C(0x00A73B), RUNE_C(0x00A73B)}, - {RUNE_C(0x00A73D), RUNE_C(0x00A73D)}, - {RUNE_C(0x00A73F), RUNE_C(0x00A73F)}, - {RUNE_C(0x00A741), RUNE_C(0x00A741)}, - {RUNE_C(0x00A743), RUNE_C(0x00A743)}, - {RUNE_C(0x00A745), RUNE_C(0x00A745)}, - {RUNE_C(0x00A747), RUNE_C(0x00A747)}, - {RUNE_C(0x00A749), RUNE_C(0x00A749)}, - {RUNE_C(0x00A74B), RUNE_C(0x00A74B)}, - {RUNE_C(0x00A74D), RUNE_C(0x00A74D)}, - {RUNE_C(0x00A74F), RUNE_C(0x00A74F)}, - {RUNE_C(0x00A751), RUNE_C(0x00A751)}, - {RUNE_C(0x00A753), RUNE_C(0x00A753)}, - {RUNE_C(0x00A755), RUNE_C(0x00A755)}, - {RUNE_C(0x00A757), RUNE_C(0x00A757)}, - {RUNE_C(0x00A759), RUNE_C(0x00A759)}, - {RUNE_C(0x00A75B), RUNE_C(0x00A75B)}, - {RUNE_C(0x00A75D), RUNE_C(0x00A75D)}, - {RUNE_C(0x00A75F), RUNE_C(0x00A75F)}, - {RUNE_C(0x00A761), RUNE_C(0x00A761)}, - {RUNE_C(0x00A763), RUNE_C(0x00A763)}, - {RUNE_C(0x00A765), RUNE_C(0x00A765)}, - {RUNE_C(0x00A767), RUNE_C(0x00A767)}, - {RUNE_C(0x00A769), RUNE_C(0x00A769)}, - {RUNE_C(0x00A76B), RUNE_C(0x00A76B)}, - {RUNE_C(0x00A76D), RUNE_C(0x00A76D)}, - {RUNE_C(0x00A76F), RUNE_C(0x00A76F)}, - {RUNE_C(0x00A77A), RUNE_C(0x00A77A)}, - {RUNE_C(0x00A77C), RUNE_C(0x00A77C)}, - {RUNE_C(0x00A77F), RUNE_C(0x00A77F)}, - {RUNE_C(0x00A781), RUNE_C(0x00A781)}, - {RUNE_C(0x00A783), RUNE_C(0x00A783)}, - {RUNE_C(0x00A785), RUNE_C(0x00A785)}, - {RUNE_C(0x00A787), RUNE_C(0x00A787)}, - {RUNE_C(0x00A78C), RUNE_C(0x00A78C)}, - {RUNE_C(0x00A791), RUNE_C(0x00A791)}, - {RUNE_C(0x00A793), RUNE_C(0x00A794)}, - {RUNE_C(0x00A797), RUNE_C(0x00A797)}, - {RUNE_C(0x00A799), RUNE_C(0x00A799)}, - {RUNE_C(0x00A79B), RUNE_C(0x00A79B)}, - {RUNE_C(0x00A79D), RUNE_C(0x00A79D)}, - {RUNE_C(0x00A79F), RUNE_C(0x00A79F)}, - {RUNE_C(0x00A7A1), RUNE_C(0x00A7A1)}, - {RUNE_C(0x00A7A3), RUNE_C(0x00A7A3)}, - {RUNE_C(0x00A7A5), RUNE_C(0x00A7A5)}, - {RUNE_C(0x00A7A7), RUNE_C(0x00A7A7)}, - {RUNE_C(0x00A7A9), RUNE_C(0x00A7A9)}, - {RUNE_C(0x00A7B5), RUNE_C(0x00A7B5)}, - {RUNE_C(0x00A7B7), RUNE_C(0x00A7B7)}, - {RUNE_C(0x00A7B9), RUNE_C(0x00A7B9)}, - {RUNE_C(0x00A7BB), RUNE_C(0x00A7BB)}, - {RUNE_C(0x00A7BD), RUNE_C(0x00A7BD)}, - {RUNE_C(0x00A7BF), RUNE_C(0x00A7BF)}, - {RUNE_C(0x00A7C1), RUNE_C(0x00A7C1)}, - {RUNE_C(0x00A7C3), RUNE_C(0x00A7C3)}, - {RUNE_C(0x00A7C8), RUNE_C(0x00A7C8)}, - {RUNE_C(0x00A7CA), RUNE_C(0x00A7CA)}, - {RUNE_C(0x00A7D1), RUNE_C(0x00A7D1)}, - {RUNE_C(0x00A7D7), RUNE_C(0x00A7D7)}, - {RUNE_C(0x00A7D9), RUNE_C(0x00A7D9)}, - {RUNE_C(0x00A7F6), RUNE_C(0x00A7F6)}, - {RUNE_C(0x00AB53), RUNE_C(0x00AB53)}, - {RUNE_C(0x00AB70), RUNE_C(0x00ABBF)}, - {RUNE_C(0x00FB00), RUNE_C(0x00FB06)}, - {RUNE_C(0x00FB13), RUNE_C(0x00FB17)}, - {RUNE_C(0x00FF41), RUNE_C(0x00FF5A)}, - {RUNE_C(0x010428), RUNE_C(0x01044F)}, - {RUNE_C(0x0104D8), RUNE_C(0x0104FB)}, - {RUNE_C(0x010597), RUNE_C(0x0105A1)}, - {RUNE_C(0x0105A3), RUNE_C(0x0105B1)}, - {RUNE_C(0x0105B3), RUNE_C(0x0105B9)}, - {RUNE_C(0x0105BB), RUNE_C(0x0105BC)}, - {RUNE_C(0x010CC0), RUNE_C(0x010CF2)}, - {RUNE_C(0x0118C0), RUNE_C(0x0118DF)}, - {RUNE_C(0x016E60), RUNE_C(0x016E7F)}, - {RUNE_C(0x01E922), RUNE_C(0x01E943)}, +static constexpr unsigned char stage2[][32] = { + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x7F, 0xFF}, + {0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x54, + 0x55, 0xAB, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xD4, + 0x29, 0x11, 0x24, 0x46, 0x2A, 0x21, 0x51, 0xA2, + 0x60, 0x5B, 0x55, 0xB5, 0xAA, 0xAA, 0x2D, 0xAA}, + {0xAA, 0xAA, 0xAA, 0xAA, 0xA8, 0xAA, 0x0A, 0x90, + 0x85, 0xAA, 0xDF, 0x1A, 0x6B, 0x9F, 0x26, 0x20, + 0x8D, 0x1F, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x38, + 0x00, 0x00, 0x01, 0x00, 0x00, 0xF0, 0xFF, 0xFF, + 0xFF, 0x7F, 0xE3, 0xAA, 0xAA, 0xAA, 0x2F, 0x09}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xAA, 0xAA, 0xAA, + 0x02, 0xA8, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, + 0x54, 0xD5, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA}, + {0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, + 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, + 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, + 0xAA, 0xAA, 0xEA, 0x0F, 0xAA, 0xAA, 0xAA, 0xAA, + 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA}, + {0xFF, 0x00, 0x3F, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0x3F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x3F, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x50, + 0xDC, 0x10, 0xCF, 0x00, 0xFF, 0x00, 0xDC, 0x10}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x62, 0x15, 0x48, 0x00, + 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, + 0xAA, 0xAA, 0xAA, 0xAA, 0x0A, 0x50, 0x08, 0x00}, + {0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x2A, 0x00, 0x00, + 0xAA, 0xAA, 0xAA, 0x0A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0xA8, 0xAA, 0xA8, 0xAA, + 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x00, 0x94, + 0xAA, 0x10, 0x9A, 0xAA, 0xAA, 0x02, 0xA0, 0xAA, + 0x0A, 0x05, 0x82, 0x02, 0x00, 0x00, 0x40, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x7F, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xFF, 0xFB, 0xFF, 0xFB, 0x1B, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, + 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, }; -_MLIB_DEFINE_BSEARCH_CONTAINS(lookup) - bool uprop_is_cwu(rune ch) { - return ch <= LATIN1_MAX ? TESTBIT(bs, ch) : mlib_lookup_contains(ch); + return TESTBIT(stage2[stage1[ch / 256]], ch % 256); } |