// Code generated by scripts/gen_unicode_tables.rb from Ruby 2.6.10 (Unicode 12.1.0). DO NOT EDIT.

///|
/// Inclusive code point ranges (flattened lo/hi pairs) for `\p{Alpha}`.
let alpha_ranges : FixedArray[Int] = [
  0x41, 0x5A, 0x61, 0x7A, 0xAA, 0xAA, 0xB5, 0xB5, 0xBA, 0xBA, 0xC0, 0xD6, 0xD8, 0xF6,
  0xF8, 0x2C1, 0x2C6, 0x2D1, 0x2E0, 0x2E4, 0x2EC, 0x2EC, 0x2EE, 0x2EE, 0x345, 0x345,
  0x370, 0x374, 0x376, 0x377, 0x37A, 0x37D, 0x37F, 0x37F, 0x386, 0x386, 0x388, 0x38A,
  0x38C, 0x38C, 0x38E, 0x3A1, 0x3A3, 0x3F5, 0x3F7, 0x481, 0x48A, 0x52F, 0x531, 0x556,
  0x559, 0x559, 0x560, 0x588, 0x5B0, 0x5BD, 0x5BF, 0x5BF, 0x5C1, 0x5C2, 0x5C4, 0x5C5,
  0x5C7, 0x5C7, 0x5D0, 0x5EA, 0x5EF, 0x5F2, 0x610, 0x61A, 0x620, 0x657, 0x659, 0x65F,
  0x66E, 0x6D3, 0x6D5, 0x6DC, 0x6E1, 0x6E8, 0x6ED, 0x6EF, 0x6FA, 0x6FC, 0x6FF, 0x6FF,
  0x710, 0x73F, 0x74D, 0x7B1, 0x7CA, 0x7EA, 0x7F4, 0x7F5, 0x7FA, 0x7FA, 0x800, 0x817,
  0x81A, 0x82C, 0x840, 0x858, 0x860, 0x86A, 0x8A0, 0x8B4, 0x8B6, 0x8BD, 0x8D4, 0x8DF,
  0x8E3, 0x8E9, 0x8F0, 0x93B, 0x93D, 0x94C, 0x94E, 0x950, 0x955, 0x963, 0x971, 0x983,
  0x985, 0x98C, 0x98F, 0x990, 0x993, 0x9A8, 0x9AA, 0x9B0, 0x9B2, 0x9B2, 0x9B6, 0x9B9,
  0x9BD, 0x9C4, 0x9C7, 0x9C8, 0x9CB, 0x9CC, 0x9CE, 0x9CE, 0x9D7, 0x9D7, 0x9DC, 0x9DD,
  0x9DF, 0x9E3, 0x9F0, 0x9F1, 0x9FC, 0x9FC, 0xA01, 0xA03, 0xA05, 0xA0A, 0xA0F, 0xA10,
  0xA13, 0xA28, 0xA2A, 0xA30, 0xA32, 0xA33, 0xA35, 0xA36, 0xA38, 0xA39, 0xA3E, 0xA42,
  0xA47, 0xA48, 0xA4B, 0xA4C, 0xA51, 0xA51, 0xA59, 0xA5C, 0xA5E, 0xA5E, 0xA70, 0xA75,
  0xA81, 0xA83, 0xA85, 0xA8D, 0xA8F, 0xA91, 0xA93, 0xAA8, 0xAAA, 0xAB0, 0xAB2, 0xAB3,
  0xAB5, 0xAB9, 0xABD, 0xAC5, 0xAC7, 0xAC9, 0xACB, 0xACC, 0xAD0, 0xAD0, 0xAE0, 0xAE3,
  0xAF9, 0xAFC, 0xB01, 0xB03, 0xB05, 0xB0C, 0xB0F, 0xB10, 0xB13, 0xB28, 0xB2A, 0xB30,
  0xB32, 0xB33, 0xB35, 0xB39, 0xB3D, 0xB44, 0xB47, 0xB48, 0xB4B, 0xB4C, 0xB56, 0xB57,
  0xB5C, 0xB5D, 0xB5F, 0xB63, 0xB71, 0xB71, 0xB82, 0xB83, 0xB85, 0xB8A, 0xB8E, 0xB90,
  0xB92, 0xB95, 0xB99, 0xB9A, 0xB9C, 0xB9C, 0xB9E, 0xB9F, 0xBA3, 0xBA4, 0xBA8, 0xBAA,
  0xBAE, 0xBB9, 0xBBE, 0xBC2, 0xBC6, 0xBC8, 0xBCA, 0xBCC, 0xBD0, 0xBD0, 0xBD7, 0xBD7,
  0xC00, 0xC03, 0xC05, 0xC0C, 0xC0E, 0xC10, 0xC12, 0xC28, 0xC2A, 0xC39, 0xC3D, 0xC44,
  0xC46, 0xC48, 0xC4A, 0xC4C, 0xC55, 0xC56, 0xC58, 0xC5A, 0xC60, 0xC63, 0xC80, 0xC83,
  0xC85, 0xC8C, 0xC8E, 0xC90, 0xC92, 0xCA8, 0xCAA, 0xCB3, 0xCB5, 0xCB9, 0xCBD, 0xCC4,
  0xCC6, 0xCC8, 0xCCA, 0xCCC, 0xCD5, 0xCD6, 0xCDE, 0xCDE, 0xCE0, 0xCE3, 0xCF1, 0xCF2,
  0xD00, 0xD03, 0xD05, 0xD0C, 0xD0E, 0xD10, 0xD12, 0xD3A, 0xD3D, 0xD44, 0xD46, 0xD48,
  0xD4A, 0xD4C, 0xD4E, 0xD4E, 0xD54, 0xD57, 0xD5F, 0xD63, 0xD7A, 0xD7F, 0xD82, 0xD83,
  0xD85, 0xD96, 0xD9A, 0xDB1, 0xDB3, 0xDBB, 0xDBD, 0xDBD, 0xDC0, 0xDC6, 0xDCF, 0xDD4,
  0xDD6, 0xDD6, 0xDD8, 0xDDF, 0xDF2, 0xDF3, 0xE01, 0xE3A, 0xE40, 0xE46, 0xE4D, 0xE4D,
  0xE81, 0xE82, 0xE84, 0xE84, 0xE86, 0xE8A, 0xE8C, 0xEA3, 0xEA5, 0xEA5, 0xEA7, 0xEB9,
  0xEBB, 0xEBD, 0xEC0, 0xEC4, 0xEC6, 0xEC6, 0xECD, 0xECD, 0xEDC, 0xEDF, 0xF00, 0xF00,
  0xF40, 0xF47, 0xF49, 0xF6C, 0xF71, 0xF81, 0xF88, 0xF97, 0xF99, 0xFBC, 0x1000, 0x1036,
  0x1038, 0x1038, 0x103B, 0x103F, 0x1050, 0x108F, 0x109A, 0x109D, 0x10A0, 0x10C5,
  0x10C7, 0x10C7, 0x10CD, 0x10CD, 0x10D0, 0x10FA, 0x10FC, 0x1248, 0x124A, 0x124D,
  0x1250, 0x1256, 0x1258, 0x1258, 0x125A, 0x125D, 0x1260, 0x1288, 0x128A, 0x128D,
  0x1290, 0x12B0, 0x12B2, 0x12B5, 0x12B8, 0x12BE, 0x12C0, 0x12C0, 0x12C2, 0x12C5,
  0x12C8, 0x12D6, 0x12D8, 0x1310, 0x1312, 0x1315, 0x1318, 0x135A, 0x1380, 0x138F,
  0x13A0, 0x13F5, 0x13F8, 0x13FD, 0x1401, 0x166C, 0x166F, 0x167F, 0x1681, 0x169A,
  0x16A0, 0x16EA, 0x16EE, 0x16F8, 0x1700, 0x170C, 0x170E, 0x1713, 0x1720, 0x1733,
  0x1740, 0x1753, 0x1760, 0x176C, 0x176E, 0x1770, 0x1772, 0x1773, 0x1780, 0x17B3,
  0x17B6, 0x17C8, 0x17D7, 0x17D7, 0x17DC, 0x17DC, 0x1820, 0x1878, 0x1880, 0x18AA,
  0x18B0, 0x18F5, 0x1900, 0x191E, 0x1920, 0x192B, 0x1930, 0x1938, 0x1950, 0x196D,
  0x1970, 0x1974, 0x1980, 0x19AB, 0x19B0, 0x19C9, 0x1A00, 0x1A1B, 0x1A20, 0x1A5E,
  0x1A61, 0x1A74, 0x1AA7, 0x1AA7, 0x1B00, 0x1B33, 0x1B35, 0x1B43, 0x1B45, 0x1B4B,
  0x1B80, 0x1BA9, 0x1BAC, 0x1BAF, 0x1BBA, 0x1BE5, 0x1BE7, 0x1BF1, 0x1C00, 0x1C36,
  0x1C4D, 0x1C4F, 0x1C5A, 0x1C7D, 0x1C80, 0x1C88, 0x1C90, 0x1CBA, 0x1CBD, 0x1CBF,
  0x1CE9, 0x1CEC, 0x1CEE, 0x1CF3, 0x1CF5, 0x1CF6, 0x1CFA, 0x1CFA, 0x1D00, 0x1DBF,
  0x1DE7, 0x1DF4, 0x1E00, 0x1F15, 0x1F18, 0x1F1D, 0x1F20, 0x1F45, 0x1F48, 0x1F4D,
  0x1F50, 0x1F57, 0x1F59, 0x1F59, 0x1F5B, 0x1F5B, 0x1F5D, 0x1F5D, 0x1F5F, 0x1F7D,
  0x1F80, 0x1FB4, 0x1FB6, 0x1FBC, 0x1FBE, 0x1FBE, 0x1FC2, 0x1FC4, 0x1FC6, 0x1FCC,
  0x1FD0, 0x1FD3, 0x1FD6, 0x1FDB, 0x1FE0, 0x1FEC, 0x1FF2, 0x1FF4, 0x1FF6, 0x1FFC,
  0x2071, 0x2071, 0x207F, 0x207F, 0x2090, 0x209C, 0x2102, 0x2102, 0x2107, 0x2107,
  0x210A, 0x2113, 0x2115, 0x2115, 0x2119, 0x211D, 0x2124, 0x2124, 0x2126, 0x2126,
  0x2128, 0x2128, 0x212A, 0x212D, 0x212F, 0x2139, 0x213C, 0x213F, 0x2145, 0x2149,
  0x214E, 0x214E, 0x2160, 0x2188, 0x24B6, 0x24E9, 0x2C00, 0x2C2E, 0x2C30, 0x2C5E,
  0x2C60, 0x2CE4, 0x2CEB, 0x2CEE, 0x2CF2, 0x2CF3, 0x2D00, 0x2D25, 0x2D27, 0x2D27,
  0x2D2D, 0x2D2D, 0x2D30, 0x2D67, 0x2D6F, 0x2D6F, 0x2D80, 0x2D96, 0x2DA0, 0x2DA6,
  0x2DA8, 0x2DAE, 0x2DB0, 0x2DB6, 0x2DB8, 0x2DBE, 0x2DC0, 0x2DC6, 0x2DC8, 0x2DCE,
  0x2DD0, 0x2DD6, 0x2DD8, 0x2DDE, 0x2DE0, 0x2DFF, 0x2E2F, 0x2E2F, 0x3005, 0x3007,
  0x3021, 0x3029, 0x3031, 0x3035, 0x3038, 0x303C, 0x3041, 0x3096, 0x309D, 0x309F,
  0x30A1, 0x30FA, 0x30FC, 0x30FF, 0x3105, 0x312F, 0x3131, 0x318E, 0x31A0, 0x31BA,
  0x31F0, 0x31FF, 0x3400, 0x4DB5, 0x4E00, 0x9FEF, 0xA000, 0xA48C, 0xA4D0, 0xA4FD,
  0xA500, 0xA60C, 0xA610, 0xA61F, 0xA62A, 0xA62B, 0xA640, 0xA66E, 0xA674, 0xA67B,
  0xA67F, 0xA6EF, 0xA717, 0xA71F, 0xA722, 0xA788, 0xA78B, 0xA7BF, 0xA7C2, 0xA7C6,
  0xA7F7, 0xA805, 0xA807, 0xA827, 0xA840, 0xA873, 0xA880, 0xA8C3, 0xA8C5, 0xA8C5,
  0xA8F2, 0xA8F7, 0xA8FB, 0xA8FB, 0xA8FD, 0xA8FF, 0xA90A, 0xA92A, 0xA930, 0xA952,
  0xA960, 0xA97C, 0xA980, 0xA9B2, 0xA9B4, 0xA9BF, 0xA9CF, 0xA9CF, 0xA9E0, 0xA9EF,
  0xA9FA, 0xA9FE, 0xAA00, 0xAA36, 0xAA40, 0xAA4D, 0xAA60, 0xAA76, 0xAA7A, 0xAABE,
  0xAAC0, 0xAAC0, 0xAAC2, 0xAAC2, 0xAADB, 0xAADD, 0xAAE0, 0xAAEF, 0xAAF2, 0xAAF5,
  0xAB01, 0xAB06, 0xAB09, 0xAB0E, 0xAB11, 0xAB16, 0xAB20, 0xAB26, 0xAB28, 0xAB2E,
  0xAB30, 0xAB5A, 0xAB5C, 0xAB67, 0xAB70, 0xABEA, 0xAC00, 0xD7A3, 0xD7B0, 0xD7C6,
  0xD7CB, 0xD7FB, 0xF900, 0xFA6D, 0xFA70, 0xFAD9, 0xFB00, 0xFB06, 0xFB13, 0xFB17,
  0xFB1D, 0xFB28, 0xFB2A, 0xFB36, 0xFB38, 0xFB3C, 0xFB3E, 0xFB3E, 0xFB40, 0xFB41,
  0xFB43, 0xFB44, 0xFB46, 0xFBB1, 0xFBD3, 0xFD3D, 0xFD50, 0xFD8F, 0xFD92, 0xFDC7,
  0xFDF0, 0xFDFB, 0xFE70, 0xFE74, 0xFE76, 0xFEFC, 0xFF21, 0xFF3A, 0xFF41, 0xFF5A,
  0xFF66, 0xFFBE, 0xFFC2, 0xFFC7, 0xFFCA, 0xFFCF, 0xFFD2, 0xFFD7, 0xFFDA, 0xFFDC,
  0x10000, 0x1000B, 0x1000D, 0x10026, 0x10028, 0x1003A, 0x1003C, 0x1003D, 0x1003F,
  0x1004D, 0x10050, 0x1005D, 0x10080, 0x100FA, 0x10140, 0x10174, 0x10280, 0x1029C,
  0x102A0, 0x102D0, 0x10300, 0x1031F, 0x1032D, 0x1034A, 0x10350, 0x1037A, 0x10380,
  0x1039D, 0x103A0, 0x103C3, 0x103C8, 0x103CF, 0x103D1, 0x103D5, 0x10400, 0x1049D,
  0x104B0, 0x104D3, 0x104D8, 0x104FB, 0x10500, 0x10527, 0x10530, 0x10563, 0x10600,
  0x10736, 0x10740, 0x10755, 0x10760, 0x10767, 0x10800, 0x10805, 0x10808, 0x10808,
  0x1080A, 0x10835, 0x10837, 0x10838, 0x1083C, 0x1083C, 0x1083F, 0x10855, 0x10860,
  0x10876, 0x10880, 0x1089E, 0x108E0, 0x108F2, 0x108F4, 0x108F5, 0x10900, 0x10915,
  0x10920, 0x10939, 0x10980, 0x109B7, 0x109BE, 0x109BF, 0x10A00, 0x10A03, 0x10A05,
  0x10A06, 0x10A0C, 0x10A13, 0x10A15, 0x10A17, 0x10A19, 0x10A35, 0x10A60, 0x10A7C,
  0x10A80, 0x10A9C, 0x10AC0, 0x10AC7, 0x10AC9, 0x10AE4, 0x10B00, 0x10B35, 0x10B40,
  0x10B55, 0x10B60, 0x10B72, 0x10B80, 0x10B91, 0x10C00, 0x10C48, 0x10C80, 0x10CB2,
  0x10CC0, 0x10CF2, 0x10D00, 0x10D27, 0x10F00, 0x10F1C, 0x10F27, 0x10F27, 0x10F30,
  0x10F45, 0x10FE0, 0x10FF6, 0x11000, 0x11045, 0x11082, 0x110B8, 0x110D0, 0x110E8,
  0x11100, 0x11132, 0x11144, 0x11146, 0x11150, 0x11172, 0x11176, 0x11176, 0x11180,
  0x111BF, 0x111C1, 0x111C4, 0x111DA, 0x111DA, 0x111DC, 0x111DC, 0x11200, 0x11211,
  0x11213, 0x11234, 0x11237, 0x11237, 0x1123E, 0x1123E, 0x11280, 0x11286, 0x11288,
  0x11288, 0x1128A, 0x1128D, 0x1128F, 0x1129D, 0x1129F, 0x112A8, 0x112B0, 0x112E8,
  0x11300, 0x11303, 0x11305, 0x1130C, 0x1130F, 0x11310, 0x11313, 0x11328, 0x1132A,
  0x11330, 0x11332, 0x11333, 0x11335, 0x11339, 0x1133D, 0x11344, 0x11347, 0x11348,
  0x1134B, 0x1134C, 0x11350, 0x11350, 0x11357, 0x11357, 0x1135D, 0x11363, 0x11400,
  0x11441, 0x11443, 0x11445, 0x11447, 0x1144A, 0x1145F, 0x1145F, 0x11480, 0x114C1,
  0x114C4, 0x114C5, 0x114C7, 0x114C7, 0x11580, 0x115B5, 0x115B8, 0x115BE, 0x115D8,
  0x115DD, 0x11600, 0x1163E, 0x11640, 0x11640, 0x11644, 0x11644, 0x11680, 0x116B5,
  0x116B8, 0x116B8, 0x11700, 0x1171A, 0x1171D, 0x1172A, 0x11800, 0x11838, 0x118A0,
  0x118DF, 0x118FF, 0x118FF, 0x119A0, 0x119A7, 0x119AA, 0x119D7, 0x119DA, 0x119DF,
  0x119E1, 0x119E1, 0x119E3, 0x119E4, 0x11A00, 0x11A32, 0x11A35, 0x11A3E, 0x11A50,
  0x11A97, 0x11A9D, 0x11A9D, 0x11AC0, 0x11AF8, 0x11C00, 0x11C08, 0x11C0A, 0x11C36,
  0x11C38, 0x11C3E, 0x11C40, 0x11C40, 0x11C72, 0x11C8F, 0x11C92, 0x11CA7, 0x11CA9,
  0x11CB6, 0x11D00, 0x11D06, 0x11D08, 0x11D09, 0x11D0B, 0x11D36, 0x11D3A, 0x11D3A,
  0x11D3C, 0x11D3D, 0x11D3F, 0x11D41, 0x11D43, 0x11D43, 0x11D46, 0x11D47, 0x11D60,
  0x11D65, 0x11D67, 0x11D68, 0x11D6A, 0x11D8E, 0x11D90, 0x11D91, 0x11D93, 0x11D96,
  0x11D98, 0x11D98, 0x11EE0, 0x11EF6, 0x12000, 0x12399, 0x12400, 0x1246E, 0x12480,
  0x12543, 0x13000, 0x1342E, 0x14400, 0x14646, 0x16800, 0x16A38, 0x16A40, 0x16A5E,
  0x16AD0, 0x16AED, 0x16B00, 0x16B2F, 0x16B40, 0x16B43, 0x16B63, 0x16B77, 0x16B7D,
  0x16B8F, 0x16E40, 0x16E7F, 0x16F00, 0x16F4A, 0x16F4F, 0x16F87, 0x16F8F, 0x16F9F,
  0x16FE0, 0x16FE1, 0x16FE3, 0x16FE3, 0x17000, 0x187F7, 0x18800, 0x18AF2, 0x1B000,
  0x1B11E, 0x1B150, 0x1B152, 0x1B164, 0x1B167, 0x1B170, 0x1B2FB, 0x1BC00, 0x1BC6A,
  0x1BC70, 0x1BC7C, 0x1BC80, 0x1BC88, 0x1BC90, 0x1BC99, 0x1BC9E, 0x1BC9E, 0x1D400,
  0x1D454, 0x1D456, 0x1D49C, 0x1D49E, 0x1D49F, 0x1D4A2, 0x1D4A2, 0x1D4A5, 0x1D4A6,
  0x1D4A9, 0x1D4AC, 0x1D4AE, 0x1D4B9, 0x1D4BB, 0x1D4BB, 0x1D4BD, 0x1D4C3, 0x1D4C5,
  0x1D505, 0x1D507, 0x1D50A, 0x1D50D, 0x1D514, 0x1D516, 0x1D51C, 0x1D51E, 0x1D539,
  0x1D53B, 0x1D53E, 0x1D540, 0x1D544, 0x1D546, 0x1D546, 0x1D54A, 0x1D550, 0x1D552,
  0x1D6A5, 0x1D6A8, 0x1D6C0, 0x1D6C2, 0x1D6DA, 0x1D6DC, 0x1D6FA, 0x1D6FC, 0x1D714,
  0x1D716, 0x1D734, 0x1D736, 0x1D74E, 0x1D750, 0x1D76E, 0x1D770, 0x1D788, 0x1D78A,
  0x1D7A8, 0x1D7AA, 0x1D7C2, 0x1D7C4, 0x1D7CB, 0x1E000, 0x1E006, 0x1E008, 0x1E018,
  0x1E01B, 0x1E021, 0x1E023, 0x1E024, 0x1E026, 0x1E02A, 0x1E100, 0x1E12C, 0x1E137,
  0x1E13D, 0x1E14E, 0x1E14E, 0x1E2C0, 0x1E2EB, 0x1E800, 0x1E8C4, 0x1E900, 0x1E943,
  0x1E947, 0x1E947, 0x1E94B, 0x1E94B, 0x1EE00, 0x1EE03, 0x1EE05, 0x1EE1F, 0x1EE21,
  0x1EE22, 0x1EE24, 0x1EE24, 0x1EE27, 0x1EE27, 0x1EE29, 0x1EE32, 0x1EE34, 0x1EE37,
  0x1EE39, 0x1EE39, 0x1EE3B, 0x1EE3B, 0x1EE42, 0x1EE42, 0x1EE47, 0x1EE47, 0x1EE49,
  0x1EE49, 0x1EE4B, 0x1EE4B, 0x1EE4D, 0x1EE4F, 0x1EE51, 0x1EE52, 0x1EE54, 0x1EE54,
  0x1EE57, 0x1EE57, 0x1EE59, 0x1EE59, 0x1EE5B, 0x1EE5B, 0x1EE5D, 0x1EE5D, 0x1EE5F,
  0x1EE5F, 0x1EE61, 0x1EE62, 0x1EE64, 0x1EE64, 0x1EE67, 0x1EE6A, 0x1EE6C, 0x1EE72,
  0x1EE74, 0x1EE77, 0x1EE79, 0x1EE7C, 0x1EE7E, 0x1EE7E, 0x1EE80, 0x1EE89, 0x1EE8B,
  0x1EE9B, 0x1EEA1, 0x1EEA3, 0x1EEA5, 0x1EEA9, 0x1EEAB, 0x1EEBB, 0x1F130, 0x1F149,
  0x1F150, 0x1F169, 0x1F170, 0x1F189, 0x20000, 0x2A6D6, 0x2A700, 0x2B734, 0x2B740,
  0x2B81D, 0x2B820, 0x2CEA1, 0x2CEB0, 0x2EBE0, 0x2F800, 0x2FA1D,
]

