This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regen/mk_invlists.pl: Keep core tables adjacent
authorKarl Williamson <khw@cpan.org>
Fri, 20 Apr 2018 02:52:24 +0000 (20:52 -0600)
committerKarl Williamson <khw@cpan.org>
Fri, 20 Apr 2018 07:11:53 +0000 (01:11 -0600)
The expectation is that most of the Unicode tables won't be used in any
given run, and since they reside in the text segment, won't get paged
in.  But that's not true of the tables used by the perl core.  So make
them adjacent so that paging one in will get some of the others.

charclass_invlists.h
regen/mk_invlists.pl

index f1b4e13..fc6a4be 100644 (file)
@@ -119415,264 +119415,430 @@ static const UV UpperLatin1_invlist[] = { /* for EBCDIC 037 */
 
 #   endif      /* EBCDIC 037 */
 
-static const UV PL_ADLM_invlist[] = { /* for all charsets */
-       9,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x640,
-       0x641,
-       0x1E900,
-       0x1E94B,
-       0x1E950,
-       0x1E95A,
-       0x1E95E,
-       0x1E960
-};
+#   if 'A' == 65 /* ASCII/Latin1 */
 
-static const UV PL_AEGEANNUMBERS_invlist[] = { /* for all charsets */
-       3,      /* Number of elements */
+static const UV PL_ASCII_invlist[] = { /* for ASCII/Latin1 */
+       2,      /* Number of elements */
        148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
+       0,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0x10100,
-       0x10140
+       0x80
 };
 
-static const UV PL_AGE__10_invlist[] = { /* for all charsets */
-       81,     /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x860,
-       0x86B,
-       0x9FC,
-       0x9FE,
-       0xAFA,
-       0xB00,
-       0xD00,
-       0xD01,
-       0xD3B,
-       0xD3D,
-       0x1CF7,
-       0x1CF8,
-       0x1DF6,
-       0x1DFA,
-       0x20BF,
-       0x20C0,
-       0x23FF,
-       0x2400,
-       0x2BD2,
-       0x2BD3,
-       0x2E45,
-       0x2E4A,
-       0x312E,
-       0x312F,
-       0x9FD6,
-       0x9FEB,
-       0x1032D,
-       0x10330,
-       0x11A00,
-       0x11A48,
-       0x11A50,
-       0x11A84,
-       0x11A86,
-       0x11A9D,
-       0x11A9E,
-       0x11AA3,
-       0x11D00,
-       0x11D07,
-       0x11D08,
-       0x11D0A,
-       0x11D0B,
-       0x11D37,
-       0x11D3A,
-       0x11D3B,
-       0x11D3C,
-       0x11D3E,
-       0x11D3F,
-       0x11D48,
-       0x11D50,
-       0x11D5A,
-       0x16FE1,
-       0x16FE2,
-       0x1B002,
-       0x1B11F,
-       0x1B170,
-       0x1B2FC,
-       0x1F260,
-       0x1F266,
-       0x1F6D3,
-       0x1F6D5,
-       0x1F6F7,
-       0x1F6F9,
-       0x1F900,
-       0x1F90C,
-       0x1F91F,
-       0x1F920,
-       0x1F928,
-       0x1F930,
-       0x1F931,
-       0x1F933,
-       0x1F94C,
-       0x1F94D,
-       0x1F95F,
-       0x1F96C,
-       0x1F992,
-       0x1F998,
-       0x1F9D0,
-       0x1F9E7,
-       0x2CEB0,
-       0x2EBE1
-};
+#   endif      /* ASCII/Latin1 */
 
-static const UV PL_AGE__2_invlist[] = { /* for all charsets */
-       59,     /* Number of elements */
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_ASCII_invlist[] = { /* for EBCDIC 1047 */
+       54,     /* Number of elements */
        148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
+       0,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0x591,
-       0x5A2,
-       0x5A3,
-       0x5B0,
-       0x5C4,
-       0x5C5,
-       0xF00,
-       0xF48,
-       0xF49,
-       0xF6A,
-       0xF71,
-       0xF8C,
-       0xF90,
-       0xF96,
-       0xF97,
-       0xF98,
-       0xF99,
-       0xFAE,
-       0xFB1,
-       0xFB8,
-       0xFB9,
-       0xFBA,
-       0x1E9B,
-       0x1E9C,
-       0x20AB,
-       0x20AC,
-       0xAC00,
-       0xD7A4,
-       0xD800,
-       0xE000,
-       0x1FFFE,
-       0x20000,
-       0x2FFFE,
-       0x30000,
-       0x3FFFE,
-       0x40000,
-       0x4FFFE,
-       0x50000,
-       0x5FFFE,
-       0x60000,
-       0x6FFFE,
-       0x70000,
-       0x7FFFE,
-       0x80000,
-       0x8FFFE,
-       0x90000,
-       0x9FFFE,
-       0xA0000,
-       0xAFFFE,
-       0xB0000,
-       0xBFFFE,
-       0xC0000,
-       0xCFFFE,
-       0xD0000,
-       0xDFFFE,
-       0xE0000,
-       0xEFFFE,
-       0x110000
+       0x4,
+       0x5,
+       0x6,
+       0x7,
+       0x8,
+       0xB,
+       0x14,
+       0x15,
+       0x17,
+       0x18,
+       0x1A,
+       0x1C,
+       0x20,
+       0x26,
+       0x28,
+       0x2D,
+       0x30,
+       0x32,
+       0x33,
+       0x37,
+       0x38,
+       0x3C,
+       0x3E,
+       0x3F,
+       0x41,
+       0x4B,
+       0x51,
+       0x5A,
+       0x62,
+       0x6B,
+       0x70,
+       0x79,
+       0x80,
+       0x81,
+       0x8A,
+       0x91,
+       0x9A,
+       0xA1,
+       0xAA,
+       0xAD,
+       0xAE,
+       0xBD,
+       0xBE,
+       0xC0,
+       0xCA,
+       0xD0,
+       0xDA,
+       0xE0,
+       0xE1,
+       0xE2,
+       0xEA,
+       0xF0,
+       0xFA
 };
 
-static const UV PL_AGE__2_DOT_1_invlist[] = { /* for all charsets */
-       5,      /* Number of elements */
+#   endif      /* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_ASCII_invlist[] = { /* for EBCDIC 037 */
+       56,     /* Number of elements */
        148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
+       0,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0x20AC,
-       0x20AD,
-       0xFFFC,
-       0xFFFD
+       0x4,
+       0x5,
+       0x6,
+       0x7,
+       0x8,
+       0xB,
+       0x14,
+       0x16,
+       0x17,
+       0x18,
+       0x1A,
+       0x1C,
+       0x20,
+       0x25,
+       0x28,
+       0x2D,
+       0x30,
+       0x32,
+       0x33,
+       0x37,
+       0x38,
+       0x3C,
+       0x3E,
+       0x3F,
+       0x41,
+       0x4B,
+       0x51,
+       0x5A,
+       0x5F,
+       0x60,
+       0x62,
+       0x6B,
+       0x70,
+       0x79,
+       0x80,
+       0x81,
+       0x8A,
+       0x91,
+       0x9A,
+       0xA1,
+       0xAA,
+       0xB0,
+       0xB1,
+       0xBA,
+       0xBC,
+       0xC0,
+       0xCA,
+       0xD0,
+       0xDA,
+       0xE0,
+       0xE1,
+       0xE2,
+       0xEA,
+       0xF0,
+       0xFA
 };
 
-static const UV PL_AGE__3_invlist[] = { /* for all charsets */
-       243,    /* Number of elements */
+#   endif      /* EBCDIC 037 */
+
+static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
+       1298,   /* Number of elements */
        148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
+       0,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0x1F6,
-       0x1FA,
-       0x218,
-       0x220,
-       0x222,
-       0x234,
-       0x2A9,
-       0x2AE,
-       0x2DF,
-       0x2E0,
-       0x2EA,
-       0x2EF,
-       0x346,
-       0x34F,
-       0x362,
-       0x363,
-       0x3D7,
-       0x3D8,
-       0x3DB,
-       0x3DC,
-       0x3DD,
-       0x3DE,
-       0x3DF,
-       0x3E0,
-       0x3E1,
-       0x3E2,
-       0x400,
-       0x401,
-       0x40D,
-       0x40E,
-       0x450,
-       0x451,
-       0x45D,
-       0x45E,
-       0x488,
-       0x48A,
-       0x48C,
-       0x490,
-       0x4EC,
-       0x4EE,
-       0x58A,
+       0x378,
+       0x37A,
+       0x380,
+       0x384,
+       0x38B,
+       0x38C,
+       0x38D,
+       0x38E,
+       0x3A2,
+       0x3A3,
+       0x530,
+       0x531,
+       0x557,
+       0x559,
+       0x560,
+       0x561,
+       0x588,
+       0x589,
        0x58B,
-       0x653,
-       0x656,
-       0x6B8,
-       0x6BA,
-       0x6BF,
-       0x6C0,
-       0x6CF,
-       0x6D0,
-       0x6FA,
-       0x6FF,
-       0x700,
+       0x58D,
+       0x590,
+       0x591,
+       0x5C8,
+       0x5D0,
+       0x5EB,
+       0x5F0,
+       0x5F5,
+       0x600,
+       0x61D,
+       0x61E,
        0x70E,
        0x70F,
-       0x72D,
-       0x730,
        0x74B,
-       0x780,
-       0x7B1,
+       0x74D,
+       0x7B2,
+       0x7C0,
+       0x7FB,
+       0x800,
+       0x82E,
+       0x830,
+       0x83F,
+       0x840,
+       0x85C,
+       0x85E,
+       0x85F,
+       0x860,
+       0x86B,
+       0x8A0,
+       0x8B5,
+       0x8B6,
+       0x8BE,
+       0x8D4,
+       0x984,
+       0x985,
+       0x98D,
+       0x98F,
+       0x991,
+       0x993,
+       0x9A9,
+       0x9AA,
+       0x9B1,
+       0x9B2,
+       0x9B3,
+       0x9B6,
+       0x9BA,
+       0x9BC,
+       0x9C5,
+       0x9C7,
+       0x9C9,
+       0x9CB,
+       0x9CF,
+       0x9D7,
+       0x9D8,
+       0x9DC,
+       0x9DE,
+       0x9DF,
+       0x9E4,
+       0x9E6,
+       0x9FE,
+       0xA01,
+       0xA04,
+       0xA05,
+       0xA0B,
+       0xA0F,
+       0xA11,
+       0xA13,
+       0xA29,
+       0xA2A,
+       0xA31,
+       0xA32,
+       0xA34,
+       0xA35,
+       0xA37,
+       0xA38,
+       0xA3A,
+       0xA3C,
+       0xA3D,
+       0xA3E,
+       0xA43,
+       0xA47,
+       0xA49,
+       0xA4B,
+       0xA4E,
+       0xA51,
+       0xA52,
+       0xA59,
+       0xA5D,
+       0xA5E,
+       0xA5F,
+       0xA66,
+       0xA76,
+       0xA81,
+       0xA84,
+       0xA85,
+       0xA8E,
+       0xA8F,
+       0xA92,
+       0xA93,
+       0xAA9,
+       0xAAA,
+       0xAB1,
+       0xAB2,
+       0xAB4,
+       0xAB5,
+       0xABA,
+       0xABC,
+       0xAC6,
+       0xAC7,
+       0xACA,
+       0xACB,
+       0xACE,
+       0xAD0,
+       0xAD1,
+       0xAE0,
+       0xAE4,
+       0xAE6,
+       0xAF2,
+       0xAF9,
+       0xB00,
+       0xB01,
+       0xB04,
+       0xB05,
+       0xB0D,
+       0xB0F,
+       0xB11,
+       0xB13,
+       0xB29,
+       0xB2A,
+       0xB31,
+       0xB32,
+       0xB34,
+       0xB35,
+       0xB3A,
+       0xB3C,
+       0xB45,
+       0xB47,
+       0xB49,
+       0xB4B,
+       0xB4E,
+       0xB56,
+       0xB58,
+       0xB5C,
+       0xB5E,
+       0xB5F,
+       0xB64,
+       0xB66,
+       0xB78,
+       0xB82,
+       0xB84,
+       0xB85,
+       0xB8B,
+       0xB8E,
+       0xB91,
+       0xB92,
+       0xB96,
+       0xB99,
+       0xB9B,
+       0xB9C,
+       0xB9D,
+       0xB9E,
+       0xBA0,
+       0xBA3,
+       0xBA5,
+       0xBA8,
+       0xBAB,
+       0xBAE,
+       0xBBA,
+       0xBBE,
+       0xBC3,
+       0xBC6,
+       0xBC9,
+       0xBCA,
+       0xBCE,
+       0xBD0,
+       0xBD1,
+       0xBD7,
+       0xBD8,
+       0xBE6,
+       0xBFB,
+       0xC00,
+       0xC04,
+       0xC05,
+       0xC0D,
+       0xC0E,
+       0xC11,
+       0xC12,
+       0xC29,
+       0xC2A,
+       0xC3A,
+       0xC3D,
+       0xC45,
+       0xC46,
+       0xC49,
+       0xC4A,
+       0xC4E,
+       0xC55,
+       0xC57,
+       0xC58,
+       0xC5B,
+       0xC60,
+       0xC64,
+       0xC66,
+       0xC70,
+       0xC78,
+       0xC84,
+       0xC85,
+       0xC8D,
+       0xC8E,
+       0xC91,
+       0xC92,
+       0xCA9,
+       0xCAA,
+       0xCB4,
+       0xCB5,
+       0xCBA,
+       0xCBC,
+       0xCC5,
+       0xCC6,
+       0xCC9,
+       0xCCA,
+       0xCCE,
+       0xCD5,
+       0xCD7,
+       0xCDE,
+       0xCDF,
+       0xCE0,
+       0xCE4,
+       0xCE6,
+       0xCF0,
+       0xCF1,
+       0xCF3,
+       0xD00,
+       0xD04,
+       0xD05,
+       0xD0D,
+       0xD0E,
+       0xD11,
+       0xD12,
+       0xD45,
+       0xD46,
+       0xD49,
+       0xD4A,
+       0xD50,
+       0xD54,
+       0xD64,
+       0xD66,
+       0xD80,
        0xD82,
        0xD84,
        0xD85,
@@ -119693,39 +119859,69 @@ static const UV PL_AGE__3_invlist[] = { /* for all charsets */
        0xDD7,
        0xDD8,
        0xDE0,
+       0xDE6,
+       0xDF0,
        0xDF2,
        0xDF5,
-       0xF6A,
-       0xF6B,
-       0xF96,
-       0xF97,
-       0xFAE,
-       0xFB1,
-       0xFB8,
-       0xFB9,
-       0xFBA,
+       0xE01,
+       0xE3B,
+       0xE3F,
+       0xE5C,
+       0xE81,
+       0xE83,
+       0xE84,
+       0xE85,
+       0xE87,
+       0xE89,
+       0xE8A,
+       0xE8B,
+       0xE8D,
+       0xE8E,
+       0xE94,
+       0xE98,
+       0xE99,
+       0xEA0,
+       0xEA1,
+       0xEA4,
+       0xEA5,
+       0xEA6,
+       0xEA7,
+       0xEA8,
+       0xEAA,
+       0xEAC,
+       0xEAD,
+       0xEBA,
+       0xEBB,
+       0xEBE,
+       0xEC0,
+       0xEC5,
+       0xEC6,
+       0xEC7,
+       0xEC8,
+       0xECE,
+       0xED0,
+       0xEDA,
+       0xEDC,
+       0xEE0,
+       0xF00,
+       0xF48,
+       0xF49,
+       0xF6D,
+       0xF71,
+       0xF98,
+       0xF99,
        0xFBD,
        0xFBE,
        0xFCD,
-       0xFCF,
-       0xFD0,
+       0xFCE,
+       0xFDB,
        0x1000,
-       0x1022,
-       0x1023,
-       0x1028,
-       0x1029,
-       0x102B,
-       0x102C,
-       0x1033,
-       0x1036,
-       0x103A,
-       0x1040,
-       0x105A,
-       0x1200,
-       0x1207,
-       0x1208,
-       0x1247,
-       0x1248,
+       0x10C6,
+       0x10C7,
+       0x10C8,
+       0x10CD,
+       0x10CE,
+       0x10D0,
        0x1249,
        0x124A,
        0x124E,
@@ -119736,14 +119932,10 @@ static const UV PL_AGE__3_invlist[] = { /* for all charsets */
        0x125A,
        0x125E,
        0x1260,
-       0x1287,
-       0x1288,
        0x1289,
        0x128A,
        0x128E,
        0x1290,
-       0x12AF,
-       0x12B0,
        0x12B1,
        0x12B2,
        0x12B6,
@@ -119754,37 +119946,45 @@ static const UV PL_AGE__3_invlist[] = { /* for all charsets */
        0x12C2,
        0x12C6,
        0x12C8,
-       0x12CF,
-       0x12D0,
        0x12D7,
        0x12D8,
-       0x12EF,
-       0x12F0,
-       0x130F,
-       0x1310,
        0x1311,
        0x1312,
        0x1316,
        0x1318,
-       0x131F,
-       0x1320,
-       0x1347,
-       0x1348,
        0x135B,
-       0x1361,
+       0x135D,
        0x137D,
+       0x1380,
+       0x139A,
        0x13A0,
-       0x13F5,
-       0x1401,
-       0x1677,
-       0x1680,
+       0x13F6,
+       0x13F8,
+       0x13FE,
+       0x1400,
        0x169D,
        0x16A0,
-       0x16F1,
+       0x16F9,
+       0x1700,
+       0x170D,
+       0x170E,
+       0x1715,
+       0x1720,
+       0x1737,
+       0x1740,
+       0x1754,
+       0x1760,
+       0x176D,
+       0x176E,
+       0x1771,
+       0x1772,
+       0x1774,
        0x1780,
-       0x17DD,
+       0x17DE,
        0x17E0,
        0x17EA,
+       0x17F0,
+       0x17FA,
        0x1800,
        0x180F,
        0x1810,
@@ -119792,37 +119992,157 @@ static const UV PL_AGE__3_invlist[] = { /* for all charsets */
        0x1820,
        0x1878,
        0x1880,
-       0x18AA,
-       0x202F,
-       0x2030,
-       0x2048,
-       0x204E,
-       0x20AD,
-       0x20B0,
-       0x20E2,
-       0x20E4,
-       0x2139,
-       0x213B,
-       0x2183,
-       0x2184,
-       0x21EB,
-       0x21F4,
-       0x2301,
-       0x2302,
-       0x237B,
-       0x237C,
-       0x237D,
-       0x239B,
-       0x2425,
+       0x18AB,
+       0x18B0,
+       0x18F6,
+       0x1900,
+       0x191F,
+       0x1920,
+       0x192C,
+       0x1930,
+       0x193C,
+       0x1940,
+       0x1941,
+       0x1944,
+       0x196E,
+       0x1970,
+       0x1975,
+       0x1980,
+       0x19AC,
+       0x19B0,
+       0x19CA,
+       0x19D0,
+       0x19DB,
+       0x19DE,
+       0x1A1C,
+       0x1A1E,
+       0x1A5F,
+       0x1A60,
+       0x1A7D,
+       0x1A7F,
+       0x1A8A,
+       0x1A90,
+       0x1A9A,
+       0x1AA0,
+       0x1AAE,
+       0x1AB0,
+       0x1ABF,
+       0x1B00,
+       0x1B4C,
+       0x1B50,
+       0x1B7D,
+       0x1B80,
+       0x1BF4,
+       0x1BFC,
+       0x1C38,
+       0x1C3B,
+       0x1C4A,
+       0x1C4D,
+       0x1C89,
+       0x1CC0,
+       0x1CC8,
+       0x1CD0,
+       0x1CFA,
+       0x1D00,
+       0x1DFA,
+       0x1DFB,
+       0x1F16,
+       0x1F18,
+       0x1F1E,
+       0x1F20,
+       0x1F46,
+       0x1F48,
+       0x1F4E,
+       0x1F50,
+       0x1F58,
+       0x1F59,
+       0x1F5A,
+       0x1F5B,
+       0x1F5C,
+       0x1F5D,
+       0x1F5E,
+       0x1F5F,
+       0x1F7E,
+       0x1F80,
+       0x1FB5,
+       0x1FB6,
+       0x1FC5,
+       0x1FC6,
+       0x1FD4,
+       0x1FD6,
+       0x1FDC,
+       0x1FDD,
+       0x1FF0,
+       0x1FF2,
+       0x1FF5,
+       0x1FF6,
+       0x1FFF,
+       0x2000,
+       0x2065,
+       0x2066,
+       0x2072,
+       0x2074,
+       0x208F,
+       0x2090,
+       0x209D,
+       0x20A0,
+       0x20C0,
+       0x20D0,
+       0x20F1,
+       0x2100,
+       0x218C,
+       0x2190,
        0x2427,
-       0x25F0,
-       0x25F8,
-       0x2619,
-       0x261A,
-       0x2670,
-       0x2672,
-       0x2800,
-       0x2900,
+       0x2440,
+       0x244B,
+       0x2460,
+       0x2B74,
+       0x2B76,
+       0x2B96,
+       0x2B98,
+       0x2BBA,
+       0x2BBD,
+       0x2BC9,
+       0x2BCA,
+       0x2BD3,
+       0x2BEC,
+       0x2BF0,
+       0x2C00,
+       0x2C2F,
+       0x2C30,
+       0x2C5F,
+       0x2C60,
+       0x2CF4,
+       0x2CF9,
+       0x2D26,
+       0x2D27,
+       0x2D28,
+       0x2D2D,
+       0x2D2E,
+       0x2D30,
+       0x2D68,
+       0x2D6F,
+       0x2D71,
+       0x2D7F,
+       0x2D97,
+       0x2DA0,
+       0x2DA7,
+       0x2DA8,
+       0x2DAF,
+       0x2DB0,
+       0x2DB7,
+       0x2DB8,
+       0x2DBF,
+       0x2DC0,
+       0x2DC7,
+       0x2DC8,
+       0x2DCF,
+       0x2DD0,
+       0x2DD7,
+       0x2DD8,
+       0x2DDF,
+       0x2DE0,
+       0x2E4A,
        0x2E80,
        0x2E9A,
        0x2E9B,
@@ -119831,350 +120151,152 @@ static const UV PL_AGE__3_invlist[] = { /* for all charsets */
        0x2FD6,
        0x2FF0,
        0x2FFC,
-       0x3038,
-       0x303B,
-       0x303E,
-       0x303F,
-       0x31A0,
-       0x31B8,
-       0x3400,
+       0x3000,
+       0x3040,
+       0x3041,
+       0x3097,
+       0x3099,
+       0x3100,
+       0x3105,
+       0x312F,
+       0x3131,
+       0x318F,
+       0x3190,
+       0x31BB,
+       0x31C0,
+       0x31E4,
+       0x31F0,
+       0x321F,
+       0x3220,
+       0x32FF,
+       0x3300,
        0x4DB6,
+       0x4DC0,
+       0x9FEB,
        0xA000,
        0xA48D,
        0xA490,
-       0xA4A2,
-       0xA4A4,
-       0xA4B4,
-       0xA4B5,
-       0xA4C1,
-       0xA4C2,
-       0xA4C5,
-       0xA4C6,
        0xA4C7,
-       0xFB1D,
-       0xFB1E,
-       0xFFF9,
-       0xFFFC
-};
-
-static const UV PL_AGE__3_DOT_1_invlist[] = { /* for all charsets */
-       73,     /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x3F4,
-       0x3F6,
-       0xFDD0,
-       0xFDF0,
-       0x10300,
-       0x1031F,
-       0x10320,
-       0x10324,
-       0x10330,
-       0x1034B,
-       0x10400,
-       0x10426,
-       0x10428,
-       0x1044E,
-       0x1D000,
-       0x1D0F6,
-       0x1D100,
-       0x1D127,
-       0x1D12A,
-       0x1D1DE,
-       0x1D400,
-       0x1D455,
-       0x1D456,
-       0x1D49D,
-       0x1D49E,
-       0x1D4A0,
-       0x1D4A2,
-       0x1D4A3,
-       0x1D4A5,
-       0x1D4A7,
-       0x1D4A9,
-       0x1D4AD,
-       0x1D4AE,
-       0x1D4BA,
-       0x1D4BB,
-       0x1D4BC,
-       0x1D4BD,
-       0x1D4C1,
-       0x1D4C2,
-       0x1D4C4,
-       0x1D4C5,
-       0x1D506,
-       0x1D507,
-       0x1D50B,
-       0x1D50D,
-       0x1D515,
-       0x1D516,
-       0x1D51D,
-       0x1D51E,
-       0x1D53A,
-       0x1D53B,
-       0x1D53F,
-       0x1D540,
-       0x1D545,
-       0x1D546,
-       0x1D547,
-       0x1D54A,
-       0x1D551,
-       0x1D552,
-       0x1D6A4,
-       0x1D6A8,
-       0x1D7CA,
-       0x1D7CE,
-       0x1D800,
-       0x20000,
-       0x2A6D7,
-       0x2F800,
-       0x2FA1E,
-       0xE0001,
-       0xE0002,
-       0xE0020,
-       0xE0080
-};
-
-static const UV PL_AGE__3_DOT_2_invlist[] = { /* for all charsets */
-       119,    /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x220,
-       0x221,
-       0x34F,
-       0x350,
-       0x363,
-       0x370,
-       0x3D8,
-       0x3DA,
-       0x3F6,
-       0x3F7,
-       0x48A,
-       0x48C,
-       0x4C5,
-       0x4C7,
-       0x4C9,
-       0x4CB,
-       0x4CD,
-       0x4CF,
-       0x500,
-       0x510,
-       0x66E,
-       0x670,
-       0x7B1,
-       0x7B2,
-       0x10F7,
-       0x10F9,
-       0x1700,
-       0x170D,
-       0x170E,
-       0x1715,
-       0x1720,
-       0x1737,
-       0x1740,
-       0x1754,
-       0x1760,
-       0x176D,
-       0x176E,
-       0x1771,
-       0x1772,
-       0x1774,
-       0x2047,
-       0x2048,
-       0x204E,
-       0x2053,
-       0x2057,
-       0x2058,
-       0x205F,
-       0x2064,
-       0x2071,
-       0x2072,
-       0x20B0,
-       0x20B2,
-       0x20E4,
-       0x20EB,
-       0x213D,
-       0x214C,
-       0x21F4,
-       0x2200,
-       0x22F2,
-       0x2300,
-       0x237C,
-       0x237D,
-       0x239B,
-       0x23CF,
-       0x24EB,
-       0x24FF,
-       0x2596,
-       0x25A0,
-       0x25F8,
-       0x2600,
-       0x2616,
-       0x2618,
-       0x2672,
-       0x267E,
-       0x2680,
-       0x268A,
-       0x2768,
-       0x2776,
-       0x27D0,
-       0x27EC,
-       0x27F0,
-       0x2800,
-       0x2900,
-       0x2B00,
-       0x303B,
-       0x303E,
-       0x3095,
-       0x3097,
-       0x309F,
-       0x30A1,
-       0x30FF,
-       0x3100,
-       0x31F0,
-       0x3200,
-       0x3251,
-       0x3260,
-       0x32B1,
-       0x32C0,
-       0xA4A2,
-       0xA4A4,
-       0xA4B4,
-       0xA4B5,
-       0xA4C1,
-       0xA4C2,
-       0xA4C5,
-       0xA4C6,
-       0xFA30,
-       0xFA6B,
-       0xFDFC,
-       0xFDFD,
-       0xFE00,
-       0xFE10,
-       0xFE45,
-       0xFE47,
-       0xFE73,
-       0xFE74,
-       0xFF5F,
-       0xFF61
-};
-
-static const UV PL_AGE__4_invlist[] = { /* for all charsets */
-       155,    /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x221,
-       0x222,
-       0x234,
-       0x237,
-       0x2AE,
-       0x2B0,
-       0x2EF,
-       0x300,
-       0x350,
-       0x358,
-       0x35D,
-       0x360,
-       0x3F7,
-       0x3FC,
-       0x600,
-       0x604,
-       0x60D,
-       0x616,
-       0x656,
-       0x659,
-       0x6EE,
-       0x6F0,
-       0x6FF,
-       0x700,
-       0x72D,
-       0x730,
-       0x74D,
-       0x750,
-       0x904,
-       0x905,
-       0x9BD,
-       0x9BE,
-       0xA01,
-       0xA02,
-       0xA03,
-       0xA04,
-       0xA8C,
-       0xA8D,
-       0xAE1,
-       0xAE4,
-       0xAF1,
-       0xAF2,
-       0xB35,
-       0xB36,
-       0xB71,
-       0xB72,
-       0xBF3,
-       0xBFB,
-       0xCBC,
-       0xCBE,
-       0x17DD,
-       0x17DE,
-       0x17F0,
-       0x17FA,
-       0x1900,
-       0x191D,
-       0x1920,
-       0x192C,
-       0x1930,
-       0x193C,
-       0x1940,
-       0x1941,
-       0x1944,
-       0x196E,
-       0x1970,
-       0x1975,
-       0x19E0,
-       0x1A00,
-       0x1D00,
-       0x1D6C,
-       0x2053,
-       0x2055,
-       0x213B,
-       0x213C,
-       0x23CF,
-       0x23D1,
-       0x24FF,
-       0x2500,
-       0x2614,
-       0x2616,
-       0x268A,
-       0x2692,
-       0x26A0,
-       0x26A2,
-       0x2B00,
-       0x2B0E,
-       0x321D,
-       0x321F,
-       0x3250,
-       0x3251,
-       0x327C,
-       0x327E,
-       0x32CC,
-       0x32D0,
-       0x3377,
-       0x337B,
-       0x33DE,
-       0x33E0,
-       0x33FF,
-       0x3400,
-       0x4DC0,
-       0x4E00,
-       0xFDFD,
+       0xA4D0,
+       0xA62C,
+       0xA640,
+       0xA6F8,
+       0xA700,
+       0xA7AF,
+       0xA7B0,
+       0xA7B8,
+       0xA7F7,
+       0xA82C,
+       0xA830,
+       0xA83A,
+       0xA840,
+       0xA878,
+       0xA880,
+       0xA8C6,
+       0xA8CE,
+       0xA8DA,
+       0xA8E0,
+       0xA8FE,
+       0xA900,
+       0xA954,
+       0xA95F,
+       0xA97D,
+       0xA980,
+       0xA9CE,
+       0xA9CF,
+       0xA9DA,
+       0xA9DE,
+       0xA9FF,
+       0xAA00,
+       0xAA37,
+       0xAA40,
+       0xAA4E,
+       0xAA50,
+       0xAA5A,
+       0xAA5C,
+       0xAAC3,
+       0xAADB,
+       0xAAF7,
+       0xAB01,
+       0xAB07,
+       0xAB09,
+       0xAB0F,
+       0xAB11,
+       0xAB17,
+       0xAB20,
+       0xAB27,
+       0xAB28,
+       0xAB2F,
+       0xAB30,
+       0xAB66,
+       0xAB70,
+       0xABEE,
+       0xABF0,
+       0xABFA,
+       0xAC00,
+       0xD7A4,
+       0xD7B0,
+       0xD7C7,
+       0xD7CB,
+       0xD7FC,
+       0xD800,
+       0xFA6E,
+       0xFA70,
+       0xFADA,
+       0xFB00,
+       0xFB07,
+       0xFB13,
+       0xFB18,
+       0xFB1D,
+       0xFB37,
+       0xFB38,
+       0xFB3D,
+       0xFB3E,
+       0xFB3F,
+       0xFB40,
+       0xFB42,
+       0xFB43,
+       0xFB45,
+       0xFB46,
+       0xFBC2,
+       0xFBD3,
+       0xFD40,
+       0xFD50,
+       0xFD90,
+       0xFD92,
+       0xFDC8,
+       0xFDF0,
        0xFDFE,
-       0xFE47,
-       0xFE49,
+       0xFE00,
+       0xFE1A,
+       0xFE20,
+       0xFE53,
+       0xFE54,
+       0xFE67,
+       0xFE68,
+       0xFE6C,
+       0xFE70,
+       0xFE75,
+       0xFE76,
+       0xFEFD,
+       0xFEFF,
+       0xFF00,
+       0xFF01,
+       0xFFBF,
+       0xFFC2,
+       0xFFC8,
+       0xFFCA,
+       0xFFD0,
+       0xFFD2,
+       0xFFD8,
+       0xFFDA,
+       0xFFDD,
+       0xFFE0,
+       0xFFE7,
+       0xFFE8,
+       0xFFEF,
+       0xFFF9,
+       0xFFFE,
        0x10000,
        0x1000C,
        0x1000D,
@@ -120194,17 +120316,51 @@ static const UV PL_AGE__4_invlist[] = { /* for all charsets */
        0x10107,
        0x10134,
        0x10137,
-       0x10140,
+       0x1018F,
+       0x10190,
+       0x1019C,
+       0x101A0,
+       0x101A1,
+       0x101D0,
+       0x101FE,
+       0x10280,
+       0x1029D,
+       0x102A0,
+       0x102D1,
+       0x102E0,
+       0x102FC,
+       0x10300,
+       0x10324,
+       0x1032D,
+       0x1034B,
+       0x10350,
+       0x1037B,
        0x10380,
        0x1039E,
        0x1039F,
-       0x103A0,
-       0x10426,
-       0x10428,
-       0x1044E,
+       0x103C4,
+       0x103C8,
+       0x103D6,
+       0x10400,
        0x1049E,
        0x104A0,
        0x104AA,
+       0x104B0,
+       0x104D4,
+       0x104D8,
+       0x104FC,
+       0x10500,
+       0x10528,
+       0x10530,
+       0x10564,
+       0x1056F,
+       0x10570,
+       0x10600,
+       0x10737,
+       0x10740,
+       0x10756,
+       0x10760,
+       0x10768,
        0x10800,
        0x10806,
        0x10808,
@@ -120216,174 +120372,26 @@ static const UV PL_AGE__4_invlist[] = { /* for all charsets */
        0x1083C,
        0x1083D,
        0x1083F,
-       0x10840,
-       0x1D300,
-       0x1D357,
-       0x1D4C1,
-       0x1D4C2,
-       0xE0100,
-       0xE01F0
-};
-
-static const UV PL_AGE__4_DOT_1_invlist[] = { /* for all charsets */
-       173,    /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x237,
-       0x242,
-       0x358,
-       0x35D,
-       0x3FC,
-       0x400,
-       0x4F6,
-       0x4F8,
-       0x5A2,
-       0x5A3,
-       0x5C5,
-       0x5C8,
-       0x60B,
-       0x60C,
-       0x61E,
-       0x61F,
-       0x659,
-       0x65F,
-       0x750,
-       0x76E,
-       0x97D,
-       0x97E,
-       0x9CE,
-       0x9CF,
-       0xBB6,
-       0xBB7,
-       0xBE6,
-       0xBE7,
-       0xFD0,
-       0xFD2,
-       0x10F9,
-       0x10FB,
-       0x10FC,
-       0x10FD,
-       0x1207,
-       0x1208,
-       0x1247,
-       0x1248,
-       0x1287,
-       0x1288,
-       0x12AF,
-       0x12B0,
-       0x12CF,
-       0x12D0,
-       0x12EF,
-       0x12F0,
-       0x130F,
-       0x1310,
-       0x131F,
-       0x1320,
-       0x1347,
-       0x1348,
-       0x135F,
-       0x1361,
-       0x1380,
-       0x139A,
-       0x1980,
-       0x19AA,
-       0x19B0,
-       0x19CA,
-       0x19D0,
-       0x19DA,
-       0x19DE,
-       0x19E0,
-       0x1A00,
-       0x1A1C,
-       0x1A1E,
-       0x1A20,
-       0x1D6C,
-       0x1DC4,
-       0x2055,
-       0x2057,
-       0x2058,
-       0x205F,
-       0x2090,
-       0x2095,
-       0x20B2,
-       0x20B6,
-       0x20EB,
-       0x20EC,
-       0x213C,
-       0x213D,
-       0x214C,
-       0x214D,
-       0x23D1,
-       0x23DC,
-       0x2618,
-       0x2619,
-       0x267E,
-       0x2680,
-       0x2692,
-       0x269D,
-       0x26A2,
-       0x26B2,
-       0x27C0,
-       0x27C7,
-       0x2B0E,
-       0x2B14,
-       0x2C00,
-       0x2C2F,
-       0x2C30,
-       0x2C5F,
-       0x2C80,
-       0x2CEB,
-       0x2CF9,
-       0x2D26,
-       0x2D30,
-       0x2D66,
-       0x2D6F,
-       0x2D70,
-       0x2D80,
-       0x2D97,
-       0x2DA0,
-       0x2DA7,
-       0x2DA8,
-       0x2DAF,
-       0x2DB0,
-       0x2DB7,
-       0x2DB8,
-       0x2DBF,
-       0x2DC0,
-       0x2DC7,
-       0x2DC8,
-       0x2DCF,
-       0x2DD0,
-       0x2DD7,
-       0x2DD8,
-       0x2DDF,
-       0x2E00,
-       0x2E18,
-       0x2E1C,
-       0x2E1E,
-       0x31C0,
-       0x31D0,
-       0x327E,
-       0x327F,
-       0x9FA6,
-       0x9FBC,
-       0xA700,
-       0xA717,
-       0xA800,
-       0xA82C,
-       0xFA70,
-       0xFADA,
-       0xFE10,
-       0xFE1A,
-       0x10140,
-       0x1018B,
-       0x103A0,
-       0x103C4,
-       0x103C8,
-       0x103D6,
-       0x10A00,
+       0x10856,
+       0x10857,
+       0x1089F,
+       0x108A7,
+       0x108B0,
+       0x108E0,
+       0x108F3,
+       0x108F4,
+       0x108F6,
+       0x108FB,
+       0x1091C,
+       0x1091F,
+       0x1093A,
+       0x1093F,
+       0x10940,
+       0x10980,
+       0x109B8,
+       0x109BC,
+       0x109D0,
+       0x109D2,
        0x10A04,
        0x10A05,
        0x10A07,
@@ -120399,774 +120407,314 @@ static const UV PL_AGE__4_DOT_1_invlist[] = { /* for all charsets */
        0x10A48,
        0x10A50,
        0x10A59,
-       0x1D200,
-       0x1D246,
-       0x1D6A4,
-       0x1D6A6
-};
-
-static const UV PL_AGE__5_invlist[] = { /* for all charsets */
-       71,     /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x242,
-       0x250,
-       0x37B,
-       0x37E,
-       0x4CF,
-       0x4D0,
-       0x4FA,
-       0x500,
-       0x510,
-       0x514,
-       0x5BA,
-       0x5BB,
-       0x7C0,
-       0x7FB,
-       0x97B,
-       0x97D,
-       0x97E,
-       0x980,
-       0xCE2,
-       0xCE4,
-       0xCF1,
-       0xCF3,
-       0x1B00,
-       0x1B4C,
-       0x1B50,
-       0x1B7D,
-       0x1DC4,
-       0x1DCB,
-       0x1DFE,
-       0x1E00,
-       0x20EC,
-       0x20F0,
-       0x214D,
-       0x214F,
-       0x2184,
-       0x2185,
-       0x23DC,
-       0x23E8,
-       0x26B2,
-       0x26B3,
-       0x27C7,
-       0x27CB,
-       0x2B14,
-       0x2B1B,
-       0x2B20,
-       0x2B24,
-       0x2C60,
-       0x2C6D,
-       0x2C74,
-       0x2C78,
-       0xA717,
-       0xA71B,
-       0xA720,
-       0xA722,
-       0xA840,
-       0xA878,
-       0x10900,
-       0x1091A,
-       0x1091F,
-       0x10920,
+       0x10A60,
+       0x10AA0,
+       0x10AC0,
+       0x10AE7,
+       0x10AEB,
+       0x10AF7,
+       0x10B00,
+       0x10B36,
+       0x10B39,
+       0x10B56,
+       0x10B58,
+       0x10B73,
+       0x10B78,
+       0x10B92,
+       0x10B99,
+       0x10B9D,
+       0x10BA9,
+       0x10BB0,
+       0x10C00,
+       0x10C49,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
+       0x10CFA,
+       0x10D00,
+       0x10E60,
+       0x10E7F,
+       0x11000,
+       0x1104E,
+       0x11052,
+       0x11070,
+       0x1107F,
+       0x110C2,
+       0x110D0,
+       0x110E9,
+       0x110F0,
+       0x110FA,
+       0x11100,
+       0x11135,
+       0x11136,
+       0x11144,
+       0x11150,
+       0x11177,
+       0x11180,
+       0x111CE,
+       0x111D0,
+       0x111E0,
+       0x111E1,
+       0x111F5,
+       0x11200,
+       0x11212,
+       0x11213,
+       0x1123F,
+       0x11280,
+       0x11287,
+       0x11288,
+       0x11289,
+       0x1128A,
+       0x1128E,
+       0x1128F,
+       0x1129E,
+       0x1129F,
+       0x112AA,
+       0x112B0,
+       0x112EB,
+       0x112F0,
+       0x112FA,
+       0x11300,
+       0x11304,
+       0x11305,
+       0x1130D,
+       0x1130F,
+       0x11311,
+       0x11313,
+       0x11329,
+       0x1132A,
+       0x11331,
+       0x11332,
+       0x11334,
+       0x11335,
+       0x1133A,
+       0x1133C,
+       0x11345,
+       0x11347,
+       0x11349,
+       0x1134B,
+       0x1134E,
+       0x11350,
+       0x11351,
+       0x11357,
+       0x11358,
+       0x1135D,
+       0x11364,
+       0x11366,
+       0x1136D,
+       0x11370,
+       0x11375,
+       0x11400,
+       0x1145A,
+       0x1145B,
+       0x1145C,
+       0x1145D,
+       0x1145E,
+       0x11480,
+       0x114C8,
+       0x114D0,
+       0x114DA,
+       0x11580,
+       0x115B6,
+       0x115B8,
+       0x115DE,
+       0x11600,
+       0x11645,
+       0x11650,
+       0x1165A,
+       0x11660,
+       0x1166D,
+       0x11680,
+       0x116B8,
+       0x116C0,
+       0x116CA,
+       0x11700,
+       0x1171A,
+       0x1171D,
+       0x1172C,
+       0x11730,
+       0x11740,
+       0x118A0,
+       0x118F3,
+       0x118FF,
+       0x11900,
+       0x11A00,
+       0x11A48,
+       0x11A50,
+       0x11A84,
+       0x11A86,
+       0x11A9D,
+       0x11A9E,
+       0x11AA3,
+       0x11AC0,
+       0x11AF9,
+       0x11C00,
+       0x11C09,
+       0x11C0A,
+       0x11C37,
+       0x11C38,
+       0x11C46,
+       0x11C50,
+       0x11C6D,
+       0x11C70,
+       0x11C90,
+       0x11C92,
+       0x11CA8,
+       0x11CA9,
+       0x11CB7,
+       0x11D00,
+       0x11D07,
+       0x11D08,
+       0x11D0A,
+       0x11D0B,
+       0x11D37,
+       0x11D3A,
+       0x11D3B,
+       0x11D3C,
+       0x11D3E,
+       0x11D3F,
+       0x11D48,
+       0x11D50,
+       0x11D5A,
        0x12000,
-       0x1236F,
+       0x1239A,
        0x12400,
-       0x12463,
+       0x1246F,
        0x12470,
-       0x12474,
+       0x12475,
+       0x12480,
+       0x12544,
+       0x13000,
+       0x1342F,
+       0x14400,
+       0x14647,
+       0x16800,
+       0x16A39,
+       0x16A40,
+       0x16A5F,
+       0x16A60,
+       0x16A6A,
+       0x16A6E,
+       0x16A70,
+       0x16AD0,
+       0x16AEE,
+       0x16AF0,
+       0x16AF6,
+       0x16B00,
+       0x16B46,
+       0x16B50,
+       0x16B5A,
+       0x16B5B,
+       0x16B62,
+       0x16B63,
+       0x16B78,
+       0x16B7D,
+       0x16B90,
+       0x16F00,
+       0x16F45,
+       0x16F50,
+       0x16F7F,
+       0x16F8F,
+       0x16FA0,
+       0x16FE0,
+       0x16FE2,
+       0x17000,
+       0x187ED,
+       0x18800,
+       0x18AF3,
+       0x1B000,
+       0x1B11F,
+       0x1B170,
+       0x1B2FC,
+       0x1BC00,
+       0x1BC6B,
+       0x1BC70,
+       0x1BC7D,
+       0x1BC80,
+       0x1BC89,
+       0x1BC90,
+       0x1BC9A,
+       0x1BC9C,
+       0x1BCA4,
+       0x1D000,
+       0x1D0F6,
+       0x1D100,
+       0x1D127,
+       0x1D129,
+       0x1D1E9,
+       0x1D200,
+       0x1D246,
+       0x1D300,
+       0x1D357,
        0x1D360,
        0x1D372,
-       0x1D7CA,
-       0x1D7CC
-};
-
-static const UV PL_AGE__5_DOT_1_invlist[] = { /* for all charsets */
-       179,    /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x370,
-       0x374,
-       0x376,
-       0x378,
-       0x3CF,
-       0x3D0,
-       0x487,
-       0x488,
-       0x514,
-       0x524,
-       0x606,
-       0x60B,
-       0x616,
-       0x61B,
-       0x63B,
-       0x640,
-       0x76E,
-       0x780,
-       0x971,
-       0x973,
-       0xA51,
-       0xA52,
-       0xA75,
-       0xA76,
-       0xB44,
-       0xB45,
-       0xB62,
-       0xB64,
-       0xBD0,
-       0xBD1,
-       0xC3D,
-       0xC3E,
-       0xC58,
-       0xC5A,
-       0xC62,
-       0xC64,
-       0xC78,
-       0xC80,
-       0xD3D,
-       0xD3E,
-       0xD44,
-       0xD45,
-       0xD62,
-       0xD64,
-       0xD70,
-       0xD76,
-       0xD79,
-       0xD80,
-       0xF6B,
-       0xF6D,
-       0xFCE,
-       0xFCF,
-       0xFD2,
-       0xFD5,
-       0x1022,
-       0x1023,
-       0x1028,
-       0x1029,
-       0x102B,
-       0x102C,
-       0x1033,
-       0x1036,
-       0x103A,
-       0x1040,
-       0x105A,
-       0x109A,
-       0x109E,
-       0x10A0,
-       0x18AA,
-       0x18AB,
-       0x1B80,
-       0x1BAB,
-       0x1BAE,
-       0x1BBA,
-       0x1C00,
-       0x1C38,
-       0x1C3B,
-       0x1C4A,
-       0x1C4D,
-       0x1C80,
-       0x1DCB,
-       0x1DE7,
-       0x1E9C,
-       0x1EA0,
-       0x1EFA,
-       0x1F00,
-       0x2064,
-       0x2065,
-       0x20F0,
-       0x20F1,
-       0x214F,
-       0x2150,
-       0x2185,
-       0x2189,
-       0x269D,
-       0x269E,
-       0x26B3,
-       0x26BD,
-       0x26C0,
-       0x26C4,
-       0x27CC,
-       0x27CD,
-       0x27EC,
-       0x27F0,
-       0x2B1B,
-       0x2B20,
-       0x2B24,
-       0x2B4D,
-       0x2B50,
-       0x2B55,
-       0x2C6D,
-       0x2C70,
-       0x2C71,
-       0x2C74,
-       0x2C78,
-       0x2C7E,
-       0x2DE0,
-       0x2E00,
-       0x2E18,
-       0x2E1C,
-       0x2E1E,
-       0x2E31,
-       0x312D,
-       0x312E,
-       0x31D0,
-       0x31E4,
-       0x9FBC,
-       0x9FC4,
-       0xA500,
-       0xA62C,
-       0xA640,
-       0xA660,
-       0xA662,
-       0xA674,
-       0xA67C,
-       0xA698,
-       0xA71B,
-       0xA720,
-       0xA722,
-       0xA78D,
-       0xA7FB,
-       0xA800,
-       0xA880,
-       0xA8C5,
-       0xA8CE,
-       0xA8DA,
-       0xA900,
-       0xA954,
-       0xA95F,
-       0xA960,
-       0xAA00,
-       0xAA37,
-       0xAA40,
-       0xAA4E,
-       0xAA50,
-       0xAA5A,
-       0xAA5C,
-       0xAA60,
-       0xFE24,
-       0xFE27,
-       0x10190,
-       0x1019C,
-       0x101D0,
-       0x101FE,
-       0x10280,
-       0x1029D,
-       0x102A0,
-       0x102D1,
-       0x10920,
-       0x1093A,
-       0x1093F,
-       0x10940,
-       0x1D129,
-       0x1D12A,
-       0x1F000,
-       0x1F02C,
-       0x1F030,
-       0x1F094
-};
-
-static const UV PL_AGE__5_DOT_2_invlist[] = { /* for all charsets */
-       181,    /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x524,
-       0x526,
-       0x800,
-       0x82E,
-       0x830,
-       0x83F,
-       0x900,
-       0x901,
-       0x94E,
-       0x94F,
-       0x955,
-       0x956,
-       0x979,
-       0x97B,
-       0x9FB,
-       0x9FC,
-       0xFD5,
-       0xFD9,
-       0x109A,
-       0x109E,
-       0x115A,
-       0x115F,
-       0x11A3,
-       0x11A8,
-       0x11FA,
-       0x1200,
-       0x1400,
-       0x1401,
-       0x1677,
-       0x1680,
-       0x18B0,
-       0x18F6,
-       0x19AA,
-       0x19AC,
-       0x19DA,
-       0x19DB,
-       0x1A20,
-       0x1A5F,
-       0x1A60,
-       0x1A7D,
-       0x1A7F,
-       0x1A8A,
-       0x1A90,
-       0x1A9A,
-       0x1AA0,
-       0x1AAE,
-       0x1CD0,
-       0x1CF3,
-       0x1DFD,
-       0x1DFE,
-       0x20B6,
-       0x20B9,
-       0x2150,
-       0x2153,
-       0x2189,
-       0x218A,
-       0x23E8,
-       0x23E9,
-       0x269E,
-       0x26A0,
-       0x26BD,
-       0x26C0,
-       0x26C4,
-       0x26CE,
-       0x26CF,
-       0x26E2,
-       0x26E3,
-       0x26E4,
-       0x26E8,
-       0x2700,
-       0x2757,
-       0x2758,
-       0x2B55,
-       0x2B5A,
-       0x2C70,
-       0x2C71,
-       0x2C7E,
-       0x2C80,
-       0x2CEB,
-       0x2CF2,
-       0x2E31,
-       0x2E32,
-       0x3244,
-       0x3250,
-       0x9FC4,
-       0x9FCC,
-       0xA4D0,
-       0xA500,
-       0xA6A0,
-       0xA6F8,
-       0xA830,
-       0xA83A,
-       0xA8E0,
-       0xA8FC,
-       0xA960,
-       0xA97D,
-       0xA980,
-       0xA9CE,
-       0xA9CF,
-       0xA9DA,
-       0xA9DE,
-       0xA9E0,
-       0xAA60,
-       0xAA7C,
-       0xAA80,
-       0xAAC3,
-       0xAADB,
-       0xAAE0,
-       0xABC0,
-       0xABEE,
-       0xABF0,
-       0xABFA,
-       0xD7B0,
-       0xD7C7,
-       0xD7CB,
-       0xD7FC,
-       0xFA6B,
-       0xFA6E,
-       0x10840,
-       0x10856,
-       0x10857,
-       0x10860,
-       0x1091A,
-       0x1091C,
-       0x10A60,
-       0x10A80,
-       0x10B00,
-       0x10B36,
-       0x10B39,
-       0x10B56,
-       0x10B58,
-       0x10B73,
-       0x10B78,
-       0x10B80,
-       0x10C00,
-       0x10C49,
-       0x10E60,
-       0x10E7F,
-       0x11080,
-       0x110C2,
-       0x13000,
-       0x1342F,
-       0x1F100,
-       0x1F10B,
-       0x1F110,
-       0x1F12F,
-       0x1F131,
-       0x1F132,
-       0x1F13D,
-       0x1F13E,
-       0x1F13F,
-       0x1F140,
-       0x1F142,
-       0x1F143,
-       0x1F146,
-       0x1F147,
-       0x1F14A,
-       0x1F14F,
-       0x1F157,
-       0x1F158,
-       0x1F15F,
-       0x1F160,
-       0x1F179,
-       0x1F17A,
-       0x1F17B,
-       0x1F17D,
-       0x1F17F,
-       0x1F180,
-       0x1F18A,
-       0x1F18E,
-       0x1F190,
-       0x1F191,
-       0x1F200,
-       0x1F201,
-       0x1F210,
-       0x1F232,
-       0x1F240,
-       0x1F249,
-       0x2A700,
-       0x2B735
-};
-
-static const UV PL_AGE__6_invlist[] = { /* for all charsets */
-       213,    /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x526,
-       0x528,
-       0x620,
-       0x621,
-       0x65F,
-       0x660,
-       0x840,
-       0x85C,
-       0x85E,
-       0x85F,
-       0x93A,
-       0x93C,
-       0x94F,
-       0x950,
-       0x956,
-       0x958,
-       0x973,
-       0x978,
-       0xB72,
-       0xB78,
-       0xD29,
-       0xD2A,
-       0xD3A,
-       0xD3B,
-       0xD4E,
-       0xD4F,
-       0xF8C,
-       0xF90,
-       0xFD9,
-       0xFDB,
-       0x135D,
-       0x135F,
-       0x1BC0,
-       0x1BF4,
-       0x1BFC,
-       0x1C00,
-       0x1DFC,
-       0x1DFD,
-       0x2095,
-       0x209D,
-       0x20B9,
-       0x20BA,
-       0x23E9,
-       0x23F4,
-       0x26CE,
-       0x26CF,
-       0x26E2,
-       0x26E3,
-       0x26E4,
-       0x26E8,
-       0x2705,
-       0x2706,
-       0x270A,
-       0x270C,
-       0x2728,
-       0x2729,
-       0x274C,
-       0x274D,
-       0x274E,
-       0x274F,
-       0x2753,
-       0x2756,
-       0x275F,
-       0x2761,
-       0x2795,
-       0x2798,
-       0x27B0,
-       0x27B1,
-       0x27BF,
-       0x27C0,
-       0x27CE,
-       0x27D0,
-       0x2D70,
-       0x2D71,
-       0x2D7F,
-       0x2D80,
-       0x31B8,
-       0x31BB,
-       0xA660,
-       0xA662,
-       0xA78D,
-       0xA78F,
-       0xA790,
-       0xA792,
-       0xA7A0,
-       0xA7AA,
-       0xA7FA,
-       0xA7FB,
-       0xAB01,
-       0xAB07,
-       0xAB09,
-       0xAB0F,
-       0xAB11,
-       0xAB17,
-       0xAB20,
-       0xAB27,
-       0xAB28,
-       0xAB2F,
-       0xFBB2,
-       0xFBC2,
-       0x11000,
-       0x1104E,
-       0x11052,
-       0x11070,
-       0x16800,
-       0x16A39,
-       0x1B000,
-       0x1B002,
-       0x1F0A0,
-       0x1F0AF,
-       0x1F0B1,
-       0x1F0BF,
-       0x1F0C1,
-       0x1F0D0,
-       0x1F0D1,
-       0x1F0E0,
-       0x1F130,
-       0x1F131,
-       0x1F132,
-       0x1F13D,
-       0x1F13E,
-       0x1F13F,
-       0x1F140,
-       0x1F142,
-       0x1F143,
-       0x1F146,
-       0x1F147,
-       0x1F14A,
-       0x1F14F,
-       0x1F157,
-       0x1F158,
-       0x1F15F,
-       0x1F160,
-       0x1F16A,
-       0x1F170,
-       0x1F179,
-       0x1F17A,
-       0x1F17B,
-       0x1F17D,
-       0x1F17F,
-       0x1F180,
-       0x1F18A,
-       0x1F18E,
-       0x1F190,
-       0x1F191,
-       0x1F19B,
-       0x1F1E6,
-       0x1F200,
-       0x1F201,
-       0x1F203,
-       0x1F232,
-       0x1F23B,
-       0x1F250,
-       0x1F252,
-       0x1F300,
-       0x1F321,
-       0x1F330,
-       0x1F336,
-       0x1F337,
-       0x1F37D,
-       0x1F380,
-       0x1F394,
-       0x1F3A0,
-       0x1F3C5,
-       0x1F3C6,
-       0x1F3CB,
-       0x1F3E0,
-       0x1F3F1,
-       0x1F400,
-       0x1F43F,
-       0x1F440,
-       0x1F441,
-       0x1F442,
-       0x1F4F8,
-       0x1F4F9,
-       0x1F4FD,
-       0x1F500,
-       0x1F53E,
-       0x1F550,
-       0x1F568,
-       0x1F5FB,
-       0x1F600,
-       0x1F601,
-       0x1F611,
-       0x1F612,
-       0x1F615,
-       0x1F616,
-       0x1F617,
-       0x1F618,
-       0x1F619,
-       0x1F61A,
-       0x1F61B,
-       0x1F61C,
-       0x1F61F,
-       0x1F620,
-       0x1F626,
-       0x1F628,
-       0x1F62C,
-       0x1F62D,
-       0x1F62E,
-       0x1F630,
-       0x1F634,
-       0x1F635,
-       0x1F641,
-       0x1F645,
-       0x1F650,
-       0x1F680,
-       0x1F6C6,
-       0x1F700,
-       0x1F774,
-       0x2B740,
-       0x2B81E
-};
-
-static const UV PL_AGE__6_DOT_1_invlist[] = { /* for all charsets */
-       179,    /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x58F,
-       0x590,
-       0x604,
-       0x605,
-       0x8A0,
-       0x8A1,
-       0x8A2,
-       0x8AD,
-       0x8E4,
-       0x8FF,
-       0xAF0,
-       0xAF1,
-       0xEDE,
-       0xEE0,
-       0x10C7,
-       0x10C8,
-       0x10CD,
-       0x10CE,
-       0x10FD,
-       0x1100,
-       0x1BAB,
-       0x1BAE,
-       0x1BBA,
-       0x1BC0,
-       0x1CC0,
-       0x1CC8,
-       0x1CF3,
-       0x1CF7,
-       0x27CB,
-       0x27CC,
-       0x27CD,
-       0x27CE,
-       0x2CF2,
-       0x2CF4,
-       0x2D27,
-       0x2D28,
-       0x2D2D,
-       0x2D2E,
-       0x2D66,
-       0x2D68,
-       0x2E32,
-       0x2E3C,
-       0x9FCC,
-       0x9FCD,
-       0xA674,
-       0xA67C,
-       0xA69F,
-       0xA6A0,
-       0xA792,
-       0xA794,
-       0xA7AA,
-       0xA7AB,
-       0xA7F8,
-       0xA7FA,
-       0xAAE0,
-       0xAAF7,
-       0xFA2E,
-       0xFA30,
-       0x10980,
-       0x109B8,
-       0x109BE,
-       0x109C0,
-       0x110D0,
-       0x110E9,
-       0x110F0,
-       0x110FA,
-       0x11100,
-       0x11135,
-       0x11136,
-       0x11144,
-       0x11180,
-       0x111C9,
-       0x111D0,
-       0x111DA,
-       0x11680,
-       0x116B8,
-       0x116C0,
-       0x116CA,
-       0x16F00,
-       0x16F45,
-       0x16F50,
-       0x16F7F,
-       0x16F8F,
-       0x16FA0,
+       0x1D400,
+       0x1D455,
+       0x1D456,
+       0x1D49D,
+       0x1D49E,
+       0x1D4A0,
+       0x1D4A2,
+       0x1D4A3,
+       0x1D4A5,
+       0x1D4A7,
+       0x1D4A9,
+       0x1D4AD,
+       0x1D4AE,
+       0x1D4BA,
+       0x1D4BB,
+       0x1D4BC,
+       0x1D4BD,
+       0x1D4C4,
+       0x1D4C5,
+       0x1D506,
+       0x1D507,
+       0x1D50B,
+       0x1D50D,
+       0x1D515,
+       0x1D516,
+       0x1D51D,
+       0x1D51E,
+       0x1D53A,
+       0x1D53B,
+       0x1D53F,
+       0x1D540,
+       0x1D545,
+       0x1D546,
+       0x1D547,
+       0x1D54A,
+       0x1D551,
+       0x1D552,
+       0x1D6A6,
+       0x1D6A8,
+       0x1D7CC,
+       0x1D7CE,
+       0x1DA8C,
+       0x1DA9B,
+       0x1DAA0,
+       0x1DAA1,
+       0x1DAB0,
+       0x1E000,
+       0x1E007,
+       0x1E008,
+       0x1E019,
+       0x1E01B,
+       0x1E022,
+       0x1E023,
+       0x1E025,
+       0x1E026,
+       0x1E02B,
+       0x1E800,
+       0x1E8C5,
+       0x1E8C7,
+       0x1E8D7,
+       0x1E900,
+       0x1E94B,
+       0x1E950,
+       0x1E95A,
+       0x1E95E,
+       0x1E960,
        0x1EE00,
        0x1EE04,
        0x1EE05,
@@ -121235,332 +120783,44 @@ static const UV PL_AGE__6_DOT_1_invlist[] = { /* for all charsets */
        0x1EEBC,
        0x1EEF0,
        0x1EEF2,
-       0x1F16A,
-       0x1F16C,
-       0x1F540,
-       0x1F544,
-       0x1F600,
-       0x1F601,
-       0x1F611,
-       0x1F612,
-       0x1F615,
-       0x1F616,
-       0x1F617,
-       0x1F618,
-       0x1F619,
-       0x1F61A,
-       0x1F61B,
-       0x1F61C,
-       0x1F61F,
-       0x1F620,
-       0x1F626,
-       0x1F628,
-       0x1F62C,
-       0x1F62D,
-       0x1F62E,
-       0x1F630,
-       0x1F634,
-       0x1F635
-};
-
-static const UV PL_AGE__6_DOT_2_invlist[] = { /* for all charsets */
-       3,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x20BA,
-       0x20BB
-};
-
-static const UV PL_AGE__6_DOT_3_invlist[] = { /* for all charsets */
-       5,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x61C,
-       0x61D,
-       0x2066,
-       0x206A
-};
-
-static const UV PL_AGE__7_invlist[] = { /* for all charsets */
-       283,    /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x37F,
-       0x380,
-       0x528,
-       0x530,
-       0x58D,
-       0x58F,
-       0x605,
-       0x606,
-       0x8A1,
-       0x8A2,
-       0x8AD,
-       0x8B3,
-       0x8FF,
-       0x900,
-       0x978,
-       0x979,
-       0x980,
-       0x981,
-       0xC00,
-       0xC01,
-       0xC34,
-       0xC35,
-       0xC81,
-       0xC82,
-       0xD01,
-       0xD02,
-       0xDE6,
-       0xDF0,
-       0x16F1,
-       0x16F9,
-       0x191D,
-       0x191F,
-       0x1AB0,
-       0x1ABF,
-       0x1CF8,
-       0x1CFA,
-       0x1DE7,
-       0x1DF6,
-       0x20BB,
-       0x20BE,
-       0x23F4,
-       0x23FB,
-       0x2700,
-       0x2701,
-       0x2B4D,
-       0x2B50,
-       0x2B5A,
-       0x2B74,
-       0x2B76,
-       0x2B96,
-       0x2B98,
-       0x2BBA,
-       0x2BBD,
-       0x2BC9,
-       0x2BCA,
-       0x2BD2,
-       0x2E3C,
-       0x2E43,
-       0xA698,
-       0xA69E,
-       0xA794,
-       0xA7A0,
-       0xA7AB,
-       0xA7AE,
-       0xA7B0,
-       0xA7B2,
-       0xA7F7,
-       0xA7F8,
-       0xA9E0,
-       0xA9FF,
-       0xAA7C,
-       0xAA80,
-       0xAB30,
-       0xAB60,
-       0xAB64,
-       0xAB66,
-       0xFE27,
-       0xFE2E,
-       0x1018B,
-       0x1018D,
-       0x101A0,
-       0x101A1,
-       0x102E0,
-       0x102FC,
-       0x1031F,
-       0x10320,
-       0x10350,
-       0x1037B,
-       0x10500,
-       0x10528,
-       0x10530,
-       0x10564,
-       0x1056F,
-       0x10570,
-       0x10600,
-       0x10737,
-       0x10740,
-       0x10756,
-       0x10760,
-       0x10768,
-       0x10860,
-       0x1089F,
-       0x108A7,
-       0x108B0,
-       0x10A80,
-       0x10AA0,
-       0x10AC0,
-       0x10AE7,
-       0x10AEB,
-       0x10AF7,
-       0x10B80,
-       0x10B92,
-       0x10B99,
-       0x10B9D,
-       0x10BA9,
-       0x10BB0,
-       0x1107F,
-       0x11080,
-       0x11150,
-       0x11177,
-       0x111CD,
-       0x111CE,
-       0x111DA,
-       0x111DB,
-       0x111E1,
-       0x111F5,
-       0x11200,
-       0x11212,
-       0x11213,
-       0x1123E,
-       0x112B0,
-       0x112EB,
-       0x112F0,
-       0x112FA,
-       0x11301,
-       0x11304,
-       0x11305,
-       0x1130D,
-       0x1130F,
-       0x11311,
-       0x11313,
-       0x11329,
-       0x1132A,
-       0x11331,
-       0x11332,
-       0x11334,
-       0x11335,
-       0x1133A,
-       0x1133C,
-       0x11345,
-       0x11347,
-       0x11349,
-       0x1134B,
-       0x1134E,
-       0x11357,
-       0x11358,
-       0x1135D,
-       0x11364,
-       0x11366,
-       0x1136D,
-       0x11370,
-       0x11375,
-       0x11480,
-       0x114C8,
-       0x114D0,
-       0x114DA,
-       0x11580,
-       0x115B6,
-       0x115B8,
-       0x115CA,
-       0x11600,
-       0x11645,
-       0x11650,
-       0x1165A,
-       0x118A0,
-       0x118F3,
-       0x118FF,
-       0x11900,
-       0x11AC0,
-       0x11AF9,
-       0x1236F,
-       0x12399,
-       0x12463,
-       0x1246F,
-       0x12474,
-       0x12475,
-       0x16A40,
-       0x16A5F,
-       0x16A60,
-       0x16A6A,
-       0x16A6E,
-       0x16A70,
-       0x16AD0,
-       0x16AEE,
-       0x16AF0,
-       0x16AF6,
-       0x16B00,
-       0x16B46,
-       0x16B50,
-       0x16B5A,
-       0x16B5B,
-       0x16B62,
-       0x16B63,
-       0x16B78,
-       0x16B7D,
-       0x16B90,
-       0x1BC00,
-       0x1BC6B,
-       0x1BC70,
-       0x1BC7D,
-       0x1BC80,
-       0x1BC89,
-       0x1BC90,
-       0x1BC9A,
-       0x1BC9C,
-       0x1BCA4,
-       0x1E800,
-       0x1E8C5,
-       0x1E8C7,
-       0x1E8D7,
-       0x1F0BF,
+       0x1F000,
+       0x1F02C,
+       0x1F030,
+       0x1F094,
+       0x1F0A0,
+       0x1F0AF,
+       0x1F0B1,
        0x1F0C0,
-       0x1F0E0,
+       0x1F0C1,
+       0x1F0D0,
+       0x1F0D1,
        0x1F0F6,
-       0x1F10B,
+       0x1F100,
        0x1F10D,
-       0x1F321,
-       0x1F32D,
-       0x1F336,
-       0x1F337,
-       0x1F37D,
-       0x1F37E,
-       0x1F394,
-       0x1F3A0,
-       0x1F3C5,
-       0x1F3C6,
-       0x1F3CB,
-       0x1F3CF,
-       0x1F3D4,
-       0x1F3E0,
-       0x1F3F1,
-       0x1F3F8,
-       0x1F43F,
-       0x1F440,
-       0x1F441,
-       0x1F442,
-       0x1F4F8,
-       0x1F4F9,
-       0x1F4FD,
-       0x1F4FF,
-       0x1F53E,
-       0x1F540,
-       0x1F544,
-       0x1F54B,
-       0x1F568,
-       0x1F57A,
-       0x1F57B,
-       0x1F5A4,
-       0x1F5A5,
-       0x1F5FB,
-       0x1F641,
-       0x1F643,
-       0x1F650,
-       0x1F680,
-       0x1F6C6,
-       0x1F6D0,
+       0x1F110,
+       0x1F12F,
+       0x1F130,
+       0x1F16C,
+       0x1F170,
+       0x1F1AD,
+       0x1F1E6,
+       0x1F203,
+       0x1F210,
+       0x1F23C,
+       0x1F240,
+       0x1F249,
+       0x1F250,
+       0x1F252,
+       0x1F260,
+       0x1F266,
+       0x1F300,
+       0x1F6D5,
        0x1F6E0,
        0x1F6ED,
        0x1F6F0,
-       0x1F6F4,
+       0x1F6F9,
+       0x1F700,
+       0x1F774,
        0x1F780,
        0x1F7D5,
        0x1F800,
@@ -121572,727 +120832,122 @@ static const UV PL_AGE__7_invlist[] = { /* for all charsets */
        0x1F860,
        0x1F888,
        0x1F890,
-       0x1F8AE
-};
-
-static const UV PL_AGE__8_invlist[] = { /* for all charsets */
-       119,    /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x8B3,
-       0x8B5,
-       0x8E3,
-       0x8E4,
-       0xAF9,
-       0xAFA,
-       0xC5A,
-       0xC5B,
-       0xD5F,
-       0xD60,
-       0x13F5,
-       0x13F6,
-       0x13F8,
-       0x13FE,
-       0x20BE,
-       0x20BF,
-       0x218A,
-       0x218C,
-       0x2BEC,
-       0x2BF0,
-       0x9FCD,
-       0x9FD6,
-       0xA69E,
-       0xA69F,
-       0xA78F,
-       0xA790,
-       0xA7B2,
-       0xA7B8,
-       0xA8FC,
-       0xA8FE,
-       0xAB60,
-       0xAB64,
-       0xAB70,
-       0xABC0,
-       0xFE2E,
-       0xFE30,
-       0x108E0,
-       0x108F3,
-       0x108F4,
-       0x108F6,
-       0x108FB,
-       0x10900,
-       0x109BC,
-       0x109BE,
-       0x109C0,
-       0x109D0,
-       0x109D2,
-       0x10A00,
-       0x10C80,
-       0x10CB3,
-       0x10CC0,
-       0x10CF3,
-       0x10CFA,
-       0x10D00,
-       0x111C9,
-       0x111CD,
-       0x111DB,
-       0x111E0,
-       0x11280,
-       0x11287,
-       0x11288,
-       0x11289,
-       0x1128A,
-       0x1128E,
-       0x1128F,
-       0x1129E,
-       0x1129F,
-       0x112AA,
-       0x11300,
-       0x11301,
-       0x11350,
-       0x11351,
-       0x115CA,
-       0x115DE,
-       0x11700,
-       0x1171A,
-       0x1171D,
-       0x1172C,
-       0x11730,
-       0x11740,
-       0x12399,
-       0x1239A,
-       0x12480,
-       0x12544,
-       0x14400,
-       0x14647,
-       0x1D1DE,
-       0x1D1E9,
-       0x1D800,
-       0x1DA8C,
-       0x1DA9B,
-       0x1DAA0,
-       0x1DAA1,
-       0x1DAB0,
-       0x1F32D,
-       0x1F330,
-       0x1F37E,
-       0x1F380,
-       0x1F3CF,
-       0x1F3D4,
-       0x1F3F8,
-       0x1F400,
-       0x1F4FF,
-       0x1F500,
-       0x1F54B,
-       0x1F550,
-       0x1F643,
-       0x1F645,
-       0x1F6D0,
-       0x1F6D1,
+       0x1F8AE,
+       0x1F900,
+       0x1F90C,
        0x1F910,
-       0x1F919,
+       0x1F93F,
+       0x1F940,
+       0x1F94D,
+       0x1F950,
+       0x1F96C,
        0x1F980,
-       0x1F985,
+       0x1F998,
        0x1F9C0,
        0x1F9C1,
+       0x1F9D0,
+       0x1F9E7,
+       0x20000,
+       0x2A6D7,
+       0x2A700,
+       0x2B735,
+       0x2B740,
+       0x2B81E,
        0x2B820,
-       0x2CEA2
+       0x2CEA2,
+       0x2CEB0,
+       0x2EBE1,
+       0x2F800,
+       0x2FA1E,
+       0xE0001,
+       0xE0002,
+       0xE0020,
+       0xE0080,
+       0xE0100,
+       0xE01F0,
+       0xF0000,
+       0xFFFFE,
+       0x100000,
+       0x10FFFE
 };
 
-static const UV PL_AGE__9_invlist[] = { /* for all charsets */
-       105,    /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x8B6,
-       0x8BE,
-       0x8D4,
-       0x8E3,
-       0xC80,
-       0xC81,
-       0xD4F,
-       0xD50,
-       0xD54,
-       0xD57,
-       0xD58,
-       0xD5F,
-       0xD76,
-       0xD79,
-       0x1C80,
-       0x1C89,
-       0x1DFB,
-       0x1DFC,
-       0x23FB,
-       0x23FF,
-       0x2E43,
-       0x2E45,
-       0xA7AE,
-       0xA7AF,
-       0xA8C5,
-       0xA8C6,
-       0x1018D,
-       0x1018F,
-       0x104B0,
-       0x104D4,
-       0x104D8,
-       0x104FC,
-       0x1123E,
-       0x1123F,
-       0x11400,
-       0x1145A,
-       0x1145B,
-       0x1145C,
-       0x1145D,
-       0x1145E,
-       0x11660,
-       0x1166D,
-       0x11C00,
-       0x11C09,
-       0x11C0A,
-       0x11C37,
-       0x11C38,
-       0x11C46,
-       0x11C50,
-       0x11C6D,
-       0x11C70,
-       0x11C90,
-       0x11C92,
-       0x11CA8,
-       0x11CA9,
-       0x11CB7,
-       0x16FE0,
-       0x16FE1,
-       0x17000,
-       0x187ED,
-       0x18800,
-       0x18AF3,
-       0x1E000,
-       0x1E007,
-       0x1E008,
-       0x1E019,
-       0x1E01B,
-       0x1E022,
-       0x1E023,
-       0x1E025,
-       0x1E026,
-       0x1E02B,
-       0x1E900,
-       0x1E94B,
-       0x1E950,
-       0x1E95A,
-       0x1E95E,
-       0x1E960,
-       0x1F19B,
-       0x1F1AD,
-       0x1F23B,
-       0x1F23C,
-       0x1F57A,
-       0x1F57B,
-       0x1F5A4,
-       0x1F5A5,
-       0x1F6D1,
-       0x1F6D3,
-       0x1F6F4,
-       0x1F6F7,
-       0x1F919,
-       0x1F91F,
-       0x1F920,
-       0x1F928,
-       0x1F930,
-       0x1F931,
-       0x1F933,
-       0x1F93F,
-       0x1F940,
-       0x1F94C,
-       0x1F950,
-       0x1F95F,
-       0x1F985,
-       0x1F992
-};
+#   if 'A' == 65 /* ASCII/Latin1 */
 
-static const UV PL_AGE__NA_invlist[] = { /* for all charsets */
-       1318,   /* Number of elements */
+static const UV PL_CASED_invlist[] = { /* for ASCII/Latin1 */
+       271,    /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
+       0x41,
+       0x5B,
+       0x61,
+       0x7B,
+       0xAA,
+       0xAB,
+       0xB5,
+       0xB6,
+       0xBA,
+       0xBB,
+       0xC0,
+       0xD7,
+       0xD8,
+       0xF7,
+       0xF8,
+       0x1BB,
+       0x1BC,
+       0x1C0,
+       0x1C4,
+       0x294,
+       0x295,
+       0x2B9,
+       0x2C0,
+       0x2C2,
+       0x2E0,
+       0x2E5,
+       0x345,
+       0x346,
+       0x370,
+       0x374,
+       0x376,
        0x378,
        0x37A,
+       0x37E,
+       0x37F,
        0x380,
-       0x384,
+       0x386,
+       0x387,
+       0x388,
        0x38B,
        0x38C,
        0x38D,
        0x38E,
        0x3A2,
        0x3A3,
+       0x3F6,
+       0x3F7,
+       0x482,
+       0x48A,
        0x530,
        0x531,
        0x557,
-       0x559,
-       0x560,
        0x561,
        0x588,
-       0x589,
-       0x58B,
-       0x58D,
-       0x590,
-       0x591,
-       0x5C8,
-       0x5D0,
-       0x5EB,
-       0x5F0,
-       0x5F5,
-       0x600,
-       0x61D,
-       0x61E,
-       0x70E,
-       0x70F,
-       0x74B,
-       0x74D,
-       0x7B2,
-       0x7C0,
-       0x7FB,
-       0x800,
-       0x82E,
-       0x830,
-       0x83F,
-       0x840,
-       0x85C,
-       0x85E,
-       0x85F,
-       0x860,
-       0x86B,
-       0x8A0,
-       0x8B5,
-       0x8B6,
-       0x8BE,
-       0x8D4,
-       0x984,
-       0x985,
-       0x98D,
-       0x98F,
-       0x991,
-       0x993,
-       0x9A9,
-       0x9AA,
-       0x9B1,
-       0x9B2,
-       0x9B3,
-       0x9B6,
-       0x9BA,
-       0x9BC,
-       0x9C5,
-       0x9C7,
-       0x9C9,
-       0x9CB,
-       0x9CF,
-       0x9D7,
-       0x9D8,
-       0x9DC,
-       0x9DE,
-       0x9DF,
-       0x9E4,
-       0x9E6,
-       0x9FE,
-       0xA01,
-       0xA04,
-       0xA05,
-       0xA0B,
-       0xA0F,
-       0xA11,
-       0xA13,
-       0xA29,
-       0xA2A,
-       0xA31,
-       0xA32,
-       0xA34,
-       0xA35,
-       0xA37,
-       0xA38,
-       0xA3A,
-       0xA3C,
-       0xA3D,
-       0xA3E,
-       0xA43,
-       0xA47,
-       0xA49,
-       0xA4B,
-       0xA4E,
-       0xA51,
-       0xA52,
-       0xA59,
-       0xA5D,
-       0xA5E,
-       0xA5F,
-       0xA66,
-       0xA76,
-       0xA81,
-       0xA84,
-       0xA85,
-       0xA8E,
-       0xA8F,
-       0xA92,
-       0xA93,
-       0xAA9,
-       0xAAA,
-       0xAB1,
-       0xAB2,
-       0xAB4,
-       0xAB5,
-       0xABA,
-       0xABC,
-       0xAC6,
-       0xAC7,
-       0xACA,
-       0xACB,
-       0xACE,
-       0xAD0,
-       0xAD1,
-       0xAE0,
-       0xAE4,
-       0xAE6,
-       0xAF2,
-       0xAF9,
-       0xB00,
-       0xB01,
-       0xB04,
-       0xB05,
-       0xB0D,
-       0xB0F,
-       0xB11,
-       0xB13,
-       0xB29,
-       0xB2A,
-       0xB31,
-       0xB32,
-       0xB34,
-       0xB35,
-       0xB3A,
-       0xB3C,
-       0xB45,
-       0xB47,
-       0xB49,
-       0xB4B,
-       0xB4E,
-       0xB56,
-       0xB58,
-       0xB5C,
-       0xB5E,
-       0xB5F,
-       0xB64,
-       0xB66,
-       0xB78,
-       0xB82,
-       0xB84,
-       0xB85,
-       0xB8B,
-       0xB8E,
-       0xB91,
-       0xB92,
-       0xB96,
-       0xB99,
-       0xB9B,
-       0xB9C,
-       0xB9D,
-       0xB9E,
-       0xBA0,
-       0xBA3,
-       0xBA5,
-       0xBA8,
-       0xBAB,
-       0xBAE,
-       0xBBA,
-       0xBBE,
-       0xBC3,
-       0xBC6,
-       0xBC9,
-       0xBCA,
-       0xBCE,
-       0xBD0,
-       0xBD1,
-       0xBD7,
-       0xBD8,
-       0xBE6,
-       0xBFB,
-       0xC00,
-       0xC04,
-       0xC05,
-       0xC0D,
-       0xC0E,
-       0xC11,
-       0xC12,
-       0xC29,
-       0xC2A,
-       0xC3A,
-       0xC3D,
-       0xC45,
-       0xC46,
-       0xC49,
-       0xC4A,
-       0xC4E,
-       0xC55,
-       0xC57,
-       0xC58,
-       0xC5B,
-       0xC60,
-       0xC64,
-       0xC66,
-       0xC70,
-       0xC78,
-       0xC84,
-       0xC85,
-       0xC8D,
-       0xC8E,
-       0xC91,
-       0xC92,
-       0xCA9,
-       0xCAA,
-       0xCB4,
-       0xCB5,
-       0xCBA,
-       0xCBC,
-       0xCC5,
-       0xCC6,
-       0xCC9,
-       0xCCA,
-       0xCCE,
-       0xCD5,
-       0xCD7,
-       0xCDE,
-       0xCDF,
-       0xCE0,
-       0xCE4,
-       0xCE6,
-       0xCF0,
-       0xCF1,
-       0xCF3,
-       0xD00,
-       0xD04,
-       0xD05,
-       0xD0D,
-       0xD0E,
-       0xD11,
-       0xD12,
-       0xD45,
-       0xD46,
-       0xD49,
-       0xD4A,
-       0xD50,
-       0xD54,
-       0xD64,
-       0xD66,
-       0xD80,
-       0xD82,
-       0xD84,
-       0xD85,
-       0xD97,
-       0xD9A,
-       0xDB2,
-       0xDB3,
-       0xDBC,
-       0xDBD,
-       0xDBE,
-       0xDC0,
-       0xDC7,
-       0xDCA,
-       0xDCB,
-       0xDCF,
-       0xDD5,
-       0xDD6,
-       0xDD7,
-       0xDD8,
-       0xDE0,
-       0xDE6,
-       0xDF0,
-       0xDF2,
-       0xDF5,
-       0xE01,
-       0xE3B,
-       0xE3F,
-       0xE5C,
-       0xE81,
-       0xE83,
-       0xE84,
-       0xE85,
-       0xE87,
-       0xE89,
-       0xE8A,
-       0xE8B,
-       0xE8D,
-       0xE8E,
-       0xE94,
-       0xE98,
-       0xE99,
-       0xEA0,
-       0xEA1,
-       0xEA4,
-       0xEA5,
-       0xEA6,
-       0xEA7,
-       0xEA8,
-       0xEAA,
-       0xEAC,
-       0xEAD,
-       0xEBA,
-       0xEBB,
-       0xEBE,
-       0xEC0,
-       0xEC5,
-       0xEC6,
-       0xEC7,
-       0xEC8,
-       0xECE,
-       0xED0,
-       0xEDA,
-       0xEDC,
-       0xEE0,
-       0xF00,
-       0xF48,
-       0xF49,
-       0xF6D,
-       0xF71,
-       0xF98,
-       0xF99,
-       0xFBD,
-       0xFBE,
-       0xFCD,
-       0xFCE,
-       0xFDB,
-       0x1000,
+       0x10A0,
        0x10C6,
        0x10C7,
        0x10C8,
        0x10CD,
        0x10CE,
-       0x10D0,
-       0x1249,
-       0x124A,
-       0x124E,
-       0x1250,
-       0x1257,
-       0x1258,
-       0x1259,
-       0x125A,
-       0x125E,
-       0x1260,
-       0x1289,
-       0x128A,
-       0x128E,
-       0x1290,
-       0x12B1,
-       0x12B2,
-       0x12B6,
-       0x12B8,
-       0x12BF,
-       0x12C0,
-       0x12C1,
-       0x12C2,
-       0x12C6,
-       0x12C8,
-       0x12D7,
-       0x12D8,
-       0x1311,
-       0x1312,
-       0x1316,
-       0x1318,
-       0x135B,
-       0x135D,
-       0x137D,
-       0x1380,
-       0x139A,
        0x13A0,
        0x13F6,
        0x13F8,
        0x13FE,
-       0x1400,
-       0x169D,
-       0x16A0,
-       0x16F9,
-       0x1700,
-       0x170D,
-       0x170E,
-       0x1715,
-       0x1720,
-       0x1737,
-       0x1740,
-       0x1754,
-       0x1760,
-       0x176D,
-       0x176E,
-       0x1771,
-       0x1772,
-       0x1774,
-       0x1780,
-       0x17DE,
-       0x17E0,
-       0x17EA,
-       0x17F0,
-       0x17FA,
-       0x1800,
-       0x180F,
-       0x1810,
-       0x181A,
-       0x1820,
-       0x1878,
-       0x1880,
-       0x18AB,
-       0x18B0,
-       0x18F6,
-       0x1900,
-       0x191F,
-       0x1920,
-       0x192C,
-       0x1930,
-       0x193C,
-       0x1940,
-       0x1941,
-       0x1944,
-       0x196E,
-       0x1970,
-       0x1975,
-       0x1980,
-       0x19AC,
-       0x19B0,
-       0x19CA,
-       0x19D0,
-       0x19DB,
-       0x19DE,
-       0x1A1C,
-       0x1A1E,
-       0x1A5F,
-       0x1A60,
-       0x1A7D,
-       0x1A7F,
-       0x1A8A,
-       0x1A90,
-       0x1A9A,
-       0x1AA0,
-       0x1AAE,
-       0x1AB0,
-       0x1ABF,
-       0x1B00,
-       0x1B4C,
-       0x1B50,
-       0x1B7D,
-       0x1B80,
-       0x1BF4,
-       0x1BFC,
-       0x1C38,
-       0x1C3B,
-       0x1C4A,
-       0x1C4D,
+       0x1C80,
        0x1C89,
-       0x1CC0,
-       0x1CC8,
-       0x1CD0,
-       0x1CFA,
        0x1D00,
-       0x1DFA,
-       0x1DFB,
+       0x1DC0,
+       0x1E00,
        0x1F16,
        0x1F18,
        0x1F1E,
@@ -122313,587 +120968,119 @@ static const UV PL_AGE__NA_invlist[] = { /* for all charsets */
        0x1F80,
        0x1FB5,
        0x1FB6,
+       0x1FBD,
+       0x1FBE,
+       0x1FBF,
+       0x1FC2,
        0x1FC5,
        0x1FC6,
+       0x1FCD,
+       0x1FD0,
        0x1FD4,
        0x1FD6,
        0x1FDC,
-       0x1FDD,
-       0x1FF0,
+       0x1FE0,
+       0x1FED,
        0x1FF2,
        0x1FF5,
        0x1FF6,
-       0x1FFF,
-       0x2000,
-       0x2065,
-       0x2066,
+       0x1FFD,
+       0x2071,
        0x2072,
-       0x2074,
-       0x208F,
+       0x207F,
+       0x2080,
        0x2090,
        0x209D,
-       0x20A0,
-       0x20C0,
-       0x20D0,
-       0x20F1,
-       0x2100,
-       0x218C,
-       0x2190,
-       0x2427,
-       0x2440,
-       0x244B,
-       0x2460,
-       0x2B74,
-       0x2B76,
-       0x2B96,
-       0x2B98,
-       0x2BBA,
-       0x2BBD,
-       0x2BC9,
-       0x2BCA,
-       0x2BD3,
-       0x2BEC,
-       0x2BF0,
+       0x2102,
+       0x2103,
+       0x2107,
+       0x2108,
+       0x210A,
+       0x2114,
+       0x2115,
+       0x2116,
+       0x2119,
+       0x211E,
+       0x2124,
+       0x2125,
+       0x2126,
+       0x2127,
+       0x2128,
+       0x2129,
+       0x212A,
+       0x212E,
+       0x212F,
+       0x2135,
+       0x2139,
+       0x213A,
+       0x213C,
+       0x2140,
+       0x2145,
+       0x214A,
+       0x214E,
+       0x214F,
+       0x2160,
+       0x2180,
+       0x2183,
+       0x2185,
+       0x24B6,
+       0x24EA,
        0x2C00,
        0x2C2F,
        0x2C30,
        0x2C5F,
        0x2C60,
+       0x2CE5,
+       0x2CEB,
+       0x2CEF,
+       0x2CF2,
        0x2CF4,
-       0x2CF9,
+       0x2D00,
        0x2D26,
        0x2D27,
        0x2D28,
        0x2D2D,
        0x2D2E,
-       0x2D30,
-       0x2D68,
-       0x2D6F,
-       0x2D71,
-       0x2D7F,
-       0x2D97,
-       0x2DA0,
-       0x2DA7,
-       0x2DA8,
-       0x2DAF,
-       0x2DB0,
-       0x2DB7,
-       0x2DB8,
-       0x2DBF,
-       0x2DC0,
-       0x2DC7,
-       0x2DC8,
-       0x2DCF,
-       0x2DD0,
-       0x2DD7,
-       0x2DD8,
-       0x2DDF,
-       0x2DE0,
-       0x2E4A,
-       0x2E80,
-       0x2E9A,
-       0x2E9B,
-       0x2EF4,
-       0x2F00,
-       0x2FD6,
-       0x2FF0,
-       0x2FFC,
-       0x3000,
-       0x3040,
-       0x3041,
-       0x3097,
-       0x3099,
-       0x3100,
-       0x3105,
-       0x312F,
-       0x3131,
-       0x318F,
-       0x3190,
-       0x31BB,
-       0x31C0,
-       0x31E4,
-       0x31F0,
-       0x321F,
-       0x3220,
-       0x32FF,
-       0x3300,
-       0x4DB6,
-       0x4DC0,
-       0x9FEB,
-       0xA000,
-       0xA48D,
-       0xA490,
-       0xA4C7,
-       0xA4D0,
-       0xA62C,
        0xA640,
-       0xA6F8,
-       0xA700,
+       0xA66E,
+       0xA680,
+       0xA69E,
+       0xA722,
+       0xA788,
+       0xA78B,
+       0xA78F,
+       0xA790,
        0xA7AF,
        0xA7B0,
        0xA7B8,
-       0xA7F7,
-       0xA82C,
-       0xA830,
-       0xA83A,
-       0xA840,
-       0xA878,
-       0xA880,
-       0xA8C6,
-       0xA8CE,
-       0xA8DA,
-       0xA8E0,
-       0xA8FE,
-       0xA900,
-       0xA954,
-       0xA95F,
-       0xA97D,
-       0xA980,
-       0xA9CE,
-       0xA9CF,
-       0xA9DA,
-       0xA9DE,
-       0xA9FF,
-       0xAA00,
-       0xAA37,
-       0xAA40,
-       0xAA4E,
-       0xAA50,
-       0xAA5A,
-       0xAA5C,
-       0xAAC3,
-       0xAADB,
-       0xAAF7,
-       0xAB01,
-       0xAB07,
-       0xAB09,
-       0xAB0F,
-       0xAB11,
-       0xAB17,
-       0xAB20,
-       0xAB27,
-       0xAB28,
-       0xAB2F,
+       0xA7F8,
+       0xA7FB,
        0xAB30,
+       0xAB5B,
+       0xAB5C,
        0xAB66,
        0xAB70,
-       0xABEE,
-       0xABF0,
-       0xABFA,
-       0xAC00,
-       0xD7A4,
-       0xD7B0,
-       0xD7C7,
-       0xD7CB,
-       0xD7FC,
-       0xD800,
-       0xFA6E,
-       0xFA70,
-       0xFADA,
+       0xABC0,
        0xFB00,
        0xFB07,
        0xFB13,
        0xFB18,
-       0xFB1D,
-       0xFB37,
-       0xFB38,
-       0xFB3D,
-       0xFB3E,
-       0xFB3F,
-       0xFB40,
-       0xFB42,
-       0xFB43,
-       0xFB45,
-       0xFB46,
-       0xFBC2,
-       0xFBD3,
-       0xFD40,
-       0xFD50,
-       0xFD90,
-       0xFD92,
-       0xFDC8,
-       0xFDD0,
-       0xFDFE,
-       0xFE00,
-       0xFE1A,
-       0xFE20,
-       0xFE53,
-       0xFE54,
-       0xFE67,
-       0xFE68,
-       0xFE6C,
-       0xFE70,
-       0xFE75,
-       0xFE76,
-       0xFEFD,
-       0xFEFF,
-       0xFF00,
-       0xFF01,
-       0xFFBF,
-       0xFFC2,
-       0xFFC8,
-       0xFFCA,
-       0xFFD0,
-       0xFFD2,
-       0xFFD8,
-       0xFFDA,
-       0xFFDD,
-       0xFFE0,
-       0xFFE7,
-       0xFFE8,
-       0xFFEF,
-       0xFFF9,
-       0x1000C,
-       0x1000D,
-       0x10027,
-       0x10028,
-       0x1003B,
-       0x1003C,
-       0x1003E,
-       0x1003F,
-       0x1004E,
-       0x10050,
-       0x1005E,
-       0x10080,
-       0x100FB,
-       0x10100,
-       0x10103,
-       0x10107,
-       0x10134,
-       0x10137,
-       0x1018F,
-       0x10190,
-       0x1019C,
-       0x101A0,
-       0x101A1,
-       0x101D0,
-       0x101FE,
-       0x10280,
-       0x1029D,
-       0x102A0,
-       0x102D1,
-       0x102E0,
-       0x102FC,
-       0x10300,
-       0x10324,
-       0x1032D,
-       0x1034B,
-       0x10350,
-       0x1037B,
-       0x10380,
-       0x1039E,
-       0x1039F,
-       0x103C4,
-       0x103C8,
-       0x103D6,
+       0xFF21,
+       0xFF3B,
+       0xFF41,
+       0xFF5B,
        0x10400,
-       0x1049E,
-       0x104A0,
-       0x104AA,
+       0x10450,
        0x104B0,
        0x104D4,
        0x104D8,
        0x104FC,
-       0x10500,
-       0x10528,
-       0x10530,
-       0x10564,
-       0x1056F,
-       0x10570,
-       0x10600,
-       0x10737,
-       0x10740,
-       0x10756,
-       0x10760,
-       0x10768,
-       0x10800,
-       0x10806,
-       0x10808,
-       0x10809,
-       0x1080A,
-       0x10836,
-       0x10837,
-       0x10839,
-       0x1083C,
-       0x1083D,
-       0x1083F,
-       0x10856,
-       0x10857,
-       0x1089F,
-       0x108A7,
-       0x108B0,
-       0x108E0,
-       0x108F3,
-       0x108F4,
-       0x108F6,
-       0x108FB,
-       0x1091C,
-       0x1091F,
-       0x1093A,
-       0x1093F,
-       0x10940,
-       0x10980,
-       0x109B8,
-       0x109BC,
-       0x109D0,
-       0x109D2,
-       0x10A04,
-       0x10A05,
-       0x10A07,
-       0x10A0C,
-       0x10A14,
-       0x10A15,
-       0x10A18,
-       0x10A19,
-       0x10A34,
-       0x10A38,
-       0x10A3B,
-       0x10A3F,
-       0x10A48,
-       0x10A50,
-       0x10A59,
-       0x10A60,
-       0x10AA0,
-       0x10AC0,
-       0x10AE7,
-       0x10AEB,
-       0x10AF7,
-       0x10B00,
-       0x10B36,
-       0x10B39,
-       0x10B56,
-       0x10B58,
-       0x10B73,
-       0x10B78,
-       0x10B92,
-       0x10B99,
-       0x10B9D,
-       0x10BA9,
-       0x10BB0,
-       0x10C00,
-       0x10C49,
        0x10C80,
        0x10CB3,
        0x10CC0,
        0x10CF3,
-       0x10CFA,
-       0x10D00,
-       0x10E60,
-       0x10E7F,
-       0x11000,
-       0x1104E,
-       0x11052,
-       0x11070,
-       0x1107F,
-       0x110C2,
-       0x110D0,
-       0x110E9,
-       0x110F0,
-       0x110FA,
-       0x11100,
-       0x11135,
-       0x11136,
-       0x11144,
-       0x11150,
-       0x11177,
-       0x11180,
-       0x111CE,
-       0x111D0,
-       0x111E0,
-       0x111E1,
-       0x111F5,
-       0x11200,
-       0x11212,
-       0x11213,
-       0x1123F,
-       0x11280,
-       0x11287,
-       0x11288,
-       0x11289,
-       0x1128A,
-       0x1128E,
-       0x1128F,
-       0x1129E,
-       0x1129F,
-       0x112AA,
-       0x112B0,
-       0x112EB,
-       0x112F0,
-       0x112FA,
-       0x11300,
-       0x11304,
-       0x11305,
-       0x1130D,
-       0x1130F,
-       0x11311,
-       0x11313,
-       0x11329,
-       0x1132A,
-       0x11331,
-       0x11332,
-       0x11334,
-       0x11335,
-       0x1133A,
-       0x1133C,
-       0x11345,
-       0x11347,
-       0x11349,
-       0x1134B,
-       0x1134E,
-       0x11350,
-       0x11351,
-       0x11357,
-       0x11358,
-       0x1135D,
-       0x11364,
-       0x11366,
-       0x1136D,
-       0x11370,
-       0x11375,
-       0x11400,
-       0x1145A,
-       0x1145B,
-       0x1145C,
-       0x1145D,
-       0x1145E,
-       0x11480,
-       0x114C8,
-       0x114D0,
-       0x114DA,
-       0x11580,
-       0x115B6,
-       0x115B8,
-       0x115DE,
-       0x11600,
-       0x11645,
-       0x11650,
-       0x1165A,
-       0x11660,
-       0x1166D,
-       0x11680,
-       0x116B8,
-       0x116C0,
-       0x116CA,
-       0x11700,
-       0x1171A,
-       0x1171D,
-       0x1172C,
-       0x11730,
-       0x11740,
        0x118A0,
-       0x118F3,
-       0x118FF,
-       0x11900,
-       0x11A00,
-       0x11A48,
-       0x11A50,
-       0x11A84,
-       0x11A86,
-       0x11A9D,
-       0x11A9E,
-       0x11AA3,
-       0x11AC0,
-       0x11AF9,
-       0x11C00,
-       0x11C09,
-       0x11C0A,
-       0x11C37,
-       0x11C38,
-       0x11C46,
-       0x11C50,
-       0x11C6D,
-       0x11C70,
-       0x11C90,
-       0x11C92,
-       0x11CA8,
-       0x11CA9,
-       0x11CB7,
-       0x11D00,
-       0x11D07,
-       0x11D08,
-       0x11D0A,
-       0x11D0B,
-       0x11D37,
-       0x11D3A,
-       0x11D3B,
-       0x11D3C,
-       0x11D3E,
-       0x11D3F,
-       0x11D48,
-       0x11D50,
-       0x11D5A,
-       0x12000,
-       0x1239A,
-       0x12400,
-       0x1246F,
-       0x12470,
-       0x12475,
-       0x12480,
-       0x12544,
-       0x13000,
-       0x1342F,
-       0x14400,
-       0x14647,
-       0x16800,
-       0x16A39,
-       0x16A40,
-       0x16A5F,
-       0x16A60,
-       0x16A6A,
-       0x16A6E,
-       0x16A70,
-       0x16AD0,
-       0x16AEE,
-       0x16AF0,
-       0x16AF6,
-       0x16B00,
-       0x16B46,
-       0x16B50,
-       0x16B5A,
-       0x16B5B,
-       0x16B62,
-       0x16B63,
-       0x16B78,
-       0x16B7D,
-       0x16B90,
-       0x16F00,
-       0x16F45,
-       0x16F50,
-       0x16F7F,
-       0x16F8F,
-       0x16FA0,
-       0x16FE0,
-       0x16FE2,
-       0x17000,
-       0x187ED,
-       0x18800,
-       0x18AF3,
-       0x1B000,
-       0x1B11F,
-       0x1B170,
-       0x1B2FC,
-       0x1BC00,
-       0x1BC6B,
-       0x1BC70,
-       0x1BC7D,
-       0x1BC80,
-       0x1BC89,
-       0x1BC90,
-       0x1BC9A,
-       0x1BC9C,
-       0x1BCA4,
-       0x1D000,
-       0x1D0F6,
-       0x1D100,
-       0x1D127,
-       0x1D129,
-       0x1D1E9,
-       0x1D200,
-       0x1D246,
-       0x1D300,
-       0x1D357,
-       0x1D360,
-       0x1D372,
+       0x118E0,
        0x1D400,
        0x1D455,
        0x1D456,
@@ -122933,237 +121120,35 @@ static const UV PL_AGE__NA_invlist[] = { /* for all charsets */
        0x1D552,
        0x1D6A6,
        0x1D6A8,
+       0x1D6C1,
+       0x1D6C2,
+       0x1D6DB,
+       0x1D6DC,
+       0x1D6FB,
+       0x1D6FC,
+       0x1D715,
+       0x1D716,
+       0x1D735,
+       0x1D736,
+       0x1D74F,
+       0x1D750,
+       0x1D76F,
+       0x1D770,
+       0x1D789,
+       0x1D78A,
+       0x1D7A9,
+       0x1D7AA,
+       0x1D7C3,
+       0x1D7C4,
        0x1D7CC,
-       0x1D7CE,
-       0x1DA8C,
-       0x1DA9B,
-       0x1DAA0,
-       0x1DAA1,
-       0x1DAB0,
-       0x1E000,
-       0x1E007,
-       0x1E008,
-       0x1E019,
-       0x1E01B,
-       0x1E022,
-       0x1E023,
-       0x1E025,
-       0x1E026,
-       0x1E02B,
-       0x1E800,
-       0x1E8C5,
-       0x1E8C7,
-       0x1E8D7,
        0x1E900,
-       0x1E94B,
-       0x1E950,
-       0x1E95A,
-       0x1E95E,
-       0x1E960,
-       0x1EE00,
-       0x1EE04,
-       0x1EE05,
-       0x1EE20,
-       0x1EE21,
-       0x1EE23,
-       0x1EE24,
-       0x1EE25,
-       0x1EE27,
-       0x1EE28,
-       0x1EE29,
-       0x1EE33,
-       0x1EE34,
-       0x1EE38,
-       0x1EE39,
-       0x1EE3A,
-       0x1EE3B,
-       0x1EE3C,
-       0x1EE42,
-       0x1EE43,
-       0x1EE47,
-       0x1EE48,
-       0x1EE49,
-       0x1EE4A,
-       0x1EE4B,
-       0x1EE4C,
-       0x1EE4D,
-       0x1EE50,
-       0x1EE51,
-       0x1EE53,
-       0x1EE54,
-       0x1EE55,
-       0x1EE57,
-       0x1EE58,
-       0x1EE59,
-       0x1EE5A,
-       0x1EE5B,
-       0x1EE5C,
-       0x1EE5D,
-       0x1EE5E,
-       0x1EE5F,
-       0x1EE60,
-       0x1EE61,
-       0x1EE63,
-       0x1EE64,
-       0x1EE65,
-       0x1EE67,
-       0x1EE6B,
-       0x1EE6C,
-       0x1EE73,
-       0x1EE74,
-       0x1EE78,
-       0x1EE79,
-       0x1EE7D,
-       0x1EE7E,
-       0x1EE7F,
-       0x1EE80,
-       0x1EE8A,
-       0x1EE8B,
-       0x1EE9C,
-       0x1EEA1,
-       0x1EEA4,
-       0x1EEA5,
-       0x1EEAA,
-       0x1EEAB,
-       0x1EEBC,
-       0x1EEF0,
-       0x1EEF2,
-       0x1F000,
-       0x1F02C,
-       0x1F030,
-       0x1F094,
-       0x1F0A0,
-       0x1F0AF,
-       0x1F0B1,
-       0x1F0C0,
-       0x1F0C1,
-       0x1F0D0,
-       0x1F0D1,
-       0x1F0F6,
-       0x1F100,
-       0x1F10D,
-       0x1F110,
-       0x1F12F,
+       0x1E944,
        0x1F130,
-       0x1F16C,
+       0x1F14A,
+       0x1F150,
+       0x1F16A,
        0x1F170,
-       0x1F1AD,
-       0x1F1E6,
-       0x1F203,
-       0x1F210,
-       0x1F23C,
-       0x1F240,
-       0x1F249,
-       0x1F250,
-       0x1F252,
-       0x1F260,
-       0x1F266,
-       0x1F300,
-       0x1F6D5,
-       0x1F6E0,
-       0x1F6ED,
-       0x1F6F0,
-       0x1F6F9,
-       0x1F700,
-       0x1F774,
-       0x1F780,
-       0x1F7D5,
-       0x1F800,
-       0x1F80C,
-       0x1F810,
-       0x1F848,
-       0x1F850,
-       0x1F85A,
-       0x1F860,
-       0x1F888,
-       0x1F890,
-       0x1F8AE,
-       0x1F900,
-       0x1F90C,
-       0x1F910,
-       0x1F93F,
-       0x1F940,
-       0x1F94D,
-       0x1F950,
-       0x1F96C,
-       0x1F980,
-       0x1F998,
-       0x1F9C0,
-       0x1F9C1,
-       0x1F9D0,
-       0x1F9E7,
-       0x1FFFE,
-       0x2A6D7,
-       0x2A700,
-       0x2B735,
-       0x2B740,
-       0x2B81E,
-       0x2B820,
-       0x2CEA2,
-       0x2CEB0,
-       0x2EBE1,
-       0x2F800,
-       0x2FA1E,
-       0x2FFFE,
-       0x30000,
-       0x3FFFE,
-       0x40000,
-       0x4FFFE,
-       0x50000,
-       0x5FFFE,
-       0x60000,
-       0x6FFFE,
-       0x70000,
-       0x7FFFE,
-       0x80000,
-       0x8FFFE,
-       0x90000,
-       0x9FFFE,
-       0xA0000,
-       0xAFFFE,
-       0xB0000,
-       0xBFFFE,
-       0xC0000,
-       0xCFFFE,
-       0xD0000,
-       0xDFFFE,
-       0xE0000,
-       0xE0001,
-       0xE0002,
-       0xE0020,
-       0xE0080,
-       0xE0100,
-       0xE01F0,
-       0xEFFFE,
-       0x110000
-};
-
-static const UV PL_AGHB_invlist[] = { /* for all charsets */
-       5,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x10530,
-       0x10564,
-       0x1056F,
-       0x10570
-};
-
-#   if 'A' == 65 /* ASCII/Latin1 */
-
-static const UV PL_AHEX_invlist[] = { /* for ASCII/Latin1 */
-       7,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x30,
-       0x3A,
-       0x41,
-       0x47,
-       0x61,
-       0x67
+       0x1F18A
 };
 
 #   endif      /* ASCII/Latin1 */
@@ -123173,18 +121158,308 @@ static const UV PL_AHEX_invlist[] = { /* for ASCII/Latin1 */
      && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
      && '$' == 91 && '@' == 124 && '`' == 121
 
-static const UV PL_AHEX_invlist[] = { /* for EBCDIC 1047 */
-       7,      /* Number of elements */
+static const UV PL_CASED_invlist[] = { /* for EBCDIC 1047 */
+       297,    /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0x81,
-       0x87,
+       0x42,
+       0x4A,
+       0x51,
+       0x5A,
+       0x62,
+       0x6A,
+       0x70,
+       0x79,
+       0x80,
+       0x8A,
+       0x8C,
+       0x8F,
+       0x91,
+       0x9D,
+       0x9E,
+       0x9F,
+       0xA0,
+       0xA1,
+       0xA2,
+       0xAA,
+       0xAC,
+       0xAD,
+       0xAE,
+       0xAF,
+       0xBA,
+       0xBB,
        0xC1,
-       0xC7,
+       0xCA,
+       0xCB,
+       0xD0,
+       0xD1,
+       0xDA,
+       0xDB,
+       0xE0,
+       0xE2,
+       0xEA,
+       0xEB,
        0xF0,
-       0xFA
+       0xFB,
+       0xFF,
+       0x100,
+       0x1BB,
+       0x1BC,
+       0x1C0,
+       0x1C4,
+       0x294,
+       0x295,
+       0x2B9,
+       0x2C0,
+       0x2C2,
+       0x2E0,
+       0x2E5,
+       0x345,
+       0x346,
+       0x370,
+       0x374,
+       0x376,
+       0x378,
+       0x37A,
+       0x37E,
+       0x37F,
+       0x380,
+       0x386,
+       0x387,
+       0x388,
+       0x38B,
+       0x38C,
+       0x38D,
+       0x38E,
+       0x3A2,
+       0x3A3,
+       0x3F6,
+       0x3F7,
+       0x482,
+       0x48A,
+       0x530,
+       0x531,
+       0x557,
+       0x561,
+       0x588,
+       0x10A0,
+       0x10C6,
+       0x10C7,
+       0x10C8,
+       0x10CD,
+       0x10CE,
+       0x13A0,
+       0x13F6,
+       0x13F8,
+       0x13FE,
+       0x1C80,
+       0x1C89,
+       0x1D00,
+       0x1DC0,
+       0x1E00,
+       0x1F16,
+       0x1F18,
+       0x1F1E,
+       0x1F20,
+       0x1F46,
+       0x1F48,
+       0x1F4E,
+       0x1F50,
+       0x1F58,
+       0x1F59,
+       0x1F5A,
+       0x1F5B,
+       0x1F5C,
+       0x1F5D,
+       0x1F5E,
+       0x1F5F,
+       0x1F7E,
+       0x1F80,
+       0x1FB5,
+       0x1FB6,
+       0x1FBD,
+       0x1FBE,
+       0x1FBF,
+       0x1FC2,
+       0x1FC5,
+       0x1FC6,
+       0x1FCD,
+       0x1FD0,
+       0x1FD4,
+       0x1FD6,
+       0x1FDC,
+       0x1FE0,
+       0x1FED,
+       0x1FF2,
+       0x1FF5,
+       0x1FF6,
+       0x1FFD,
+       0x2071,
+       0x2072,
+       0x207F,
+       0x2080,
+       0x2090,
+       0x209D,
+       0x2102,
+       0x2103,
+       0x2107,
+       0x2108,
+       0x210A,
+       0x2114,
+       0x2115,
+       0x2116,
+       0x2119,
+       0x211E,
+       0x2124,
+       0x2125,
+       0x2126,
+       0x2127,
+       0x2128,
+       0x2129,
+       0x212A,
+       0x212E,
+       0x212F,
+       0x2135,
+       0x2139,
+       0x213A,
+       0x213C,
+       0x2140,
+       0x2145,
+       0x214A,
+       0x214E,
+       0x214F,
+       0x2160,
+       0x2180,
+       0x2183,
+       0x2185,
+       0x24B6,
+       0x24EA,
+       0x2C00,
+       0x2C2F,
+       0x2C30,
+       0x2C5F,
+       0x2C60,
+       0x2CE5,
+       0x2CEB,
+       0x2CEF,
+       0x2CF2,
+       0x2CF4,
+       0x2D00,
+       0x2D26,
+       0x2D27,
+       0x2D28,
+       0x2D2D,
+       0x2D2E,
+       0xA640,
+       0xA66E,
+       0xA680,
+       0xA69E,
+       0xA722,
+       0xA788,
+       0xA78B,
+       0xA78F,
+       0xA790,
+       0xA7AF,
+       0xA7B0,
+       0xA7B8,
+       0xA7F8,
+       0xA7FB,
+       0xAB30,
+       0xAB5B,
+       0xAB5C,
+       0xAB66,
+       0xAB70,
+       0xABC0,
+       0xFB00,
+       0xFB07,
+       0xFB13,
+       0xFB18,
+       0xFF21,
+       0xFF3B,
+       0xFF41,
+       0xFF5B,
+       0x10400,
+       0x10450,
+       0x104B0,
+       0x104D4,
+       0x104D8,
+       0x104FC,
+       0x10C80,
+       0x10CB3,
+       0x10CC0,
+       0x10CF3,
+       0x118A0,
+       0x118E0,
+       0x1D400,
+       0x1D455,
+       0x1D456,
+       0x1D49D,
+       0x1D49E,
+       0x1D4A0,
+       0x1D4A2,
+       0x1D4A3,
+       0x1D4A5,
+       0x1D4A7,
+       0x1D4A9,
+       0x1D4AD,
+       0x1D4AE,
+       0x1D4BA,
+       0x1D4BB,
+       0x1D4BC,
+       0x1D4BD,
+       0x1D4C4,
+       0x1D4C5,
+       0x1D506,
+       0x1D507,
+       0x1D50B,
+       0x1D50D,
+       0x1D515,
+       0x1D516,
+       0x1D51D,
+       0x1D51E,
+       0x1D53A,
+       0x1D53B,
+       0x1D53F,
+       0x1D540,
+       0x1D545,
+       0x1D546,
+       0x1D547,
+       0x1D54A,
+       0x1D551,
+       0x1D552,
+       0x1D6A6,
+       0x1D6A8,
+       0x1D6C1,
+       0x1D6C2,
+       0x1D6DB,
+       0x1D6DC,
+       0x1D6FB,
+       0x1D6FC,
+       0x1D715,
+       0x1D716,
+       0x1D735,
+       0x1D736,
+       0x1D74F,
+       0x1D750,
+       0x1D76F,
+       0x1D770,
+       0x1D789,
+       0x1D78A,
+       0x1D7A9,
+       0x1D7AA,
+       0x1D7C3,
+       0x1D7C4,
+       0x1D7CC,
+       0x1E900,
+       0x1E944,
+       0x1F130,
+       0x1F14A,
+       0x1F150,
+       0x1F16A,
+       0x1F170,
+       0x1F18A
 };
 
 #   endif      /* EBCDIC 1047 */
@@ -123194,92 +121469,64 @@ static const UV PL_AHEX_invlist[] = { /* for EBCDIC 1047 */
      && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
      && '$' == 91 && '@' == 124 && '`' == 121
 
-static const UV PL_AHEX_invlist[] = { /* for EBCDIC 037 */
-       7,      /* Number of elements */
+static const UV PL_CASED_invlist[] = { /* for EBCDIC 037 */
+       293,    /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0x81,
-       0x87,
+       0x42,
+       0x4A,
+       0x51,
+       0x5A,
+       0x62,
+       0x6A,
+       0x70,
+       0x79,
+       0x80,
+       0x8A,
+       0x8C,
+       0x8F,
+       0x91,
+       0x9D,
+       0x9E,
+       0x9F,
+       0xA0,
+       0xA1,
+       0xA2,
+       0xAA,
+       0xAC,
+       0xAF,
        0xC1,
-       0xC7,
+       0xCA,
+       0xCB,
+       0xD0,
+       0xD1,
+       0xDA,
+       0xDB,
+       0xE0,
+       0xE2,
+       0xEA,
+       0xEB,
        0xF0,
-       0xFA
-};
-
-#   endif      /* EBCDIC 037 */
-
-static const UV PL_AHOM_invlist[] = { /* for all charsets */
-       7,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x11700,
-       0x1171A,
-       0x1171D,
-       0x1172C,
-       0x11730,
-       0x11740
-};
-
-static const UV PL_ALCHEMICAL_invlist[] = { /* for all charsets */
-       3,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x1F700,
-       0x1F780
-};
-
-static const UV PL_ALL_invlist[] = { /* for all charsets */
-       1,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       0,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0
-};
-
-#   if 'A' == 65 /* ASCII/Latin1 */
-
-static const UV PL_ALNUM_invlist[] = { /* for ASCII/Latin1 */
-       1391,   /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x30,
-       0x3A,
-       0x41,
-       0x5B,
-       0x61,
-       0x7B,
-       0xAA,
-       0xAB,
-       0xB5,
-       0xB6,
-       0xBA,
-       0xBB,
-       0xC0,
-       0xD7,
-       0xD8,
-       0xF7,
-       0xF8,
+       0xFB,
+       0xFF,
+       0x100,
+       0x1BB,
+       0x1BC,
+       0x1C0,
+       0x1C4,
+       0x294,
+       0x295,
+       0x2B9,
+       0x2C0,
        0x2C2,
-       0x2C6,
-       0x2D2,
        0x2E0,
        0x2E5,
-       0x2EC,
-       0x2ED,
-       0x2EE,
-       0x2EF,
        0x345,
        0x346,
        0x370,
-       0x375,
+       0x374,
        0x376,
        0x378,
        0x37A,
@@ -123302,552 +121549,22 @@ static const UV PL_ALNUM_invlist[] = { /* for ASCII/Latin1 */
        0x530,
        0x531,
        0x557,
-       0x559,
-       0x55A,
        0x561,
        0x588,
-       0x5B0,
-       0x5BE,
-       0x5BF,
-       0x5C0,
-       0x5C1,
-       0x5C3,
-       0x5C4,
-       0x5C6,
-       0x5C7,
-       0x5C8,
-       0x5D0,
-       0x5EB,
-       0x5F0,
-       0x5F3,
-       0x610,
-       0x61B,
-       0x620,
-       0x658,
-       0x659,
-       0x66A,
-       0x66E,
-       0x6D4,
-       0x6D5,
-       0x6DD,
-       0x6E1,
-       0x6E9,
-       0x6ED,
-       0x6FD,
-       0x6FF,
-       0x700,
-       0x710,
-       0x740,
-       0x74D,
-       0x7B2,
-       0x7C0,
-       0x7EB,
-       0x7F4,
-       0x7F6,
-       0x7FA,
-       0x7FB,
-       0x800,
-       0x818,
-       0x81A,
-       0x82D,
-       0x840,
-       0x859,
-       0x860,
-       0x86B,
-       0x8A0,
-       0x8B5,
-       0x8B6,
-       0x8BE,
-       0x8D4,
-       0x8E0,
-       0x8E3,
-       0x8EA,
-       0x8F0,
-       0x93C,
-       0x93D,
-       0x94D,
-       0x94E,
-       0x951,
-       0x955,
-       0x964,
-       0x966,
-       0x970,
-       0x971,
-       0x984,
-       0x985,
-       0x98D,
-       0x98F,
-       0x991,
-       0x993,
-       0x9A9,
-       0x9AA,
-       0x9B1,
-       0x9B2,
-       0x9B3,
-       0x9B6,
-       0x9BA,
-       0x9BD,
-       0x9C5,
-       0x9C7,
-       0x9C9,
-       0x9CB,
-       0x9CD,
-       0x9CE,
-       0x9CF,
-       0x9D7,
-       0x9D8,
-       0x9DC,
-       0x9DE,
-       0x9DF,
-       0x9E4,
-       0x9E6,
-       0x9F2,
-       0x9FC,
-       0x9FD,
-       0xA01,
-       0xA04,
-       0xA05,
-       0xA0B,
-       0xA0F,
-       0xA11,
-       0xA13,
-       0xA29,
-       0xA2A,
-       0xA31,
-       0xA32,
-       0xA34,
-       0xA35,
-       0xA37,
-       0xA38,
-       0xA3A,
-       0xA3E,
-       0xA43,
-       0xA47,
-       0xA49,
-       0xA4B,
-       0xA4D,
-       0xA51,
-       0xA52,
-       0xA59,
-       0xA5D,
-       0xA5E,
-       0xA5F,
-       0xA66,
-       0xA76,
-       0xA81,
-       0xA84,
-       0xA85,
-       0xA8E,
-       0xA8F,
-       0xA92,
-       0xA93,
-       0xAA9,
-       0xAAA,
-       0xAB1,
-       0xAB2,
-       0xAB4,
-       0xAB5,
-       0xABA,
-       0xABD,
-       0xAC6,
-       0xAC7,
-       0xACA,
-       0xACB,
-       0xACD,
-       0xAD0,
-       0xAD1,
-       0xAE0,
-       0xAE4,
-       0xAE6,
-       0xAF0,
-       0xAF9,
-       0xAFD,
-       0xB01,
-       0xB04,
-       0xB05,
-       0xB0D,
-       0xB0F,
-       0xB11,
-       0xB13,
-       0xB29,
-       0xB2A,
-       0xB31,
-       0xB32,
-       0xB34,
-       0xB35,
-       0xB3A,
-       0xB3D,
-       0xB45,
-       0xB47,
-       0xB49,
-       0xB4B,
-       0xB4D,
-       0xB56,
-       0xB58,
-       0xB5C,
-       0xB5E,
-       0xB5F,
-       0xB64,
-       0xB66,
-       0xB70,
-       0xB71,
-       0xB72,
-       0xB82,
-       0xB84,
-       0xB85,
-       0xB8B,
-       0xB8E,
-       0xB91,
-       0xB92,
-       0xB96,
-       0xB99,
-       0xB9B,
-       0xB9C,
-       0xB9D,
-       0xB9E,
-       0xBA0,
-       0xBA3,
-       0xBA5,
-       0xBA8,
-       0xBAB,
-       0xBAE,
-       0xBBA,
-       0xBBE,
-       0xBC3,
-       0xBC6,
-       0xBC9,
-       0xBCA,
-       0xBCD,
-       0xBD0,
-       0xBD1,
-       0xBD7,
-       0xBD8,
-       0xBE6,
-       0xBF0,
-       0xC00,
-       0xC04,
-       0xC05,
-       0xC0D,
-       0xC0E,
-       0xC11,
-       0xC12,
-       0xC29,
-       0xC2A,
-       0xC3A,
-       0xC3D,
-       0xC45,
-       0xC46,
-       0xC49,
-       0xC4A,
-       0xC4D,
-       0xC55,
-       0xC57,
-       0xC58,
-       0xC5B,
-       0xC60,
-       0xC64,
-       0xC66,
-       0xC70,
-       0xC80,
-       0xC84,
-       0xC85,
-       0xC8D,
-       0xC8E,
-       0xC91,
-       0xC92,
-       0xCA9,
-       0xCAA,
-       0xCB4,
-       0xCB5,
-       0xCBA,
-       0xCBD,
-       0xCC5,
-       0xCC6,
-       0xCC9,
-       0xCCA,
-       0xCCD,
-       0xCD5,
-       0xCD7,
-       0xCDE,
-       0xCDF,
-       0xCE0,
-       0xCE4,
-       0xCE6,
-       0xCF0,
-       0xCF1,
-       0xCF3,
-       0xD00,
-       0xD04,
-       0xD05,
-       0xD0D,
-       0xD0E,
-       0xD11,
-       0xD12,
-       0xD3B,
-       0xD3D,
-       0xD45,
-       0xD46,
-       0xD49,
-       0xD4A,
-       0xD4D,
-       0xD4E,
-       0xD4F,
-       0xD54,
-       0xD58,
-       0xD5F,
-       0xD64,
-       0xD66,
-       0xD70,
-       0xD7A,
-       0xD80,
-       0xD82,
-       0xD84,
-       0xD85,
-       0xD97,
-       0xD9A,
-       0xDB2,
-       0xDB3,
-       0xDBC,
-       0xDBD,
-       0xDBE,
-       0xDC0,
-       0xDC7,
-       0xDCF,
-       0xDD5,
-       0xDD6,
-       0xDD7,
-       0xDD8,
-       0xDE0,
-       0xDE6,
-       0xDF0,
-       0xDF2,
-       0xDF4,
-       0xE01,
-       0xE3B,
-       0xE40,
-       0xE47,
-       0xE4D,
-       0xE4E,
-       0xE50,
-       0xE5A,
-       0xE81,
-       0xE83,
-       0xE84,
-       0xE85,
-       0xE87,
-       0xE89,
-       0xE8A,
-       0xE8B,
-       0xE8D,
-       0xE8E,
-       0xE94,
-       0xE98,
-       0xE99,
-       0xEA0,
-       0xEA1,
-       0xEA4,
-       0xEA5,
-       0xEA6,
-       0xEA7,
-       0xEA8,
-       0xEAA,
-       0xEAC,
-       0xEAD,
-       0xEBA,
-       0xEBB,
-       0xEBE,
-       0xEC0,
-       0xEC5,
-       0xEC6,
-       0xEC7,
-       0xECD,
-       0xECE,
-       0xED0,
-       0xEDA,
-       0xEDC,
-       0xEE0,
-       0xF00,
-       0xF01,
-       0xF20,
-       0xF2A,
-       0xF40,
-       0xF48,
-       0xF49,
-       0xF6D,
-       0xF71,
-       0xF82,
-       0xF88,
-       0xF98,
-       0xF99,
-       0xFBD,
-       0x1000,
-       0x1037,
-       0x1038,
-       0x1039,
-       0x103B,
-       0x104A,
-       0x1050,
-       0x1063,
-       0x1065,
-       0x1069,
-       0x106E,
-       0x1087,
-       0x108E,
-       0x108F,
-       0x1090,
-       0x109A,
-       0x109C,
-       0x109E,
        0x10A0,
        0x10C6,
        0x10C7,
        0x10C8,
        0x10CD,
        0x10CE,
-       0x10D0,
-       0x10FB,
-       0x10FC,
-       0x1249,
-       0x124A,
-       0x124E,
-       0x1250,
-       0x1257,
-       0x1258,
-       0x1259,
-       0x125A,
-       0x125E,
-       0x1260,
-       0x1289,
-       0x128A,
-       0x128E,
-       0x1290,
-       0x12B1,
-       0x12B2,
-       0x12B6,
-       0x12B8,
-       0x12BF,
-       0x12C0,
-       0x12C1,
-       0x12C2,
-       0x12C6,
-       0x12C8,
-       0x12D7,
-       0x12D8,
-       0x1311,
-       0x1312,
-       0x1316,
-       0x1318,
-       0x135B,
-       0x135F,
-       0x1360,
-       0x1380,
-       0x1390,
        0x13A0,
        0x13F6,
        0x13F8,
        0x13FE,
-       0x1401,
-       0x166D,
-       0x166F,
-       0x1680,
-       0x1681,
-       0x169B,
-       0x16A0,
-       0x16EB,
-       0x16EE,
-       0x16F9,
-       0x1700,
-       0x170D,
-       0x170E,
-       0x1714,
-       0x1720,
-       0x1734,
-       0x1740,
-       0x1754,
-       0x1760,
-       0x176D,
-       0x176E,
-       0x1771,
-       0x1772,
-       0x1774,
-       0x1780,
-       0x17B4,
-       0x17B6,
-       0x17C9,
-       0x17D7,
-       0x17D8,
-       0x17DC,
-       0x17DD,
-       0x17E0,
-       0x17EA,
-       0x1810,
-       0x181A,
-       0x1820,
-       0x1878,
-       0x1880,
-       0x18AB,
-       0x18B0,
-       0x18F6,
-       0x1900,
-       0x191F,
-       0x1920,
-       0x192C,
-       0x1930,
-       0x1939,
-       0x1946,
-       0x196E,
-       0x1970,
-       0x1975,
-       0x1980,
-       0x19AC,
-       0x19B0,
-       0x19CA,
-       0x19D0,
-       0x19DA,
-       0x1A00,
-       0x1A1C,
-       0x1A20,
-       0x1A5F,
-       0x1A61,
-       0x1A75,
-       0x1A80,
-       0x1A8A,
-       0x1A90,
-       0x1A9A,
-       0x1AA7,
-       0x1AA8,
-       0x1B00,
-       0x1B34,
-       0x1B35,
-       0x1B44,
-       0x1B45,
-       0x1B4C,
-       0x1B50,
-       0x1B5A,
-       0x1B80,
-       0x1BAA,
-       0x1BAC,
-       0x1BE6,
-       0x1BE7,
-       0x1BF2,
-       0x1C00,
-       0x1C36,
-       0x1C40,
-       0x1C4A,
-       0x1C4D,
-       0x1C7E,
        0x1C80,
        0x1C89,
-       0x1CE9,
-       0x1CED,
-       0x1CEE,
-       0x1CF4,
-       0x1CF5,
-       0x1CF7,
        0x1D00,
        0x1DC0,
-       0x1DE7,
-       0x1DF5,
        0x1E00,
        0x1F16,
        0x1F18,
@@ -123911,6 +121628,8 @@ static const UV PL_ALNUM_invlist[] = { /* for ASCII/Latin1 */
        0x212A,
        0x212E,
        0x212F,
+       0x2135,
+       0x2139,
        0x213A,
        0x213C,
        0x2140,
@@ -123919,7 +121638,9 @@ static const UV PL_ALNUM_invlist[] = { /* for ASCII/Latin1 */
        0x214E,
        0x214F,
        0x2160,
-       0x2189,
+       0x2180,
+       0x2183,
+       0x2185,
        0x24B6,
        0x24EA,
        0x2C00,
@@ -123938,544 +121659,46 @@ static const UV PL_ALNUM_invlist[] = { /* for ASCII/Latin1 */
        0x2D28,
        0x2D2D,
        0x2D2E,
-       0x2D30,
-       0x2D68,
-       0x2D6F,
-       0x2D70,
-       0x2D80,
-       0x2D97,
-       0x2DA0,
-       0x2DA7,
-       0x2DA8,
-       0x2DAF,
-       0x2DB0,
-       0x2DB7,
-       0x2DB8,
-       0x2DBF,
-       0x2DC0,
-       0x2DC7,
-       0x2DC8,
-       0x2DCF,
-       0x2DD0,
-       0x2DD7,
-       0x2DD8,
-       0x2DDF,
-       0x2DE0,
-       0x2E00,
-       0x2E2F,
-       0x2E30,
-       0x3005,
-       0x3008,
-       0x3021,
-       0x302A,
-       0x3031,
-       0x3036,
-       0x3038,
-       0x303D,
-       0x3041,
-       0x3097,
-       0x309D,
-       0x30A0,
-       0x30A1,
-       0x30FB,
-       0x30FC,
-       0x3100,
-       0x3105,
-       0x312F,
-       0x3131,
-       0x318F,
-       0x31A0,
-       0x31BB,
-       0x31F0,
-       0x3200,
-       0x3400,
-       0x4DB6,
-       0x4E00,
-       0x9FEB,
-       0xA000,
-       0xA48D,
-       0xA4D0,
-       0xA4FE,
-       0xA500,
-       0xA60D,
-       0xA610,
-       0xA62C,
        0xA640,
-       0xA66F,
-       0xA674,
-       0xA67C,
-       0xA67F,
-       0xA6F0,
-       0xA717,
-       0xA720,
+       0xA66E,
+       0xA680,
+       0xA69E,
        0xA722,
-       0xA789,
+       0xA788,
        0xA78B,
+       0xA78F,
+       0xA790,
        0xA7AF,
        0xA7B0,
        0xA7B8,
-       0xA7F7,
-       0xA802,
-       0xA803,
-       0xA806,
-       0xA807,
-       0xA80B,
-       0xA80C,
-       0xA828,
-       0xA840,
-       0xA874,
-       0xA880,
-       0xA8C4,
-       0xA8C5,
-       0xA8C6,
-       0xA8D0,
-       0xA8DA,
-       0xA8F2,
-       0xA8F8,
-       0xA8FB,
-       0xA8FC,
-       0xA8FD,
-       0xA8FE,
-       0xA900,
-       0xA92B,
-       0xA930,
-       0xA953,
-       0xA960,
-       0xA97D,
-       0xA980,
-       0xA9B3,
-       0xA9B4,
-       0xA9C0,
-       0xA9CF,
-       0xA9DA,
-       0xA9E0,
-       0xA9E5,
-       0xA9E6,
-       0xA9FF,
-       0xAA00,
-       0xAA37,
-       0xAA40,
-       0xAA4E,
-       0xAA50,
-       0xAA5A,
-       0xAA60,
-       0xAA77,
-       0xAA7A,
-       0xAA7B,
-       0xAA7E,
-       0xAABF,
-       0xAAC0,
-       0xAAC1,
-       0xAAC2,
-       0xAAC3,
-       0xAADB,
-       0xAADE,
-       0xAAE0,
-       0xAAF0,
-       0xAAF2,
-       0xAAF6,
-       0xAB01,
-       0xAB07,
-       0xAB09,
-       0xAB0F,
-       0xAB11,
-       0xAB17,
-       0xAB20,
-       0xAB27,
-       0xAB28,
-       0xAB2F,
+       0xA7F8,
+       0xA7FB,
        0xAB30,
        0xAB5B,
        0xAB5C,
        0xAB66,
        0xAB70,
-       0xABEB,
-       0xABF0,
-       0xABFA,
-       0xAC00,
-       0xD7A4,
-       0xD7B0,
-       0xD7C7,
-       0xD7CB,
-       0xD7FC,
-       0xF900,
-       0xFA6E,
-       0xFA70,
-       0xFADA,
+       0xABC0,
        0xFB00,
        0xFB07,
        0xFB13,
        0xFB18,
-       0xFB1D,
-       0xFB29,
-       0xFB2A,
-       0xFB37,
-       0xFB38,
-       0xFB3D,
-       0xFB3E,
-       0xFB3F,
-       0xFB40,
-       0xFB42,
-       0xFB43,
-       0xFB45,
-       0xFB46,
-       0xFBB2,
-       0xFBD3,
-       0xFD3E,
-       0xFD50,
-       0xFD90,
-       0xFD92,
-       0xFDC8,
-       0xFDF0,
-       0xFDFC,
-       0xFE70,
-       0xFE75,
-       0xFE76,
-       0xFEFD,
-       0xFF10,
-       0xFF1A,
        0xFF21,
        0xFF3B,
        0xFF41,
        0xFF5B,
-       0xFF66,
-       0xFFBF,
-       0xFFC2,
-       0xFFC8,
-       0xFFCA,
-       0xFFD0,
-       0xFFD2,
-       0xFFD8,
-       0xFFDA,
-       0xFFDD,
-       0x10000,
-       0x1000C,
-       0x1000D,
-       0x10027,
-       0x10028,
-       0x1003B,
-       0x1003C,
-       0x1003E,
-       0x1003F,
-       0x1004E,
-       0x10050,
-       0x1005E,
-       0x10080,
-       0x100FB,
-       0x10140,
-       0x10175,
-       0x10280,
-       0x1029D,
-       0x102A0,
-       0x102D1,
-       0x10300,
-       0x10320,
-       0x1032D,
-       0x1034B,
-       0x10350,
-       0x1037B,
-       0x10380,
-       0x1039E,
-       0x103A0,
-       0x103C4,
-       0x103C8,
-       0x103D0,
-       0x103D1,
-       0x103D6,
        0x10400,
-       0x1049E,
-       0x104A0,
-       0x104AA,
+       0x10450,
        0x104B0,
        0x104D4,
        0x104D8,
        0x104FC,
-       0x10500,
-       0x10528,
-       0x10530,
-       0x10564,
-       0x10600,
-       0x10737,
-       0x10740,
-       0x10756,
-       0x10760,
-       0x10768,
-       0x10800,
-       0x10806,
-       0x10808,
-       0x10809,
-       0x1080A,
-       0x10836,
-       0x10837,
-       0x10839,
-       0x1083C,
-       0x1083D,
-       0x1083F,
-       0x10856,
-       0x10860,
-       0x10877,
-       0x10880,
-       0x1089F,
-       0x108E0,
-       0x108F3,
-       0x108F4,
-       0x108F6,
-       0x10900,
-       0x10916,
-       0x10920,
-       0x1093A,
-       0x10980,
-       0x109B8,
-       0x109BE,
-       0x109C0,
-       0x10A00,
-       0x10A04,
-       0x10A05,
-       0x10A07,
-       0x10A0C,
-       0x10A14,
-       0x10A15,
-       0x10A18,
-       0x10A19,
-       0x10A34,
-       0x10A60,
-       0x10A7D,
-       0x10A80,
-       0x10A9D,
-       0x10AC0,
-       0x10AC8,
-       0x10AC9,
-       0x10AE5,
-       0x10B00,
-       0x10B36,
-       0x10B40,
-       0x10B56,
-       0x10B60,
-       0x10B73,
-       0x10B80,
-       0x10B92,
-       0x10C00,
-       0x10C49,
        0x10C80,
        0x10CB3,
        0x10CC0,
        0x10CF3,
-       0x11000,
-       0x11046,
-       0x11066,
-       0x11070,
-       0x11082,
-       0x110B9,
-       0x110D0,
-       0x110E9,
-       0x110F0,
-       0x110FA,
-       0x11100,
-       0x11133,
-       0x11136,
-       0x11140,
-       0x11150,
-       0x11173,
-       0x11176,
-       0x11177,
-       0x11180,
-       0x111C0,
-       0x111C1,
-       0x111C5,
-       0x111D0,
-       0x111DB,
-       0x111DC,
-       0x111DD,
-       0x11200,
-       0x11212,
-       0x11213,
-       0x11235,
-       0x11237,
-       0x11238,
-       0x1123E,
-       0x1123F,
-       0x11280,
-       0x11287,
-       0x11288,
-       0x11289,
-       0x1128A,
-       0x1128E,
-       0x1128F,
-       0x1129E,
-       0x1129F,
-       0x112A9,
-       0x112B0,
-       0x112E9,
-       0x112F0,
-       0x112FA,
-       0x11300,
-       0x11304,
-       0x11305,
-       0x1130D,
-       0x1130F,
-       0x11311,
-       0x11313,
-       0x11329,
-       0x1132A,
-       0x11331,
-       0x11332,
-       0x11334,
-       0x11335,
-       0x1133A,
-       0x1133D,
-       0x11345,
-       0x11347,
-       0x11349,
-       0x1134B,
-       0x1134D,
-       0x11350,
-       0x11351,
-       0x11357,
-       0x11358,
-       0x1135D,
-       0x11364,
-       0x11400,
-       0x11442,
-       0x11443,
-       0x11446,
-       0x11447,
-       0x1144B,
-       0x11450,
-       0x1145A,
-       0x11480,
-       0x114C2,
-       0x114C4,
-       0x114C6,
-       0x114C7,
-       0x114C8,
-       0x114D0,
-       0x114DA,
-       0x11580,
-       0x115B6,
-       0x115B8,
-       0x115BF,
-       0x115D8,
-       0x115DE,
-       0x11600,
-       0x1163F,
-       0x11640,
-       0x11641,
-       0x11644,
-       0x11645,
-       0x11650,
-       0x1165A,
-       0x11680,
-       0x116B6,
-       0x116C0,
-       0x116CA,
-       0x11700,
-       0x1171A,
-       0x1171D,
-       0x1172B,
-       0x11730,
-       0x1173A,
        0x118A0,
-       0x118EA,
-       0x118FF,
-       0x11900,
-       0x11A00,
-       0x11A33,
-       0x11A35,
-       0x11A3F,
-       0x11A50,
-       0x11A84,
-       0x11A86,
-       0x11A98,
-       0x11AC0,
-       0x11AF9,
-       0x11C00,
-       0x11C09,
-       0x11C0A,
-       0x11C37,
-       0x11C38,
-       0x11C3F,
-       0x11C40,
-       0x11C41,
-       0x11C50,
-       0x11C5A,
-       0x11C72,
-       0x11C90,
-       0x11C92,
-       0x11CA8,
-       0x11CA9,
-       0x11CB7,
-       0x11D00,
-       0x11D07,
-       0x11D08,
-       0x11D0A,
-       0x11D0B,
-       0x11D37,
-       0x11D3A,
-       0x11D3B,
-       0x11D3C,
-       0x11D3E,
-       0x11D3F,
-       0x11D42,
-       0x11D43,
-       0x11D44,
-       0x11D46,
-       0x11D48,
-       0x11D50,
-       0x11D5A,
-       0x12000,
-       0x1239A,
-       0x12400,
-       0x1246F,
-       0x12480,
-       0x12544,
-       0x13000,
-       0x1342F,
-       0x14400,
-       0x14647,
-       0x16800,
-       0x16A39,
-       0x16A40,
-       0x16A5F,
-       0x16A60,
-       0x16A6A,
-       0x16AD0,
-       0x16AEE,
-       0x16B00,
-       0x16B37,
-       0x16B40,
-       0x16B44,
-       0x16B50,
-       0x16B5A,
-       0x16B63,
-       0x16B78,
-       0x16B7D,
-       0x16B90,
-       0x16F00,
-       0x16F45,
-       0x16F50,
-       0x16F7F,
-       0x16F93,
-       0x16FA0,
-       0x16FE0,
-       0x16FE2,
-       0x17000,
-       0x187ED,
-       0x18800,
-       0x18AF3,
-       0x1B000,
-       0x1B11F,
-       0x1B170,
-       0x1B2FC,
-       0x1BC00,
-       0x1BC6B,
-       0x1BC70,
-       0x1BC7D,
-       0x1BC80,
-       0x1BC89,
-       0x1BC90,
-       0x1BC9A,
-       0x1BC9E,
-       0x1BC9F,
+       0x118E0,
        0x1D400,
        0x1D455,
        0x1D456,
@@ -124536,110 +121759,32 @@ static const UV PL_ALNUM_invlist[] = { /* for ASCII/Latin1 */
        0x1D7C3,
        0x1D7C4,
        0x1D7CC,
-       0x1D7CE,
-       0x1D800,
-       0x1E000,
-       0x1E007,
-       0x1E008,
-       0x1E019,
-       0x1E01B,
-       0x1E022,
-       0x1E023,
-       0x1E025,
-       0x1E026,
-       0x1E02B,
-       0x1E800,
-       0x1E8C5,
        0x1E900,
        0x1E944,
-       0x1E947,
-       0x1E948,
-       0x1E950,
-       0x1E95A,
-       0x1EE00,
-       0x1EE04,
-       0x1EE05,
-       0x1EE20,
-       0x1EE21,
-       0x1EE23,
-       0x1EE24,
-       0x1EE25,
-       0x1EE27,
-       0x1EE28,
-       0x1EE29,
-       0x1EE33,
-       0x1EE34,
-       0x1EE38,
-       0x1EE39,
-       0x1EE3A,
-       0x1EE3B,
-       0x1EE3C,
-       0x1EE42,
-       0x1EE43,
-       0x1EE47,
-       0x1EE48,
-       0x1EE49,
-       0x1EE4A,
-       0x1EE4B,
-       0x1EE4C,
-       0x1EE4D,
-       0x1EE50,
-       0x1EE51,
-       0x1EE53,
-       0x1EE54,
-       0x1EE55,
-       0x1EE57,
-       0x1EE58,
-       0x1EE59,
-       0x1EE5A,
-       0x1EE5B,
-       0x1EE5C,
-       0x1EE5D,
-       0x1EE5E,
-       0x1EE5F,
-       0x1EE60,
-       0x1EE61,
-       0x1EE63,
-       0x1EE64,
-       0x1EE65,
-       0x1EE67,
-       0x1EE6B,
-       0x1EE6C,
-       0x1EE73,
-       0x1EE74,
-       0x1EE78,
-       0x1EE79,
-       0x1EE7D,
-       0x1EE7E,
-       0x1EE7F,
-       0x1EE80,
-       0x1EE8A,
-       0x1EE8B,
-       0x1EE9C,
-       0x1EEA1,
-       0x1EEA4,
-       0x1EEA5,
-       0x1EEAA,
-       0x1EEAB,
-       0x1EEBC,
        0x1F130,
        0x1F14A,
        0x1F150,
        0x1F16A,
        0x1F170,
-       0x1F18A,
-       0x20000,
-       0x2A6D7,
-       0x2A700,
-       0x2B735,
-       0x2B740,
-       0x2B81E,
-       0x2B820,
-       0x2CEA2,
-       0x2CEB0,
-       0x2EBE1,
-       0x2F800,
-       0x2FA1E
+       0x1F18A
+};
+
+#   endif      /* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXALNUM_invlist[] = { /* for ASCII/Latin1 */
+       7,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x30,
+       0x3A,
+       0x41,
+       0x5B,
+       0x61,
+       0x7B
 };
 
 #   endif      /* ASCII/Latin1 */
@@ -124649,360 +121794,1338 @@ static const UV PL_ALNUM_invlist[] = { /* for ASCII/Latin1 */
      && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
      && '$' == 91 && '@' == 124 && '`' == 121
 
-static const UV PL_ALNUM_invlist[] = { /* for EBCDIC 1047 */
-       1415,   /* Number of elements */
+static const UV PL_POSIXALNUM_invlist[] = { /* for EBCDIC 1047 */
+       15,     /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0x42,
-       0x4A,
+       0x81,
+       0x8A,
+       0x91,
+       0x9A,
+       0xA2,
+       0xAA,
+       0xC1,
+       0xCA,
+       0xD1,
+       0xDA,
+       0xE2,
+       0xEA,
+       0xF0,
+       0xFA
+};
+
+#   endif      /* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXALNUM_invlist[] = { /* for EBCDIC 037 */
+       15,     /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x81,
+       0x8A,
+       0x91,
+       0x9A,
+       0xA2,
+       0xAA,
+       0xC1,
+       0xCA,
+       0xD1,
+       0xDA,
+       0xE2,
+       0xEA,
+       0xF0,
+       0xFA
+};
+
+#   endif      /* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXALPHA_invlist[] = { /* for ASCII/Latin1 */
+       5,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x41,
+       0x5B,
+       0x61,
+       0x7B
+};
+
+#   endif      /* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXALPHA_invlist[] = { /* for EBCDIC 1047 */
+       13,     /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x81,
+       0x8A,
+       0x91,
+       0x9A,
+       0xA2,
+       0xAA,
+       0xC1,
+       0xCA,
+       0xD1,
+       0xDA,
+       0xE2,
+       0xEA
+};
+
+#   endif      /* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXALPHA_invlist[] = { /* for EBCDIC 037 */
+       13,     /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x81,
+       0x8A,
+       0x91,
+       0x9A,
+       0xA2,
+       0xAA,
+       0xC1,
+       0xCA,
+       0xD1,
+       0xDA,
+       0xE2,
+       0xEA
+};
+
+#   endif      /* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXBLANK_invlist[] = { /* for ASCII/Latin1 */
+       5,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x9,
+       0xA,
+       0x20,
+       0x21
+};
+
+#   endif      /* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXBLANK_invlist[] = { /* for EBCDIC 1047 */
+       5,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x5,
+       0x6,
+       0x40,
+       0x41
+};
+
+#   endif      /* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXBLANK_invlist[] = { /* for EBCDIC 037 */
+       5,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x5,
+       0x6,
+       0x40,
+       0x41
+};
+
+#   endif      /* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXCNTRL_invlist[] = { /* for ASCII/Latin1 */
+       4,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       0,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x20,
+       0x7F,
+       0x80
+};
+
+#   endif      /* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXCNTRL_invlist[] = { /* for EBCDIC 1047 */
+       26,     /* Number of elements */
+       148565664, /* Version and data structure type */
+       0,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x4,
+       0x5,
+       0x6,
+       0x7,
+       0x8,
+       0xB,
+       0x14,
+       0x15,
+       0x17,
+       0x18,
+       0x1A,
+       0x1C,
+       0x20,
+       0x26,
+       0x28,
+       0x2D,
+       0x30,
+       0x32,
+       0x33,
+       0x37,
+       0x38,
+       0x3C,
+       0x3E,
+       0x3F,
+       0x40
+};
+
+#   endif      /* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXCNTRL_invlist[] = { /* for EBCDIC 037 */
+       26,     /* Number of elements */
+       148565664, /* Version and data structure type */
+       0,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x4,
+       0x5,
+       0x6,
+       0x7,
+       0x8,
+       0xB,
+       0x14,
+       0x16,
+       0x17,
+       0x18,
+       0x1A,
+       0x1C,
+       0x20,
+       0x25,
+       0x28,
+       0x2D,
+       0x30,
+       0x32,
+       0x33,
+       0x37,
+       0x38,
+       0x3C,
+       0x3E,
+       0x3F,
+       0x40
+};
+
+#   endif      /* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXDIGIT_invlist[] = { /* for ASCII/Latin1 */
+       3,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x30,
+       0x3A
+};
+
+#   endif      /* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXDIGIT_invlist[] = { /* for EBCDIC 1047 */
+       3,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0xF0,
+       0xFA
+};
+
+#   endif      /* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXDIGIT_invlist[] = { /* for EBCDIC 037 */
+       3,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0xF0,
+       0xFA
+};
+
+#   endif      /* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */
+       3,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x21,
+       0x7F
+};
+
+#   endif      /* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */
+       29,     /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x4B,
        0x51,
        0x5A,
        0x62,
-       0x6A,
+       0x6B,
        0x70,
        0x79,
        0x80,
+       0x81,
        0x8A,
-       0x8C,
-       0x8F,
        0x91,
-       0x9D,
-       0x9E,
-       0x9F,
-       0xA0,
+       0x9A,
+       0xA1,
+       0xAA,
+       0xAD,
+       0xAE,
+       0xBD,
+       0xBE,
+       0xC0,
+       0xCA,
+       0xD0,
+       0xDA,
+       0xE0,
+       0xE1,
+       0xE2,
+       0xEA,
+       0xF0,
+       0xFA
+};
+
+#   endif      /* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXGRAPH_invlist[] = { /* for EBCDIC 037 */
+       31,     /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x4B,
+       0x51,
+       0x5A,
+       0x5F,
+       0x60,
+       0x62,
+       0x6B,
+       0x70,
+       0x79,
+       0x80,
+       0x81,
+       0x8A,
+       0x91,
+       0x9A,
        0xA1,
+       0xAA,
+       0xB0,
+       0xB1,
+       0xBA,
+       0xBC,
+       0xC0,
+       0xCA,
+       0xD0,
+       0xDA,
+       0xE0,
+       0xE1,
+       0xE2,
+       0xEA,
+       0xF0,
+       0xFA
+};
+
+#   endif      /* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXLOWER_invlist[] = { /* for ASCII/Latin1 */
+       3,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x61,
+       0x7B
+};
+
+#   endif      /* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXLOWER_invlist[] = { /* for EBCDIC 1047 */
+       7,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x81,
+       0x8A,
+       0x91,
+       0x9A,
+       0xA2,
+       0xAA
+};
+
+#   endif      /* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXLOWER_invlist[] = { /* for EBCDIC 037 */
+       7,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x81,
+       0x8A,
+       0x91,
+       0x9A,
        0xA2,
+       0xAA
+};
+
+#   endif      /* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXPRINT_invlist[] = { /* for ASCII/Latin1 */
+       3,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x20,
+       0x7F
+};
+
+#   endif      /* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXPRINT_invlist[] = { /* for EBCDIC 1047 */
+       31,     /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x40,
+       0x41,
+       0x4B,
+       0x51,
+       0x5A,
+       0x62,
+       0x6B,
+       0x70,
+       0x79,
+       0x80,
+       0x81,
+       0x8A,
+       0x91,
+       0x9A,
+       0xA1,
        0xAA,
-       0xAC,
        0xAD,
        0xAE,
-       0xAF,
+       0xBD,
+       0xBE,
+       0xC0,
+       0xCA,
+       0xD0,
+       0xDA,
+       0xE0,
+       0xE1,
+       0xE2,
+       0xEA,
+       0xF0,
+       0xFA
+};
+
+#   endif      /* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXPRINT_invlist[] = { /* for EBCDIC 037 */
+       33,     /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x40,
+       0x41,
+       0x4B,
+       0x51,
+       0x5A,
+       0x5F,
+       0x60,
+       0x62,
+       0x6B,
+       0x70,
+       0x79,
+       0x80,
+       0x81,
+       0x8A,
+       0x91,
+       0x9A,
+       0xA1,
+       0xAA,
+       0xB0,
+       0xB1,
        0xBA,
-       0xBB,
-       0xC1,
+       0xBC,
+       0xC0,
        0xCA,
-       0xCB,
        0xD0,
-       0xD1,
        0xDA,
-       0xDB,
        0xE0,
+       0xE1,
        0xE2,
        0xEA,
-       0xEB,
-       0xFA,
-       0xFB,
-       0xFF,
-       0x100,
-       0x2C2,
-       0x2C6,
-       0x2D2,
-       0x2E0,
-       0x2E5,
-       0x2EC,
-       0x2ED,
-       0x2EE,
-       0x2EF,
-       0x345,
-       0x346,
-       0x370,
-       0x375,
-       0x376,
-       0x378,
-       0x37A,
-       0x37E,
-       0x37F,
-       0x380,
-       0x386,
-       0x387,
-       0x388,
-       0x38B,
-       0x38C,
-       0x38D,
-       0x38E,
-       0x3A2,
-       0x3A3,
-       0x3F6,
-       0x3F7,
-       0x482,
-       0x48A,
-       0x530,
-       0x531,
-       0x557,
-       0x559,
-       0x55A,
-       0x561,
-       0x588,
-       0x5B0,
-       0x5BE,
-       0x5BF,
-       0x5C0,
-       0x5C1,
-       0x5C3,
-       0x5C4,
-       0x5C6,
-       0x5C7,
-       0x5C8,
-       0x5D0,
-       0x5EB,
-       0x5F0,
-       0x5F3,
-       0x610,
-       0x61B,
-       0x620,
-       0x658,
-       0x659,
-       0x66A,
-       0x66E,
-       0x6D4,
-       0x6D5,
-       0x6DD,
-       0x6E1,
-       0x6E9,
-       0x6ED,
-       0x6FD,
-       0x6FF,
-       0x700,
-       0x710,
-       0x740,
-       0x74D,
-       0x7B2,
-       0x7C0,
-       0x7EB,
-       0x7F4,
-       0x7F6,
-       0x7FA,
-       0x7FB,
-       0x800,
-       0x818,
-       0x81A,
-       0x82D,
-       0x840,
-       0x859,
-       0x860,
-       0x86B,
-       0x8A0,
-       0x8B5,
-       0x8B6,
-       0x8BE,
-       0x8D4,
-       0x8E0,
-       0x8E3,
-       0x8EA,
-       0x8F0,
-       0x93C,
-       0x93D,
-       0x94D,
-       0x94E,
-       0x951,
-       0x955,
-       0x964,
-       0x966,
-       0x970,
-       0x971,
-       0x984,
-       0x985,
-       0x98D,
-       0x98F,
-       0x991,
-       0x993,
-       0x9A9,
-       0x9AA,
-       0x9B1,
-       0x9B2,
-       0x9B3,
-       0x9B6,
-       0x9BA,
-       0x9BD,
-       0x9C5,
-       0x9C7,
-       0x9C9,
-       0x9CB,
-       0x9CD,
-       0x9CE,
-       0x9CF,
-       0x9D7,
-       0x9D8,
-       0x9DC,
-       0x9DE,
-       0x9DF,
-       0x9E4,
-       0x9E6,
-       0x9F2,
-       0x9FC,
-       0x9FD,
-       0xA01,
-       0xA04,
-       0xA05,
-       0xA0B,
-       0xA0F,
-       0xA11,
-       0xA13,
-       0xA29,
-       0xA2A,
-       0xA31,
-       0xA32,
-       0xA34,
-       0xA35,
-       0xA37,
-       0xA38,
-       0xA3A,
-       0xA3E,
-       0xA43,
-       0xA47,
-       0xA49,
-       0xA4B,
-       0xA4D,
-       0xA51,
-       0xA52,
-       0xA59,
-       0xA5D,
-       0xA5E,
-       0xA5F,
-       0xA66,
-       0xA76,
-       0xA81,
-       0xA84,
-       0xA85,
-       0xA8E,
-       0xA8F,
-       0xA92,
-       0xA93,
-       0xAA9,
-       0xAAA,
-       0xAB1,
-       0xAB2,
-       0xAB4,
-       0xAB5,
-       0xABA,
-       0xABD,
-       0xAC6,
-       0xAC7,
-       0xACA,
-       0xACB,
-       0xACD,
-       0xAD0,
-       0xAD1,
-       0xAE0,
-       0xAE4,
-       0xAE6,
-       0xAF0,
-       0xAF9,
-       0xAFD,
-       0xB01,
-       0xB04,
-       0xB05,
-       0xB0D,
-       0xB0F,
-       0xB11,
-       0xB13,
-       0xB29,
-       0xB2A,
-       0xB31,
-       0xB32,
-       0xB34,
-       0xB35,
-       0xB3A,
-       0xB3D,
-       0xB45,
-       0xB47,
-       0xB49,
-       0xB4B,
-       0xB4D,
-       0xB56,
-       0xB58,
-       0xB5C,
-       0xB5E,
-       0xB5F,
-       0xB64,
-       0xB66,
-       0xB70,
-       0xB71,
-       0xB72,
-       0xB82,
-       0xB84,
-       0xB85,
-       0xB8B,
-       0xB8E,
-       0xB91,
-       0xB92,
-       0xB96,
-       0xB99,
-       0xB9B,
-       0xB9C,
-       0xB9D,
-       0xB9E,
-       0xBA0,
-       0xBA3,
-       0xBA5,
-       0xBA8,
-       0xBAB,
-       0xBAE,
-       0xBBA,
-       0xBBE,
-       0xBC3,
-       0xBC6,
-       0xBC9,
-       0xBCA,
-       0xBCD,
-       0xBD0,
-       0xBD1,
-       0xBD7,
-       0xBD8,
-       0xBE6,
-       0xBF0,
-       0xC00,
-       0xC04,
-       0xC05,
-       0xC0D,
-       0xC0E,
-       0xC11,
-       0xC12,
-       0xC29,
-       0xC2A,
-       0xC3A,
-       0xC3D,
-       0xC45,
-       0xC46,
-       0xC49,
-       0xC4A,
-       0xC4D,
-       0xC55,
-       0xC57,
-       0xC58,
-       0xC5B,
-       0xC60,
-       0xC64,
-       0xC66,
-       0xC70,
-       0xC80,
-       0xC84,
-       0xC85,
-       0xC8D,
-       0xC8E,
-       0xC91,
-       0xC92,
-       0xCA9,
-       0xCAA,
-       0xCB4,
-       0xCB5,
-       0xCBA,
-       0xCBD,
-       0xCC5,
-       0xCC6,
-       0xCC9,
-       0xCCA,
-       0xCCD,
-       0xCD5,
-       0xCD7,
-       0xCDE,
-       0xCDF,
-       0xCE0,
-       0xCE4,
-       0xCE6,
-       0xCF0,
+       0xF0,
+       0xFA
+};
+
+#   endif      /* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXPUNCT_invlist[] = { /* for ASCII/Latin1 */
+       9,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x21,
+       0x30,
+       0x3A,
+       0x41,
+       0x5B,
+       0x61,
+       0x7B,
+       0x7F
+};
+
+#   endif      /* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXPUNCT_invlist[] = { /* for EBCDIC 1047 */
+       21,     /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x4B,
+       0x51,
+       0x5A,
+       0x62,
+       0x6B,
+       0x70,
+       0x79,
+       0x80,
+       0xA1,
+       0xA2,
+       0xAD,
+       0xAE,
+       0xBD,
+       0xBE,
+       0xC0,
+       0xC1,
+       0xD0,
+       0xD1,
+       0xE0,
+       0xE1
+};
+
+#   endif      /* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXPUNCT_invlist[] = { /* for EBCDIC 037 */
+       23,     /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x4B,
+       0x51,
+       0x5A,
+       0x5F,
+       0x60,
+       0x62,
+       0x6B,
+       0x70,
+       0x79,
+       0x80,
+       0xA1,
+       0xA2,
+       0xB0,
+       0xB1,
+       0xBA,
+       0xBC,
+       0xC0,
+       0xC1,
+       0xD0,
+       0xD1,
+       0xE0,
+       0xE1
+};
+
+#   endif      /* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXSPACE_invlist[] = { /* for ASCII/Latin1 */
+       5,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x9,
+       0xE,
+       0x20,
+       0x21
+};
+
+#   endif      /* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXSPACE_invlist[] = { /* for EBCDIC 1047 */
+       9,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x5,
+       0x6,
+       0xB,
+       0xE,
+       0x15,
+       0x16,
+       0x40,
+       0x41
+};
+
+#   endif      /* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXSPACE_invlist[] = { /* for EBCDIC 037 */
+       9,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x5,
+       0x6,
+       0xB,
+       0xE,
+       0x25,
+       0x26,
+       0x40,
+       0x41
+};
+
+#   endif      /* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXUPPER_invlist[] = { /* for ASCII/Latin1 */
+       3,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x41,
+       0x5B
+};
+
+#   endif      /* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXUPPER_invlist[] = { /* for EBCDIC 1047 */
+       7,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0xC1,
+       0xCA,
+       0xD1,
+       0xDA,
+       0xE2,
+       0xEA
+};
+
+#   endif      /* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXUPPER_invlist[] = { /* for EBCDIC 037 */
+       7,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0xC1,
+       0xCA,
+       0xD1,
+       0xDA,
+       0xE2,
+       0xEA
+};
+
+#   endif      /* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXWORD_invlist[] = { /* for ASCII/Latin1 */
+       9,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x30,
+       0x3A,
+       0x41,
+       0x5B,
+       0x5F,
+       0x60,
+       0x61,
+       0x7B
+};
+
+#   endif      /* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXWORD_invlist[] = { /* for EBCDIC 1047 */
+       17,     /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x6D,
+       0x6E,
+       0x81,
+       0x8A,
+       0x91,
+       0x9A,
+       0xA2,
+       0xAA,
+       0xC1,
+       0xCA,
+       0xD1,
+       0xDA,
+       0xE2,
+       0xEA,
+       0xF0,
+       0xFA
+};
+
+#   endif      /* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXWORD_invlist[] = { /* for EBCDIC 037 */
+       17,     /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x6D,
+       0x6E,
+       0x81,
+       0x8A,
+       0x91,
+       0x9A,
+       0xA2,
+       0xAA,
+       0xC1,
+       0xCA,
+       0xD1,
+       0xDA,
+       0xE2,
+       0xEA,
+       0xF0,
+       0xFA
+};
+
+#   endif      /* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXXDIGIT_invlist[] = { /* for ASCII/Latin1 */
+       7,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x30,
+       0x3A,
+       0x41,
+       0x47,
+       0x61,
+       0x67
+};
+
+#   endif      /* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXXDIGIT_invlist[] = { /* for EBCDIC 1047 */
+       7,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x81,
+       0x87,
+       0xC1,
+       0xC7,
+       0xF0,
+       0xFA
+};
+
+#   endif      /* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXXDIGIT_invlist[] = { /* for EBCDIC 037 */
+       7,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x81,
+       0x87,
+       0xC1,
+       0xC7,
+       0xF0,
+       0xFA
+};
+
+#   endif      /* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_VERTSPACE_invlist[] = { /* for ASCII/Latin1 */
+       7,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0xA,
+       0xE,
+       0x85,
+       0x86,
+       0x2028,
+       0x202A
+};
+
+#   endif      /* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_VERTSPACE_invlist[] = { /* for EBCDIC 1047 */
+       9,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0xB,
+       0xE,
+       0x15,
+       0x16,
+       0x25,
+       0x26,
+       0x2028,
+       0x202A
+};
+
+#   endif      /* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_VERTSPACE_invlist[] = { /* for EBCDIC 037 */
+       9,      /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0xB,
+       0xE,
+       0x15,
+       0x16,
+       0x25,
+       0x26,
+       0x2028,
+       0x202A
+};
+
+#   endif      /* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */
+       1391,   /* Number of elements */
+       148565664, /* Version and data structure type */
+       1,      /* 0 if the list starts at 0;
+                  1 if it starts at the element beyond 0 */
+       0x0,
+       0x30,
+       0x3A,
+       0x41,
+       0x5B,
+       0x61,
+       0x7B,
+       0xAA,
+       0xAB,
+       0xB5,
+       0xB6,
+       0xBA,
+       0xBB,
+       0xC0,
+       0xD7,
+       0xD8,
+       0xF7,
+       0xF8,
+       0x2C2,
+       0x2C6,
+       0x2D2,
+       0x2E0,
+       0x2E5,
+       0x2EC,
+       0x2ED,
+       0x2EE,
+       0x2EF,
+       0x345,
+       0x346,
+       0x370,
+       0x375,
+       0x376,
+       0x378,
+       0x37A,
+       0x37E,
+       0x37F,
+       0x380,
+       0x386,
+       0x387,
+       0x388,
+       0x38B,
+       0x38C,
+       0x38D,
+       0x38E,
+       0x3A2,
+       0x3A3,
+       0x3F6,
+       0x3F7,
+       0x482,
+       0x48A,
+       0x530,
+       0x531,
+       0x557,
+       0x559,
+       0x55A,
+       0x561,
+       0x588,
+       0x5B0,
+       0x5BE,
+       0x5BF,
+       0x5C0,
+       0x5C1,
+       0x5C3,
+       0x5C4,
+       0x5C6,
+       0x5C7,
+       0x5C8,
+       0x5D0,
+       0x5EB,
+       0x5F0,
+       0x5F3,
+       0x610,
+       0x61B,
+       0x620,
+       0x658,
+       0x659,
+       0x66A,
+       0x66E,
+       0x6D4,
+       0x6D5,
+       0x6DD,
+       0x6E1,
+       0x6E9,
+       0x6ED,
+       0x6FD,
+       0x6FF,
+       0x700,
+       0x710,
+       0x740,
+       0x74D,
+       0x7B2,
+       0x7C0,
+       0x7EB,
+       0x7F4,
+       0x7F6,
+       0x7FA,
+       0x7FB,
+       0x800,
+       0x818,
+       0x81A,
+       0x82D,
+       0x840,
+       0x859,
+       0x860,
+       0x86B,
+       0x8A0,
+       0x8B5,
+       0x8B6,
+       0x8BE,
+       0x8D4,
+       0x8E0,
+       0x8E3,
+       0x8EA,
+       0x8F0,
+       0x93C,
+       0x93D,
+       0x94D,
+       0x94E,
+       0x951,
+       0x955,
+       0x964,
+       0x966,
+       0x970,
+       0x971,
+       0x984,
+       0x985,
+       0x98D,
+       0x98F,
+       0x991,
+       0x993,
+       0x9A9,
+       0x9AA,
+       0x9B1,
+       0x9B2,
+       0x9B3,
+       0x9B6,
+       0x9BA,
+       0x9BD,
+       0x9C5,
+       0x9C7,
+       0x9C9,
+       0x9CB,
+       0x9CD,
+       0x9CE,
+       0x9CF,
+       0x9D7,
+       0x9D8,
+       0x9DC,
+       0x9DE,
+       0x9DF,
+       0x9E4,
+       0x9E6,
+       0x9F2,
+       0x9FC,
+       0x9FD,
+       0xA01,
+       0xA04,
+       0xA05,
+       0xA0B,
+       0xA0F,
+       0xA11,
+       0xA13,
+       0xA29,
+       0xA2A,
+       0xA31,
+       0xA32,
+       0xA34,
+       0xA35,
+       0xA37,
+       0xA38,
+       0xA3A,
+       0xA3E,
+       0xA43,
+       0xA47,
+       0xA49,
+       0xA4B,
+       0xA4D,
+       0xA51,
+       0xA52,
+       0xA59,
+       0xA5D,
+       0xA5E,
+       0xA5F,
+       0xA66,
+       0xA76,
+       0xA81,
+       0xA84,
+       0xA85,
+       0xA8E,
+       0xA8F,
+       0xA92,
+       0xA93,
+       0xAA9,
+       0xAAA,
+       0xAB1,
+       0xAB2,
+       0xAB4,
+       0xAB5,
+       0xABA,
+       0xABD,
+       0xAC6,
+       0xAC7,
+       0xACA,
+       0xACB,
+       0xACD,
+       0xAD0,
+       0xAD1,
+       0xAE0,
+       0xAE4,
+       0xAE6,
+       0xAF0,
+       0xAF9,
+       0xAFD,
+       0xB01,
+       0xB04,
+       0xB05,
+       0xB0D,
+       0xB0F,
+       0xB11,
+       0xB13,
+       0xB29,
+       0xB2A,
+       0xB31,
+       0xB32,
+       0xB34,
+       0xB35,
+       0xB3A,
+       0xB3D,
+       0xB45,
+       0xB47,
+       0xB49,
+       0xB4B,
+       0xB4D,
+       0xB56,
+       0xB58,
+       0xB5C,
+       0xB5E,
+       0xB5F,
+       0xB64,
+       0xB66,
+       0xB70,
+       0xB71,
+       0xB72,
+       0xB82,
+       0xB84,
+       0xB85,
+       0xB8B,
+       0xB8E,
+       0xB91,
+       0xB92,
+       0xB96,
+       0xB99,
+       0xB9B,
+       0xB9C,
+       0xB9D,
+       0xB9E,
+       0xBA0,
+       0xBA3,
+       0xBA5,
+       0xBA8,
+       0xBAB,
+       0xBAE,
+       0xBBA,
+       0xBBE,
+       0xBC3,
+       0xBC6,
+       0xBC9,
+       0xBCA,
+       0xBCD,
+       0xBD0,
+       0xBD1,
+       0xBD7,
+       0xBD8,
+       0xBE6,
+       0xBF0,
+       0xC00,
+       0xC04,
+       0xC05,
+       0xC0D,
+       0xC0E,
+       0xC11,
+       0xC12,
+       0xC29,
+       0xC2A,
+       0xC3A,
+       0xC3D,
+       0xC45,
+       0xC46,
+       0xC49,
+       0xC4A,
+       0xC4D,
+       0xC55,
+       0xC57,
+       0xC58,
+       0xC5B,
+       0xC60,
+       0xC64,
+       0xC66,
+       0xC70,
+       0xC80,
+       0xC84,
+       0xC85,
+       0xC8D,
+       0xC8E,
+       0xC91,
+       0xC92,
+       0xCA9,
+       0xCAA,
+       0xCB4,
+       0xCB5,
+       0xCBA,
+       0xCBD,
+       0xCC5,
+       0xCC6,
+       0xCC9,
+       0xCCA,
+       0xCCD,
+       0xCD5,
+       0xCD7,
+       0xCDE,
+       0xCDF,
+       0xCE0,
+       0xCE4,
+       0xCE6,
+       0xCF0,
        0xCF1,
        0xCF3,
        0xD00,
