From 92bcce9b28d5d123af67ff0201cd97508af21326 Mon Sep 17 00:00:00 2001 From: Sam Varshavchik Date: Sun, 7 Mar 2021 13:33:26 -0500 Subject: courier-unicode: improve compression of lookup tables --- unicode/bidi_class.h | 4379 +++++++++++---------------------------- unicode/categoriestab.h | 3595 ++------------------------------ unicode/courier-unicode.h.in | 12 +- unicode/graphemebreaktab.h | 3607 ++------------------------------ unicode/linebreaktab.h | 3595 ++++++++------------------------ unicode/mkcommon.pm | 80 +- unicode/mkgraphemebreak.pl | 13 - unicode/scriptstab.h | 3595 ++++++-------------------------- unicode/unicode_bidi.c | 9 +- unicode/unicode_categories.c | 9 +- unicode/unicode_graphemebreak.c | 15 +- unicode/unicode_linebreak.c | 9 +- unicode/unicode_scripts.c | 10 +- unicode/unicode_tablookup.c | 66 +- unicode/unicode_wordbreak.c | 10 +- unicode/wordbreaktab.h | 3595 ++------------------------------ 16 files changed, 3275 insertions(+), 19324 deletions(-) (limited to 'unicode') diff --git a/unicode/bidi_class.h b/unicode/bidi_class.h index 767f2a9..33c4500 100644 --- a/unicode/bidi_class.h +++ b/unicode/bidi_class.h @@ -4906,7 +4906,1178 @@ static const uint8_t unicode_classtab[]={ UNICODE_BIDI_TYPE_L, UNICODE_BIDI_TYPE_BN}; -static const size_t unicode_indextab[]={ +static const size_t unicode_starting_indextab[]={ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 304, + 305, + 306, + 307, + 308, + 324, + 325, + 326, + 360, + 361, + 362, + 363, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 432, + 433, + 434, + 444, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 480, + 481, + 482, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 760, + 761, + 762, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 1023, + 1279, + 1535, + 1791, + 2047, + 2303, + 2559, + 2815, + 3071, + 3327, + 3583, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3839, + 3840, + 3841, + 3842, + 3843, + 3844, + 3845, + 3846, + 3847, + 3848, + 3849, + 3850, + 3851, + 3852, + 3853, + 3854, + 3855, + 3856, + 3857, + 3858, + 3859, + 3860, + 3861, + 3862, + 3863, + 3864, + 3865, + 3866, + 3867, + 3868, + 3869, + 3870, + 3871, + 3872, + 3873, + 3874, + 3875, + 3876, + 3877, + 3878, + 3879, + 3880, + 3881, + 3882, + 3883, + 3884, + 3885, + 3886, + 3887, + 3888, + 3889, + 3890, + 3891, + 3892, + 3893, + 3894, + 3895, + 3896, + 3897, + 3898, + 3899, + 3900, + 3901, + 3902, + 3903, + 3904, + 3905, + 3906, + 3907, + 3908, + 3909, + 3910, + 3911, + 3912, + 3913, + 3914, + 3915, + 3916, + 3917, + 3918, + 3919, + 3920, + 3921, + 3922, + 3923, + 3924, + 3925, + 3926, + 3927, + 3928, + 3929, + 3930, + 3931, + 3932, + 3933, + 3934, + 3935, + 3936, + 3937, + 3938, + 3939, + 3940, + 3941, + 3942, + 3943, + 3944, + 3945, + 3946, + 3947, + 3948, + 3949, + 3950, + 3951, + 3952, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 3985, + 3986, + 3987, + 3988, + 3989, + 3990, + 3991, + 3992, + 3993, + 3994, + 3995, + 3996, + 3997, + 3998, + 3999, + 4000, + 4001, + 4002, + 4003, + 4004, + 4005, + 4006, + 4007, + 4008, + 4009, + 4010, + 4011, + 4012, + 4013, + 4014, + 4015, + 4016, + 4017, + 4018, + 4019, + 4020, + 4021, + 4022, + 4023, + 4024, + 4025, + 4026, + 4027, + 4028, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4035, + 4036, + 4037, + 4038, + 4039, + 4040, + 4041, + 4042, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4118, + 4119, + 4120, + 4121, + 4122, + 4123, + 4124, + 4125, + 4126, + 4127, + 4128, + 4129, + 4130, + 4131, + 4132, + 4133, + 4134, + 4135, + 4136, + 4137, + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4155, + 4156, + 4157, + 4158, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4176, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4186, + 4187, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4201, + 4202, + 4203, + 4204, + 4205, + 4206, + 4207, + 4208, + 4209, + 4210, + 4211, + 4212, + 4213, + 4214, + 4215, + 4216, + 4217, + 4218, + 4219, + 4220, + 4221, + 4222, + 4223, + 4224, + 4225, + 4226, + 4227, + 4228, + 4229, + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4236, + 4237, + 4238, + 4239, + 4240, + 4241, + 4242, + 4243, + 4244, + 4245, + 4246, + 4247, + 4248, + 4249, + 4250, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4259, + 4260, + 4261, + 4262, + 4263, + 4264, + 4265, + 4266, + 4267, + 4268, + 4269, + 4270, + 4271, + 4272, + 4273, + 4274, + 4275, + 4276, + 4277, + 4278, + 4279, + 4280, + 4281, + 4282, + 4283, + 4284, + 4285, + 4286, + 4287, + 4288, + 4289, + 4290, + 4291, + 4292, + 4293, + 4294, + 4295, + 4296, + 4297, + 4298, + 4299, + 4300, + 4301, + 4302, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4309, + 4310, + 4311, + 4312, + 4313, + 4314, + 4315, + 4316, + 4317, + 4318, + 4319, + 4320, + 4321, + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4328, + 4329, + 4330, + 4331, + 4332, + 4333, + 4334, + 4335, + 4336, + 4337, + 4338, + 4339, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4351 +}; + +static const char32_t unicode_starting_pagetab[]={ 0, 48, 49, @@ -5124,14 +6295,6 @@ static const size_t unicode_indextab[]={ 1026, 1027, 1030, - 1030, - 1030, - 1030, - 1030, - 1030, - 1030, - 1030, - 1030, 1031, 1032, 1033, @@ -5191,7 +6354,6 @@ static const size_t unicode_indextab[]={ 1329, 1349, 1369, - 1369, 1383, 1403, 1406, @@ -5202,78 +6364,18 @@ static const size_t unicode_indextab[]={ 1416, 1419, 1420, - 1420, - 1420, - 1420, - 1420, - 1420, - 1420, - 1420, - 1420, - 1420, - 1420, 1421, 1422, 1423, 1424, 1426, - 1426, - 1426, - 1426, - 1426, - 1426, - 1426, - 1426, - 1426, - 1426, - 1426, - 1426, - 1426, - 1426, - 1426, - 1426, 1427, 1428, 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, - 1429, 1430, 1431, 1438, 1445, - 1445, - 1445, 1446, 1456, 1457, @@ -5306,71 +6408,9 @@ static const size_t unicode_indextab[]={ 1484, 1485, 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, - 1486, 1487, 1491, 1492, - 1492, - 1492, - 1492, - 1492, - 1492, - 1492, - 1492, - 1492, - 1492, - 1500, - 1500, - 1500, - 1500, - 1500, - 1500, - 1500, - 1500, - 1500, - 1500, - 1500, - 1500, - 1500, - 1500, - 1500, - 1500, - 1500, - 1500, - 1500, 1500, 1501, 1512, @@ -5383,19 +6423,9 @@ static const size_t unicode_indextab[]={ 1553, 1554, 1564, - 1564, - 1564, - 1564, - 1564, - 1564, 1569, 1574, 1578, - 1578, - 1578, - 1578, - 1578, - 1578, 1581, 1584, 1585, @@ -5416,9 +6446,6 @@ static const size_t unicode_indextab[]={ 1633, 1642, 1645, - 1645, - 1645, - 1645, 1646, 1647, 1648, @@ -5656,25 +6683,9 @@ static const size_t unicode_indextab[]={ 1883, 1884, 1885, - 1885, - 1885, - 1885, - 1885, - 1885, - 1885, - 1885, - 1885, - 1885, - 1885, - 1885, - 1885, 1886, 1887, 1888, - 1888, - 1888, - 1888, - 1888, 1889, 1890, 1891, @@ -5696,2800 +6707,15 @@ static const size_t unicode_indextab[]={ 1907, 1908, 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1909, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1910, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1911, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1912, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1913, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1914, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1915, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1916, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1917, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1918, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, - 1919, + 1910, + 1911, + 1912, + 1913, + 1914, + 1915, + 1916, + 1917, + 1918, 1919, 1920, 1921, @@ -8508,245 +6734,6 @@ static const size_t unicode_indextab[]={ 1935, 1936, 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, - 1937, 1938, 1939, 1940, @@ -9258,6 +7245,6 @@ static const size_t unicode_indextab[]={ 2447, 2448, 2449, - 2450, - 2452}; + 2450 +}; diff --git a/unicode/categoriestab.h b/unicode/categoriestab.h index 95f0496..ce49fe3 100644 --- a/unicode/categoriestab.h +++ b/unicode/categoriestab.h @@ -3592,7 +3592,134 @@ static const uint32_t unicode_classtab[]={ UNICODE_CATEGORY_1_FORMAT|UNICODE_CATEGORY_2_TAG, UNICODE_CATEGORY_1_FORMAT|UNICODE_CATEGORY_2_VARIATION_SELECTOR}; -static const size_t unicode_indextab[]={ +static const size_t unicode_starting_indextab[]={ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 77, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 215, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 264, + 265, + 266, + 267, + 268, + 270, + 272, + 273, + 278, + 288, + 289, + 290, + 291, + 292, + 304, + 305, + 306, + 307, + 308, + 360, + 361, + 362, + 367, + 432, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 494, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 760, + 761, + 762, + 3584, + 3585 +}; + +static const char32_t unicode_starting_pagetab[]={ 0, 57, 60, @@ -3646,113 +3773,6 @@ static const size_t unicode_indextab[]={ 1113, 1131, 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1138, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, - 1139, 1139, 1142, 1143, @@ -3766,82 +3786,6 @@ static const size_t unicode_indextab[]={ 1241, 1272, 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1282, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, - 1284, 1284, 1285, 1287, @@ -3855,208 +3799,29 @@ static const size_t unicode_indextab[]={ 1403, 1413, 1418, - 1418, - 1418, - 1418, 1427, 1438, 1453, 1460, 1462, - 1462, - 1465, 1465, 1487, 1503, - 1503, - 1503, - 1503, - 1503, - 1510, - 1510, - 1510, - 1510, - 1510, - 1510, - 1510, - 1510, - 1510, 1510, 1511, 1512, 1513, 1514, 1517, - 1517, - 1517, - 1517, - 1517, - 1517, - 1517, - 1517, - 1517, - 1517, - 1517, - 1517, 1523, 1531, 1539, 1547, 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, - 1548, 1549, 1550, 1551, - 1551, - 1551, - 1551, - 1551, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1556, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, - 1557, 1557, 1572, 1604, @@ -4066,29 +3831,6 @@ static const size_t unicode_indextab[]={ 1640, 1647, 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1657, - 1691, 1691, 1705, 1715, @@ -4098,3086 +3840,9 @@ static const size_t unicode_indextab[]={ 1778, 1784, 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, - 1789, 1790, 1791, 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1792, - 1794, - 1795}; + 1794 +}; diff --git a/unicode/courier-unicode.h.in b/unicode/courier-unicode.h.in index 2999ee3..da886a4 100644 --- a/unicode/courier-unicode.h.in +++ b/unicode/courier-unicode.h.in @@ -114,16 +114,20 @@ extern size_t unicode_wcwidth_str(const char32_t *c); /* Internal unicode table lookup functions */ extern uint8_t unicode_tab_lookup(char32_t ch, - const size_t *unicode_indextab, - size_t unicode_indextab_sizeof, + const size_t *unicode_starting_indextab, + const char32_t *unicode_starting_pagetab, + size_t unicode_tab_sizeof, const uint8_t (*unicode_rangetab)[2], + size_t unicode_rangetab_sizeof, const uint8_t *unicode_classtab, uint8_t uclass); extern uint32_t unicode_tab32_lookup(char32_t ch, - const size_t *unicode_indextab, - size_t unicode_indextab_sizeof, + const size_t *unicode_starting_indextab, + const char32_t *unicode_starting_pagetab, + size_t unicode_tab_sizeof, const uint8_t (*unicode_rangetab)[2], + size_t unicode_rangetab_sizeof, const uint32_t *unicode_classtab, uint32_t uclass); diff --git a/unicode/graphemebreaktab.h b/unicode/graphemebreaktab.h index 09e63c3..706e710 100644 --- a/unicode/graphemebreaktab.h +++ b/unicode/graphemebreaktab.h @@ -2794,10 +2794,143 @@ static const uint8_t unicode_classtab[]={ UNICODE_GRAPHEMEBREAK_Control, UNICODE_GRAPHEMEBREAK_Control}; -static const size_t unicode_indextab[]={ +static const size_t unicode_starting_indextab[]={ 0, + 3, + 4, + 5, + 6, 7, - 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 19, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 32, + 44, + 45, + 48, + 166, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 251, + 254, + 255, + 257, + 258, + 259, + 266, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 284, + 285, + 286, + 308, + 362, + 363, + 367, + 444, + 465, + 466, + 474, + 480, + 481, + 482, + 488, + 489, + 497, + 499, + 3584, + 3585, + 3586, + 3587, + 3588, + 3589, + 3590, + 3591, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599 +}; + +static const char32_t unicode_starting_pagetab[]={ + 0, 7, 8, 9, @@ -2814,10 +2947,6 @@ static const size_t unicode_indextab[]={ 168, 183, 186, - 186, - 187, - 187, - 187, 187, 199, 203, @@ -2826,144 +2955,11 @@ static const size_t unicode_indextab[]={ 250, 262, 264, - 264, - 264, - 271, - 271, - 271, - 271, - 271, - 271, - 271, - 271, - 271, - 271, - 271, 271, 272, 274, - 274, - 274, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, - 276, 276, 280, - 280, 292, 305, 324, @@ -3012,58 +3008,12 @@ static const size_t unicode_indextab[]={ 1135, 1155, 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1168, - 1169, - 1169, 1169, 1172, 1174, - 1174, 1175, 1176, 1177, - 1177, - 1177, - 1177, - 1177, - 1177, - 1177, - 1183, - 1183, 1183, 1184, 1185, @@ -3079,3307 +3029,24 @@ static const size_t unicode_indextab[]={ 1284, 1301, 1314, - 1314, 1326, 1338, 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1340, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, - 1341, 1341, 1342, 1343, - 1343, - 1343, - 1343, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1348, - 1350, - 1350, - 1350, - 1350, - 1350, - 1350, - 1350, - 1350, - 1350, - 1350, - 1350, - 1350, - 1350, - 1350, - 1350, - 1350, - 1350, - 1350, - 1350, - 1350, 1350, 1359, 1360, - 1360, - 1360, - 1360, - 1360, - 1360, - 1360, - 1360, - 1366, - 1366, - 1366, - 1366, - 1366, 1366, 1371, 1372, 1373, - 1373, - 1373, - 1373, - 1373, - 1373, 1374, 1375, - 1375, - 1375, - 1375, - 1375, - 1375, - 1375, - 1375, - 1376, 1376, 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, - 1377, 1380, 1382, 1383, @@ -6394,6 +3061,6 @@ static const size_t unicode_indextab[]={ 1392, 1393, 1394, - 1395, - 1396}; + 1395 +}; diff --git a/unicode/linebreaktab.h b/unicode/linebreaktab.h index db2bdd3..8702e4a 100644 --- a/unicode/linebreaktab.h +++ b/unicode/linebreaktab.h @@ -6696,7 +6696,875 @@ static const uint8_t unicode_classtab[]={ UNICODE_LB_CM, UNICODE_LB_CM}; -static const size_t unicode_indextab[]={ +static const size_t unicode_starting_indextab[]={ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 304, + 305, + 306, + 307, + 308, + 324, + 325, + 326, + 360, + 361, + 362, + 363, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 432, + 433, + 434, + 444, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 480, + 481, + 482, + 488, + 489, + 492, + 493, + 494, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 3584, + 3585 +}; + +static const char32_t unicode_starting_pagetab[]={ 0, 56, 57, @@ -6922,31 +7790,6 @@ static const size_t unicode_indextab[]={ 2036, 2037, 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, - 2038, 2039, 2040, 2054, @@ -6981,7 +7824,6 @@ static const size_t unicode_indextab[]={ 2386, 2408, 2429, - 2429, 2442, 2460, 2463, @@ -6992,78 +7834,18 @@ static const size_t unicode_indextab[]={ 2472, 2475, 2476, - 2476, - 2476, - 2476, - 2476, - 2476, - 2476, - 2476, - 2476, - 2476, - 2476, 2477, 2478, 2489, 2493, 2497, - 2497, - 2497, - 2497, - 2497, - 2497, - 2497, - 2497, - 2497, - 2497, - 2497, - 2497, - 2497, - 2497, - 2497, - 2497, 2498, 2502, 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, - 2503, 2504, 2505, 2512, 2522, - 2522, - 2522, 2525, 2534, 2535, @@ -7096,71 +7878,9 @@ static const size_t unicode_indextab[]={ 2562, 2563, 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, - 2564, 2565, 2569, 2570, - 2570, - 2570, - 2570, - 2570, - 2570, - 2570, - 2570, - 2570, - 2570, - 2578, - 2578, - 2578, - 2578, - 2578, - 2578, - 2578, - 2578, - 2578, - 2578, - 2578, - 2578, - 2578, - 2578, - 2578, - 2578, - 2578, - 2578, - 2578, 2578, 2579, 2589, @@ -7173,27 +7893,14 @@ static const size_t unicode_indextab[]={ 2620, 2621, 2633, - 2633, - 2633, - 2633, - 2633, - 2633, 2638, 2643, 2647, - 2647, - 2647, - 2647, - 2647, - 2647, 2650, 2655, - 2655, - 2655, 2660, 2661, 2695, - 2695, 2696, 2703, 2704, @@ -7722,2566 +8429,6 @@ static const size_t unicode_indextab[]={ 3342, 3343, 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3344, - 3346, - 3347}; + 3346 +}; diff --git a/unicode/mkcommon.pm b/unicode/mkcommon.pm index dc2fa99..091a219 100644 --- a/unicode/mkcommon.pm +++ b/unicode/mkcommon.pm @@ -8,6 +8,38 @@ require Exporter; our @ISA = qw(Exporter); +# Common code used to create Unicode lookup tables. +# +# Generates C code that declares a bunch of arrays. +# +# The 'rangetab' array's structure is [firstchar, lastchar], and the +# 'classtab' array has the same size containing "class", giving the +# associated "value" for unicode character range firstchar-lastchar. +# +# The ranges are sorted in numerical order, but rangetab stores the least +# singificant byte of the 32-bit Unicode character (firstchar and lastchar). +# The leading bytes of both firstchar and lastchar are the same. +# +# In this manner, the Unicode data gets divided into 256 character blocks. +# +# The "starting_indextab" array enumerates which 256 character blocks have +# any data in the "rangetab" array. 256 characters that don't wind up +# with any data get skipped entirely. +# +# The "starting_pagetab" array is the starting index in the "rangetab" +# array for the corresponding 256 character block. "starting_indextab" and +# "starting_pagetab" arrays have the same size. +# +# "starting_indextab" is sorted, a binary search finds the start of the +# 256 character block containing the character, via "starting_pagetab". +# +# The end of the 256 character block in "rangetab" is given by the +# starting index of the next 256 character block, or the end of the "rangetab" +# array. +# +# A binary search is done to locate the range containing the given character, +# and the associated value from "classtab" gets returned. + # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. @@ -136,8 +168,6 @@ sub output { $this->_doemit(); # Emit last linebreaking unicode char range class - $this->_doemit_endblock(); # End of the most recent $BLOCK_SIZE char range class - print "static const uint8_t unicode_rangetab[][2]={\n"; my $comma="\t"; @@ -164,32 +194,46 @@ sub output { print "};\n\n"; - print "static const size_t unicode_indextab[]={\n"; + my $prev_block=-1; - $comma="\t"; + my @starting_indextab; + my @starting_pagetab; - my $prev_block=-1; - foreach (@{$this->{'char_start'}}) + foreach my $sp (@{$this->{'char_start'}}) { - my $sp=$_; - my $cnt=1; + my $block=int($this->{'char_array'}->[$sp]->[0] / $BLOCK_SIZE); - if ($sp <= $#{$this->{'char_array'}}) + if ($block != $prev_block) { - my $block=int($this->{'char_array'}->[$sp]->[0] / $BLOCK_SIZE); - - $cnt = $block - $prev_block; + push @starting_indextab, $block; + push @starting_pagetab, $sp; $prev_block=$block; } + } - foreach (1..$cnt) - { - print "$comma$sp"; - $comma=",\n\t"; - } + print "static const size_t unicode_starting_indextab[]={\n"; + + $comma="\t"; + + foreach (@starting_indextab) + { + print "$comma$_"; + $comma=",\n\t"; } - print "};\n\n"; + print "\n};\n\nstatic const char32_t unicode_starting_pagetab[]={\n"; + + $comma="\t"; + + foreach (@starting_pagetab) + { + my $sp=$_; + + print "$comma$sp"; + $comma=",\n\t"; + } + + print "\n};\n\n"; } 1; diff --git a/unicode/mkgraphemebreak.pl b/unicode/mkgraphemebreak.pl index f72ec28..f8d5894 100644 --- a/unicode/mkgraphemebreak.pl +++ b/unicode/mkgraphemebreak.pl @@ -2,19 +2,6 @@ # # Compile GraphemeBreakProperty.txt into C array declarations. # -# The array's structure is [firstchar, lastchar, class], giving the -# linebreaking "class" for unicode character range firstchar-lastchar. -# -# The ranges are sorted in numerical order. -# -# An array gets generated for each block of 4096 unicode characters. -# -# Finally, two arrays get declared: a pointer to an array for each 4096 -# unicode character block, and the number of elements in the array. -# -# The pointer is NULL for each block of 4096 unicode characters that is not -# defined in LineBreak.txt -# # By definition, a unicode character that is not listed in the array is # class XX. diff --git a/unicode/scriptstab.h b/unicode/scriptstab.h index 74137ff..b77b4f9 100644 --- a/unicode/scriptstab.h +++ b/unicode/scriptstab.h @@ -2778,7 +2778,610 @@ static const uint8_t unicode_classtab[]={ unicode_script_common, unicode_script_inherited}; -static const size_t unicode_indextab[]={ +static const size_t unicode_starting_indextab[]={ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 304, + 305, + 306, + 307, + 308, + 324, + 325, + 326, + 360, + 361, + 362, + 363, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 432, + 433, + 434, + 444, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 480, + 481, + 482, + 488, + 489, + 492, + 493, + 494, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 760, + 761, + 762, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 3584, + 3585 +}; + +static const char32_t unicode_starting_pagetab[]={ 0, 14, 15, @@ -2996,39 +3599,6 @@ static const size_t unicode_indextab[]={ 662, 663, 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, - 666, 667, 669, 679, @@ -3063,7 +3633,6 @@ static const size_t unicode_indextab[]={ 863, 874, 877, - 877, 884, 897, 898, @@ -3074,78 +3643,18 @@ static const size_t unicode_indextab[]={ 905, 908, 909, - 909, - 909, - 909, - 909, - 909, - 909, - 909, - 909, - 909, - 909, 910, 911, 912, 913, 915, - 915, - 915, - 915, - 915, - 915, - 915, - 915, - 915, - 915, - 915, - 915, - 915, - 915, - 915, - 915, 916, 917, 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, - 918, 919, 920, 926, 931, - 931, - 931, 932, 940, 941, @@ -3178,71 +3687,9 @@ static const size_t unicode_indextab[]={ 968, 969, 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, - 970, 972, 976, 977, - 977, - 977, - 977, - 977, - 977, - 977, - 977, - 977, - 977, - 983, - 983, - 983, - 983, - 983, - 983, - 983, - 983, - 983, - 983, - 983, - 983, - 983, - 983, - 983, - 983, - 983, - 983, - 983, 983, 984, 994, @@ -3255,27 +3702,14 @@ static const size_t unicode_indextab[]={ 1023, 1024, 1027, - 1027, - 1027, - 1027, - 1027, - 1027, 1032, 1036, 1038, - 1038, - 1038, - 1038, - 1038, - 1038, 1040, 1043, - 1043, - 1043, 1044, 1045, 1079, - 1079, 1085, 1087, 1093, @@ -3288,10 +3722,6 @@ static const size_t unicode_indextab[]={ 1111, 1120, 1123, - 1123, - 1123, - 1123, - 1123, 1124, 1125, 1126, @@ -3528,26 +3958,9 @@ static const size_t unicode_indextab[]={ 1360, 1361, 1362, - 1362, - 1362, - 1362, - 1362, - 1362, - 1362, - 1362, - 1362, - 1362, - 1362, - 1362, - 1362, 1363, 1364, 1365, - 1365, - 1365, - 1365, - 1365, - 1365, 1366, 1367, 1368, @@ -3568,2802 +3981,6 @@ static const size_t unicode_indextab[]={ 1383, 1384, 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1385, - 1387, - 1388}; + 1387 +}; diff --git a/unicode/unicode_bidi.c b/unicode/unicode_bidi.c index 89eb147..b4e3f2c 100644 --- a/unicode/unicode_bidi.c +++ b/unicode/unicode_bidi.c @@ -710,10 +710,13 @@ enum_bidi_type_t unicode_bidi_type(char32_t c) { return (enum_bidi_type_t) unicode_tab_lookup(c, - unicode_indextab, - sizeof(unicode_indextab) - /sizeof(unicode_indextab[0]), + unicode_starting_indextab, + unicode_starting_pagetab, + sizeof(unicode_starting_indextab)/ + sizeof(unicode_starting_indextab[0]), unicode_rangetab, + sizeof(unicode_rangetab)/ + sizeof(unicode_rangetab[0]), unicode_classtab, UNICODE_BIDI_TYPE_L); } diff --git a/unicode/unicode_categories.c b/unicode/unicode_categories.c index 5e57e40..3c6e409 100644 --- a/unicode/unicode_categories.c +++ b/unicode/unicode_categories.c @@ -12,10 +12,13 @@ uint32_t unicode_category_lookup(char32_t ch) { return unicode_tab32_lookup(ch, - unicode_indextab, - sizeof(unicode_indextab) - / sizeof(unicode_indextab[0]), + unicode_starting_indextab, + unicode_starting_pagetab, + sizeof(unicode_starting_indextab)/ + sizeof(unicode_starting_indextab[0]), unicode_rangetab, + sizeof(unicode_rangetab)/ + sizeof(unicode_rangetab[0]), unicode_classtab, 0); } diff --git a/unicode/unicode_graphemebreak.c b/unicode/unicode_graphemebreak.c index db6b92b..16b7ee6 100644 --- a/unicode/unicode_graphemebreak.c +++ b/unicode/unicode_graphemebreak.c @@ -68,11 +68,16 @@ int unicode_grapheme_break(char32_t a, char32_t b) int unicode_grapheme_break_next(unicode_grapheme_break_info_t t, char32_t b) { uint8_t ac=t->prev_class; - uint8_t bc=unicode_tab_lookup(b, unicode_indextab, - sizeof(unicode_indextab)/sizeof(unicode_indextab[0]), - unicode_rangetab, - unicode_classtab, - UNICODE_GRAPHEMEBREAK_ANY); + uint8_t bc=unicode_tab_lookup(b, + unicode_starting_indextab, + unicode_starting_pagetab, + sizeof(unicode_starting_indextab)/ + sizeof(unicode_starting_indextab[0]), + unicode_rangetab, + sizeof(unicode_rangetab)/ + sizeof(unicode_rangetab[0]), + unicode_classtab, + UNICODE_GRAPHEMEBREAK_ANY); if (ac != bc) t->prev_count=0; diff --git a/unicode/unicode_linebreak.c b/unicode/unicode_linebreak.c index 9d1e73c..b725576 100644 --- a/unicode/unicode_linebreak.c +++ b/unicode/unicode_linebreak.c @@ -135,10 +135,13 @@ int unicode_lb_next_cnt(unicode_lb_info_t i, int unicode_lb_lookup(char32_t ch) { return unicode_tab_lookup(ch, - unicode_indextab, - sizeof(unicode_indextab) - / sizeof(unicode_indextab[0]), + unicode_starting_indextab, + unicode_starting_pagetab, + sizeof(unicode_starting_indextab)/ + sizeof(unicode_starting_indextab[0]), unicode_rangetab, + sizeof(unicode_rangetab)/ + sizeof(unicode_rangetab[0]), unicode_classtab, UNICODE_LB_AL /* XX, LB1 */); } diff --git a/unicode/unicode_scripts.c b/unicode/unicode_scripts.c index 713846b..e4866ea 100644 --- a/unicode/unicode_scripts.c +++ b/unicode/unicode_scripts.c @@ -10,10 +10,14 @@ unicode_script_t unicode_script(char32_t a) { - return unicode_tab_lookup(a, unicode_indextab, - sizeof(unicode_indextab) - /sizeof(unicode_indextab[0]), + return unicode_tab_lookup(a, + unicode_starting_indextab, + unicode_starting_pagetab, + sizeof(unicode_starting_indextab)/ + sizeof(unicode_starting_indextab[0]), unicode_rangetab, + sizeof(unicode_rangetab)/ + sizeof(unicode_rangetab[0]), unicode_classtab, unicode_script_unknown); } diff --git a/unicode/unicode_tablookup.c b/unicode/unicode_tablookup.c index 1f04652..8fc177c 100644 --- a/unicode/unicode_tablookup.c +++ b/unicode/unicode_tablookup.c @@ -10,19 +10,40 @@ #define BLOCK_SIZE 256 uint8_t unicode_tab_lookup(char32_t ch, - const size_t *unicode_indextab, - size_t unicode_indextab_sizeof, + const size_t *unicode_starting_indextab, + const char32_t *unicode_starting_pagetab, + size_t unicode_tab_sizeof, const uint8_t (*unicode_rangetab)[2], + size_t unicode_rangetab_sizeof, const uint8_t *unicode_classtab, uint8_t uclass) { size_t cl=ch / BLOCK_SIZE; - if (cl < unicode_indextab_sizeof-1) + size_t b=0; + size_t e=unicode_tab_sizeof; + + while (b < e) { - const size_t start_pos=unicode_indextab[cl]; + size_t n=b + (e-b)/2; + + if (cl < unicode_starting_indextab[n]) + { + e=n; + continue; + } + else if (cl > unicode_starting_indextab[n]) + { + b=n+1; + continue; + } + + const size_t start_pos=unicode_starting_pagetab[n]; const uint8_t (*p)[2]=unicode_rangetab + start_pos; - size_t b=0, e=unicode_indextab[cl+1] - start_pos; + b=0; + e=(n+1 >= unicode_tab_sizeof + ? unicode_rangetab_sizeof + : unicode_starting_pagetab[n+1]) - start_pos; uint8_t chmodcl= ch & (BLOCK_SIZE-1); while (b < e) @@ -43,26 +64,48 @@ uint8_t unicode_tab_lookup(char32_t ch, e=n; } } + break; } return uclass; } uint32_t unicode_tab32_lookup(char32_t ch, - const size_t *unicode_indextab, - size_t unicode_indextab_sizeof, + const size_t *unicode_starting_indextab, + const char32_t *unicode_starting_pagetab, + size_t unicode_tab_sizeof, const uint8_t (*unicode_rangetab)[2], + size_t unicode_rangetab_sizeof, const uint32_t *unicode_classtab, uint32_t uclass) { size_t cl=ch / BLOCK_SIZE; - if (cl < unicode_indextab_sizeof-1) + size_t b=0; + size_t e=unicode_tab_sizeof; + + while (b < e) { - const size_t start_pos=unicode_indextab[cl]; + size_t n=b + (e-b)/2; + + if (cl < unicode_starting_indextab[n]) + { + e=n; + continue; + } + else if (cl > unicode_starting_indextab[n]) + { + b=n+1; + continue; + } + + const size_t start_pos=unicode_starting_pagetab[n]; const uint8_t (*p)[2]=unicode_rangetab + start_pos; - size_t b=0, e=unicode_indextab[cl+1] - start_pos; - uint32_t chmodcl= ch & (BLOCK_SIZE-1); + b=0; + e=(n+1 >= unicode_tab_sizeof + ? unicode_rangetab_sizeof + : unicode_starting_pagetab[n+1]) - start_pos; + uint8_t chmodcl= ch & (BLOCK_SIZE-1); while (b < e) { @@ -82,6 +125,7 @@ uint32_t unicode_tab32_lookup(char32_t ch, e=n; } } + break; } return uclass; diff --git a/unicode/unicode_wordbreak.c b/unicode/unicode_wordbreak.c index 669a382..7fab8f5 100644 --- a/unicode/unicode_wordbreak.c +++ b/unicode/unicode_wordbreak.c @@ -134,11 +134,15 @@ int unicode_wb_next(unicode_wb_info_t i, char32_t ch) wb_info_t info; info.ch=ch; + info.cl=unicode_tab_lookup(ch, - unicode_indextab, - sizeof(unicode_indextab) - / sizeof(unicode_indextab[0]), + unicode_starting_indextab, + unicode_starting_pagetab, + sizeof(unicode_starting_indextab)/ + sizeof(unicode_starting_indextab[0]), unicode_rangetab, + sizeof(unicode_rangetab)/ + sizeof(unicode_rangetab[0]), unicode_classtab, UNICODE_WB_OTHER); diff --git a/unicode/wordbreaktab.h b/unicode/wordbreaktab.h index edb4fe0..70b5b1c 100644 --- a/unicode/wordbreaktab.h +++ b/unicode/wordbreaktab.h @@ -2146,7 +2146,185 @@ static const uint8_t unicode_classtab[]={ UNICODE_WB_Extend, UNICODE_WB_Extend}; -static const size_t unicode_indextab[]={ +static const size_t unicode_starting_indextab[]={ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 36, + 44, + 45, + 46, + 48, + 49, + 50, + 51, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 304, + 305, + 306, + 307, + 308, + 324, + 325, + 326, + 360, + 361, + 362, + 363, + 366, + 367, + 432, + 433, + 444, + 465, + 466, + 468, + 469, + 470, + 471, + 474, + 480, + 481, + 482, + 488, + 489, + 494, + 497, + 499, + 507, + 3584, + 3585 +}; + +static const char32_t unicode_starting_pagetab[]={ 0, 23, 24, @@ -2182,132 +2360,14 @@ static const size_t unicode_indextab[]={ 436, 457, 471, - 471, - 471, - 472, - 472, - 472, - 472, - 472, - 472, - 472, 472, 478, 494, 495, - 495, 504, 508, 509, 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, - 510, 511, 512, 513, @@ -2364,41 +2424,6 @@ static const size_t unicode_indextab[]={ 632, 633, 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, - 636, 649, 650, 654, @@ -2431,7 +2456,6 @@ static const size_t unicode_indextab[]={ 853, 873, 886, - 886, 895, 913, 915, @@ -2442,3296 +2466,39 @@ static const size_t unicode_indextab[]={ 920, 922, 923, - 923, - 923, - 923, - 923, - 923, - 923, - 923, - 923, - 923, - 923, 924, 925, 926, 927, 929, - 929, - 929, - 929, - 929, - 929, - 929, - 929, - 929, - 929, - 929, - 929, - 929, - 929, - 929, - 929, 930, 931, 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, - 932, 933, 934, 939, 945, - 945, - 945, 946, 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, - 956, 957, 958, - 958, - 958, - 958, - 958, - 958, - 958, - 958, - 958, - 958, - 958, - 964, - 964, - 964, - 964, - 964, - 964, - 964, - 964, - 964, - 964, - 964, - 964, - 964, - 964, - 964, - 964, - 964, - 964, - 964, - 964, 964, 970, 971, - 971, 981, 991, 996, 1005, - 1005, - 1005, - 1011, - 1011, - 1011, - 1011, - 1011, 1011, 1016, 1021, 1024, - 1024, - 1024, - 1024, - 1024, - 1024, 1026, 1030, - 1030, - 1030, - 1030, - 1030, - 1063, 1063, - 1063, - 1067, 1067, 1068, - 1068, - 1068, - 1068, - 1068, - 1068, - 1068, - 1068, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, - 1069, 1069, - 1071, - 1072}; + 1071 +}; -- cgit v1.2.3