///|
/// Inclusive code point ranges (flattened lo/hi pairs) for `\p{Alnum}`.
let alnum_ranges : FixedArray[Int] = [
  0x30, 0x39, 0x41, 0x5A, 0x61, 0x7A, 0xAA, 0xAA, 0xB5, 0xB5, 0xBA, 0xBA, 0xC0, 0xD6,
  0xD8, 0xF6, 0xF8, 0x2C1, 0x2C6, 0x2D1, 0x2E0, 0x2E4, 0x2EC, 0x2EC, 0x2EE, 0x2EE,
  0x345, 0x345, 0x370, 0x374, 0x376, 0x377, 0x37A, 0x37D, 0x37F, 0x37F, 0x386, 0x386,
  0x388, 0x38A, 0x38C, 0x38C, 0x38E, 0x3A1, 0x3A3, 0x3F5, 0x3F7, 0x481, 0x48A, 0x52F,
  0x531, 0x556, 0x559, 0x559, 0x560, 0x588, 0x5B0, 0x5BD, 0x5BF, 0x5BF, 0x5C1, 0x5C2,
  0x5C4, 0x5C5, 0x5C7, 0x5C7, 0x5D0, 0x5EA, 0x5EF, 0x5F2, 0x610, 0x61A, 0x620, 0x657,
  0x659, 0x669, 0x66E, 0x6D3, 0x6D5, 0x6DC, 0x6E1, 0x6E8, 0x6ED, 0x6FC, 0x6FF, 0x6FF,
  0x710, 0x73F, 0x74D, 0x7B1, 0x7C0, 0x7EA, 0x7F4, 0x7F5, 0x7FA, 0x7FA, 0x800, 0x817,
  0x81A, 0x82C, 0x840, 0x858, 0x860, 0x86A, 0x8A0, 0x8B4, 0x8B6, 0x8BD, 0x8D4, 0x8DF,
  0x8E3, 0x8E9, 0x8F0, 0x93B, 0x93D, 0x94C, 0x94E, 0x950, 0x955, 0x963, 0x966, 0x96F,
  0x971, 0x983, 0x985, 0x98C, 0x98F, 0x990, 0x993, 0x9A8, 0x9AA, 0x9B0, 0x9B2, 0x9B2,
  0x9B6, 0x9B9, 0x9BD, 0x9C4, 0x9C7, 0x9C8, 0x9CB, 0x9CC, 0x9CE, 0x9CE, 0x9D7, 0x9D7,
  0x9DC, 0x9DD, 0x9DF, 0x9E3, 0x9E6, 0x9F1, 0x9FC, 0x9FC, 0xA01, 0xA03, 0xA05, 0xA0A,
  0xA0F, 0xA10, 0xA13, 0xA28, 0xA2A, 0xA30, 0xA32, 0xA33, 0xA35, 0xA36, 0xA38, 0xA39,
  0xA3E, 0xA42, 0xA47, 0xA48, 0xA4B, 0xA4C, 0xA51, 0xA51, 0xA59, 0xA5C, 0xA5E, 0xA5E,
  0xA66, 0xA75, 0xA81, 0xA83, 0xA85, 0xA8D, 0xA8F, 0xA91, 0xA93, 0xAA8, 0xAAA, 0xAB0,
  0xAB2, 0xAB3, 0xAB5, 0xAB9, 0xABD, 0xAC5, 0xAC7, 0xAC9, 0xACB, 0xACC, 0xAD0, 0xAD0,
  0xAE0, 0xAE3, 0xAE6, 0xAEF, 0xAF9, 0xAFC, 0xB01, 0xB03, 0xB05, 0xB0C, 0xB0F, 0xB10,
  0xB13, 0xB28, 0xB2A, 0xB30, 0xB32, 0xB33, 0xB35, 0xB39, 0xB3D, 0xB44, 0xB47, 0xB48,
  0xB4B, 0xB4C, 0xB56, 0xB57, 0xB5C, 0xB5D, 0xB5F, 0xB63, 0xB66, 0xB6F, 0xB71, 0xB71,
  0xB82, 0xB83, 0xB85, 0xB8A, 0xB8E, 0xB90, 0xB92, 0xB95, 0xB99, 0xB9A, 0xB9C, 0xB9C,
  0xB9E, 0xB9F, 0xBA3, 0xBA4, 0xBA8, 0xBAA, 0xBAE, 0xBB9, 0xBBE, 0xBC2, 0xBC6, 0xBC8,
  0xBCA, 0xBCC, 0xBD0, 0xBD0, 0xBD7, 0xBD7, 0xBE6, 0xBEF, 0xC00, 0xC03, 0xC05, 0xC0C,
  0xC0E, 0xC10, 0xC12, 0xC28, 0xC2A, 0xC39, 0xC3D, 0xC44, 0xC46, 0xC48, 0xC4A, 0xC4C,
  0xC55, 0xC56, 0xC58, 0xC5A, 0xC60, 0xC63, 0xC66, 0xC6F, 0xC80, 0xC83, 0xC85, 0xC8C,
  0xC8E, 0xC90, 0xC92, 0xCA8, 0xCAA, 0xCB3, 0xCB5, 0xCB9, 0xCBD, 0xCC4, 0xCC6, 0xCC8,
  0xCCA, 0xCCC, 0xCD5, 0xCD6, 0xCDE, 0xCDE, 0xCE0, 0xCE3, 0xCE6, 0xCEF, 0xCF1, 0xCF2,
  0xD00, 0xD03, 0xD05, 0xD0C, 0xD0E, 0xD10, 0xD12, 0xD3A, 0xD3D, 0xD44, 0xD46, 0xD48,
  0xD4A, 0xD4C, 0xD4E, 0xD4E, 0xD54, 0xD57, 0xD5F, 0xD63, 0xD66, 0xD6F, 0xD7A, 0xD7F,
  0xD82, 0xD83, 0xD85, 0xD96, 0xD9A, 0xDB1, 0xDB3, 0xDBB, 0xDBD, 0xDBD, 0xDC0, 0xDC6,
  0xDCF, 0xDD4, 0xDD6, 0xDD6, 0xDD8, 0xDDF, 0xDE6, 0xDEF, 0xDF2, 0xDF3, 0xE01, 0xE3A,
  0xE40, 0xE46, 0xE4D, 0xE4D, 0xE50, 0xE59, 0xE81, 0xE82, 0xE84, 0xE84, 0xE86, 0xE8A,
  0xE8C, 0xEA3, 0xEA5, 0xEA5, 0xEA7, 0xEB9, 0xEBB, 0xEBD, 0xEC0, 0xEC4, 0xEC6, 0xEC6,
  0xECD, 0xECD, 0xED0, 0xED9, 0xEDC, 0xEDF, 0xF00, 0xF00, 0xF20, 0xF29, 0xF40, 0xF47,
  0xF49, 0xF6C, 0xF71, 0xF81, 0xF88, 0xF97, 0xF99, 0xFBC, 0x1000, 0x1036, 0x1038,
  0x1038, 0x103B, 0x1049, 0x1050, 0x109D, 0x10A0, 0x10C5, 0x10C7, 0x10C7, 0x10CD,
  0x10CD, 0x10D0, 0x10FA, 0x10FC, 0x1248, 0x124A, 0x124D, 0x1250, 0x1256, 0x1258,
  0x1258, 0x125A, 0x125D, 0x1260, 0x1288, 0x128A, 0x128D, 0x1290, 0x12B0, 0x12B2,
  0x12B5, 0x12B8, 0x12BE, 0x12C0, 0x12C0, 0x12C2, 0x12C5, 0x12C8, 0x12D6, 0x12D8,
  0x1310, 0x1312, 0x1315, 0x1318, 0x135A, 0x1380, 0x138F, 0x13A0, 0x13F5, 0x13F8,
  0x13FD, 0x1401, 0x166C, 0x166F, 0x167F, 0x1681, 0x169A, 0x16A0, 0x16EA, 0x16EE,
  0x16F8, 0x1700, 0x170C, 0x170E, 0x1713, 0x1720, 0x1733, 0x1740, 0x1753, 0x1760,
  0x176C, 0x176E, 0x1770, 0x1772, 0x1773, 0x1780, 0x17B3, 0x17B6, 0x17C8, 0x17D7,
  0x17D7, 0x17DC, 0x17DC, 0x17E0, 0x17E9, 0x1810, 0x1819, 0x1820, 0x1878, 0x1880,
  0x18AA, 0x18B0, 0x18F5, 0x1900, 0x191E, 0x1920, 0x192B, 0x1930, 0x1938, 0x1946,
  0x196D, 0x1970, 0x1974, 0x1980, 0x19AB, 0x19B0, 0x19C9, 0x19D0, 0x19D9, 0x1A00,
  0x1A1B, 0x1A20, 0x1A5E, 0x1A61, 0x1A74, 0x1A80, 0x1A89, 0x1A90, 0x1A99, 0x1AA7,
  0x1AA7, 0x1B00, 0x1B33, 0x1B35, 0x1B43, 0x1B45, 0x1B4B, 0x1B50, 0x1B59, 0x1B80,
  0x1BA9, 0x1BAC, 0x1BE5, 0x1BE7, 0x1BF1, 0x1C00, 0x1C36, 0x1C40, 0x1C49, 0x1C4D,
  0x1C7D, 0x1C80, 0x1C88, 0x1C90, 0x1CBA, 0x1CBD, 0x1CBF, 0x1CE9, 0x1CEC, 0x1CEE,
  0x1CF3, 0x1CF5, 0x1CF6, 0x1CFA, 0x1CFA, 0x1D00, 0x1DBF, 0x1DE7, 0x1DF4, 0x1E00,
  0x1F15, 0x1F18, 0x1F1D, 0x1F20, 0x1F45, 0x1F48, 0x1F4D, 0x1F50, 0x1F57, 0x1F59,
  0x1F59, 0x1F5B, 0x1F5B, 0x1F5D, 0x1F5D, 0x1F5F, 0x1F7D, 0x1F80, 0x1FB4, 0x1FB6,
  0x1FBC, 0x1FBE, 0x1FBE, 0x1FC2, 0x1FC4, 0x1FC6, 0x1FCC, 0x1FD0, 0x1FD3, 0x1FD6,
  0x1FDB, 0x1FE0, 0x1FEC, 0x1FF2, 0x1FF4, 0x1FF6, 0x1FFC, 0x2071, 0x2071, 0x207F,
  0x207F, 0x2090, 0x209C, 0x2102, 0x2102, 0x2107, 0x2107, 0x210A, 0x2113, 0x2115,
  0x2115, 0x2119, 0x211D, 0x2124, 0x2124, 0x2126, 0x2126, 0x2128, 0x2128, 0x212A,
  0x212D, 0x212F, 0x2139, 0x213C, 0x213F, 0x2145, 0x2149, 0x214E, 0x214E, 0x2160,
  0x2188, 0x24B6, 0x24E9, 0x2C00, 0x2C2E, 0x2C30, 0x2C5E, 0x2C60, 0x2CE4, 0x2CEB,
  0x2CEE, 0x2CF2, 0x2CF3, 0x2D00, 0x2D25, 0x2D27, 0x2D27, 0x2D2D, 0x2D2D, 0x2D30,
  0x2D67, 0x2D6F, 0x2D6F, 0x2D80, 0x2D96, 0x2DA0, 0x2DA6, 0x2DA8, 0x2DAE, 0x2DB0,
  0x2DB6, 0x2DB8, 0x2DBE, 0x2DC0, 0x2DC6, 0x2DC8, 0x2DCE, 0x2DD0, 0x2DD6, 0x2DD8,
  0x2DDE, 0x2DE0, 0x2DFF, 0x2E2F, 0x2E2F, 0x3005, 0x3007, 0x3021, 0x3029, 0x3031,
  0x3035, 0x3038, 0x303C, 0x3041, 0x3096, 0x309D, 0x309F, 0x30A1, 0x30FA, 0x30FC,
  0x30FF, 0x3105, 0x312F, 0x3131, 0x318E, 0x31A0, 0x31BA, 0x31F0, 0x31FF, 0x3400,
  0x4DB5, 0x4E00, 0x9FEF, 0xA000, 0xA48C, 0xA4D0, 0xA4FD, 0xA500, 0xA60C, 0xA610,
  0xA62B, 0xA640, 0xA66E, 0xA674, 0xA67B, 0xA67F, 0xA6EF, 0xA717, 0xA71F, 0xA722,
  0xA788, 0xA78B, 0xA7BF, 0xA7C2, 0xA7C6, 0xA7F7, 0xA805, 0xA807, 0xA827, 0xA840,
  0xA873, 0xA880, 0xA8C3, 0xA8C5, 0xA8C5, 0xA8D0, 0xA8D9, 0xA8F2, 0xA8F7, 0xA8FB,
  0xA8FB, 0xA8FD, 0xA92A, 0xA930, 0xA952, 0xA960, 0xA97C, 0xA980, 0xA9B2, 0xA9B4,
  0xA9BF, 0xA9CF, 0xA9D9, 0xA9E0, 0xA9FE, 0xAA00, 0xAA36, 0xAA40, 0xAA4D, 0xAA50,
  0xAA59, 0xAA60, 0xAA76, 0xAA7A, 0xAABE, 0xAAC0, 0xAAC0, 0xAAC2, 0xAAC2, 0xAADB,
  0xAADD, 0xAAE0, 0xAAEF, 0xAAF2, 0xAAF5, 0xAB01, 0xAB06, 0xAB09, 0xAB0E, 0xAB11,
  0xAB16, 0xAB20, 0xAB26, 0xAB28, 0xAB2E, 0xAB30, 0xAB5A, 0xAB5C, 0xAB67, 0xAB70,
  0xABEA, 0xABF0, 0xABF9, 0xAC00, 0xD7A3, 0xD7B0, 0xD7C6, 0xD7CB, 0xD7FB, 0xF900,
  0xFA6D, 0xFA70, 0xFAD9, 0xFB00, 0xFB06, 0xFB13, 0xFB17, 0xFB1D, 0xFB28, 0xFB2A,
  0xFB36, 0xFB38, 0xFB3C, 0xFB3E, 0xFB3E, 0xFB40, 0xFB41, 0xFB43, 0xFB44, 0xFB46,
  0xFBB1, 0xFBD3, 0xFD3D, 0xFD50, 0xFD8F, 0xFD92, 0xFDC7, 0xFDF0, 0xFDFB, 0xFE70,
  0xFE74, 0xFE76, 0xFEFC, 0xFF10, 0xFF19, 0xFF21, 0xFF3A, 0xFF41, 0xFF5A, 0xFF66,
  0xFFBE, 0xFFC2, 0xFFC7, 0xFFCA, 0xFFCF, 0xFFD2, 0xFFD7, 0xFFDA, 0xFFDC, 0x10000,
  0x1000B, 0x1000D, 0x10026, 0x10028, 0x1003A, 0x1003C, 0x1003D, 0x1003F, 0x1004D,
  0x10050, 0x1005D, 0x10080, 0x100FA, 0x10140, 0x10174, 0x10280, 0x1029C, 0x102A0,
  0x102D0, 0x10300, 0x1031F, 0x1032D, 0x1034A, 0x10350, 0x1037A, 0x10380, 0x1039D,
  0x103A0, 0x103C3, 0x103C8, 0x103CF, 0x103D1, 0x103D5, 0x10400, 0x1049D, 0x104A0,
  0x104A9, 0x104B0, 0x104D3, 0x104D8, 0x104FB, 0x10500, 0x10527, 0x10530, 0x10563,
  0x10600, 0x10736, 0x10740, 0x10755, 0x10760, 0x10767, 0x10800, 0x10805, 0x10808,
  0x10808, 0x1080A, 0x10835, 0x10837, 0x10838, 0x1083C, 0x1083C, 0x1083F, 0x10855,
  0x10860, 0x10876, 0x10880, 0x1089E, 0x108E0, 0x108F2, 0x108F4, 0x108F5, 0x10900,
  0x10915, 0x10920, 0x10939, 0x10980, 0x109B7, 0x109BE, 0x109BF, 0x10A00, 0x10A03,
  0x10A05, 0x10A06, 0x10A0C, 0x10A13, 0x10A15, 0x10A17, 0x10A19, 0x10A35, 0x10A60,
  0x10A7C, 0x10A80, 0x10A9C, 0x10AC0, 0x10AC7, 0x10AC9, 0x10AE4, 0x10B00, 0x10B35,
  0x10B40, 0x10B55, 0x10B60, 0x10B72, 0x10B80, 0x10B91, 0x10C00, 0x10C48, 0x10C80,
  0x10CB2, 0x10CC0, 0x10CF2, 0x10D00, 0x10D27, 0x10D30, 0x10D39, 0x10F00, 0x10F1C,
  0x10F27, 0x10F27, 0x10F30, 0x10F45, 0x10FE0, 0x10FF6, 0x11000, 0x11045, 0x11066,
  0x1106F, 0x11082, 0x110B8, 0x110D0, 0x110E8, 0x110F0, 0x110F9, 0x11100, 0x11132,
  0x11136, 0x1113F, 0x11144, 0x11146, 0x11150, 0x11172, 0x11176, 0x11176, 0x11180,
  0x111BF, 0x111C1, 0x111C4, 0x111D0, 0x111DA, 0x111DC, 0x111DC, 0x11200, 0x11211,
  0x11213, 0x11234, 0x11237, 0x11237, 0x1123E, 0x1123E, 0x11280, 0x11286, 0x11288,
  0x11288, 0x1128A, 0x1128D, 0x1128F, 0x1129D, 0x1129F, 0x112A8, 0x112B0, 0x112E8,
  0x112F0, 0x112F9, 0x11300, 0x11303, 0x11305, 0x1130C, 0x1130F, 0x11310, 0x11313,
  0x11328, 0x1132A, 0x11330, 0x11332, 0x11333, 0x11335, 0x11339, 0x1133D, 0x11344,
  0x11347, 0x11348, 0x1134B, 0x1134C, 0x11350, 0x11350, 0x11357, 0x11357, 0x1135D,
  0x11363, 0x11400, 0x11441, 0x11443, 0x11445, 0x11447, 0x1144A, 0x11450, 0x11459,
  0x1145F, 0x1145F, 0x11480, 0x114C1, 0x114C4, 0x114C5, 0x114C7, 0x114C7, 0x114D0,
  0x114D9, 0x11580, 0x115B5, 0x115B8, 0x115BE, 0x115D8, 0x115DD, 0x11600, 0x1163E,
  0x11640, 0x11640, 0x11644, 0x11644, 0x11650, 0x11659, 0x11680, 0x116B5, 0x116B8,
  0x116B8, 0x116C0, 0x116C9, 0x11700, 0x1171A, 0x1171D, 0x1172A, 0x11730, 0x11739,
  0x11800, 0x11838, 0x118A0, 0x118E9, 0x118FF, 0x118FF, 0x119A0, 0x119A7, 0x119AA,
  0x119D7, 0x119DA, 0x119DF, 0x119E1, 0x119E1, 0x119E3, 0x119E4, 0x11A00, 0x11A32,
  0x11A35, 0x11A3E, 0x11A50, 0x11A97, 0x11A9D, 0x11A9D, 0x11AC0, 0x11AF8, 0x11C00,
  0x11C08, 0x11C0A, 0x11C36, 0x11C38, 0x11C3E, 0x11C40, 0x11C40, 0x11C50, 0x11C59,
  0x11C72, 0x11C8F, 0x11C92, 0x11CA7, 0x11CA9, 0x11CB6, 0x11D00, 0x11D06, 0x11D08,
  0x11D09, 0x11D0B, 0x11D36, 0x11D3A, 0x11D3A, 0x11D3C, 0x11D3D, 0x11D3F, 0x11D41,
  0x11D43, 0x11D43, 0x11D46, 0x11D47, 0x11D50, 0x11D59, 0x11D60, 0x11D65, 0x11D67,
  0x11D68, 0x11D6A, 0x11D8E, 0x11D90, 0x11D91, 0x11D93, 0x11D96, 0x11D98, 0x11D98,
  0x11DA0, 0x11DA9, 0x11EE0, 0x11EF6, 0x12000, 0x12399, 0x12400, 0x1246E, 0x12480,
  0x12543, 0x13000, 0x1342E, 0x14400, 0x14646, 0x16800, 0x16A38, 0x16A40, 0x16A5E,
  0x16A60, 0x16A69, 0x16AD0, 0x16AED, 0x16B00, 0x16B2F, 0x16B40, 0x16B43, 0x16B50,
  0x16B59, 0x16B63, 0x16B77, 0x16B7D, 0x16B8F, 0x16E40, 0x16E7F, 0x16F00, 0x16F4A,
  0x16F4F, 0x16F87, 0x16F8F, 0x16F9F, 0x16FE0, 0x16FE1, 0x16FE3, 0x16FE3, 0x17000,
  0x187F7, 0x18800, 0x18AF2, 0x1B000, 0x1B11E, 0x1B150, 0x1B152, 0x1B164, 0x1B167,
  0x1B170, 0x1B2FB, 0x1BC00, 0x1BC6A, 0x1BC70, 0x1BC7C, 0x1BC80, 0x1BC88, 0x1BC90,
  0x1BC99, 0x1BC9E, 0x1BC9E, 0x1D400, 0x1D454, 0x1D456, 0x1D49C, 0x1D49E, 0x1D49F,
  0x1D4A2, 0x1D4A2, 0x1D4A5, 0x1D4A6, 0x1D4A9, 0x1D4AC, 0x1D4AE, 0x1D4B9, 0x1D4BB,
  0x1D4BB, 0x1D4BD, 0x1D4C3, 0x1D4C5, 0x1D505, 0x1D507, 0x1D50A, 0x1D50D, 0x1D514,
  0x1D516, 0x1D51C, 0x1D51E, 0x1D539, 0x1D53B, 0x1D53E, 0x1D540, 0x1D544, 0x1D546,
  0x1D546, 0x1D54A, 0x1D550, 0x1D552, 0x1D6A5, 0x1D6A8, 0x1D6C0, 0x1D6C2, 0x1D6DA,
  0x1D6DC, 0x1D6FA, 0x1D6FC, 0x1D714, 0x1D716, 0x1D734, 0x1D736, 0x1D74E, 0x1D750,
  0x1D76E, 0x1D770, 0x1D788, 0x1D78A, 0x1D7A8, 0x1D7AA, 0x1D7C2, 0x1D7C4, 0x1D7CB,
  0x1D7CE, 0x1D7FF, 0x1E000, 0x1E006, 0x1E008, 0x1E018, 0x1E01B, 0x1E021, 0x1E023,
  0x1E024, 0x1E026, 0x1E02A, 0x1E100, 0x1E12C, 0x1E137, 0x1E13D, 0x1E140, 0x1E149,
  0x1E14E, 0x1E14E, 0x1E2C0, 0x1E2EB, 0x1E2F0, 0x1E2F9, 0x1E800, 0x1E8C4, 0x1E900,
  0x1E943, 0x1E947, 0x1E947, 0x1E94B, 0x1E94B, 0x1E950, 0x1E959, 0x1EE00, 0x1EE03,
  0x1EE05, 0x1EE1F, 0x1EE21, 0x1EE22, 0x1EE24, 0x1EE24, 0x1EE27, 0x1EE27, 0x1EE29,
  0x1EE32, 0x1EE34, 0x1EE37, 0x1EE39, 0x1EE39, 0x1EE3B, 0x1EE3B, 0x1EE42, 0x1EE42,
  0x1EE47, 0x1EE47, 0x1EE49, 0x1EE49, 0x1EE4B, 0x1EE4B, 0x1EE4D, 0x1EE4F, 0x1EE51,
  0x1EE52, 0x1EE54, 0x1EE54, 0x1EE57, 0x1EE57, 0x1EE59, 0x1EE59, 0x1EE5B, 0x1EE5B,
  0x1EE5D, 0x1EE5D, 0x1EE5F, 0x1EE5F, 0x1EE61, 0x1EE62, 0x1EE64, 0x1EE64, 0x1EE67,
  0x1EE6A, 0x1EE6C, 0x1EE72, 0x1EE74, 0x1EE77, 0x1EE79, 0x1EE7C, 0x1EE7E, 0x1EE7E,
  0x1EE80, 0x1EE89, 0x1EE8B, 0x1EE9B, 0x1EEA1, 0x1EEA3, 0x1EEA5, 0x1EEA9, 0x1EEAB,
  0x1EEBB, 0x1F130, 0x1F149, 0x1F150, 0x1F169, 0x1F170, 0x1F189, 0x20000, 0x2A6D6,
  0x2A700, 0x2B734, 0x2B740, 0x2B81D, 0x2B820, 0x2CEA1, 0x2CEB0, 0x2EBE0, 0x2F800,
  0x2FA1D,
]

///|
/// Inclusive code point ranges (flattened lo/hi pairs) for `\p{Word}`.
let word_ranges : FixedArray[Int] = [
  0x30, 0x39, 0x41, 0x5A, 0x5F, 0x5F, 0x61, 0x7A, 0xAA, 0xAA, 0xB5, 0xB5, 0xBA, 0xBA,
  0xC0, 0xD6, 0xD8, 0xF6, 0xF8, 0x2C1, 0x2C6, 0x2D1, 0x2E0, 0x2E4, 0x2EC, 0x2EC,
  0x2EE, 0x2EE, 0x300, 0x374, 0x376, 0x377, 0x37A, 0x37D, 0x37F, 0x37F, 0x386, 0x386,
  0x388, 0x38A, 0x38C, 0x38C, 0x38E, 0x3A1, 0x3A3, 0x3F5, 0x3F7, 0x481, 0x483, 0x52F,
  0x531, 0x556, 0x559, 0x559, 0x560, 0x588, 0x591, 0x5BD, 0x5BF, 0x5BF, 0x5C1, 0x5C2,
  0x5C4, 0x5C5, 0x5C7, 0x5C7, 0x5D0, 0x5EA, 0x5EF, 0x5F2, 0x610, 0x61A, 0x620, 0x669,
  0x66E, 0x6D3, 0x6D5, 0x6DC, 0x6DF, 0x6E8, 0x6EA, 0x6FC, 0x6FF, 0x6FF, 0x710, 0x74A,
  0x74D, 0x7B1, 0x7C0, 0x7F5, 0x7FA, 0x7FA, 0x7FD, 0x7FD, 0x800, 0x82D, 0x840, 0x85B,
  0x860, 0x86A, 0x8A0, 0x8B4, 0x8B6, 0x8BD, 0x8D3, 0x8E1, 0x8E3, 0x963, 0x966, 0x96F,
  0x971, 0x983, 0x985, 0x98C, 0x98F, 0x990, 0x993, 0x9A8, 0x9AA, 0x9B0, 0x9B2, 0x9B2,
  0x9B6, 0x9B9, 0x9BC, 0x9C4, 0x9C7, 0x9C8, 0x9CB, 0x9CE, 0x9D7, 0x9D7, 0x9DC, 0x9DD,
  0x9DF, 0x9E3, 0x9E6, 0x9F1, 0x9FC, 0x9FC, 0x9FE, 0x9FE, 0xA01, 0xA03, 0xA05, 0xA0A,
  0xA0F, 0xA10, 0xA13, 0xA28, 0xA2A, 0xA30, 0xA32, 0xA33, 0xA35, 0xA36, 0xA38, 0xA39,
  0xA3C, 0xA3C, 0xA3E, 0xA42, 0xA47, 0xA48, 0xA4B, 0xA4D, 0xA51, 0xA51, 0xA59, 0xA5C,
  0xA5E, 0xA5E, 0xA66, 0xA75, 0xA81, 0xA83, 0xA85, 0xA8D, 0xA8F, 0xA91, 0xA93, 0xAA8,
  0xAAA, 0xAB0, 0xAB2, 0xAB3, 0xAB5, 0xAB9, 0xABC, 0xAC5, 0xAC7, 0xAC9, 0xACB, 0xACD,
  0xAD0, 0xAD0, 0xAE0, 0xAE3, 0xAE6, 0xAEF, 0xAF9, 0xAFF, 0xB01, 0xB03, 0xB05, 0xB0C,
  0xB0F, 0xB10, 0xB13, 0xB28, 0xB2A, 0xB30, 0xB32, 0xB33, 0xB35, 0xB39, 0xB3C, 0xB44,
  0xB47, 0xB48, 0xB4B, 0xB4D, 0xB56, 0xB57, 0xB5C, 0xB5D, 0xB5F, 0xB63, 0xB66, 0xB6F,
  0xB71, 0xB71, 0xB82, 0xB83, 0xB85, 0xB8A, 0xB8E, 0xB90, 0xB92, 0xB95, 0xB99, 0xB9A,
  0xB9C, 0xB9C, 0xB9E, 0xB9F, 0xBA3, 0xBA4, 0xBA8, 0xBAA, 0xBAE, 0xBB9, 0xBBE, 0xBC2,
  0xBC6, 0xBC8, 0xBCA, 0xBCD, 0xBD0, 0xBD0, 0xBD7, 0xBD7, 0xBE6, 0xBEF, 0xC00, 0xC0C,
  0xC0E, 0xC10, 0xC12, 0xC28, 0xC2A, 0xC39, 0xC3D, 0xC44, 0xC46, 0xC48, 0xC4A, 0xC4D,
  0xC55, 0xC56, 0xC58, 0xC5A, 0xC60, 0xC63, 0xC66, 0xC6F, 0xC80, 0xC83, 0xC85, 0xC8C,
  0xC8E, 0xC90, 0xC92, 0xCA8, 0xCAA, 0xCB3, 0xCB5, 0xCB9, 0xCBC, 0xCC4, 0xCC6, 0xCC8,
  0xCCA, 0xCCD, 0xCD5, 0xCD6, 0xCDE, 0xCDE, 0xCE0, 0xCE3, 0xCE6, 0xCEF, 0xCF1, 0xCF2,
  0xD00, 0xD03, 0xD05, 0xD0C, 0xD0E, 0xD10, 0xD12, 0xD44, 0xD46, 0xD48, 0xD4A, 0xD4E,
  0xD54, 0xD57, 0xD5F, 0xD63, 0xD66, 0xD6F, 0xD7A, 0xD7F, 0xD82, 0xD83, 0xD85, 0xD96,
  0xD9A, 0xDB1, 0xDB3, 0xDBB, 0xDBD, 0xDBD, 0xDC0, 0xDC6, 0xDCA, 0xDCA, 0xDCF, 0xDD4,
  0xDD6, 0xDD6, 0xDD8, 0xDDF, 0xDE6, 0xDEF, 0xDF2, 0xDF3, 0xE01, 0xE3A, 0xE40, 0xE4E,
  0xE50, 0xE59, 0xE81, 0xE82, 0xE84, 0xE84, 0xE86, 0xE8A, 0xE8C, 0xEA3, 0xEA5, 0xEA5,
  0xEA7, 0xEBD, 0xEC0, 0xEC4, 0xEC6, 0xEC6, 0xEC8, 0xECD, 0xED0, 0xED9, 0xEDC, 0xEDF,
  0xF00, 0xF00, 0xF18, 0xF19, 0xF20, 0xF29, 0xF35, 0xF35, 0xF37, 0xF37, 0xF39, 0xF39,
  0xF3E, 0xF47, 0xF49, 0xF6C, 0xF71, 0xF84, 0xF86, 0xF97, 0xF99, 0xFBC, 0xFC6, 0xFC6,
  0x1000, 0x1049, 0x1050, 0x109D, 0x10A0, 0x10C5, 0x10C7, 0x10C7, 0x10CD, 0x10CD,
  0x10D0, 0x10FA, 0x10FC, 0x1248, 0x124A, 0x124D, 0x1250, 0x1256, 0x1258, 0x1258,
  0x125A, 0x125D, 0x1260, 0x1288, 0x128A, 0x128D, 0x1290, 0x12B0, 0x12B2, 0x12B5,
  0x12B8, 0x12BE, 0x12C0, 0x12C0, 0x12C2, 0x12C5, 0x12C8, 0x12D6, 0x12D8, 0x1310,
  0x1312, 0x1315, 0x1318, 0x135A, 0x135D, 0x135F, 0x1380, 0x138F, 0x13A0, 0x13F5,
  0x13F8, 0x13FD, 0x1401, 0x166C, 0x166F, 0x167F, 0x1681, 0x169A, 0x16A0, 0x16EA,
  0x16EE, 0x16F8, 0x1700, 0x170C, 0x170E, 0x1714, 0x1720, 0x1734, 0x1740, 0x1753,
  0x1760, 0x176C, 0x176E, 0x1770, 0x1772, 0x1773, 0x1780, 0x17D3, 0x17D7, 0x17D7,
  0x17DC, 0x17DD, 0x17E0, 0x17E9, 0x180B, 0x180D, 0x1810, 0x1819, 0x1820, 0x1878,
  0x1880, 0x18AA, 0x18B0, 0x18F5, 0x1900, 0x191E, 0x1920, 0x192B, 0x1930, 0x193B,
  0x1946, 0x196D, 0x1970, 0x1974, 0x1980, 0x19AB, 0x19B0, 0x19C9, 0x19D0, 0x19D9,
  0x1A00, 0x1A1B, 0x1A20, 0x1A5E, 0x1A60, 0x1A7C, 0x1A7F, 0x1A89, 0x1A90, 0x1A99,
  0x1AA7, 0x1AA7, 0x1AB0, 0x1ABE, 0x1B00, 0x1B4B, 0x1B50, 0x1B59, 0x1B6B, 0x1B73,
  0x1B80, 0x1BF3, 0x1C00, 0x1C37, 0x1C40, 0x1C49, 0x1C4D, 0x1C7D, 0x1C80, 0x1C88,
  0x1C90, 0x1CBA, 0x1CBD, 0x1CBF, 0x1CD0, 0x1CD2, 0x1CD4, 0x1CFA, 0x1D00, 0x1DF9,
  0x1DFB, 0x1F15, 0x1F18, 0x1F1D, 0x1F20, 0x1F45, 0x1F48, 0x1F4D, 0x1F50, 0x1F57,
  0x1F59, 0x1F59, 0x1F5B, 0x1F5B, 0x1F5D, 0x1F5D, 0x1F5F, 0x1F7D, 0x1F80, 0x1FB4,
  0x1FB6, 0x1FBC, 0x1FBE, 0x1FBE, 0x1FC2, 0x1FC4, 0x1FC6, 0x1FCC, 0x1FD0, 0x1FD3,
  0x1FD6, 0x1FDB, 0x1FE0, 0x1FEC, 0x1FF2, 0x1FF4, 0x1FF6, 0x1FFC, 0x203F, 0x2040,
  0x2054, 0x2054, 0x2071, 0x2071, 0x207F, 0x207F, 0x2090, 0x209C, 0x20D0, 0x20F0,
  0x2102, 0x2102, 0x2107, 0x2107, 0x210A, 0x2113, 0x2115, 0x2115, 0x2119, 0x211D,
  0x2124, 0x2124, 0x2126, 0x2126, 0x2128, 0x2128, 0x212A, 0x212D, 0x212F, 0x2139,
  0x213C, 0x213F, 0x2145, 0x2149, 0x214E, 0x214E, 0x2160, 0x2188, 0x24B6, 0x24E9,
  0x2C00, 0x2C2E, 0x2C30, 0x2C5E, 0x2C60, 0x2CE4, 0x2CEB, 0x2CF3, 0x2D00, 0x2D25,
  0x2D27, 0x2D27, 0x2D2D, 0x2D2D, 0x2D30, 0x2D67, 0x2D6F, 0x2D6F, 0x2D7F, 0x2D96,
  0x2DA0, 0x2DA6, 0x2DA8, 0x2DAE, 0x2DB0, 0x2DB6, 0x2DB8, 0x2DBE, 0x2DC0, 0x2DC6,
  0x2DC8, 0x2DCE, 0x2DD0, 0x2DD6, 0x2DD8, 0x2DDE, 0x2DE0, 0x2DFF, 0x2E2F, 0x2E2F,
  0x3005, 0x3007, 0x3021, 0x302F, 0x3031, 0x3035, 0x3038, 0x303C, 0x3041, 0x3096,
  0x3099, 0x309A, 0x309D, 0x309F, 0x30A1, 0x30FA, 0x30FC, 0x30FF, 0x3105, 0x312F,
  0x3131, 0x318E, 0x31A0, 0x31BA, 0x31F0, 0x31FF, 0x3400, 0x4DB5, 0x4E00, 0x9FEF,
  0xA000, 0xA48C, 0xA4D0, 0xA4FD, 0xA500, 0xA60C, 0xA610, 0xA62B, 0xA640, 0xA672,
  0xA674, 0xA67D, 0xA67F, 0xA6F1, 0xA717, 0xA71F, 0xA722, 0xA788, 0xA78B, 0xA7BF,
  0xA7C2, 0xA7C6, 0xA7F7, 0xA827, 0xA840, 0xA873, 0xA880, 0xA8C5, 0xA8D0, 0xA8D9,
  0xA8E0, 0xA8F7, 0xA8FB, 0xA8FB, 0xA8FD, 0xA92D, 0xA930, 0xA953, 0xA960, 0xA97C,
  0xA980, 0xA9C0, 0xA9CF, 0xA9D9, 0xA9E0, 0xA9FE, 0xAA00, 0xAA36, 0xAA40, 0xAA4D,
  0xAA50, 0xAA59, 0xAA60, 0xAA76, 0xAA7A, 0xAAC2, 0xAADB, 0xAADD, 0xAAE0, 0xAAEF,
  0xAAF2, 0xAAF6, 0xAB01, 0xAB06, 0xAB09, 0xAB0E, 0xAB11, 0xAB16, 0xAB20, 0xAB26,
  0xAB28, 0xAB2E, 0xAB30, 0xAB5A, 0xAB5C, 0xAB67, 0xAB70, 0xABEA, 0xABEC, 0xABED,
  0xABF0, 0xABF9, 0xAC00, 0xD7A3, 0xD7B0, 0xD7C6, 0xD7CB, 0xD7FB, 0xF900, 0xFA6D,
  0xFA70, 0xFAD9, 0xFB00, 0xFB06, 0xFB13, 0xFB17, 0xFB1D, 0xFB28, 0xFB2A, 0xFB36,
  0xFB38, 0xFB3C, 0xFB3E, 0xFB3E, 0xFB40, 0xFB41, 0xFB43, 0xFB44, 0xFB46, 0xFBB1,
  0xFBD3, 0xFD3D, 0xFD50, 0xFD8F, 0xFD92, 0xFDC7, 0xFDF0, 0xFDFB, 0xFE00, 0xFE0F,
  0xFE20, 0xFE2F, 0xFE33, 0xFE34, 0xFE4D, 0xFE4F, 0xFE70, 0xFE74, 0xFE76, 0xFEFC,
  0xFF10, 0xFF19, 0xFF21, 0xFF3A, 0xFF3F, 0xFF3F, 0xFF41, 0xFF5A, 0xFF66, 0xFFBE,
  0xFFC2, 0xFFC7, 0xFFCA, 0xFFCF, 0xFFD2, 0xFFD7, 0xFFDA, 0xFFDC, 0x10000, 0x1000B,
  0x1000D, 0x10026, 0x10028, 0x1003A, 0x1003C, 0x1003D, 0x1003F, 0x1004D, 0x10050,
  0x1005D, 0x10080, 0x100FA, 0x10140, 0x10174, 0x101FD, 0x101FD, 0x10280, 0x1029C,
  0x102A0, 0x102D0, 0x102E0, 0x102E0, 0x10300, 0x1031F, 0x1032D, 0x1034A, 0x10350,
  0x1037A, 0x10380, 0x1039D, 0x103A0, 0x103C3, 0x103C8, 0x103CF, 0x103D1, 0x103D5,
  0x10400, 0x1049D, 0x104A0, 0x104A9, 0x104B0, 0x104D3, 0x104D8, 0x104FB, 0x10500,
  0x10527, 0x10530, 0x10563, 0x10600, 0x10736, 0x10740, 0x10755, 0x10760, 0x10767,
  0x10800, 0x10805, 0x10808, 0x10808, 0x1080A, 0x10835, 0x10837, 0x10838, 0x1083C,
  0x1083C, 0x1083F, 0x10855, 0x10860, 0x10876, 0x10880, 0x1089E, 0x108E0, 0x108F2,
  0x108F4, 0x108F5, 0x10900, 0x10915, 0x10920, 0x10939, 0x10980, 0x109B7, 0x109BE,
  0x109BF, 0x10A00, 0x10A03, 0x10A05, 0x10A06, 0x10A0C, 0x10A13, 0x10A15, 0x10A17,
  0x10A19, 0x10A35, 0x10A38, 0x10A3A, 0x10A3F, 0x10A3F, 0x10A60, 0x10A7C, 0x10A80,
  0x10A9C, 0x10AC0, 0x10AC7, 0x10AC9, 0x10AE6, 0x10B00, 0x10B35, 0x10B40, 0x10B55,
  0x10B60, 0x10B72, 0x10B80, 0x10B91, 0x10C00, 0x10C48, 0x10C80, 0x10CB2, 0x10CC0,
  0x10CF2, 0x10D00, 0x10D27, 0x10D30, 0x10D39, 0x10F00, 0x10F1C, 0x10F27, 0x10F27,
  0x10F30, 0x10F50, 0x10FE0, 0x10FF6, 0x11000, 0x11046, 0x11066, 0x1106F, 0x1107F,
  0x110BA, 0x110D0, 0x110E8, 0x110F0, 0x110F9, 0x11100, 0x11134, 0x11136, 0x1113F,
  0x11144, 0x11146, 0x11150, 0x11173, 0x11176, 0x11176, 0x11180, 0x111C4, 0x111C9,
  0x111CC, 0x111D0, 0x111DA, 0x111DC, 0x111DC, 0x11200, 0x11211, 0x11213, 0x11237,
  0x1123E, 0x1123E, 0x11280, 0x11286, 0x11288, 0x11288, 0x1128A, 0x1128D, 0x1128F,
  0x1129D, 0x1129F, 0x112A8, 0x112B0, 0x112EA, 0x112F0, 0x112F9, 0x11300, 0x11303,
  0x11305, 0x1130C, 0x1130F, 0x11310, 0x11313, 0x11328, 0x1132A, 0x11330, 0x11332,
  0x11333, 0x11335, 0x11339, 0x1133B, 0x11344, 0x11347, 0x11348, 0x1134B, 0x1134D,
  0x11350, 0x11350, 0x11357, 0x11357, 0x1135D, 0x11363, 0x11366, 0x1136C, 0x11370,
  0x11374, 0x11400, 0x1144A, 0x11450, 0x11459, 0x1145E, 0x1145F, 0x11480, 0x114C5,
  0x114C7, 0x114C7, 0x114D0, 0x114D9, 0x11580, 0x115B5, 0x115B8, 0x115C0, 0x115D8,
  0x115DD, 0x11600, 0x11640, 0x11644, 0x11644, 0x11650, 0x11659, 0x11680, 0x116B8,
  0x116C0, 0x116C9, 0x11700, 0x1171A, 0x1171D, 0x1172B, 0x11730, 0x11739, 0x11800,
  0x1183A, 0x118A0, 0x118E9, 0x118FF, 0x118FF, 0x119A0, 0x119A7, 0x119AA, 0x119D7,
  0x119DA, 0x119E1, 0x119E3, 0x119E4, 0x11A00, 0x11A3E, 0x11A47, 0x11A47, 0x11A50,
  0x11A99, 0x11A9D, 0x11A9D, 0x11AC0, 0x11AF8, 0x11C00, 0x11C08, 0x11C0A, 0x11C36,
  0x11C38, 0x11C40, 0x11C50, 0x11C59, 0x11C72, 0x11C8F, 0x11C92, 0x11CA7, 0x11CA9,
  0x11CB6, 0x11D00, 0x11D06, 0x11D08, 0x11D09, 0x11D0B, 0x11D36, 0x11D3A, 0x11D3A,
  0x11D3C, 0x11D3D, 0x11D3F, 0x11D47, 0x11D50, 0x11D59, 0x11D60, 0x11D65, 0x11D67,
  0x11D68, 0x11D6A, 0x11D8E, 0x11D90, 0x11D91, 0x11D93, 0x11D98, 0x11DA0, 0x11DA9,
  0x11EE0, 0x11EF6, 0x12000, 0x12399, 0x12400, 0x1246E, 0x12480, 0x12543, 0x13000,
  0x1342E, 0x14400, 0x14646, 0x16800, 0x16A38, 0x16A40, 0x16A5E, 0x16A60, 0x16A69,
  0x16AD0, 0x16AED, 0x16AF0, 0x16AF4, 0x16B00, 0x16B36, 0x16B40, 0x16B43, 0x16B50,
  0x16B59, 0x16B63, 0x16B77, 0x16B7D, 0x16B8F, 0x16E40, 0x16E7F, 0x16F00, 0x16F4A,
  0x16F4F, 0x16F87, 0x16F8F, 0x16F9F, 0x16FE0, 0x16FE1, 0x16FE3, 0x16FE3, 0x17000,
  0x187F7, 0x18800, 0x18AF2, 0x1B000, 0x1B11E, 0x1B150, 0x1B152, 0x1B164, 0x1B167,
  0x1B170, 0x1B2FB, 0x1BC00, 0x1BC6A, 0x1BC70, 0x1BC7C, 0x1BC80, 0x1BC88, 0x1BC90,
  0x1BC99, 0x1BC9D, 0x1BC9E, 0x1D165, 0x1D169, 0x1D16D, 0x1D172, 0x1D17B, 0x1D182,
  0x1D185, 0x1D18B, 0x1D1AA, 0x1D1AD, 0x1D242, 0x1D244, 0x1D400, 0x1D454, 0x1D456,
  0x1D49C, 0x1D49E, 0x1D49F, 0x1D4A2, 0x1D4A2, 0x1D4A5, 0x1D4A6, 0x1D4A9, 0x1D4AC,
  0x1D4AE, 0x1D4B9, 0x1D4BB, 0x1D4BB, 0x1D4BD, 0x1D4C3, 0x1D4C5, 0x1D505, 0x1D507,
  0x1D50A, 0x1D50D, 0x1D514, 0x1D516, 0x1D51C, 0x1D51E, 0x1D539, 0x1D53B, 0x1D53E,
  0x1D540, 0x1D544, 0x1D546, 0x1D546, 0x1D54A, 0x1D550, 0x1D552, 0x1D6A5, 0x1D6A8,
  0x1D6C0, 0x1D6C2, 0x1D6DA, 0x1D6DC, 0x1D6FA, 0x1D6FC, 0x1D714, 0x1D716, 0x1D734,
  0x1D736, 0x1D74E, 0x1D750, 0x1D76E, 0x1D770, 0x1D788, 0x1D78A, 0x1D7A8, 0x1D7AA,
  0x1D7C2, 0x1D7C4, 0x1D7CB, 0x1D7CE, 0x1D7FF, 0x1DA00, 0x1DA36, 0x1DA3B, 0x1DA6C,
  0x1DA75, 0x1DA75, 0x1DA84, 0x1DA84, 0x1DA9B, 0x1DA9F, 0x1DAA1, 0x1DAAF, 0x1E000,
  0x1E006, 0x1E008, 0x1E018, 0x1E01B, 0x1E021, 0x1E023, 0x1E024, 0x1E026, 0x1E02A,
  0x1E100, 0x1E12C, 0x1E130, 0x1E13D, 0x1E140, 0x1E149, 0x1E14E, 0x1E14E, 0x1E2C0,
  0x1E2F9, 0x1E800, 0x1E8C4, 0x1E8D0, 0x1E8D6, 0x1E900, 0x1E94B, 0x1E950, 0x1E959,
  0x1EE00, 0x1EE03, 0x1EE05, 0x1EE1F, 0x1EE21, 0x1EE22, 0x1EE24, 0x1EE24, 0x1EE27,
  0x1EE27, 0x1EE29, 0x1EE32, 0x1EE34, 0x1EE37, 0x1EE39, 0x1EE39, 0x1EE3B, 0x1EE3B,
  0x1EE42, 0x1EE42, 0x1EE47, 0x1EE47, 0x1EE49, 0x1EE49, 0x1EE4B, 0x1EE4B, 0x1EE4D,
  0x1EE4F, 0x1EE51, 0x1EE52, 0x1EE54, 0x1EE54, 0x1EE57, 0x1EE57, 0x1EE59, 0x1EE59,
  0x1EE5B, 0x1EE5B, 0x1EE5D, 0x1EE5D, 0x1EE5F, 0x1EE5F, 0x1EE61, 0x1EE62, 0x1EE64,
  0x1EE64, 0x1EE67, 0x1EE6A, 0x1EE6C, 0x1EE72, 0x1EE74, 0x1EE77, 0x1EE79, 0x1EE7C,
  0x1EE7E, 0x1EE7E, 0x1EE80, 0x1EE89, 0x1EE8B, 0x1EE9B, 0x1EEA1, 0x1EEA3, 0x1EEA5,
  0x1EEA9, 0x1EEAB, 0x1EEBB, 0x1F130, 0x1F149, 0x1F150, 0x1F169, 0x1F170, 0x1F189,
  0x20000, 0x2A6D6, 0x2A700, 0x2B734, 0x2B740, 0x2B81D, 0x2B820, 0x2CEA1, 0x2CEB0,
  0x2EBE0, 0x2F800, 0x2FA1D, 0xE0100, 0xE01EF,
]