@@ -126071,15 +124194,15 @@ static const UV PL_ALNUM_invlist[] = { /* for EBCDIC 1047 */
        0x2FA1E
 };
 
-#   endif      /* EBCDIC 1047 */
+#   endif      /* ASCII/Latin1 */
 
-#   if 'A' == 193 /* EBCDIC 037 */ \
-     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
-     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
      && '$' == 91 && '@' == 124 && '`' == 121
 
-static const UV PL_ALNUM_invlist[] = { /* for EBCDIC 037 */
-       1411,   /* Number of elements */
+static const UV PL_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */
+       1415,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -126105,7 +124228,11 @@ static const UV PL_ALNUM_invlist[] = { /* for EBCDIC 037 */
        0xA2,
        0xAA,
        0xAC,
+       0xAD,
+       0xAE,
        0xAF,
+       0xBA,
+       0xBB,
        0xC1,
        0xCA,
        0xCB,
@@ -127496,31 +125623,56 @@ static const UV PL_ALNUM_invlist[] = { /* for EBCDIC 037 */
        0x2FA1E
 };
 
-#   endif      /* EBCDIC 037 */
+#   endif      /* EBCDIC 1047 */
 
-#   if 'A' == 65 /* ASCII/Latin1 */
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
 
-static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
-       1321,   /* Number of elements */
+static const UV PL_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */
+       1411,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0x41,
-       0x5B,
-       0x61,
-       0x7B,
+       0x42,
+       0x4A,
+       0x51,
+       0x5A,
+       0x62,
+       0x6A,
+       0x70,
+       0x79,
+       0x80,
+       0x8A,
+       0x8C,
+       0x8F,
+       0x91,
+       0x9D,
+       0x9E,
+       0x9F,
+       0xA0,
+       0xA1,
+       0xA2,
        0xAA,
-       0xAB,
-       0xB5,
-       0xB6,
-       0xBA,
-       0xBB,
-       0xC0,
-       0xD7,
-       0xD8,
-       0xF7,
-       0xF8,
+       0xAC,
+       0xAF,
+       0xC1,
+       0xCA,
+       0xCB,
+       0xD0,
+       0xD1,
+       0xDA,
+       0xDB,
+       0xE0,
+       0xE2,
+       0xEA,
+       0xEB,
+       0xFA,
+       0xFB,
+       0xFF,
+       0x100,
        0x2C2,
        0x2C6,
        0x2D2,
@@ -127579,7 +125731,7 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x620,
        0x658,
        0x659,
-       0x660,
+       0x66A,
        0x66E,
        0x6D4,
        0x6D5,
@@ -127587,8 +125739,6 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x6E1,
        0x6E9,
        0x6ED,
-       0x6F0,
-       0x6FA,
        0x6FD,
        0x6FF,
        0x700,
@@ -127596,7 +125746,7 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x740,
        0x74D,
        0x7B2,
-       0x7CA,
+       0x7C0,
        0x7EB,
        0x7F4,
        0x7F6,
@@ -127626,6 +125776,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x951,
        0x955,
        0x964,
+       0x966,
+       0x970,
        0x971,
        0x984,
        0x985,
@@ -127654,7 +125806,7 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x9DE,
        0x9DF,
        0x9E4,
-       0x9F0,
+       0x9E6,
        0x9F2,
        0x9FC,
        0x9FD,
@@ -127686,7 +125838,7 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0xA5D,
        0xA5E,
        0xA5F,
-       0xA70,
+       0xA66,
        0xA76,
        0xA81,
        0xA84,
@@ -127712,6 +125864,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0xAD1,
        0xAE0,
        0xAE4,
+       0xAE6,
+       0xAF0,
        0xAF9,
        0xAFD,
        0xB01,
@@ -127740,6 +125894,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0xB5E,
        0xB5F,
        0xB64,
+       0xB66,
+       0xB70,
        0xB71,
        0xB72,
        0xB82,
@@ -127772,6 +125928,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0xBD1,
        0xBD7,
        0xBD8,
+       0xBE6,
+       0xBF0,
        0xC00,
        0xC04,
        0xC05,
@@ -127794,6 +125952,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0xC5B,
        0xC60,
        0xC64,
+       0xC66,
+       0xC70,
        0xC80,
        0xC84,
        0xC85,
@@ -127818,6 +125978,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0xCDF,
        0xCE0,
        0xCE4,
+       0xCE6,
+       0xCF0,
        0xCF1,
        0xCF3,
        0xD00,
@@ -127840,6 +126002,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0xD58,
        0xD5F,
        0xD64,
+       0xD66,
+       0xD70,
        0xD7A,
        0xD80,
        0xD82,
@@ -127860,6 +126024,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0xDD7,
        0xDD8,
        0xDE0,
+       0xDE6,
+       0xDF0,
        0xDF2,
        0xDF4,
        0xE01,
@@ -127868,6 +126034,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0xE47,
        0xE4D,
        0xE4E,
+       0xE50,
+       0xE5A,
        0xE81,
        0xE83,
        0xE84,
@@ -127900,10 +126068,14 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0xEC7,
        0xECD,
        0xECE,
+       0xED0,
+       0xEDA,
        0xEDC,
        0xEE0,
        0xF00,
        0xF01,
+       0xF20,
+       0xF2A,
        0xF40,
        0xF48,
        0xF49,
@@ -127919,7 +126091,7 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x1038,
        0x1039,
        0x103B,
-       0x1040,
+       0x104A,
        0x1050,
        0x1063,
        0x1065,
@@ -127928,6 +126100,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x1087,
        0x108E,
        0x108F,
+       0x1090,
+       0x109A,
        0x109C,
        0x109E,
        0x10A0,
@@ -128010,6 +126184,10 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x17D8,
        0x17DC,
        0x17DD,
+       0x17E0,
+       0x17EA,
+       0x1810,
+       0x181A,
        0x1820,
        0x1878,
        0x1880,
@@ -128022,7 +126200,7 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x192C,
        0x1930,
        0x1939,
-       0x1950,
+       0x1946,
        0x196E,
        0x1970,
        0x1975,
@@ -128030,12 +126208,18 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x19AC,
        0x19B0,
        0x19CA,
+       0x19D0,
+       0x19DA,
        0x1A00,
        0x1A1C,
        0x1A20,
        0x1A5F,
        0x1A61,
        0x1A75,
+       0x1A80,
+       0x1A8A,
+       0x1A90,
+       0x1A9A,
        0x1AA7,
        0x1AA8,
        0x1B00,
@@ -128044,19 +126228,19 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x1B44,
        0x1B45,
        0x1B4C,
+       0x1B50,
+       0x1B5A,
        0x1B80,
        0x1BAA,
        0x1BAC,
-       0x1BB0,
-       0x1BBA,
        0x1BE6,
        0x1BE7,
        0x1BF2,
        0x1C00,
        0x1C36,
+       0x1C40,
+       0x1C4A,
        0x1C4D,
-       0x1C50,
-       0x1C5A,
        0x1C7E,
        0x1C80,
        0x1C89,
@@ -128221,8 +126405,6 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0xA500,
        0xA60D,
        0xA610,
-       0xA620,
-       0xA62A,
        0xA62C,
        0xA640,
        0xA66F,
@@ -128252,13 +126434,15 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0xA8C4,
        0xA8C5,
        0xA8C6,
+       0xA8D0,
+       0xA8DA,
        0xA8F2,
        0xA8F8,
        0xA8FB,
        0xA8FC,
        0xA8FD,
        0xA8FE,
-       0xA90A,
+       0xA900,
        0xA92B,
        0xA930,
        0xA953,
@@ -128269,17 +126453,17 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0xA9B4,
        0xA9C0,
        0xA9CF,
-       0xA9D0,
+       0xA9DA,
        0xA9E0,
        0xA9E5,
        0xA9E6,
-       0xA9F0,
-       0xA9FA,
        0xA9FF,
        0xAA00,
        0xAA37,
        0xAA40,
        0xAA4E,
+       0xAA50,
+       0xAA5A,
        0xAA60,
        0xAA77,
        0xAA7A,
@@ -128312,6 +126496,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0xAB66,
        0xAB70,
        0xABEB,
+       0xABF0,
+       0xABFA,
        0xAC00,
        0xD7A4,
        0xD7B0,
@@ -128352,6 +126538,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0xFE75,
        0xFE76,
        0xFEFD,
+       0xFF10,
+       0xFF1A,
        0xFF21,
        0xFF3B,
        0xFF41,
@@ -128402,6 +126590,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x103D6,
        0x10400,
        0x1049E,
+       0x104A0,
+       0x104AA,
        0x104B0,
        0x104D4,
        0x104D8,
@@ -128478,12 +126668,18 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x10CF3,
        0x11000,
        0x11046,
+       0x11066,
+       0x11070,
        0x11082,
        0x110B9,
        0x110D0,
        0x110E9,
+       0x110F0,
+       0x110FA,
        0x11100,
        0x11133,
+       0x11136,
+       0x11140,
        0x11150,
        0x11173,
        0x11176,
@@ -128492,7 +126688,7 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x111C0,
        0x111C1,
        0x111C5,
-       0x111DA,
+       0x111D0,
        0x111DB,
        0x111DC,
        0x111DD,
@@ -128516,6 +126712,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x112A9,
        0x112B0,
        0x112E9,
+       0x112F0,
+       0x112FA,
        0x11300,
        0x11304,
        0x11305,
@@ -128548,12 +126746,16 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x11446,
        0x11447,
        0x1144B,
+       0x11450,
+       0x1145A,
        0x11480,
        0x114C2,
        0x114C4,
        0x114C6,
        0x114C7,
        0x114C8,
+       0x114D0,
+       0x114DA,
        0x11580,
        0x115B6,
        0x115B8,
@@ -128566,14 +126768,20 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x11641,
        0x11644,
        0x11645,
+       0x11650,
+       0x1165A,
        0x11680,
        0x116B6,
+       0x116C0,
+       0x116CA,
        0x11700,
        0x1171A,
        0x1171D,
        0x1172B,
+       0x11730,
+       0x1173A,
        0x118A0,
-       0x118E0,
+       0x118EA,
        0x118FF,
        0x11900,
        0x11A00,
@@ -128594,6 +126802,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x11C3F,
        0x11C40,
        0x11C41,
+       0x11C50,
+       0x11C5A,
        0x11C72,
        0x11C90,
        0x11C92,
@@ -128616,6 +126826,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x11D44,
        0x11D46,
        0x11D48,
+       0x11D50,
+       0x11D5A,
        0x12000,
        0x1239A,
        0x12400,
@@ -128630,12 +126842,16 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x16A39,
        0x16A40,
        0x16A5F,
+       0x16A60,
+       0x16A6A,
        0x16AD0,
        0x16AEE,
        0x16B00,
        0x16B37,
        0x16B40,
        0x16B44,
+       0x16B50,
+       0x16B5A,
        0x16B63,
        0x16B78,
        0x16B7D,
@@ -128726,6 +126942,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x1D7C3,
        0x1D7C4,
        0x1D7CC,
+       0x1D7CE,
+       0x1D800,
        0x1E000,
        0x1E007,
        0x1E008,
@@ -128742,6 +126960,8 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x1E944,
        0x1E947,
        0x1E948,
+       0x1E950,
+       0x1E95A,
        0x1EE00,
        0x1EE04,
        0x1EE05,
@@ -128828,60 +127048,31 @@ static const UV PL_ALPHA_invlist[] = { /* for ASCII/Latin1 */
        0x2FA1E
 };
 
-#   endif      /* ASCII/Latin1 */
+#   endif      /* EBCDIC 037 */
 
-#   if 'A' == 193 /* EBCDIC 1047 */ \
-     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
-     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
-     && '$' == 91 && '@' == 124 && '`' == 121
+#   if 'A' == 65 /* ASCII/Latin1 */
 
-static const UV PL_ALPHA_invlist[] = { /* for EBCDIC 1047 */
-       1347,   /* Number of elements */
+static const UV PL_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */
+       1321,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0x42,
-       0x4A,
-       0x51,
-       0x5A,
-       0x62,
-       0x6A,
-       0x70,
-       0x79,
-       0x80,
-       0x8A,
-       0x8C,
-       0x8F,
-       0x91,
-       0x9D,
-       0x9E,
-       0x9F,
-       0xA0,
-       0xA1,
-       0xA2,
+       0x41,
+       0x5B,
+       0x61,
+       0x7B,
        0xAA,
-       0xAC,
-       0xAD,
-       0xAE,
-       0xAF,
+       0xAB,
+       0xB5,
+       0xB6,
        0xBA,
        0xBB,
-       0xC1,
-       0xCA,
-       0xCB,
-       0xD0,
-       0xD1,
-       0xDA,
-       0xDB,
-       0xE0,
-       0xE2,
-       0xEA,
-       0xEB,
-       0xF0,
-       0xFB,
-       0xFF,
-       0x100,
+       0xC0,
+       0xD7,
+       0xD8,
+       0xF7,
+       0xF8,
        0x2C2,
        0x2C6,
        0x2D2,
@@ -130189,15 +128380,15 @@ static const UV PL_ALPHA_invlist[] = { /* for EBCDIC 1047 */
        0x2FA1E
 };
 
-#   endif      /* EBCDIC 1047 */
+#   endif      /* ASCII/Latin1 */
 
-#   if 'A' == 193 /* EBCDIC 037 */ \
-     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
-     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
      && '$' == 91 && '@' == 124 && '`' == 121
 
-static const UV PL_ALPHA_invlist[] = { /* for EBCDIC 037 */
-       1343,   /* Number of elements */
+static const UV PL_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */
+       1347,   /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
@@ -130223,7 +128414,11 @@ static const UV PL_ALPHA_invlist[] = { /* for EBCDIC 037 */
        0xA2,
        0xAA,
        0xAC,
+       0xAD,
+       0xAE,
        0xAF,
+       0xBA,
+       0xBB,
        0xC1,
        0xCA,
        0xCB,
@@ -131546,340 +129741,6 @@ static const UV PL_ALPHA_invlist[] = { /* for EBCDIC 037 */
        0x2FA1E
 };
 
-#   endif      /* EBCDIC 037 */
-
-static const UV PL_ALPHABETICPF_invlist[] = { /* for all charsets */
-       3,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0xFB00,
-       0xFB50
-};
-
-static const UV PL_ANCIENTGREEKMUSIC_invlist[] = { /* for all charsets */
-       3,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x1D200,
-       0x1D250
-};
-
-static const UV PL_ANCIENTGREEKNUMBERS_invlist[] = { /* for all charsets */
-       3,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x10140,
-       0x10190
-};
-
-static const UV PL_ANCIENTSYMBOLS_invlist[] = { /* for all charsets */
-       3,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x10190,
-       0x101D0
-};
-
-static const UV PL_ANY_invlist[] = { /* for all charsets */
-       2,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       0,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x110000
-};
-
-static const UV PL_ARAB_invlist[] = { /* for all charsets */
-       105,    /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x600,
-       0x605,
-       0x606,
-       0x61D,
-       0x61E,
-       0x6DD,
-       0x6DE,
-       0x700,
-       0x750,
-       0x780,
-       0x8A0,
-       0x8B5,
-       0x8B6,
-       0x8BE,
-       0x8D4,
-       0x8E2,
-       0x8E3,
-       0x900,
-       0xFB50,
-       0xFBC2,
-       0xFBD3,
-       0xFD3E,
-       0xFD50,
-       0xFD90,
-       0xFD92,
-       0xFDC8,
-       0xFDF0,
-       0xFDFE,
-       0xFE70,
-       0xFE75,
-       0xFE76,
-       0xFEFD,
-       0x102E0,
-       0x102FC,
-       0x10E60,
-       0x10E7F,
-       0x1EE00,
-       0x1EE04,
-       0x1EE05,
-       0x1EE20,
-       0x1EE21,
-       0x1EE23,
-       0x1EE24,
-       0x1EE25,
-       0x1EE27,
-       0x1EE28,
-       0x1EE29,
-       0x1EE33,
-       0x1EE34,
-       0x1EE38,
-       0x1EE39,
-       0x1EE3A,
-       0x1EE3B,
-       0x1EE3C,
-       0x1EE42,
-       0x1EE43,
-       0x1EE47,
-       0x1EE48,
-       0x1EE49,
-       0x1EE4A,
-       0x1EE4B,
-       0x1EE4C,
-       0x1EE4D,
-       0x1EE50,
-       0x1EE51,
-       0x1EE53,
-       0x1EE54,
-       0x1EE55,
-       0x1EE57,
-       0x1EE58,
-       0x1EE59,
-       0x1EE5A,
-       0x1EE5B,
-       0x1EE5C,
-       0x1EE5D,
-       0x1EE5E,
-       0x1EE5F,
-       0x1EE60,
-       0x1EE61,
-       0x1EE63,
-       0x1EE64,
-       0x1EE65,
-       0x1EE67,
-       0x1EE6B,
-       0x1EE6C,
-       0x1EE73,
-       0x1EE74,
-       0x1EE78,
-       0x1EE79,
-       0x1EE7D,
-       0x1EE7E,
-       0x1EE7F,
-       0x1EE80,
-       0x1EE8A,
-       0x1EE8B,
-       0x1EE9C,
-       0x1EEA1,
-       0x1EEA4,
-       0x1EEA5,
-       0x1EEAA,
-       0x1EEAB,
-       0x1EEBC,
-       0x1EEF0,
-       0x1EEF2
-};
-
-static const UV PL_ARABICEXTA_invlist[] = { /* for all charsets */
-       3,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x8A0,
-       0x900
-};
-
-static const UV PL_ARABICMATH_invlist[] = { /* for all charsets */
-       3,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x1EE00,
-       0x1EF00
-};
-
-static const UV PL_ARABICPFA_invlist[] = { /* for all charsets */
-       3,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0xFB50,
-       0xFE00
-};
-
-static const UV PL_ARABICPFB_invlist[] = { /* for all charsets */
-       3,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0xFE70,
-       0xFF00
-};
-
-static const UV PL_ARABICSUP_invlist[] = { /* for all charsets */
-       3,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x750,
-       0x780
-};
-
-static const UV PL_ARMI_invlist[] = { /* for all charsets */
-       5,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x10840,
-       0x10856,
-       0x10857,
-       0x10860
-};
-
-static const UV PL_ARMN_invlist[] = { /* for all charsets */
-       13,     /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x531,
-       0x557,
-       0x559,
-       0x560,
-       0x561,
-       0x588,
-       0x589,
-       0x58B,
-       0x58D,
-       0x590,
-       0xFB13,
-       0xFB18
-};
-
-static const UV PL_ARROWS_invlist[] = { /* for all charsets */
-       3,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x2190,
-       0x2200
-};
-
-#   if 'A' == 65 /* ASCII/Latin1 */
-
-static const UV PL_ASCII_invlist[] = { /* for ASCII/Latin1 */
-       2,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       0,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x80
-};
-
-#   endif      /* ASCII/Latin1 */
-
-#   if 'A' == 193 /* EBCDIC 1047 */ \
-     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
-     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
-     && '$' == 91 && '@' == 124 && '`' == 121
-
-static const UV PL_ASCII_invlist[] = { /* for EBCDIC 1047 */
-       54,     /* Number of elements */
-       148565664, /* Version and data structure type */
-       0,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x4,
-       0x5,
-       0x6,
-       0x7,
-       0x8,
-       0xB,
-       0x14,
-       0x15,
-       0x17,
-       0x18,
-       0x1A,
-       0x1C,
-       0x20,
-       0x26,
-       0x28,
-       0x2D,
-       0x30,
-       0x32,
-       0x33,
-       0x37,
-       0x38,
-       0x3C,
-       0x3E,
-       0x3F,
-       0x41,
-       0x4B,
-       0x51,
-       0x5A,
-       0x62,
-       0x6B,
-       0x70,
-       0x79,
-       0x80,
-       0x81,
-       0x8A,
-       0x91,
-       0x9A,
-       0xA1,
-       0xAA,
-       0xAD,
-       0xAE,
-       0xBD,
-       0xBE,
-       0xC0,
-       0xCA,
-       0xD0,
-       0xDA,
-       0xE0,
-       0xE1,
-       0xE2,
-       0xEA,
-       0xF0,
-       0xFA
-};
-
 #   endif      /* EBCDIC 1047 */
 
 #   if 'A' == 193 /* EBCDIC 037 */ \
@@ -131887,122 +129748,136 @@ static const UV PL_ASCII_invlist[] = { /* for EBCDIC 1047 */
      && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
      && '$' == 91 && '@' == 124 && '`' == 121
 
-static const UV PL_ASCII_invlist[] = { /* for EBCDIC 037 */
-       56,     /* Number of elements */
+static const UV PL_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */
+       1343,   /* Number of elements */
        148565664, /* Version and data structure type */
-       0,      /* 0 if the list starts at 0;
+       1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0x4,
-       0x5,
-       0x6,
-       0x7,
-       0x8,
-       0xB,
-       0x14,
-       0x16,
-       0x17,
-       0x18,
-       0x1A,
-       0x1C,
-       0x20,
-       0x25,
-       0x28,
-       0x2D,
-       0x30,
-       0x32,
-       0x33,
-       0x37,
-       0x38,
-       0x3C,
-       0x3E,
-       0x3F,
-       0x41,
-       0x4B,
+       0x42,
+       0x4A,
        0x51,
        0x5A,
-       0x5F,
-       0x60,
        0x62,
-       0x6B,
+       0x6A,
        0x70,
        0x79,
        0x80,
-       0x81,
        0x8A,
+       0x8C,
+       0x8F,
        0x91,
-       0x9A,
+       0x9D,
+       0x9E,
+       0x9F,
+       0xA0,
        0xA1,
+       0xA2,
        0xAA,
-       0xB0,
-       0xB1,
-       0xBA,
-       0xBC,
-       0xC0,
+       0xAC,
+       0xAF,
+       0xC1,
        0xCA,
+       0xCB,
        0xD0,
+       0xD1,
        0xDA,
+       0xDB,
        0xE0,
-       0xE1,
        0xE2,
        0xEA,
+       0xEB,
        0xF0,
-       0xFA
-};
-
-#   endif      /* EBCDIC 037 */
-
-static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
-       1298,   /* Number of elements */
-       148565664, /* Version and data structure type */
-       0,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
+       0xFB,
+       0xFF,
+       0x100,
+       0x2C2,
+       0x2C6,
+       0x2D2,
+       0x2E0,
+       0x2E5,
+       0x2EC,
+       0x2ED,
+       0x2EE,
+       0x2EF,
+       0x345,
+       0x346,
+       0x370,
+       0x375,
+       0x376,
        0x378,
        0x37A,
+       0x37E,
+       0x37F,
        0x380,
-       0x384,
+       0x386,
+       0x387,
+       0x388,
        0x38B,
        0x38C,
        0x38D,
        0x38E,
        0x3A2,
        0x3A3,
+       0x3F6,
+       0x3F7,
+       0x482,
+       0x48A,
        0x530,
        0x531,
        0x557,
        0x559,
-       0x560,
+       0x55A,
        0x561,
        0x588,
-       0x589,
-       0x58B,
-       0x58D,
-       0x590,
-       0x591,
+       0x5B0,
+       0x5BE,
+       0x5BF,
+       0x5C0,
+       0x5C1,
+       0x5C3,
+       0x5C4,
+       0x5C6,
+       0x5C7,
        0x5C8,
        0x5D0,
        0x5EB,
        0x5F0,
-       0x5F5,
-       0x600,
-       0x61D,
-       0x61E,
-       0x70E,
-       0x70F,
-       0x74B,
+       0x5F3,
+       0x610,
+       0x61B,
+       0x620,
+       0x658,
+       0x659,
+       0x660,
+       0x66E,
+       0x6D4,
+       0x6D5,
+       0x6DD,
+       0x6E1,
+       0x6E9,
+       0x6ED,
+       0x6F0,
+       0x6FA,
+       0x6FD,
+       0x6FF,
+       0x700,
+       0x710,
+       0x740,
        0x74D,
        0x7B2,
-       0x7C0,
+       0x7CA,
+       0x7EB,
+       0x7F4,
+       0x7F6,
+       0x7FA,
        0x7FB,
        0x800,
-       0x82E,
-       0x830,
-       0x83F,
+       0x818,
+       0x81A,
+       0x82D,
        0x840,
-       0x85C,
-       0x85E,
-       0x85F,
+       0x859,
        0x860,
        0x86B,
        0x8A0,
@@ -132010,6 +129885,18 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x8B6,
        0x8BE,
        0x8D4,
+       0x8E0,
+       0x8E3,
+       0x8EA,
+       0x8F0,
+       0x93C,
+       0x93D,
+       0x94D,
+       0x94E,
+       0x951,
+       0x955,
+       0x964,
+       0x971,
        0x984,
        0x985,
        0x98D,
@@ -132023,11 +129910,13 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x9B3,
        0x9B6,
        0x9BA,
-       0x9BC,
+       0x9BD,
        0x9C5,
        0x9C7,
        0x9C9,
        0x9CB,
+       0x9CD,
+       0x9CE,
        0x9CF,
        0x9D7,
        0x9D8,
@@ -132035,8 +129924,10 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x9DE,
        0x9DF,
        0x9E4,
-       0x9E6,
-       0x9FE,
+       0x9F0,
+       0x9F2,
+       0x9FC,
+       0x9FD,
        0xA01,
        0xA04,
        0xA05,
@@ -132053,21 +129944,19 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0xA37,
        0xA38,
        0xA3A,
-       0xA3C,
-       0xA3D,
        0xA3E,
        0xA43,
        0xA47,
        0xA49,
        0xA4B,
-       0xA4E,
+       0xA4D,
        0xA51,
        0xA52,
        0xA59,
        0xA5D,
        0xA5E,
        0xA5F,
-       0xA66,
+       0xA70,
        0xA76,
        0xA81,
        0xA84,
@@ -132083,20 +129972,18 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0xAB4,
        0xAB5,
        0xABA,
-       0xABC,
+       0xABD,
        0xAC6,
        0xAC7,
        0xACA,
        0xACB,
-       0xACE,
+       0xACD,
        0xAD0,
        0xAD1,
        0xAE0,
        0xAE4,
-       0xAE6,
-       0xAF2,
        0xAF9,
-       0xB00,
+       0xAFD,
        0xB01,
        0xB04,
        0xB05,
@@ -132111,20 +129998,20 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0xB34,
        0xB35,
        0xB3A,
-       0xB3C,
+       0xB3D,
        0xB45,
        0xB47,
        0xB49,
        0xB4B,
-       0xB4E,
+       0xB4D,
        0xB56,
        0xB58,
        0xB5C,
        0xB5E,
        0xB5F,
        0xB64,
-       0xB66,
-       0xB78,
+       0xB71,
+       0xB72,
        0xB82,
        0xB84,
        0xB85,
@@ -132150,13 +130037,11 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0xBC6,
        0xBC9,
        0xBCA,
-       0xBCE,
+       0xBCD,
        0xBD0,
        0xBD1,
        0xBD7,
        0xBD8,
-       0xBE6,
-       0xBFB,
        0xC00,
        0xC04,
        0xC05,
@@ -132172,16 +130057,14 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0xC46,
        0xC49,
        0xC4A,
-       0xC4E,
+       0xC4D,
        0xC55,
        0xC57,
        0xC58,
        0xC5B,
        0xC60,
        0xC64,
-       0xC66,
-       0xC70,
-       0xC78,
+       0xC80,
        0xC84,
        0xC85,
        0xC8D,
@@ -132193,20 +130076,18 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0xCB4,
        0xCB5,
        0xCBA,
-       0xCBC,
+       0xCBD,
        0xCC5,
        0xCC6,
        0xCC9,
        0xCCA,
-       0xCCE,
+       0xCCD,
        0xCD5,
        0xCD7,
        0xCDE,
        0xCDF,
        0xCE0,
        0xCE4,
-       0xCE6,
-       0xCF0,
        0xCF1,
        0xCF3,
        0xD00,
@@ -132216,14 +130097,20 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0xD0E,
        0xD11,
        0xD12,
+       0xD3B,
+       0xD3D,
        0xD45,
        0xD46,
        0xD49,
        0xD4A,
-       0xD50,
+       0xD4D,
+       0xD4E,
+       0xD4F,
        0xD54,
+       0xD58,
+       0xD5F,
        0xD64,
-       0xD66,
+       0xD7A,
        0xD80,
        0xD82,
        0xD84,
@@ -132237,22 +130124,20 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0xDBE,
        0xDC0,
        0xDC7,
-       0xDCA,
-       0xDCB,
        0xDCF,
        0xDD5,
        0xDD6,
        0xDD7,
        0xDD8,
        0xDE0,
-       0xDE6,
-       0xDF0,
        0xDF2,
-       0xDF5,
+       0xDF4,
        0xE01,
        0xE3B,
-       0xE3F,
-       0xE5C,
+       0xE40,
+       0xE47,
+       0xE4D,
+       0xE4E,
        0xE81,
        0xE83,
        0xE84,
@@ -132283,31 +130168,47 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0xEC5,
        0xEC6,
        0xEC7,
-       0xEC8,
+       0xECD,
        0xECE,
-       0xED0,
-       0xEDA,
        0xEDC,
        0xEE0,
        0xF00,
+       0xF01,
+       0xF40,
        0xF48,
        0xF49,
        0xF6D,
        0xF71,
+       0xF82,
+       0xF88,
        0xF98,
        0xF99,
        0xFBD,
-       0xFBE,
-       0xFCD,
-       0xFCE,
-       0xFDB,
        0x1000,
+       0x1037,
+       0x1038,
+       0x1039,
+       0x103B,
+       0x1040,
+       0x1050,
+       0x1063,
+       0x1065,
+       0x1069,
+       0x106E,
+       0x1087,
+       0x108E,
+       0x108F,
+       0x109C,
+       0x109E,
+       0x10A0,
        0x10C6,
        0x10C7,
        0x10C8,
        0x10CD,
        0x10CE,
        0x10D0,
+       0x10FB,
+       0x10FC,
        0x1249,
        0x124A,
        0x124E,
@@ -132339,24 +130240,30 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x1316,
        0x1318,
        0x135B,
-       0x135D,
-       0x137D,
+       0x135F,
+       0x1360,
        0x1380,
-       0x139A,
+       0x1390,
        0x13A0,
        0x13F6,
        0x13F8,
        0x13FE,
-       0x1400,
-       0x169D,
+       0x1401,
+       0x166D,
+       0x166F,
+       0x1680,
+       0x1681,
+       0x169B,
        0x16A0,
+       0x16EB,
+       0x16EE,
        0x16F9,
        0x1700,
        0x170D,
        0x170E,
-       0x1715,
+       0x1714,
        0x1720,
-       0x1737,
+       0x1734,
        0x1740,
        0x1754,
        0x1760,
@@ -132366,15 +130273,13 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x1772,
        0x1774,
        0x1780,
-       0x17DE,
-       0x17E0,
-       0x17EA,
-       0x17F0,
-       0x17FA,
-       0x1800,
-       0x180F,
-       0x1810,
-       0x181A,
+       0x17B4,
+       0x17B6,
+       0x17C9,
+       0x17D7,
+       0x17D8,
+       0x17DC,
+       0x17DD,
        0x1820,
        0x1878,
        0x1880,
@@ -132386,10 +130291,8 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x1920,
        0x192C,
        0x1930,
-       0x193C,
-       0x1940,
-       0x1941,
-       0x1944,
+       0x1939,
+       0x1950,
        0x196E,
        0x1970,
        0x1975,
@@ -132397,41 +130300,47 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x19AC,
        0x19B0,
        0x19CA,
-       0x19D0,
-       0x19DB,
-       0x19DE,
+       0x1A00,
        0x1A1C,
-       0x1A1E,
+       0x1A20,
        0x1A5F,
-       0x1A60,
-       0x1A7D,
-       0x1A7F,
-       0x1A8A,
-       0x1A90,
-       0x1A9A,
-       0x1AA0,
-       0x1AAE,
-       0x1AB0,
-       0x1ABF,
+       0x1A61,
+       0x1A75,
+       0x1AA7,
+       0x1AA8,
        0x1B00,
+       0x1B34,
+       0x1B35,
+       0x1B44,
+       0x1B45,
        0x1B4C,
-       0x1B50,
-       0x1B7D,
        0x1B80,
-       0x1BF4,
-       0x1BFC,
-       0x1C38,
-       0x1C3B,
-       0x1C4A,
+       0x1BAA,
+       0x1BAC,
+       0x1BB0,
+       0x1BBA,
+       0x1BE6,
+       0x1BE7,
+       0x1BF2,
+       0x1C00,
+       0x1C36,
        0x1C4D,
+       0x1C50,
+       0x1C5A,
+       0x1C7E,
+       0x1C80,
        0x1C89,
-       0x1CC0,
-       0x1CC8,
-       0x1CD0,
-       0x1CFA,
+       0x1CE9,
+       0x1CED,
+       0x1CEE,
+       0x1CF4,
+       0x1CF5,
+       0x1CF7,
        0x1D00,
-       0x1DFA,
-       0x1DFB,
+       0x1DC0,
+       0x1DE7,
+       0x1DF5,
+       0x1E00,
        0x1F16,
        0x1F18,
        0x1F1E,
@@ -132452,54 +130361,70 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x1F80,
        0x1FB5,
        0x1FB6,
+       0x1FBD,
+       0x1FBE,
+       0x1FBF,
+       0x1FC2,
        0x1FC5,
        0x1FC6,
+       0x1FCD,
+       0x1FD0,
        0x1FD4,
        0x1FD6,
        0x1FDC,
-       0x1FDD,
-       0x1FF0,
+       0x1FE0,
+       0x1FED,
        0x1FF2,
        0x1FF5,
        0x1FF6,
-       0x1FFF,
-       0x2000,
-       0x2065,
-       0x2066,
+       0x1FFD,
+       0x2071,
        0x2072,
-       0x2074,
-       0x208F,
+       0x207F,
+       0x2080,
        0x2090,
        0x209D,
-       0x20A0,
-       0x20C0,
-       0x20D0,
-       0x20F1,
-       0x2100,
-       0x218C,
-       0x2190,
-       0x2427,
-       0x2440,
-       0x244B,
-       0x2460,
-       0x2B74,
-       0x2B76,
-       0x2B96,
-       0x2B98,
-       0x2BBA,
-       0x2BBD,
-       0x2BC9,
-       0x2BCA,
-       0x2BD3,
-       0x2BEC,
-       0x2BF0,
+       0x2102,
+       0x2103,
+       0x2107,
+       0x2108,
+       0x210A,
+       0x2114,
+       0x2115,
+       0x2116,
+       0x2119,
+       0x211E,
+       0x2124,
+       0x2125,
+       0x2126,
+       0x2127,
+       0x2128,
+       0x2129,
+       0x212A,
+       0x212E,
+       0x212F,
+       0x213A,
+       0x213C,
+       0x2140,
+       0x2145,
+       0x214A,
+       0x214E,
+       0x214F,
+       0x2160,
+       0x2189,
+       0x24B6,
+       0x24EA,
        0x2C00,
        0x2C2F,
        0x2C30,
        0x2C5F,
        0x2C60,
+       0x2CE5,
+       0x2CEB,
+       0x2CEF,
+       0x2CF2,
        0x2CF4,
-       0x2CF9,
+       0x2D00,
        0x2D26,
        0x2D27,
        0x2D28,
@@ -132508,8 +130433,8 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x2D30,
        0x2D68,
        0x2D6F,
-       0x2D71,
-       0x2D7F,
+       0x2D70,
+       0x2D80,
        0x2D97,
        0x2DA0,
        0x2DA7,
@@ -132528,81 +130453,119 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x2DD8,
        0x2DDF,
        0x2DE0,
-       0x2E4A,
-       0x2E80,
-       0x2E9A,
-       0x2E9B,
-       0x2EF4,
-       0x2F00,
-       0x2FD6,
-       0x2FF0,
-       0x2FFC,
-       0x3000,
-       0x3040,
+       0x2E00,
+       0x2E2F,
+       0x2E30,
+       0x3005,
+       0x3008,
+       0x3021,
+       0x302A,
+       0x3031,
+       0x3036,
+       0x3038,
+       0x303D,
        0x3041,
        0x3097,
-       0x3099,
+       0x309D,
+       0x30A0,
+       0x30A1,
+       0x30FB,
+       0x30FC,
        0x3100,
        0x3105,
        0x312F,
        0x3131,
        0x318F,
-       0x3190,
+       0x31A0,
        0x31BB,
-       0x31C0,
-       0x31E4,
        0x31F0,
-       0x321F,
-       0x3220,
-       0x32FF,
-       0x3300,
+       0x3200,
+       0x3400,
        0x4DB6,
-       0x4DC0,
+       0x4E00,
        0x9FEB,
        0xA000,
        0xA48D,
-       0xA490,
-       0xA4C7,
        0xA4D0,
+       0xA4FE,
+       0xA500,
+       0xA60D,
+       0xA610,
+       0xA620,
+       0xA62A,
        0xA62C,
        0xA640,
-       0xA6F8,
-       0xA700,
+       0xA66F,
+       0xA674,
+       0xA67C,
+       0xA67F,
+       0xA6F0,
+       0xA717,
+       0xA720,
+       0xA722,
+       0xA789,
+       0xA78B,
        0xA7AF,
        0xA7B0,
        0xA7B8,
        0xA7F7,
-       0xA82C,
-       0xA830,
-       0xA83A,
+       0xA802,
+       0xA803,
+       0xA806,
+       0xA807,
+       0xA80B,
+       0xA80C,
+       0xA828,
        0xA840,
-       0xA878,
+       0xA874,
        0xA880,
+       0xA8C4,
+       0xA8C5,
        0xA8C6,
-       0xA8CE,
-       0xA8DA,
-       0xA8E0,
+       0xA8F2,
+       0xA8F8,
+       0xA8FB,
+       0xA8FC,
+       0xA8FD,
        0xA8FE,
-       0xA900,
-       0xA954,
-       0xA95F,
+       0xA90A,
+       0xA92B,
+       0xA930,
+       0xA953,
+       0xA960,
        0xA97D,
        0xA980,
-       0xA9CE,
+       0xA9B3,
+       0xA9B4,
+       0xA9C0,
        0xA9CF,
-       0xA9DA,
-       0xA9DE,
+       0xA9D0,
+       0xA9E0,
+       0xA9E5,
+       0xA9E6,
+       0xA9F0,
+       0xA9FA,
        0xA9FF,
        0xAA00,
        0xAA37,
        0xAA40,
        0xAA4E,
-       0xAA50,
-       0xAA5A,
-       0xAA5C,
+       0xAA60,
+       0xAA77,
+       0xAA7A,
+       0xAA7B,
+       0xAA7E,
+       0xAABF,
+       0xAAC0,
+       0xAAC1,
+       0xAAC2,
        0xAAC3,
        0xAADB,
-       0xAAF7,
+       0xAADE,
+       0xAAE0,
+       0xAAF0,
+       0xAAF2,
+       0xAAF6,
        0xAB01,
        0xAB07,
        0xAB09,
@@ -132614,18 +130577,18 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0xAB28,
        0xAB2F,
        0xAB30,
+       0xAB5B,
+       0xAB5C,
        0xAB66,
        0xAB70,
-       0xABEE,
-       0xABF0,
-       0xABFA,
+       0xABEB,
        0xAC00,
        0xD7A4,
        0xD7B0,
        0xD7C7,
        0xD7CB,
        0xD7FC,
-       0xD800,
+       0xF900,
        0xFA6E,
        0xFA70,
        0xFADA,
@@ -132634,6 +130597,8 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0xFB13,
        0xFB18,
        0xFB1D,
+       0xFB29,
+       0xFB2A,
        0xFB37,
        0xFB38,
        0xFB3D,
@@ -132644,30 +130609,24 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0xFB43,
        0xFB45,
        0xFB46,
-       0xFBC2,
+       0xFBB2,
        0xFBD3,
-       0xFD40,
+       0xFD3E,
        0xFD50,
        0xFD90,
        0xFD92,
        0xFDC8,
        0xFDF0,
-       0xFDFE,
-       0xFE00,
-       0xFE1A,
-       0xFE20,
-       0xFE53,
-       0xFE54,
-       0xFE67,
-       0xFE68,
-       0xFE6C,
+       0xFDFC,
        0xFE70,
        0xFE75,
        0xFE76,
        0xFEFD,
-       0xFEFF,
-       0xFF00,
-       0xFF01,
+       0xFF21,
+       0xFF3B,
+       0xFF41,
+       0xFF5B,
+       0xFF66,
        0xFFBF,
        0xFFC2,
        0xFFC8,
@@ -132677,12 +130636,6 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0xFFD8,
        0xFFDA,
        0xFFDD,
-       0xFFE0,
-       0xFFE7,
-       0xFFE8,
-       0xFFEF,
-       0xFFF9,
-       0xFFFE,
        0x10000,
        0x1000C,
        0x1000D,
@@ -132697,40 +130650,28 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x1005E,
        0x10080,
        0x100FB,
-       0x10100,
-       0x10103,
-       0x10107,
-       0x10134,
-       0x10137,
-       0x1018F,
-       0x10190,
-       0x1019C,
-       0x101A0,
-       0x101A1,
-       0x101D0,
-       0x101FE,
+       0x10140,
+       0x10175,
        0x10280,
        0x1029D,
        0x102A0,
        0x102D1,
-       0x102E0,
-       0x102FC,
        0x10300,
-       0x10324,
+       0x10320,
        0x1032D,
        0x1034B,
        0x10350,
        0x1037B,
        0x10380,
        0x1039E,
-       0x1039F,
+       0x103A0,
        0x103C4,
        0x103C8,
+       0x103D0,
+       0x103D1,
        0x103D6,
        0x10400,
        0x1049E,
-       0x104A0,
-       0x104AA,
        0x104B0,
        0x104D4,
        0x104D8,
@@ -132739,8 +130680,6 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x10528,
        0x10530,
        0x10564,
-       0x1056F,
-       0x10570,
        0x10600,
        0x10737,
        0x10740,
@@ -132759,25 +130698,23 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x1083D,
        0x1083F,
        0x10856,
-       0x10857,
+       0x10860,
+       0x10877,
+       0x10880,
        0x1089F,
-       0x108A7,
-       0x108B0,
        0x108E0,
        0x108F3,
        0x108F4,
        0x108F6,
-       0x108FB,
-       0x1091C,
-       0x1091F,
+       0x10900,
+       0x10916,
+       0x10920,
        0x1093A,
-       0x1093F,
-       0x10940,
        0x10980,
        0x109B8,
-       0x109BC,
-       0x109D0,
-       0x109D2,
+       0x109BE,
+       0x109C0,
+       0x10A00,
        0x10A04,
        0x10A05,
        0x10A07,
@@ -132787,65 +130724,55 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x10A18,
        0x10A19,
        0x10A34,
-       0x10A38,
-       0x10A3B,
-       0x10A3F,
-       0x10A48,
-       0x10A50,
-       0x10A59,
        0x10A60,
-       0x10AA0,
+       0x10A7D,
+       0x10A80,
+       0x10A9D,
        0x10AC0,
-       0x10AE7,
-       0x10AEB,
-       0x10AF7,
+       0x10AC8,
+       0x10AC9,
+       0x10AE5,
        0x10B00,
        0x10B36,
-       0x10B39,
+       0x10B40,
        0x10B56,
-       0x10B58,
+       0x10B60,
        0x10B73,
-       0x10B78,
+       0x10B80,
        0x10B92,
-       0x10B99,
-       0x10B9D,
-       0x10BA9,
-       0x10BB0,
        0x10C00,
        0x10C49,
        0x10C80,
        0x10CB3,
        0x10CC0,
        0x10CF3,
-       0x10CFA,
-       0x10D00,
-       0x10E60,
-       0x10E7F,
        0x11000,
-       0x1104E,
-       0x11052,
-       0x11070,
-       0x1107F,
-       0x110C2,
+       0x11046,
+       0x11082,
+       0x110B9,
        0x110D0,
        0x110E9,
-       0x110F0,
-       0x110FA,
        0x11100,
-       0x11135,
-       0x11136,
-       0x11144,
+       0x11133,
        0x11150,
+       0x11173,
+       0x11176,
        0x11177,
        0x11180,
-       0x111CE,
-       0x111D0,
-       0x111E0,
-       0x111E1,
-       0x111F5,
+       0x111C0,
+       0x111C1,
+       0x111C5,
+       0x111DA,
+       0x111DB,
+       0x111DC,
+       0x111DD,
        0x11200,
        0x11212,
        0x11213,
+       0x11235,
+       0x11237,
+       0x11238,
+       0x1123E,
        0x1123F,
        0x11280,
        0x11287,
@@ -132856,11 +130783,9 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x1128F,
        0x1129E,
        0x1129F,
-       0x112AA,
+       0x112A9,
        0x112B0,
-       0x112EB,
-       0x112F0,
-       0x112FA,
+       0x112E9,
        0x11300,
        0x11304,
        0x11305,
@@ -132875,64 +130800,60 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x11334,
        0x11335,
        0x1133A,
-       0x1133C,
+       0x1133D,
        0x11345,
        0x11347,
        0x11349,
        0x1134B,
-       0x1134E,
+       0x1134D,
        0x11350,
        0x11351,
        0x11357,
        0x11358,
        0x1135D,
        0x11364,
-       0x11366,
-       0x1136D,
-       0x11370,
-       0x11375,
        0x11400,
-       0x1145A,
-       0x1145B,
-       0x1145C,
-       0x1145D,
-       0x1145E,
+       0x11442,
+       0x11443,
+       0x11446,
+       0x11447,
+       0x1144B,
        0x11480,
+       0x114C2,
+       0x114C4,
+       0x114C6,
+       0x114C7,
        0x114C8,
-       0x114D0,
-       0x114DA,
        0x11580,
        0x115B6,
        0x115B8,
+       0x115BF,
+       0x115D8,
        0x115DE,
        0x11600,
+       0x1163F,
+       0x11640,
+       0x11641,
+       0x11644,
        0x11645,
-       0x11650,
-       0x1165A,
-       0x11660,
-       0x1166D,
        0x11680,
-       0x116B8,
-       0x116C0,
-       0x116CA,
+       0x116B6,
        0x11700,
        0x1171A,
        0x1171D,
-       0x1172C,
-       0x11730,
-       0x11740,
+       0x1172B,
        0x118A0,
-       0x118F3,
+       0x118E0,
        0x118FF,
        0x11900,
        0x11A00,
-       0x11A48,
+       0x11A33,
+       0x11A35,
+       0x11A3F,
        0x11A50,
        0x11A84,
        0x11A86,
-       0x11A9D,
-       0x11A9E,
-       0x11AA3,
+       0x11A98,
        0x11AC0,
        0x11AF9,
        0x11C00,
@@ -132940,10 +130861,10 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x11C0A,
        0x11C37,
        0x11C38,
-       0x11C46,
-       0x11C50,
-       0x11C6D,
-       0x11C70,
+       0x11C3F,
+       0x11C40,
+       0x11C41,
+       0x11C72,
        0x11C90,
        0x11C92,
        0x11CA8,
@@ -132960,15 +130881,15 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x11D3C,
        0x11D3E,
        0x11D3F,
+       0x11D42,
+       0x11D43,
+       0x11D44,
+       0x11D46,
        0x11D48,
-       0x11D50,
-       0x11D5A,
        0x12000,
        0x1239A,
        0x12400,
        0x1246F,
-       0x12470,
-       0x12475,
        0x12480,
        0x12544,
        0x13000,
@@ -132979,20 +130900,12 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x16A39,
        0x16A40,
        0x16A5F,
-       0x16A60,
-       0x16A6A,
-       0x16A6E,
-       0x16A70,
        0x16AD0,
        0x16AEE,
-       0x16AF0,
-       0x16AF6,
        0x16B00,
-       0x16B46,
-       0x16B50,
-       0x16B5A,
-       0x16B5B,
-       0x16B62,
+       0x16B37,
+       0x16B40,
+       0x16B44,
        0x16B63,
        0x16B78,
        0x16B7D,
@@ -133001,7 +130914,7 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x16F45,
        0x16F50,
        0x16F7F,
-       0x16F8F,
+       0x16F93,
        0x16FA0,
        0x16FE0,
        0x16FE2,
@@ -133021,20 +130934,8 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x1BC89,
        0x1BC90,
        0x1BC9A,
-       0x1BC9C,
-       0x1BCA4,
-       0x1D000,
-       0x1D0F6,
-       0x1D100,
-       0x1D127,
-       0x1D129,
-       0x1D1E9,
-       0x1D200,
-       0x1D246,
-       0x1D300,
-       0x1D357,
-       0x1D360,
-       0x1D372,
+       0x1BC9E,
+       0x1BC9F,
        0x1D400,
        0x1D455,
        0x1D456,
@@ -133074,13 +130975,27 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x1D552,
        0x1D6A6,
        0x1D6A8,
+       0x1D6C1,
+       0x1D6C2,
+       0x1D6DB,
+       0x1D6DC,
+       0x1D6FB,
+       0x1D6FC,
+       0x1D715,
+       0x1D716,
+       0x1D735,
+       0x1D736,
+       0x1D74F,
+       0x1D750,
+       0x1D76F,
+       0x1D770,
+       0x1D789,
+       0x1D78A,
+       0x1D7A9,
+       0x1D7AA,
+       0x1D7C3,
+       0x1D7C4,
        0x1D7CC,
-       0x1D7CE,
-       0x1DA8C,
-       0x1DA9B,
-       0x1DAA0,
-       0x1DAA1,
-       0x1DAB0,
        0x1E000,
        0x1E007,
        0x1E008,
@@ -133093,14 +131008,10 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x1E02B,
        0x1E800,
        0x1E8C5,
-       0x1E8C7,
-       0x1E8D7,
        0x1E900,
-       0x1E94B,
-       0x1E950,
-       0x1E95A,
-       0x1E95E,
-       0x1E960,
+       0x1E944,
+       0x1E947,
+       0x1E948,
        0x1EE00,
        0x1EE04,
        0x1EE05,
@@ -133167,72 +131078,12 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x1EEAA,
        0x1EEAB,
        0x1EEBC,
-       0x1EEF0,
-       0x1EEF2,
-       0x1F000,
-       0x1F02C,
-       0x1F030,
-       0x1F094,
-       0x1F0A0,
-       0x1F0AF,
-       0x1F0B1,
-       0x1F0C0,
-       0x1F0C1,
-       0x1F0D0,
-       0x1F0D1,
-       0x1F0F6,
-       0x1F100,
-       0x1F10D,
-       0x1F110,
-       0x1F12F,
        0x1F130,
-       0x1F16C,
+       0x1F14A,
+       0x1F150,
+       0x1F16A,
        0x1F170,
-       0x1F1AD,
-       0x1F1E6,
-       0x1F203,
-       0x1F210,
-       0x1F23C,
-       0x1F240,
-       0x1F249,
-       0x1F250,
-       0x1F252,
-       0x1F260,
-       0x1F266,
-       0x1F300,
-       0x1F6D5,
-       0x1F6E0,
-       0x1F6ED,
-       0x1F6F0,
-       0x1F6F9,
-       0x1F700,
-       0x1F774,
-       0x1F780,
-       0x1F7D5,
-       0x1F800,
-       0x1F80C,
-       0x1F810,
-       0x1F848,
-       0x1F850,
-       0x1F85A,
-       0x1F860,
-       0x1F888,
-       0x1F890,
-       0x1F8AE,
-       0x1F900,
-       0x1F90C,
-       0x1F910,
-       0x1F93F,
-       0x1F940,
-       0x1F94D,
-       0x1F950,
-       0x1F96C,
-       0x1F980,
-       0x1F998,
-       0x1F9C0,
-       0x1F9C1,
-       0x1F9D0,
-       0x1F9E7,
+       0x1F18A,
        0x20000,
        0x2A6D7,
        0x2A700,
@@ -133244,177 +131095,108 @@ static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
        0x2CEB0,
        0x2EBE1,
        0x2F800,
-       0x2FA1E,
-       0xE0001,
-       0xE0002,
-       0xE0020,
-       0xE0080,
-       0xE0100,
-       0xE01F0,
-       0xF0000,
-       0xFFFFE,
-       0x100000,
-       0x10FFFE
+       0x2FA1E
 };
 
-static const UV PL_AVST_invlist[] = { /* for all charsets */
-       5,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x10B00,
-       0x10B36,
-       0x10B39,
-       0x10B40
-};
+#   endif      /* EBCDIC 037 */
 
-static const UV PL_BALI_invlist[] = { /* for all charsets */
-       5,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x1B00,
-       0x1B4C,
-       0x1B50,
-       0x1B7D
-};
+#   if 'A' == 65 /* ASCII/Latin1 */
 
-static const UV PL_BAMU_invlist[] = { /* for all charsets */
-       5,      /* Number of elements */
+static const UV PL_XPOSIXBLANK_invlist[] = { /* for ASCII/Latin1 */
+       17,     /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0xA6A0,
-       0xA6F8,
-       0x16800,
-       0x16A39
+       0x9,
+       0xA,
+       0x20,
+       0x21,
+       0xA0,
+       0xA1,
+       0x1680,
+       0x1681,
+       0x2000,
+       0x200B,
+       0x202F,
+       0x2030,
+       0x205F,
+       0x2060,
+       0x3000,
+       0x3001
 };
 
-static const UV PL_BAMUMSUP_invlist[] = { /* for all charsets */
-       3,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x16800,
-       0x16A40
-};
+#   endif      /* ASCII/Latin1 */
 
-static const UV PL_BASS_invlist[] = { /* for all charsets */
-       5,      /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x16AD0,
-       0x16AEE,
-       0x16AF0,
-       0x16AF6
-};
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
 
-static const UV PL_BATK_invlist[] = { /* for all charsets */
-       5,      /* Number of elements */
+static const UV PL_XPOSIXBLANK_invlist[] = { /* for EBCDIC 1047 */
+       15,     /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0x1BC0,
-       0x1BF4,
-       0x1BFC,
-       0x1C00
+       0x5,
+       0x6,
+       0x40,
+       0x42,
+       0x1680,
+       0x1681,
+       0x2000,
+       0x200B,
+       0x202F,
+       0x2030,
+       0x205F,
+       0x2060,
+       0x3000,
+       0x3001
 };
 
-static const UV PL_BC__AL_invlist[] = { /* for all charsets */
-       43,     /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x608,
-       0x609,
-       0x60B,
-       0x60C,
-       0x60D,
-       0x60E,
-       0x61B,
-       0x64B,
-       0x66D,
-       0x670,
-       0x671,
-       0x6D6,
-       0x6E5,
-       0x6E7,
-       0x6EE,
-       0x6F0,
-       0x6FA,
-       0x711,
-       0x712,
-       0x730,
-       0x74B,
-       0x7A6,
-       0x7B1,
-       0x7C0,
-       0x860,
-       0x870,
-       0x8A0,
-       0x8D4,
-       0xFB50,
-       0xFD3E,
-       0xFD40,
-       0xFDD0,
-       0xFDF0,
-       0xFDFD,
-       0xFDFE,
-       0xFE00,
-       0xFE70,
-       0xFEFF,
-       0x1EE00,
-       0x1EEF0,
-       0x1EEF2,
-       0x1EF00
-};
+#   endif      /* EBCDIC 1047 */
 
-static const UV PL_BC__AN_invlist[] = { /* for all charsets */
-       13,     /* Number of elements */
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXBLANK_invlist[] = { /* for EBCDIC 037 */
+       15,     /* Number of elements */
        148565664, /* Version and data structure type */
        1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0x600,
-       0x606,
-       0x660,
-       0x66A,
-       0x66B,
-       0x66D,
-       0x6DD,
-       0x6DE,
-       0x8E2,
-       0x8E3,
-       0x10E60,
-       0x10E7F
+       0x5,
+       0x6,
+       0x40,
+       0x42,
+       0x1680,
+       0x1681,
+       0x2000,
+       0x200B,
+       0x202F,
+       0x2030,
+       0x205F,
+       0x2060,
+       0x3000,
+       0x3001
 };
 
+#   endif      /* EBCDIC 037 */
+
 #   if 'A' == 65 /* ASCII/Latin1 */
 
-static const UV PL_BC__B_invlist[] = { /* for ASCII/Latin1 */
-       11,     /* Number of elements */
+static const UV PL_XPOSIXCNTRL_invlist[] = { /* for ASCII/Latin1 */
+       4,      /* Number of elements */
        148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
+       0,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0xA,
-       0xB,
-       0xD,
-       0xE,
-       0x1C,
-       0x1F,
-       0x85,
-       0x86,
-       0x2029,
-       0x202A
+       0x20,
+       0x7F,
+       0xA0
 };
 
 #   endif      /* ASCII/Latin1 */
@@ -133424,22 +131206,15 @@ static const UV PL_BC__B_invlist[] = { /* for ASCII/Latin1 */
      && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
      && '$' == 91 && '@' == 124 && '`' == 121
 
-static const UV PL_BC__B_invlist[] = { /* for EBCDIC 1047 */
-       11,     /* Number of elements */
+static const UV PL_XPOSIXCNTRL_invlist[] = { /* for EBCDIC 1047 */
+       4,      /* Number of elements */
        148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
+       0,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0xD,
-       0xE,
-       0x15,
-       0x16,
-       0x1C,
-       0x1F,
-       0x25,
-       0x26,
-       0x2029,
-       0x202A
+       0x40,
+       0xFF,
+       0x100
 };
 
 #   endif      /* EBCDIC 1047 */
@@ -133449,425 +131224,137 @@ static const UV PL_BC__B_invlist[] = { /* for EBCDIC 1047 */
      && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
      && '$' == 91 && '@' == 124 && '`' == 121
 
-static const UV PL_BC__B_invlist[] = { /* for EBCDIC 037 */
-       11,     /* Number of elements */
+static const UV PL_XPOSIXCNTRL_invlist[] = { /* for EBCDIC 037 */
+       4,      /* Number of elements */
        148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
+       0,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
-       0xD,
-       0xE,
-       0x15,
-       0x16,
-       0x1C,
-       0x1F,
-       0x25,
-       0x26,
-       0x2029,
-       0x202A
+       0x40,
+       0xFF,
+       0x100
 };
 
 #   endif      /* EBCDIC 037 */
 
 #   if 'A' == 65 /* ASCII/Latin1 */
 
-static const UV PL_BC__BN_invlist[] = { /* for ASCII/Latin1 */
-       64,     /* Number of elements */
+static const UV PL_XPOSIXDIGIT_invlist[] = { /* for ASCII/Latin1 */
+       111,    /* Number of elements */
        148565664, /* Version and data structure type */
-       0,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x9,
-       0xE,
-       0x1C,
-       0x7F,
-       0x85,
-       0x86,
-       0xA0,
-       0xAD,
-       0xAE,
-       0x180E,
-       0x180F,
-       0x200B,
-       0x200E,
-       0x2060,
-       0x2066,
-       0x206A,
-       0x2070,
-       0xFDD0,
-       0xFDF0,
-       0xFEFF,
-       0xFF00,
-       0xFFF0,
-       0xFFF9,
-       0xFFFE,
-       0x10000,
-       0x1BCA0,
-       0x1BCA4,
-       0x1D173,
-       0x1D17B,
-       0x1FFFE,
-       0x20000,
-       0x2FFFE,
-       0x30000,
-       0x3FFFE,
-       0x40000,
-       0x4FFFE,
-       0x50000,
-       0x5FFFE,
-       0x60000,
-       0x6FFFE,
-       0x70000,
-       0x7FFFE,
-       0x80000,
-       0x8FFFE,
-       0x90000,
-       0x9FFFE,
-       0xA0000,
-       0xAFFFE,
-       0xB0000,
-       0xBFFFE,
-       0xC0000,
-       0xCFFFE,
-       0xD0000,
-       0xDFFFE,
-       0xE0100,
-       0xE01F0,
-       0xE1000,
-       0xEFFFE,
-       0xF0000,
-       0xFFFFE,
-       0x100000,
-       0x10FFFE,
-       0x110000
-};
-
-#   endif      /* ASCII/Latin1 */
-
-#   if 'A' == 193 /* EBCDIC 1047 */ \
-     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
-     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
-     && '$' == 91 && '@' == 124 && '`' == 121
-
-static const UV PL_BC__BN_invlist[] = { /* for EBCDIC 1047 */
-       70,     /* Number of elements */
-       148565664, /* Version and data structure type */
-       0,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x5,
-       0x6,
-       0xB,
-       0xE,
-       0x15,
-       0x16,
-       0x1C,
-       0x20,
-       0x25,
-       0x26,
-       0x40,
-       0xCA,
-       0xCB,
-       0xFF,
-       0x100,
-       0x180E,
-       0x180F,
-       0x200B,
-       0x200E,
-       0x2060,
-       0x2066,
-       0x206A,
-       0x2070,
-       0xFDD0,
-       0xFDF0,
-       0xFEFF,
-       0xFF00,
-       0xFFF0,
-       0xFFF9,
-       0xFFFE,
-       0x10000,
-       0x1BCA0,
-       0x1BCA4,
-       0x1D173,
-       0x1D17B,
-       0x1FFFE,
-       0x20000,
-       0x2FFFE,
-       0x30000,
-       0x3FFFE,
-       0x40000,
-       0x4FFFE,
-       0x50000,
-       0x5FFFE,
-       0x60000,
-       0x6FFFE,
-       0x70000,
-       0x7FFFE,
-       0x80000,
-       0x8FFFE,
-       0x90000,
-       0x9FFFE,
-       0xA0000,
-       0xAFFFE,
-       0xB0000,
-       0xBFFFE,
-       0xC0000,
-       0xCFFFE,
-       0xD0000,
-       0xDFFFE,
-       0xE0100,
-       0xE01F0,
-       0xE1000,
-       0xEFFFE,
-       0xF0000,
-       0xFFFFE,
-       0x100000,
-       0x10FFFE,
-       0x110000
-};
-
-#   endif      /* EBCDIC 1047 */
-
-#   if 'A' == 193 /* EBCDIC 037 */ \
-     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
-     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
-     && '$' == 91 && '@' == 124 && '`' == 121
-
-static const UV PL_BC__BN_invlist[] = { /* for EBCDIC 037 */
-       70,     /* Number of elements */
-       148565664, /* Version and data structure type */
-       0,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x5,
-       0x6,
-       0xB,
-       0xE,
-       0x15,
-       0x16,
-       0x1C,
-       0x20,
-       0x25,
-       0x26,
-       0x40,
-       0xCA,
-       0xCB,
-       0xFF,
-       0x100,
-       0x180E,
-       0x180F,
-       0x200B,
-       0x200E,
-       0x2060,
-       0x2066,
-       0x206A,
-       0x2070,
-       0xFDD0,
-       0xFDF0,
-       0xFEFF,
-       0xFF00,
-       0xFFF0,
-       0xFFF9,
-       0xFFFE,
-       0x10000,
-       0x1BCA0,
-       0x1BCA4,
-       0x1D173,
-       0x1D17B,
-       0x1FFFE,
-       0x20000,
-       0x2FFFE,
-       0x30000,
-       0x3FFFE,
-       0x40000,
-       0x4FFFE,
-       0x50000,
-       0x5FFFE,
-       0x60000,
-       0x6FFFE,
-       0x70000,
-       0x7FFFE,
-       0x80000,
-       0x8FFFE,
-       0x90000,
-       0x9FFFE,
-       0xA0000,
-       0xAFFFE,
-       0xB0000,
-       0xBFFFE,
-       0xC0000,
-       0xCFFFE,
-       0xD0000,
-       0xDFFFE,
-       0xE0100,
-       0xE01F0,
-       0xE1000,
-       0xEFFFE,
-       0xF0000,
-       0xFFFFE,
-       0x100000,
-       0x10FFFE,
-       0x110000
-};
-
-#   endif      /* EBCDIC 037 */
-
-#   if 'A' == 65 /* ASCII/Latin1 */
-
-static const UV PL_BC__CS_invlist[] = { /* for ASCII/Latin1 */
-       27,     /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x2C,
-       0x2D,
-       0x2E,
-       0x30,
-       0x3A,
-       0x3B,
-       0xA0,
-       0xA1,
-       0x60C,
-       0x60D,
-       0x202F,
-       0x2030,
-       0x2044,
-       0x2045,
-       0xFE50,
-       0xFE51,
-       0xFE52,
-       0xFE53,
-       0xFE55,
-       0xFE56,
-       0xFF0C,
-       0xFF0D,
-       0xFF0E,
-       0xFF10,
-       0xFF1A,
-       0xFF1B
-};
-
-#   endif      /* ASCII/Latin1 */
-
-#   if 'A' == 193 /* EBCDIC 1047 */ \
-     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
-     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
-     && '$' == 91 && '@' == 124 && '`' == 121
-
-static const UV PL_BC__CS_invlist[] = { /* for EBCDIC 1047 */
-       29,     /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x41,
-       0x42,
-       0x4B,
-       0x4C,
-       0x61,
-       0x62,
-       0x6B,
-       0x6C,
-       0x7A,
-       0x7B,
-       0x60C,
-       0x60D,
-       0x202F,
-       0x2030,
-       0x2044,
-       0x2045,
-       0xFE50,
-       0xFE51,
-       0xFE52,
-       0xFE53,
-       0xFE55,
-       0xFE56,
-       0xFF0C,
-       0xFF0D,
-       0xFF0E,
-       0xFF10,
-       0xFF1A,
-       0xFF1B
-};
-
-#   endif      /* EBCDIC 1047 */
-
-#   if 'A' == 193 /* EBCDIC 037 */ \
-     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
-     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
-     && '$' == 91 && '@' == 124 && '`' == 121
-
-static const UV PL_BC__CS_invlist[] = { /* for EBCDIC 037 */
-       29,     /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x41,
-       0x42,
-       0x4B,
-       0x4C,
-       0x61,
-       0x62,
-       0x6B,
-       0x6C,
-       0x7A,
-       0x7B,
-       0x60C,
-       0x60D,
-       0x202F,
-       0x2030,
-       0x2044,
-       0x2045,
-       0xFE50,
-       0xFE51,
-       0xFE52,
-       0xFE53,
-       0xFE55,
-       0xFE56,
-       0xFF0C,
-       0xFF0D,
-       0xFF0E,
-       0xFF10,
-       0xFF1A,
-       0xFF1B
-};
-
-#   endif      /* EBCDIC 037 */
-
-#   if 'A' == 65 /* ASCII/Latin1 */
-
-static const UV PL_BC__EN_invlist[] = { /* for ASCII/Latin1 */
-       25,     /* Number of elements */
-       148565664, /* Version and data structure type */
-       1,      /* 0 if the list starts at 0;
+       1,      /* 0 if the list starts at 0;
                   1 if it starts at the element beyond 0 */
        0x0,
        0x30,
        0x3A,
-       0xB2,
-       0xB4,
-       0xB9,
-       0xBA,
+       0x660,
+       0x66A,
        0x6F0,
        0x6FA,
-       0x2070,
-       0x2071,
-       0x2074,
-       0x207A,
-       0x2080,
-       0x208A,
-       0x2488,
-       0x249C,
+       0x7C0,
+       0x7CA,
+       0x966,
+       0x970,
+       0x9E6,
+       0x9F0,
+       0xA66,
+       0xA70,
+       0xAE6,
+       0xAF0,
+       0xB66,
+       0xB70,
+       0xBE6,
+       0xBF0,
+       0xC66,
+       0xC70,
+       0xCE6,
+       0xCF0,
+       0xD66,
+       0xD70,
+       0xDE6,
+       0xDF0,
+       0xE50,
+       0xE5A,
+       0xED0,
+       0xEDA,
+       0xF20,
+       0xF2A,
+       0x1040,
+       0x104A,
+       0x1090,
+       0x109A,
+       0x17E0,
+       0x17EA,
+       0x1810,
+       0x181A,
+       0x1946,
+       0x1950,
+       0x19D0,
+       0x19DA,
+       0x1A80,
+       0x1A8A,
+       0x1A90,
+       0x1A9A,
+       0x1B50,
+       0x1B5A,
+       0x1BB0,
+       0x1BBA,
+       0x1C40,
+       0x1C4A,
+       0x1C50,
+       0x1C5A,
+       0xA620,
+       0xA62A,
+       0xA8D0,
+       0xA8DA,
+       0xA900,
+       0xA90A,
+       0xA9D0,
+       0xA9DA,
+       0xA9F0,
+       0xA9FA,
+       0xAA50,
+       0xAA5A,
+       0xABF0,
+       0xABFA,
        0xFF10,
        0xFF1A,
-       0x102E1,
-       0x102FC,
+       0x104A0,
+       0x104AA,
+       0x11066,
+       0x11070,
+       0x110F0,
+       0x110FA,
+       0x11136,
+       0x11140,
+       0x111D0,
+       0x111DA,
+       0x112F0,
+       0x112FA,
+       0x11450,
+       0x1145A,
+       0x114D0,
+       0x114DA,
+       0x11650,
+       0x1165A,
+       0x116C0,
+       0x116CA,
+       0x11730,
+       0x1173A,
+       0x118E0,
+       0x118EA,
+       0x11C50,
+       0x11C5A,
+       0x11D50,
+       0x11D5A,
+       0x16A60,
+       0x16A6A,
+       0x16B50,
+       0x16B5A,
        0x1D7CE,
        0x1D800,
-       0x1F100,
-       0x1F10B
+       0x1E950,
+       0x1E95A
 };
 
 #   endif      /* ASCII/Latin1 */
@@ -133877,36 +131364,122 @@ static const UV PL_BC__EN_invlist[] = { /* for ASCII/Latin1 */
      && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
      && '$' == 91 && '@' == 124 && '`' == 121
 
-static const UV PL_BC__EN_invlist[] = { /* for EBCDIC 1047 */
-       25,     /* Number of elements */
+static const UV PL_XPOSIXDIGIT_invlist[] = { /* for EBCDIC 1047 */
+       111,    /* Number of elements */
    &nbs