Ignore:
Timestamp:
Sep 12, 2016, 2:47:27 PM (3 years ago)
Author:
cameron
Message:

Fix for -gs mode from Xiangyu

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/UCD/ScriptExtensions.h

    r5145 r5154  
    1515namespace UCD {
    1616    namespace SCX_ns {
    17         /** Code Point Ranges for Adlm
    18         [1600, 1600], [125184, 125258], [125264, 125273], [125278, 125279]**/
    19         const UnicodeSet adlm_Ext
    20             {{{Empty, 50}, {Mixed, 1}, {Empty, 3861}, {Full, 2}, {Mixed, 1},
    21               {Empty, 30901}},
    22              {0x00000001, 0xc3ff07ff}};
    23         /** Code Point Ranges for Aghb
    24         [66864, 66915], [66927, 66927]**/
    25         const UnicodeSet aghb_Ext
    26             {{{Empty, 2089}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    27               {Empty, 32724}},
    28              {0xffff0000, 0x0000800f}};
    29         /** Code Point Ranges for Ahom
    30         [71424, 71449], [71453, 71467], [71472, 71487]**/
    31         const UnicodeSet ahom_Ext
    32             {{{Empty, 2232}, {Mixed, 2}, {Empty, 32582}},
    33              {0xe3ffffff, 0xffff0fff}};
    34         /** Code Point Ranges for Arab
    35         [1536, 1540], [1542, 1563], [1566, 1756], [1758, 1791],
    36         [1872, 1919], [2208, 2228], [2230, 2237], [2260, 2273],
    37         [2275, 2303], [64336, 64449], [64467, 64829], [64848, 64911],
    38         [64914, 64967], [65008, 65021], [65136, 65140], [65142, 65276],
    39         [66272, 66299], [69216, 69246], [126464, 126467], [126469, 126495],
    40         [126497, 126498], [126500, 126500], [126503, 126503],
    41         [126505, 126514], [126516, 126519], [126521, 126521],
    42         [126523, 126523], [126530, 126530], [126535, 126535],
    43         [126537, 126537], [126539, 126539], [126541, 126543],
    44         [126545, 126546], [126548, 126548], [126551, 126551],
    45         [126553, 126553], [126555, 126555], [126557, 126557],
    46         [126559, 126559], [126561, 126562], [126564, 126564],
    47         [126567, 126570], [126572, 126578], [126580, 126583],
    48         [126585, 126588], [126590, 126590], [126592, 126601],
    49         [126603, 126619], [126625, 126627], [126629, 126633],
    50         [126635, 126651], [126704, 126705]**/
    51         const UnicodeSet arab_Ext
    52             {{{Empty, 48}, {Mixed, 1}, {Full, 5}, {Mixed, 1}, {Full, 1},
    53               {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 9}, {Mixed, 3},
    54               {Empty, 1938}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 10},
    55               {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
    56               {Empty, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 31},
    57               {Mixed, 1}, {Empty, 91}, {Mixed, 1}, {Empty, 1788},
    58               {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 30856}},
    59              {0xcfffffdf, 0xdfffffff, 0xffff0000, 0x3fdfffff, 0xfff00000,
    60               0xfffffffb, 0xffff0000, 0xfff80003, 0x3fffffff, 0xffff0000,
    61               0xfffcffff, 0x000000ff, 0x3fff0000, 0xffdf0000, 0x1fffffff,
    62               0x0fffffff, 0x7fffffff, 0xffffffef, 0x0af7fe96, 0xaa96ea84,
    63               0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0x00030000}};
    64         /** Code Point Ranges for Armi
    65         [67648, 67669], [67671, 67679]**/
    66         const UnicodeSet armi_Ext
    67             {{{Empty, 2114}, {Mixed, 1}, {Empty, 32701}},
    68              {0xffbfffff}};
    69         /** Code Point Ranges for Armn
    70         [1329, 1366], [1369, 1375], [1377, 1415], [1417, 1418],
    71         [1421, 1423], [64275, 64279]**/
    72         const UnicodeSet armn_Ext
    73             {{{Empty, 41}, {Mixed, 4}, {Empty, 1963}, {Mixed, 1},
    74               {Empty, 32807}},
    75              {0xfffe0000, 0xfe7fffff, 0xfffffffe, 0x0000e6ff, 0x00f80000}};
    76         /** Code Point Ranges for Avst
    77         [68352, 68405], [68409, 68415]**/
    78         const UnicodeSet avst_Ext
    79             {{{Empty, 2136}, {Full, 1}, {Mixed, 1}, {Empty, 32678}},
    80              {0xfe3fffff}};
    81         /** Code Point Ranges for Bali
    82         [6912, 6987], [6992, 7036]**/
    83         const UnicodeSet bali_Ext
    84             {{{Empty, 216}, {Full, 2}, {Mixed, 2}, {Empty, 34596}},
    85              {0xffff0fff, 0x1fffffff}};
    86         /** Code Point Ranges for Bamu
    87         [42656, 42743], [92160, 92728]**/
    88         const UnicodeSet bamu_Ext
    89             {{{Empty, 1333}, {Full, 2}, {Mixed, 1}, {Empty, 1544},
    90               {Full, 17}, {Mixed, 1}, {Empty, 31918}},
    91              {0x00ffffff, 0x01ffffff}};
    92         /** Code Point Ranges for Bass
    93         [92880, 92909], [92912, 92917]**/
    94         const UnicodeSet bass_Ext
    95             {{{Empty, 2902}, {Mixed, 2}, {Empty, 31912}},
    96              {0xffff0000, 0x003f3fff}};
    97         /** Code Point Ranges for Batk
    98         [7104, 7155], [7164, 7167]**/
    99         const UnicodeSet batk_Ext
    100             {{{Empty, 222}, {Full, 1}, {Mixed, 1}, {Empty, 34592}},
    101              {0xf00fffff}};
    102         /** Code Point Ranges for Beng
    103         [2385, 2386], [2404, 2405], [2432, 2435], [2437, 2444],
    104         [2447, 2448], [2451, 2472], [2474, 2480], [2482, 2482],
    105         [2486, 2489], [2492, 2500], [2503, 2504], [2507, 2510],
    106         [2519, 2519], [2524, 2525], [2527, 2531], [2534, 2555],
    107         [43249, 43249]**/
    108         const UnicodeSet beng_Ext
    109             {{{Empty, 74}, {Mixed, 6}, {Empty, 1271}, {Mixed, 1},
    110               {Empty, 33464}},
    111              {0x00060000, 0x00000030, 0xfff99fef, 0xf3c5fdff, 0xb080799f,
    112               0x0fffffcf, 0x00020000}};
    113         /** Code Point Ranges for Bhks
    114         [72704, 72712], [72714, 72758], [72760, 72773], [72784, 72812]**/
    115         const UnicodeSet bhks_Ext
    116             {{{Empty, 2272}, {Mixed, 4}, {Empty, 32540}},
    117              {0xfffffdff, 0xff7fffff, 0xffff003f, 0x00001fff}};
    118         /** Code Point Ranges for Bopo
    119         [746, 747], [12289, 12291], [12296, 12305], [12307, 12319],
    120         [12330, 12333], [12336, 12336], [12343, 12343], [12539, 12539],
    121         [12549, 12589], [12704, 12730], [65093, 65094], [65377, 65381]**/
    122         const UnicodeSet bopo_Ext
    123             {{{Empty, 23}, {Mixed, 1}, {Empty, 360}, {Mixed, 2}, {Empty, 5},
    124               {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 1636}, {Mixed, 1},
    125               {Empty, 8}, {Mixed, 1}, {Empty, 32772}},
    126              {0x00000c00, 0xfffbff0e, 0x00813c00, 0x08000000, 0xffffffe0,
    127               0x00003fff, 0x07ffffff, 0x00000060, 0x0000003e}};
    128         /** Code Point Ranges for Brah
    129         [69632, 69709], [69714, 69743], [69759, 69759]**/
    130         const UnicodeSet brah_Ext
    131             {{{Empty, 2176}, {Full, 2}, {Mixed, 2}, {Empty, 32636}},
    132              {0xfffc3fff, 0x8000ffff}};
    133         /** Code Point Ranges for Brai
    134         [10240, 10495]**/
    135         const UnicodeSet brai_Ext
    136             {{{Empty, 320}, {Full, 8}, {Empty, 34488}},
    137              {}};
    138         /** Code Point Ranges for Bugi
    139         [6656, 6683], [6686, 6687], [43471, 43471]**/
    140         const UnicodeSet bugi_Ext
    141             {{{Empty, 208}, {Mixed, 1}, {Empty, 1149}, {Mixed, 1},
    142               {Empty, 33457}},
    143              {0xcfffffff, 0x00008000}};
    144         /** Code Point Ranges for Buhd
    145         [5941, 5942], [5952, 5971]**/
    146         const UnicodeSet buhd_Ext
    147             {{{Empty, 185}, {Mixed, 2}, {Empty, 34629}},
    148              {0x00600000, 0x000fffff}};
    149         /** Code Point Ranges for Cakm
    150         [2534, 2543], [4160, 4169], [69888, 69940], [69942, 69955]**/
    151         const UnicodeSet cakm_Ext
    152             {{{Empty, 79}, {Mixed, 1}, {Empty, 50}, {Mixed, 1},
    153               {Empty, 2053}, {Full, 1}, {Mixed, 2}, {Empty, 32629}},
    154              {0x0000ffc0, 0x000003ff, 0xffdfffff, 0x0000000f}};
    155         /** Code Point Ranges for Cans
    156         [5120, 5759], [6320, 6389]**/
    157         const UnicodeSet cans_Ext
    158             {{{Empty, 160}, {Full, 20}, {Empty, 17}, {Mixed, 1}, {Full, 1},
    159               {Mixed, 1}, {Empty, 34616}},
    160              {0xffff0000, 0x003fffff}};
    161         /** Code Point Ranges for Cari
    162         [66208, 66256]**/
    163         const UnicodeSet cari_Ext
    164             {{{Empty, 2069}, {Full, 1}, {Mixed, 1}, {Empty, 32745}},
    165              {0x0001ffff}};
    166         /** Code Point Ranges for Cham
    167         [43520, 43574], [43584, 43597], [43600, 43609], [43612, 43615]**/
    168         const UnicodeSet cham_Ext
    169             {{{Empty, 1360}, {Full, 1}, {Mixed, 2}, {Empty, 33453}},
    170              {0x007fffff, 0xf3ff3fff}};
    171         /** Code Point Ranges for Cher
    172         [5024, 5109], [5112, 5117], [43888, 43967]**/
    173         const UnicodeSet cher_Ext
    174             {{{Empty, 157}, {Full, 2}, {Mixed, 1}, {Empty, 1211},
    175               {Mixed, 1}, {Full, 2}, {Empty, 33442}},
    176              {0x3f3fffff, 0xffff0000}};
    177         /** Code Point Ranges for Copt
    178         [994, 1007], [11392, 11507], [11513, 11519], [66272, 66299]**/
    179         const UnicodeSet copt_Ext
    180             {{{Empty, 31}, {Mixed, 1}, {Empty, 324}, {Full, 3}, {Mixed, 1},
    181               {Empty, 1711}, {Mixed, 1}, {Empty, 32744}},
    182              {0x0000fffc, 0xfe0fffff, 0x0fffffff}};
    183         /** Code Point Ranges for Cprt
    184         [65792, 65794], [65799, 65843], [65847, 65855], [67584, 67589],
    185         [67592, 67592], [67594, 67637], [67639, 67640], [67644, 67644],
    186         [67647, 67647]**/
    187         const UnicodeSet cprt_Ext
    188             {{{Empty, 2056}, {Mixed, 2}, {Empty, 54}, {Mixed, 2},
    189               {Empty, 32702}},
    190              {0xffffff87, 0xff8fffff, 0xfffffd3f, 0x91bfffff}};
    191         /** Code Point Ranges for Cyrl
    192         [1024, 1327], [7296, 7304], [7467, 7467], [7544, 7544],
    193         [11744, 11775], [11843, 11843], [42560, 42655], [65070, 65071]**/
    194         const UnicodeSet cyrl_Ext
    195             {{{Empty, 32}, {Full, 9}, {Mixed, 1}, {Empty, 186}, {Mixed, 1},
    196               {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 131},
    197               {Full, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 959}, {Full, 3},
    198               {Empty, 700}, {Mixed, 1}, {Empty, 32782}},
    199              {0x0000ffff, 0x000001ff, 0x00000800, 0x01000000, 0x00000008,
    200               0x0000c000}};
    201         /** Code Point Ranges for Deva
    202         [2304, 2431], [7376, 7414], [7416, 7417], [8432, 8432],
    203         [43056, 43065], [43232, 43261]**/
    204         const UnicodeSet deva_Ext
    205             {{{Empty, 72}, {Full, 4}, {Empty, 154}, {Mixed, 2}, {Empty, 31},
    206               {Mixed, 1}, {Empty, 1081}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
    207               {Empty, 33464}},
    208              {0xffff0000, 0x037fffff, 0x00010000, 0x03ff0000, 0x3fffffff}};
    209         /** Code Point Ranges for Dsrt
    210         [66560, 66639]**/
    211         const UnicodeSet dsrt_Ext
    212             {{{Empty, 2080}, {Full, 2}, {Mixed, 1}, {Empty, 32733}},
    213              {0x0000ffff}};
    214         /** Code Point Ranges for Dupl
    215         [113664, 113770], [113776, 113788], [113792, 113800],
    216         [113808, 113817], [113820, 113827]**/
    217         const UnicodeSet dupl_Ext
    218             {{{Empty, 3552}, {Full, 3}, {Mixed, 3}, {Empty, 31258}},
    219              {0x1fff07ff, 0xf3ff01ff, 0x0000000f}};
    220         /** Code Point Ranges for Egyp
    221         [77824, 78894]**/
    222         const UnicodeSet egyp_Ext
    223             {{{Empty, 2432}, {Full, 33}, {Mixed, 1}, {Empty, 32350}},
    224              {0x00007fff}};
    225         /** Code Point Ranges for Elba
    226         [66816, 66855]**/
    227         const UnicodeSet elba_Ext
    228             {{{Empty, 2088}, {Full, 1}, {Mixed, 1}, {Empty, 32726}},
    229              {0x000000ff}};
    230         /** Code Point Ranges for Ethi
    231         [4608, 4680], [4682, 4685], [4688, 4694], [4696, 4696],
    232         [4698, 4701], [4704, 4744], [4746, 4749], [4752, 4784],
    233         [4786, 4789], [4792, 4798], [4800, 4800], [4802, 4805],
    234         [4808, 4822], [4824, 4880], [4882, 4885], [4888, 4954],
    235         [4957, 4988], [4992, 5017], [11648, 11670], [11680, 11686],
    236         [11688, 11694], [11696, 11702], [11704, 11710], [11712, 11718],
    237         [11720, 11726], [11728, 11734], [11736, 11742], [43777, 43782],
    238         [43785, 43790], [43793, 43798], [43808, 43814], [43816, 43822]**/
    239         const UnicodeSet ethi_Ext
    240             {{{Empty, 144}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
    241               {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 207},
    242               {Mixed, 3}, {Empty, 1001}, {Mixed, 2}, {Empty, 33446}},
    243              {0x3d7f3dff, 0xffff3dff, 0x7f3dffff, 0xff7fff3d, 0xff3dffff,
    244               0xe7ffffff, 0x1fffffff, 0x03ffffff, 0x007fffff, 0x7f7f7f7f,
    245               0x7f7f7f7f, 0x007e7e7e, 0x00007f7f}};
    246         /** Code Point Ranges for Geor
    247         [1417, 1417], [4256, 4293], [4295, 4295], [4301, 4301],
    248         [4304, 4351], [11520, 11557], [11559, 11559], [11565, 11565]**/
    249         const UnicodeSet geor_Ext
    250             {{{Empty, 44}, {Mixed, 1}, {Empty, 88}, {Full, 1}, {Mixed, 1},
    251               {Full, 1}, {Empty, 224}, {Full, 1}, {Mixed, 1},
    252               {Empty, 34454}},
    253              {0x00000200, 0xffff20bf, 0x000020bf}};
    254         /** Code Point Ranges for Glag
    255         [1156, 1156], [1159, 1159], [11264, 11310], [11312, 11358],
    256         [11843, 11843], [42607, 42607], [122880, 122886], [122888, 122904],
    257         [122907, 122913], [122915, 122916], [122918, 122922]**/
    258         const UnicodeSet glag_Ext
    259             {{{Empty, 36}, {Mixed, 1}, {Empty, 315}, {Full, 1}, {Mixed, 2},
    260               {Empty, 15}, {Mixed, 1}, {Empty, 960}, {Mixed, 1},
    261               {Empty, 2508}, {Mixed, 2}, {Empty, 30974}},
    262              {0x00000090, 0xffff7fff, 0x7fffffff, 0x00000008, 0x00008000,
    263               0xf9ffff7f, 0x000007db}};
    264         /** Code Point Ranges for Goth
    265         [66352, 66378]**/
    266         const UnicodeSet goth_Ext
    267             {{{Empty, 2073}, {Mixed, 2}, {Empty, 32741}},
    268              {0xffff0000, 0x000007ff}};
    269         /** Code Point Ranges for Gran
    270         [2385, 2386], [2404, 2405], [2986, 2986], [2997, 2997],
    271         [3046, 3058], [7376, 7376], [7378, 7379], [7410, 7412],
    272         [7416, 7417], [8432, 8432], [70400, 70403], [70405, 70412],
    273         [70415, 70416], [70419, 70440], [70442, 70448], [70450, 70451],
    274         [70453, 70457], [70460, 70468], [70471, 70472], [70475, 70477],
    275         [70480, 70480], [70487, 70487], [70493, 70499], [70502, 70508],
    276         [70512, 70516]**/
    277         const UnicodeSet gran_Ext
    278             {{{Empty, 74}, {Mixed, 2}, {Empty, 17}, {Mixed, 1}, {Empty, 1},
    279               {Mixed, 1}, {Empty, 134}, {Mixed, 2}, {Empty, 31}, {Mixed, 1},
    280               {Empty, 1936}, {Mixed, 4}, {Empty, 32612}},
    281              {0x00060000, 0x00000030, 0x00200400, 0x0007ffc0, 0x000d0000,
    282               0x031c0000, 0x00010000, 0xfff99fef, 0xf3edfdff, 0xe081399f,
    283               0x001f1fcf}};
    284         /** Code Point Ranges for Grek
    285         [834, 834], [837, 837], [880, 883], [885, 887], [890, 893],
    286         [895, 895], [900, 900], [902, 902], [904, 906], [908, 908],
    287         [910, 929], [931, 993], [1008, 1023], [7462, 7466], [7517, 7521],
    288         [7526, 7530], [7615, 7617], [7936, 7957], [7960, 7965],
    289         [7968, 8005], [8008, 8013], [8016, 8023], [8025, 8025],
    290         [8027, 8027], [8029, 8029], [8031, 8061], [8064, 8116],
    291         [8118, 8132], [8134, 8147], [8150, 8155], [8157, 8175],
    292         [8178, 8180], [8182, 8190], [8486, 8486], [43877, 43877],
    293         [65856, 65934], [65952, 65952], [119296, 119365]**/
    294         const UnicodeSet grek_Ext
    295             {{{Empty, 26}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Empty, 201},
    296               {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 9}, {Mixed, 1},
    297               {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 9},
    298               {Mixed, 1}, {Empty, 1105}, {Mixed, 1}, {Empty, 686},
    299               {Full, 2}, {Mixed, 2}, {Empty, 1666}, {Full, 2}, {Mixed, 1},
    300               {Empty, 31085}},
    301              {0x00000024, 0xbcef0000, 0xffffd750, 0xfffffffb, 0xffff0003,
    302               0x000007c0, 0xe0000000, 0x000007c3, 0x80000000, 0x00000003,
    303               0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0xffdfffff, 0xefcfffdf,
    304               0x7fdcffff, 0x00000040, 0x00000020, 0x00007fff, 0x00000001,
    305               0x0000003f}};
    306         /** Code Point Ranges for Gujr
    307         [2385, 2386], [2404, 2405], [2689, 2691], [2693, 2701],
    308         [2703, 2705], [2707, 2728], [2730, 2736], [2738, 2739],
    309         [2741, 2745], [2748, 2757], [2759, 2761], [2763, 2765],
    310         [2768, 2768], [2784, 2787], [2790, 2801], [2809, 2809],
    311         [43056, 43065]**/
    312         const UnicodeSet gujr_Ext
    313             {{{Empty, 74}, {Mixed, 2}, {Empty, 8}, {Mixed, 4},
    314               {Empty, 1257}, {Mixed, 1}, {Empty, 33470}},
    315              {0x00060000, 0x00000030, 0xfffbbfee, 0xf3edfdff, 0x00013bbf,
    316               0x0203ffcf, 0x03ff0000}};
    317         /** Code Point Ranges for Guru
    318         [2385, 2386], [2404, 2405], [2561, 2563], [2565, 2570],
    319         [2575, 2576], [2579, 2600], [2602, 2608], [2610, 2611],
    320         [2613, 2614], [2616, 2617], [2620, 2620], [2622, 2626],
    321         [2631, 2632], [2635, 2637], [2641, 2641], [2649, 2652],
    322         [2654, 2654], [2662, 2677], [43056, 43065]**/
    323         const UnicodeSet guru_Ext
    324             {{{Empty, 74}, {Mixed, 2}, {Empty, 4}, {Mixed, 4},
    325               {Empty, 1261}, {Mixed, 1}, {Empty, 33470}},
    326              {0x00060000, 0x00000030, 0xfff987ee, 0xd36dfdff, 0x5e023987,
    327               0x003fffc0, 0x03ff0000}};
    328         /** Code Point Ranges for Hang
    329         [4352, 4607], [12289, 12291], [12296, 12305], [12307, 12319],
    330         [12334, 12336], [12343, 12343], [12539, 12539], [12593, 12686],
    331         [12800, 12830], [12896, 12926], [43360, 43388], [44032, 55203],
    332         [55216, 55238], [55243, 55291], [65093, 65094], [65377, 65381],
    333         [65440, 65470], [65474, 65479], [65482, 65487], [65490, 65495],
    334         [65498, 65500]**/
    335         const UnicodeSet hang_Ext
    336             {{{Empty, 136}, {Full, 8}, {Empty, 240}, {Mixed, 2}, {Empty, 5},
    337               {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
    338               {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 951},
    339               {Mixed, 1}, {Empty, 20}, {Full, 349}, {Mixed, 3},
    340               {Empty, 306}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1},
    341               {Mixed, 2}, {Empty, 32769}},
    342              {0xfffbff0e, 0x0081c000, 0x08000000, 0xfffe0000, 0x00007fff,
    343               0x7fffffff, 0x7fffffff, 0x1fffffff, 0xffff000f, 0xfffff87f,
    344               0x0fffffff, 0x00000060, 0x0000003e, 0x7fffffff, 0x1cfcfcfc}};
    345         /** Code Point Ranges for Hani
    346         [11904, 11929], [11931, 12019], [12032, 12245], [12289, 12291],
    347         [12293, 12305], [12307, 12319], [12321, 12333], [12336, 12336],
    348         [12343, 12351], [12539, 12539], [12688, 12703], [12736, 12771],
    349         [12832, 12871], [12928, 12976], [12992, 13003], [13144, 13168],
    350         [13179, 13183], [13280, 13310], [13312, 19893], [19968, 40917],
    351         [63744, 64109], [64112, 64217], [65093, 65094], [65377, 65381],
    352         [119648, 119665], [127568, 127569], [131072, 173782],
    353         [173824, 177972], [177984, 178205], [178208, 183969],
    354         [194560, 195101]**/
    355         const UnicodeSet hani_Ext
    356             {{{Empty, 372}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 6},
    357               {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
    358               {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 1},
    359               {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 1},
    360               {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
    361               {Full, 205}, {Mixed, 1}, {Empty, 2}, {Full, 654}, {Mixed, 1},
    362               {Empty, 713}, {Full, 11}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
    363               {Empty, 27}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
    364               {Empty, 1695}, {Mixed, 1}, {Empty, 246}, {Mixed, 1},
    365               {Empty, 109}, {Full, 1334}, {Mixed, 1}, {Empty, 1},
    366               {Full, 129}, {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Full, 180},
    367               {Mixed, 1}, {Empty, 330}, {Full, 16}, {Mixed, 1},
    368               {Empty, 28719}},
    369              {0xfbffffff, 0x000fffff, 0x003fffff, 0xfffbffee, 0xff813ffe,
    370               0x08000000, 0xffff0000, 0x0000000f, 0x000000ff, 0x0001ffff,
    371               0x00000fff, 0xff000000, 0xf801ffff, 0x7fffffff, 0x003fffff,
    372               0x003fffff, 0xffff3fff, 0x03ffffff, 0x00000060, 0x0000003e,
    373               0x0003ffff, 0x00030000, 0x007fffff, 0x001fffff, 0x3fffffff,
    374               0x00000003, 0x3fffffff}};
    375         /** Code Point Ranges for Hano
    376         [5920, 5942]**/
    377         const UnicodeSet hano_Ext
    378             {{{Empty, 185}, {Mixed, 1}, {Empty, 34630}},
    379              {0x007fffff}};
    380         /** Code Point Ranges for Hatr
    381         [67808, 67826], [67828, 67829], [67835, 67839]**/
    382         const UnicodeSet hatr_Ext
    383             {{{Empty, 2119}, {Mixed, 1}, {Empty, 32696}},
    384              {0xf837ffff}};
    385         /** Code Point Ranges for Hebr
    386         [1425, 1479], [1488, 1514], [1520, 1524], [64285, 64310],
    387         [64312, 64316], [64318, 64318], [64320, 64321], [64323, 64324],
    388         [64326, 64335]**/
    389         const UnicodeSet hebr_Ext
    390             {{{Empty, 44}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1960},
    391               {Mixed, 3}, {Empty, 32805}},
    392              {0xfffe0000, 0xffff00ff, 0x001f07ff, 0xe0000000, 0x5f7fffff,
    393               0x0000ffdb}};
    394         /** Code Point Ranges for Hira
    395         [12289, 12291], [12296, 12305], [12307, 12319], [12336, 12341],
    396         [12343, 12343], [12348, 12349], [12353, 12438], [12441, 12448],
    397         [12539, 12540], [65093, 65094], [65377, 65381], [65392, 65392],
    398         [65438, 65439], [110593, 110593], [127488, 127488]**/
    399         const UnicodeSet hira_Ext
    400             {{{Empty, 384}, {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 1},
    401               {Mixed, 1}, {Empty, 1642}, {Mixed, 1}, {Empty, 8}, {Mixed, 2},
    402               {Empty, 1411}, {Mixed, 1}, {Empty, 527}, {Mixed, 1},
    403               {Empty, 30831}},
    404              {0xfffbff0e, 0x30bf0000, 0xfffffffe, 0xfe7fffff, 0x00000001,
    405               0x18000000, 0x00000060, 0x0001003e, 0xc0000000, 0x00000002,
    406               0x00000001}};
    407         /** Code Point Ranges for Hluw
    408         [82944, 83526]**/
    409         const UnicodeSet hluw_Ext
    410             {{{Empty, 2592}, {Full, 18}, {Mixed, 1}, {Empty, 32205}},
    411              {0x0000007f}};
    412         /** Code Point Ranges for Hmng
    413         [92928, 92997], [93008, 93017], [93019, 93025], [93027, 93047],
    414         [93053, 93071]**/
    415         const UnicodeSet hmng_Ext
    416             {{{Empty, 2904}, {Full, 2}, {Mixed, 3}, {Empty, 31907}},
    417              {0xfbff003f, 0xe0fffffb, 0x0000ffff}};
    418         /** Code Point Ranges for Hrkt
    419         **/
    420         const UnicodeSet hrkt_Ext
    421             {{{Empty, 34816}},
    422              {}};
    423         /** Code Point Ranges for Hung
    424         [68736, 68786], [68800, 68850], [68858, 68863]**/
    425         const UnicodeSet hung_Ext
    426             {{{Empty, 2148}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    427               {Empty, 32664}},
    428              {0x0007ffff, 0xfc07ffff}};
    429         /** Code Point Ranges for Ital
    430         [66304, 66339]**/
    431         const UnicodeSet ital_Ext
    432             {{{Empty, 2072}, {Full, 1}, {Mixed, 1}, {Empty, 32742}},
    433              {0x0000000f}};
    434         /** Code Point Ranges for Java
    435         [43392, 43469], [43471, 43481], [43486, 43487]**/
    436         const UnicodeSet java_Ext
    437             {{{Empty, 1356}, {Full, 2}, {Mixed, 1}, {Empty, 33457}},
    438              {0xc3ffbfff}};
    439         /** Code Point Ranges for Kali
    440         [43264, 43311]**/
    441         const UnicodeSet kali_Ext
    442             {{{Empty, 1352}, {Full, 1}, {Mixed, 1}, {Empty, 33462}},
    443              {0x0000ffff}};
    444         /** Code Point Ranges for Kana
    445         [12289, 12291], [12296, 12305], [12307, 12319], [12336, 12341],
    446         [12343, 12343], [12348, 12349], [12441, 12444], [12448, 12543],
    447         [12784, 12799], [13008, 13054], [13056, 13143], [65093, 65094],
    448         [65377, 65439], [110592, 110592]**/
    449         const UnicodeSet kana_Ext
    450             {{{Empty, 384}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Full, 3},
    451               {Empty, 7}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Full, 2},
    452               {Mixed, 1}, {Empty, 1623}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
    453               {Full, 1}, {Empty, 1411}, {Mixed, 1}, {Empty, 31359}},
    454              {0xfffbff0e, 0x30bf0000, 0x1e000000, 0xffff0000, 0xffff0000,
    455               0x7fffffff, 0x00ffffff, 0x00000060, 0xfffffffe, 0x00000001}};
    456         /** Code Point Ranges for Khar
    457         [68096, 68099], [68101, 68102], [68108, 68115], [68117, 68119],
    458         [68121, 68147], [68152, 68154], [68159, 68167], [68176, 68184]**/
    459         const UnicodeSet khar_Ext
    460             {{{Empty, 2128}, {Mixed, 3}, {Empty, 32685}},
    461              {0xfeeff06f, 0x870fffff, 0x01ff00ff}};
    462         /** Code Point Ranges for Khmr
    463         [6016, 6109], [6112, 6121], [6128, 6137], [6624, 6655]**/
    464         const UnicodeSet khmr_Ext
    465             {{{Empty, 188}, {Full, 2}, {Mixed, 2}, {Empty, 15}, {Full, 1},
    466               {Empty, 34608}},
    467              {0x3fffffff, 0x03ff03ff}};
    468         /** Code Point Ranges for Khoj
    469         [2790, 2799], [70144, 70161], [70163, 70206]**/
    470         const UnicodeSet khoj_Ext
    471             {{{Empty, 87}, {Mixed, 1}, {Empty, 2104}, {Mixed, 2},
    472               {Empty, 32622}},
    473              {0x0000ffc0, 0xfffbffff, 0x7fffffff}};
    474         /** Code Point Ranges for Knda
    475         [2385, 2386], [2404, 2405], [3200, 3203], [3205, 3212],
    476         [3214, 3216], [3218, 3240], [3242, 3251], [3253, 3257],
    477         [3260, 3268], [3270, 3272], [3274, 3277], [3285, 3286],
    478         [3294, 3294], [3296, 3299], [3302, 3311], [3313, 3314],
    479         [7386, 7386], [7413, 7413], [43056, 43061]**/
    480         const UnicodeSet knda_Ext
    481             {{{Empty, 74}, {Mixed, 2}, {Empty, 24}, {Mixed, 4},
    482               {Empty, 126}, {Mixed, 2}, {Empty, 1113}, {Mixed, 1},
    483               {Empty, 33470}},
    484              {0x00060000, 0x00000030, 0xfffddfef, 0xf3effdff, 0x40603ddf,
    485               0x0006ffcf, 0x04000000, 0x00200000, 0x003f0000}};
    486         /** Code Point Ranges for Kthi
    487         [2406, 2415], [43056, 43065], [69760, 69825]**/
    488         const UnicodeSet kthi_Ext
    489             {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
    490               {Empty, 834}, {Full, 2}, {Mixed, 1}, {Empty, 32633}},
    491              {0x0000ffc0, 0x03ff0000, 0x00000003}};
    492         /** Code Point Ranges for Lana
    493         [6688, 6750], [6752, 6780], [6783, 6793], [6800, 6809],
    494         [6816, 6829]**/
    495         const UnicodeSet lana_Ext
    496             {{{Empty, 209}, {Full, 1}, {Mixed, 4}, {Empty, 34602}},
    497              {0x7fffffff, 0x9fffffff, 0x03ff03ff, 0x00003fff}};
    498         /** Code Point Ranges for Laoo
    499         [3713, 3714], [3716, 3716], [3719, 3720], [3722, 3722],
    500         [3725, 3725], [3732, 3735], [3737, 3743], [3745, 3747],
    501         [3749, 3749], [3751, 3751], [3754, 3755], [3757, 3769],
    502         [3771, 3773], [3776, 3780], [3782, 3782], [3784, 3789],
    503         [3792, 3801], [3804, 3807]**/
    504         const UnicodeSet laoo_Ext
    505             {{{Empty, 116}, {Mixed, 3}, {Empty, 34697}},
    506              {0xfef02596, 0x3bffecae, 0xf3ff3f5f}};
    507         /** Code Point Ranges for Latn
    508         [65, 90], [97, 122], [170, 170], [186, 186], [192, 214], [216, 246],
    509         [248, 696], [736, 740], [867, 879], [1157, 1158], [2385, 2386],
    510         [4347, 4347], [7424, 7461], [7468, 7516], [7522, 7525],
    511         [7531, 7543], [7545, 7614], [7680, 7935], [8305, 8305],
    512         [8319, 8319], [8336, 8348], [8432, 8432], [8490, 8491],
    513         [8498, 8498], [8526, 8526], [8544, 8584], [11360, 11391],
    514         [42786, 42887], [42891, 42926], [42928, 42935], [42999, 43007],
    515         [43310, 43310], [43824, 43866], [43868, 43876], [64256, 64262],
    516         [65313, 65338], [65345, 65370]**/
    517         const UnicodeSet latn_Ext
    518             {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 13},
    519               {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
    520               {Empty, 8}, {Mixed, 1}, {Empty, 37}, {Mixed, 1}, {Empty, 60},
    521               {Mixed, 1}, {Empty, 96}, {Full, 1}, {Mixed, 3}, {Full, 1},
    522               {Mixed, 1}, {Empty, 2}, {Full, 8}, {Empty, 11}, {Mixed, 2},
    523               {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 1},
    524               {Mixed, 1}, {Empty, 86}, {Full, 1}, {Empty, 981}, {Mixed, 1},
    525               {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 9},
    526               {Mixed, 1}, {Empty, 15}, {Mixed, 3}, {Empty, 636}, {Mixed, 1},
    527               {Empty, 32}, {Mixed, 2}, {Empty, 32773}},
    528              {0x07fffffe, 0x07fffffe, 0x04000400, 0xff7fffff, 0xff7fffff,
    529               0x01ffffff, 0x0000001f, 0x0000fff8, 0x00000060, 0x00060000,
    530               0x08000000, 0xfffff03f, 0x1fffffff, 0xfefff83c, 0x7fffffff,
    531               0x80020000, 0x1fff0000, 0x00010000, 0x00040c00, 0x00004000,
    532               0x000001ff, 0xfffffffc, 0xfffff8ff, 0x00ff7fff, 0xff800000,
    533               0x00004000, 0xffff0000, 0xf7ffffff, 0x0000001f, 0x0000007f,
    534               0x07fffffe, 0x07fffffe}};
    535         /** Code Point Ranges for Lepc
    536         [7168, 7223], [7227, 7241], [7245, 7247]**/
    537         const UnicodeSet lepc_Ext
    538             {{{Empty, 224}, {Full, 1}, {Mixed, 2}, {Empty, 34589}},
    539              {0xf8ffffff, 0x0000e3ff}};
    540         /** Code Point Ranges for Limb
    541         [2405, 2405], [6400, 6430], [6432, 6443], [6448, 6459],
    542         [6464, 6464], [6468, 6479]**/
    543         const UnicodeSet limb_Ext
    544             {{{Empty, 75}, {Mixed, 1}, {Empty, 124}, {Mixed, 3},
    545               {Empty, 34613}},
    546              {0x00000020, 0x7fffffff, 0x0fff0fff, 0x0000fff1}};
    547         /** Code Point Ranges for Lina
    548         [65799, 65843], [67072, 67382], [67392, 67413], [67424, 67431]**/
    549         const UnicodeSet lina_Ext
    550             {{{Empty, 2056}, {Mixed, 2}, {Empty, 38}, {Full, 9}, {Mixed, 3},
    551               {Empty, 32708}},
    552              {0xffffff80, 0x000fffff, 0x007fffff, 0x003fffff, 0x000000ff}};
    553         /** Code Point Ranges for Linb
    554         [65536, 65547], [65549, 65574], [65576, 65594], [65596, 65597],
    555         [65599, 65613], [65616, 65629], [65664, 65786], [65792, 65794],
    556         [65799, 65843], [65847, 65855]**/
    557         const UnicodeSet linb_Ext
    558             {{{Empty, 2048}, {Mixed, 3}, {Empty, 1}, {Full, 3}, {Mixed, 3},
    559               {Empty, 32758}},
    560              {0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0xffffff87,
    561               0xff8fffff}};
    562         /** Code Point Ranges for Lisu
    563         [42192, 42239]**/
    564         const UnicodeSet lisu_Ext
    565             {{{Empty, 1318}, {Mixed, 1}, {Full, 1}, {Empty, 33496}},
    566              {0xffff0000}};
    567         /** Code Point Ranges for Lyci
    568         [66176, 66204]**/
    569         const UnicodeSet lyci_Ext
    570             {{{Empty, 2068}, {Mixed, 1}, {Empty, 32747}},
    571              {0x1fffffff}};
    572         /** Code Point Ranges for Lydi
    573         [67872, 67897], [67903, 67903]**/
    574         const UnicodeSet lydi_Ext
    575             {{{Empty, 2121}, {Mixed, 1}, {Empty, 32694}},
    576              {0x83ffffff}};
    577         /** Code Point Ranges for Mahj
    578         [2404, 2415], [43056, 43065], [69968, 70006]**/
    579         const UnicodeSet mahj_Ext
    580             {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
    581               {Empty, 840}, {Mixed, 2}, {Empty, 32628}},
    582              {0x0000fff0, 0x03ff0000, 0xffff0000, 0x007fffff}};
    583         /** Code Point Ranges for Mand
    584         [1600, 1600], [2112, 2139], [2142, 2142]**/
    585         const UnicodeSet mand_Ext
    586             {{{Empty, 50}, {Mixed, 1}, {Empty, 15}, {Mixed, 1},
    587               {Empty, 34749}},
    588              {0x00000001, 0x4fffffff}};
    589         /** Code Point Ranges for Mani
    590         [1600, 1600], [68288, 68326], [68331, 68342]**/
    591         const UnicodeSet mani_Ext
    592             {{{Empty, 50}, {Mixed, 1}, {Empty, 2083}, {Full, 1}, {Mixed, 1},
    593               {Empty, 32680}},
    594              {0x00000001, 0x007ff87f}};
    595         /** Code Point Ranges for Marc
    596         [72816, 72847], [72850, 72871], [72873, 72886]**/
    597         const UnicodeSet marc_Ext
    598             {{{Empty, 2275}, {Mixed, 3}, {Empty, 32538}},
    599              {0xffff0000, 0xfffcffff, 0x007ffeff}};
    600         /** Code Point Ranges for Mend
    601         [124928, 125124], [125127, 125142]**/
    602         const UnicodeSet mend_Ext
    603             {{{Empty, 3904}, {Full, 6}, {Mixed, 1}, {Empty, 30905}},
    604              {0x007fff9f}};
    605         /** Code Point Ranges for Merc
    606         [68000, 68023], [68028, 68047], [68050, 68095]**/
    607         const UnicodeSet merc_Ext
    608             {{{Empty, 2125}, {Mixed, 2}, {Full, 1}, {Empty, 32688}},
    609              {0xf0ffffff, 0xfffcffff}};
    610         /** Code Point Ranges for Mero
    611         [67968, 67999]**/
    612         const UnicodeSet mero_Ext
    613             {{{Empty, 2124}, {Full, 1}, {Empty, 32691}},
    614              {}};
    615         /** Code Point Ranges for Mlym
    616         [2385, 2386], [2404, 2405], [3329, 3331], [3333, 3340],
    617         [3342, 3344], [3346, 3386], [3389, 3396], [3398, 3400],
    618         [3402, 3407], [3412, 3427], [3430, 3455], [7386, 7386]**/
    619         const UnicodeSet mlym_Ext
    620             {{{Empty, 74}, {Mixed, 2}, {Empty, 28}, {Mixed, 4},
    621               {Empty, 122}, {Mixed, 1}, {Empty, 34585}},
    622              {0x00060000, 0x00000030, 0xfffddfee, 0xe7ffffff, 0xfff0fddf,
    623               0xffffffcf, 0x04000000}};
    624         /** Code Point Ranges for Modi
    625         [43056, 43065], [71168, 71236], [71248, 71257]**/
    626         const UnicodeSet modi_Ext
    627             {{{Empty, 1345}, {Mixed, 1}, {Empty, 878}, {Full, 2},
    628               {Mixed, 1}, {Empty, 32589}},
    629              {0x03ff0000, 0x03ff001f}};
    630         /** Code Point Ranges for Mong
    631         [6144, 6158], [6160, 6169], [6176, 6263], [6272, 6314],
    632         [71264, 71276]**/
    633         const UnicodeSet mong_Ext
    634             {{{Empty, 192}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 1},
    635               {Mixed, 1}, {Empty, 2029}, {Mixed, 1}, {Empty, 32588}},
    636              {0x03ff7fff, 0x00ffffff, 0x000007ff, 0x00001fff}};
    637         /** Code Point Ranges for Mroo
    638         [92736, 92766], [92768, 92777], [92782, 92783]**/
    639         const UnicodeSet mroo_Ext
    640             {{{Empty, 2898}, {Mixed, 2}, {Empty, 31916}},
    641              {0x7fffffff, 0x0000c3ff}};
    642         /** Code Point Ranges for Mtei
    643         [43744, 43766], [43968, 44013], [44016, 44025]**/
    644         const UnicodeSet mtei_Ext
    645             {{{Empty, 1367}, {Mixed, 1}, {Empty, 6}, {Full, 1}, {Mixed, 1},
    646               {Empty, 33440}},
    647              {0x007fffff, 0x03ff3fff}};
    648         /** Code Point Ranges for Mult
    649         [2662, 2671], [70272, 70278], [70280, 70280], [70282, 70285],
    650         [70287, 70301], [70303, 70313]**/
    651         const UnicodeSet mult_Ext
    652             {{{Empty, 83}, {Mixed, 1}, {Empty, 2112}, {Mixed, 2},
    653               {Empty, 32618}},
    654              {0x0000ffc0, 0xbfffbd7f, 0x000003ff}};
    655         /** Code Point Ranges for Mymr
    656         [4096, 4255], [43310, 43310], [43488, 43518], [43616, 43647]**/
    657         const UnicodeSet mymr_Ext
    658             {{{Empty, 128}, {Full, 5}, {Empty, 1220}, {Mixed, 1},
    659               {Empty, 5}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Empty, 33452}},
    660              {0x00004000, 0x7fffffff}};
    661         /** Code Point Ranges for Narb
    662         [68224, 68255]**/
    663         const UnicodeSet narb_Ext
    664             {{{Empty, 2132}, {Full, 1}, {Empty, 32683}},
    665              {}};
    666         /** Code Point Ranges for Nbat
    667         [67712, 67742], [67751, 67759]**/
    668         const UnicodeSet nbat_Ext
    669             {{{Empty, 2116}, {Mixed, 2}, {Empty, 32698}},
    670              {0x7fffffff, 0x0000ff80}};
    671         /** Code Point Ranges for Newa
    672         [70656, 70745], [70747, 70747], [70749, 70749]**/
    673         const UnicodeSet newa_Ext
    674             {{{Empty, 2208}, {Full, 2}, {Mixed, 1}, {Empty, 32605}},
    675              {0x2bffffff}};
    676         /** Code Point Ranges for Nkoo
    677         [1984, 2042]**/
    678         const UnicodeSet nkoo_Ext
    679             {{{Empty, 62}, {Full, 1}, {Mixed, 1}, {Empty, 34752}},
    680              {0x07ffffff}};
    681         /** Code Point Ranges for Ogam
    682         [5760, 5788]**/
    683         const UnicodeSet ogam_Ext
    684             {{{Empty, 180}, {Mixed, 1}, {Empty, 34635}},
    685              {0x1fffffff}};
    686         /** Code Point Ranges for Olck
    687         [7248, 7295]**/
    688         const UnicodeSet olck_Ext
    689             {{{Empty, 226}, {Mixed, 1}, {Full, 1}, {Empty, 34588}},
    690              {0xffff0000}};
    691         /** Code Point Ranges for Orkh
    692         [68608, 68680]**/
    693         const UnicodeSet orkh_Ext
    694             {{{Empty, 2144}, {Full, 2}, {Mixed, 1}, {Empty, 32669}},
    695              {0x000001ff}};
    696         /** Code Point Ranges for Orya
    697         [2385, 2386], [2404, 2405], [2817, 2819], [2821, 2828],
    698         [2831, 2832], [2835, 2856], [2858, 2864], [2866, 2867],
    699         [2869, 2873], [2876, 2884], [2887, 2888], [2891, 2893],
    700         [2902, 2903], [2908, 2909], [2911, 2915], [2918, 2935]**/
    701         const UnicodeSet orya_Ext
    702             {{{Empty, 74}, {Mixed, 2}, {Empty, 12}, {Mixed, 4},
    703               {Empty, 34724}},
    704              {0x00060000, 0x00000030, 0xfff99fee, 0xf3edfdff, 0xb0c0399f,
    705               0x00ffffcf}};
    706         /** Code Point Ranges for Osge
    707         [66736, 66771], [66776, 66811]**/
    708         const UnicodeSet osge_Ext
    709             {{{Empty, 2085}, {Mixed, 3}, {Empty, 32728}},
    710              {0xffff0000, 0xff0fffff, 0x0fffffff}};
    711         /** Code Point Ranges for Osma
    712         [66688, 66717], [66720, 66729]**/
    713         const UnicodeSet osma_Ext
    714             {{{Empty, 2084}, {Mixed, 2}, {Empty, 32730}},
    715              {0x3fffffff, 0x000003ff}};
    716         /** Code Point Ranges for Palm
    717         [67680, 67711]**/
    718         const UnicodeSet palm_Ext
    719             {{{Empty, 2115}, {Full, 1}, {Empty, 32700}},
    720              {}};
    721         /** Code Point Ranges for Pauc
    722         [72384, 72440]**/
    723         const UnicodeSet pauc_Ext
    724             {{{Empty, 2262}, {Full, 1}, {Mixed, 1}, {Empty, 32552}},
    725              {0x01ffffff}};
    726         /** Code Point Ranges for Perm
    727         [1155, 1155], [66384, 66426]**/
    728         const UnicodeSet perm_Ext
    729             {{{Empty, 36}, {Mixed, 1}, {Empty, 2037}, {Mixed, 2},
    730               {Empty, 32740}},
    731              {0x00000008, 0xffff0000, 0x07ffffff}};
    732         /** Code Point Ranges for Phag
    733         [6146, 6147], [6149, 6149], [43072, 43127]**/
    734         const UnicodeSet phag_Ext
    735             {{{Empty, 192}, {Mixed, 1}, {Empty, 1153}, {Full, 1},
    736               {Mixed, 1}, {Empty, 33468}},
    737              {0x0000002c, 0x00ffffff}};
    738         /** Code Point Ranges for Phli
    739         [68448, 68466], [68472, 68479]**/
    740         const UnicodeSet phli_Ext
    741             {{{Empty, 2139}, {Mixed, 1}, {Empty, 32676}},
    742              {0xff07ffff}};
    743         /** Code Point Ranges for Phlp
    744         [1600, 1600], [68480, 68497], [68505, 68508], [68521, 68527]**/
    745         const UnicodeSet phlp_Ext
    746             {{{Empty, 50}, {Mixed, 1}, {Empty, 2089}, {Mixed, 2},
    747               {Empty, 32674}},
    748              {0x00000001, 0x1e03ffff, 0x0000fe00}};
    749         /** Code Point Ranges for Phnx
    750         [67840, 67867], [67871, 67871]**/
    751         const UnicodeSet phnx_Ext
    752             {{{Empty, 2120}, {Mixed, 1}, {Empty, 32695}},
    753              {0x8fffffff}};
    754         /** Code Point Ranges for Plrd
    755         [93952, 94020], [94032, 94078], [94095, 94111]**/
    756         const UnicodeSet plrd_Ext
    757             {{{Empty, 2936}, {Full, 2}, {Mixed, 3}, {Empty, 31875}},
    758              {0xffff001f, 0x7fffffff, 0xffff8000}};
    759         /** Code Point Ranges for Prti
    760         [68416, 68437], [68440, 68447]**/
    761         const UnicodeSet prti_Ext
    762             {{{Empty, 2138}, {Mixed, 1}, {Empty, 32677}},
    763              {0xff3fffff}};
    764         /** Code Point Ranges for Rjng
    765         [43312, 43347], [43359, 43359]**/
    766         const UnicodeSet rjng_Ext
    767             {{{Empty, 1353}, {Mixed, 2}, {Empty, 33461}},
    768              {0xffff0000, 0x800fffff}};
    769         /** Code Point Ranges for Runr
    770         [5792, 5866], [5870, 5880]**/
    771         const UnicodeSet runr_Ext
    772             {{{Empty, 181}, {Full, 2}, {Mixed, 1}, {Empty, 34632}},
    773              {0x01ffc7ff}};
    774         /** Code Point Ranges for Samr
    775         [2048, 2093], [2096, 2110]**/
    776         const UnicodeSet samr_Ext
    777             {{{Empty, 64}, {Full, 1}, {Mixed, 1}, {Empty, 34750}},
    778              {0x7fff3fff}};
    779         /** Code Point Ranges for Sarb
    780         [68192, 68223]**/
    781         const UnicodeSet sarb_Ext
    782             {{{Empty, 2131}, {Full, 1}, {Empty, 32684}},
    783              {}};
    784         /** Code Point Ranges for Saur
    785         [43136, 43205], [43214, 43225]**/
    786         const UnicodeSet saur_Ext
    787             {{{Empty, 1348}, {Full, 2}, {Mixed, 1}, {Empty, 33465}},
    788              {0x03ffc03f}};
    789         /** Code Point Ranges for Sgnw
    790         [120832, 121483], [121499, 121503], [121505, 121519]**/
    791         const UnicodeSet sgnw_Ext
    792             {{{Empty, 3776}, {Full, 20}, {Mixed, 2}, {Empty, 31018}},
    793              {0xf8000fff, 0x0000fffe}};
    794         /** Code Point Ranges for Shaw
    795         [66640, 66687]**/
    796         const UnicodeSet shaw_Ext
    797             {{{Empty, 2082}, {Mixed, 1}, {Full, 1}, {Empty, 32732}},
    798              {0xffff0000}};
    799         /** Code Point Ranges for Shrd
    800         [2385, 2385], [7383, 7383], [7385, 7385], [7388, 7389],
    801         [7392, 7392], [70016, 70093], [70096, 70111]**/
    802         const UnicodeSet shrd_Ext
    803             {{{Empty, 74}, {Mixed, 1}, {Empty, 155}, {Mixed, 2},
    804               {Empty, 1956}, {Full, 2}, {Mixed, 1}, {Empty, 32625}},
    805              {0x00020000, 0x32800000, 0x00000001, 0xffff3fff}};
    806         /** Code Point Ranges for Sidd
    807         [71040, 71093], [71096, 71133]**/
    808         const UnicodeSet sidd_Ext
    809             {{{Empty, 2220}, {Full, 1}, {Mixed, 2}, {Empty, 32593}},
    810              {0xff3fffff, 0x3fffffff}};
    811         /** Code Point Ranges for Sind
    812         [2404, 2405], [43056, 43065], [70320, 70378], [70384, 70393]**/
    813         const UnicodeSet sind_Ext
    814             {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
    815               {Empty, 851}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    816               {Empty, 32616}},
    817              {0x00000030, 0x03ff0000, 0xffff0000, 0x03ff07ff}};
    818         /** Code Point Ranges for Sinh
    819         [2404, 2405], [3458, 3459], [3461, 3478], [3482, 3505],
    820         [3507, 3515], [3517, 3517], [3520, 3526], [3530, 3530],
    821         [3535, 3540], [3542, 3542], [3544, 3551], [3558, 3567],
    822         [3570, 3572], [70113, 70132]**/
    823         const UnicodeSet sinh_Ext
    824             {{{Empty, 75}, {Mixed, 1}, {Empty, 32}, {Mixed, 4},
    825               {Empty, 2079}, {Mixed, 1}, {Empty, 32624}},
    826              {0x00000030, 0xfc7fffec, 0x2ffbffff, 0xff5f847f, 0x001cffc0,
    827               0x001ffffe}};
    828         /** Code Point Ranges for Sora
    829         [69840, 69864], [69872, 69881]**/
    830         const UnicodeSet sora_Ext
    831             {{{Empty, 2182}, {Mixed, 2}, {Empty, 32632}},
    832              {0xffff0000, 0x03ff01ff}};
    833         /** Code Point Ranges for Sund
    834         [7040, 7103], [7360, 7367]**/
    835         const UnicodeSet sund_Ext
    836             {{{Empty, 220}, {Full, 2}, {Empty, 8}, {Mixed, 1},
    837               {Empty, 34585}},
    838              {0x000000ff}};
    839         /** Code Point Ranges for Sylo
    840         [2404, 2405], [2534, 2543], [43008, 43051]**/
    841         const UnicodeSet sylo_Ext
    842             {{{Empty, 75}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
    843               {Empty, 1264}, {Full, 1}, {Mixed, 1}, {Empty, 33470}},
    844              {0x00000030, 0x0000ffc0, 0x00000fff}};
    845         /** Code Point Ranges for Syrc
    846         [1548, 1548], [1563, 1563], [1567, 1567], [1600, 1600],
    847         [1611, 1621], [1648, 1648], [1792, 1805], [1807, 1866],
    848         [1869, 1871]**/
    849         const UnicodeSet syrc_Ext
    850             {{{Empty, 48}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
    851               {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 34757}},
    852              {0x88001000, 0x003ff801, 0x00010000, 0xffffbfff, 0x0000e7ff}};
    853         /** Code Point Ranges for Tagb
    854         [5941, 5942], [5984, 5996], [5998, 6000], [6002, 6003]**/
    855         const UnicodeSet tagb_Ext
    856             {{{Empty, 185}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
    857               {Empty, 34628}},
    858              {0x00600000, 0x000ddfff}};
    859         /** Code Point Ranges for Takr
    860         [2404, 2405], [43056, 43065], [71296, 71351], [71360, 71369]**/
    861         const UnicodeSet takr_Ext
    862             {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
    863               {Empty, 882}, {Full, 1}, {Mixed, 2}, {Empty, 32585}},
    864              {0x00000030, 0x03ff0000, 0x00ffffff, 0x000003ff}};
    865         /** Code Point Ranges for Tale
    866         [4160, 4169], [6480, 6509], [6512, 6516]**/
    867         const UnicodeSet tale_Ext
    868             {{{Empty, 130}, {Mixed, 1}, {Empty, 71}, {Mixed, 2},
    869               {Empty, 34612}},
    870              {0x000003ff, 0xffff0000, 0x001f3fff}};
    871         /** Code Point Ranges for Talu
    872         [6528, 6571], [6576, 6601], [6608, 6618], [6622, 6623]**/
    873         const UnicodeSet talu_Ext
    874             {{{Empty, 204}, {Full, 1}, {Mixed, 2}, {Empty, 34609}},
    875              {0xffff0fff, 0xc7ff03ff}};
    876         /** Code Point Ranges for Taml
    877         [2385, 2386], [2404, 2405], [2946, 2947], [2949, 2954],
    878         [2958, 2960], [2962, 2965], [2969, 2970], [2972, 2972],
    879         [2974, 2975], [2979, 2980], [2984, 2986], [2990, 3001],
    880         [3006, 3010], [3014, 3016], [3018, 3021], [3024, 3024],
    881         [3031, 3031], [3046, 3066], [7386, 7386], [43251, 43251],
    882         [70403, 70403], [70460, 70460]**/
    883         const UnicodeSet taml_Ext
    884             {{{Empty, 74}, {Mixed, 2}, {Empty, 16}, {Mixed, 4},
    885               {Empty, 134}, {Mixed, 1}, {Empty, 1120}, {Mixed, 1},
    886               {Empty, 848}, {Mixed, 2}, {Empty, 32614}},
    887              {0x00060000, 0x00000030, 0xd63dc7ec, 0xc3ffc718, 0x00813dc7,
    888               0x07ffffc0, 0x04000000, 0x00080000, 0x00000008, 0x10000000}};
    889         /** Code Point Ranges for Tang
    890         [94176, 94176], [94208, 100332], [100352, 101106]**/
    891         const UnicodeSet tang_Ext
    892             {{{Empty, 2943}, {Mixed, 1}, {Full, 191}, {Mixed, 1},
    893               {Full, 23}, {Mixed, 1}, {Empty, 31656}},
    894              {0x00000001, 0x00001fff, 0x0007ffff}};
    895         /** Code Point Ranges for Tavt
    896         [43648, 43714], [43739, 43743]**/
    897         const UnicodeSet tavt_Ext
    898             {{{Empty, 1364}, {Full, 2}, {Mixed, 1}, {Empty, 33449}},
    899              {0xf8000007}};
    900         /** Code Point Ranges for Telu
    901         [2385, 2386], [2404, 2405], [3072, 3075], [3077, 3084],
    902         [3086, 3088], [3090, 3112], [3114, 3129], [3133, 3140],
    903         [3142, 3144], [3146, 3149], [3157, 3158], [3160, 3162],
    904         [3168, 3171], [3174, 3183], [3192, 3199], [7386, 7386]**/
    905         const UnicodeSet telu_Ext
    906             {{{Empty, 74}, {Mixed, 2}, {Empty, 20}, {Mixed, 4},
    907               {Empty, 130}, {Mixed, 1}, {Empty, 34585}},
    908              {0x00060000, 0x00000030, 0xfffddfef, 0xe3fffdff, 0x07603ddf,
    909               0xff00ffcf, 0x04000000}};
    910         /** Code Point Ranges for Tfng
    911         [11568, 11623], [11631, 11632], [11647, 11647]**/
    912         const UnicodeSet tfng_Ext
    913             {{{Empty, 361}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    914               {Empty, 34452}},
    915              {0xffff0000, 0x800180ff}};
    916         /** Code Point Ranges for Tglg
    917         [5888, 5900], [5902, 5908], [5941, 5942]**/
    918         const UnicodeSet tglg_Ext
    919             {{{Empty, 184}, {Mixed, 2}, {Empty, 34630}},
    920              {0x001fdfff, 0x00600000}};
    921         /** Code Point Ranges for Thaa
    922         [1548, 1548], [1563, 1563], [1567, 1567], [1632, 1641],
    923         [1920, 1969], [65010, 65010], [65021, 65021]**/
    924         const UnicodeSet thaa_Ext
    925             {{{Empty, 48}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
    926               {Full, 1}, {Mixed, 1}, {Empty, 1969}, {Mixed, 1},
    927               {Empty, 32784}},
    928              {0x88001000, 0x000003ff, 0x0003ffff, 0x20040000}};
    929         /** Code Point Ranges for Thai
    930         [3585, 3642], [3648, 3675]**/
    931         const UnicodeSet thai_Ext
    932             {{{Empty, 112}, {Mixed, 3}, {Empty, 34701}},
    933              {0xfffffffe, 0x07ffffff, 0x0fffffff}};
    934         /** Code Point Ranges for Tibt
    935         [3840, 3911], [3913, 3948], [3953, 3991], [3993, 4028],
    936         [4030, 4044], [4046, 4052], [4057, 4058]**/
    937         const UnicodeSet tibt_Ext
    938             {{{Empty, 120}, {Full, 2}, {Mixed, 5}, {Empty, 34689}},
    939              {0xfffffeff, 0xfffe1fff, 0xfeffffff, 0xdfffffff, 0x061fdfff}};
    940         /** Code Point Ranges for Tirh
    941         [2404, 2405], [43056, 43065], [70784, 70855], [70864, 70873]**/
    942         const UnicodeSet tirh_Ext
    943             {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
    944               {Empty, 866}, {Full, 2}, {Mixed, 1}, {Empty, 32601}},
    945              {0x00000030, 0x03ff0000, 0x03ff00ff}};
    946         /** Code Point Ranges for Ugar
    947         [66432, 66461], [66463, 66463]**/
    948         const UnicodeSet ugar_Ext
    949             {{{Empty, 2076}, {Mixed, 1}, {Empty, 32739}},
    950              {0xbfffffff}};
    951         /** Code Point Ranges for Vaii
    952         [42240, 42539]**/
    953         const UnicodeSet vaii_Ext
    954             {{{Empty, 1320}, {Full, 9}, {Mixed, 1}, {Empty, 33486}},
    955              {0x00000fff}};
    956         /** Code Point Ranges for Wara
    957         [71840, 71922], [71935, 71935]**/
    958         const UnicodeSet wara_Ext
    959             {{{Empty, 2245}, {Full, 2}, {Mixed, 1}, {Empty, 32568}},
    960              {0x8007ffff}};
    961         /** Code Point Ranges for Xpeo
    962         [66464, 66499], [66504, 66517]**/
    963         const UnicodeSet xpeo_Ext
    964             {{{Empty, 2077}, {Full, 1}, {Mixed, 1}, {Empty, 32737}},
    965              {0x003fff0f}};
    966         /** Code Point Ranges for Xsux
    967         [73728, 74649], [74752, 74862], [74864, 74868], [74880, 75075]**/
    968         const UnicodeSet xsux_Ext
    969             {{{Empty, 2304}, {Full, 28}, {Mixed, 1}, {Empty, 3}, {Full, 3},
    970               {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 32469}},
    971              {0x03ffffff, 0x001f7fff, 0x0000000f}};
    972         /** Code Point Ranges for Yiii
    973         [12289, 12290], [12296, 12305], [12308, 12315], [12539, 12539],
    974         [40960, 42124], [42128, 42182], [65377, 65381]**/
    975         const UnicodeSet yiii_Ext
    976             {{{Empty, 384}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
    977               {Empty, 888}, {Full, 36}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    978               {Empty, 724}, {Mixed, 1}, {Empty, 32772}},
    979              {0x0ff3ff06, 0x08000000, 0xffff1fff, 0x0000007f, 0x0000003e}};
    980         /** Code Point Ranges for Zinh
    981         [768, 879], [1157, 1158], [1611, 1621], [1648, 1648], [2385, 2386],
    982         [6832, 6846], [7376, 7378], [7380, 7392], [7394, 7400],
    983         [7405, 7405], [7412, 7412], [7416, 7417], [7616, 7669],
    984         [7675, 7679], [8204, 8205], [8400, 8432], [12330, 12333],
    985         [12441, 12442], [65024, 65039], [65056, 65069], [66045, 66045],
    986         [66272, 66272], [119143, 119145], [119163, 119170],
    987         [119173, 119179], [119210, 119213], [917760, 917999]**/
    988         const UnicodeSet zinh_Ext
    989             {{{Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
    990               {Empty, 13}, {Mixed, 2}, {Empty, 22}, {Mixed, 1},
    991               {Empty, 138}, {Mixed, 1}, {Empty, 16}, {Mixed, 2}, {Empty, 6},
    992               {Full, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 5},
    993               {Mixed, 2}, {Empty, 121}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
    994               {Empty, 1643}, {Mixed, 2}, {Empty, 29}, {Mixed, 1},
    995               {Empty, 7}, {Mixed, 1}, {Empty, 1651}, {Mixed, 3},
    996               {Empty, 24954}, {Full, 7}, {Mixed, 1}, {Empty, 6128}},
    997              {0x0000ffff, 0x00000060, 0x003ff800, 0x00010000, 0x00060000,
    998               0x7fff0000, 0xfff70000, 0x031021fd, 0xf83fffff, 0x00003000,
    999               0xffff0000, 0x0001ffff, 0x00003c00, 0x06000000, 0x0000ffff,
    1000               0x00003fff, 0x20000000, 0x00000001, 0xf8000380, 0x00000fe7,
    1001               0x00003c00, 0x0000ffff}};
    1002         /** Code Point Ranges for Zyyy
    1003         [0, 64], [91, 96], [123, 169], [171, 185], [187, 191], [215, 215],
    1004         [247, 247], [697, 735], [741, 745], [748, 767], [884, 884],
    1005         [894, 894], [901, 901], [903, 903], [1417, 1417], [1541, 1541],
    1006         [1548, 1548], [1563, 1564], [1567, 1567], [1600, 1600],
    1007         [1757, 1757], [2274, 2274], [2404, 2405], [3647, 3647],
    1008         [4053, 4056], [4347, 4347], [5867, 5869], [5941, 5942],
    1009         [6146, 6147], [6149, 6149], [7379, 7379], [7393, 7393],
    1010         [7401, 7404], [7406, 7411], [7413, 7414], [8192, 8203],
    1011         [8206, 8292], [8294, 8304], [8308, 8318], [8320, 8334],
    1012         [8352, 8382], [8448, 8485], [8487, 8489], [8492, 8497],
    1013         [8499, 8525], [8527, 8543], [8585, 8587], [8592, 9214],
    1014         [9216, 9254], [9280, 9290], [9312, 10239], [10496, 11123],
    1015         [11126, 11157], [11160, 11193], [11197, 11208], [11210, 11217],
    1016         [11244, 11247], [11776, 11844], [12272, 12283], [12288, 12292],
    1017         [12294, 12294], [12296, 12320], [12336, 12343], [12348, 12351],
    1018         [12443, 12444], [12448, 12448], [12539, 12540], [12688, 12703],
    1019         [12736, 12771], [12832, 12895], [12927, 13007], [13144, 13311],
    1020         [19904, 19967], [42752, 42785], [42888, 42890], [43056, 43065],
    1021         [43310, 43310], [43471, 43471], [43867, 43867], [64830, 64831],
    1022         [65040, 65049], [65072, 65106], [65108, 65126], [65128, 65131],
    1023         [65279, 65279], [65281, 65312], [65339, 65344], [65371, 65381],
    1024         [65392, 65392], [65438, 65439], [65504, 65510], [65512, 65518],
    1025         [65529, 65533], [65792, 65794], [65799, 65843], [65847, 65855],
    1026         [65936, 65947], [66000, 66044], [66273, 66299], [113824, 113827],
    1027         [118784, 119029], [119040, 119078], [119081, 119142],
    1028         [119146, 119162], [119171, 119172], [119180, 119209],
    1029         [119214, 119272], [119552, 119638], [119648, 119665],
    1030         [119808, 119892], [119894, 119964], [119966, 119967],
    1031         [119970, 119970], [119973, 119974], [119977, 119980],
    1032         [119982, 119993], [119995, 119995], [119997, 120003],
    1033         [120005, 120069], [120071, 120074], [120077, 120084],
    1034         [120086, 120092], [120094, 120121], [120123, 120126],
    1035         [120128, 120132], [120134, 120134], [120138, 120144],
    1036         [120146, 120485], [120488, 120779], [120782, 120831],
    1037         [126976, 127019], [127024, 127123], [127136, 127150],
    1038         [127153, 127167], [127169, 127183], [127185, 127221],
    1039         [127232, 127244], [127248, 127278], [127280, 127339],
    1040         [127344, 127404], [127462, 127487], [127489, 127490],
    1041         [127504, 127547], [127552, 127560], [127568, 127569],
    1042         [127744, 128722], [128736, 128748], [128752, 128758],
    1043         [128768, 128883], [128896, 128980], [129024, 129035],
    1044         [129040, 129095], [129104, 129113], [129120, 129159],
    1045         [129168, 129197], [129296, 129310], [129312, 129319],
    1046         [129328, 129328], [129331, 129342], [129344, 129355],
    1047         [129360, 129374], [129408, 129425], [129472, 129472],
    1048         [917505, 917505], [917536, 917631]**/
    1049         const UnicodeSet zyyy_Ext
    1050             {{{Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 13},
    1051               {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
    1052               {Empty, 15}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
    1053               {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
    1054               {Empty, 3}, {Mixed, 1}, {Empty, 37}, {Mixed, 1}, {Empty, 12},
    1055               {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 47}, {Mixed, 1},
    1056               {Empty, 1}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 37},
    1057               {Mixed, 2}, {Empty, 24}, {Mixed, 1}, {Full, 2}, {Mixed, 3},
    1058               {Empty, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
    1059               {Full, 18}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 29},
    1060               {Empty, 8}, {Full, 19}, {Mixed, 5}, {Empty, 16}, {Full, 2},
    1061               {Mixed, 1}, {Empty, 12}, {Mixed, 3}, {Empty, 2}, {Mixed, 2},
    1062               {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
    1063               {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 2}, {Mixed, 1},
    1064               {Full, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 5},
    1065               {Empty, 206}, {Full, 2}, {Empty, 712}, {Full, 1}, {Mixed, 1},
    1066               {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 7},
    1067               {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
    1068               {Empty, 654}, {Mixed, 1}, {Empty, 6}, {Mixed, 4}, {Empty, 3},
    1069               {Mixed, 6}, {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 2},
    1070               {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 7},
    1071               {Mixed, 1}, {Empty, 1485}, {Mixed, 1}, {Empty, 154},
    1072               {Full, 7}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
    1073               {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Empty, 8}, {Full, 2},
    1074               {Mixed, 2}, {Empty, 4}, {Full, 2}, {Mixed, 1}, {Full, 1},
    1075               {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 1},
    1076               {Full, 8}, {Mixed, 1}, {Full, 1}, {Empty, 192}, {Full, 1},
    1077               {Mixed, 1}, {Full, 2}, {Mixed, 6}, {Full, 1}, {Mixed, 1},
    1078               {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 5},
    1079               {Full, 30}, {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 2},
    1080               {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    1081               {Full, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
    1082               {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 24625},
    1083               {Mixed, 1}, {Full, 3}, {Empty, 6140}},
    1084              {0xf8000001, 0xf8000001, 0xfbfffbff, 0x00800000, 0x00800000,
    1085               0xfe000000, 0xfffff3e0, 0x40100000, 0x000000a0, 0x00000200,
    1086               0x98001020, 0x00000001, 0x20000000, 0x00000004, 0x00000030,
    1087               0x80000000, 0x01e00000, 0x08000000, 0x00003800, 0x00600000,
    1088               0x0000002c, 0x00080000, 0x006fde02, 0xffffcfff, 0x7ff1ffdf,
    1089               0x00007fff, 0x7fffffff, 0xfffbf3bf, 0xffffbfff, 0xffff0e00,
    1090               0x7fffffff, 0x0000007f, 0x000007ff, 0xffcfffff, 0xff3fffff,
    1091               0xe3ffffff, 0x0003fdff, 0x0000f000, 0x0000001f, 0x0fff0000,
    1092               0xffffff5f, 0xf0ff0001, 0x18000000, 0x00000001, 0x18000000,
    1093               0xffff0000, 0x0000000f, 0x80000000, 0x0000ffff, 0xff000000,
    1094               0x00000003, 0x00000700, 0x03ff0000, 0x00004000, 0x00008000,
    1095               0x08000000, 0xc0000000, 0x03ff0000, 0xffff0000, 0xfff7ffff,
    1096               0x00000f7f, 0x80000000, 0xfffffffe, 0xf8000001, 0xf8000001,
    1097               0x0001003f, 0xc0000000, 0x3e007f7f, 0xffffff87, 0xff8fffff,
    1098               0x0fff0000, 0xffff0000, 0x1fffffff, 0x0ffffffe, 0x0000000f,
    1099               0x003fffff, 0xfffffe7f, 0x07fffc7f, 0xfffff018, 0xffffc3ff,
    1100               0x000001ff, 0x007fffff, 0x0003ffff, 0xffdfffff, 0xdfffffff,
    1101               0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f,
    1102               0xffffff3f, 0xffffcfff, 0xffff0fff, 0x000fffff, 0xfffe7fff,
    1103               0xfffefffe, 0x003fffff, 0xffff1fff, 0xffff7fff, 0xffff0fff,
    1104               0x00001fff, 0xffffffc0, 0xffff0006, 0x0fffffff, 0x000301ff,
    1105               0x0007ffff, 0x007f1fff, 0x000fffff, 0x001fffff, 0xffff0fff,
    1106               0x03ff00ff, 0xffff00ff, 0x00003fff, 0x7fff0000, 0x7ff900ff,
    1107               0x7fff0fff, 0x0003ffff, 0x00000001, 0x00000002}};
    110817        /** Code Point Ranges for Zzzz
    110918        [888, 889], [896, 899], [907, 907], [909, 909], [930, 930],
     
    1427336              0xfffc0000, 0xfffffffe, 0xff800000, 0xffe00000, 0xc0000000,
    1428337              0xfffffffc, 0xc0000000, 0xfffffffd, 0xffff0000}};
     338        /** Code Point Ranges for Zyyy
     339        [0, 64], [91, 96], [123, 169], [171, 185], [187, 191], [215, 215],
     340        [247, 247], [697, 735], [741, 745], [748, 767], [884, 884],
     341        [894, 894], [901, 901], [903, 903], [1417, 1417], [1541, 1541],
     342        [1548, 1548], [1563, 1564], [1567, 1567], [1600, 1600],
     343        [1757, 1757], [2274, 2274], [2404, 2405], [3647, 3647],
     344        [4053, 4056], [4347, 4347], [5867, 5869], [5941, 5942],
     345        [6146, 6147], [6149, 6149], [7379, 7379], [7393, 7393],
     346        [7401, 7404], [7406, 7411], [7413, 7414], [8192, 8203],
     347        [8206, 8292], [8294, 8304], [8308, 8318], [8320, 8334],
     348        [8352, 8382], [8448, 8485], [8487, 8489], [8492, 8497],
     349        [8499, 8525], [8527, 8543], [8585, 8587], [8592, 9214],
     350        [9216, 9254], [9280, 9290], [9312, 10239], [10496, 11123],
     351        [11126, 11157], [11160, 11193], [11197, 11208], [11210, 11217],
     352        [11244, 11247], [11776, 11844], [12272, 12283], [12288, 12292],
     353        [12294, 12294], [12296, 12320], [12336, 12343], [12348, 12351],
     354        [12443, 12444], [12448, 12448], [12539, 12540], [12688, 12703],
     355        [12736, 12771], [12832, 12895], [12927, 13007], [13144, 13311],
     356        [19904, 19967], [42752, 42785], [42888, 42890], [43056, 43065],
     357        [43310, 43310], [43471, 43471], [43867, 43867], [64830, 64831],
     358        [65040, 65049], [65072, 65106], [65108, 65126], [65128, 65131],
     359        [65279, 65279], [65281, 65312], [65339, 65344], [65371, 65381],
     360        [65392, 65392], [65438, 65439], [65504, 65510], [65512, 65518],
     361        [65529, 65533], [65792, 65794], [65799, 65843], [65847, 65855],
     362        [65936, 65947], [66000, 66044], [66273, 66299], [113824, 113827],
     363        [118784, 119029], [119040, 119078], [119081, 119142],
     364        [119146, 119162], [119171, 119172], [119180, 119209],
     365        [119214, 119272], [119552, 119638], [119648, 119665],
     366        [119808, 119892], [119894, 119964], [119966, 119967],
     367        [119970, 119970], [119973, 119974], [119977, 119980],
     368        [119982, 119993], [119995, 119995], [119997, 120003],
     369        [120005, 120069], [120071, 120074], [120077, 120084],
     370        [120086, 120092], [120094, 120121], [120123, 120126],
     371        [120128, 120132], [120134, 120134], [120138, 120144],
     372        [120146, 120485], [120488, 120779], [120782, 120831],
     373        [126976, 127019], [127024, 127123], [127136, 127150],
     374        [127153, 127167], [127169, 127183], [127185, 127221],
     375        [127232, 127244], [127248, 127278], [127280, 127339],
     376        [127344, 127404], [127462, 127487], [127489, 127490],
     377        [127504, 127547], [127552, 127560], [127568, 127569],
     378        [127744, 128722], [128736, 128748], [128752, 128758],
     379        [128768, 128883], [128896, 128980], [129024, 129035],
     380        [129040, 129095], [129104, 129113], [129120, 129159],
     381        [129168, 129197], [129296, 129310], [129312, 129319],
     382        [129328, 129328], [129331, 129342], [129344, 129355],
     383        [129360, 129374], [129408, 129425], [129472, 129472],
     384        [917505, 917505], [917536, 917631]**/
     385        const UnicodeSet zyyy_Ext
     386            {{{Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 13},
     387              {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
     388              {Empty, 15}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
     389              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
     390              {Empty, 3}, {Mixed, 1}, {Empty, 37}, {Mixed, 1}, {Empty, 12},
     391              {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 47}, {Mixed, 1},
     392              {Empty, 1}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 37},
     393              {Mixed, 2}, {Empty, 24}, {Mixed, 1}, {Full, 2}, {Mixed, 3},
     394              {Empty, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
     395              {Full, 18}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 29},
     396              {Empty, 8}, {Full, 19}, {Mixed, 5}, {Empty, 16}, {Full, 2},
     397              {Mixed, 1}, {Empty, 12}, {Mixed, 3}, {Empty, 2}, {Mixed, 2},
     398              {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
     399              {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 2}, {Mixed, 1},
     400              {Full, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 5},
     401              {Empty, 206}, {Full, 2}, {Empty, 712}, {Full, 1}, {Mixed, 1},
     402              {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 7},
     403              {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
     404              {Empty, 654}, {Mixed, 1}, {Empty, 6}, {Mixed, 4}, {Empty, 3},
     405              {Mixed, 6}, {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 2},
     406              {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 7},
     407              {Mixed, 1}, {Empty, 1485}, {Mixed, 1}, {Empty, 154},
     408              {Full, 7}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
     409              {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Empty, 8}, {Full, 2},
     410              {Mixed, 2}, {Empty, 4}, {Full, 2}, {Mixed, 1}, {Full, 1},
     411              {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 1},
     412              {Full, 8}, {Mixed, 1}, {Full, 1}, {Empty, 192}, {Full, 1},
     413              {Mixed, 1}, {Full, 2}, {Mixed, 6}, {Full, 1}, {Mixed, 1},
     414              {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 5},
     415              {Full, 30}, {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 2},
     416              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     417              {Full, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
     418              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 24625},
     419              {Mixed, 1}, {Full, 3}, {Empty, 6140}},
     420             {0xf8000001, 0xf8000001, 0xfbfffbff, 0x00800000, 0x00800000,
     421              0xfe000000, 0xfffff3e0, 0x40100000, 0x000000a0, 0x00000200,
     422              0x98001020, 0x00000001, 0x20000000, 0x00000004, 0x00000030,
     423              0x80000000, 0x01e00000, 0x08000000, 0x00003800, 0x00600000,
     424              0x0000002c, 0x00080000, 0x006fde02, 0xffffcfff, 0x7ff1ffdf,
     425              0x00007fff, 0x7fffffff, 0xfffbf3bf, 0xffffbfff, 0xffff0e00,
     426              0x7fffffff, 0x0000007f, 0x000007ff, 0xffcfffff, 0xff3fffff,
     427              0xe3ffffff, 0x0003fdff, 0x0000f000, 0x0000001f, 0x0fff0000,
     428              0xffffff5f, 0xf0ff0001, 0x18000000, 0x00000001, 0x18000000,
     429              0xffff0000, 0x0000000f, 0x80000000, 0x0000ffff, 0xff000000,
     430              0x00000003, 0x00000700, 0x03ff0000, 0x00004000, 0x00008000,
     431              0x08000000, 0xc0000000, 0x03ff0000, 0xffff0000, 0xfff7ffff,
     432              0x00000f7f, 0x80000000, 0xfffffffe, 0xf8000001, 0xf8000001,
     433              0x0001003f, 0xc0000000, 0x3e007f7f, 0xffffff87, 0xff8fffff,
     434              0x0fff0000, 0xffff0000, 0x1fffffff, 0x0ffffffe, 0x0000000f,
     435              0x003fffff, 0xfffffe7f, 0x07fffc7f, 0xfffff018, 0xffffc3ff,
     436              0x000001ff, 0x007fffff, 0x0003ffff, 0xffdfffff, 0xdfffffff,
     437              0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f,
     438              0xffffff3f, 0xffffcfff, 0xffff0fff, 0x000fffff, 0xfffe7fff,
     439              0xfffefffe, 0x003fffff, 0xffff1fff, 0xffff7fff, 0xffff0fff,
     440              0x00001fff, 0xffffffc0, 0xffff0006, 0x0fffffff, 0x000301ff,
     441              0x0007ffff, 0x007f1fff, 0x000fffff, 0x001fffff, 0xffff0fff,
     442              0x03ff00ff, 0xffff00ff, 0x00003fff, 0x7fff0000, 0x7ff900ff,
     443              0x7fff0fff, 0x0003ffff, 0x00000001, 0x00000002}};
     444        /** Code Point Ranges for Latn
     445        [65, 90], [97, 122], [170, 170], [186, 186], [192, 214], [216, 246],
     446        [248, 696], [736, 740], [867, 879], [1157, 1158], [2385, 2386],
     447        [4347, 4347], [7424, 7461], [7468, 7516], [7522, 7525],
     448        [7531, 7543], [7545, 7614], [7680, 7935], [8305, 8305],
     449        [8319, 8319], [8336, 8348], [8432, 8432], [8490, 8491],
     450        [8498, 8498], [8526, 8526], [8544, 8584], [11360, 11391],
     451        [42786, 42887], [42891, 42926], [42928, 42935], [42999, 43007],
     452        [43310, 43310], [43824, 43866], [43868, 43876], [64256, 64262],
     453        [65313, 65338], [65345, 65370]**/
     454        const UnicodeSet latn_Ext
     455            {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 13},
     456              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
     457              {Empty, 8}, {Mixed, 1}, {Empty, 37}, {Mixed, 1}, {Empty, 60},
     458              {Mixed, 1}, {Empty, 96}, {Full, 1}, {Mixed, 3}, {Full, 1},
     459              {Mixed, 1}, {Empty, 2}, {Full, 8}, {Empty, 11}, {Mixed, 2},
     460              {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 1},
     461              {Mixed, 1}, {Empty, 86}, {Full, 1}, {Empty, 981}, {Mixed, 1},
     462              {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 9},
     463              {Mixed, 1}, {Empty, 15}, {Mixed, 3}, {Empty, 636}, {Mixed, 1},
     464              {Empty, 32}, {Mixed, 2}, {Empty, 32773}},
     465             {0x07fffffe, 0x07fffffe, 0x04000400, 0xff7fffff, 0xff7fffff,
     466              0x01ffffff, 0x0000001f, 0x0000fff8, 0x00000060, 0x00060000,
     467              0x08000000, 0xfffff03f, 0x1fffffff, 0xfefff83c, 0x7fffffff,
     468              0x80020000, 0x1fff0000, 0x00010000, 0x00040c00, 0x00004000,
     469              0x000001ff, 0xfffffffc, 0xfffff8ff, 0x00ff7fff, 0xff800000,
     470              0x00004000, 0xffff0000, 0xf7ffffff, 0x0000001f, 0x0000007f,
     471              0x07fffffe, 0x07fffffe}};
     472        /** Code Point Ranges for Grek
     473        [834, 834], [837, 837], [880, 883], [885, 887], [890, 893],
     474        [895, 895], [900, 900], [902, 902], [904, 906], [908, 908],
     475        [910, 929], [931, 993], [1008, 1023], [7462, 7466], [7517, 7521],
     476        [7526, 7530], [7615, 7617], [7936, 7957], [7960, 7965],
     477        [7968, 8005], [8008, 8013], [8016, 8023], [8025, 8025],
     478        [8027, 8027], [8029, 8029], [8031, 8061], [8064, 8116],
     479        [8118, 8132], [8134, 8147], [8150, 8155], [8157, 8175],
     480        [8178, 8180], [8182, 8190], [8486, 8486], [43877, 43877],
     481        [65856, 65934], [65952, 65952], [119296, 119365]**/
     482        const UnicodeSet grek_Ext
     483            {{{Empty, 26}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Empty, 201},
     484              {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 9}, {Mixed, 1},
     485              {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 9},
     486              {Mixed, 1}, {Empty, 1105}, {Mixed, 1}, {Empty, 686},
     487              {Full, 2}, {Mixed, 2}, {Empty, 1666}, {Full, 2}, {Mixed, 1},
     488              {Empty, 31085}},
     489             {0x00000024, 0xbcef0000, 0xffffd750, 0xfffffffb, 0xffff0003,
     490              0x000007c0, 0xe0000000, 0x000007c3, 0x80000000, 0x00000003,
     491              0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0xffdfffff, 0xefcfffdf,
     492              0x7fdcffff, 0x00000040, 0x00000020, 0x00007fff, 0x00000001,
     493              0x0000003f}};
     494        /** Code Point Ranges for Cyrl
     495        [1024, 1327], [7296, 7304], [7467, 7467], [7544, 7544],
     496        [11744, 11775], [11843, 11843], [42560, 42655], [65070, 65071]**/
     497        const UnicodeSet cyrl_Ext
     498            {{{Empty, 32}, {Full, 9}, {Mixed, 1}, {Empty, 186}, {Mixed, 1},
     499              {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 131},
     500              {Full, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 959}, {Full, 3},
     501              {Empty, 700}, {Mixed, 1}, {Empty, 32782}},
     502             {0x0000ffff, 0x000001ff, 0x00000800, 0x01000000, 0x00000008,
     503              0x0000c000}};
     504        /** Code Point Ranges for Armn
     505        [1329, 1366], [1369, 1375], [1377, 1415], [1417, 1418],
     506        [1421, 1423], [64275, 64279]**/
     507        const UnicodeSet armn_Ext
     508            {{{Empty, 41}, {Mixed, 4}, {Empty, 1963}, {Mixed, 1},
     509              {Empty, 32807}},
     510             {0xfffe0000, 0xfe7fffff, 0xfffffffe, 0x0000e6ff, 0x00f80000}};
     511        /** Code Point Ranges for Hebr
     512        [1425, 1479], [1488, 1514], [1520, 1524], [64285, 64310],
     513        [64312, 64316], [64318, 64318], [64320, 64321], [64323, 64324],
     514        [64326, 64335]**/
     515        const UnicodeSet hebr_Ext
     516            {{{Empty, 44}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1960},
     517              {Mixed, 3}, {Empty, 32805}},
     518             {0xfffe0000, 0xffff00ff, 0x001f07ff, 0xe0000000, 0x5f7fffff,
     519              0x0000ffdb}};
     520        /** Code Point Ranges for Arab
     521        [1536, 1540], [1542, 1563], [1566, 1756], [1758, 1791],
     522        [1872, 1919], [2208, 2228], [2230, 2237], [2260, 2273],
     523        [2275, 2303], [64336, 64449], [64467, 64829], [64848, 64911],
     524        [64914, 64967], [65008, 65021], [65136, 65140], [65142, 65276],
     525        [66272, 66299], [69216, 69246], [126464, 126467], [126469, 126495],
     526        [126497, 126498], [126500, 126500], [126503, 126503],
     527        [126505, 126514], [126516, 126519], [126521, 126521],
     528        [126523, 126523], [126530, 126530], [126535, 126535],
     529        [126537, 126537], [126539, 126539], [126541, 126543],
     530        [126545, 126546], [126548, 126548], [126551, 126551],
     531        [126553, 126553], [126555, 126555], [126557, 126557],
     532        [126559, 126559], [126561, 126562], [126564, 126564],
     533        [126567, 126570], [126572, 126578], [126580, 126583],
     534        [126585, 126588], [126590, 126590], [126592, 126601],
     535        [126603, 126619], [126625, 126627], [126629, 126633],
     536        [126635, 126651], [126704, 126705]**/
     537        const UnicodeSet arab_Ext
     538            {{{Empty, 48}, {Mixed, 1}, {Full, 5}, {Mixed, 1}, {Full, 1},
     539              {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 9}, {Mixed, 3},
     540              {Empty, 1938}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 10},
     541              {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
     542              {Empty, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 31},
     543              {Mixed, 1}, {Empty, 91}, {Mixed, 1}, {Empty, 1788},
     544              {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 30856}},
     545             {0xcfffffdf, 0xdfffffff, 0xffff0000, 0x3fdfffff, 0xfff00000,
     546              0xfffffffb, 0xffff0000, 0xfff80003, 0x3fffffff, 0xffff0000,
     547              0xfffcffff, 0x000000ff, 0x3fff0000, 0xffdf0000, 0x1fffffff,
     548              0x0fffffff, 0x7fffffff, 0xffffffef, 0x0af7fe96, 0xaa96ea84,
     549              0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0x00030000}};
     550        /** Code Point Ranges for Syrc
     551        [1548, 1548], [1563, 1563], [1567, 1567], [1600, 1600],
     552        [1611, 1621], [1648, 1648], [1792, 1805], [1807, 1866],
     553        [1869, 1871]**/
     554        const UnicodeSet syrc_Ext
     555            {{{Empty, 48}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
     556              {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 34757}},
     557             {0x88001000, 0x003ff801, 0x00010000, 0xffffbfff, 0x0000e7ff}};
     558        /** Code Point Ranges for Thaa
     559        [1548, 1548], [1563, 1563], [1567, 1567], [1632, 1641],
     560        [1920, 1969], [65010, 65010], [65021, 65021]**/
     561        const UnicodeSet thaa_Ext
     562            {{{Empty, 48}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
     563              {Full, 1}, {Mixed, 1}, {Empty, 1969}, {Mixed, 1},
     564              {Empty, 32784}},
     565             {0x88001000, 0x000003ff, 0x0003ffff, 0x20040000}};
     566        /** Code Point Ranges for Deva
     567        [2304, 2431], [7376, 7414], [7416, 7417], [8432, 8432],
     568        [43056, 43065], [43232, 43261]**/
     569        const UnicodeSet deva_Ext
     570            {{{Empty, 72}, {Full, 4}, {Empty, 154}, {Mixed, 2}, {Empty, 31},
     571              {Mixed, 1}, {Empty, 1081}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
     572              {Empty, 33464}},
     573             {0xffff0000, 0x037fffff, 0x00010000, 0x03ff0000, 0x3fffffff}};
     574        /** Code Point Ranges for Beng
     575        [2385, 2386], [2404, 2405], [2432, 2435], [2437, 2444],
     576        [2447, 2448], [2451, 2472], [2474, 2480], [2482, 2482],
     577        [2486, 2489], [2492, 2500], [2503, 2504], [2507, 2510],
     578        [2519, 2519], [2524, 2525], [2527, 2531], [2534, 2555],
     579        [43249, 43249]**/
     580        const UnicodeSet beng_Ext
     581            {{{Empty, 74}, {Mixed, 6}, {Empty, 1271}, {Mixed, 1},
     582              {Empty, 33464}},
     583             {0x00060000, 0x00000030, 0xfff99fef, 0xf3c5fdff, 0xb080799f,
     584              0x0fffffcf, 0x00020000}};
     585        /** Code Point Ranges for Guru
     586        [2385, 2386], [2404, 2405], [2561, 2563], [2565, 2570],
     587        [2575, 2576], [2579, 2600], [2602, 2608], [2610, 2611],
     588        [2613, 2614], [2616, 2617], [2620, 2620], [2622, 2626],
     589        [2631, 2632], [2635, 2637], [2641, 2641], [2649, 2652],
     590        [2654, 2654], [2662, 2677], [43056, 43065]**/
     591        const UnicodeSet guru_Ext
     592            {{{Empty, 74}, {Mixed, 2}, {Empty, 4}, {Mixed, 4},
     593              {Empty, 1261}, {Mixed, 1}, {Empty, 33470}},
     594             {0x00060000, 0x00000030, 0xfff987ee, 0xd36dfdff, 0x5e023987,
     595              0x003fffc0, 0x03ff0000}};
     596        /** Code Point Ranges for Gujr
     597        [2385, 2386], [2404, 2405], [2689, 2691], [2693, 2701],
     598        [2703, 2705], [2707, 2728], [2730, 2736], [2738, 2739],
     599        [2741, 2745], [2748, 2757], [2759, 2761], [2763, 2765],
     600        [2768, 2768], [2784, 2787], [2790, 2801], [2809, 2809],
     601        [43056, 43065]**/
     602        const UnicodeSet gujr_Ext
     603            {{{Empty, 74}, {Mixed, 2}, {Empty, 8}, {Mixed, 4},
     604              {Empty, 1257}, {Mixed, 1}, {Empty, 33470}},
     605             {0x00060000, 0x00000030, 0xfffbbfee, 0xf3edfdff, 0x00013bbf,
     606              0x0203ffcf, 0x03ff0000}};
     607        /** Code Point Ranges for Orya
     608        [2385, 2386], [2404, 2405], [2817, 2819], [2821, 2828],
     609        [2831, 2832], [2835, 2856], [2858, 2864], [2866, 2867],
     610        [2869, 2873], [2876, 2884], [2887, 2888], [2891, 2893],
     611        [2902, 2903], [2908, 2909], [2911, 2915], [2918, 2935]**/
     612        const UnicodeSet orya_Ext
     613            {{{Empty, 74}, {Mixed, 2}, {Empty, 12}, {Mixed, 4},
     614              {Empty, 34724}},
     615             {0x00060000, 0x00000030, 0xfff99fee, 0xf3edfdff, 0xb0c0399f,
     616              0x00ffffcf}};
     617        /** Code Point Ranges for Taml
     618        [2385, 2386], [2404, 2405], [2946, 2947], [2949, 2954],
     619        [2958, 2960], [2962, 2965], [2969, 2970], [2972, 2972],
     620        [2974, 2975], [2979, 2980], [2984, 2986], [2990, 3001],
     621        [3006, 3010], [3014, 3016], [3018, 3021], [3024, 3024],
     622        [3031, 3031], [3046, 3066], [7386, 7386], [43251, 43251],
     623        [70403, 70403], [70460, 70460]**/
     624        const UnicodeSet taml_Ext
     625            {{{Empty, 74}, {Mixed, 2}, {Empty, 16}, {Mixed, 4},
     626              {Empty, 134}, {Mixed, 1}, {Empty, 1120}, {Mixed, 1},
     627              {Empty, 848}, {Mixed, 2}, {Empty, 32614}},
     628             {0x00060000, 0x00000030, 0xd63dc7ec, 0xc3ffc718, 0x00813dc7,
     629              0x07ffffc0, 0x04000000, 0x00080000, 0x00000008, 0x10000000}};
     630        /** Code Point Ranges for Telu
     631        [2385, 2386], [2404, 2405], [3072, 3075], [3077, 3084],
     632        [3086, 3088], [3090, 3112], [3114, 3129], [3133, 3140],
     633        [3142, 3144], [3146, 3149], [3157, 3158], [3160, 3162],
     634        [3168, 3171], [3174, 3183], [3192, 3199], [7386, 7386]**/
     635        const UnicodeSet telu_Ext
     636            {{{Empty, 74}, {Mixed, 2}, {Empty, 20}, {Mixed, 4},
     637              {Empty, 130}, {Mixed, 1}, {Empty, 34585}},
     638             {0x00060000, 0x00000030, 0xfffddfef, 0xe3fffdff, 0x07603ddf,
     639              0xff00ffcf, 0x04000000}};
     640        /** Code Point Ranges for Knda
     641        [2385, 2386], [2404, 2405], [3200, 3203], [3205, 3212],
     642        [3214, 3216], [3218, 3240], [3242, 3251], [3253, 3257],
     643        [3260, 3268], [3270, 3272], [3274, 3277], [3285, 3286],
     644        [3294, 3294], [3296, 3299], [3302, 3311], [3313, 3314],
     645        [7386, 7386], [7413, 7413], [43056, 43061]**/
     646        const UnicodeSet knda_Ext
     647            {{{Empty, 74}, {Mixed, 2}, {Empty, 24}, {Mixed, 4},
     648              {Empty, 126}, {Mixed, 2}, {Empty, 1113}, {Mixed, 1},
     649              {Empty, 33470}},
     650             {0x00060000, 0x00000030, 0xfffddfef, 0xf3effdff, 0x40603ddf,
     651              0x0006ffcf, 0x04000000, 0x00200000, 0x003f0000}};
     652        /** Code Point Ranges for Mlym
     653        [2385, 2386], [2404, 2405], [3329, 3331], [3333, 3340],
     654        [3342, 3344], [3346, 3386], [3389, 3396], [3398, 3400],
     655        [3402, 3407], [3412, 3427], [3430, 3455], [7386, 7386]**/
     656        const UnicodeSet mlym_Ext
     657            {{{Empty, 74}, {Mixed, 2}, {Empty, 28}, {Mixed, 4},
     658              {Empty, 122}, {Mixed, 1}, {Empty, 34585}},
     659             {0x00060000, 0x00000030, 0xfffddfee, 0xe7ffffff, 0xfff0fddf,
     660              0xffffffcf, 0x04000000}};
     661        /** Code Point Ranges for Sinh
     662        [2404, 2405], [3458, 3459], [3461, 3478], [3482, 3505],
     663        [3507, 3515], [3517, 3517], [3520, 3526], [3530, 3530],
     664        [3535, 3540], [3542, 3542], [3544, 3551], [3558, 3567],
     665        [3570, 3572], [70113, 70132]**/
     666        const UnicodeSet sinh_Ext
     667            {{{Empty, 75}, {Mixed, 1}, {Empty, 32}, {Mixed, 4},
     668              {Empty, 2079}, {Mixed, 1}, {Empty, 32624}},
     669             {0x00000030, 0xfc7fffec, 0x2ffbffff, 0xff5f847f, 0x001cffc0,
     670              0x001ffffe}};
     671        /** Code Point Ranges for Thai
     672        [3585, 3642], [3648, 3675]**/
     673        const UnicodeSet thai_Ext
     674            {{{Empty, 112}, {Mixed, 3}, {Empty, 34701}},
     675             {0xfffffffe, 0x07ffffff, 0x0fffffff}};
     676        /** Code Point Ranges for Laoo
     677        [3713, 3714], [3716, 3716], [3719, 3720], [3722, 3722],
     678        [3725, 3725], [3732, 3735], [3737, 3743], [3745, 3747],
     679        [3749, 3749], [3751, 3751], [3754, 3755], [3757, 3769],
     680        [3771, 3773], [3776, 3780], [3782, 3782], [3784, 3789],
     681        [3792, 3801], [3804, 3807]**/
     682        const UnicodeSet laoo_Ext
     683            {{{Empty, 116}, {Mixed, 3}, {Empty, 34697}},
     684             {0xfef02596, 0x3bffecae, 0xf3ff3f5f}};
     685        /** Code Point Ranges for Tibt
     686        [3840, 3911], [3913, 3948], [3953, 3991], [3993, 4028],
     687        [4030, 4044], [4046, 4052], [4057, 4058]**/
     688        const UnicodeSet tibt_Ext
     689            {{{Empty, 120}, {Full, 2}, {Mixed, 5}, {Empty, 34689}},
     690             {0xfffffeff, 0xfffe1fff, 0xfeffffff, 0xdfffffff, 0x061fdfff}};
     691        /** Code Point Ranges for Mymr
     692        [4096, 4255], [43310, 43310], [43488, 43518], [43616, 43647]**/
     693        const UnicodeSet mymr_Ext
     694            {{{Empty, 128}, {Full, 5}, {Empty, 1220}, {Mixed, 1},
     695              {Empty, 5}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Empty, 33452}},
     696             {0x00004000, 0x7fffffff}};
     697        /** Code Point Ranges for Geor
     698        [1417, 1417], [4256, 4293], [4295, 4295], [4301, 4301],
     699        [4304, 4351], [11520, 11557], [11559, 11559], [11565, 11565]**/
     700        const UnicodeSet geor_Ext
     701            {{{Empty, 44}, {Mixed, 1}, {Empty, 88}, {Full, 1}, {Mixed, 1},
     702              {Full, 1}, {Empty, 224}, {Full, 1}, {Mixed, 1},
     703              {Empty, 34454}},
     704             {0x00000200, 0xffff20bf, 0x000020bf}};
     705        /** Code Point Ranges for Hang
     706        [4352, 4607], [12289, 12291], [12296, 12305], [12307, 12319],
     707        [12334, 12336], [12343, 12343], [12539, 12539], [12593, 12686],
     708        [12800, 12830], [12896, 12926], [43360, 43388], [44032, 55203],
     709        [55216, 55238], [55243, 55291], [65093, 65094], [65377, 65381],
     710        [65440, 65470], [65474, 65479], [65482, 65487], [65490, 65495],
     711        [65498, 65500]**/
     712        const UnicodeSet hang_Ext
     713            {{{Empty, 136}, {Full, 8}, {Empty, 240}, {Mixed, 2}, {Empty, 5},
     714              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
     715              {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 951},
     716              {Mixed, 1}, {Empty, 20}, {Full, 349}, {Mixed, 3},
     717              {Empty, 306}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1},
     718              {Mixed, 2}, {Empty, 32769}},
     719             {0xfffbff0e, 0x0081c000, 0x08000000, 0xfffe0000, 0x00007fff,
     720              0x7fffffff, 0x7fffffff, 0x1fffffff, 0xffff000f, 0xfffff87f,
     721              0x0fffffff, 0x00000060, 0x0000003e, 0x7fffffff, 0x1cfcfcfc}};
     722        /** Code Point Ranges for Ethi
     723        [4608, 4680], [4682, 4685], [4688, 4694], [4696, 4696],
     724        [4698, 4701], [4704, 4744], [4746, 4749], [4752, 4784],
     725        [4786, 4789], [4792, 4798], [4800, 4800], [4802, 4805],
     726        [4808, 4822], [4824, 4880], [4882, 4885], [4888, 4954],
     727        [4957, 4988], [4992, 5017], [11648, 11670], [11680, 11686],
     728        [11688, 11694], [11696, 11702], [11704, 11710], [11712, 11718],
     729        [11720, 11726], [11728, 11734], [11736, 11742], [43777, 43782],
     730        [43785, 43790], [43793, 43798], [43808, 43814], [43816, 43822]**/
     731        const UnicodeSet ethi_Ext
     732            {{{Empty, 144}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
     733              {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 207},
     734              {Mixed, 3}, {Empty, 1001}, {Mixed, 2}, {Empty, 33446}},
     735             {0x3d7f3dff, 0xffff3dff, 0x7f3dffff, 0xff7fff3d, 0xff3dffff,
     736              0xe7ffffff, 0x1fffffff, 0x03ffffff, 0x007fffff, 0x7f7f7f7f,
     737              0x7f7f7f7f, 0x007e7e7e, 0x00007f7f}};
     738        /** Code Point Ranges for Cher
     739        [5024, 5109], [5112, 5117], [43888, 43967]**/
     740        const UnicodeSet cher_Ext
     741            {{{Empty, 157}, {Full, 2}, {Mixed, 1}, {Empty, 1211},
     742              {Mixed, 1}, {Full, 2}, {Empty, 33442}},
     743             {0x3f3fffff, 0xffff0000}};
     744        /** Code Point Ranges for Cans
     745        [5120, 5759], [6320, 6389]**/
     746        const UnicodeSet cans_Ext
     747            {{{Empty, 160}, {Full, 20}, {Empty, 17}, {Mixed, 1}, {Full, 1},
     748              {Mixed, 1}, {Empty, 34616}},
     749             {0xffff0000, 0x003fffff}};
     750        /** Code Point Ranges for Ogam
     751        [5760, 5788]**/
     752        const UnicodeSet ogam_Ext
     753            {{{Empty, 180}, {Mixed, 1}, {Empty, 34635}},
     754             {0x1fffffff}};
     755        /** Code Point Ranges for Runr
     756        [5792, 5866], [5870, 5880]**/
     757        const UnicodeSet runr_Ext
     758            {{{Empty, 181}, {Full, 2}, {Mixed, 1}, {Empty, 34632}},
     759             {0x01ffc7ff}};
     760        /** Code Point Ranges for Khmr
     761        [6016, 6109], [6112, 6121], [6128, 6137], [6624, 6655]**/
     762        const UnicodeSet khmr_Ext
     763            {{{Empty, 188}, {Full, 2}, {Mixed, 2}, {Empty, 15}, {Full, 1},
     764              {Empty, 34608}},
     765             {0x3fffffff, 0x03ff03ff}};
     766        /** Code Point Ranges for Mong
     767        [6144, 6158], [6160, 6169], [6176, 6263], [6272, 6314],
     768        [71264, 71276]**/
     769        const UnicodeSet mong_Ext
     770            {{{Empty, 192}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 1},
     771              {Mixed, 1}, {Empty, 2029}, {Mixed, 1}, {Empty, 32588}},
     772             {0x03ff7fff, 0x00ffffff, 0x000007ff, 0x00001fff}};
     773        /** Code Point Ranges for Hira
     774        [12289, 12291], [12296, 12305], [12307, 12319], [12336, 12341],
     775        [12343, 12343], [12348, 12349], [12353, 12438], [12441, 12448],
     776        [12539, 12540], [65093, 65094], [65377, 65381], [65392, 65392],
     777        [65438, 65439], [110593, 110593], [127488, 127488]**/
     778        const UnicodeSet hira_Ext
     779            {{{Empty, 384}, {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 1},
     780              {Mixed, 1}, {Empty, 1642}, {Mixed, 1}, {Empty, 8}, {Mixed, 2},
     781              {Empty, 1411}, {Mixed, 1}, {Empty, 527}, {Mixed, 1},
     782              {Empty, 30831}},
     783             {0xfffbff0e, 0x30bf0000, 0xfffffffe, 0xfe7fffff, 0x00000001,
     784              0x18000000, 0x00000060, 0x0001003e, 0xc0000000, 0x00000002,
     785              0x00000001}};
     786        /** Code Point Ranges for Kana
     787        [12289, 12291], [12296, 12305], [12307, 12319], [12336, 12341],
     788        [12343, 12343], [12348, 12349], [12441, 12444], [12448, 12543],
     789        [12784, 12799], [13008, 13054], [13056, 13143], [65093, 65094],
     790        [65377, 65439], [110592, 110592]**/
     791        const UnicodeSet kana_Ext
     792            {{{Empty, 384}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Full, 3},
     793              {Empty, 7}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Full, 2},
     794              {Mixed, 1}, {Empty, 1623}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
     795              {Full, 1}, {Empty, 1411}, {Mixed, 1}, {Empty, 31359}},
     796             {0xfffbff0e, 0x30bf0000, 0x1e000000, 0xffff0000, 0xffff0000,
     797              0x7fffffff, 0x00ffffff, 0x00000060, 0xfffffffe, 0x00000001}};
     798        /** Code Point Ranges for Bopo
     799        [746, 747], [12289, 12291], [12296, 12305], [12307, 12319],
     800        [12330, 12333], [12336, 12336], [12343, 12343], [12539, 12539],
     801        [12549, 12589], [12704, 12730], [65093, 65094], [65377, 65381]**/
     802        const UnicodeSet bopo_Ext
     803            {{{Empty, 23}, {Mixed, 1}, {Empty, 360}, {Mixed, 2}, {Empty, 5},
     804              {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 1636}, {Mixed, 1},
     805              {Empty, 8}, {Mixed, 1}, {Empty, 32772}},
     806             {0x00000c00, 0xfffbff0e, 0x00813c00, 0x08000000, 0xffffffe0,
     807              0x00003fff, 0x07ffffff, 0x00000060, 0x0000003e}};
     808        /** Code Point Ranges for Hani
     809        [11904, 11929], [11931, 12019], [12032, 12245], [12289, 12291],
     810        [12293, 12305], [12307, 12319], [12321, 12333], [12336, 12336],
     811        [12343, 12351], [12539, 12539], [12688, 12703], [12736, 12771],
     812        [12832, 12871], [12928, 12976], [12992, 13003], [13144, 13168],
     813        [13179, 13183], [13280, 13310], [13312, 19893], [19968, 40917],
     814        [63744, 64109], [64112, 64217], [65093, 65094], [65377, 65381],
     815        [119648, 119665], [127568, 127569], [131072, 173782],
     816        [173824, 177972], [177984, 178205], [178208, 183969],
     817        [194560, 195101]**/
     818        const UnicodeSet hani_Ext
     819            {{{Empty, 372}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 6},
     820              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
     821              {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 1},
     822              {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 1},
     823              {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
     824              {Full, 205}, {Mixed, 1}, {Empty, 2}, {Full, 654}, {Mixed, 1},
     825              {Empty, 713}, {Full, 11}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
     826              {Empty, 27}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
     827              {Empty, 1695}, {Mixed, 1}, {Empty, 246}, {Mixed, 1},
     828              {Empty, 109}, {Full, 1334}, {Mixed, 1}, {Empty, 1},
     829              {Full, 129}, {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Full, 180},
     830              {Mixed, 1}, {Empty, 330}, {Full, 16}, {Mixed, 1},
     831              {Empty, 28719}},
     832             {0xfbffffff, 0x000fffff, 0x003fffff, 0xfffbffee, 0xff813ffe,
     833              0x08000000, 0xffff0000, 0x0000000f, 0x000000ff, 0x0001ffff,
     834              0x00000fff, 0xff000000, 0xf801ffff, 0x7fffffff, 0x003fffff,
     835              0x003fffff, 0xffff3fff, 0x03ffffff, 0x00000060, 0x0000003e,
     836              0x0003ffff, 0x00030000, 0x007fffff, 0x001fffff, 0x3fffffff,
     837              0x00000003, 0x3fffffff}};
     838        /** Code Point Ranges for Yiii
     839        [12289, 12290], [12296, 12305], [12308, 12315], [12539, 12539],
     840        [40960, 42124], [42128, 42182], [65377, 65381]**/
     841        const UnicodeSet yiii_Ext
     842            {{{Empty, 384}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
     843              {Empty, 888}, {Full, 36}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     844              {Empty, 724}, {Mixed, 1}, {Empty, 32772}},
     845             {0x0ff3ff06, 0x08000000, 0xffff1fff, 0x0000007f, 0x0000003e}};
     846        /** Code Point Ranges for Ital
     847        [66304, 66339]**/
     848        const UnicodeSet ital_Ext
     849            {{{Empty, 2072}, {Full, 1}, {Mixed, 1}, {Empty, 32742}},
     850             {0x0000000f}};
     851        /** Code Point Ranges for Goth
     852        [66352, 66378]**/
     853        const UnicodeSet goth_Ext
     854            {{{Empty, 2073}, {Mixed, 2}, {Empty, 32741}},
     855             {0xffff0000, 0x000007ff}};
     856        /** Code Point Ranges for Dsrt
     857        [66560, 66639]**/
     858        const UnicodeSet dsrt_Ext
     859            {{{Empty, 2080}, {Full, 2}, {Mixed, 1}, {Empty, 32733}},
     860             {0x0000ffff}};
     861        /** Code Point Ranges for Zinh
     862        [768, 879], [1157, 1158], [1611, 1621], [1648, 1648], [2385, 2386],
     863        [6832, 6846], [7376, 7378], [7380, 7392], [7394, 7400],
     864        [7405, 7405], [7412, 7412], [7416, 7417], [7616, 7669],
     865        [7675, 7679], [8204, 8205], [8400, 8432], [12330, 12333],
     866        [12441, 12442], [65024, 65039], [65056, 65069], [66045, 66045],
     867        [66272, 66272], [119143, 119145], [119163, 119170],
     868        [119173, 119179], [119210, 119213], [917760, 917999]**/
     869        const UnicodeSet zinh_Ext
     870            {{{Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
     871              {Empty, 13}, {Mixed, 2}, {Empty, 22}, {Mixed, 1},
     872              {Empty, 138}, {Mixed, 1}, {Empty, 16}, {Mixed, 2}, {Empty, 6},
     873              {Full, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 5},
     874              {Mixed, 2}, {Empty, 121}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
     875              {Empty, 1643}, {Mixed, 2}, {Empty, 29}, {Mixed, 1},
     876              {Empty, 7}, {Mixed, 1}, {Empty, 1651}, {Mixed, 3},
     877              {Empty, 24954}, {Full, 7}, {Mixed, 1}, {Empty, 6128}},
     878             {0x0000ffff, 0x00000060, 0x003ff800, 0x00010000, 0x00060000,
     879              0x7fff0000, 0xfff70000, 0x031021fd, 0xf83fffff, 0x00003000,
     880              0xffff0000, 0x0001ffff, 0x00003c00, 0x06000000, 0x0000ffff,
     881              0x00003fff, 0x20000000, 0x00000001, 0xf8000380, 0x00000fe7,
     882              0x00003c00, 0x0000ffff}};
     883        /** Code Point Ranges for Tglg
     884        [5888, 5900], [5902, 5908], [5941, 5942]**/
     885        const UnicodeSet tglg_Ext
     886            {{{Empty, 184}, {Mixed, 2}, {Empty, 34630}},
     887             {0x001fdfff, 0x00600000}};
     888        /** Code Point Ranges for Hano
     889        [5920, 5942]**/
     890        const UnicodeSet hano_Ext
     891            {{{Empty, 185}, {Mixed, 1}, {Empty, 34630}},
     892             {0x007fffff}};
     893        /** Code Point Ranges for Buhd
     894        [5941, 5942], [5952, 5971]**/
     895        const UnicodeSet buhd_Ext
     896            {{{Empty, 185}, {Mixed, 2}, {Empty, 34629}},
     897             {0x00600000, 0x000fffff}};
     898        /** Code Point Ranges for Tagb
     899        [5941, 5942], [5984, 5996], [5998, 6000], [6002, 6003]**/
     900        const UnicodeSet tagb_Ext
     901            {{{Empty, 185}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     902              {Empty, 34628}},
     903             {0x00600000, 0x000ddfff}};
     904        /** Code Point Ranges for Limb
     905        [2405, 2405], [6400, 6430], [6432, 6443], [6448, 6459],
     906        [6464, 6464], [6468, 6479]**/
     907        const UnicodeSet limb_Ext
     908            {{{Empty, 75}, {Mixed, 1}, {Empty, 124}, {Mixed, 3},
     909              {Empty, 34613}},
     910             {0x00000020, 0x7fffffff, 0x0fff0fff, 0x0000fff1}};
     911        /** Code Point Ranges for Tale
     912        [4160, 4169], [6480, 6509], [6512, 6516]**/
     913        const UnicodeSet tale_Ext
     914            {{{Empty, 130}, {Mixed, 1}, {Empty, 71}, {Mixed, 2},
     915              {Empty, 34612}},
     916             {0x000003ff, 0xffff0000, 0x001f3fff}};
     917        /** Code Point Ranges for Linb
     918        [65536, 65547], [65549, 65574], [65576, 65594], [65596, 65597],
     919        [65599, 65613], [65616, 65629], [65664, 65786], [65792, 65794],
     920        [65799, 65843], [65847, 65855]**/
     921        const UnicodeSet linb_Ext
     922            {{{Empty, 2048}, {Mixed, 3}, {Empty, 1}, {Full, 3}, {Mixed, 3},
     923              {Empty, 32758}},
     924             {0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0xffffff87,
     925              0xff8fffff}};
     926        /** Code Point Ranges for Ugar
     927        [66432, 66461], [66463, 66463]**/
     928        const UnicodeSet ugar_Ext
     929            {{{Empty, 2076}, {Mixed, 1}, {Empty, 32739}},
     930             {0xbfffffff}};
     931        /** Code Point Ranges for Shaw
     932        [66640, 66687]**/
     933        const UnicodeSet shaw_Ext
     934            {{{Empty, 2082}, {Mixed, 1}, {Full, 1}, {Empty, 32732}},
     935             {0xffff0000}};
     936        /** Code Point Ranges for Osma
     937        [66688, 66717], [66720, 66729]**/
     938        const UnicodeSet osma_Ext
     939            {{{Empty, 2084}, {Mixed, 2}, {Empty, 32730}},
     940             {0x3fffffff, 0x000003ff}};
     941        /** Code Point Ranges for Cprt
     942        [65792, 65794], [65799, 65843], [65847, 65855], [67584, 67589],
     943        [67592, 67592], [67594, 67637], [67639, 67640], [67644, 67644],
     944        [67647, 67647]**/
     945        const UnicodeSet cprt_Ext
     946            {{{Empty, 2056}, {Mixed, 2}, {Empty, 54}, {Mixed, 2},
     947              {Empty, 32702}},
     948             {0xffffff87, 0xff8fffff, 0xfffffd3f, 0x91bfffff}};
     949        /** Code Point Ranges for Brai
     950        [10240, 10495]**/
     951        const UnicodeSet brai_Ext
     952            {{{Empty, 320}, {Full, 8}, {Empty, 34488}},
     953             {}};
     954        /** Code Point Ranges for Bugi
     955        [6656, 6683], [6686, 6687], [43471, 43471]**/
     956        const UnicodeSet bugi_Ext
     957            {{{Empty, 208}, {Mixed, 1}, {Empty, 1149}, {Mixed, 1},
     958              {Empty, 33457}},
     959             {0xcfffffff, 0x00008000}};
     960        /** Code Point Ranges for Copt
     961        [994, 1007], [11392, 11507], [11513, 11519], [66272, 66299]**/
     962        const UnicodeSet copt_Ext
     963            {{{Empty, 31}, {Mixed, 1}, {Empty, 324}, {Full, 3}, {Mixed, 1},
     964              {Empty, 1711}, {Mixed, 1}, {Empty, 32744}},
     965             {0x0000fffc, 0xfe0fffff, 0x0fffffff}};
     966        /** Code Point Ranges for Talu
     967        [6528, 6571], [6576, 6601], [6608, 6618], [6622, 6623]**/
     968        const UnicodeSet talu_Ext
     969            {{{Empty, 204}, {Full, 1}, {Mixed, 2}, {Empty, 34609}},
     970             {0xffff0fff, 0xc7ff03ff}};
     971        /** Code Point Ranges for Glag
     972        [1156, 1156], [1159, 1159], [11264, 11310], [11312, 11358],
     973        [11843, 11843], [42607, 42607], [122880, 122886], [122888, 122904],
     974        [122907, 122913], [122915, 122916], [122918, 122922]**/
     975        const UnicodeSet glag_Ext
     976            {{{Empty, 36}, {Mixed, 1}, {Empty, 315}, {Full, 1}, {Mixed, 2},
     977              {Empty, 15}, {Mixed, 1}, {Empty, 960}, {Mixed, 1},
     978              {Empty, 2508}, {Mixed, 2}, {Empty, 30974}},
     979             {0x00000090, 0xffff7fff, 0x7fffffff, 0x00000008, 0x00008000,
     980              0xf9ffff7f, 0x000007db}};
     981        /** Code Point Ranges for Tfng
     982        [11568, 11623], [11631, 11632], [11647, 11647]**/
     983        const UnicodeSet tfng_Ext
     984            {{{Empty, 361}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     985              {Empty, 34452}},
     986             {0xffff0000, 0x800180ff}};
     987        /** Code Point Ranges for Sylo
     988        [2404, 2405], [2534, 2543], [43008, 43051]**/
     989        const UnicodeSet sylo_Ext
     990            {{{Empty, 75}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
     991              {Empty, 1264}, {Full, 1}, {Mixed, 1}, {Empty, 33470}},
     992             {0x00000030, 0x0000ffc0, 0x00000fff}};
     993        /** Code Point Ranges for Xpeo
     994        [66464, 66499], [66504, 66517]**/
     995        const UnicodeSet xpeo_Ext
     996            {{{Empty, 2077}, {Full, 1}, {Mixed, 1}, {Empty, 32737}},
     997             {0x003fff0f}};
     998        /** Code Point Ranges for Khar
     999        [68096, 68099], [68101, 68102], [68108, 68115], [68117, 68119],
     1000        [68121, 68147], [68152, 68154], [68159, 68167], [68176, 68184]**/
     1001        const UnicodeSet khar_Ext
     1002            {{{Empty, 2128}, {Mixed, 3}, {Empty, 32685}},
     1003             {0xfeeff06f, 0x870fffff, 0x01ff00ff}};
     1004        /** Code Point Ranges for Bali
     1005        [6912, 6987], [6992, 7036]**/
     1006        const UnicodeSet bali_Ext
     1007            {{{Empty, 216}, {Full, 2}, {Mixed, 2}, {Empty, 34596}},
     1008             {0xffff0fff, 0x1fffffff}};
     1009        /** Code Point Ranges for Xsux
     1010        [73728, 74649], [74752, 74862], [74864, 74868], [74880, 75075]**/
     1011        const UnicodeSet xsux_Ext
     1012            {{{Empty, 2304}, {Full, 28}, {Mixed, 1}, {Empty, 3}, {Full, 3},
     1013              {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 32469}},
     1014             {0x03ffffff, 0x001f7fff, 0x0000000f}};
     1015        /** Code Point Ranges for Phnx
     1016        [67840, 67867], [67871, 67871]**/
     1017        const UnicodeSet phnx_Ext
     1018            {{{Empty, 2120}, {Mixed, 1}, {Empty, 32695}},
     1019             {0x8fffffff}};
     1020        /** Code Point Ranges for Phag
     1021        [6146, 6147], [6149, 6149], [43072, 43127]**/
     1022        const UnicodeSet phag_Ext
     1023            {{{Empty, 192}, {Mixed, 1}, {Empty, 1153}, {Full, 1},
     1024              {Mixed, 1}, {Empty, 33468}},
     1025             {0x0000002c, 0x00ffffff}};
     1026        /** Code Point Ranges for Nkoo
     1027        [1984, 2042]**/
     1028        const UnicodeSet nkoo_Ext
     1029            {{{Empty, 62}, {Full, 1}, {Mixed, 1}, {Empty, 34752}},
     1030             {0x07ffffff}};
     1031        /** Code Point Ranges for Sund
     1032        [7040, 7103], [7360, 7367]**/
     1033        const UnicodeSet sund_Ext
     1034            {{{Empty, 220}, {Full, 2}, {Empty, 8}, {Mixed, 1},
     1035              {Empty, 34585}},
     1036             {0x000000ff}};
     1037        /** Code Point Ranges for Lepc
     1038        [7168, 7223], [7227, 7241], [7245, 7247]**/
     1039        const UnicodeSet lepc_Ext
     1040            {{{Empty, 224}, {Full, 1}, {Mixed, 2}, {Empty, 34589}},
     1041             {0xf8ffffff, 0x0000e3ff}};
     1042        /** Code Point Ranges for Olck
     1043        [7248, 7295]**/
     1044        const UnicodeSet olck_Ext
     1045            {{{Empty, 226}, {Mixed, 1}, {Full, 1}, {Empty, 34588}},
     1046             {0xffff0000}};
     1047        /** Code Point Ranges for Vaii
     1048        [42240, 42539]**/
     1049        const UnicodeSet vaii_Ext
     1050            {{{Empty, 1320}, {Full, 9}, {Mixed, 1}, {Empty, 33486}},
     1051             {0x00000fff}};
     1052        /** Code Point Ranges for Saur
     1053        [43136, 43205], [43214, 43225]**/
     1054        const UnicodeSet saur_Ext
     1055            {{{Empty, 1348}, {Full, 2}, {Mixed, 1}, {Empty, 33465}},
     1056             {0x03ffc03f}};
     1057        /** Code Point Ranges for Kali
     1058        [43264, 43311]**/
     1059        const UnicodeSet kali_Ext
     1060            {{{Empty, 1352}, {Full, 1}, {Mixed, 1}, {Empty, 33462}},
     1061             {0x0000ffff}};
     1062        /** Code Point Ranges for Rjng
     1063        [43312, 43347], [43359, 43359]**/
     1064        const UnicodeSet rjng_Ext
     1065            {{{Empty, 1353}, {Mixed, 2}, {Empty, 33461}},
     1066             {0xffff0000, 0x800fffff}};
     1067        /** Code Point Ranges for Lyci
     1068        [66176, 66204]**/
     1069        const UnicodeSet lyci_Ext
     1070            {{{Empty, 2068}, {Mixed, 1}, {Empty, 32747}},
     1071             {0x1fffffff}};
     1072        /** Code Point Ranges for Cari
     1073        [66208, 66256]**/
     1074        const UnicodeSet cari_Ext
     1075            {{{Empty, 2069}, {Full, 1}, {Mixed, 1}, {Empty, 32745}},
     1076             {0x0001ffff}};
     1077        /** Code Point Ranges for Lydi
     1078        [67872, 67897], [67903, 67903]**/
     1079        const UnicodeSet lydi_Ext
     1080            {{{Empty, 2121}, {Mixed, 1}, {Empty, 32694}},
     1081             {0x83ffffff}};
     1082        /** Code Point Ranges for Cham
     1083        [43520, 43574], [43584, 43597], [43600, 43609], [43612, 43615]**/
     1084        const UnicodeSet cham_Ext
     1085            {{{Empty, 1360}, {Full, 1}, {Mixed, 2}, {Empty, 33453}},
     1086             {0x007fffff, 0xf3ff3fff}};
     1087        /** Code Point Ranges for Lana
     1088        [6688, 6750], [6752, 6780], [6783, 6793], [6800, 6809],
     1089        [6816, 6829]**/
     1090        const UnicodeSet lana_Ext
     1091            {{{Empty, 209}, {Full, 1}, {Mixed, 4}, {Empty, 34602}},
     1092             {0x7fffffff, 0x9fffffff, 0x03ff03ff, 0x00003fff}};
     1093        /** Code Point Ranges for Tavt
     1094        [43648, 43714], [43739, 43743]**/
     1095        const UnicodeSet tavt_Ext
     1096            {{{Empty, 1364}, {Full, 2}, {Mixed, 1}, {Empty, 33449}},
     1097             {0xf8000007}};
     1098        /** Code Point Ranges for Avst
     1099        [68352, 68405], [68409, 68415]**/
     1100        const UnicodeSet avst_Ext
     1101            {{{Empty, 2136}, {Full, 1}, {Mixed, 1}, {Empty, 32678}},
     1102             {0xfe3fffff}};
     1103        /** Code Point Ranges for Egyp
     1104        [77824, 78894]**/
     1105        const UnicodeSet egyp_Ext
     1106            {{{Empty, 2432}, {Full, 33}, {Mixed, 1}, {Empty, 32350}},
     1107             {0x00007fff}};
     1108        /** Code Point Ranges for Samr
     1109        [2048, 2093], [2096, 2110]**/
     1110        const UnicodeSet samr_Ext
     1111            {{{Empty, 64}, {Full, 1}, {Mixed, 1}, {Empty, 34750}},
     1112             {0x7fff3fff}};
     1113        /** Code Point Ranges for Lisu
     1114        [42192, 42239]**/
     1115        const UnicodeSet lisu_Ext
     1116            {{{Empty, 1318}, {Mixed, 1}, {Full, 1}, {Empty, 33496}},
     1117             {0xffff0000}};
     1118        /** Code Point Ranges for Bamu
     1119        [42656, 42743], [92160, 92728]**/
     1120        const UnicodeSet bamu_Ext
     1121            {{{Empty, 1333}, {Full, 2}, {Mixed, 1}, {Empty, 1544},
     1122              {Full, 17}, {Mixed, 1}, {Empty, 31918}},
     1123             {0x00ffffff, 0x01ffffff}};
     1124        /** Code Point Ranges for Java
     1125        [43392, 43469], [43471, 43481], [43486, 43487]**/
     1126        const UnicodeSet java_Ext
     1127            {{{Empty, 1356}, {Full, 2}, {Mixed, 1}, {Empty, 33457}},
     1128             {0xc3ffbfff}};
     1129        /** Code Point Ranges for Mtei
     1130        [43744, 43766], [43968, 44013], [44016, 44025]**/
     1131        const UnicodeSet mtei_Ext
     1132            {{{Empty, 1367}, {Mixed, 1}, {Empty, 6}, {Full, 1}, {Mixed, 1},
     1133              {Empty, 33440}},
     1134             {0x007fffff, 0x03ff3fff}};
     1135        /** Code Point Ranges for Armi
     1136        [67648, 67669], [67671, 67679]**/
     1137        const UnicodeSet armi_Ext
     1138            {{{Empty, 2114}, {Mixed, 1}, {Empty, 32701}},
     1139             {0xffbfffff}};
     1140        /** Code Point Ranges for Sarb
     1141        [68192, 68223]**/
     1142        const UnicodeSet sarb_Ext
     1143            {{{Empty, 2131}, {Full, 1}, {Empty, 32684}},
     1144             {}};
     1145        /** Code Point Ranges for Prti
     1146        [68416, 68437], [68440, 68447]**/
     1147        const UnicodeSet prti_Ext
     1148            {{{Empty, 2138}, {Mixed, 1}, {Empty, 32677}},
     1149             {0xff3fffff}};
     1150        /** Code Point Ranges for Phli
     1151        [68448, 68466], [68472, 68479]**/
     1152        const UnicodeSet phli_Ext
     1153            {{{Empty, 2139}, {Mixed, 1}, {Empty, 32676}},
     1154             {0xff07ffff}};
     1155        /** Code Point Ranges for Orkh
     1156        [68608, 68680]**/
     1157        const UnicodeSet orkh_Ext
     1158            {{{Empty, 2144}, {Full, 2}, {Mixed, 1}, {Empty, 32669}},
     1159             {0x000001ff}};
     1160        /** Code Point Ranges for Kthi
     1161        [2406, 2415], [43056, 43065], [69760, 69825]**/
     1162        const UnicodeSet kthi_Ext
     1163            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
     1164              {Empty, 834}, {Full, 2}, {Mixed, 1}, {Empty, 32633}},
     1165             {0x0000ffc0, 0x03ff0000, 0x00000003}};
     1166        /** Code Point Ranges for Batk
     1167        [7104, 7155], [7164, 7167]**/
     1168        const UnicodeSet batk_Ext
     1169            {{{Empty, 222}, {Full, 1}, {Mixed, 1}, {Empty, 34592}},
     1170             {0xf00fffff}};
     1171        /** Code Point Ranges for Brah
     1172        [69632, 69709], [69714, 69743], [69759, 69759]**/
     1173        const UnicodeSet brah_Ext
     1174            {{{Empty, 2176}, {Full, 2}, {Mixed, 2}, {Empty, 32636}},
     1175             {0xfffc3fff, 0x8000ffff}};
     1176        /** Code Point Ranges for Mand
     1177        [1600, 1600], [2112, 2139], [2142, 2142]**/
     1178        const UnicodeSet mand_Ext
     1179            {{{Empty, 50}, {Mixed, 1}, {Empty, 15}, {Mixed, 1},
     1180              {Empty, 34749}},
     1181             {0x00000001, 0x4fffffff}};
     1182        /** Code Point Ranges for Cakm
     1183        [2534, 2543], [4160, 4169], [69888, 69940], [69942, 69955]**/
     1184        const UnicodeSet cakm_Ext
     1185            {{{Empty, 79}, {Mixed, 1}, {Empty, 50}, {Mixed, 1},
     1186              {Empty, 2053}, {Full, 1}, {Mixed, 2}, {Empty, 32629}},
     1187             {0x0000ffc0, 0x000003ff, 0xffdfffff, 0x0000000f}};
     1188        /** Code Point Ranges for Merc
     1189        [68000, 68023], [68028, 68047], [68050, 68095]**/
     1190        const UnicodeSet merc_Ext
     1191            {{{Empty, 2125}, {Mixed, 2}, {Full, 1}, {Empty, 32688}},
     1192             {0xf0ffffff, 0xfffcffff}};
     1193        /** Code Point Ranges for Mero
     1194        [67968, 67999]**/
     1195        const UnicodeSet mero_Ext
     1196            {{{Empty, 2124}, {Full, 1}, {Empty, 32691}},
     1197             {}};
     1198        /** Code Point Ranges for Plrd
     1199        [93952, 94020], [94032, 94078], [94095, 94111]**/
     1200        const UnicodeSet plrd_Ext
     1201            {{{Empty, 2936}, {Full, 2}, {Mixed, 3}, {Empty, 31875}},
     1202             {0xffff001f, 0x7fffffff, 0xffff8000}};
     1203        /** Code Point Ranges for Shrd
     1204        [2385, 2385], [7383, 7383], [7385, 7385], [7388, 7389],
     1205        [7392, 7392], [70016, 70093], [70096, 70111]**/
     1206        const UnicodeSet shrd_Ext
     1207            {{{Empty, 74}, {Mixed, 1}, {Empty, 155}, {Mixed, 2},
     1208              {Empty, 1956}, {Full, 2}, {Mixed, 1}, {Empty, 32625}},
     1209             {0x00020000, 0x32800000, 0x00000001, 0xffff3fff}};
     1210        /** Code Point Ranges for Sora
     1211        [69840, 69864], [69872, 69881]**/
     1212        const UnicodeSet sora_Ext
     1213            {{{Empty, 2182}, {Mixed, 2}, {Empty, 32632}},
     1214             {0xffff0000, 0x03ff01ff}};
     1215        /** Code Point Ranges for Takr
     1216        [2404, 2405], [43056, 43065], [71296, 71351], [71360, 71369]**/
     1217        const UnicodeSet takr_Ext
     1218            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
     1219              {Empty, 882}, {Full, 1}, {Mixed, 2}, {Empty, 32585}},
     1220             {0x00000030, 0x03ff0000, 0x00ffffff, 0x000003ff}};
     1221        /** Code Point Ranges for Aghb
     1222        [66864, 66915], [66927, 66927]**/
     1223        const UnicodeSet aghb_Ext
     1224            {{{Empty, 2089}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     1225              {Empty, 32724}},
     1226             {0xffff0000, 0x0000800f}};
     1227        /** Code Point Ranges for Bass
     1228        [92880, 92909], [92912, 92917]**/
     1229        const UnicodeSet bass_Ext
     1230            {{{Empty, 2902}, {Mixed, 2}, {Empty, 31912}},
     1231             {0xffff0000, 0x003f3fff}};
     1232        /** Code Point Ranges for Dupl
     1233        [113664, 113770], [113776, 113788], [113792, 113800],
     1234        [113808, 113817], [113820, 113827]**/
     1235        const UnicodeSet dupl_Ext
     1236            {{{Empty, 3552}, {Full, 3}, {Mixed, 3}, {Empty, 31258}},
     1237             {0x1fff07ff, 0xf3ff01ff, 0x0000000f}};
     1238        /** Code Point Ranges for Elba
     1239        [66816, 66855]**/
     1240        const UnicodeSet elba_Ext
     1241            {{{Empty, 2088}, {Full, 1}, {Mixed, 1}, {Empty, 32726}},
     1242             {0x000000ff}};
     1243        /** Code Point Ranges for Gran
     1244        [2385, 2386], [2404, 2405], [2986, 2986], [2997, 2997],
     1245        [3046, 3058], [7376, 7376], [7378, 7379], [7410, 7412],
     1246        [7416, 7417], [8432, 8432], [70400, 70403], [70405, 70412],
     1247        [70415, 70416], [70419, 70440], [70442, 70448], [70450, 70451],
     1248        [70453, 70457], [70460, 70468], [70471, 70472], [70475, 70477],
     1249        [70480, 70480], [70487, 70487], [70493, 70499], [70502, 70508],
     1250        [70512, 70516]**/
     1251        const UnicodeSet gran_Ext
     1252            {{{Empty, 74}, {Mixed, 2}, {Empty, 17}, {Mixed, 1}, {Empty, 1},
     1253              {Mixed, 1}, {Empty, 134}, {Mixed, 2}, {Empty, 31}, {Mixed, 1},
     1254              {Empty, 1936}, {Mixed, 4}, {Empty, 32612}},
     1255             {0x00060000, 0x00000030, 0x00200400, 0x0007ffc0, 0x000d0000,
     1256              0x031c0000, 0x00010000, 0xfff99fef, 0xf3edfdff, 0xe081399f,
     1257              0x001f1fcf}};
     1258        /** Code Point Ranges for Hmng
     1259        [92928, 92997], [93008, 93017], [93019, 93025], [93027, 93047],
     1260        [93053, 93071]**/
     1261        const UnicodeSet hmng_Ext
     1262            {{{Empty, 2904}, {Full, 2}, {Mixed, 3}, {Empty, 31907}},
     1263             {0xfbff003f, 0xe0fffffb, 0x0000ffff}};
     1264        /** Code Point Ranges for Khoj
     1265        [2790, 2799], [70144, 70161], [70163, 70206]**/
     1266        const UnicodeSet khoj_Ext
     1267            {{{Empty, 87}, {Mixed, 1}, {Empty, 2104}, {Mixed, 2},
     1268              {Empty, 32622}},
     1269             {0x0000ffc0, 0xfffbffff, 0x7fffffff}};
     1270        /** Code Point Ranges for Lina
     1271        [65799, 65843], [67072, 67382], [67392, 67413], [67424, 67431]**/
     1272        const UnicodeSet lina_Ext
     1273            {{{Empty, 2056}, {Mixed, 2}, {Empty, 38}, {Full, 9}, {Mixed, 3},
     1274              {Empty, 32708}},
     1275             {0xffffff80, 0x000fffff, 0x007fffff, 0x003fffff, 0x000000ff}};
     1276        /** Code Point Ranges for Mahj
     1277        [2404, 2415], [43056, 43065], [69968, 70006]**/
     1278        const UnicodeSet mahj_Ext
     1279            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
     1280              {Empty, 840}, {Mixed, 2}, {Empty, 32628}},
     1281             {0x0000fff0, 0x03ff0000, 0xffff0000, 0x007fffff}};
     1282        /** Code Point Ranges for Mani
     1283        [1600, 1600], [68288, 68326], [68331, 68342]**/
     1284        const UnicodeSet mani_Ext
     1285            {{{Empty, 50}, {Mixed, 1}, {Empty, 2083}, {Full, 1}, {Mixed, 1},
     1286              {Empty, 32680}},
     1287             {0x00000001, 0x007ff87f}};
     1288        /** Code Point Ranges for Mend
     1289        [124928, 125124], [125127, 125142]**/
     1290        const UnicodeSet mend_Ext
     1291            {{{Empty, 3904}, {Full, 6}, {Mixed, 1}, {Empty, 30905}},
     1292             {0x007fff9f}};
     1293        /** Code Point Ranges for Modi
     1294        [43056, 43065], [71168, 71236], [71248, 71257]**/
     1295        const UnicodeSet modi_Ext
     1296            {{{Empty, 1345}, {Mixed, 1}, {Empty, 878}, {Full, 2},
     1297              {Mixed, 1}, {Empty, 32589}},
     1298             {0x03ff0000, 0x03ff001f}};
     1299        /** Code Point Ranges for Mroo
     1300        [92736, 92766], [92768, 92777], [92782, 92783]**/
     1301        const UnicodeSet mroo_Ext
     1302            {{{Empty, 2898}, {Mixed, 2}, {Empty, 31916}},
     1303             {0x7fffffff, 0x0000c3ff}};
     1304        /** Code Point Ranges for Narb
     1305        [68224, 68255]**/
     1306        const UnicodeSet narb_Ext
     1307            {{{Empty, 2132}, {Full, 1}, {Empty, 32683}},
     1308             {}};
     1309        /** Code Point Ranges for Nbat
     1310        [67712, 67742], [67751, 67759]**/
     1311        const UnicodeSet nbat_Ext
     1312            {{{Empty, 2116}, {Mixed, 2}, {Empty, 32698}},
     1313             {0x7fffffff, 0x0000ff80}};
     1314        /** Code Point Ranges for Palm
     1315        [67680, 67711]**/
     1316        const UnicodeSet palm_Ext
     1317            {{{Empty, 2115}, {Full, 1}, {Empty, 32700}},
     1318             {}};
     1319        /** Code Point Ranges for Pauc
     1320        [72384, 72440]**/
     1321        const UnicodeSet pauc_Ext
     1322            {{{Empty, 2262}, {Full, 1}, {Mixed, 1}, {Empty, 32552}},
     1323             {0x01ffffff}};
     1324        /** Code Point Ranges for Perm
     1325        [1155, 1155], [66384, 66426]**/
     1326        const UnicodeSet perm_Ext
     1327            {{{Empty, 36}, {Mixed, 1}, {Empty, 2037}, {Mixed, 2},
     1328              {Empty, 32740}},
     1329             {0x00000008, 0xffff0000, 0x07ffffff}};
     1330        /** Code Point Ranges for Phlp
     1331        [1600, 1600], [68480, 68497], [68505, 68508], [68521, 68527]**/
     1332        const UnicodeSet phlp_Ext
     1333            {{{Empty, 50}, {Mixed, 1}, {Empty, 2089}, {Mixed, 2},
     1334              {Empty, 32674}},
     1335             {0x00000001, 0x1e03ffff, 0x0000fe00}};
     1336        /** Code Point Ranges for Sidd
     1337        [71040, 71093], [71096, 71133]**/
     1338        const UnicodeSet sidd_Ext
     1339            {{{Empty, 2220}, {Full, 1}, {Mixed, 2}, {Empty, 32593}},
     1340             {0xff3fffff, 0x3fffffff}};
     1341        /** Code Point Ranges for Sind
     1342        [2404, 2405], [43056, 43065], [70320, 70378], [70384, 70393]**/
     1343        const UnicodeSet sind_Ext
     1344            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
     1345              {Empty, 851}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     1346              {Empty, 32616}},
     1347             {0x00000030, 0x03ff0000, 0xffff0000, 0x03ff07ff}};
     1348        /** Code Point Ranges for Tirh
     1349        [2404, 2405], [43056, 43065], [70784, 70855], [70864, 70873]**/
     1350        const UnicodeSet tirh_Ext
     1351            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
     1352              {Empty, 866}, {Full, 2}, {Mixed, 1}, {Empty, 32601}},
     1353             {0x00000030, 0x03ff0000, 0x03ff00ff}};
     1354        /** Code Point Ranges for Wara
     1355        [71840, 71922], [71935, 71935]**/
     1356        const UnicodeSet wara_Ext
     1357            {{{Empty, 2245}, {Full, 2}, {Mixed, 1}, {Empty, 32568}},
     1358             {0x8007ffff}};
     1359        /** Code Point Ranges for Ahom
     1360        [71424, 71449], [71453, 71467], [71472, 71487]**/
     1361        const UnicodeSet ahom_Ext
     1362            {{{Empty, 2232}, {Mixed, 2}, {Empty, 32582}},
     1363             {0xe3ffffff, 0xffff0fff}};
     1364        /** Code Point Ranges for Hluw
     1365        [82944, 83526]**/
     1366        const UnicodeSet hluw_Ext
     1367            {{{Empty, 2592}, {Full, 18}, {Mixed, 1}, {Empty, 32205}},
     1368             {0x0000007f}};
     1369        /** Code Point Ranges for Hatr
     1370        [67808, 67826], [67828, 67829], [67835, 67839]**/
     1371        const UnicodeSet hatr_Ext
     1372            {{{Empty, 2119}, {Mixed, 1}, {Empty, 32696}},
     1373             {0xf837ffff}};
     1374        /** Code Point Ranges for Mult
     1375        [2662, 2671], [70272, 70278], [70280, 70280], [70282, 70285],
     1376        [70287, 70301], [70303, 70313]**/
     1377        const UnicodeSet mult_Ext
     1378            {{{Empty, 83}, {Mixed, 1}, {Empty, 2112}, {Mixed, 2},
     1379              {Empty, 32618}},
     1380             {0x0000ffc0, 0xbfffbd7f, 0x000003ff}};
     1381        /** Code Point Ranges for Hung
     1382        [68736, 68786], [68800, 68850], [68858, 68863]**/
     1383        const UnicodeSet hung_Ext
     1384            {{{Empty, 2148}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     1385              {Empty, 32664}},
     1386             {0x0007ffff, 0xfc07ffff}};
     1387        /** Code Point Ranges for Sgnw
     1388        [120832, 121483], [121499, 121503], [121505, 121519]**/
     1389        const UnicodeSet sgnw_Ext
     1390            {{{Empty, 3776}, {Full, 20}, {Mixed, 2}, {Empty, 31018}},
     1391             {0xf8000fff, 0x0000fffe}};
     1392        /** Code Point Ranges for Adlm
     1393        [1600, 1600], [125184, 125258], [125264, 125273], [125278, 125279]**/
     1394        const UnicodeSet adlm_Ext
     1395            {{{Empty, 50}, {Mixed, 1}, {Empty, 3861}, {Full, 2}, {Mixed, 1},
     1396              {Empty, 30901}},
     1397             {0x00000001, 0xc3ff07ff}};
     1398        /** Code Point Ranges for Bhks
     1399        [72704, 72712], [72714, 72758], [72760, 72773], [72784, 72812]**/
     1400        const UnicodeSet bhks_Ext
     1401            {{{Empty, 2272}, {Mixed, 4}, {Empty, 32540}},
     1402             {0xfffffdff, 0xff7fffff, 0xffff003f, 0x00001fff}};
     1403        /** Code Point Ranges for Marc
     1404        [72816, 72847], [72850, 72871], [72873, 72886]**/
     1405        const UnicodeSet marc_Ext
     1406            {{{Empty, 2275}, {Mixed, 3}, {Empty, 32538}},
     1407             {0xffff0000, 0xfffcffff, 0x007ffeff}};
     1408        /** Code Point Ranges for Newa
     1409        [70656, 70745], [70747, 70747], [70749, 70749]**/
     1410        const UnicodeSet newa_Ext
     1411            {{{Empty, 2208}, {Full, 2}, {Mixed, 1}, {Empty, 32605}},
     1412             {0x2bffffff}};
     1413        /** Code Point Ranges for Osge
     1414        [66736, 66771], [66776, 66811]**/
     1415        const UnicodeSet osge_Ext
     1416            {{{Empty, 2085}, {Mixed, 3}, {Empty, 32728}},
     1417             {0xffff0000, 0xff0fffff, 0x0fffffff}};
     1418        /** Code Point Ranges for Tang
     1419        [94176, 94176], [94208, 100332], [100352, 101106]**/
     1420        const UnicodeSet tang_Ext
     1421            {{{Empty, 2943}, {Mixed, 1}, {Full, 191}, {Mixed, 1},
     1422              {Full, 23}, {Mixed, 1}, {Empty, 31656}},
     1423             {0x00000001, 0x00001fff, 0x0007ffff}};
     1424        /** Code Point Ranges for Hrkt
     1425        **/
     1426        const UnicodeSet hrkt_Ext
     1427            {{{Empty, 34816}},
     1428             {}};
    14291429        static ExtensionPropertyObject property_object
    14301430       {scx,
    14311431        UCD::sc,
    1432        {&adlm_Ext, &aghb_Ext, &ahom_Ext, &arab_Ext, &armi_Ext, &armn_Ext,
    1433         &avst_Ext, &bali_Ext, &bamu_Ext, &bass_Ext, &batk_Ext, &beng_Ext,
    1434         &bhks_Ext, &bopo_Ext, &brah_Ext, &brai_Ext, &bugi_Ext, &buhd_Ext,
    1435         &cakm_Ext, &cans_Ext, &cari_Ext, &cham_Ext, &cher_Ext, &copt_Ext,
    1436         &cprt_Ext, &cyrl_Ext, &deva_Ext, &dsrt_Ext, &dupl_Ext, &egyp_Ext,
    1437         &elba_Ext, &ethi_Ext, &geor_Ext, &glag_Ext, &goth_Ext, &gran_Ext,
    1438         &grek_Ext, &gujr_Ext, &guru_Ext, &hang_Ext, &hani_Ext, &hano_Ext,
    1439         &hatr_Ext, &hebr_Ext, &hira_Ext, &hluw_Ext, &hmng_Ext, &hrkt_Ext,
    1440         &hung_Ext, &ital_Ext, &java_Ext, &kali_Ext, &kana_Ext, &khar_Ext,
    1441         &khmr_Ext, &khoj_Ext, &knda_Ext, &kthi_Ext, &lana_Ext, &laoo_Ext,
    1442         &latn_Ext, &lepc_Ext, &limb_Ext, &lina_Ext, &linb_Ext, &lisu_Ext,
    1443         &lyci_Ext, &lydi_Ext, &mahj_Ext, &mand_Ext, &mani_Ext, &marc_Ext,
    1444         &mend_Ext, &merc_Ext, &mero_Ext, &mlym_Ext, &modi_Ext, &mong_Ext,
    1445         &mroo_Ext, &mtei_Ext, &mult_Ext, &mymr_Ext, &narb_Ext, &nbat_Ext,
    1446         &newa_Ext, &nkoo_Ext, &ogam_Ext, &olck_Ext, &orkh_Ext, &orya_Ext,
    1447         &osge_Ext, &osma_Ext, &palm_Ext, &pauc_Ext, &perm_Ext, &phag_Ext,
    1448         &phli_Ext, &phlp_Ext, &phnx_Ext, &plrd_Ext, &prti_Ext, &rjng_Ext,
    1449         &runr_Ext, &samr_Ext, &sarb_Ext, &saur_Ext, &sgnw_Ext, &shaw_Ext,
    1450         &shrd_Ext, &sidd_Ext, &sind_Ext, &sinh_Ext, &sora_Ext, &sund_Ext,
    1451         &sylo_Ext, &syrc_Ext, &tagb_Ext, &takr_Ext, &tale_Ext, &talu_Ext,
    1452         &taml_Ext, &tang_Ext, &tavt_Ext, &telu_Ext, &tfng_Ext, &tglg_Ext,
    1453         &thaa_Ext, &thai_Ext, &tibt_Ext, &tirh_Ext, &ugar_Ext, &vaii_Ext,
    1454         &wara_Ext, &xpeo_Ext, &xsux_Ext, &yiii_Ext, &zinh_Ext, &zyyy_Ext,
    1455         &zzzz_Ext
     1432       {&zzzz_Ext, &zyyy_Ext, &latn_Ext, &grek_Ext, &cyrl_Ext, &armn_Ext,
     1433        &hebr_Ext, &arab_Ext, &syrc_Ext, &thaa_Ext, &deva_Ext, &beng_Ext,
     1434        &guru_Ext, &gujr_Ext, &orya_Ext, &taml_Ext, &telu_Ext, &knda_Ext,
     1435        &mlym_Ext, &sinh_Ext, &thai_Ext, &laoo_Ext, &tibt_Ext, &mymr_Ext,
     1436        &geor_Ext, &hang_Ext, &ethi_Ext, &cher_Ext, &cans_Ext, &ogam_Ext,
     1437        &runr_Ext, &khmr_Ext, &mong_Ext, &hira_Ext, &kana_Ext, &bopo_Ext,
     1438        &hani_Ext, &yiii_Ext, &ital_Ext, &goth_Ext, &dsrt_Ext, &zinh_Ext,
     1439        &tglg_Ext, &hano_Ext, &buhd_Ext, &tagb_Ext, &limb_Ext, &tale_Ext,
     1440        &linb_Ext, &ugar_Ext, &shaw_Ext, &osma_Ext, &cprt_Ext, &brai_Ext,
     1441        &bugi_Ext, &copt_Ext, &talu_Ext, &glag_Ext, &tfng_Ext, &sylo_Ext,
     1442        &xpeo_Ext, &khar_Ext, &bali_Ext, &xsux_Ext, &phnx_Ext, &phag_Ext,
     1443        &nkoo_Ext, &sund_Ext, &lepc_Ext, &olck_Ext, &vaii_Ext, &saur_Ext,
     1444        &kali_Ext, &rjng_Ext, &lyci_Ext, &cari_Ext, &lydi_Ext, &cham_Ext,
     1445        &lana_Ext, &tavt_Ext, &avst_Ext, &egyp_Ext, &samr_Ext, &lisu_Ext,
     1446        &bamu_Ext, &java_Ext, &mtei_Ext, &armi_Ext, &sarb_Ext, &prti_Ext,
     1447        &phli_Ext, &orkh_Ext, &kthi_Ext, &batk_Ext, &brah_Ext, &mand_Ext,
     1448        &cakm_Ext, &merc_Ext, &mero_Ext, &plrd_Ext, &shrd_Ext, &sora_Ext,
     1449        &takr_Ext, &aghb_Ext, &bass_Ext, &dupl_Ext, &elba_Ext, &gran_Ext,
     1450        &hmng_Ext, &khoj_Ext, &lina_Ext, &mahj_Ext, &mani_Ext, &mend_Ext,
     1451        &modi_Ext, &mroo_Ext, &narb_Ext, &nbat_Ext, &palm_Ext, &pauc_Ext,
     1452        &perm_Ext, &phlp_Ext, &sidd_Ext, &sind_Ext, &tirh_Ext, &wara_Ext,
     1453        &ahom_Ext, &hluw_Ext, &hatr_Ext, &mult_Ext, &hung_Ext, &sgnw_Ext,
     1454        &adlm_Ext, &bhks_Ext, &marc_Ext, &newa_Ext, &osge_Ext, &tang_Ext,
     1455        &hrkt_Ext
    14561456        }};
    14571457    }
Note: See TracChangeset for help on using the changeset viewer.