///|
/// Inclusive code point ranges (flattened lo/hi pairs) for `\p{Blank}`.
let blank_ranges : FixedArray[Int] = [
  0x9, 0x9, 0x20, 0x20, 0xA0, 0xA0, 0x1680, 0x1680, 0x2000, 0x200A, 0x202F, 0x202F,
  0x205F, 0x205F, 0x3000, 0x3000,
]

///|
/// Inclusive code point ranges (flattened lo/hi pairs) for `\p{Space}`.
let space_ranges : FixedArray[Int] = [
  0x9, 0xD, 0x20, 0x20, 0x85, 0x85, 0xA0, 0xA0, 0x1680, 0x1680, 0x2000, 0x200A, 0x2028,
  0x2029, 0x202F, 0x202F, 0x205F, 0x205F, 0x3000, 0x3000,
]

///|
/// Inclusive code point ranges (flattened lo/hi pairs) for `\p{Upper}`.
let upper_ranges : FixedArray[Int] = [
  0x41, 0x5A, 0xC0, 0xD6, 0xD8, 0xDE, 0x100, 0x100, 0x102, 0x102, 0x104, 0x104, 0x106,
  0x106, 0x108, 0x108, 0x10A, 0x10A, 0x10C, 0x10C, 0x10E, 0x10E, 0x110, 0x110, 0x112,
  0x112, 0x114, 0x114, 0x116, 0x116, 0x118, 0x118, 0x11A, 0x11A, 0x11C, 0x11C, 0x11E,
  0x11E, 0x120, 0x120, 0x122, 0x122, 0x124, 0x124, 0x126, 0x126, 0x128, 0x128, 0x12A,
  0x12A, 0x12C, 0x12C, 0x12E, 0x12E, 0x130, 0x130, 0x132, 0x132, 0x134, 0x134, 0x136,
  0x136, 0x139, 0x139, 0x13B, 0x13B, 0x13D, 0x13D, 0x13F, 0x13F, 0x141, 0x141, 0x143,
  0x143, 0x145, 0x145, 0x147, 0x147, 0x14A, 0x14A, 0x14C, 0x14C, 0x14E, 0x14E, 0x150,
  0x150, 0x152, 0x152, 0x154, 0x154, 0x156, 0x156, 0x158, 0x158, 0x15A, 0x15A, 0x15C,
  0x15C, 0x15E, 0x15E, 0x160, 0x160, 0x162, 0x162, 0x164, 0x164, 0x166, 0x166, 0x168,
  0x168, 0x16A, 0x16A, 0x16C, 0x16C, 0x16E, 0x16E, 0x170, 0x170, 0x172, 0x172, 0x174,
  0x174, 0x176, 0x176, 0x178, 0x179, 0x17B, 0x17B, 0x17D, 0x17D, 0x181, 0x182, 0x184,
  0x184, 0x186, 0x187, 0x189, 0x18B, 0x18E, 0x191, 0x193, 0x194, 0x196, 0x198, 0x19C,
  0x19D, 0x19F, 0x1A0, 0x1A2, 0x1A2, 0x1A4, 0x1A4, 0x1A6, 0x1A7, 0x1A9, 0x1A9, 0x1AC,
  0x1AC, 0x1AE, 0x1AF, 0x1B1, 0x1B3, 0x1B5, 0x1B5, 0x1B7, 0x1B8, 0x1BC, 0x1BC, 0x1C4,
  0x1C4, 0x1C7, 0x1C7, 0x1CA, 0x1CA, 0x1CD, 0x1CD, 0x1CF, 0x1CF, 0x1D1, 0x1D1, 0x1D3,
  0x1D3, 0x1D5, 0x1D5, 0x1D7, 0x1D7, 0x1D9, 0x1D9, 0x1DB, 0x1DB, 0x1DE, 0x1DE, 0x1E0,
  0x1E0, 0x1E2, 0x1E2, 0x1E4, 0x1E4, 0x1E6, 0x1E6, 0x1E8, 0x1E8, 0x1EA, 0x1EA, 0x1EC,
  0x1EC, 0x1EE, 0x1EE, 0x1F1, 0x1F1, 0x1F4, 0x1F4, 0x1F6, 0x1F8, 0x1FA, 0x1FA, 0x1FC,
  0x1FC, 0x1FE, 0x1FE, 0x200, 0x200, 0x202, 0x202, 0x204, 0x204, 0x206, 0x206, 0x208,
  0x208, 0x20A, 0x20A, 0x20C, 0x20C, 0x20E, 0x20E, 0x210, 0x210, 0x212, 0x212, 0x214,
  0x214, 0x216, 0x216, 0x218, 0x218, 0x21A, 0x21A, 0x21C, 0x21C, 0x21E, 0x21E, 0x220,
  0x220, 0x222, 0x222, 0x224, 0x224, 0x226, 0x226, 0x228, 0x228, 0x22A, 0x22A, 0x22C,
  0x22C, 0x22E, 0x22E, 0x230, 0x230, 0x232, 0x232, 0x23A, 0x23B, 0x23D, 0x23E, 0x241,
  0x241, 0x243, 0x246, 0x248, 0x248, 0x24A, 0x24A, 0x24C, 0x24C, 0x24E, 0x24E, 0x370,
  0x370, 0x372, 0x372, 0x376, 0x376, 0x37F, 0x37F, 0x386, 0x386, 0x388, 0x38A, 0x38C,
  0x38C, 0x38E, 0x38F, 0x391, 0x3A1, 0x3A3, 0x3AB, 0x3CF, 0x3CF, 0x3D2, 0x3D4, 0x3D8,
  0x3D8, 0x3DA, 0x3DA, 0x3DC, 0x3DC, 0x3DE, 0x3DE, 0x3E0, 0x3E0, 0x3E2, 0x3E2, 0x3E4,
  0x3E4, 0x3E6, 0x3E6, 0x3E8, 0x3E8, 0x3EA, 0x3EA, 0x3EC, 0x3EC, 0x3EE, 0x3EE, 0x3F4,
  0x3F4, 0x3F7, 0x3F7, 0x3F9, 0x3FA, 0x3FD, 0x42F, 0x460, 0x460, 0x462, 0x462, 0x464,
  0x464, 0x466, 0x466, 0x468, 0x468, 0x46A, 0x46A, 0x46C, 0x46C, 0x46E, 0x46E, 0x470,
  0x470, 0x472, 0x472, 0x474, 0x474, 0x476, 0x476, 0x478, 0x478, 0x47A, 0x47A, 0x47C,
  0x47C, 0x47E, 0x47E, 0x480, 0x480, 0x48A, 0x48A, 0x48C, 0x48C, 0x48E, 0x48E, 0x490,
  0x490, 0x492, 0x492, 0x494, 0x494, 0x496, 0x496, 0x498, 0x498, 0x49A, 0x49A, 0x49C,
  0x49C, 0x49E, 0x49E, 0x4A0, 0x4A0, 0x4A2, 0x4A2, 0x4A4, 0x4A4, 0x4A6, 0x4A6, 0x4A8,
  0x4A8, 0x4AA, 0x4AA, 0x4AC, 0x4AC, 0x4AE, 0x4AE, 0x4B0, 0x4B0, 0x4B2, 0x4B2, 0x4B4,
  0x4B4, 0x4B6, 0x4B6, 0x4B8, 0x4B8, 0x4BA, 0x4BA, 0x4BC, 0x4BC, 0x4BE, 0x4BE, 0x4C0,
  0x4C1, 0x4C3, 0x4C3, 0x4C5, 0x4C5, 0x4C7, 0x4C7, 0x4C9, 0x4C9, 0x4CB, 0x4CB, 0x4CD,
  0x4CD, 0x4D0, 0x4D0, 0x4D2, 0x4D2, 0x4D4, 0x4D4, 0x4D6, 0x4D6, 0x4D8, 0x4D8, 0x4DA,
  0x4DA, 0x4DC, 0x4DC, 0x4DE, 0x4DE, 0x4E0, 0x4E0, 0x4E2, 0x4E2, 0x4E4, 0x4E4, 0x4E6,
  0x4E6, 0x4E8, 0x4E8, 0x4EA, 0x4EA, 0x4EC, 0x4EC, 0x4EE, 0x4EE, 0x4F0, 0x4F0, 0x4F2,
  0x4F2, 0x4F4, 0x4F4, 0x4F6, 0x4F6, 0x4F8, 0x4F8, 0x4FA, 0x4FA, 0x4FC, 0x4FC, 0x4FE,
  0x4FE, 0x500, 0x500, 0x502, 0x502, 0x504, 0x504, 0x506, 0x506, 0x508, 0x508, 0x50A,
  0x50A, 0x50C, 0x50C, 0x50E, 0x50E, 0x510, 0x510, 0x512, 0x512, 0x514, 0x514, 0x516,
  0x516, 0x518, 0x518, 0x51A, 0x51A, 0x51C, 0x51C, 0x51E, 0x51E, 0x520, 0x520, 0x522,
  0x522, 0x524, 0x524, 0x526, 0x526, 0x528, 0x528, 0x52A, 0x52A, 0x52C, 0x52C, 0x52E,
  0x52E, 0x531, 0x556, 0x10A0, 0x10C5, 0x10C7, 0x10C7, 0x10CD, 0x10CD, 0x13A0, 0x13F5,
  0x1C90, 0x1CBA, 0x1CBD, 0x1CBF, 0x1E00, 0x1E00, 0x1E02, 0x1E02, 0x1E04, 0x1E04,
  0x1E06, 0x1E06, 0x1E08, 0x1E08, 0x1E0A, 0x1E0A, 0x1E0C, 0x1E0C, 0x1E0E, 0x1E0E,
  0x1E10, 0x1E10, 0x1E12, 0x1E12, 0x1E14, 0x1E14, 0x1E16, 0x1E16, 0x1E18, 0x1E18,
  0x1E1A, 0x1E1A, 0x1E1C, 0x1E1C, 0x1E1E, 0x1E1E, 0x1E20, 0x1E20, 0x1E22, 0x1E22,
  0x1E24, 0x1E24, 0x1E26, 0x1E26, 0x1E28, 0x1E28, 0x1E2A, 0x1E2A, 0x1E2C, 0x1E2C,
  0x1E2E, 0x1E2E, 0x1E30, 0x1E30, 0x1E32, 0x1E32, 0x1E34, 0x1E34, 0x1E36, 0x1E36,
  0x1E38, 0x1E38, 0x1E3A, 0x1E3A, 0x1E3C, 0x1E3C, 0x1E3E, 0x1E3E, 0x1E40, 0x1E40,
  0x1E42, 0x1E42, 0x1E44, 0x1E44, 0x1E46, 0x1E46, 0x1E48, 0x1E48, 0x1E4A, 0x1E4A,
  0x1E4C, 0x1E4C, 0x1E4E, 0x1E4E, 0x1E50, 0x1E50, 0x1E52, 0x1E52, 0x1E54, 0x1E54,
  0x1E56, 0x1E56, 0x1E58, 0x1E58, 0x1E5A, 0x1E5A, 0x1E5C, 0x1E5C, 0x1E5E, 0x1E5E,
  0x1E60, 0x1E60, 0x1E62, 0x1E62, 0x1E64, 0x1E64, 0x1E66, 0x1E66, 0x1E68, 0x1E68,
  0x1E6A, 0x1E6A, 0x1E6C, 0x1E6C, 0x1E6E, 0x1E6E, 0x1E70, 0x1E70, 0x1E72, 0x1E72,
  0x1E74, 0x1E74, 0x1E76, 0x1E76, 0x1E78, 0x1E78, 0x1E7A, 0x1E7A, 0x1E7C, 0x1E7C,
  0x1E7E, 0x1E7E, 0x1E80, 0x1E80, 0x1E82, 0x1E82, 0x1E84, 0x1E84, 0x1E86, 0x1E86,
  0x1E88, 0x1E88, 0x1E8A, 0x1E8A, 0x1E8C, 0x1E8C, 0x1E8E, 0x1E8E, 0x1E90, 0x1E90,
  0x1E92, 0x1E92, 0x1E94, 0x1E94, 0x1E9E, 0x1E9E, 0x1EA0, 0x1EA0, 0x1EA2, 0x1EA2,
  0x1EA4, 0x1EA4, 0x1EA6, 0x1EA6, 0x1EA8, 0x1EA8, 0x1EAA, 0x1EAA, 0x1EAC, 0x1EAC,
  0x1EAE, 0x1EAE, 0x1EB0, 0x1EB0, 0x1EB2, 0x1EB2, 0x1EB4, 0x1EB4, 0x1EB6, 0x1EB6,
  0x1EB8, 0x1EB8, 0x1EBA, 0x1EBA, 0x1EBC, 0x1EBC, 0x1EBE, 0x1EBE, 0x1EC0, 0x1EC0,
  0x1EC2, 0x1EC2, 0x1EC4, 0x1EC4, 0x1EC6, 0x1EC6, 0x1EC8, 0x1EC8, 0x1ECA, 0x1ECA,
  0x1ECC, 0x1ECC, 0x1ECE, 0x1ECE, 0x1ED0, 0x1ED0, 0x1ED2, 0x1ED2, 0x1ED4, 0x1ED4,
  0x1ED6, 0x1ED6, 0x1ED8, 0x1ED8, 0x1EDA, 0x1EDA, 0x1EDC, 0x1EDC, 0x1EDE, 0x1EDE,
  0x1EE0, 0x1EE0, 0x1EE2, 0x1EE2, 0x1EE4, 0x1EE4, 0x1EE6, 0x1EE6, 0x1EE8, 0x1EE8,
  0x1EEA, 0x1EEA, 0x1EEC, 0x1EEC, 0x1EEE, 0x1EEE, 0x1EF0, 0x1EF0, 0x1EF2, 0x1EF2,
  0x1EF4, 0x1EF4, 0x1EF6, 0x1EF6, 0x1EF8, 0x1EF8, 0x1EFA, 0x1EFA, 0x1EFC, 0x1EFC,
  0x1EFE, 0x1EFE, 0x1F08, 0x1F0F, 0x1F18, 0x1F1D, 0x1F28, 0x1F2F, 0x1F38, 0x1F3F,
  0x1F48, 0x1F4D, 0x1F59, 0x1F59, 0x1F5B, 0x1F5B, 0x1F5D, 0x1F5D, 0x1F5F, 0x1F5F,
  0x1F68, 0x1F6F, 0x1FB8, 0x1FBB, 0x1FC8, 0x1FCB, 0x1FD8, 0x1FDB, 0x1FE8, 0x1FEC,
  0x1FF8, 0x1FFB, 0x2102, 0x2102, 0x2107, 0x2107, 0x210B, 0x210D, 0x2110, 0x2112,
  0x2115, 0x2115, 0x2119, 0x211D, 0x2124, 0x2124, 0x2126, 0x2126, 0x2128, 0x2128,
  0x212A, 0x212D, 0x2130, 0x2133, 0x213E, 0x213F, 0x2145, 0x2145, 0x2160, 0x216F,
  0x2183, 0x2183, 0x24B6, 0x24CF, 0x2C00, 0x2C2E, 0x2C60, 0x2C60, 0x2C62, 0x2C64,
  0x2C67, 0x2C67, 0x2C69, 0x2C69, 0x2C6B, 0x2C6B, 0x2C6D, 0x2C70, 0x2C72, 0x2C72,
  0x2C75, 0x2C75, 0x2C7E, 0x2C80, 0x2C82, 0x2C82, 0x2C84, 0x2C84, 0x2C86, 0x2C86,
  0x2C88, 0x2C88, 0x2C8A, 0x2C8A, 0x2C8C, 0x2C8C, 0x2C8E, 0x2C8E, 0x2C90, 0x2C90,
  0x2C92, 0x2C92, 0x2C94, 0x2C94, 0x2C96, 0x2C96, 0x2C98, 0x2C98, 0x2C9A, 0x2C9A,
  0x2C9C, 0x2C9C, 0x2C9E, 0x2C9E, 0x2CA0, 0x2CA0, 0x2CA2, 0x2CA2, 0x2CA4, 0x2CA4,
  0x2CA6, 0x2CA6, 0x2CA8, 0x2CA8, 0x2CAA, 0x2CAA, 0x2CAC, 0x2CAC, 0x2CAE, 0x2CAE,
  0x2CB0, 0x2CB0, 0x2CB2, 0x2CB2, 0x2CB4, 0x2CB4, 0x2CB6, 0x2CB6, 0x2CB8, 0x2CB8,
  0x2CBA, 0x2CBA, 0x2CBC, 0x2CBC, 0x2CBE, 0x2CBE, 0x2CC0, 0x2CC0, 0x2CC2, 0x2CC2,
  0x2CC4, 0x2CC4, 0x2CC6, 0x2CC6, 0x2CC8, 0x2CC8, 0x2CCA, 0x2CCA, 0x2CCC, 0x2CCC,
  0x2CCE, 0x2CCE, 0x2CD0, 0x2CD0, 0x2CD2, 0x2CD2, 0x2CD4, 0x2CD4, 0x2CD6, 0x2CD6,
  0x2CD8, 0x2CD8, 0x2CDA, 0x2CDA, 0x2CDC, 0x2CDC, 0x2CDE, 0x2CDE, 0x2CE0, 0x2CE0,
  0x2CE2, 0x2CE2, 0x2CEB, 0x2CEB, 0x2CED, 0x2CED, 0x2CF2, 0x2CF2, 0xA640, 0xA640,
  0xA642, 0xA642, 0xA644, 0xA644, 0xA646, 0xA646, 0xA648, 0xA648, 0xA64A, 0xA64A,
  0xA64C, 0xA64C, 0xA64E, 0xA64E, 0xA650, 0xA650, 0xA652, 0xA652, 0xA654, 0xA654,
  0xA656, 0xA656, 0xA658, 0xA658, 0xA65A, 0xA65A, 0xA65C, 0xA65C, 0xA65E, 0xA65E,
  0xA660, 0xA660, 0xA662, 0xA662, 0xA664, 0xA664, 0xA666, 0xA666, 0xA668, 0xA668,
  0xA66A, 0xA66A, 0xA66C, 0xA66C, 0xA680, 0xA680, 0xA682, 0xA682, 0xA684, 0xA684,
  0xA686, 0xA686, 0xA688, 0xA688, 0xA68A, 0xA68A, 0xA68C, 0xA68C, 0xA68E, 0xA68E,
  0xA690, 0xA690, 0xA692, 0xA692, 0xA694, 0xA694, 0xA696, 0xA696, 0xA698, 0xA698,
  0xA69A, 0xA69A, 0xA722, 0xA722, 0xA724, 0xA724, 0xA726, 0xA726, 0xA728, 0xA728,
  0xA72A, 0xA72A, 0xA72C, 0xA72C, 0xA72E, 0xA72E, 0xA732, 0xA732, 0xA734, 0xA734,
  0xA736, 0xA736, 0xA738, 0xA738, 0xA73A, 0xA73A, 0xA73C, 0xA73C, 0xA73E, 0xA73E,
  0xA740, 0xA740, 0xA742, 0xA742, 0xA744, 0xA744, 0xA746, 0xA746, 0xA748, 0xA748,
  0xA74A, 0xA74A, 0xA74C, 0xA74C, 0xA74E, 0xA74E, 0xA750, 0xA750, 0xA752, 0xA752,
  0xA754, 0xA754, 0xA756, 0xA756, 0xA758, 0xA758, 0xA75A, 0xA75A, 0xA75C, 0xA75C,
  0xA75E, 0xA75E, 0xA760, 0xA760, 0xA762, 0xA762, 0xA764, 0xA764, 0xA766, 0xA766,
  0xA768, 0xA768, 0xA76A, 0xA76A, 0xA76C, 0xA76C, 0xA76E, 0xA76E, 0xA779, 0xA779,
  0xA77B, 0xA77B, 0xA77D, 0xA77E, 0xA780, 0xA780, 0xA782, 0xA782, 0xA784, 0xA784,
  0xA786, 0xA786, 0xA78B, 0xA78B, 0xA78D, 0xA78D, 0xA790, 0xA790, 0xA792, 0xA792,
  0xA796, 0xA796, 0xA798, 0xA798, 0xA79A, 0xA79A, 0xA79C, 0xA79C, 0xA79E, 0xA79E,
  0xA7A0, 0xA7A0, 0xA7A2, 0xA7A2, 0xA7A4, 0xA7A4, 0xA7A6, 0xA7A6, 0xA7A8, 0xA7A8,
  0xA7AA, 0xA7AE, 0xA7B0, 0xA7B4, 0xA7B6, 0xA7B6, 0xA7B8, 0xA7B8, 0xA7BA, 0xA7BA,
  0xA7BC, 0xA7BC, 0xA7BE, 0xA7BE, 0xA7C2, 0xA7C2, 0xA7C4, 0xA7C6, 0xFF21, 0xFF3A,
  0x10400, 0x10427, 0x104B0, 0x104D3, 0x10C80, 0x10CB2, 0x118A0, 0x118BF, 0x16E40,
  0x16E5F, 0x1D400, 0x1D419, 0x1D434, 0x1D44D, 0x1D468, 0x1D481, 0x1D49C, 0x1D49C,
  0x1D49E, 0x1D49F, 0x1D4A2, 0x1D4A2, 0x1D4A5, 0x1D4A6, 0x1D4A9, 0x1D4AC, 0x1D4AE,
  0x1D4B5, 0x1D4D0, 0x1D4E9, 0x1D504, 0x1D505, 0x1D507, 0x1D50A, 0x1D50D, 0x1D514,
  0x1D516, 0x1D51C, 0x1D538, 0x1D539, 0x1D53B, 0x1D53E, 0x1D540, 0x1D544, 0x1D546,
  0x1D546, 0x1D54A, 0x1D550, 0x1D56C, 0x1D585, 0x1D5A0, 0x1D5B9, 0x1D5D4, 0x1D5ED,
  0x1D608, 0x1D621, 0x1D63C, 0x1D655, 0x1D670, 0x1D689, 0x1D6A8, 0x1D6C0, 0x1D6E2,
  0x1D6FA, 0x1D71C, 0x1D734, 0x1D756, 0x1D76E, 0x1D790, 0x1D7A8, 0x1D7CA, 0x1D7CA,
  0x1E900, 0x1E921, 0x1F130, 0x1F149, 0x1F150, 0x1F169, 0x1F170, 0x1F189,
]

///|
/// Inclusive code point ranges (flattened lo/hi pairs) for `\p{Lower}`.
let lower_ranges : FixedArray[Int] = [
  0x61, 0x7A, 0xAA, 0xAA, 0xB5, 0xB5, 0xBA, 0xBA, 0xDF, 0xF6, 0xF8, 0xFF, 0x101,
  0x101, 0x103, 0x103, 0x105, 0x105, 0x107, 0x107, 0x109, 0x109, 0x10B, 0x10B, 0x10D,
  0x10D, 0x10F, 0x10F, 0x111, 0x111, 0x113, 0x113, 0x115, 0x115, 0x117, 0x117, 0x119,
  0x119, 0x11B, 0x11B, 0x11D, 0x11D, 0x11F, 0x11F, 0x121, 0x121, 0x123, 0x123, 0x125,
  0x125, 0x127, 0x127, 0x129, 0x129, 0x12B, 0x12B, 0x12D, 0x12D, 0x12F, 0x12F, 0x131,
  0x131, 0x133, 0x133, 0x135, 0x135, 0x137, 0x138, 0x13A, 0x13A, 0x13C, 0x13C, 0x13E,
  0x13E, 0x140, 0x140, 0x142, 0x142, 0x144, 0x144, 0x146, 0x146, 0x148, 0x149, 0x14B,
  0x14B, 0x14D, 0x14D, 0x14F, 0x14F, 0x151, 0x151, 0x153, 0x153, 0x155, 0x155, 0x157,
  0x157, 0x159, 0x159, 0x15B, 0x15B, 0x15D, 0x15D, 0x15F, 0x15F, 0x161, 0x161, 0x163,
  0x163, 0x165, 0x165, 0x167, 0x167, 0x169, 0x169, 0x16B, 0x16B, 0x16D, 0x16D, 0x16F,
  0x16F, 0x171, 0x171, 0x173, 0x173, 0x175, 0x175, 0x177, 0x177, 0x17A, 0x17A, 0x17C,
  0x17C, 0x17E, 0x180, 0x183, 0x183, 0x185, 0x185, 0x188, 0x188, 0x18C, 0x18D, 0x192,
  0x192, 0x195, 0x195, 0x199, 0x19B, 0x19E, 0x19E, 0x1A1, 0x1A1, 0x1A3, 0x1A3, 0x1A5,
  0x1A5, 0x1A8, 0x1A8, 0x1AA, 0x1AB, 0x1AD, 0x1AD, 0x1B0, 0x1B0, 0x1B4, 0x1B4, 0x1B6,
  0x1B6, 0x1B9, 0x1BA, 0x1BD, 0x1BF, 0x1C6, 0x1C6, 0x1C9, 0x1C9, 0x1CC, 0x1CC, 0x1CE,
  0x1CE, 0x1D0, 0x1D0, 0x1D2, 0x1D2, 0x1D4, 0x1D4, 0x1D6, 0x1D6, 0x1D8, 0x1D8, 0x1DA,
  0x1DA, 0x1DC, 0x1DD, 0x1DF, 0x1DF, 0x1E1, 0x1E1, 0x1E3, 0x1E3, 0x1E5, 0x1E5, 0x1E7,
  0x1E7, 0x1E9, 0x1E9, 0x1EB, 0x1EB, 0x1ED, 0x1ED, 0x1EF, 0x1F0, 0x1F3, 0x1F3, 0x1F5,
  0x1F5, 0x1F9, 0x1F9, 0x1FB, 0x1FB, 0x1FD, 0x1FD, 0x1FF, 0x1FF, 0x201, 0x201, 0x203,
  0x203, 0x205, 0x205, 0x207, 0x207, 0x209, 0x209, 0x20B, 0x20B, 0x20D, 0x20D, 0x20F,
  0x20F, 0x211, 0x211, 0x213, 0x213, 0x215, 0x215, 0x217, 0x217, 0x219, 0x219, 0x21B,
  0x21B, 0x21D, 0x21D, 0x21F, 0x21F, 0x221, 0x221, 0x223, 0x223, 0x225, 0x225, 0x227,
  0x227, 0x229, 0x229, 0x22B, 0x22B, 0x22D, 0x22D, 0x22F, 0x22F, 0x231, 0x231, 0x233,
  0x239, 0x23C, 0x23C, 0x23F, 0x240, 0x242, 0x242, 0x247, 0x247, 0x249, 0x249, 0x24B,
  0x24B, 0x24D, 0x24D, 0x24F, 0x293, 0x295, 0x2B8, 0x2C0, 0x2C1, 0x2E0, 0x2E4, 0x345,
  0x345, 0x371, 0x371, 0x373, 0x373, 0x377, 0x377, 0x37A, 0x37D, 0x390, 0x390, 0x3AC,
  0x3CE, 0x3D0, 0x3D1, 0x3D5, 0x3D7, 0x3D9, 0x3D9, 0x3DB, 0x3DB, 0x3DD, 0x3DD, 0x3DF,
  0x3DF, 0x3E1, 0x3E1, 0x3E3, 0x3E3, 0x3E5, 0x3E5, 0x3E7, 0x3E7, 0x3E9, 0x3E9, 0x3EB,
  0x3EB, 0x3ED, 0x3ED, 0x3EF, 0x3F3, 0x3F5, 0x3F5, 0x3F8, 0x3F8, 0x3FB, 0x3FC, 0x430,
  0x45F, 0x461, 0x461, 0x463, 0x463, 0x465, 0x465, 0x467, 0x467, 0x469, 0x469, 0x46B,
  0x46B, 0x46D, 0x46D, 0x46F, 0x46F, 0x471, 0x471, 0x473, 0x473, 0x475, 0x475, 0x477,
  0x477, 0x479, 0x479, 0x47B, 0x47B, 0x47D, 0x47D, 0x47F, 0x47F, 0x481, 0x481, 0x48B,
  0x48B, 0x48D, 0x48D, 0x48F, 0x48F, 0x491, 0x491, 0x493, 0x493, 0x495, 0x495, 0x497,
  0x497, 0x499, 0x499, 0x49B, 0x49B, 0x49D, 0x49D, 0x49F, 0x49F, 0x4A1, 0x4A1, 0x4A3,
  0x4A3, 0x4A5, 0x4A5, 0x4A7, 0x4A7, 0x4A9, 0x4A9, 0x4AB, 0x4AB, 0x4AD, 0x4AD, 0x4AF,
  0x4AF, 0x4B1, 0x4B1, 0x4B3, 0x4B3, 0x4B5, 0x4B5, 0x4B7, 0x4B7, 0x4B9, 0x4B9, 0x4BB,
  0x4BB, 0x4BD, 0x4BD, 0x4BF, 0x4BF, 0x4C2, 0x4C2, 0x4C4, 0x4C4, 0x4C6, 0x4C6, 0x4C8,
  0x4C8, 0x4CA, 0x4CA, 0x4CC, 0x4CC, 0x4CE, 0x4CF, 0x4D1, 0x4D1, 0x4D3, 0x4D3, 0x4D5,
  0x4D5, 0x4D7, 0x4D7, 0x4D9, 0x4D9, 0x4DB, 0x4DB, 0x4DD, 0x4DD, 0x4DF, 0x4DF, 0x4E1,
  0x4E1, 0x4E3, 0x4E3, 0x4E5, 0x4E5, 0x4E7, 0x4E7, 0x4E9, 0x4E9, 0x4EB, 0x4EB, 0x4ED,
  0x4ED, 0x4EF, 0x4EF, 0x4F1, 0x4F1, 0x4F3, 0x4F3, 0x4F5, 0x4F5, 0x4F7, 0x4F7, 0x4F9,
  0x4F9, 0x4FB, 0x4FB, 0x4FD, 0x4FD, 0x4FF, 0x4FF, 0x501, 0x501, 0x503, 0x503, 0x505,
  0x505, 0x507, 0x507, 0x509, 0x509, 0x50B, 0x50B, 0x50D, 0x50D, 0x50F, 0x50F, 0x511,
  0x511, 0x513, 0x513, 0x515, 0x515, 0x517, 0x517, 0x519, 0x519, 0x51B, 0x51B, 0x51D,
  0x51D, 0x51F, 0x51F, 0x521, 0x521, 0x523, 0x523, 0x525, 0x525, 0x527, 0x527, 0x529,
  0x529, 0x52B, 0x52B, 0x52D, 0x52D, 0x52F, 0x52F, 0x560, 0x588, 0x10D0, 0x10FA,
  0x10FD, 0x10FF, 0x13F8, 0x13FD, 0x1C80, 0x1C88, 0x1D00, 0x1DBF, 0x1E01, 0x1E01,
  0x1E03, 0x1E03, 0x1E05, 0x1E05, 0x1E07, 0x1E07, 0x1E09, 0x1E09, 0x1E0B, 0x1E0B,
  0x1E0D, 0x1E0D, 0x1E0F, 0x1E0F, 0x1E11, 0x1E11, 0x1E13, 0x1E13, 0x1E15, 0x1E15,
  0x1E17, 0x1E17, 0x1E19, 0x1E19, 0x1E1B, 0x1E1B, 0x1E1D, 0x1E1D, 0x1E1F, 0x1E1F,
  0x1E21, 0x1E21, 0x1E23, 0x1E23, 0x1E25, 0x1E25, 0x1E27, 0x1E27, 0x1E29, 0x1E29,
  0x1E2B, 0x1E2B, 0x1E2D, 0x1E2D, 0x1E2F, 0x1E2F, 0x1E31, 0x1E31, 0x1E33, 0x1E33,
  0x1E35, 0x1E35, 0x1E37, 0x1E37, 0x1E39, 0x1E39, 0x1E3B, 0x1E3B, 0x1E3D, 0x1E3D,
  0x1E3F, 0x1E3F, 0x1E41, 0x1E41, 0x1E43, 0x1E43, 0x1E45, 0x1E45, 0x1E47, 0x1E47,
  0x1E49, 0x1E49, 0x1E4B, 0x1E4B, 0x1E4D, 0x1E4D, 0x1E4F, 0x1E4F, 0x1E51, 0x1E51,
  0x1E53, 0x1E53, 0x1E55, 0x1E55, 0x1E57, 0x1E57, 0x1E59, 0x1E59, 0x1E5B, 0x1E5B,
  0x1E5D, 0x1E5D, 0x1E5F, 0x1E5F, 0x1E61, 0x1E61, 0x1E63, 0x1E63, 0x1E65, 0x1E65,
  0x1E67, 0x1E67, 0x1E69, 0x1E69, 0x1E6B, 0x1E6B, 0x1E6D, 0x1E6D, 0x1E6F, 0x1E6F,
  0x1E71, 0x1E71, 0x1E73, 0x1E73, 0x1E75, 0x1E75, 0x1E77, 0x1E77, 0x1E79, 0x1E79,
  0x1E7B, 0x1E7B, 0x1E7D, 0x1E7D, 0x1E7F, 0x1E7F, 0x1E81, 0x1E81, 0x1E83, 0x1E83,
  0x1E85, 0x1E85, 0x1E87, 0x1E87, 0x1E89, 0x1E89, 0x1E8B, 0x1E8B, 0x1E8D, 0x1E8D,
  0x1E8F, 0x1E8F, 0x1E91, 0x1E91, 0x1E93, 0x1E93, 0x1E95, 0x1E9D, 0x1E9F, 0x1E9F,
  0x1EA1, 0x1EA1, 0x1EA3, 0x1EA3, 0x1EA5, 0x1EA5, 0x1EA7, 0x1EA7, 0x1EA9, 0x1EA9,
  0x1EAB, 0x1EAB, 0x1EAD, 0x1EAD, 0x1EAF, 0x1EAF, 0x1EB1, 0x1EB1, 0x1EB3, 0x1EB3,
  0x1EB5, 0x1EB5, 0x1EB7, 0x1EB7, 0x1EB9, 0x1EB9, 0x1EBB, 0x1EBB, 0x1EBD, 0x1EBD,
  0x1EBF, 0x1EBF, 0x1EC1, 0x1EC1, 0x1EC3, 0x1EC3, 0x1EC5, 0x1EC5, 0x1EC7, 0x1EC7,
  0x1EC9, 0x1EC9, 0x1ECB, 0x1ECB, 0x1ECD, 0x1ECD, 0x1ECF, 0x1ECF, 0x1ED1, 0x1ED1,
  0x1ED3, 0x1ED3, 0x1ED5, 0x1ED5, 0x1ED7, 0x1ED7, 0x1ED9, 0x1ED9, 0x1EDB, 0x1EDB,
  0x1EDD, 0x1EDD, 0x1EDF, 0x1EDF, 0x1EE1, 0x1EE1, 0x1EE3, 0x1EE3, 0x1EE5, 0x1EE5,
  0x1EE7, 0x1EE7, 0x1EE9, 0x1EE9, 0x1EEB, 0x1EEB, 0x1EED, 0x1EED, 0x1EEF, 0x1EEF,
  0x1EF1, 0x1EF1, 0x1EF3, 0x1EF3, 0x1EF5, 0x1EF5, 0x1EF7, 0x1EF7, 0x1EF9, 0x1EF9,
  0x1EFB, 0x1EFB, 0x1EFD, 0x1EFD, 0x1EFF, 0x1F07, 0x1F10, 0x1F15, 0x1F20, 0x1F27,
  0x1F30, 0x1F37, 0x1F40, 0x1F45, 0x1F50, 0x1F57, 0x1F60, 0x1F67, 0x1F70, 0x1F7D,
  0x1F80, 0x1F87, 0x1F90, 0x1F97, 0x1FA0, 0x1FA7, 0x1FB0, 0x1FB4, 0x1FB6, 0x1FB7,
  0x1FBE, 0x1FBE, 0x1FC2, 0x1FC4, 0x1FC6, 0x1FC7, 0x1FD0, 0x1FD3, 0x1FD6, 0x1FD7,
  0x1FE0, 0x1FE7, 0x1FF2, 0x1FF4, 0x1FF6, 0x1FF7, 0x2071, 0x2071, 0x207F, 0x207F,
  0x2090, 0x209C, 0x210A, 0x210A, 0x210E, 0x210F, 0x2113, 0x2113, 0x212F, 0x212F,
  0x2134, 0x2134, 0x2139, 0x2139, 0x213C, 0x213D, 0x2146, 0x2149, 0x214E, 0x214E,
  0x2170, 0x217F, 0x2184, 0x2184, 0x24D0, 0x24E9, 0x2C30, 0x2C5E, 0x2C61, 0x2C61,
  0x2C65, 0x2C66, 0x2C68, 0x2C68, 0x2C6A, 0x2C6A, 0x2C6C, 0x2C6C, 0x2C71, 0x2C71,
  0x2C73, 0x2C74, 0x2C76, 0x2C7D, 0x2C81, 0x2C81, 0x2C83, 0x2C83, 0x2C85, 0x2C85,
  0x2C87, 0x2C87, 0x2C89, 0x2C89, 0x2C8B, 0x2C8B, 0x2C8D, 0x2C8D, 0x2C8F, 0x2C8F,
  0x2C91, 0x2C91, 0x2C93, 0x2C93, 0x2C95, 0x2C95, 0x2C97, 0x2C97, 0x2C99, 0x2C99,
  0x2C9B, 0x2C9B, 0x2C9D, 0x2C9D, 0x2C9F, 0x2C9F, 0x2CA1, 0x2CA1, 0x2CA3, 0x2CA3,
  0x2CA5, 0x2CA5, 0x2CA7, 0x2CA7, 0x2CA9, 0x2CA9, 0x2CAB, 0x2CAB, 0x2CAD, 0x2CAD,
  0x2CAF, 0x2CAF, 0x2CB1, 0x2CB1, 0x2CB3, 0x2CB3, 0x2CB5, 0x2CB5, 0x2CB7, 0x2CB7,
  0x2CB9, 0x2CB9, 0x2CBB, 0x2CBB, 0x2CBD, 0x2CBD, 0x2CBF, 0x2CBF, 0x2CC1, 0x2CC1,
  0x2CC3, 0x2CC3, 0x2CC5, 0x2CC5, 0x2CC7, 0x2CC7, 0x2CC9, 0x2CC9, 0x2CCB, 0x2CCB,
  0x2CCD, 0x2CCD, 0x2CCF, 0x2CCF, 0x2CD1, 0x2CD1, 0x2CD3, 0x2CD3, 0x2CD5, 0x2CD5,
  0x2CD7, 0x2CD7, 0x2CD9, 0x2CD9, 0x2CDB, 0x2CDB, 0x2CDD, 0x2CDD, 0x2CDF, 0x2CDF,
  0x2CE1, 0x2CE1, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CEC, 0x2CEE, 0x2CEE, 0x2CF3, 0x2CF3,
  0x2D00, 0x2D25, 0x2D27, 0x2D27, 0x2D2D, 0x2D2D, 0xA641, 0xA641, 0xA643, 0xA643,
  0xA645, 0xA645, 0xA647, 0xA647, 0xA649, 0xA649, 0xA64B, 0xA64B, 0xA64D, 0xA64D,
  0xA64F, 0xA64F, 0xA651, 0xA651, 0xA653, 0xA653, 0xA655, 0xA655, 0xA657, 0xA657,
  0xA659, 0xA659, 0xA65B, 0xA65B, 0xA65D, 0xA65D, 0xA65F, 0xA65F, 0xA661, 0xA661,
  0xA663, 0xA663, 0xA665, 0xA665, 0xA667, 0xA667, 0xA669, 0xA669, 0xA66B, 0xA66B,
  0xA66D, 0xA66D, 0xA681, 0xA681, 0xA683, 0xA683, 0xA685, 0xA685, 0xA687, 0xA687,
  0xA689, 0xA689, 0xA68B, 0xA68B, 0xA68D, 0xA68D, 0xA68F, 0xA68F, 0xA691, 0xA691,
  0xA693, 0xA693, 0xA695, 0xA695, 0xA697, 0xA697, 0xA699, 0xA699, 0xA69B, 0xA69D,
  0xA723, 0xA723, 0xA725, 0xA725, 0xA727, 0xA727, 0xA729, 0xA729, 0xA72B, 0xA72B,
  0xA72D, 0xA72D, 0xA72F, 0xA731, 0xA733, 0xA733, 0xA735, 0xA735, 0xA737, 0xA737,
  0xA739, 0xA739, 0xA73B, 0xA73B, 0xA73D, 0xA73D, 0xA73F, 0xA73F, 0xA741, 0xA741,
  0xA743, 0xA743, 0xA745, 0xA745, 0xA747, 0xA747, 0xA749, 0xA749, 0xA74B, 0xA74B,
  0xA74D, 0xA74D, 0xA74F, 0xA74F, 0xA751, 0xA751, 0xA753, 0xA753, 0xA755, 0xA755,
  0xA757, 0xA757, 0xA759, 0xA759, 0xA75B, 0xA75B, 0xA75D, 0xA75D, 0xA75F, 0xA75F,
  0xA761, 0xA761, 0xA763, 0xA763, 0xA765, 0xA765, 0xA767, 0xA767, 0xA769, 0xA769,
  0xA76B, 0xA76B, 0xA76D, 0xA76D, 0xA76F, 0xA778, 0xA77A, 0xA77A, 0xA77C, 0xA77C,
  0xA77F, 0xA77F, 0xA781, 0xA781, 0xA783, 0xA783, 0xA785, 0xA785, 0xA787, 0xA787,
  0xA78C, 0xA78C, 0xA78E, 0xA78E, 0xA791, 0xA791, 0xA793, 0xA795, 0xA797, 0xA797,
  0xA799, 0xA799, 0xA79B, 0xA79B, 0xA79D, 0xA79D, 0xA79F, 0xA79F, 0xA7A1, 0xA7A1,
  0xA7A3, 0xA7A3, 0xA7A5, 0xA7A5, 0xA7A7, 0xA7A7, 0xA7A9, 0xA7A9, 0xA7AF, 0xA7AF,
  0xA7B5, 0xA7B5, 0xA7B7, 0xA7B7, 0xA7B9, 0xA7B9, 0xA7BB, 0xA7BB, 0xA7BD, 0xA7BD,
  0xA7BF, 0xA7BF, 0xA7C3, 0xA7C3, 0xA7F8, 0xA7FA, 0xAB30, 0xAB5A, 0xAB5C, 0xAB67,
  0xAB70, 0xABBF, 0xFB00, 0xFB06, 0xFB13, 0xFB17, 0xFF41, 0xFF5A, 0x10428, 0x1044F,
  0x104D8, 0x104FB, 0x10CC0, 0x10CF2, 0x118C0, 0x118DF, 0x16E60, 0x16E7F, 0x1D41A,
  0x1D433, 0x1D44E, 0x1D454, 0x1D456, 0x1D467, 0x1D482, 0x1D49B, 0x1D4B6, 0x1D4B9,
  0x1D4BB, 0x1D4BB, 0x1D4BD, 0x1D4C3, 0x1D4C5, 0x1D4CF, 0x1D4EA, 0x1D503, 0x1D51E,
  0x1D537, 0x1D552, 0x1D56B, 0x1D586, 0x1D59F, 0x1D5BA, 0x1D5D3, 0x1D5EE, 0x1D607,
  0x1D622, 0x1D63B, 0x1D656, 0x1D66F, 0x1D68A, 0x1D6A5, 0x1D6C2, 0x1D6DA, 0x1D6DC,
  0x1D6E1, 0x1D6FC, 0x1D714, 0x1D716, 0x1D71B, 0x1D736, 0x1D74E, 0x1D750, 0x1D755,
  0x1D770, 0x1D788, 0x1D78A, 0x1D78F, 0x1D7AA, 0x1D7C2, 0x1D7C4, 0x1D7C9, 0x1D7CB,
  0x1D7CB, 0x1E922, 0x1E943,
]

///|
/// Inclusive code point ranges (flattened lo/hi pairs) for `\p{Digit}`.
let digit_ranges : FixedArray[Int] = [
  0x30, 0x39, 0x660, 0x669, 0x6F0, 0x6F9, 0x7C0, 0x7C9, 0x966, 0x96F, 0x9E6, 0x9EF,
  0xA66, 0xA6F, 0xAE6, 0xAEF, 0xB66, 0xB6F, 0xBE6, 0xBEF, 0xC66, 0xC6F, 0xCE6, 0xCEF,
  0xD66, 0xD6F, 0xDE6, 0xDEF, 0xE50, 0xE59, 0xED0, 0xED9, 0xF20, 0xF29, 0x1040, 0x1049,
  0x1090, 0x1099, 0x17E0, 0x17E9, 0x1810, 0x1819, 0x1946, 0x194F, 0x19D0, 0x19D9,
  0x1A80, 0x1A89, 0x1A90, 0x1A99, 0x1B50, 0x1B59, 0x1BB0, 0x1BB9, 0x1C40, 0x1C49,
  0x1C50, 0x1C59, 0xA620, 0xA629, 0xA8D0, 0xA8D9, 0xA900, 0xA909, 0xA9D0, 0xA9D9,
  0xA9F0, 0xA9F9, 0xAA50, 0xAA59, 0xABF0, 0xABF9, 0xFF10, 0xFF19, 0x104A0, 0x104A9,
  0x10D30, 0x10D39, 0x11066, 0x1106F, 0x110F0, 0x110F9, 0x11136, 0x1113F, 0x111D0,
  0x111D9, 0x112F0, 0x112F9, 0x11450, 0x11459, 0x114D0, 0x114D9, 0x11650, 0x11659,
  0x116C0, 0x116C9, 0x11730, 0x11739, 0x118E0, 0x118E9, 0x11C50, 0x11C59, 0x11D50,
  0x11D59, 0x11DA0, 0x11DA9, 0x16A60, 0x16A69, 0x16B50, 0x16B59, 0x1D7CE, 0x1D7FF,
  0x1E140, 0x1E149, 0x1E2F0, 0x1E2F9, 0x1E950, 0x1E959,
]

///|
/// Inclusive code point ranges (flattened lo/hi pairs) for `\p{Punct}`.
let punct_ranges : FixedArray[Int] = [
  0x21, 0x23, 0x25, 0x2A, 0x2C, 0x2F, 0x3A, 0x3B, 0x3F, 0x40, 0x5B, 0x5D, 0x5F, 0x5F,
  0x7B, 0x7B, 0x7D, 0x7D, 0xA1, 0xA1, 0xA7, 0xA7, 0xAB, 0xAB, 0xB6, 0xB7, 0xBB, 0xBB,
  0xBF, 0xBF, 0x37E, 0x37E, 0x387, 0x387, 0x55A, 0x55F, 0x589, 0x58A, 0x5BE, 0x5BE,
  0x5C0, 0x5C0, 0x5C3, 0x5C3, 0x5C6, 0x5C6, 0x5F3, 0x5F4, 0x609, 0x60A, 0x60C, 0x60D,
  0x61B, 0x61B, 0x61E, 0x61F, 0x66A, 0x66D, 0x6D4, 0x6D4, 0x700, 0x70D, 0x7F7, 0x7F9,
  0x830, 0x83E, 0x85E, 0x85E, 0x964, 0x965, 0x970, 0x970, 0x9FD, 0x9FD, 0xA76, 0xA76,
  0xAF0, 0xAF0, 0xC77, 0xC77, 0xC84, 0xC84, 0xDF4, 0xDF4, 0xE4F, 0xE4F, 0xE5A, 0xE5B,
  0xF04, 0xF12, 0xF14, 0xF14, 0xF3A, 0xF3D, 0xF85, 0xF85, 0xFD0, 0xFD4, 0xFD9, 0xFDA,
  0x104A, 0x104F, 0x10FB, 0x10FB, 0x1360, 0x1368, 0x1400, 0x1400, 0x166E, 0x166E,
  0x169B, 0x169C, 0x16EB, 0x16ED, 0x1735, 0x1736, 0x17D4, 0x17D6, 0x17D8, 0x17DA,
  0x1800, 0x180A, 0x1944, 0x1945, 0x1A1E, 0x1A1F, 0x1AA0, 0x1AA6, 0x1AA8, 0x1AAD,
  0x1B5A, 0x1B60, 0x1BFC, 0x1BFF, 0x1C3B, 0x1C3F, 0x1C7E, 0x1C7F, 0x1CC0, 0x1CC7,
  0x1CD3, 0x1CD3, 0x2010, 0x2027, 0x2030, 0x2043, 0x2045, 0x2051, 0x2053, 0x205E,
  0x207D, 0x207E, 0x208D, 0x208E, 0x2308, 0x230B, 0x2329, 0x232A, 0x2768, 0x2775,
  0x27C5, 0x27C6, 0x27E6, 0x27EF, 0x2983, 0x2998, 0x29D8, 0x29DB, 0x29FC, 0x29FD,
  0x2CF9, 0x2CFC, 0x2CFE, 0x2CFF, 0x2D70, 0x2D70, 0x2E00, 0x2E2E, 0x2E30, 0x2E4F,
  0x3001, 0x3003, 0x3008, 0x3011, 0x3014, 0x301F, 0x3030, 0x3030, 0x303D, 0x303D,
  0x30A0, 0x30A0, 0x30FB, 0x30FB, 0xA4FE, 0xA4FF, 0xA60D, 0xA60F, 0xA673, 0xA673,
  0xA67E, 0xA67E, 0xA6F2, 0xA6F7, 0xA874, 0xA877, 0xA8CE, 0xA8CF, 0xA8F8, 0xA8FA,
  0xA8FC, 0xA8FC, 0xA92E, 0xA92F, 0xA95F, 0xA95F, 0xA9C1, 0xA9CD, 0xA9DE, 0xA9DF,
  0xAA5C, 0xAA5F, 0xAADE, 0xAADF, 0xAAF0, 0xAAF1, 0xABEB, 0xABEB, 0xFD3E, 0xFD3F,
  0xFE10, 0xFE19, 0xFE30, 0xFE52, 0xFE54, 0xFE61, 0xFE63, 0xFE63, 0xFE68, 0xFE68,
  0xFE6A, 0xFE6B, 0xFF01, 0xFF03, 0xFF05, 0xFF0A, 0xFF0C, 0xFF0F, 0xFF1A, 0xFF1B,
  0xFF1F, 0xFF20, 0xFF3B, 0xFF3D, 0xFF3F, 0xFF3F, 0xFF5B, 0xFF5B, 0xFF5D, 0xFF5D,
  0xFF5F, 0xFF65, 0x10100, 0x10102, 0x1039F, 0x1039F, 0x103D0, 0x103D0, 0x1056F,
  0x1056F, 0x10857, 0x10857, 0x1091F, 0x1091F, 0x1093F, 0x1093F, 0x10A50, 0x10A58,
  0x10A7F, 0x10A7F, 0x10AF0, 0x10AF6, 0x10B39, 0x10B3F, 0x10B99, 0x10B9C, 0x10F55,
  0x10F59, 0x11047, 0x1104D, 0x110BB, 0x110BC, 0x110BE, 0x110C1, 0x11140, 0x11143,
  0x11174, 0x11175, 0x111C5, 0x111C8, 0x111CD, 0x111CD, 0x111DB, 0x111DB, 0x111DD,
  0x111DF, 0x11238, 0x1123D, 0x112A9, 0x112A9, 0x1144B, 0x1144F, 0x1145B, 0x1145B,
  0x1145D, 0x1145D, 0x114C6, 0x114C6, 0x115C1, 0x115D7, 0x11641, 0x11643, 0x11660,
  0x1166C, 0x1173C, 0x1173E, 0x1183B, 0x1183B, 0x119E2, 0x119E2, 0x11A3F, 0x11A46,
  0x11A9A, 0x11A9C, 0x11A9E, 0x11AA2, 0x11C41, 0x11C45, 0x11C70, 0x11C71, 0x11EF7,
  0x11EF8, 0x11FFF, 0x11FFF, 0x12470, 0x12474, 0x16A6E, 0x16A6F, 0x16AF5, 0x16AF5,
  0x16B37, 0x16B3B, 0x16B44, 0x16B44, 0x16E97, 0x16E9A, 0x16FE2, 0x16FE2, 0x1BC9F,
  0x1BC9F, 0x1DA87, 0x1DA8B, 0x1E95E, 0x1E95F,
]

///|
/// Inclusive code point ranges (flattened lo/hi pairs) for `\p{L}`.
let letter_ranges : FixedArray[Int] = [
  0x41, 0x5A, 0x61, 0x7A, 0xAA, 0xAA, 0xB5, 0xB5, 0xBA, 0xBA, 0xC0, 0xD6, 0xD8, 0xF6,
  0xF8, 0x2C1, 0x2C6, 0x2D1, 0x2E0, 0x2E4, 0x2EC, 0x2EC, 0x2EE, 0x2EE, 0x370, 0x374,
  0x376, 0x377, 0x37A, 0x37D, 0x37F, 0x37F, 0x386, 0x386, 0x388, 0x38A, 0x38C, 0x38C,
  0x38E, 0x3A1, 0x3A3, 0x3F5, 0x3F7, 0x481, 0x48A, 0x52F, 0x531, 0x556, 0x559, 0x559,
  0x560, 0x588, 0x5D0, 0x5EA, 0x5EF, 0x5F2, 0x620, 0x64A, 0x66E, 0x66F, 0x671, 0x6D3,
  0x6D5, 0x6D5, 0x6E5, 0x6E6, 0x6EE, 0x6EF, 0x6FA, 0x6FC, 0x6FF, 0x6FF, 0x710, 0x710,
  0x712, 0x72F, 0x74D, 0x7A5, 0x7B1, 0x7B1, 0x7CA, 0x7EA, 0x7F4, 0x7F5, 0x7FA, 0x7FA,
  0x800, 0x815, 0x81A, 0x81A, 0x824, 0x824, 0x828, 0x828, 0x840, 0x858, 0x860, 0x86A,
  0x8A0, 0x8B4, 0x8B6, 0x8BD, 0x904, 0x939, 0x93D, 0x93D, 0x950, 0x950, 0x958, 0x961,
  0x971, 0x980, 0x985, 0x98C, 0x98F, 0x990, 0x993, 0x9A8, 0x9AA, 0x9B0, 0x9B2, 0x9B2,
  0x9B6, 0x9B9, 0x9BD, 0x9BD, 0x9CE, 0x9CE, 0x9DC, 0x9DD, 0x9DF, 0x9E1, 0x9F0, 0x9F1,
  0x9FC, 0x9FC, 0xA05, 0xA0A, 0xA0F, 0xA10, 0xA13, 0xA28, 0xA2A, 0xA30, 0xA32, 0xA33,
  0xA35, 0xA36, 0xA38, 0xA39, 0xA59, 0xA5C, 0xA5E, 0xA5E, 0xA72, 0xA74, 0xA85, 0xA8D,
  0xA8F, 0xA91, 0xA93, 0xAA8, 0xAAA, 0xAB0, 0xAB2, 0xAB3, 0xAB5, 0xAB9, 0xABD, 0xABD,
  0xAD0, 0xAD0, 0xAE0, 0xAE1, 0xAF9, 0xAF9, 0xB05, 0xB0C, 0xB0F, 0xB10, 0xB13, 0xB28,
  0xB2A, 0xB30, 0xB32, 0xB33, 0xB35, 0xB39, 0xB3D, 0xB3D, 0xB5C, 0xB5D, 0xB5F, 0xB61,
  0xB71, 0xB71, 0xB83, 0xB83, 0xB85, 0xB8A, 0xB8E, 0xB90, 0xB92, 0xB95, 0xB99, 0xB9A,
  0xB9C, 0xB9C, 0xB9E, 0xB9F, 0xBA3, 0xBA4, 0xBA8, 0xBAA, 0xBAE, 0xBB9, 0xBD0, 0xBD0,
  0xC05, 0xC0C, 0xC0E, 0xC10, 0xC12, 0xC28, 0xC2A, 0xC39, 0xC3D, 0xC3D, 0xC58, 0xC5A,
  0xC60, 0xC61, 0xC80, 0xC80, 0xC85, 0xC8C, 0xC8E, 0xC90, 0xC92, 0xCA8, 0xCAA, 0xCB3,
  0xCB5, 0xCB9, 0xCBD, 0xCBD, 0xCDE, 0xCDE, 0xCE0, 0xCE1, 0xCF1, 0xCF2, 0xD05, 0xD0C,
  0xD0E, 0xD10, 0xD12, 0xD3A, 0xD3D, 0xD3D, 0xD4E, 0xD4E, 0xD54, 0xD56, 0xD5F, 0xD61,
  0xD7A, 0xD7F, 0xD85, 0xD96, 0xD9A, 0xDB1, 0xDB3, 0xDBB, 0xDBD, 0xDBD, 0xDC0, 0xDC6,
  0xE01, 0xE30, 0xE32, 0xE33, 0xE40, 0xE46, 0xE81, 0xE82, 0xE84, 0xE84, 0xE86, 0xE8A,
  0xE8C, 0xEA3, 0xEA5, 0xEA5, 0xEA7, 0xEB0, 0xEB2, 0xEB3, 0xEBD, 0xEBD, 0xEC0, 0xEC4,
  0xEC6, 0xEC6, 0xEDC, 0xEDF, 0xF00, 0xF00, 0xF40, 0xF47, 0xF49, 0xF6C, 0xF88, 0xF8C,
  0x1000, 0x102A, 0x103F, 0x103F, 0x1050, 0x1055, 0x105A, 0x105D, 0x1061, 0x1061,
  0x1065, 0x1066, 0x106E, 0x1070, 0x1075, 0x1081, 0x108E, 0x108E, 0x10A0, 0x10C5,
  0x10C7, 0x10C7, 0x10CD, 0x10CD, 0x10D0, 0x10FA, 0x10FC, 0x1248, 0x124A, 0x124D,
  0x1250, 0x1256, 0x1258, 0x1258, 0x125A, 0x125D, 0x1260, 0x1288, 0x128A, 0x128D,
  0x1290, 0x12B0, 0x12B2, 0x12B5, 0x12B8, 0x12BE, 0x12C0, 0x12C0, 0x12C2, 0x12C5,
  0x12C8, 0x12D6, 0x12D8, 0x1310, 0x1312, 0x1315, 0x1318, 0x135A, 0x1380, 0x138F,
  0x13A0, 0x13F5, 0x13F8, 0x13FD, 0x1401, 0x166C, 0x166F, 0x167F, 0x1681, 0x169A,
  0x16A0, 0x16EA, 0x16F1, 0x16F8, 0x1700, 0x170C, 0x170E, 0x1711, 0x1720, 0x1731,
  0x1740, 0x1751, 0x1760, 0x176C, 0x176E, 0x1770, 0x1780, 0x17B3, 0x17D7, 0x17D7,
  0x17DC, 0x17DC, 0x1820, 0x1878, 0x1880, 0x1884, 0x1887, 0x18A8, 0x18AA, 0x18AA,
  0x18B0, 0x18F5, 0x1900, 0x191E, 0x1950, 0x196D, 0x1970, 0x1974, 0x1980, 0x19AB,
  0x19B0, 0x19C9, 0x1A00, 0x1A16, 0x1A20, 0x1A54, 0x1AA7, 0x1AA7, 0x1B05, 0x1B33,
  0x1B45, 0x1B4B, 0x1B83, 0x1BA0, 0x1BAE, 0x1BAF, 0x1BBA, 0x1BE5, 0x1C00, 0x1C23,
  0x1C4D, 0x1C4F, 0x1C5A, 0x1C7D, 0x1C80, 0x1C88, 0x1C90, 0x1CBA, 0x1CBD, 0x1CBF,
  0x1CE9, 0x1CEC, 0x1CEE, 0x1CF3, 0x1CF5, 0x1CF6, 0x1CFA, 0x1CFA, 0x1D00, 0x1DBF,
  0x1E00, 0x1F15, 0x1F18, 0x1F1D, 0x1F20, 0x1F45, 0x1F48, 0x1F4D, 0x1F50, 0x1F57,
  0x1F59, 0x1F59, 0x1F5B, 0x1F5B, 0x1F5D, 0x1F5D, 0x1F5F, 0x1F7D, 0x1F80, 0x1FB4,
  0x1FB6, 0x1FBC, 0x1FBE, 0x1FBE, 0x1FC2, 0x1FC4, 0x1FC6, 0x1FCC, 0x1FD0, 0x1FD3,
  0x1FD6, 0x1FDB, 0x1FE0, 0x1FEC, 0x1FF2, 0x1FF4, 0x1FF6, 0x1FFC, 0x2071, 0x2071,
  0x207F, 0x207F, 0x2090, 0x209C, 0x2102, 0x2102, 0x2107, 0x2107, 0x210A, 0x2113,
  0x2115, 0x2115, 0x2119, 0x211D, 0x2124, 0x2124, 0x2126, 0x2126, 0x2128, 0x2128,
  0x212A, 0x212D, 0x212F, 0x2139, 0x213C, 0x213F, 0x2145, 0x2149, 0x214E, 0x214E,
  0x2183, 0x2184, 0x2C00, 0x2C2E, 0x2C30, 0x2C5E, 0x2C60, 0x2CE4, 0x2CEB, 0x2CEE,
  0x2CF2, 0x2CF3, 0x2D00, 0x2D25, 0x2D27, 0x2D27, 0x2D2D, 0x2D2D, 0x2D30, 0x2D67,
  0x2D6F, 0x2D6F, 0x2D80, 0x2D96, 0x2DA0, 0x2DA6, 0x2DA8, 0x2DAE, 0x2DB0, 0x2DB6,
  0x2DB8, 0x2DBE, 0x2DC0, 0x2DC6, 0x2DC8, 0x2DCE, 0x2DD0, 0x2DD6, 0x2DD8, 0x2DDE,
  0x2E2F, 0x2E2F, 0x3005, 0x3006, 0x3031, 0x3035, 0x303B, 0x303C, 0x3041, 0x3096,
  0x309D, 0x309F, 0x30A1, 0x30FA, 0x30FC, 0x30FF, 0x3105, 0x312F, 0x3131, 0x318E,
  0x31A0, 0x31BA, 0x31F0, 0x31FF, 0x3400, 0x4DB5, 0x4E00, 0x9FEF, 0xA000, 0xA48C,
  0xA4D0, 0xA4FD, 0xA500, 0xA60C, 0xA610, 0xA61F, 0xA62A, 0xA62B, 0xA640, 0xA66E,
  0xA67F, 0xA69D, 0xA6A0, 0xA6E5, 0xA717, 0xA71F, 0xA722, 0xA788, 0xA78B, 0xA7BF,
  0xA7C2, 0xA7C6, 0xA7F7, 0xA801, 0xA803, 0xA805, 0xA807, 0xA80A, 0xA80C, 0xA822,
  0xA840, 0xA873, 0xA882, 0xA8B3, 0xA8F2, 0xA8F7, 0xA8FB, 0xA8FB, 0xA8FD, 0xA8FE,
  0xA90A, 0xA925, 0xA930, 0xA946, 0xA960, 0xA97C, 0xA984, 0xA9B2, 0xA9CF, 0xA9CF,
  0xA9E0, 0xA9E4, 0xA9E6, 0xA9EF, 0xA9FA, 0xA9FE, 0xAA00, 0xAA28, 0xAA40, 0xAA42,
  0xAA44, 0xAA4B, 0xAA60, 0xAA76, 0xAA7A, 0xAA7A, 0xAA7E, 0xAAAF, 0xAAB1, 0xAAB1,
  0xAAB5, 0xAAB6, 0xAAB9, 0xAABD, 0xAAC0, 0xAAC0, 0xAAC2, 0xAAC2, 0xAADB, 0xAADD,
  0xAAE0, 0xAAEA, 0xAAF2, 0xAAF4, 0xAB01, 0xAB06, 0xAB09, 0xAB0E, 0xAB11, 0xAB16,
  0xAB20, 0xAB26, 0xAB28, 0xAB2E, 0xAB30, 0xAB5A, 0xAB5C, 0xAB67, 0xAB70, 0xABE2,
  0xAC00, 0xD7A3, 0xD7B0, 0xD7C6, 0xD7CB, 0xD7FB, 0xF900, 0xFA6D, 0xFA70, 0xFAD9,
  0xFB00, 0xFB06, 0xFB13, 0xFB17, 0xFB1D, 0xFB1D, 0xFB1F, 0xFB28, 0xFB2A, 0xFB36,
  0xFB38, 0xFB3C, 0xFB3E, 0xFB3E, 0xFB40, 0xFB41, 0xFB43, 0xFB44, 0xFB46, 0xFBB1,
  0xFBD3, 0xFD3D, 0xFD50, 0xFD8F, 0xFD92, 0xFDC7, 0xFDF0, 0xFDFB, 0xFE70, 0xFE74,
  0xFE76, 0xFEFC, 0xFF21, 0xFF3A, 0xFF41, 0xFF5A, 0xFF66, 0xFFBE, 0xFFC2, 0xFFC7,
  0xFFCA, 0xFFCF, 0xFFD2, 0xFFD7, 0xFFDA, 0xFFDC, 0x10000, 0x1000B, 0x1000D, 0x10026,
  0x10028, 0x1003A, 0x1003C, 0x1003D, 0x1003F, 0x1004D, 0x10050, 0x1005D, 0x10080,
  0x100FA, 0x10280, 0x1029C, 0x102A0, 0x102D0, 0x10300, 0x1031F, 0x1032D, 0x10340,
  0x10342, 0x10349, 0x10350, 0x10375, 0x10380, 0x1039D, 0x103A0, 0x103C3, 0x103C8,
  0x103CF, 0x10400, 0x1049D, 0x104B0, 0x104D3, 0x104D8, 0x104FB, 0x10500, 0x10527,
  0x10530, 0x10563, 0x10600, 0x10736, 0x10740, 0x10755, 0x10760, 0x10767, 0x10800,
  0x10805, 0x10808, 0x10808, 0x1080A, 0x10835, 0x10837, 0x10838, 0x1083C, 0x1083C,
  0x1083F, 0x10855, 0x10860, 0x10876, 0x10880, 0x1089E, 0x108E0, 0x108F2, 0x108F4,
  0x108F5, 0x10900, 0x10915, 0x10920, 0x10939, 0x10980, 0x109B7, 0x109BE, 0x109BF,
  0x10A00, 0x10A00, 0x10A10, 0x10A13, 0x10A15, 0x10A17, 0x10A19, 0x10A35, 0x10A60,
  0x10A7C, 0x10A80, 0x10A9C, 0x10AC0, 0x10AC7, 0x10AC9, 0x10AE4, 0x10B00, 0x10B35,
  0x10B40, 0x10B55, 0x10B60, 0x10B72, 0x10B80, 0x10B91, 0x10C00, 0x10C48, 0x10C80,
  0x10CB2, 0x10CC0, 0x10CF2, 0x10D00, 0x10D23, 0x10F00, 0x10F1C, 0x10F27, 0x10F27,
  0x10F30, 0x10F45, 0x10FE0, 0x10FF6, 0x11003, 0x11037, 0x11083, 0x110AF, 0x110D0,
  0x110E8, 0x11103, 0x11126, 0x11144, 0x11144, 0x11150, 0x11172, 0x11176, 0x11176,
  0x11183, 0x111B2, 0x111C1, 0x111C4, 0x111DA, 0x111DA, 0x111DC, 0x111DC, 0x11200,
  0x11211, 0x11213, 0x1122B, 0x11280, 0x11286, 0x11288, 0x11288, 0x1128A, 0x1128D,
  0x1128F, 0x1129D, 0x1129F, 0x112A8, 0x112B0, 0x112DE, 0x11305, 0x1130C, 0x1130F,
  0x11310, 0x11313, 0x11328, 0x1132A, 0x11330, 0x11332, 0x11333, 0x11335, 0x11339,
  0x1133D, 0x1133D, 0x11350, 0x11350, 0x1135D, 0x11361, 0x11400, 0x11434, 0x11447,
  0x1144A, 0x1145F, 0x1145F, 0x11480, 0x114AF, 0x114C4, 0x114C5, 0x114C7, 0x114C7,
  0x11580, 0x115AE, 0x115D8, 0x115DB, 0x11600, 0x1162F, 0x11644, 0x11644, 0x11680,
  0x116AA, 0x116B8, 0x116B8, 0x11700, 0x1171A, 0x11800, 0x1182B, 0x118A0, 0x118DF,
  0x118FF, 0x118FF, 0x119A0, 0x119A7, 0x119AA, 0x119D0, 0x119E1, 0x119E1, 0x119E3,
  0x119E3, 0x11A00, 0x11A00, 0x11A0B, 0x11A32, 0x11A3A, 0x11A3A, 0x11A50, 0x11A50,
  0x11A5C, 0x11A89, 0x11A9D, 0x11A9D, 0x11AC0, 0x11AF8, 0x11C00, 0x11C08, 0x11C0A,
  0x11C2E, 0x11C40, 0x11C40, 0x11C72, 0x11C8F, 0x11D00, 0x11D06, 0x11D08, 0x11D09,
  0x11D0B, 0x11D30, 0x11D46, 0x11D46, 0x11D60, 0x11D65, 0x11D67, 0x11D68, 0x11D6A,
  0x11D89, 0x11D98, 0x11D98, 0x11EE0, 0x11EF2, 0x12000, 0x12399, 0x12480, 0x12543,
  0x13000, 0x1342E, 0x14400, 0x14646, 0x16800, 0x16A38, 0x16A40, 0x16A5E, 0x16AD0,
  0x16AED, 0x16B00, 0x16B2F, 0x16B40, 0x16B43, 0x16B63, 0x16B77, 0x16B7D, 0x16B8F,
  0x16E40, 0x16E7F, 0x16F00, 0x16F4A, 0x16F50, 0x16F50, 0x16F93, 0x16F9F, 0x16FE0,
  0x16FE1, 0x16FE3, 0x16FE3, 0x17000, 0x187F7, 0x18800, 0x18AF2, 0x1B000, 0x1B11E,
  0x1B150, 0x1B152, 0x1B164, 0x1B167, 0x1B170, 0x1B2FB, 0x1BC00, 0x1BC6A, 0x1BC70,
  0x1BC7C, 0x1BC80, 0x1BC88, 0x1BC90, 0x1BC99, 0x1D400, 0x1D454, 0x1D456, 0x1D49C,
  0x1D49E, 0x1D49F, 0x1D4A2, 0x1D4A2, 0x1D4A5, 0x1D4A6, 0x1D4A9, 0x1D4AC, 0x1D4AE,
  0x1D4B9, 0x1D4BB, 0x1D4BB, 0x1D4BD, 0x1D4C3, 0x1D4C5, 0x1D505, 0x1D507, 0x1D50A,
  0x1D50D, 0x1D514, 0x1D516, 0x1D51C, 0x1D51E, 0x1D539, 0x1D53B, 0x1D53E, 0x1D540,
  0x1D544, 0x1D546, 0x1D546, 0x1D54A, 0x1D550, 0x1D552, 0x1D6A5, 0x1D6A8, 0x1D6C0,
  0x1D6C2, 0x1D6DA, 0x1D6DC, 0x1D6FA, 0x1D6FC, 0x1D714, 0x1D716, 0x1D734, 0x1D736,
  0x1D74E, 0x1D750, 0x1D76E, 0x1D770, 0x1D788, 0x1D78A, 0x1D7A8, 0x1D7AA, 0x1D7C2,
  0x1D7C4, 0x1D7CB, 0x1E100, 0x1E12C, 0x1E137, 0x1E13D, 0x1E14E, 0x1E14E, 0x1E2C0,
  0x1E2EB, 0x1E800, 0x1E8C4, 0x1E900, 0x1E943, 0x1E94B, 0x1E94B, 0x1EE00, 0x1EE03,
  0x1EE05, 0x1EE1F, 0x1EE21, 0x1EE22, 0x1EE24, 0x1EE24, 0x1EE27, 0x1EE27, 0x1EE29,
  0x1EE32, 0x1EE34, 0x1EE37, 0x1EE39, 0x1EE39, 0x1EE3B, 0x1EE3B, 0x1EE42, 0x1EE42,
  0x1EE47, 0x1EE47, 0x1EE49, 0x1EE49, 0x1EE4B, 0x1EE4B, 0x1EE4D, 0x1EE4F, 0x1EE51,
  0x1EE52, 0x1EE54, 0x1EE54, 0x1EE57, 0x1EE57, 0x1EE59, 0x1EE59, 0x1EE5B, 0x1EE5B,
  0x1EE5D, 0x1EE5D, 0x1EE5F, 0x1EE5F, 0x1EE61, 0x1EE62, 0x1EE64, 0x1EE64, 0x1EE67,
  0x1EE6A, 0x1EE6C, 0x1EE72, 0x1EE74, 0x1EE77, 0x1EE79, 0x1EE7C, 0x1EE7E, 0x1EE7E,
  0x1EE80, 0x1EE89, 0x1EE8B, 0x1EE9B, 0x1EEA1, 0x1EEA3, 0x1EEA5, 0x1EEA9, 0x1EEAB,
  0x1EEBB, 0x20000, 0x2A6D6, 0x2A700, 0x2B734, 0x2B740, 0x2B81D, 0x2B820, 0x2CEA1,
  0x2CEB0, 0x2EBE0, 0x2F800, 0x2FA1D,
]

///|
/// Inclusive code point ranges (flattened lo/hi pairs) for `\p{Lu}`.
let lu_ranges : FixedArray[Int] = [
  0x41, 0x5A, 0xC0, 0xD6, 0xD8, 0xDE, 0x100, 0x100, 0x102, 0x102, 0x104, 0x104, 0x106,
  0x106, 0x108, 0x108, 0x10A, 0x10A, 0x10C, 0x10C, 0x10E, 0x10E, 0x110, 0x110, 0x112,
  0x112, 0x114, 0x114, 0x116, 0x116, 0x118, 0x118, 0x11A, 0x11A, 0x11C, 0x11C, 0x11E,
  0x11E, 0x120, 0x120, 0x122, 0x122, 0x124, 0x124, 0x126, 0x126, 0x128, 0x128, 0x12A,
  0x12A, 0x12C, 0x12C, 0x12E, 0x12E, 0x130, 0x130, 0x132, 0x132, 0x134, 0x134, 0x136,
  0x136, 0x139, 0x139, 0x13B, 0x13B, 0x13D, 0x13D, 0x13F, 0x13F, 0x141, 0x141, 0x143,
  0x143, 0x145, 0x145, 0x147, 0x147, 0x14A, 0x14A, 0x14C, 0x14C, 0x14E, 0x14E, 0x150,
  0x150, 0x152, 0x152, 0x154, 0x154, 0x156, 0x156, 0x158, 0x158, 0x15A, 0x15A, 0x15C,
  0x15C, 0x15E, 0x15E, 0x160, 0x160, 0x162, 0x162, 0x164, 0x164, 0x166, 0x166, 0x168,
  0x168, 0x16A, 0x16A, 0x16C, 0x16C, 0x16E, 0x16E, 0x170, 0x170, 0x172, 0x172, 0x174,
  0x174, 0x176, 0x176, 0x178, 0x179, 0x17B, 0x17B, 0x17D, 0x17D, 0x181, 0x182, 0x184,
  0x184, 0x186, 0x187, 0x189, 0x18B, 0x18E, 0x191, 0x193, 0x194, 0x196, 0x198, 0x19C,
  0x19D, 0x19F, 0x1A0, 0x1A2, 0x1A2, 0x1A4, 0x1A4, 0x1A6, 0x1A7, 0x1A9, 0x1A9, 0x1AC,
  0x1AC, 0x1AE, 0x1AF, 0x1B1, 0x1B3, 0x1B5, 0x1B5, 0x1B7, 0x1B8, 0x1BC, 0x1BC, 0x1C4,
  0x1C4, 0x1C7, 0x1C7, 0x1CA, 0x1CA, 0x1CD, 0x1CD, 0x1CF, 0x1CF, 0x1D1, 0x1D1, 0x1D3,
  0x1D3, 0x1D5, 0x1D5, 0x1D7, 0x1D7, 0x1D9, 0x1D9, 0x1DB, 0x1DB, 0x1DE, 0x1DE, 0x1E0,
  0x1E0, 0x1E2, 0x1E2, 0x1E4, 0x1E4, 0x1E6, 0x1E6, 0x1E8, 0x1E8, 0x1EA, 0x1EA, 0x1EC,
  0x1EC, 0x1EE, 0x1EE, 0x1F1, 0x1F1, 0x1F4, 0x1F4, 0x1F6, 0x1F8, 0x1FA, 0x1FA, 0x1FC,
  0x1FC, 0x1FE, 0x1FE, 0x200, 0x200, 0x202, 0x202, 0x204, 0x204, 0x206, 0x206, 0x208,
  0x208, 0x20A, 0x20A, 0x20C, 0x20C, 0x20E, 0x20E, 0x210, 0x210, 0x212, 0x212, 0x214,
  0x214, 0x216, 0x216, 0x218, 0x218, 0x21A, 0x21A, 0x21C, 0x21C, 0x21E, 0x21E, 0x220,
  0x220, 0x222, 0x222, 0x224, 0x224, 0x226, 0x226, 0x228, 0x228, 0x22A, 0x22A, 0x22C,
  0x22C, 0x22E, 0x22E, 0x230, 0x230, 0x232, 0x232, 0x23A, 0x23B, 0x23D, 0x23E, 0x241,
  0x241, 0x243, 0x246, 0x248, 0x248, 0x24A, 0x24A, 0x24C, 0x24C, 0x24E, 0x24E, 0x370,
  0x370, 0x372, 0x372, 0x376, 0x376, 0x37F, 0x37F, 0x386, 0x386, 0x388, 0x38A, 0x38C,
  0x38C, 0x38E, 0x38F, 0x391, 0x3A1, 0x3A3, 0x3AB, 0x3CF, 0x3CF, 0x3D2, 0x3D4, 0x3D8,
  0x3D8, 0x3DA, 0x3DA, 0x3DC, 0x3DC, 0x3DE, 0x3DE, 0x3E0, 0x3E0, 0x3E2, 0x3E2, 0x3E4,
  0x3E4, 0x3E6, 0x3E6, 0x3E8, 0x3E8, 0x3EA, 0x3EA, 0x3EC, 0x3EC, 0x3EE, 0x3EE, 0x3F4,
  0x3F4, 0x3F7, 0x3F7, 0x3F9, 0x3FA, 0x3FD, 0x42F, 0x460, 0x460, 0x462, 0x462, 0x464,
  0x464, 0x466, 0x466, 0x468, 0x468, 0x46A, 0x46A, 0x46C, 0x46C, 0x46E, 0x46E, 0x470,
  0x470, 0x472, 0x472, 0x474, 0x474, 0x476, 0x476, 0x478, 0x478, 0x47A, 0x47A, 0x47C,
  0x47C, 0x47E, 0x47E, 0x480, 0x480, 0x48A, 0x48A, 0x48C, 0x48C, 0x48E, 0x48E, 0x490,
  0x490, 0x492, 0x492, 0x494, 0x494, 0x496, 0x496, 0x498, 0x498, 0x49A, 0x49A, 0x49C,
  0x49C, 0x49E, 0x49E, 0x4A0, 0x4A0, 0x4A2, 0x4A2, 0x4A4, 0x4A4, 0x4A6, 0x4A6, 0x4A8,
  0x4A8, 0x4AA, 0x4AA, 0x4AC, 0x4AC, 0x4AE, 0x4AE, 0x4B0, 0x4B0, 0x4B2, 0x4B2, 0x4B4,
  0x4B4, 0x4B6, 0x4B6, 0x4B8, 0x4B8, 0x4BA, 0x4BA, 0x4BC, 0x4BC, 0x4BE, 0x4BE, 0x4C0,
  0x4C1, 0x4C3, 0x4C3, 0x4C5, 0x4C5, 0x4C7, 0x4C7, 0x4C9, 0x4C9, 0x4CB, 0x4CB, 0x4CD,
  0x4CD, 0x4D0, 0x4D0, 0x4D2, 0x4D2, 0x4D4, 0x4D4, 0x4D6, 0x4D6, 0x4D8, 0x4D8, 0x4DA,
  0x4DA, 0x4DC, 0x4DC, 0x4DE, 0x4DE, 0x4E0, 0x4E0, 0x4E2, 0x4E2, 0x4E4, 0x4E4, 0x4E6,
  0x4E6, 0x4E8, 0x4E8, 0x4EA, 0x4EA, 0x4EC, 0x4EC, 0x4EE, 0x4EE, 0x4F0, 0x4F0, 0x4F2,
  0x4F2, 0x4F4, 0x4F4, 0x4F6, 0x4F6, 0x4F8, 0x4F8, 0x4FA, 0x4FA, 0x4FC, 0x4FC, 0x4FE,
  0x4FE, 0x500, 0x500, 0x502, 0x502, 0x504, 0x504, 0x506, 0x506, 0x508, 0x508, 0x50A,
  0x50A, 0x50C, 0x50C, 0x50E, 0x50E, 0x510, 0x510, 0x512, 0x512, 0x514, 0x514, 0x516,
  0x516, 0x518, 0x518, 0x51A, 0x51A, 0x51C, 0x51C, 0x51E, 0x51E, 0x520, 0x520, 0x522,
  0x522, 0x524, 0x524, 0x526, 0x526, 0x528, 0x528, 0x52A, 0x52A, 0x52C, 0x52C, 0x52E,
  0x52E, 0x531, 0x556, 0x10A0, 0x10C5, 0x10C7, 0x10C7, 0x10CD, 0x10CD, 0x13A0, 0x13F5,
  0x1C90, 0x1CBA, 0x1CBD, 0x1CBF, 0x1E00, 0x1E00, 0x1E02, 0x1E02, 0x1E04, 0x1E04,
  0x1E06, 0x1E06, 0x1E08, 0x1E08, 0x1E0A, 0x1E0A, 0x1E0C, 0x1E0C, 0x1E0E, 0x1E0E,
  0x1E10, 0x1E10, 0x1E12, 0x1E12, 0x1E14, 0x1E14, 0x1E16, 0x1E16, 0x1E18, 0x1E18,
  0x1E1A, 0x1E1A, 0x1E1C, 0x1E1C, 0x1E1E, 0x1E1E, 0x1E20, 0x1E20, 0x1E22, 0x1E22,
  0x1E24, 0x1E24, 0x1E26, 0x1E26, 0x1E28, 0x1E28, 0x1E2A, 0x1E2A, 0x1E2C, 0x1E2C,
  0x1E2E, 0x1E2E, 0x1E30, 0x1E30, 0x1E32, 0x1E32, 0x1E34, 0x1E34, 0x1E36, 0x1E36,
  0x1E38, 0x1E38, 0x1E3A, 0x1E3A, 0x1E3C, 0x1E3C, 0x1E3E, 0x1E3E, 0x1E40, 0x1E40,
  0x1E42, 0x1E42, 0x1E44, 0x1E44, 0x1E46, 0x1E46, 0x1E48, 0x1E48, 0x1E4A, 0x1E4A,
  0x1E4C, 0x1E4C, 0x1E4E, 0x1E4E, 0x1E50, 0x1E50, 0x1E52, 0x1E52, 0x1E54, 0x1E54,
  0x1E56, 0x1E56, 0x1E58, 0x1E58, 0x1E5A, 0x1E5A, 0x1E5C, 0x1E5C, 0x1E5E, 0x1E5E,
  0x1E60, 0x1E60, 0x1E62, 0x1E62, 0x1E64, 0x1E64, 0x1E66, 0x1E66, 0x1E68, 0x1E68,
  0x1E6A, 0x1E6A, 0x1E6C, 0x1E6C, 0x1E6E, 0x1E6E, 0x1E70, 0x1E70, 0x1E72, 0x1E72,
  0x1E74, 0x1E74, 0x1E76, 0x1E76, 0x1E78, 0x1E78, 0x1E7A, 0x1E7A, 0x1E7C, 0x1E7C,
  0x1E7E, 0x1E7E, 0x1E80, 0x1E80, 0x1E82, 0x1E82, 0x1E84, 0x1E84, 0x1E86, 0x1E86,
  0x1E88, 0x1E88, 0x1E8A, 0x1E8A, 0x1E8C, 0x1E8C, 0x1E8E, 0x1E8E, 0x1E90, 0x1E90,
  0x1E92, 0x1E92, 0x1E94, 0x1E94, 0x1E9E, 0x1E9E, 0x1EA0, 0x1EA0, 0x1EA2, 0x1EA2,
  0x1EA4, 0x1EA4, 0x1EA6, 0x1EA6, 0x1EA8, 0x1EA8, 0x1EAA, 0x1EAA, 0x1EAC, 0x1EAC,
  0x1EAE, 0x1EAE, 0x1EB0, 0x1EB0, 0x1EB2, 0x1EB2, 0x1EB4, 0x1EB4, 0x1EB6, 0x1EB6,
  0x1EB8, 0x1EB8, 0x1EBA, 0x1EBA, 0x1EBC, 0x1EBC, 0x1EBE, 0x1EBE, 0x1EC0, 0x1EC0,
  0x1EC2, 0x1EC2, 0x1EC4, 0x1EC4, 0x1EC6, 0x1EC6, 0x1EC8, 0x1EC8, 0x1ECA, 0x1ECA,
  0x1ECC, 0x1ECC, 0x1ECE, 0x1ECE, 0x1ED0, 0x1ED0, 0x1ED2, 0x1ED2, 0x1ED4, 0x1ED4,
  0x1ED6, 0x1ED6, 0x1ED8, 0x1ED8, 0x1EDA, 0x1EDA, 0x1EDC, 0x1EDC, 0x1EDE, 0x1EDE,
  0x1EE0, 0x1EE0, 0x1EE2, 0x1EE2, 0x1EE4, 0x1EE4, 0x1EE6, 0x1EE6, 0x1EE8, 0x1EE8,
  0x1EEA, 0x1EEA, 0x1EEC, 0x1EEC, 0x1EEE, 0x1EEE, 0x1EF0, 0x1EF0, 0x1EF2, 0x1EF2,
  0x1EF4, 0x1EF4, 0x1EF6, 0x1EF6, 0x1EF8, 0x1EF8, 0x1EFA, 0x1EFA, 0x1EFC, 0x1EFC,
  0x1EFE, 0x1EFE, 0x1F08, 0x1F0F, 0x1F18, 0x1F1D, 0x1F28, 0x1F2F, 0x1F38, 0x1F3F,
  0x1F48, 0x1F4D, 0x1F59, 0x1F59, 0x1F5B, 0x1F5B, 0x1F5D, 0x1F5D, 0x1F5F, 0x1F5F,
  0x1F68, 0x1F6F, 0x1FB8, 0x1FBB, 0x1FC8, 0x1FCB, 0x1FD8, 0x1FDB, 0x1FE8, 0x1FEC,
  0x1FF8, 0x1FFB, 0x2102, 0x2102, 0x2107, 0x2107, 0x210B, 0x210D, 0x2110, 0x2112,
  0x2115, 0x2115, 0x2119, 0x211D, 0x2124, 0x2124, 0x2126, 0x2126, 0x2128, 0x2128,
  0x212A, 0x212D, 0x2130, 0x2133, 0x213E, 0x213F, 0x2145, 0x2145, 0x2183, 0x2183,
  0x2C00, 0x2C2E, 0x2C60, 0x2C60, 0x2C62, 0x2C64, 0x2C67, 0x2C67, 0x2C69, 0x2C69,
  0x2C6B, 0x2C6B, 0x2C6D, 0x2C70, 0x2C72, 0x2C72, 0x2C75, 0x2C75, 0x2C7E, 0x2C80,
  0x2C82, 0x2C82, 0x2C84, 0x2C84, 0x2C86, 0x2C86, 0x2C88, 0x2C88, 0x2C8A, 0x2C8A,
  0x2C8C, 0x2C8C, 0x2C8E, 0x2C8E, 0x2C90, 0x2C90, 0x2C92, 0x2C92, 0x2C94, 0x2C94,
  0x2C96, 0x2C96, 0x2C98, 0x2C98, 0x2C9A, 0x2C9A, 0x2C9C, 0x2C9C, 0x2C9E, 0x2C9E,
  0x2CA0, 0x2CA0, 0x2CA2, 0x2CA2, 0x2CA4, 0x2CA4, 0x2CA6, 0x2CA6, 0x2CA8, 0x2CA8,
  0x2CAA, 0x2CAA, 0x2CAC, 0x2CAC, 0x2CAE, 0x2CAE, 0x2CB0, 0x2CB0, 0x2CB2, 0x2CB2,
  0x2CB4, 0x2CB4, 0x2CB6, 0x2CB6, 0x2CB8, 0x2CB8, 0x2CBA, 0x2CBA, 0x2CBC, 0x2CBC,
  0x2CBE, 0x2CBE, 0x2CC0, 0x2CC0, 0x2CC2, 0x2CC2, 0x2CC4, 0x2CC4, 0x2CC6, 0x2CC6,
  0x2CC8, 0x2CC8, 0x2CCA, 0x2CCA, 0x2CCC, 0x2CCC, 0x2CCE, 0x2CCE, 0x2CD0, 0x2CD0,
  0x2CD2, 0x2CD2, 0x2CD4, 0x2CD4, 0x2CD6, 0x2CD6, 0x2CD8, 0x2CD8, 0x2CDA, 0x2CDA,
  0x2CDC, 0x2CDC, 0x2CDE, 0x2CDE, 0x2CE0, 0x2CE0, 0x2CE2, 0x2CE2, 0x2CEB, 0x2CEB,
  0x2CED, 0x2CED, 0x2CF2, 0x2CF2, 0xA640, 0xA640, 0xA642, 0xA642, 0xA644, 0xA644,
  0xA646, 0xA646, 0xA648, 0xA648, 0xA64A, 0xA64A, 0xA64C, 0xA64C, 0xA64E, 0xA64E,
  0xA650, 0xA650, 0xA652, 0xA652, 0xA654, 0xA654, 0xA656, 0xA656, 0xA658, 0xA658,
  0xA65A, 0xA65A, 0xA65C, 0xA65C, 0xA65E, 0xA65E, 0xA660, 0xA660, 0xA662, 0xA662,
  0xA664, 0xA664, 0xA666, 0xA666, 0xA668, 0xA668, 0xA66A, 0xA66A, 0xA66C, 0xA66C,
  0xA680, 0xA680, 0xA682, 0xA682, 0xA684, 0xA684, 0xA686, 0xA686, 0xA688, 0xA688,
  0xA68A, 0xA68A, 0xA68C, 0xA68C, 0xA68E, 0xA68E, 0xA690, 0xA690, 0xA692, 0xA692,
  0xA694, 0xA694, 0xA696, 0xA696, 0xA698, 0xA698, 0xA69A, 0xA69A, 0xA722, 0xA722,
  0xA724, 0xA724, 0xA726, 0xA726, 0xA728, 0xA728, 0xA72A, 0xA72A, 0xA72C, 0xA72C,
  0xA72E, 0xA72E, 0xA732, 0xA732, 0xA734, 0xA734, 0xA736, 0xA736, 0xA738, 0xA738,
  0xA73A, 0xA73A, 0xA73C, 0xA73C, 0xA73E, 0xA73E, 0xA740, 0xA740, 0xA742, 0xA742,
  0xA744, 0xA744, 0xA746, 0xA746, 0xA748, 0xA748, 0xA74A, 0xA74A, 0xA74C, 0xA74C,
  0xA74E, 0xA74E, 0xA750, 0xA750, 0xA752, 0xA752, 0xA754, 0xA754, 0xA756, 0xA756,
  0xA758, 0xA758, 0xA75A, 0xA75A, 0xA75C, 0xA75C, 0xA75E, 0xA75E, 0xA760, 0xA760,
  0xA762, 0xA762, 0xA764, 0xA764, 0xA766, 0xA766, 0xA768, 0xA768, 0xA76A, 0xA76A,
  0xA76C, 0xA76C, 0xA76E, 0xA76E, 0xA779, 0xA779, 0xA77B, 0xA77B, 0xA77D, 0xA77E,
  0xA780, 0xA780, 0xA782, 0xA782, 0xA784, 0xA784, 0xA786, 0xA786, 0xA78B, 0xA78B,
  0xA78D, 0xA78D, 0xA790, 0xA790, 0xA792, 0xA792, 0xA796, 0xA796, 0xA798, 0xA798,
  0xA79A, 0xA79A, 0xA79C, 0xA79C, 0xA79E, 0xA79E, 0xA7A0, 0xA7A0, 0xA7A2, 0xA7A2,
  0xA7A4, 0xA7A4, 0xA7A6, 0xA7A6, 0xA7A8, 0xA7A8, 0xA7AA, 0xA7AE, 0xA7B0, 0xA7B4,
  0xA7B6, 0xA7B6, 0xA7B8, 0xA7B8, 0xA7BA, 0xA7BA, 0xA7BC, 0xA7BC, 0xA7BE, 0xA7BE,
  0xA7C2, 0xA7C2, 0xA7C4, 0xA7C6, 0xFF21, 0xFF3A, 0x10400, 0x10427, 0x104B0, 0x104D3,
  0x10C80, 0x10CB2, 0x118A0, 0x118BF, 0x16E40, 0x16E5F, 0x1D400, 0x1D419, 0x1D434,
  0x1D44D, 0x1D468, 0x1D481, 0x1D49C, 0x1D49C, 0x1D49E, 0x1D49F, 0x1D4A2, 0x1D4A2,
  0x1D4A5, 0x1D4A6, 0x1D4A9, 0x1D4AC, 0x1D4AE, 0x1D4B5, 0x1D4D0, 0x1D4E9, 0x1D504,
  0x1D505, 0x1D507, 0x1D50A, 0x1D50D, 0x1D514, 0x1D516, 0x1D51C, 0x1D538, 0x1D539,
  0x1D53B, 0x1D53E, 0x1D540, 0x1D544, 0x1D546, 0x1D546, 0x1D54A, 0x1D550, 0x1D56C,
  0x1D585, 0x1D5A0, 0x1D5B9, 0x1D5D4, 0x1D5ED, 0x1D608, 0x1D621, 0x1D63C, 0x1D655,
  0x1D670, 0x1D689, 0x1D6A8, 0x1D6C0, 0x1D6E2, 0x1D6FA, 0x1D71C, 0x1D734, 0x1D756,
  0x1D76E, 0x1D790, 0x1D7A8, 0x1D7CA, 0x1D7CA, 0x1E900, 0x1E921,
]

///|
/// Inclusive code point ranges (flattened lo/hi pairs) for `\p{Ll}`.
let ll_ranges : FixedArray[Int] = [
  0x61, 0x7A, 0xB5, 0xB5, 0xDF, 0xF6, 0xF8, 0xFF, 0x101, 0x101, 0x103, 0x103, 0x105,
  0x105, 0x107, 0x107, 0x109, 0x109, 0x10B, 0x10B, 0x10D, 0x10D, 0x10F, 0x10F, 0x111,
  0x111, 0x113, 0x113, 0x115, 0x115, 0x117, 0x117, 0x119, 0x119, 0x11B, 0x11B, 0x11D,
  0x11D, 0x11F, 0x11F, 0x121, 0x121, 0x123, 0x123, 0x125, 0x125, 0x127, 0x127, 0x129,
  0x129, 0x12B, 0x12B, 0x12D, 0x12D, 0x12F, 0x12F, 0x131, 0x131, 0x133, 0x133, 0x135,
  0x135, 0x137, 0x138, 0x13A, 0x13A, 0x13C, 0x13C, 0x13E, 0x13E, 0x140, 0x140, 0x142,
  0x142, 0x144, 0x144, 0x146, 0x146, 0x148, 0x149, 0x14B, 0x14B, 0x14D, 0x14D, 0x14F,
  0x14F, 0x151, 0x151, 0x153, 0x153, 0x155, 0x155, 0x157, 0x157, 0x159, 0x159, 0x15B,
  0x15B, 0x15D, 0x15D, 0x15F, 0x15F, 0x161, 0x161, 0x163, 0x163, 0x165, 0x165, 0x167,
  0x167, 0x169, 0x169, 0x16B, 0x16B, 0x16D, 0x16D, 0x16F, 0x16F, 0x171, 0x171, 0x173,
  0x173, 0x175, 0x175, 0x177, 0x177, 0x17A, 0x17A, 0x17C, 0x17C, 0x17E, 0x180, 0x183,
  0x183, 0x185, 0x185, 0x188, 0x188, 0x18C, 0x18D, 0x192, 0x192, 0x195, 0x195, 0x199,
  0x19B, 0x19E, 0x19E, 0x1A1, 0x1A1, 0x1A3, 0x1A3, 0x1A5, 0x1A5, 0x1A8, 0x1A8, 0x1AA,
  0x1AB, 0x1AD, 0x1AD, 0x1B0, 0x1B0, 0x1B4, 0x1B4, 0x1B6, 0x1B6, 0x1B9, 0x1BA, 0x1BD,
  0x1BF, 0x1C6, 0x1C6, 0x1C9, 0x1C9, 0x1CC, 0x1CC, 0x1CE, 0x1CE, 0x1D0, 0x1D0, 0x1D2,
  0x1D2, 0x1D4, 0x1D4, 0x1D6, 0x1D6, 0x1D8, 0x1D8, 0x1DA, 0x1DA, 0x1DC, 0x1DD, 0x1DF,
  0x1DF, 0x1E1, 0x1E1, 0x1E3, 0x1E3, 0x1E5, 0x1E5, 0x1E7, 0x1E7, 0x1E9, 0x1E9, 0x1EB,
  0x1EB, 0x1ED, 0x1ED, 0x1EF, 0x1F0, 0x1F3, 0x1F3, 0x1F5, 0x1F5, 0x1F9, 0x1F9, 0x1FB,
  0x1FB, 0x1FD, 0x1FD, 0x1FF, 0x1FF, 0x201, 0x201, 0x203, 0x203, 0x205, 0x205, 0x207,
  0x207, 0x209, 0x209, 0x20B, 0x20B, 0x20D, 0x20D, 0x20F, 0x20F, 0x211, 0x211, 0x213,
  0x213, 0x215, 0x215, 0x217, 0x217, 0x219, 0x219, 0x21B, 0x21B, 0x21D, 0x21D, 0x21F,
  0x21F, 0x221, 0x221, 0x223, 0x223, 0x225, 0x225, 0x227, 0x227, 0x229, 0x229, 0x22B,
  0x22B, 0x22D, 0x22D, 0x22F, 0x22F, 0x231, 0x231, 0x233, 0x239, 0x23C, 0x23C, 0x23F,
  0x240, 0x242, 0x242, 0x247, 0x247, 0x249, 0x249, 0x24B, 0x24B, 0x24D, 0x24D, 0x24F,
  0x293, 0x295, 0x2AF, 0x371, 0x371, 0x373, 0x373, 0x377, 0x377, 0x37B, 0x37D, 0x390,
  0x390, 0x3AC, 0x3CE, 0x3D0, 0x3D1, 0x3D5, 0x3D7, 0x3D9, 0x3D9, 0x3DB, 0x3DB, 0x3DD,
  0x3DD, 0x3DF, 0x3DF, 0x3E1, 0x3E1, 0x3E3, 0x3E3, 0x3E5, 0x3E5, 0x3E7, 0x3E7, 0x3E9,
  0x3E9, 0x3EB, 0x3EB, 0x3ED, 0x3ED, 0x3EF, 0x3F3, 0x3F5, 0x3F5, 0x3F8, 0x3F8, 0x3FB,
  0x3FC, 0x430, 0x45F, 0x461, 0x461, 0x463, 0x463, 0x465, 0x465, 0x467, 0x467, 0x469,
  0x469, 0x46B, 0x46B, 0x46D, 0x46D, 0x46F, 0x46F, 0x471, 0x471, 0x473, 0x473, 0x475,
  0x475, 0x477, 0x477, 0x479, 0x479, 0x47B, 0x47B, 0x47D, 0x47D, 0x47F, 0x47F, 0x481,
  0x481, 0x48B, 0x48B, 0x48D, 0x48D, 0x48F, 0x48F, 0x491, 0x491, 0x493, 0x493, 0x495,
  0x495, 0x497, 0x497, 0x499, 0x499, 0x49B, 0x49B, 0x49D, 0x49D, 0x49F, 0x49F, 0x4A1,
  0x4A1, 0x4A3, 0x4A3, 0x4A5, 0x4A5, 0x4A7, 0x4A7, 0x4A9, 0x4A9, 0x4AB, 0x4AB, 0x4AD,
  0x4AD, 0x4AF, 0x4AF, 0x4B1, 0x4B1, 0x4B3, 0x4B3, 0x4B5, 0x4B5, 0x4B7, 0x4B7, 0x4B9,
  0x4B9, 0x4BB, 0x4BB, 0x4BD, 0x4BD, 0x4BF, 0x4BF, 0x4C2, 0x4C2, 0x4C4, 0x4C4, 0x4C6,
  0x4C6, 0x4C8, 0x4C8, 0x4CA, 0x4CA, 0x4CC, 0x4CC, 0x4CE, 0x4CF, 0x4D1, 0x4D1, 0x4D3,
  0x4D3, 0x4D5, 0x4D5, 0x4D7, 0x4D7, 0x4D9, 0x4D9, 0x4DB, 0x4DB, 0x4DD, 0x4DD, 0x4DF,
  0x4DF, 0x4E1, 0x4E1, 0x4E3, 0x4E3, 0x4E5, 0x4E5, 0x4E7, 0x4E7, 0x4E9, 0x4E9, 0x4EB,
  0x4EB, 0x4ED, 0x4ED, 0x4EF, 0x4EF, 0x4F1, 0x4F1, 0x4F3, 0x4F3, 0x4F5, 0x4F5, 0x4F7,
  0x4F7, 0x4F9, 0x4F9, 0x4FB, 0x4FB, 0x4FD, 0x4FD, 0x4FF, 0x4FF, 0x501, 0x501, 0x503,
  0x503, 0x505, 0x505, 0x507, 0x507, 0x509, 0x509, 0x50B, 0x50B, 0x50D, 0x50D, 0x50F,
  0x50F, 0x511, 0x511, 0x513, 0x513, 0x515, 0x515, 0x517, 0x517, 0x519, 0x519, 0x51B,
  0x51B, 0x51D, 0x51D, 0x51F, 0x51F, 0x521, 0x521, 0x523, 0x523, 0x525, 0x525, 0x527,
  0x527, 0x529, 0x529, 0x52B, 0x52B, 0x52D, 0x52D, 0x52F, 0x52F, 0x560, 0x588, 0x10D0,
  0x10FA, 0x10FD, 0x10FF, 0x13F8, 0x13FD, 0x1C80, 0x1C88, 0x1D00, 0x1D2B, 0x1D6B,
  0x1D77, 0x1D79, 0x1D9A, 0x1E01, 0x1E01, 0x1E03, 0x1E03, 0x1E05, 0x1E05, 0x1E07,
  0x1E07, 0x1E09, 0x1E09, 0x1E0B, 0x1E0B, 0x1E0D, 0x1E0D, 0x1E0F, 0x1E0F, 0x1E11,
  0x1E11, 0x1E13, 0x1E13, 0x1E15, 0x1E15, 0x1E17, 0x1E17, 0x1E19, 0x1E19, 0x1E1B,
  0x1E1B, 0x1E1D, 0x1E1D, 0x1E1F, 0x1E1F, 0x1E21, 0x1E21, 0x1E23, 0x1E23, 0x1E25,
  0x1E25, 0x1E27, 0x1E27, 0x1E29, 0x1E29, 0x1E2B, 0x1E2B, 0x1E2D, 0x1E2D, 0x1E2F,
  0x1E2F, 0x1E31, 0x1E31, 0x1E33, 0x1E33, 0x1E35, 0x1E35, 0x1E37, 0x1E37, 0x1E39,
  0x1E39, 0x1E3B, 0x1E3B, 0x1E3D, 0x1E3D, 0x1E3F, 0x1E3F, 0x1E41, 0x1E41, 0x1E43,
  0x1E43, 0x1E45, 0x1E45, 0x1E47, 0x1E47, 0x1E49, 0x1E49, 0x1E4B, 0x1E4B, 0x1E4D,
  0x1E4D, 0x1E4F, 0x1E4F, 0x1E51, 0x1E51, 0x1E53, 0x1E53, 0x1E55, 0x1E55, 0x1E57,
  0x1E57, 0x1E59, 0x1E59, 0x1E5B, 0x1E5B, 0x1E5D, 0x1E5D, 0x1E5F, 0x1E5F, 0x1E61,
  0x1E61, 0x1E63, 0x1E63, 0x1E65, 0x1E65, 0x1E67, 0x1E67, 0x1E69, 0x1E69, 0x1E6B,
  0x1E6B, 0x1E6D, 0x1E6D, 0x1E6F, 0x1E6F, 0x1E71, 0x1E71, 0x1E73, 0x1E73, 0x1E75,
  0x1E75, 0x1E77, 0x1E77, 0x1E79, 0x1E79, 0x1E7B, 0x1E7B, 0x1E7D, 0x1E7D, 0x1E7F,
  0x1E7F, 0x1E81, 0x1E81, 0x1E83, 0x1E83, 0x1E85, 0x1E85, 0x1E87, 0x1E87, 0x1E89,
  0x1E89, 0x1E8B, 0x1E8B, 0x1E8D, 0x1E8D, 0x1E8F, 0x1E8F, 0x1E91, 0x1E91, 0x1E93,
  0x1E93, 0x1E95, 0x1E9D, 0x1E9F, 0x1E9F, 0x1EA1, 0x1EA1, 0x1EA3, 0x1EA3, 0x1EA5,
  0x1EA5, 0x1EA7, 0x1EA7, 0x1EA9, 0x1EA9, 0x1EAB, 0x1EAB, 0x1EAD, 0x1EAD, 0x1EAF,
  0x1EAF, 0x1EB1, 0x1EB1, 0x1EB3, 0x1EB3, 0x1EB5, 0x1EB5, 0x1EB7, 0x1EB7, 0x1EB9,
  0x1EB9, 0x1EBB, 0x1EBB, 0x1EBD, 0x1EBD, 0x1EBF, 0x1EBF, 0x1EC1, 0x1EC1, 0x1EC3,
  0x1EC3, 0x1EC5, 0x1EC5, 0x1EC7, 0x1EC7, 0x1EC9, 0x1EC9, 0x1ECB, 0x1ECB, 0x1ECD,
  0x1ECD, 0x1ECF, 0x1ECF, 0x1ED1, 0x1ED1, 0x1ED3, 0x1ED3, 0x1ED5, 0x1ED5, 0x1ED7,
  0x1ED7, 0x1ED9, 0x1ED9, 0x1EDB, 0x1EDB, 0x1EDD, 0x1EDD, 0x1EDF, 0x1EDF, 0x1EE1,
  0x1EE1, 0x1EE3, 0x1EE3, 0x1EE5, 0x1EE5, 0x1EE7, 0x1EE7, 0x1EE9, 0x1EE9, 0x1EEB,
  0x1EEB, 0x1EED, 0x1EED, 0x1EEF, 0x1EEF, 0x1EF1, 0x1EF1, 0x1EF3, 0x1EF3, 0x1EF5,
  0x1EF5, 0x1EF7, 0x1EF7, 0x1EF9, 0x1EF9, 0x1EFB, 0x1EFB, 0x1EFD, 0x1EFD, 0x1EFF,
  0x1F07, 0x1F10, 0x1F15, 0x1F20, 0x1F27, 0x1F30, 0x1F37, 0x1F40, 0x1F45, 0x1F50,
  0x1F57, 0x1F60, 0x1F67, 0x1F70, 0x1F7D, 0x1F80, 0x1F87, 0x1F90, 0x1F97, 0x1FA0,
  0x1FA7, 0x1FB0, 0x1FB4, 0x1FB6, 0x1FB7, 0x1FBE, 0x1FBE, 0x1FC2, 0x1FC4, 0x1FC6,
  0x1FC7, 0x1FD0, 0x1FD3, 0x1FD6, 0x1FD7, 0x1FE0, 0x1FE7, 0x1FF2, 0x1FF4, 0x1FF6,
  0x1FF7, 0x210A, 0x210A, 0x210E, 0x210F, 0x2113, 0x2113, 0x212F, 0x212F, 0x2134,
  0x2134, 0x2139, 0x2139, 0x213C, 0x213D, 0x2146, 0x2149, 0x214E, 0x214E, 0x2184,
  0x2184, 0x2C30, 0x2C5E, 0x2C61, 0x2C61, 0x2C65, 0x2C66, 0x2C68, 0x2C68, 0x2C6A,
  0x2C6A, 0x2C6C, 0x2C6C, 0x2C71, 0x2C71, 0x2C73, 0x2C74, 0x2C76, 0x2C7B, 0x2C81,
  0x2C81, 0x2C83, 0x2C83, 0x2C85, 0x2C85, 0x2C87, 0x2C87, 0x2C89, 0x2C89, 0x2C8B,
  0x2C8B, 0x2C8D, 0x2C8D, 0x2C8F, 0x2C8F, 0x2C91, 0x2C91, 0x2C93, 0x2C93, 0x2C95,
  0x2C95, 0x2C97, 0x2C97, 0x2C99, 0x2C99, 0x2C9B, 0x2C9B, 0x2C9D, 0x2C9D, 0x2C9F,
  0x2C9F, 0x2CA1, 0x2CA1, 0x2CA3, 0x2CA3, 0x2CA5, 0x2CA5, 0x2CA7, 0x2CA7, 0x2CA9,
  0x2CA9, 0x2CAB, 0x2CAB, 0x2CAD, 0x2CAD, 0x2CAF, 0x2CAF, 0x2CB1, 0x2CB1, 0x2CB3,
  0x2CB3, 0x2CB5, 0x2CB5, 0x2CB7, 0x2CB7, 0x2CB9, 0x2CB9, 0x2CBB, 0x2CBB, 0x2CBD,
  0x2CBD, 0x2CBF, 0x2CBF, 0x2CC1, 0x2CC1, 0x2CC3, 0x2CC3, 0x2CC5, 0x2CC5, 0x2CC7,
  0x2CC7, 0x2CC9, 0x2CC9, 0x2CCB, 0x2CCB, 0x2CCD, 0x2CCD, 0x2CCF, 0x2CCF, 0x2CD1,
  0x2CD1, 0x2CD3, 0x2CD3, 0x2CD5, 0x2CD5, 0x2CD7, 0x2CD7, 0x2CD9, 0x2CD9, 0x2CDB,
  0x2CDB, 0x2CDD, 0x2CDD, 0x2CDF, 0x2CDF, 0x2CE1, 0x2CE1, 0x2CE3, 0x2CE4, 0x2CEC,
  0x2CEC, 0x2CEE, 0x2CEE, 0x2CF3, 0x2CF3, 0x2D00, 0x2D25, 0x2D27, 0x2D27, 0x2D2D,
  0x2D2D, 0xA641, 0xA641, 0xA643, 0xA643, 0xA645, 0xA645, 0xA647, 0xA647, 0xA649,
  0xA649, 0xA64B, 0xA64B, 0xA64D, 0xA64D, 0xA64F, 0xA64F, 0xA651, 0xA651, 0xA653,
  0xA653, 0xA655, 0xA655, 0xA657, 0xA657, 0xA659, 0xA659, 0xA65B, 0xA65B, 0xA65D,
  0xA65D, 0xA65F, 0xA65F, 0xA661, 0xA661, 0xA663, 0xA663, 0xA665, 0xA665, 0xA667,
  0xA667, 0xA669, 0xA669, 0xA66B, 0xA66B, 0xA66D, 0xA66D, 0xA681, 0xA681, 0xA683,
  0xA683, 0xA685, 0xA685, 0xA687, 0xA687, 0xA689, 0xA689, 0xA68B, 0xA68B, 0xA68D,
  0xA68D, 0xA68F, 0xA68F, 0xA691, 0xA691, 0xA693, 0xA693, 0xA695, 0xA695, 0xA697,
  0xA697, 0xA699, 0xA699, 0xA69B, 0xA69B, 0xA723, 0xA723, 0xA725, 0xA725, 0xA727,
  0xA727, 0xA729, 0xA729, 0xA72B, 0xA72B, 0xA72D, 0xA72D, 0xA72F, 0xA731, 0xA733,
  0xA733, 0xA735, 0xA735, 0xA737, 0xA737, 0xA739, 0xA739, 0xA73B, 0xA73B, 0xA73D,
  0xA73D, 0xA73F, 0xA73F, 0xA741, 0xA741, 0xA743, 0xA743, 0xA745, 0xA745, 0xA747,
  0xA747, 0xA749, 0xA749, 0xA74B, 0xA74B, 0xA74D, 0xA74D, 0xA74F, 0xA74F, 0xA751,
  0xA751, 0xA753, 0xA753, 0xA755, 0xA755, 0xA757, 0xA757, 0xA759, 0xA759, 0xA75B,
  0xA75B, 0xA75D, 0xA75D, 0xA75F, 0xA75F, 0xA761, 0xA761, 0xA763, 0xA763, 0xA765,
  0xA765, 0xA767, 0xA767, 0xA769, 0xA769, 0xA76B, 0xA76B, 0xA76D, 0xA76D, 0xA76F,
  0xA76F, 0xA771, 0xA778, 0xA77A, 0xA77A, 0xA77C, 0xA77C, 0xA77F, 0xA77F, 0xA781,
  0xA781, 0xA783, 0xA783, 0xA785, 0xA785, 0xA787, 0xA787, 0xA78C, 0xA78C, 0xA78E,
  0xA78E, 0xA791, 0xA791, 0xA793, 0xA795, 0xA797, 0xA797, 0xA799, 0xA799, 0xA79B,
  0xA79B, 0xA79D, 0xA79D, 0xA79F, 0xA79F, 0xA7A1, 0xA7A1, 0xA7A3, 0xA7A3, 0xA7A5,
  0xA7A5, 0xA7A7, 0xA7A7, 0xA7A9, 0xA7A9, 0xA7AF, 0xA7AF, 0xA7B5, 0xA7B5, 0xA7B7,
  0xA7B7, 0xA7B9, 0xA7B9, 0xA7BB, 0xA7BB, 0xA7BD, 0xA7BD, 0xA7BF, 0xA7BF, 0xA7C3,
  0xA7C3, 0xA7FA, 0xA7FA, 0xAB30, 0xAB5A, 0xAB60, 0xAB67, 0xAB70, 0xABBF, 0xFB00,
  0xFB06, 0xFB13, 0xFB17, 0xFF41, 0xFF5A, 0x10428, 0x1044F, 0x104D8, 0x104FB, 0x10CC0,
  0x10CF2, 0x118C0, 0x118DF, 0x16E60, 0x16E7F, 0x1D41A, 0x1D433, 0x1D44E, 0x1D454,
  0x1D456, 0x1D467, 0x1D482, 0x1D49B, 0x1D4B6, 0x1D4B9, 0x1D4BB, 0x1D4BB, 0x1D4BD,
  0x1D4C3, 0x1D4C5, 0x1D4CF, 0x1D4EA, 0x1D503, 0x1D51E, 0x1D537, 0x1D552, 0x1D56B,
  0x1D586, 0x1D59F, 0x1D5BA, 0x1D5D3, 0x1D5EE, 0x1D607, 0x1D622, 0x1D63B, 0x1D656,
  0x1D66F, 0x1D68A, 0x1D6A5, 0x1D6C2, 0x1D6DA, 0x1D6DC, 0x1D6E1, 0x1D6FC, 0x1D714,
  0x1D716, 0x1D71B, 0x1D736, 0x1D74E, 0x1D750, 0x1D755, 0x1D770, 0x1D788, 0x1D78A,
  0x1D78F, 0x1D7AA, 0x1D7C2, 0x1D7C4, 0x1D7C9, 0x1D7CB, 0x1D7CB, 0x1E922, 0x1E943,
]

///|
/// Code points with a non-trivial case-insensitive equivalence class (sorted).
let fold_keys : FixedArray[Int] = [
  0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E,
  0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x61, 0x62,
  0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70,
  0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0xB5, 0xC0, 0xC1, 0xC2,
  0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0,
  0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF,
  0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED,
  0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC,
  0xFD, 0xFE, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108,
  0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114,
  0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120,
  0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C,
  0x12D, 0x12E, 0x12F, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B,
  0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147,
  0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154,
  0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160,
  0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C,
  0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178,
  0x179, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x182, 0x183, 0x184,
  0x185, 0x186, 0x187, 0x188, 0x189, 0x18A, 0x18B, 0x18C, 0x18E, 0x18F, 0x190, 0x191,
  0x192, 0x193, 0x194, 0x195, 0x196, 0x197, 0x198, 0x199, 0x19A, 0x19C, 0x19D, 0x19E,
  0x19F, 0x1A0, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A7, 0x1A8, 0x1A9, 0x1AC,
  0x1AD, 0x1AE, 0x1AF, 0x1B0, 0x1B1, 0x1B2, 0x1B3, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B8,
  0x1B9, 0x1BC, 0x1BD, 0x1BF, 0x1C4, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB,
  0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7,
  0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3,
  0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF,
  0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F7, 0x1F8, 0x1F9, 0x1FA, 0x1FB, 0x1FC,
  0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208,
  0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214,
  0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220,
  0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D,
  0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23B, 0x23C, 0x23D, 0x23F, 0x240, 0x241,
  0x242, 0x243, 0x244, 0x245, 0x246, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D,
  0x24E, 0x24F, 0x250, 0x251, 0x252, 0x253, 0x254, 0x256, 0x257, 0x259, 0x25B, 0x25C,
  0x260, 0x261, 0x263, 0x265, 0x266, 0x268, 0x269, 0x26A, 0x26B, 0x26C, 0x26F, 0x271,
  0x272, 0x275, 0x27D, 0x280, 0x282, 0x283, 0x287, 0x288, 0x289, 0x28A, 0x28B, 0x28C,
  0x292, 0x29D, 0x29E, 0x345, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37B, 0x37C,
  0x37D, 0x37F, 0x386, 0x388, 0x389, 0x38A, 0x38C, 0x38E, 0x38F, 0x391, 0x392, 0x393,
  0x394, 0x395, 0x396, 0x397, 0x398, 0x399, 0x39A, 0x39B, 0x39C, 0x39D, 0x39E, 0x39F,
  0x3A0, 0x3A1, 0x3A3, 0x3A4, 0x3A5, 0x3A6, 0x3A7, 0x3A8, 0x3A9, 0x3AA, 0x3AB, 0x3AC,
  0x3AD, 0x3AE, 0x3AF, 0x3B1, 0x3B2, 0x3B3, 0x3B4, 0x3B5, 0x3B6, 0x3B7, 0x3B8, 0x3B9,
  0x3BA, 0x3BB, 0x3BC, 0x3BD, 0x3BE, 0x3BF, 0x3C0, 0x3C1, 0x3C2, 0x3C3, 0x3C4, 0x3C5,
  0x3C6, 0x3C7, 0x3C8, 0x3C9, 0x3CA, 0x3CB, 0x3CC, 0x3CD, 0x3CE, 0x3CF, 0x3D0, 0x3D1,
  0x3D5, 0x3D6, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0,
  0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC,
  0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F1, 0x3F2, 0x3F3, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9,
  0x3FA, 0x3FB, 0x3FD, 0x3FE, 0x3FF, 0x400, 0x401, 0x402, 0x403, 0x404, 0x405, 0x406,
  0x407, 0x408, 0x409, 0x40A, 0x40B, 0x40C, 0x40D, 0x40E, 0x40F, 0x410, 0x411, 0x412,
  0x413, 0x414, 0x415, 0x416, 0x417, 0x418, 0x419, 0x41A, 0x41B, 0x41C, 0x41D, 0x41E,
  0x41F, 0x420, 0x421, 0x422, 0x423, 0x424, 0x425, 0x426, 0x427, 0x428, 0x429, 0x42A,
  0x42B, 0x42C, 0x42D, 0x42E, 0x42F, 0x430, 0x431, 0x432, 0x433, 0x434, 0x435, 0x436,
  0x437, 0x438, 0x439, 0x43A, 0x43B, 0x43C, 0x43D, 0x43E, 0x43F, 0x440, 0x441, 0x442,
  0x443, 0x444, 0x445, 0x446, 0x447, 0x448, 0x449, 0x44A, 0x44B, 0x44C, 0x44D, 0x44E,
  0x44F, 0x450, 0x451, 0x452, 0x453, 0x454, 0x455, 0x456, 0x457, 0x458, 0x459, 0x45A,
  0x45B, 0x45C, 0x45D, 0x45E, 0x45F, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466,
  0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472,
  0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E,
  0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492,
  0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E,
  0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA,
  0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6,
  0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C1, 0x4C2,
  0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE,
  0x4CF, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA,
  0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6,
  0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2,
  0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE,
  0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A,
  0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516,
  0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522,
  0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E,
  0x52F, 0x531, 0x532, 0x533, 0x534, 0x535, 0x536, 0x537, 0x538, 0x539, 0x53A, 0x53B,
  0x53C, 0x53D, 0x53E, 0x53F, 0x540, 0x541, 0x542, 0x543, 0x544, 0x545, 0x546, 0x547,
  0x548, 0x549, 0x54A, 0x54B, 0x54C, 0x54D, 0x54E, 0x54F, 0x550, 0x551, 0x552, 0x553,
  0x554, 0x555, 0x556, 0x561, 0x562, 0x563, 0x564, 0x565, 0x566, 0x567, 0x568, 0x569,
  0x56A, 0x56B, 0x56C, 0x56D, 0x56E, 0x56F, 0x570, 0x571, 0x572, 0x573, 0x574, 0x575,
  0x576, 0x577, 0x578, 0x579, 0x57A, 0x57B, 0x57C, 0x57D, 0x57E, 0x57F, 0x580, 0x581,
  0x582, 0x583, 0x584, 0x585, 0x586, 0x10A0, 0x10A1, 0x10A2, 0x10A3, 0x10A4, 0x10A5,
  0x10A6, 0x10A7, 0x10A8, 0x10A9, 0x10AA, 0x10AB, 0x10AC, 0x10AD, 0x10AE, 0x10AF,
  0x10B0, 0x10B1, 0x10B2, 0x10B3, 0x10B4, 0x10B5, 0x10B6, 0x10B7, 0x10B8, 0x10B9,
  0x10BA, 0x10BB, 0x10BC, 0x10BD, 0x10BE, 0x10BF, 0x10C0, 0x10C1, 0x10C2, 0x10C3,
  0x10C4, 0x10C5, 0x10C7, 0x10CD, 0x10D0, 0x10D1, 0x10D2, 0x10D3, 0x10D4, 0x10D5,
  0x10D6, 0x10D7, 0x10D8, 0x10D9, 0x10DA, 0x10DB, 0x10DC, 0x10DD, 0x10DE, 0x10DF,
  0x10E0, 0x10E1, 0x10E2, 0x10E3, 0x10E4, 0x10E5, 0x10E6, 0x10E7, 0x10E8, 0x10E9,
  0x10EA, 0x10EB, 0x10EC, 0x10ED, 0x10EE, 0x10EF, 0x10F0, 0x10F1, 0x10F2, 0x10F3,
  0x10F4, 0x10F5, 0x10F6, 0x10F7, 0x10F8, 0x10F9, 0x10FA, 0x10FD, 0x10FE, 0x10FF,
  0x13A0, 0x13A1, 0x13A2, 0x13A3, 0x13A4, 0x13A5, 0x13A6, 0x13A7, 0x13A8, 0x13A9,
  0x13AA, 0x13AB, 0x13AC, 0x13AD, 0x13AE, 0x13AF, 0x13B0, 0x13B1, 0x13B2, 0x13B3,
  0x13B4, 0x13B5, 0x13B6, 0x13B7, 0x13B8, 0x13B9, 0x13BA, 0x13BB, 0x13BC, 0x13BD,
  0x13BE, 0x13BF, 0x13C0, 0x13C1, 0x13C2, 0x13C3, 0x13C4, 0x13C5, 0x13C6, 0x13C7,
  0x13C8, 0x13C9, 0x13CA, 0x13CB, 0x13CC, 0x13CD, 0x13CE, 0x13CF, 0x13D0, 0x13D1,
  0x13D2, 0x13D3, 0x13D4, 0x13D5, 0x13D6, 0x13D7, 0x13D8, 0x13D9, 0x13DA, 0x13DB,
  0x13DC, 0x13DD, 0x13DE, 0x13DF, 0x13E0, 0x13E1, 0x13E2, 0x13E3, 0x13E4, 0x13E5,
  0x13E6, 0x13E7, 0x13E8, 0x13E9, 0x13EA, 0x13EB, 0x13EC, 0x13ED, 0x13EE, 0x13EF,
  0x13F0, 0x13F1, 0x13F2, 0x13F3, 0x13F4, 0x13F5, 0x13F8, 0x13F9, 0x13FA, 0x13FB,
  0x13FC, 0x13FD, 0x1C80, 0x1C81, 0x1C82, 0x1C83, 0x1C84, 0x1C85, 0x1C86, 0x1C87,
  0x1C88, 0x1C90, 0x1C91, 0x1C92, 0x1C93, 0x1C94, 0x1C95, 0x1C96, 0x1C97, 0x1C98,
  0x1C99, 0x1C9A, 0x1C9B, 0x1C9C, 0x1C9D, 0x1C9E, 0x1C9F, 0x1CA0, 0x1CA1, 0x1CA2,
  0x1CA3, 0x1CA4, 0x1CA5, 0x1CA6, 0x1CA7, 0x1CA8, 0x1CA9, 0x1CAA, 0x1CAB, 0x1CAC,
  0x1CAD, 0x1CAE, 0x1CAF, 0x1CB0, 0x1CB1, 0x1CB2, 0x1CB3, 0x1CB4, 0x1CB5, 0x1CB6,
  0x1CB7, 0x1CB8, 0x1CB9, 0x1CBA, 0x1CBD, 0x1CBE, 0x1CBF, 0x1D79, 0x1D7D, 0x1D8E,
  0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09,
  0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13,
  0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D,
  0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27,
  0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31,
  0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B,
  0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45,
  0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F,
  0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59,
  0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63,
  0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D,
  0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77,
  0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81,
  0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B,
  0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95,
  0x1E9B, 0x1E9E, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7,
  0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1,
  0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB,
  0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5,
  0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF,
  0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9,
  0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3,
  0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED,
  0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7,
  0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F00, 0x1F01,
  0x1F02, 0x1F03, 0x1F04, 0x1F05, 0x1F06, 0x1F07, 0x1F08, 0x1F09, 0x1F0A, 0x1F0B,
  0x1F0C, 0x1F0D, 0x1F0E, 0x1F0F, 0x1F10, 0x1F11, 0x1F12, 0x1F13, 0x1F14, 0x1F15,
  0x1F18, 0x1F19, 0x1F1A, 0x1F1B, 0x1F1C, 0x1F1D, 0x1F20, 0x1F21, 0x1F22, 0x1F23,
  0x1F24, 0x1F25, 0x1F26, 0x1F27, 0x1F28, 0x1F29, 0x1F2A, 0x1F2B, 0x1F2C, 0x1F2D,
  0x1F2E, 0x1F2F, 0x1F30, 0x1F31, 0x1F32, 0x1F33, 0x1F34, 0x1F35, 0x1F36, 0x1F37,
  0x1F38, 0x1F39, 0x1F3A, 0x1F3B, 0x1F3C, 0x1F3D, 0x1F3E, 0x1F3F, 0x1F40, 0x1F41,
  0x1F42, 0x1F43, 0x1F44, 0x1F45, 0x1F48, 0x1F49, 0x1F4A, 0x1F4B, 0x1F4C, 0x1F4D,
  0x1F51, 0x1F53, 0x1F55, 0x1F57, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x1F60, 0x1F61,
  0x1F62, 0x1F63, 0x1F64, 0x1F65, 0x1F66, 0x1F67, 0x1F68, 0x1F69, 0x1F6A, 0x1F6B,
  0x1F6C, 0x1F6D, 0x1F6E, 0x1F6F, 0x1F70, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75,
  0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F80, 0x1F81,
  0x1F82, 0x1F83, 0x1F84, 0x1F85, 0x1F86, 0x1F87, 0x1F88, 0x1F89, 0x1F8A, 0x1F8B,
  0x1F8C, 0x1F8D, 0x1F8E, 0x1F8F, 0x1F90, 0x1F91, 0x1F92, 0x1F93, 0x1F94, 0x1F95,
  0x1F96, 0x1F97, 0x1F98, 0x1F99, 0x1F9A, 0x1F9B, 0x1F9C, 0x1F9D, 0x1F9E, 0x1F9F,
  0x1FA0, 0x1FA1, 0x1FA2, 0x1FA3, 0x1FA4, 0x1FA5, 0x1FA6, 0x1FA7, 0x1FA8, 0x1FA9,
  0x1FAA, 0x1FAB, 0x1FAC, 0x1FAD, 0x1FAE, 0x1FAF, 0x1FB0, 0x1FB1, 0x1FB3, 0x1FB8,
  0x1FB9, 0x1FBA, 0x1FBB, 0x1FBC, 0x1FBE, 0x1FC3, 0x1FC8, 0x1FC9, 0x1FCA, 0x1FCB,
  0x1FCC, 0x1FD0, 0x1FD1, 0x1FD8, 0x1FD9, 0x1FDA, 0x1FDB, 0x1FE0, 0x1FE1, 0x1FE5,
  0x1FE8, 0x1FE9, 0x1FEA, 0x1FEB, 0x1FEC, 0x1FF3, 0x1FF8, 0x1FF9, 0x1FFA, 0x1FFB,
  0x1FFC, 0x2126, 0x212A, 0x212B, 0x2132, 0x214E, 0x2160, 0x2161, 0x2162, 0x2163,
  0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0x216A, 0x216B, 0x216C, 0x216D,
  0x216E, 0x216F, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177,
  0x2178, 0x2179, 0x217A, 0x217B, 0x217C, 0x217D, 0x217E, 0x217F, 0x2183, 0x2184,
  0x24B6, 0x24B7, 0x24B8, 0x24B9, 0x24BA, 0x24BB, 0x24BC, 0x24BD, 0x24BE, 0x24BF,
  0x24C0, 0x24C1, 0x24C2, 0x24C3, 0x24C4, 0x24C5, 0x24C6, 0x24C7, 0x24C8, 0x24C9,
  0x24CA, 0x24CB, 0x24CC, 0x24CD, 0x24CE, 0x24CF, 0x24D0, 0x24D1, 0x24D2, 0x24D3,
  0x24D4, 0x24D5, 0x24D6, 0x24D7, 0x24D8, 0x24D9, 0x24DA, 0x24DB, 0x24DC, 0x24DD,
  0x24DE, 0x24DF, 0x24E0, 0x24E1, 0x24E2, 0x24E3, 0x24E4, 0x24E5, 0x24E6, 0x24E7,
  0x24E8, 0x24E9, 0x2C00, 0x2C01, 0x2C02, 0x2C03, 0x2C04, 0x2C05, 0x2C06, 0x2C07,
  0x2C08, 0x2C09, 0x2C0A, 0x2C0B, 0x2C0C, 0x2C0D, 0x2C0E, 0x2C0F, 0x2C10, 0x2C11,
  0x2C12, 0x2C13, 0x2C14, 0x2C15, 0x2C16, 0x2C17, 0x2C18, 0x2C19, 0x2C1A, 0x2C1B,
  0x2C1C, 0x2C1D, 0x2C1E, 0x2C1F, 0x2C20, 0x2C21, 0x2C22, 0x2C23, 0x2C24, 0x2C25,
  0x2C26, 0x2C27, 0x2C28, 0x2C29, 0x2C2A, 0x2C2B, 0x2C2C, 0x2C2D, 0x2C2E, 0x2C30,
  0x2C31, 0x2C32, 0x2C33, 0x2C34, 0x2C35, 0x2C36, 0x2C37, 0x2C38, 0x2C39, 0x2C3A,
  0x2C3B, 0x2C3C, 0x2C3D, 0x2C3E, 0x2C3F, 0x2C40, 0x2C41, 0x2C42, 0x2C43, 0x2C44,
  0x2C45, 0x2C46, 0x2C47, 0x2C48, 0x2C49, 0x2C4A, 0x2C4B, 0x2C4C, 0x2C4D, 0x2C4E,
  0x2C4F, 0x2C50, 0x2C51, 0x2C52, 0x2C53, 0x2C54, 0x2C55, 0x2C56, 0x2C57, 0x2C58,
  0x2C59, 0x2C5A, 0x2C5B, 0x2C5C, 0x2C5D, 0x2C5E, 0x2C60, 0x2C61, 0x2C62, 0x2C63,
  0x2C64, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C6E, 0x2C6F,
  0x2C70, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C7F, 0x2C80, 0x2C81, 0x2C82,
  0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C,
  0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96,
  0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0,
  0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA,
  0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4,
  0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE,
  0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8,
  0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2,
  0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC,
  0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED,
  0x2CEE, 0x2CF2, 0x2CF3, 0x2D00, 0x2D01, 0x2D02, 0x2D03, 0x2D04, 0x2D05, 0x2D06,
  0x2D07, 0x2D08, 0x2D09, 0x2D0A, 0x2D0B, 0x2D0C, 0x2D0D, 0x2D0E, 0x2D0F, 0x2D10,
  0x2D11, 0x2D12, 0x2D13, 0x2D14, 0x2D15, 0x2D16, 0x2D17, 0x2D18, 0x2D19, 0x2D1A,
  0x2D1B, 0x2D1C, 0x2D1D, 0x2D1E, 0x2D1F, 0x2D20, 0x2D21, 0x2D22, 0x2D23, 0x2D24,
  0x2D25, 0x2D27, 0x2D2D, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646,
  0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650,
  0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A,
  0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664,
  0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680,
  0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A,
  0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694,
  0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724,
  0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E,
  0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A,
  0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744,
  0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E,
  0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758,
  0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762,
  0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C,
  0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77E, 0xA77F,
  0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C,
  0xA78D, 0xA790, 0xA791, 0xA792, 0xA793, 0xA794, 0xA796, 0xA797, 0xA798, 0xA799,
  0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3,
  0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AB, 0xA7AC, 0xA7AD,
  0xA7AE, 0xA7B0, 0xA7B1, 0xA7B2, 0xA7B3, 0xA7B4, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8,
  0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4,
  0xA7C5, 0xA7C6, 0xAB53, 0xAB70, 0xAB71, 0xAB72, 0xAB73, 0xAB74, 0xAB75, 0xAB76,
  0xAB77, 0xAB78, 0xAB79, 0xAB7A, 0xAB7B, 0xAB7C, 0xAB7D, 0xAB7E, 0xAB7F, 0xAB80,
  0xAB81, 0xAB82, 0xAB83, 0xAB84, 0xAB85, 0xAB86, 0xAB87, 0xAB88, 0xAB89, 0xAB8A,
  0xAB8B, 0xAB8C, 0xAB8D, 0xAB8E, 0xAB8F, 0xAB90, 0xAB91, 0xAB92, 0xAB93, 0xAB94,
  0xAB95, 0xAB96, 0xAB97, 0xAB98, 0xAB99, 0xAB9A, 0xAB9B, 0xAB9C, 0xAB9D, 0xAB9E,
  0xAB9F, 0xABA0, 0xABA1, 0xABA2, 0xABA3, 0xABA4, 0xABA5, 0xABA6, 0xABA7, 0xABA8,
  0xABA9, 0xABAA, 0xABAB, 0xABAC, 0xABAD, 0xABAE, 0xABAF, 0xABB0, 0xABB1, 0xABB2,
  0xABB3, 0xABB4, 0xABB5, 0xABB6, 0xABB7, 0xABB8, 0xABB9, 0xABBA, 0xABBB, 0xABBC,
  0xABBD, 0xABBE, 0xABBF, 0xFF21, 0xFF22, 0xFF23, 0xFF24, 0xFF25, 0xFF26, 0xFF27,
  0xFF28, 0xFF29, 0xFF2A, 0xFF2B, 0xFF2C, 0xFF2D, 0xFF2E, 0xFF2F, 0xFF30, 0xFF31,
  0xFF32, 0xFF33, 0xFF34, 0xFF35, 0xFF36, 0xFF37, 0xFF38, 0xFF39, 0xFF3A, 0xFF41,
  0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, 0xFF48, 0xFF49, 0xFF4A, 0xFF4B,
  0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55,
  0xFF56, 0xFF57, 0xFF58, 0xFF59, 0xFF5A, 0x10400, 0x10401, 0x10402, 0x10403, 0x10404,
  0x10405, 0x10406, 0x10407, 0x10408, 0x10409, 0x1040A, 0x1040B, 0x1040C, 0x1040D,
  0x1040E, 0x1040F, 0x10410, 0x10411, 0x10412, 0x10413, 0x10414, 0x10415, 0x10416,
  0x10417, 0x10418, 0x10419, 0x1041A, 0x1041B, 0x1041C, 0x1041D, 0x1041E, 0x1041F,
  0x10420, 0x10421, 0x10422, 0x10423, 0x10424, 0x10425, 0x10426, 0x10427, 0x10428,
  0x10429, 0x1042A, 0x1042B, 0x1042C, 0x1042D, 0x1042E, 0x1042F, 0x10430, 0x10431,
  0x10432, 0x10433, 0x10434, 0x10435, 0x10436, 0x10437, 0x10438, 0x10439, 0x1043A,
  0x1043B, 0x1043C, 0x1043D, 0x1043E, 0x1043F, 0x10440, 0x10441, 0x10442, 0x10443,
  0x10444, 0x10445, 0x10446, 0x10447, 0x10448, 0x10449, 0x1044A, 0x1044B, 0x1044C,
  0x1044D, 0x1044E, 0x1044F, 0x104B0, 0x104B1, 0x104B2, 0x104B3, 0x104B4, 0x104B5,
  0x104B6, 0x104B7, 0x104B8, 0x104B9, 0x104BA, 0x104BB, 0x104BC, 0x104BD, 0x104BE,
  0x104BF, 0x104C0, 0x104C1, 0x104C2, 0x104C3, 0x104C4, 0x104C5, 0x104C6, 0x104C7,
  0x104C8, 0x104C9, 0x104CA, 0x104CB, 0x104CC, 0x104CD, 0x104CE, 0x104CF, 0x104D0,
  0x104D1, 0x104D2, 0x104D3, 0x104D8, 0x104D9, 0x104DA, 0x104DB, 0x104DC, 0x104DD,
  0x104DE, 0x104DF, 0x104E0, 0x104E1, 0x104E2, 0x104E3, 0x104E4, 0x104E5, 0x104E6,
  0x104E7, 0x104E8, 0x104E9, 0x104EA, 0x104EB, 0x104EC, 0x104ED, 0x104EE, 0x104EF,
  0x104F0, 0x104F1, 0x104F2, 0x104F3, 0x104F4, 0x104F5, 0x104F6, 0x104F7, 0x104F8,
  0x104F9, 0x104FA, 0x104FB, 0x10C80, 0x10C81, 0x10C82, 0x10C83, 0x10C84, 0x10C85,
  0x10C86, 0x10C87, 0x10C88, 0x10C89, 0x10C8A, 0x10C8B, 0x10C8C, 0x10C8D, 0x10C8E,
  0x10C8F, 0x10C90, 0x10C91, 0x10C92, 0x10C93, 0x10C94, 0x10C95, 0x10C96, 0x10C97,
  0x10C98, 0x10C99, 0x10C9A, 0x10C9B, 0x10C9C, 0x10C9D, 0x10C9E, 0x10C9F, 0x10CA0,
  0x10CA1, 0x10CA2, 0x10CA3, 0x10CA4, 0x10CA5, 0x10CA6, 0x10CA7, 0x10CA8, 0x10CA9,
  0x10CAA, 0x10CAB, 0x10CAC, 0x10CAD, 0x10CAE, 0x10CAF, 0x10CB0, 0x10CB1, 0x10CB2,
  0x10CC0, 0x10CC1, 0x10CC2, 0x10CC3, 0x10CC4, 0x10CC5, 0x10CC6, 0x10CC7, 0x10CC8,
  0x10CC9, 0x10CCA, 0x10CCB, 0x10CCC, 0x10CCD, 0x10CCE, 0x10CCF, 0x10CD0, 0x10CD1,
  0x10CD2, 0x10CD3, 0x10CD4, 0x10CD5, 0x10CD6, 0x10CD7, 0x10CD8, 0x10CD9, 0x10CDA,
  0x10CDB, 0x10CDC, 0x10CDD, 0x10CDE, 0x10CDF, 0x10CE0, 0x10CE1, 0x10CE2, 0x10CE3,
  0x10CE4, 0x10CE5, 0x10CE6, 0x10CE7, 0x10CE8, 0x10CE9, 0x10CEA, 0x10CEB, 0x10CEC,
  0x10CED, 0x10CEE, 0x10CEF, 0x10CF0, 0x10CF1, 0x10CF2, 0x118A0, 0x118A1, 0x118A2,
  0x118A3, 0x118A4, 0x118A5, 0x118A6, 0x118A7, 0x118A8, 0x118A9, 0x118AA, 0x118AB,
  0x118AC, 0x118AD, 0x118AE, 0x118AF, 0x118B0, 0x118B1, 0x118B2, 0x118B3, 0x118B4,
  0x118B5, 0x118B6, 0x118B7, 0x118B8, 0x118B9, 0x118BA, 0x118BB, 0x118BC, 0x118BD,
  0x118BE, 0x118BF, 0x118C0, 0x118C1, 0x118C2, 0x118C3, 0x118C4, 0x118C5, 0x118C6,
  0x118C7, 0x118C8, 0x118C9, 0x118CA, 0x118CB, 0x118CC, 0x118CD, 0x118CE, 0x118CF,
  0x118D0, 0x118D1, 0x118D2, 0x118D3, 0x118D4, 0x118D5, 0x118D6, 0x118D7, 0x118D8,
  0x118D9, 0x118DA, 0x118DB, 0x118DC, 0x118DD, 0x118DE, 0x118DF, 0x16E40, 0x16E41,
  0x16E42, 0x16E43, 0x16E44, 0x16E45, 0x16E46, 0x16E47, 0x16E48, 0x16E49, 0x16E4A,
  0x16E4B, 0x16E4C, 0x16E4D, 0x16E4E, 0x16E4F, 0x16E50, 0x16E51, 0x16E52, 0x16E53,
  0x16E54, 0x16E55, 0x16E56, 0x16E57, 0x16E58, 0x16E59, 0x16E5A, 0x16E5B, 0x16E5C,
  0x16E5D, 0x16E5E, 0x16E5F, 0x16E60, 0x16E61, 0x16E62, 0x16E63, 0x16E64, 0x16E65,
  0x16E66, 0x16E67, 0x16E68, 0x16E69, 0x16E6A, 0x16E6B, 0x16E6C, 0x16E6D, 0x16E6E,
  0x16E6F, 0x16E70, 0x16E71, 0x16E72, 0x16E73, 0x16E74, 0x16E75, 0x16E76, 0x16E77,
  0x16E78, 0x16E79, 0x16E7A, 0x16E7B, 0x16E7C, 0x16E7D, 0x16E7E, 0x16E7F, 0x1E900,
  0x1E901, 0x1E902, 0x1E903, 0x1E904, 0x1E905, 0x1E906, 0x1E907, 0x1E908, 0x1E909,
  0x1E90A, 0x1E90B, 0x1E90C, 0x1E90D, 0x1E90E, 0x1E90F, 0x1E910, 0x1E911, 0x1E912,
  0x1E913, 0x1E914, 0x1E915, 0x1E916, 0x1E917, 0x1E918, 0x1E919, 0x1E91A, 0x1E91B,
  0x1E91C, 0x1E91D, 0x1E91E, 0x1E91F, 0x1E920, 0x1E921, 0x1E922, 0x1E923, 0x1E924,
  0x1E925, 0x1E926, 0x1E927, 0x1E928, 0x1E929, 0x1E92A, 0x1E92B, 0x1E92C, 0x1E92D,
  0x1E92E, 0x1E92F, 0x1E930, 0x1E931, 0x1E932, 0x1E933, 0x1E934, 0x1E935, 0x1E936,
  0x1E937, 0x1E938, 0x1E939, 0x1E93A, 0x1E93B, 0x1E93C, 0x1E93D, 0x1E93E, 0x1E93F,
  0x1E940, 0x1E941, 0x1E942, 0x1E943,
]

///|
/// `fold_next[i]` is the next member of `fold_keys[i]`'s equivalence class (cyclic).
let fold_next : FixedArray[Int] = [
  0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E,
  0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x41, 0x42,
  0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x212A, 0x4C, 0x4D, 0x4E, 0x4F,
  0x50, 0x51, 0x52, 0x17F, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x39C, 0xE0,
  0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE,
  0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD,
  0xFE, 0x1E9E, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0x212B, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA,
  0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD8, 0xD9,
  0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0x178, 0x101, 0x100, 0x103, 0x102, 0x105, 0x104,
  0x107, 0x106, 0x109, 0x108, 0x10B, 0x10A, 0x10D, 0x10C, 0x10F, 0x10E, 0x111, 0x110,
  0x113, 0x112, 0x115, 0x114, 0x117, 0x116, 0x119, 0x118, 0x11B, 0x11A, 0x11D, 0x11C,
  0x11F, 0x11E, 0x121, 0x120, 0x123, 0x122, 0x125, 0x124, 0x127, 0x126, 0x129, 0x128,
  0x12B, 0x12A, 0x12D, 0x12C, 0x12F, 0x12E, 0x133, 0x132, 0x135, 0x134, 0x137, 0x136,
  0x13A, 0x139, 0x13C, 0x13B, 0x13E, 0x13D, 0x140, 0x13F, 0x142, 0x141, 0x144, 0x143,
  0x146, 0x145, 0x148, 0x147, 0x14B, 0x14A, 0x14D, 0x14C, 0x14F, 0x14E, 0x151, 0x150,
  0x153, 0x152, 0x155, 0x154, 0x157, 0x156, 0x159, 0x158, 0x15B, 0x15A, 0x15D, 0x15C,
  0x15F, 0x15E, 0x161, 0x160, 0x163, 0x162, 0x165, 0x164, 0x167, 0x166, 0x169, 0x168,
  0x16B, 0x16A, 0x16D, 0x16C, 0x16F, 0x16E, 0x171, 0x170, 0x173, 0x172, 0x175, 0x174,
  0x177, 0x176, 0xFF, 0x17A, 0x179, 0x17C, 0x17B, 0x17E, 0x17D, 0x53, 0x243, 0x253,
  0x183, 0x182, 0x185, 0x184, 0x254, 0x188, 0x187, 0x256, 0x257, 0x18C, 0x18B, 0x1DD,
  0x259, 0x25B, 0x192, 0x191, 0x260, 0x263, 0x1F6, 0x269, 0x268, 0x199, 0x198, 0x23D,
  0x26F, 0x272, 0x220, 0x275, 0x1A1, 0x1A0, 0x1A3, 0x1A2, 0x1A5, 0x1A4, 0x280, 0x1A8,
  0x1A7, 0x283, 0x1AD, 0x1AC, 0x288, 0x1B0, 0x1AF, 0x28A, 0x28B, 0x1B4, 0x1B3, 0x1B6,
  0x1B5, 0x292, 0x1B9, 0x1B8, 0x1BD, 0x1BC, 0x1F7, 0x1C5, 0x1C6, 0x1C4, 0x1C8, 0x1C9,
  0x1C7, 0x1CB, 0x1CC, 0x1CA, 0x1CE, 0x1CD, 0x1D0, 0x1CF, 0x1D2, 0x1D1, 0x1D4, 0x1D3,
  0x1D6, 0x1D5, 0x1D8, 0x1D7, 0x1DA, 0x1D9, 0x1DC, 0x1DB, 0x18E, 0x1DF, 0x1DE, 0x1E1,
  0x1E0, 0x1E3, 0x1E2, 0x1E5, 0x1E4, 0x1E7, 0x1E6, 0x1E9, 0x1E8, 0x1EB, 0x1EA, 0x1ED,
  0x1EC, 0x1EF, 0x1EE, 0x1F2, 0x1F3, 0x1F1, 0x1F5, 0x1F4, 0x195, 0x1BF, 0x1F9, 0x1F8,
  0x1FB, 0x1FA, 0x1FD, 0x1FC, 0x1FF, 0x1FE, 0x201, 0x200, 0x203, 0x202, 0x205, 0x204,
  0x207, 0x206, 0x209, 0x208, 0x20B, 0x20A, 0x20D, 0x20C, 0x20F, 0x20E, 0x211, 0x210,
  0x213, 0x212, 0x215, 0x214, 0x217, 0x216, 0x219, 0x218, 0x21B, 0x21A, 0x21D, 0x21C,
  0x21F, 0x21E, 0x19E, 0x223, 0x222, 0x225, 0x224, 0x227, 0x226, 0x229, 0x228, 0x22B,
  0x22A, 0x22D, 0x22C, 0x22F, 0x22E, 0x231, 0x230, 0x233, 0x232, 0x23C, 0x23B, 0x19A,
  0x2C7E, 0x2C7F, 0x242, 0x241, 0x180, 0x289, 0x28C, 0x247, 0x246, 0x249, 0x248,
  0x24B, 0x24A, 0x24D, 0x24C, 0x24F, 0x24E, 0x2C6F, 0x2C6D, 0x2C70, 0x181, 0x186,
  0x189, 0x18A, 0x18F, 0x190, 0xA7AB, 0x193, 0xA7AC, 0x194, 0xA78D, 0xA7AA, 0x197,
  0x196, 0xA7AE, 0x2C62, 0xA7AD, 0x19C, 0x2C6E, 0x19D, 0x19F, 0x2C64, 0x1A6, 0xA7C5,
  0x1A9, 0xA7B1, 0x1AE, 0x244, 0x1B1, 0x1B2, 0x245, 0x1B7, 0xA7B2, 0xA7B0, 0x399,
  0x371, 0x370, 0x373, 0x372, 0x377, 0x376, 0x3FD, 0x3FE, 0x3FF, 0x3F3, 0x3AC, 0x3AD,
  0x3AE, 0x3AF, 0x3CC, 0x3CD, 0x3CE, 0x3B1, 0x3B2, 0x3B3, 0x3B4, 0x3B5, 0x3B6, 0x3B7,
  0x3B8, 0x3B9, 0x3BA, 0x3BB, 0x3BC, 0x3BD, 0x3BE, 0x3BF, 0x3C0, 0x3C1, 0x3C2, 0x3C4,
  0x3C5, 0x3C6, 0x3C7, 0x3C8, 0x3C9, 0x3CA, 0x3CB, 0x386, 0x388, 0x389, 0x38A, 0x391,
  0x3D0, 0x393, 0x394, 0x3F5, 0x396, 0x397, 0x3D1, 0x1FBE, 0x3F0, 0x39B, 0xB5, 0x39D,
  0x39E, 0x39F, 0x3D6, 0x3F1, 0x3C3, 0x3A3, 0x3A4, 0x3A5, 0x3D5, 0x3A7, 0x3A8, 0x2126,
  0x3AA, 0x3AB, 0x38C, 0x38E, 0x38F, 0x3D7, 0x392, 0x3F4, 0x3A6, 0x3A0, 0x3CF, 0x3D9,
  0x3D8, 0x3DB, 0x3DA, 0x3DD, 0x3DC, 0x3DF, 0x3DE, 0x3E1, 0x3E0, 0x3E3, 0x3E2, 0x3E5,
  0x3E4, 0x3E7, 0x3E6, 0x3E9, 0x3E8, 0x3EB, 0x3EA, 0x3ED, 0x3EC, 0x3EF, 0x3EE, 0x39A,
  0x3A1, 0x3F9, 0x37F, 0x398, 0x395, 0x3F8, 0x3F7, 0x3F2, 0x3FB, 0x3FA, 0x37B, 0x37C,
  0x37D, 0x450, 0x451, 0x452, 0x453, 0x454, 0x455, 0x456, 0x457, 0x458, 0x459, 0x45A,
  0x45B, 0x45C, 0x45D, 0x45E, 0x45F, 0x430, 0x431, 0x432, 0x433, 0x434, 0x435, 0x436,
  0x437, 0x438, 0x439, 0x43A, 0x43B, 0x43C, 0x43D, 0x43E, 0x43F, 0x440, 0x441, 0x442,
  0x443, 0x444, 0x445, 0x446, 0x447, 0x448, 0x449, 0x44A, 0x44B, 0x44C, 0x44D, 0x44E,
  0x44F, 0x410, 0x411, 0x1C80, 0x413, 0x1C81, 0x415, 0x416, 0x417, 0x418, 0x419,
  0x41A, 0x41B, 0x41C, 0x41D, 0x1C82, 0x41F, 0x420, 0x1C83, 0x1C84, 0x423, 0x424,
  0x425, 0x426, 0x427, 0x428, 0x429, 0x1C86, 0x42B, 0x42C, 0x42D, 0x42E, 0x42F, 0x400,
  0x401, 0x402, 0x403, 0x404, 0x405, 0x406, 0x407, 0x408, 0x409, 0x40A, 0x40B, 0x40C,
  0x40D, 0x40E, 0x40F, 0x461, 0x460, 0x463, 0x1C87, 0x465, 0x464, 0x467, 0x466, 0x469,
  0x468, 0x46B, 0x46A, 0x46D, 0x46C, 0x46F, 0x46E, 0x471, 0x470, 0x473, 0x472, 0x475,
  0x474, 0x477, 0x476, 0x479, 0x478, 0x47B, 0x47A, 0x47D, 0x47C, 0x47F, 0x47E, 0x481,
  0x480, 0x48B, 0x48A, 0x48D, 0x48C, 0x48F, 0x48E, 0x491, 0x490, 0x493, 0x492, 0x495,
  0x494, 0x497, 0x496, 0x499, 0x498, 0x49B, 0x49A, 0x49D, 0x49C, 0x49F, 0x49E, 0x4A1,
  0x4A0, 0x4A3, 0x4A2, 0x4A5, 0x4A4, 0x4A7, 0x4A6, 0x4A9, 0x4A8, 0x4AB, 0x4AA, 0x4AD,
  0x4AC, 0x4AF, 0x4AE, 0x4B1, 0x4B0, 0x4B3, 0x4B2, 0x4B5, 0x4B4, 0x4B7, 0x4B6, 0x4B9,
  0x4B8, 0x4BB, 0x4BA, 0x4BD, 0x4BC, 0x4BF, 0x4BE, 0x4CF, 0x4C2, 0x4C1, 0x4C4, 0x4C3,
  0x4C6, 0x4C5, 0x4C8, 0x4C7, 0x4CA, 0x4C9, 0x4CC, 0x4CB, 0x4CE, 0x4CD, 0x4C0, 0x4D1,
  0x4D0, 0x4D3, 0x4D2, 0x4D5, 0x4D4, 0x4D7, 0x4D6, 0x4D9, 0x4D8, 0x4DB, 0x4DA, 0x4DD,
  0x4DC, 0x4DF, 0x4DE, 0x4E1, 0x4E0, 0x4E3, 0x4E2, 0x4E5, 0x4E4, 0x4E7, 0x4E6, 0x4E9,
  0x4E8, 0x4EB, 0x4EA, 0x4ED, 0x4EC, 0x4EF, 0x4EE, 0x4F1, 0x4F0, 0x4F3, 0x4F2, 0x4F5,
  0x4F4, 0x4F7, 0x4F6, 0x4F9, 0x4F8, 0x4FB, 0x4FA, 0x4FD, 0x4FC, 0x4FF, 0x4FE, 0x501,
  0x500, 0x503, 0x502, 0x505, 0x504, 0x507, 0x506, 0x509, 0x508, 0x50B, 0x50A, 0x50D,
  0x50C, 0x50F, 0x50E, 0x511, 0x510, 0x513, 0x512, 0x515, 0x514, 0x517, 0x516, 0x519,
  0x518, 0x51B, 0x51A, 0x51D, 0x51C, 0x51F, 0x51E, 0x521, 0x520, 0x523, 0x522, 0x525,
  0x524, 0x527, 0x526, 0x529, 0x528, 0x52B, 0x52A, 0x52D, 0x52C, 0x52F, 0x52E, 0x561,
  0x562, 0x563, 0x564, 0x565, 0x566, 0x567, 0x568, 0x569, 0x56A, 0x56B, 0x56C, 0x56D,
  0x56E, 0x56F, 0x570, 0x571, 0x572, 0x573, 0x574, 0x575, 0x576, 0x577, 0x578, 0x579,
  0x57A, 0x57B, 0x57C, 0x57D, 0x57E, 0x57F, 0x580, 0x581, 0x582, 0x583, 0x584, 0x585,
  0x586, 0x531, 0x532, 0x533, 0x534, 0x535, 0x536, 0x537, 0x538, 0x539, 0x53A, 0x53B,
  0x53C, 0x53D, 0x53E, 0x53F, 0x540, 0x541, 0x542, 0x543, 0x544, 0x545, 0x546, 0x547,
  0x548, 0x549, 0x54A, 0x54B, 0x54C, 0x54D, 0x54E, 0x54F, 0x550, 0x551, 0x552, 0x553,
  0x554, 0x555, 0x556, 0x2D00, 0x2D01, 0x2D02, 0x2D03, 0x2D04, 0x2D05, 0x2D06, 0x2D07,
  0x2D08, 0x2D09, 0x2D0A, 0x2D0B, 0x2D0C, 0x2D0D, 0x2D0E, 0x2D0F, 0x2D10, 0x2D11,
  0x2D12, 0x2D13, 0x2D14, 0x2D15, 0x2D16, 0x2D17, 0x2D18, 0x2D19, 0x2D1A, 0x2D1B,
  0x2D1C, 0x2D1D, 0x2D1E, 0x2D1F, 0x2D20, 0x2D21, 0x2D22, 0x2D23, 0x2D24, 0x2D25,
  0x2D27, 0x2D2D, 0x1C90, 0x1C91, 0x1C92, 0x1C93, 0x1C94, 0x1C95, 0x1C96, 0x1C97,
  0x1C98, 0x1C99, 0x1C9A, 0x1C9B, 0x1C9C, 0x1C9D, 0x1C9E, 0x1C9F, 0x1CA0, 0x1CA1,
  0x1CA2, 0x1CA3, 0x1CA4, 0x1CA5, 0x1CA6, 0x1CA7, 0x1CA8, 0x1CA9, 0x1CAA, 0x1CAB,
  0x1CAC, 0x1CAD, 0x1CAE, 0x1CAF, 0x1CB0, 0x1CB1, 0x1CB2, 0x1CB3, 0x1CB4, 0x1CB5,
  0x1CB6, 0x1CB7, 0x1CB8, 0x1CB9, 0x1CBA, 0x1CBD, 0x1CBE, 0x1CBF, 0xAB70, 0xAB71,
  0xAB72, 0xAB73, 0xAB74, 0xAB75, 0xAB76, 0xAB77, 0xAB78, 0xAB79, 0xAB7A, 0xAB7B,
  0xAB7C, 0xAB7D, 0xAB7E, 0xAB7F, 0xAB80, 0xAB81, 0xAB82, 0xAB83, 0xAB84, 0xAB85,
  0xAB86, 0xAB87, 0xAB88, 0xAB89, 0xAB8A, 0xAB8B, 0xAB8C, 0xAB8D, 0xAB8E, 0xAB8F,
  0xAB90, 0xAB91, 0xAB92, 0xAB93, 0xAB94, 0xAB95, 0xAB96, 0xAB97, 0xAB98, 0xAB99,
  0xAB9A, 0xAB9B, 0xAB9C, 0xAB9D, 0xAB9E, 0xAB9F, 0xABA0, 0xABA1, 0xABA2, 0xABA3,
  0xABA4, 0xABA5, 0xABA6, 0xABA7, 0xABA8, 0xABA9, 0xABAA, 0xABAB, 0xABAC, 0xABAD,
  0xABAE, 0xABAF, 0xABB0, 0xABB1, 0xABB2, 0xABB3, 0xABB4, 0xABB5, 0xABB6, 0xABB7,
  0xABB8, 0xABB9, 0xABBA, 0xABBB, 0xABBC, 0xABBD, 0xABBE, 0xABBF, 0x13F8, 0x13F9,
  0x13FA, 0x13FB, 0x13FC, 0x13FD, 0x13F0, 0x13F1, 0x13F2, 0x13F3, 0x13F4, 0x13F5,
  0x412, 0x414, 0x41E, 0x421, 0x1C85, 0x422, 0x42A, 0x462, 0xA64A, 0x10D0, 0x10D1,
  0x10D2, 0x10D3, 0x10D4, 0x10D5, 0x10D6, 0x10D7, 0x10D8, 0x10D9, 0x10DA, 0x10DB,
  0x10DC, 0x10DD, 0x10DE, 0x10DF, 0x10E0, 0x10E1, 0x10E2, 0x10E3, 0x10E4, 0x10E5,
  0x10E6, 0x10E7, 0x10E8, 0x10E9, 0x10EA, 0x10EB, 0x10EC, 0x10ED, 0x10EE, 0x10EF,
  0x10F0, 0x10F1, 0x10F2, 0x10F3, 0x10F4, 0x10F5, 0x10F6, 0x10F7, 0x10F8, 0x10F9,
  0x10FA, 0x10FD, 0x10FE, 0x10FF, 0xA77D, 0x2C63, 0xA7C6, 0x1E01, 0x1E00, 0x1E03,
  0x1E02, 0x1E05, 0x1E04, 0x1E07, 0x1E06, 0x1E09, 0x1E08, 0x1E0B, 0x1E0A, 0x1E0D,
  0x1E0C, 0x1E0F, 0x1E0E, 0x1E11, 0x1E10, 0x1E13, 0x1E12, 0x1E15, 0x1E14, 0x1E17,
  0x1E16, 0x1E19, 0x1E18, 0x1E1B, 0x1E1A, 0x1E1D, 0x1E1C, 0x1E1F, 0x1E1E, 0x1E21,
  0x1E20, 0x1E23, 0x1E22, 0x1E25, 0x1E24, 0x1E27, 0x1E26, 0x1E29, 0x1E28, 0x1E2B,
  0x1E2A, 0x1E2D, 0x1E2C, 0x1E2F, 0x1E2E, 0x1E31, 0x1E30, 0x1E33, 0x1E32, 0x1E35,
  0x1E34, 0x1E37, 0x1E36, 0x1E39, 0x1E38, 0x1E3B, 0x1E3A, 0x1E3D, 0x1E3C, 0x1E3F,
  0x1E3E, 0x1E41, 0x1E40, 0x1E43, 0x1E42, 0x1E45, 0x1E44, 0x1E47, 0x1E46, 0x1E49,
  0x1E48, 0x1E4B, 0x1E4A, 0x1E4D, 0x1E4C, 0x1E4F, 0x1E4E, 0x1E51, 0x1E50, 0x1E53,
  0x1E52, 0x1E55, 0x1E54, 0x1E57, 0x1E56, 0x1E59, 0x1E58, 0x1E5B, 0x1E5A, 0x1E5D,
  0x1E5C, 0x1E5F, 0x1E5E, 0x1E61, 0x1E9B, 0x1E63, 0x1E62, 0x1E65, 0x1E64, 0x1E67,
  0x1E66, 0x1E69, 0x1E68, 0x1E6B, 0x1E6A, 0x1E6D, 0x1E6C, 0x1E6F, 0x1E6E, 0x1E71,
  0x1E70, 0x1E73, 0x1E72, 0x1E75, 0x1E74, 0x1E77, 0x1E76, 0x1E79, 0x1E78, 0x1E7B,
  0x1E7A, 0x1E7D, 0x1E7C, 0x1E7F, 0x1E7E, 0x1E81, 0x1E80, 0x1E83, 0x1E82, 0x1E85,
  0x1E84, 0x1E87, 0x1E86, 0x1E89, 0x1E88, 0x1E8B, 0x1E8A, 0x1E8D, 0x1E8C, 0x1E8F,
  0x1E8E, 0x1E91, 0x1E90, 0x1E93, 0x1E92, 0x1E95, 0x1E94, 0x1E60, 0xDF, 0x1EA1, 0x1EA0,
  0x1EA3, 0x1EA2, 0x1EA5, 0x1EA4, 0x1EA7, 0x1EA6, 0x1EA9, 0x1EA8, 0x1EAB, 0x1EAA,
  0x1EAD, 0x1EAC, 0x1EAF, 0x1EAE, 0x1EB1, 0x1EB0, 0x1EB3, 0x1EB2, 0x1EB5, 0x1EB4,
  0x1EB7, 0x1EB6, 0x1EB9, 0x1EB8, 0x1EBB, 0x1EBA, 0x1EBD, 0x1EBC, 0x1EBF, 0x1EBE,
  0x1EC1, 0x1EC0, 0x1EC3, 0x1EC2, 0x1EC5, 0x1EC4, 0x1EC7, 0x1EC6, 0x1EC9, 0x1EC8,
  0x1ECB, 0x1ECA, 0x1ECD, 0x1ECC, 0x1ECF, 0x1ECE, 0x1ED1, 0x1ED0, 0x1ED3, 0x1ED2,
  0x1ED5, 0x1ED4, 0x1ED7, 0x1ED6, 0x1ED9, 0x1ED8, 0x1EDB, 0x1EDA, 0x1EDD, 0x1EDC,
  0x1EDF, 0x1EDE, 0x1EE1, 0x1EE0, 0x1EE3, 0x1EE2, 0x1EE5, 0x1EE4, 0x1EE7, 0x1EE6,
  0x1EE9, 0x1EE8, 0x1EEB, 0x1EEA, 0x1EED, 0x1EEC, 0x1EEF, 0x1EEE, 0x1EF1, 0x1EF0,
  0x1EF3, 0x1EF2, 0x1EF5, 0x1EF4, 0x1EF7, 0x1EF6, 0x1EF9, 0x1EF8, 0x1EFB, 0x1EFA,
  0x1EFD, 0x1EFC, 0x1EFF, 0x1EFE, 0x1F08, 0x1F09, 0x1F0A, 0x1F0B, 0x1F0C, 0x1F0D,
  0x1F0E, 0x1F0F, 0x1F00, 0x1F01, 0x1F02, 0x1F03, 0x1F04, 0x1F05, 0x1F06, 0x1F07,
  0x1F18, 0x1F19, 0x1F1A, 0x1F1B, 0x1F1C, 0x1F1D, 0x1F10, 0x1F11, 0x1F12, 0x1F13,
  0x1F14, 0x1F15, 0x1F28, 0x1F29, 0x1F2A, 0x1F2B, 0x1F2C, 0x1F2D, 0x1F2E, 0x1F2F,
  0x1F20, 0x1F21, 0x1F22, 0x1F23, 0x1F24, 0x1F25, 0x1F26, 0x1F27, 0x1F38, 0x1F39,
  0x1F3A, 0x1F3B, 0x1F3C, 0x1F3D, 0x1F3E, 0x1F3F, 0x1F30, 0x1F31, 0x1F32, 0x1F33,
  0x1F34, 0x1F35, 0x1F36, 0x1F37, 0x1F48, 0x1F49, 0x1F4A, 0x1F4B, 0x1F4C, 0x1F4D,
  0x1F40, 0x1F41, 0x1F42, 0x1F43, 0x1F44, 0x1F45, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F,
  0x1F51, 0x1F53, 0x1F55, 0x1F57, 0x1F68, 0x1F69, 0x1F6A, 0x1F6B, 0x1F6C, 0x1F6D,
  0x1F6E, 0x1F6F, 0x1F60, 0x1F61, 0x1F62, 0x1F63, 0x1F64, 0x1F65, 0x1F66, 0x1F67,
  0x1FBA, 0x1FBB, 0x1FC8, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FDA, 0x1FDB, 0x1FF8, 0x1FF9,
  0x1FEA, 0x1FEB, 0x1FFA, 0x1FFB, 0x1F88, 0x1F89, 0x1F8A, 0x1F8B, 0x1F8C, 0x1F8D,
  0x1F8E, 0x1F8F, 0x1F80, 0x1F81, 0x1F82, 0x1F83, 0x1F84, 0x1F85, 0x1F86, 0x1F87,
  0x1F98, 0x1F99, 0x1F9A, 0x1F9B, 0x1F9C, 0x1F9D, 0x1F9E, 0x1F9F, 0x1F90, 0x1F91,
  0x1F92, 0x1F93, 0x1F94, 0x1F95, 0x1F96, 0x1F97, 0x1FA8, 0x1FA9, 0x1FAA, 0x1FAB,
  0x1FAC, 0x1FAD, 0x1FAE, 0x1FAF, 0x1FA0, 0x1FA1, 0x1FA2, 0x1FA3, 0x1FA4, 0x1FA5,
  0x1FA6, 0x1FA7, 0x1FB8, 0x1FB9, 0x1FBC, 0x1FB0, 0x1FB1, 0x1F70, 0x1F71, 0x1FB3,
  0x345, 0x1FCC, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1FC3, 0x1FD8, 0x1FD9, 0x1FD0,
  0x1FD1, 0x1F76, 0x1F77, 0x1FE8, 0x1FE9, 0x1FEC, 0x1FE0, 0x1FE1, 0x1F7A, 0x1F7B,
  0x1FE5, 0x1FFC, 0x1F78, 0x1F79, 0x1F7C, 0x1F7D, 0x1FF3, 0x3A9, 0x4B, 0xC5, 0x214E,
  0x2132, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178,
  0x2179, 0x217A, 0x217B, 0x217C, 0x217D, 0x217E, 0x217F, 0x2160, 0x2161, 0x2162,
  0x2163, 0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0x216A, 0x216B, 0x216C,
  0x216D, 0x216E, 0x216F, 0x2184, 0x2183, 0x24D0, 0x24D1, 0x24D2, 0x24D3, 0x24D4,
  0x24D5, 0x24D6, 0x24D7, 0x24D8, 0x24D9, 0x24DA, 0x24DB, 0x24DC, 0x24DD, 0x24DE,
  0x24DF, 0x24E0, 0x24E1, 0x24E2, 0x24E3, 0x24E4, 0x24E5, 0x24E6, 0x24E7, 0x24E8,
  0x24E9, 0x24B6, 0x24B7, 0x24B8, 0x24B9, 0x24BA, 0x24BB, 0x24BC, 0x24BD, 0x24BE,
  0x24BF, 0x24C0, 0x24C1, 0x24C2, 0x24C3, 0x24C4, 0x24C5, 0x24C6, 0x24C7, 0x24C8,
  0x24C9, 0x24CA, 0x24CB, 0x24CC, 0x24CD, 0x24CE, 0x24CF, 0x2C30, 0x2C31, 0x2C32,
  0x2C33, 0x2C34, 0x2C35, 0x2C36, 0x2C37, 0x2C38, 0x2C39, 0x2C3A, 0x2C3B, 0x2C3C,
  0x2C3D, 0x2C3E, 0x2C3F, 0x2C40, 0x2C41, 0x2C42, 0x2C43, 0x2C44, 0x2C45, 0x2C46,
  0x2C47, 0x2C48, 0x2C49, 0x2C4A, 0x2C4B, 0x2C4C, 0x2C4D, 0x2C4E, 0x2C4F, 0x2C50,
  0x2C51, 0x2C52, 0x2C53, 0x2C54, 0x2C55, 0x2C56, 0x2C57, 0x2C58, 0x2C59, 0x2C5A,
  0x2C5B, 0x2C5C, 0x2C5D, 0x2C5E, 0x2C00, 0x2C01, 0x2C02, 0x2C03, 0x2C04, 0x2C05,
  0x2C06, 0x2C07, 0x2C08, 0x2C09, 0x2C0A, 0x2C0B, 0x2C0C, 0x2C0D, 0x2C0E, 0x2C0F,
  0x2C10, 0x2C11, 0x2C12, 0x2C13, 0x2C14, 0x2C15, 0x2C16, 0x2C17, 0x2C18, 0x2C19,
  0x2C1A, 0x2C1B, 0x2C1C, 0x2C1D, 0x2C1E, 0x2C1F, 0x2C20, 0x2C21, 0x2C22, 0x2C23,
  0x2C24, 0x2C25, 0x2C26, 0x2C27, 0x2C28, 0x2C29, 0x2C2A, 0x2C2B, 0x2C2C, 0x2C2D,
  0x2C2E, 0x2C61, 0x2C60, 0x26B, 0x1D7D, 0x27D, 0x2C68, 0x2C67, 0x2C6A, 0x2C69, 0x2C6C,
  0x2C6B, 0x251, 0x271, 0x250, 0x252, 0x2C73, 0x2C72, 0x2C76, 0x2C75, 0x23F, 0x240,
  0x2C81, 0x2C80, 0x2C83, 0x2C82, 0x2C85, 0x2C84, 0x2C87, 0x2C86, 0x2C89, 0x2C88,
  0x2C8B, 0x2C8A, 0x2C8D, 0x2C8C, 0x2C8F, 0x2C8E, 0x2C91, 0x2C90, 0x2C93, 0x2C92,
  0x2C95, 0x2C94, 0x2C97, 0x2C96, 0x2C99, 0x2C98, 0x2C9B, 0x2C9A, 0x2C9D, 0x2C9C,
  0x2C9F, 0x2C9E, 0x2CA1, 0x2CA0, 0x2CA3, 0x2CA2, 0x2CA5, 0x2CA4, 0x2CA7, 0x2CA6,
  0x2CA9, 0x2CA8, 0x2CAB, 0x2CAA, 0x2CAD, 0x2CAC, 0x2CAF, 0x2CAE, 0x2CB1, 0x2CB0,
  0x2CB3, 0x2CB2, 0x2CB5, 0x2CB4, 0x2CB7, 0x2CB6, 0x2CB9, 0x2CB8, 0x2CBB, 0x2CBA,
  0x2CBD, 0x2CBC, 0x2CBF, 0x2CBE, 0x2CC1, 0x2CC0, 0x2CC3, 0x2CC2, 0x2CC5, 0x2CC4,
  0x2CC7, 0x2CC6, 0x2CC9, 0x2CC8, 0x2CCB, 0x2CCA, 0x2CCD, 0x2CCC, 0x2CCF, 0x2CCE,
  0x2CD1, 0x2CD0, 0x2CD3, 0x2CD2, 0x2CD5, 0x2CD4, 0x2CD7, 0x2CD6, 0x2CD9, 0x2CD8,
  0x2CDB, 0x2CDA, 0x2CDD, 0x2CDC, 0x2CDF, 0x2CDE, 0x2CE1, 0x2CE0, 0x2CE3, 0x2CE2,
  0x2CEC, 0x2CEB, 0x2CEE, 0x2CED, 0x2CF3, 0x2CF2, 0x10A0, 0x10A1, 0x10A2, 0x10A3,
  0x10A4, 0x10A5, 0x10A6, 0x10A7, 0x10A8, 0x10A9, 0x10AA, 0x10AB, 0x10AC, 0x10AD,
  0x10AE, 0x10AF, 0x10B0, 0x10B1, 0x10B2, 0x10B3, 0x10B4, 0x10B5, 0x10B6, 0x10B7,
  0x10B8, 0x10B9, 0x10BA, 0x10BB, 0x10BC, 0x10BD, 0x10BE, 0x10BF, 0x10C0, 0x10C1,
  0x10C2, 0x10C3, 0x10C4, 0x10C5, 0x10C7, 0x10CD, 0xA641, 0xA640, 0xA643, 0xA642,
  0xA645, 0xA644, 0xA647, 0xA646, 0xA649, 0xA648, 0xA64B, 0x1C88, 0xA64D, 0xA64C,
  0xA64F, 0xA64E, 0xA651, 0xA650, 0xA653, 0xA652, 0xA655, 0xA654, 0xA657, 0xA656,
  0xA659, 0xA658, 0xA65B, 0xA65A, 0xA65D, 0xA65C, 0xA65F, 0xA65E, 0xA661, 0xA660,
  0xA663, 0xA662, 0xA665, 0xA664, 0xA667, 0xA666, 0xA669, 0xA668, 0xA66B, 0xA66A,
  0xA66D, 0xA66C, 0xA681, 0xA680, 0xA683, 0xA682, 0xA685, 0xA684, 0xA687, 0xA686,
  0xA689, 0xA688, 0xA68B, 0xA68A, 0xA68D, 0xA68C, 0xA68F, 0xA68E, 0xA691, 0xA690,
  0xA693, 0xA692, 0xA695, 0xA694, 0xA697, 0xA696, 0xA699, 0xA698, 0xA69B, 0xA69A,
  0xA723, 0xA722, 0xA725, 0xA724, 0xA727, 0xA726, 0xA729, 0xA728, 0xA72B, 0xA72A,
  0xA72D, 0xA72C, 0xA72F, 0xA72E, 0xA733, 0xA732, 0xA735, 0xA734, 0xA737, 0xA736,
  0xA739, 0xA738, 0xA73B, 0xA73A, 0xA73D, 0xA73C, 0xA73F, 0xA73E, 0xA741, 0xA740,
  0xA743, 0xA742, 0xA745, 0xA744, 0xA747, 0xA746, 0xA749, 0xA748, 0xA74B, 0xA74A,
  0xA74D, 0xA74C, 0xA74F, 0xA74E, 0xA751, 0xA750, 0xA753, 0xA752, 0xA755, 0xA754,
  0xA757, 0xA756, 0xA759, 0xA758, 0xA75B, 0xA75A, 0xA75D, 0xA75C, 0xA75F, 0xA75E,
  0xA761, 0xA760, 0xA763, 0xA762, 0xA765, 0xA764, 0xA767, 0xA766, 0xA769, 0xA768,
  0xA76B, 0xA76A, 0xA76D, 0xA76C, 0xA76F, 0xA76E, 0xA77A, 0xA779, 0xA77C, 0xA77B,
  0x1D79, 0xA77F, 0xA77E, 0xA781, 0xA780, 0xA783, 0xA782, 0xA785, 0xA784, 0xA787,
  0xA786, 0xA78C, 0xA78B, 0x265, 0xA791, 0xA790, 0xA793, 0xA792, 0xA7C4, 0xA797,
  0xA796, 0xA799, 0xA798, 0xA79B, 0xA79A, 0xA79D, 0xA79C, 0xA79F, 0xA79E, 0xA7A1,
  0xA7A0, 0xA7A3, 0xA7A2, 0xA7A5, 0xA7A4, 0xA7A7, 0xA7A6, 0xA7A9, 0xA7A8, 0x266,
  0x25C, 0x261, 0x26C, 0x26A, 0x29E, 0x287, 0x29D, 0xAB53, 0xA7B5, 0xA7B4, 0xA7B7,
  0xA7B6, 0xA7B9, 0xA7B8, 0xA7BB, 0xA7BA, 0xA7BD, 0xA7BC, 0xA7BF, 0xA7BE, 0xA7C3,
  0xA7C2, 0xA794, 0x282, 0x1D8E, 0xA7B3, 0x13A0, 0x13A1, 0x13A2, 0x13A3, 0x13A4,
  0x13A5, 0x13A6, 0x13A7, 0x13A8, 0x13A9, 0x13AA, 0x13AB, 0x13AC, 0x13AD, 0x13AE,
  0x13AF, 0x13B0, 0x13B1, 0x13B2, 0x13B3, 0x13B4, 0x13B5, 0x13B6, 0x13B7, 0x13B8,
  0x13B9, 0x13BA, 0x13BB, 0x13BC, 0x13BD, 0x13BE, 0x13BF, 0x13C0, 0x13C1, 0x13C2,
  0x13C3, 0x13C4, 0x13C5, 0x13C6, 0x13C7, 0x13C8, 0x13C9, 0x13CA, 0x13CB, 0x13CC,
  0x13CD, 0x13CE, 0x13CF, 0x13D0, 0x13D1, 0x13D2, 0x13D3, 0x13D4, 0x13D5, 0x13D6,
  0x13D7, 0x13D8, 0x13D9, 0x13DA, 0x13DB, 0x13DC, 0x13DD, 0x13DE, 0x13DF, 0x13E0,
  0x13E1, 0x13E2, 0x13E3, 0x13E4, 0x13E5, 0x13E6, 0x13E7, 0x13E8, 0x13E9, 0x13EA,
  0x13EB, 0x13EC, 0x13ED, 0x13EE, 0x13EF, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45,
  0xFF46, 0xFF47, 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F,
  0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57, 0xFF58, 0xFF59,
  0xFF5A, 0xFF21, 0xFF22, 0xFF23, 0xFF24, 0xFF25, 0xFF26, 0xFF27, 0xFF28, 0xFF29,
  0xFF2A, 0xFF2B, 0xFF2C, 0xFF2D, 0xFF2E, 0xFF2F, 0xFF30, 0xFF31, 0xFF32, 0xFF33,
  0xFF34, 0xFF35, 0xFF36, 0xFF37, 0xFF38, 0xFF39, 0xFF3A, 0x10428, 0x10429, 0x1042A,
  0x1042B, 0x1042C, 0x1042D, 0x1042E, 0x1042F, 0x10430, 0x10431, 0x10432, 0x10433,
  0x10434, 0x10435, 0x10436, 0x10437, 0x10438, 0x10439, 0x1043A, 0x1043B, 0x1043C,
  0x1043D, 0x1043E, 0x1043F, 0x10440, 0x10441, 0x10442, 0x10443, 0x10444, 0x10445,
  0x10446, 0x10447, 0x10448, 0x10449, 0x1044A, 0x1044B, 0x1044C, 0x1044D, 0x1044E,
  0x1044F, 0x10400, 0x10401, 0x10402, 0x10403, 0x10404, 0x10405, 0x10406, 0x10407,
  0x10408, 0x10409, 0x1040A, 0x1040B, 0x1040C, 0x1040D, 0x1040E, 0x1040F, 0x10410,
  0x10411, 0x10412, 0x10413, 0x10414, 0x10415, 0x10416, 0x10417, 0x10418, 0x10419,
  0x1041A, 0x1041B, 0x1041C, 0x1041D, 0x1041E, 0x1041F, 0x10420, 0x10421, 0x10422,
  0x10423, 0x10424, 0x10425, 0x10426, 0x10427, 0x104D8, 0x104D9, 0x104DA, 0x104DB,
  0x104DC, 0x104DD, 0x104DE, 0x104DF, 0x104E0, 0x104E1, 0x104E2, 0x104E3, 0x104E4,
  0x104E5, 0x104E6, 0x104E7, 0x104E8, 0x104E9, 0x104EA, 0x104EB, 0x104EC, 0x104ED,
  0x104EE, 0x104EF, 0x104F0, 0x104F1, 0x104F2, 0x104F3, 0x104F4, 0x104F5, 0x104F6,
  0x104F7, 0x104F8, 0x104F9, 0x104FA, 0x104FB, 0x104B0, 0x104B1, 0x104B2, 0x104B3,
  0x104B4, 0x104B5, 0x104B6, 0x104B7, 0x104B8, 0x104B9, 0x104BA, 0x104BB, 0x104BC,
  0x104BD, 0x104BE, 0x104BF, 0x104C0, 0x104C1, 0x104C2, 0x104C3, 0x104C4, 0x104C5,
  0x104C6, 0x104C7, 0x104C8, 0x104C9, 0x104CA, 0x104CB, 0x104CC, 0x104CD, 0x104CE,
  0x104CF, 0x104D0, 0x104D1, 0x104D2, 0x104D3, 0x10CC0, 0x10CC1, 0x10CC2, 0x10CC3,
  0x10CC4, 0x10CC5, 0x10CC6, 0x10CC7, 0x10CC8, 0x10CC9, 0x10CCA, 0x10CCB, 0x10CCC,
  0x10CCD, 0x10CCE, 0x10CCF, 0x10CD0, 0x10CD1, 0x10CD2, 0x10CD3, 0x10CD4, 0x10CD5,
  0x10CD6, 0x10CD7, 0x10CD8, 0x10CD9, 0x10CDA, 0x10CDB, 0x10CDC, 0x10CDD, 0x10CDE,
  0x10CDF, 0x10CE0, 0x10CE1, 0x10CE2, 0x10CE3, 0x10CE4, 0x10CE5, 0x10CE6, 0x10CE7,
  0x10CE8, 0x10CE9, 0x10CEA, 0x10CEB, 0x10CEC, 0x10CED, 0x10CEE, 0x10CEF, 0x10CF0,
  0x10CF1, 0x10CF2, 0x10C80, 0x10C81, 0x10C82, 0x10C83, 0x10C84, 0x10C85, 0x10C86,
  0x10C87, 0x10C88, 0x10C89, 0x10C8A, 0x10C8B, 0x10C8C, 0x10C8D, 0x10C8E, 0x10C8F,
  0x10C90, 0x10C91, 0x10C92, 0x10C93, 0x10C94, 0x10C95, 0x10C96, 0x10C97, 0x10C98,
  0x10C99, 0x10C9A, 0x10C9B, 0x10C9C, 0x10C9D, 0x10C9E, 0x10C9F, 0x10CA0, 0x10CA1,
  0x10CA2, 0x10CA3, 0x10CA4, 0x10CA5, 0x10CA6, 0x10CA7, 0x10CA8, 0x10CA9, 0x10CAA,
  0x10CAB, 0x10CAC, 0x10CAD, 0x10CAE, 0x10CAF, 0x10CB0, 0x10CB1, 0x10CB2, 0x118C0,
  0x118C1, 0x118C2, 0x118C3, 0x118C4, 0x118C5, 0x118C6, 0x118C7, 0x118C8, 0x118C9,
  0x118CA, 0x118CB, 0x118CC, 0x118CD, 0x118CE, 0x118CF, 0x118D0, 0x118D1, 0x118D2,
  0x118D3, 0x118D4, 0x118D5, 0x118D6, 0x118D7, 0x118D8, 0x118D9, 0x118DA, 0x118DB,
  0x118DC, 0x118DD, 0x118DE, 0x118DF, 0x118A0, 0x118A1, 0x118A2, 0x118A3, 0x118A4,
  0x118A5, 0x118A6, 0x118A7, 0x118A8, 0x118A9, 0x118AA, 0x118AB, 0x118AC, 0x118AD,
  0x118AE, 0x118AF, 0x118B0, 0x118B1, 0x118B2, 0x118B3, 0x118B4, 0x118B5, 0x118B6,
  0x118B7, 0x118B8, 0x118B9, 0x118BA, 0x118BB, 0x118BC, 0x118BD, 0x118BE, 0x118BF,
  0x16E60, 0x16E61, 0x16E62, 0x16E63, 0x16E64, 0x16E65, 0x16E66, 0x16E67, 0x16E68,
  0x16E69, 0x16E6A, 0x16E6B, 0x16E6C, 0x16E6D, 0x16E6E, 0x16E6F, 0x16E70, 0x16E71,
  0x16E72, 0x16E73, 0x16E74, 0x16E75, 0x16E76, 0x16E77, 0x16E78, 0x16E79, 0x16E7A,
  0x16E7B, 0x16E7C, 0x16E7D, 0x16E7E, 0x16E7F, 0x16E40, 0x16E41, 0x16E42, 0x16E43,
  0x16E44, 0x16E45, 0x16E46, 0x16E47, 0x16E48, 0x16E49, 0x16E4A, 0x16E4B, 0x16E4C,
  0x16E4D, 0x16E4E, 0x16E4F, 0x16E50, 0x16E51, 0x16E52, 0x16E53, 0x16E54, 0x16E55,
  0x16E56, 0x16E57, 0x16E58, 0x16E59, 0x16E5A, 0x16E5B, 0x16E5C, 0x16E5D, 0x16E5E,
  0x16E5F, 0x1E922, 0x1E923, 0x1E924, 0x1E925, 0x1E926, 0x1E927, 0x1E928, 0x1E929,
  0x1E92A, 0x1E92B, 0x1E92C, 0x1E92D, 0x1E92E, 0x1E92F, 0x1E930, 0x1E931, 0x1E932,
  0x1E933, 0x1E934, 0x1E935, 0x1E936, 0x1E937, 0x1E938, 0x1E939, 0x1E93A, 0x1E93B,
  0x1E93C, 0x1E93D, 0x1E93E, 0x1E93F, 0x1E940, 0x1E941, 0x1E942, 0x1E943, 0x1E900,
  0x1E901, 0x1E902, 0x1E903, 0x1E904, 0x1E905, 0x1E906, 0x1E907, 0x1E908, 0x1E909,
  0x1E90A, 0x1E90B, 0x1E90C, 0x1E90D, 0x1E90E, 0x1E90F, 0x1E910, 0x1E911, 0x1E912,
  0x1E913, 0x1E914, 0x1E915, 0x1E916, 0x1E917, 0x1E918, 0x1E919, 0x1E91A, 0x1E91B,
  0x1E91C, 0x1E91D, 0x1E91E, 0x1E91F, 0x1E920, 0x1E921,
]