39 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u,
40 4u, 8u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
41 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, 8u, 13u,
42 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u,
43 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u,
44 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u,
45 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
46 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, 8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u,
47 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u,
48 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u,
49 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u,
50 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u,
51 8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u,
52 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u,
53 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u,
54 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
55 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 5u, 8u, 4u, 14u, 4u, 14u, 5u, 8u,
56 5u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u,
57 5u, 7u, 7u, 7u, 8u, 8u, 1u, 16u, 8u, 13u, 4u, 8u, 6u, 6u, 16u, 16u,
58 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u,
59 16u, 16u, 8u, 8u, 1u, 18u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u,
60 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u,
61 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u,
62 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u,
63 3u, 10u, 5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
64 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
65 5u, 14u, 3u, 14u, 1u, 16u, 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u,
66 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u,
67 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
68 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
69 3u, 17u, 3u, 17u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u,
70 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u,
71 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u, 5u, 10u,
72 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u,
73 5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
74 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
75 3u, 14u, 1u, 16u, 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u,
76 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
77 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
78 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 14u, 1u, 16u,
79 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
84 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 1u, 16u,
85 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
86 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u,
87 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u,
88 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 14u, 3u, 17u, 4u, 14u,
89 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
90 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
91 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u, 5u, 10u, 9u, 10u, 9u, 9u,
92 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u, 5u, 10u, 3u, 10u,
93 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
94 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 1u, 16u,
95 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
96 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u,
97 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u,
98 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 1u, 17u, 3u, 17u,
99 1u, 17u, 4u, 14u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u,
100 5u, 10u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 3u, 17u, 3u, 17u, 1u, 16u,
101 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
102 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 13u, 3u, 10u, 5u, 10u, 3u, 10u,
103 3u, 13u, 1u, 16u, 3u, 10u, 5u, 10u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u,
104 9u, 10u, 9u, 9u, 5u, 10u, 0
105 };
106
107 static const char _indic_syllable_machine_key_spans[] = {
108 1, 16, 6, 4, 3, 1, 4, 3,
109 1, 4, 3, 1, 4, 3, 1, 5,
110 1, 1, 5, 1, 1, 5, 1, 1,
111 5, 1, 1, 11, 11, 11, 11, 11,
112 11, 11, 11, 11, 11, 1, 16, 6,
113 4, 3, 1, 4, 3, 1, 4, 3,
114 1, 4, 3, 1, 5, 1, 1, 5,
115 1, 1, 5, 1, 1, 5, 1, 1,
116 11, 11, 11, 11, 11, 11, 11, 11,
117 11, 11, 1, 16, 6, 4, 3, 1,
118 4, 3, 1, 4, 3, 1, 4, 3,
119 1, 5, 1, 1, 5, 1, 1, 5,
120 1, 1, 5, 1, 1, 11, 11, 11,
121 11, 11, 11, 11, 11, 11, 1, 16,
122 6, 4, 3, 1, 4, 3, 1, 4,
123 3, 1, 4, 3, 1, 5, 1, 1,
124 5, 1, 1, 5, 1, 1, 5, 1,
125 1, 11, 11, 11, 11, 11, 11, 11,
126 11, 11, 11, 11, 4, 11, 11, 4,
127 3, 4, 3, 1, 4, 3, 1, 4,
128 3, 1, 1, 16, 6, 5, 1, 1,
129 5, 1, 1, 5, 1, 1, 5, 1,
130 1, 1, 18, 15, 15, 14, 16, 15,
131 15, 14, 16, 15, 15, 14, 16, 15,
132 15, 14, 16, 15, 15, 14, 10, 10,
133 6, 2, 1, 2, 2, 1, 6, 11,
134 8, 6, 8, 11, 12, 12, 11, 10,
135 12, 11, 10, 12, 11, 10, 12, 11,
136 10, 12, 16, 11, 15, 15, 16, 16,
137 16, 16, 16, 15, 15, 16, 16, 16,
138 16, 16, 15, 15, 16, 16, 16, 16,
139 16, 15, 15, 16, 16, 16, 16, 16,
140 15, 15, 15, 15, 14, 16, 15, 15,
141 14, 16, 15, 15, 14, 16, 15, 15,
142 14, 16, 15, 15, 14, 10, 10, 6,
143 2, 1, 2, 2, 1, 6, 11, 8,
144 6, 8, 11, 12, 12, 11, 10, 12,
145 11, 10, 12, 11, 10, 12, 11, 10,
146 12, 16, 11, 15, 15, 16, 16, 16,
147 16, 16, 15, 15, 16, 16, 16, 16,
148 16, 15, 15, 16, 16, 16, 16, 16,
149 15, 15, 16, 16, 16, 16, 11, 16,
150 15, 15, 14, 16, 15, 15, 14, 16,
155 12, 11, 10, 12, 11, 10, 12, 16,
156 11, 15, 15, 16, 16, 16, 16, 16,
157 15, 15, 16, 16, 16, 16, 16, 15,
158 15, 16, 16, 16, 16, 16, 15, 15,
159 16, 16, 16, 16, 16, 11, 15, 11,
160 15, 15, 14, 16, 15, 15, 14, 16,
161 15, 15, 14, 16, 15, 15, 14, 16,
162 15, 15, 14, 10, 10, 6, 2, 1,
163 2, 2, 1, 6, 11, 8, 6, 8,
164 11, 12, 12, 11, 10, 12, 11, 10,
165 12, 11, 10, 12, 11, 10, 12, 16,
166 11, 15, 15, 16, 16, 16, 16, 16,
167 15, 15, 16, 16, 16, 16, 16, 15,
168 15, 16, 16, 16, 16, 16, 15, 15,
169 16, 16, 16, 16, 16, 15, 17, 15,
170 17, 11, 6, 2, 1, 2, 2, 1,
171 6, 16, 15, 15, 14, 15, 15, 16,
172 12, 11, 10, 12, 11, 10, 12, 11,
173 10, 12, 11, 10, 11, 8, 6, 8,
174 11, 16, 8, 6, 6, 2, 1, 2,
175 2, 1, 6
176 };
177
178 static const short _indic_syllable_machine_index_offsets[] = {
179 0, 2, 19, 26, 31, 35, 37, 42,
180 46, 48, 53, 57, 59, 64, 68, 70,
181 76, 78, 80, 86, 88, 90, 96, 98,
182 100, 106, 108, 110, 122, 134, 146, 158,
183 170, 182, 194, 206, 218, 230, 232, 249,
184 256, 261, 265, 267, 272, 276, 278, 283,
185 287, 289, 294, 298, 300, 306, 308, 310,
186 316, 318, 320, 326, 328, 330, 336, 338,
187 340, 352, 364, 376, 388, 400, 412, 424,
188 436, 448, 460, 462, 479, 486, 491, 495,
189 497, 502, 506, 508, 513, 517, 519, 524,
190 528, 530, 536, 538, 540, 546, 548, 550,
191 556, 558, 560, 566, 568, 570, 582, 594,
192 606, 618, 630, 642, 654, 666, 678, 680,
193 697, 704, 709, 713, 715, 720, 724, 726,
194 731, 735, 737, 742, 746, 748, 754, 756,
195 758, 764, 766, 768, 774, 776, 778, 784,
196 786, 788, 800, 812, 824, 836, 848, 860,
197 872, 884, 896, 908, 920, 925, 937, 949,
198 954, 958, 963, 967, 969, 974, 978, 980,
199 985, 989, 991, 993, 1010, 1017, 1023, 1025,
200 1027, 1033, 1035, 1037, 1043, 1045, 1047, 1053,
201 1055, 1057, 1059, 1078, 1094, 1110, 1125, 1142,
202 1158, 1174, 1189, 1206, 1222, 1238, 1253, 1270,
203 1286, 1302, 1317, 1334, 1350, 1366, 1381, 1392,
204 1403, 1410, 1413, 1415, 1418, 1421, 1423, 1430,
205 1442, 1451, 1458, 1467, 1479, 1492, 1505, 1517,
206 1528, 1541, 1553, 1564, 1577, 1589, 1600, 1613,
207 1625, 1636, 1649, 1666, 1678, 1694, 1710, 1727,
208 1744, 1761, 1778, 1795, 1811, 1827, 1844, 1861,
209 1878, 1895, 1912, 1928, 1944, 1961, 1978, 1995,
210 2012, 2029, 2045, 2061, 2078, 2095, 2112, 2129,
211 2146, 2162, 2178, 2194, 2210, 2225, 2242, 2258,
212 2274, 2289, 2306, 2322, 2338, 2353, 2370, 2386,
213 2402, 2417, 2434, 2450, 2466, 2481, 2492, 2503,
214 2510, 2513, 2515, 2518, 2521, 2523, 2530, 2542,
215 2551, 2558, 2567, 2579, 2592, 2605, 2617, 2628,
216 2641, 2653, 2664, 2677, 2689, 2700, 2713, 2725,
217 2736, 2749, 2766, 2778, 2794, 2810, 2827, 2844,
218 2861, 2878, 2895, 2911, 2927, 2944, 2961, 2978,
219 2995, 3012, 3028, 3044, 3061, 3078, 3095, 3112,
220 3129, 3145, 3161, 3178, 3195, 3212, 3229, 3241,
221 3258, 3274, 3290, 3305, 3322, 3338, 3354, 3369,
222 3386, 3402, 3418, 3433, 3450, 3466, 3482, 3497,
223 3514, 3530, 3546, 3561, 3572, 3583, 3590, 3593,
224 3595, 3598, 3601, 3603, 3610, 3622, 3631, 3638,
225 3647, 3659, 3672, 3685, 3697, 3708, 3721, 3733,
226 3744, 3757, 3769, 3780, 3793, 3805, 3816, 3829,
227 3846, 3858, 3874, 3890, 3907, 3924, 3941, 3958,
228 3975, 3991, 4007, 4024, 4041, 4058, 4075, 4092,
229 4108, 4124, 4141, 4158, 4175, 4192, 4209, 4225,
230 4241, 4258, 4275, 4292, 4309, 4326, 4338, 4354,
231 4366, 4382, 4398, 4413, 4430, 4446, 4462, 4477,
232 4494, 4510, 4526, 4541, 4558, 4574, 4590, 4605,
233 4622, 4638, 4654, 4669, 4680, 4691, 4698, 4701,
234 4703, 4706, 4709, 4711, 4718, 4730, 4739, 4746,
235 4755, 4767, 4780, 4793, 4805, 4816, 4829, 4841,
236 4852, 4865, 4877, 4888, 4901, 4913, 4924, 4937,
237 4954, 4966, 4982, 4998, 5015, 5032, 5049, 5066,
238 5083, 5099, 5115, 5132, 5149, 5166, 5183, 5200,
239 5216, 5232, 5249, 5266, 5283, 5300, 5317, 5333,
240 5349, 5366, 5383, 5400, 5417, 5434, 5450, 5468,
241 5484, 5502, 5514, 5521, 5524, 5526, 5529, 5532,
242 5534, 5541, 5558, 5574, 5590, 5605, 5621, 5637,
243 5654, 5667, 5679, 5690, 5703, 5715, 5726, 5739,
244 5751, 5762, 5775, 5787, 5798, 5810, 5819, 5826,
245 5835, 5847, 5864, 5873, 5880, 5887, 5890, 5892,
246 5895, 5898, 5900
247 };
248
249 static const short _indic_syllable_machine_indicies[] = {
250 1, 0, 2, 3, 0, 0, 0, 0,
251 0, 0, 0, 0, 0, 0, 0, 0,
252 0, 2, 0, 1, 0, 0, 0, 0,
253 4, 0, 5, 5, 6, 1, 0, 7,
254 7, 6, 0, 6, 0, 8, 8, 9,
255 1, 0, 10, 10, 9, 0, 9, 0,
256 11, 11, 12, 1, 0, 13, 13, 12,
257 0, 12, 0, 14, 14, 15, 1, 0,
258 16, 16, 15, 0, 15, 0, 17, 0,
259 0, 0, 1, 0, 18, 0, 19, 0,
260 20, 14, 14, 15, 1, 0, 21, 0,
261 22, 0, 23, 11, 11, 12, 1, 0,
262 24, 0, 25, 0, 26, 8, 8, 9,
263 1, 0, 27, 0, 28, 0, 29, 5,
264 5, 6, 1, 0, 0, 0, 0, 0,
265 29, 0, 29, 5, 5, 6, 1, 0,
266 0, 0, 0, 30, 29, 0, 31, 5,
364 79, 78, 78, 78, 78, 156, 116, 78,
365 86, 86, 84, 1, 0, 114, 83, 83,
366 84, 157, 0, 0, 0, 0, 0, 114,
367 0, 114, 83, 83, 84, 157, 0, 0,
368 0, 0, 158, 114, 0, 159, 159, 160,
369 1, 0, 7, 7, 160, 0, 161, 161,
370 162, 157, 0, 163, 163, 162, 0, 162,
371 0, 164, 164, 165, 157, 0, 166, 166,
372 165, 0, 165, 0, 167, 167, 168, 157,
373 0, 169, 169, 168, 0, 168, 0, 157,
374 0, 170, 171, 0, 0, 0, 0, 0,
375 0, 0, 0, 0, 0, 0, 0, 0,
376 170, 0, 157, 0, 0, 0, 0, 172,
377 0, 173, 0, 0, 0, 157, 0, 174,
378 0, 175, 0, 176, 167, 167, 168, 157,
379 0, 177, 0, 178, 0, 179, 164, 164,
380 165, 157, 0, 180, 0, 181, 0, 182,
381 161, 161, 162, 157, 0, 183, 0, 184,
382 0, 186, 185, 188, 189, 190, 191, 192,
383 193, 84, 79, 194, 195, 196, 196, 156,
384 197, 198, 199, 200, 201, 187, 203, 204,
385 205, 206, 6, 1, 207, 208, 202, 202,
386 38, 209, 202, 202, 210, 202, 211, 204,
387 212, 212, 6, 1, 207, 208, 202, 202,
388 202, 209, 202, 202, 210, 202, 204, 212,
389 212, 6, 1, 207, 208, 202, 202, 202,
390 209, 202, 202, 210, 202, 213, 202, 202,
391 202, 19, 214, 202, 1, 207, 208, 202,
392 202, 202, 215, 202, 213, 202, 216, 217,
393 218, 219, 6, 1, 207, 208, 202, 202,
394 36, 220, 202, 202, 210, 202, 221, 217,
395 222, 222, 6, 1, 207, 208, 202, 202,
396 202, 220, 202, 202, 210, 202, 217, 222,
397 222, 6, 1, 207, 208, 202, 202, 202,
398 220, 202, 202, 210, 202, 223, 202, 202,
399 202, 19, 224, 202, 1, 207, 208, 202,
400 202, 202, 215, 202, 223, 202, 225, 226,
401 227, 228, 6, 1, 207, 208, 202, 202,
402 34, 229, 202, 202, 210, 202, 230, 226,
403 231, 231, 6, 1, 207, 208, 202, 202,
404 202, 229, 202, 202, 210, 202, 226, 231,
405 231, 6, 1, 207, 208, 202, 202, 202,
406 229, 202, 202, 210, 202, 232, 202, 202,
407 202, 19, 233, 202, 1, 207, 208, 202,
408 202, 202, 215, 202, 232, 202, 234, 235,
409 236, 237, 6, 1, 207, 208, 202, 202,
410 32, 238, 202, 202, 210, 202, 239, 235,
411 240, 240, 6, 1, 207, 208, 202, 202,
412 202, 238, 202, 202, 210, 202, 235, 240,
413 240, 6, 1, 207, 208, 202, 202, 202,
414 238, 202, 202, 210, 202, 241, 202, 202,
415 202, 19, 242, 202, 1, 207, 208, 202,
416 202, 202, 215, 202, 241, 202, 243, 244,
417 245, 246, 6, 1, 207, 208, 202, 202,
418 30, 247, 202, 202, 210, 202, 248, 244,
419 249, 249, 6, 1, 207, 208, 202, 202,
420 202, 247, 202, 202, 210, 202, 244, 249,
421 249, 6, 1, 207, 208, 202, 202, 202,
422 247, 202, 202, 210, 202, 19, 250, 202,
423 1, 207, 208, 202, 202, 202, 215, 202,
424 251, 251, 202, 1, 207, 208, 202, 202,
425 202, 215, 202, 252, 202, 202, 253, 207,
426 208, 202, 207, 208, 202, 254, 202, 207,
427 255, 202, 207, 256, 202, 207, 202, 252,
428 202, 202, 202, 207, 208, 202, 257, 202,
429 258, 259, 202, 1, 207, 208, 202, 202,
430 4, 202, 3, 202, 251, 251, 202, 1,
431 207, 208, 202, 251, 251, 202, 1, 207,
432 208, 202, 257, 202, 251, 251, 202, 1,
433 207, 208, 202, 257, 202, 258, 251, 202,
434 1, 207, 208, 202, 202, 4, 202, 19,
435 202, 260, 260, 6, 1, 207, 208, 202,
436 202, 202, 215, 202, 261, 28, 262, 263,
437 9, 1, 207, 208, 202, 202, 202, 215,
438 202, 28, 262, 263, 9, 1, 207, 208,
439 202, 202, 202, 215, 202, 262, 262, 9,
440 1, 207, 208, 202, 202, 202, 215, 202,
441 264, 25, 265, 266, 12, 1, 207, 208,
442 202, 202, 202, 215, 202, 25, 265, 266,
443 12, 1, 207, 208, 202, 202, 202, 215,
444 202, 265, 265, 12, 1, 207, 208, 202,
445 202, 202, 215, 202, 267, 22, 268, 269,
446 15, 1, 207, 208, 202, 202, 202, 215,
447 202, 22, 268, 269, 15, 1, 207, 208,
448 202, 202, 202, 215, 202, 268, 268, 15,
449 1, 207, 208, 202, 202, 202, 215, 202,
450 270, 19, 251, 271, 202, 1, 207, 208,
451 202, 202, 202, 215, 202, 19, 251, 271,
452 202, 1, 207, 208, 202, 202, 202, 215,
453 202, 251, 272, 202, 1, 207, 208, 202,
454 202, 202, 215, 202, 19, 202, 251, 251,
455 202, 1, 207, 208, 202, 202, 202, 215,
456 202, 2, 3, 202, 202, 19, 250, 202,
457 1, 207, 208, 202, 202, 202, 215, 202,
458 2, 202, 244, 249, 249, 6, 1, 207,
459 208, 202, 202, 202, 247, 202, 243, 244,
460 249, 249, 6, 1, 207, 208, 202, 202,
461 202, 247, 202, 202, 210, 202, 243, 244,
462 245, 249, 6, 1, 207, 208, 202, 202,
463 30, 247, 202, 202, 210, 202, 241, 202,
464 273, 202, 260, 260, 6, 1, 207, 208,
465 202, 202, 202, 215, 202, 241, 202, 241,
466 202, 202, 202, 251, 251, 202, 1, 207,
467 208, 202, 202, 202, 215, 202, 241, 202,
468 241, 202, 202, 202, 251, 274, 202, 1,
469 207, 208, 202, 202, 202, 215, 202, 241,
470 202, 241, 202, 273, 202, 251, 251, 202,
471 1, 207, 208, 202, 202, 202, 215, 202,
472 241, 202, 241, 3, 202, 202, 19, 242,
473 202, 1, 207, 208, 202, 202, 202, 215,
474 202, 241, 202, 234, 235, 240, 240, 6,
475 1, 207, 208, 202, 202, 202, 238, 202,
476 202, 210, 202, 234, 235, 236, 240, 6,
477 1, 207, 208, 202, 202, 32, 238, 202,
478 202, 210, 202, 232, 202, 275, 202, 260,
479 260, 6, 1, 207, 208, 202, 202, 202,
480 215, 202, 232, 202, 232, 202, 202, 202,
481 251, 251, 202, 1, 207, 208, 202, 202,
482 202, 215, 202, 232, 202, 232, 202, 202,
483 202, 251, 276, 202, 1, 207, 208, 202,
484 202, 202, 215, 202, 232, 202, 232, 202,
485 275, 202, 251, 251, 202, 1, 207, 208,
486 202, 202, 202, 215, 202, 232, 202, 232,
487 3, 202, 202, 19, 233, 202, 1, 207,
488 208, 202, 202, 202, 215, 202, 232, 202,
489 225, 226, 231, 231, 6, 1, 207, 208,
490 202, 202, 202, 229, 202, 202, 210, 202,
491 225, 226, 227, 231, 6, 1, 207, 208,
492 202, 202, 34, 229, 202, 202, 210, 202,
493 223, 202, 277, 202, 260, 260, 6, 1,
494 207, 208, 202, 202, 202, 215, 202, 223,
495 202, 223, 202, 202, 202, 251, 251, 202,
496 1, 207, 208, 202, 202, 202, 215, 202,
497 223, 202, 223, 202, 202, 202, 251, 278,
498 202, 1, 207, 208, 202, 202, 202, 215,
499 202, 223, 202, 223, 202, 277, 202, 251,
500 251, 202, 1, 207, 208, 202, 202, 202,
501 215, 202, 223, 202, 223, 3, 202, 202,
502 19, 224, 202, 1, 207, 208, 202, 202,
503 202, 215, 202, 223, 202, 216, 217, 222,
504 222, 6, 1, 207, 208, 202, 202, 202,
505 220, 202, 202, 210, 202, 216, 217, 218,
506 222, 6, 1, 207, 208, 202, 202, 36,
507 220, 202, 202, 210, 202, 213, 202, 279,
508 202, 260, 260, 6, 1, 207, 208, 202,
509 202, 202, 215, 202, 213, 202, 213, 202,
510 202, 202, 251, 251, 202, 1, 207, 208,
511 202, 202, 202, 215, 202, 213, 202, 213,
512 202, 202, 202, 251, 280, 202, 1, 207,
513 208, 202, 202, 202, 215, 202, 213, 202,
514 213, 202, 279, 202, 251, 251, 202, 1,
515 207, 208, 202, 202, 202, 215, 202, 213,
516 202, 213, 3, 202, 202, 19, 214, 202,
517 1, 207, 208, 202, 202, 202, 215, 202,
518 213, 202, 203, 204, 212, 212, 6, 1,
519 207, 208, 202, 202, 202, 209, 202, 202,
520 210, 202, 203, 204, 205, 212, 6, 1,
521 207, 208, 202, 202, 38, 209, 202, 202,
522 210, 202, 282, 283, 284, 285, 45, 40,
523 286, 287, 281, 281, 77, 288, 281, 281,
524 289, 281, 290, 283, 291, 285, 45, 40,
525 286, 287, 281, 281, 281, 288, 281, 281,
526 289, 281, 283, 291, 285, 45, 40, 286,
527 287, 281, 281, 281, 288, 281, 281, 289,
528 281, 292, 281, 281, 281, 58, 293, 281,
529 40, 286, 287, 281, 281, 281, 294, 281,
530 292, 281, 295, 296, 297, 298, 45, 40,
531 286, 287, 281, 281, 75, 299, 281, 281,
532 289, 281, 300, 296, 301, 301, 45, 40,
533 286, 287, 281, 281, 281, 299, 281, 281,
534 289, 281, 296, 301, 301, 45, 40, 286,
535 287, 281, 281, 281, 299, 281, 281, 289,
536 281, 302, 281, 281, 281, 58, 303, 281,
537 40, 286, 287, 281, 281, 281, 294, 281,
538 302, 281, 304, 305, 306, 307, 45, 40,
539 286, 287, 281, 281, 73, 308, 281, 281,
540 289, 281, 309, 305, 310, 310, 45, 40,
541 286, 287, 281, 281, 281, 308, 281, 281,
542 289, 281, 305, 310, 310, 45, 40, 286,
543 287, 281, 281, 281, 308, 281, 281, 289,
544 281, 311, 281, 281, 281, 58, 312, 281,
545 40, 286, 287, 281, 281, 281, 294, 281,
546 311, 281, 313, 314, 315, 316, 45, 40,
547 286, 287, 281, 281, 71, 317, 281, 281,
548 289, 281, 318, 314, 319, 319, 45, 40,
549 286, 287, 281, 281, 281, 317, 281, 281,
550 289, 281, 314, 319, 319, 45, 40, 286,
551 287, 281, 281, 281, 317, 281, 281, 289,
552 281, 320, 281, 281, 281, 58, 321, 281,
553 40, 286, 287, 281, 281, 281, 294, 281,
554 320, 281, 322, 323, 324, 325, 45, 40,
555 286, 287, 281, 281, 69, 326, 281, 281,
556 289, 281, 327, 323, 328, 328, 45, 40,
557 286, 287, 281, 281, 281, 326, 281, 281,
558 289, 281, 323, 328, 328, 45, 40, 286,
559 287, 281, 281, 281, 326, 281, 281, 289,
560 281, 58, 329, 281, 40, 286, 287, 281,
561 281, 281, 294, 281, 330, 330, 281, 40,
562 286, 287, 281, 281, 281, 294, 281, 331,
563 281, 281, 332, 286, 287, 281, 286, 287,
564 281, 333, 281, 286, 334, 281, 286, 335,
565 281, 286, 281, 331, 281, 281, 281, 286,
566 287, 281, 336, 281, 337, 338, 281, 40,
567 286, 287, 281, 281, 43, 281, 42, 281,
568 330, 330, 281, 40, 286, 287, 281, 330,
569 330, 281, 40, 286, 287, 281, 336, 281,
570 330, 330, 281, 40, 286, 287, 281, 336,
571 281, 337, 330, 281, 40, 286, 287, 281,
572 281, 43, 281, 58, 281, 339, 339, 45,
573 40, 286, 287, 281, 281, 281, 294, 281,
574 340, 67, 341, 342, 48, 40, 286, 287,
575 281, 281, 281, 294, 281, 67, 341, 342,
576 48, 40, 286, 287, 281, 281, 281, 294,
577 281, 341, 341, 48, 40, 286, 287, 281,
578 281, 281, 294, 281, 343, 64, 344, 345,
579 51, 40, 286, 287, 281, 281, 281, 294,
580 281, 64, 344, 345, 51, 40, 286, 287,
581 281, 281, 281, 294, 281, 344, 344, 51,
582 40, 286, 287, 281, 281, 281, 294, 281,
583 346, 61, 347, 348, 54, 40, 286, 287,
584 281, 281, 281, 294, 281, 61, 347, 348,
585 54, 40, 286, 287, 281, 281, 281, 294,
586 281, 347, 347, 54, 40, 286, 287, 281,
587 281, 281, 294, 281, 349, 58, 330, 350,
588 281, 40, 286, 287, 281, 281, 281, 294,
589 281, 58, 330, 350, 281, 40, 286, 287,
590 281, 281, 281, 294, 281, 330, 351, 281,
591 40, 286, 287, 281, 281, 281, 294, 281,
592 58, 281, 330, 330, 281, 40, 286, 287,
593 281, 281, 281, 294, 281, 41, 42, 281,
594 281, 58, 329, 281, 40, 286, 287, 281,
595 281, 281, 294, 281, 41, 281, 323, 328,
596 328, 45, 40, 286, 287, 281, 281, 281,
597 326, 281, 322, 323, 328, 328, 45, 40,
598 286, 287, 281, 281, 281, 326, 281, 281,
599 289, 281, 322, 323, 324, 328, 45, 40,
600 286, 287, 281, 281, 69, 326, 281, 281,
601 289, 281, 320, 281, 352, 281, 339, 339,
602 45, 40, 286, 287, 281, 281, 281, 294,
603 281, 320, 281, 320, 281, 281, 281, 330,
604 330, 281, 40, 286, 287, 281, 281, 281,
605 294, 281, 320, 281, 320, 281, 281, 281,
606 330, 353, 281, 40, 286, 287, 281, 281,
607 281, 294, 281, 320, 281, 320, 281, 352,
608 281, 330, 330, 281, 40, 286, 287, 281,
609 281, 281, 294, 281, 320, 281, 320, 42,
610 281, 281, 58, 321, 281, 40, 286, 287,
611 281, 281, 281, 294, 281, 320, 281, 313,
612 314, 319, 319, 45, 40, 286, 287, 281,
613 281, 281, 317, 281, 281, 289, 281, 313,
614 314, 315, 319, 45, 40, 286, 287, 281,
615 281, 71, 317, 281, 281, 289, 281, 311,
616 281, 354, 281, 339, 339, 45, 40, 286,
617 287, 281, 281, 281, 294, 281, 311, 281,
618 311, 281, 281, 281, 330, 330, 281, 40,
619 286, 287, 281, 281, 281, 294, 281, 311,
620 281, 311, 281, 281, 281, 330, 355, 281,
621 40, 286, 287, 281, 281, 281, 294, 281,
622 311, 281, 311, 281, 354, 281, 330, 330,
623 281, 40, 286, 287, 281, 281, 281, 294,
624 281, 311, 281, 311, 42, 281, 281, 58,
625 312, 281, 40, 286, 287, 281, 281, 281,
626 294, 281, 311, 281, 304, 305, 310, 310,
627 45, 40, 286, 287, 281, 281, 281, 308,
628 281, 281, 289, 281, 304, 305, 306, 310,
629 45, 40, 286, 287, 281, 281, 73, 308,
630 281, 281, 289, 281, 302, 281, 356, 281,
631 339, 339, 45, 40, 286, 287, 281, 281,
632 281, 294, 281, 302, 281, 302, 281, 281,
633 281, 330, 330, 281, 40, 286, 287, 281,
634 281, 281, 294, 281, 302, 281, 302, 281,
635 281, 281, 330, 357, 281, 40, 286, 287,
636 281, 281, 281, 294, 281, 302, 281, 302,
637 281, 356, 281, 330, 330, 281, 40, 286,
638 287, 281, 281, 281, 294, 281, 302, 281,
639 302, 42, 281, 281, 58, 303, 281, 40,
640 286, 287, 281, 281, 281, 294, 281, 302,
641 281, 295, 296, 301, 301, 45, 40, 286,
642 287, 281, 281, 281, 299, 281, 281, 289,
643 281, 295, 296, 297, 301, 45, 40, 286,
644 287, 281, 281, 75, 299, 281, 281, 289,
645 281, 292, 281, 358, 281, 339, 339, 45,
646 40, 286, 287, 281, 281, 281, 294, 281,
647 292, 281, 292, 281, 281, 281, 330, 330,
648 281, 40, 286, 287, 281, 281, 281, 294,
649 281, 292, 281, 292, 281, 281, 281, 330,
650 359, 281, 40, 286, 287, 281, 281, 281,
651 294, 281, 292, 281, 292, 281, 358, 281,
652 330, 330, 281, 40, 286, 287, 281, 281,
653 281, 294, 281, 292, 281, 76, 44, 44,
654 45, 40, 281, 281, 281, 281, 281, 76,
655 281, 292, 42, 281, 281, 58, 293, 281,
656 40, 286, 287, 281, 281, 281, 294, 281,
657 292, 281, 282, 283, 291, 285, 45, 40,
658 286, 287, 281, 281, 281, 288, 281, 281,
659 289, 281, 361, 191, 362, 362, 84, 79,
660 194, 195, 360, 360, 360, 197, 360, 360,
661 200, 360, 191, 362, 362, 84, 79, 194,
662 195, 360, 360, 360, 197, 360, 360, 200,
663 360, 363, 360, 360, 360, 98, 364, 360,
664 79, 194, 195, 360, 360, 360, 365, 360,
665 363, 360, 366, 367, 368, 369, 84, 79,
666 194, 195, 360, 360, 115, 370, 360, 360,
667 200, 360, 371, 367, 372, 372, 84, 79,
668 194, 195, 360, 360, 360, 370, 360, 360,
669 200, 360, 367, 372, 372, 84, 79, 194,
670 195, 360, 360, 360, 370, 360, 360, 200,
671 360, 373, 360, 360, 360, 98, 374, 360,
672 79, 194, 195, 360, 360, 360, 365, 360,
673 373, 360, 375, 376, 377, 378, 84, 79,
674 194, 195, 360, 360, 113, 379, 360, 360,
675 200, 360, 380, 376, 381, 381, 84, 79,
676 194, 195, 360, 360, 360, 379, 360, 360,
677 200, 360, 376, 381, 381, 84, 79, 194,
678 195, 360, 360, 360, 379, 360, 360, 200,
679 360, 382, 360, 360, 360, 98, 383, 360,
680 79, 194, 195, 360, 360, 360, 365, 360,
681 382, 360, 384, 385, 386, 387, 84, 79,
682 194, 195, 360, 360, 111, 388, 360, 360,
683 200, 360, 389, 385, 390, 390, 84, 79,
684 194, 195, 360, 360, 360, 388, 360, 360,
685 200, 360, 385, 390, 390, 84, 79, 194,
686 195, 360, 360, 360, 388, 360, 360, 200,
687 360, 391, 360, 360, 360, 98, 392, 360,
688 79, 194, 195, 360, 360, 360, 365, 360,
689 391, 360, 393, 394, 395, 396, 84, 79,
690 194, 195, 360, 360, 109, 397, 360, 360,
691 200, 360, 398, 394, 399, 399, 84, 79,
692 194, 195, 360, 360, 360, 397, 360, 360,
693 200, 360, 394, 399, 399, 84, 79, 194,
694 195, 360, 360, 360, 397, 360, 360, 200,
695 360, 98, 400, 360, 79, 194, 195, 360,
696 360, 360, 365, 360, 401, 401, 360, 79,
697 194, 195, 360, 360, 360, 365, 360, 402,
698 360, 360, 403, 194, 195, 360, 194, 195,
699 360, 404, 360, 194, 405, 360, 194, 406,
700 360, 194, 360, 402, 360, 360, 360, 194,
701 195, 360, 407, 360, 408, 409, 360, 79,
702 194, 195, 360, 360, 82, 360, 81, 360,
703 401, 401, 360, 79, 194, 195, 360, 401,
704 401, 360, 79, 194, 195, 360, 407, 360,
705 401, 401, 360, 79, 194, 195, 360, 407,
706 360, 408, 401, 360, 79, 194, 195, 360,
707 360, 82, 360, 98, 360, 410, 410, 84,
708 79, 194, 195, 360, 360, 360, 365, 360,
709 411, 107, 412, 413, 88, 79, 194, 195,
710 360, 360, 360, 365, 360, 107, 412, 413,
711 88, 79, 194, 195, 360, 360, 360, 365,
712 360, 412, 412, 88, 79, 194, 195, 360,
713 360, 360, 365, 360, 414, 104, 415, 416,
714 91, 79, 194, 195, 360, 360, 360, 365,
715 360, 104, 415, 416, 91, 79, 194, 195,
716 360, 360, 360, 365, 360, 415, 415, 91,
717 79, 194, 195, 360, 360, 360, 365, 360,
718 417, 101, 418, 419, 94, 79, 194, 195,
719 360, 360, 360, 365, 360, 101, 418, 419,
720 94, 79, 194, 195, 360, 360, 360, 365,
721 360, 418, 418, 94, 79, 194, 195, 360,
722 360, 360, 365, 360, 420, 98, 401, 421,
723 360, 79, 194, 195, 360, 360, 360, 365,
724 360, 98, 401, 421, 360, 79, 194, 195,
725 360, 360, 360, 365, 360, 401, 422, 360,
726 79, 194, 195, 360, 360, 360, 365, 360,
727 98, 360, 401, 401, 360, 79, 194, 195,
728 360, 360, 360, 365, 360, 80, 81, 360,
729 360, 98, 400, 360, 79, 194, 195, 360,
730 360, 360, 365, 360, 80, 360, 394, 399,
731 399, 84, 79, 194, 195, 360, 360, 360,
732 397, 360, 393, 394, 399, 399, 84, 79,
733 194, 195, 360, 360, 360, 397, 360, 360,
734 200, 360, 393, 394, 395, 399, 84, 79,
735 194, 195, 360, 360, 109, 397, 360, 360,
736 200, 360, 391, 360, 423, 360, 410, 410,
737 84, 79, 194, 195, 360, 360, 360, 365,
738 360, 391, 360, 391, 360, 360, 360, 401,
739 401, 360, 79, 194, 195, 360, 360, 360,
740 365, 360, 391, 360, 391, 360, 360, 360,
741 401, 424, 360, 79, 194, 195, 360, 360,
742 360, 365, 360, 391, 360, 391, 360, 423,
743 360, 401, 401, 360, 79, 194, 195, 360,
744 360, 360, 365, 360, 391, 360, 391, 81,
745 360, 360, 98, 392, 360, 79, 194, 195,
746 360, 360, 360, 365, 360, 391, 360, 384,
747 385, 390, 390, 84, 79, 194, 195, 360,
748 360, 360, 388, 360, 360, 200, 360, 384,
749 385, 386, 390, 84, 79, 194, 195, 360,
750 360, 111, 388, 360, 360, 200, 360, 382,
751 360, 425, 360, 410, 410, 84, 79, 194,
752 195, 360, 360, 360, 365, 360, 382, 360,
753 382, 360, 360, 360, 401, 401, 360, 79,
754 194, 195, 360, 360, 360, 365, 360, 382,
755 360, 382, 360, 360, 360, 401, 426, 360,
756 79, 194, 195, 360, 360, 360, 365, 360,
757 382, 360, 382, 360, 425, 360, 401, 401,
758 360, 79, 194, 195, 360, 360, 360, 365,
759 360, 382, 360, 382, 81, 360, 360, 98,
760 383, 360, 79, 194, 195, 360, 360, 360,
761 365, 360, 382, 360, 375, 376, 381, 381,
762 84, 79, 194, 195, 360, 360, 360, 379,
763 360, 360, 200, 360, 375, 376, 377, 381,
764 84, 79, 194, 195, 360, 360, 113, 379,
765 360, 360, 200, 360, 373, 360, 427, 360,
766 410, 410, 84, 79, 194, 195, 360, 360,
767 360, 365, 360, 373, 360, 373, 360, 360,
768 360, 401, 401, 360, 79, 194, 195, 360,
769 360, 360, 365, 360, 373, 360, 373, 360,
770 360, 360, 401, 428, 360, 79, 194, 195,
771 360, 360, 360, 365, 360, 373, 360, 373,
772 360, 427, 360, 401, 401, 360, 79, 194,
773 195, 360, 360, 360, 365, 360, 373, 360,
774 373, 81, 360, 360, 98, 374, 360, 79,
775 194, 195, 360, 360, 360, 365, 360, 373,
776 360, 366, 367, 372, 372, 84, 79, 194,
777 195, 360, 360, 360, 370, 360, 360, 200,
778 360, 366, 367, 368, 372, 84, 79, 194,
779 195, 360, 360, 115, 370, 360, 360, 200,
780 360, 363, 360, 429, 360, 410, 410, 84,
781 79, 194, 195, 360, 360, 360, 365, 360,
782 363, 360, 363, 360, 360, 360, 401, 401,
783 360, 79, 194, 195, 360, 360, 360, 365,
784 360, 363, 360, 363, 360, 360, 360, 401,
785 430, 360, 79, 194, 195, 360, 360, 360,
786 365, 360, 363, 360, 363, 360, 429, 360,
787 401, 401, 360, 79, 194, 195, 360, 360,
788 360, 365, 360, 363, 360, 363, 81, 360,
789 360, 98, 364, 360, 79, 194, 195, 360,
790 360, 360, 365, 360, 363, 360, 116, 83,
791 83, 84, 79, 431, 431, 431, 431, 156,
792 116, 431, 190, 191, 362, 362, 84, 79,
793 194, 195, 360, 360, 360, 197, 360, 360,
794 200, 360, 116, 83, 83, 84, 79, 431,
795 431, 431, 431, 431, 116, 431, 433, 434,
796 435, 436, 123, 118, 437, 438, 432, 432,
797 155, 439, 432, 432, 440, 432, 441, 434,
798 436, 436, 123, 118, 437, 438, 432, 432,
799 432, 439, 432, 432, 440, 432, 434, 436,
800 436, 123, 118, 437, 438, 432, 432, 432,
801 439, 432, 432, 440, 432, 442, 432, 432,
802 432, 136, 443, 432, 118, 437, 438, 432,
803 432, 432, 444, 432, 442, 432, 445, 446,
804 447, 448, 123, 118, 437, 438, 432, 432,
805 153, 449, 432, 432, 440, 432, 450, 446,
806 451, 451, 123, 118, 437, 438, 432, 432,
807 432, 449, 432, 432, 440, 432, 446, 451,
808 451, 123, 118, 437, 438, 432, 432, 432,
809 449, 432, 432, 440, 432, 452, 432, 432,
810 432, 136, 453, 432, 118, 437, 438, 432,
811 432, 432, 444, 432, 452, 432, 454, 455,
812 456, 457, 123, 118, 437, 438, 432, 432,
813 151, 458, 432, 432, 440, 432, 459, 455,
814 460, 460, 123, 118, 437, 438, 432, 432,
815 432, 458, 432, 432, 440, 432, 455, 460,
816 460, 123, 118, 437, 438, 432, 432, 432,
817 458, 432, 432, 440, 432, 461, 432, 432,
818 432, 136, 462, 432, 118, 437, 438, 432,
819 432, 432, 444, 432, 461, 432, 463, 464,
820 465, 466, 123, 118, 437, 438, 432, 432,
821 149, 467, 432, 432, 440, 432, 468, 464,
822 469, 469, 123, 118, 437, 438, 432, 432,
823 432, 467, 432, 432, 440, 432, 464, 469,
824 469, 123, 118, 437, 438, 432, 432, 432,
825 467, 432, 432, 440, 432, 470, 432, 432,
826 432, 136, 471, 432, 118, 437, 438, 432,
827 432, 432, 444, 432, 470, 432, 472, 473,
828 474, 475, 123, 118, 437, 438, 432, 432,
829 147, 476, 432, 432, 440, 432, 477, 473,
830 478, 478, 123, 118, 437, 438, 432, 432,
831 432, 476, 432, 432, 440, 432, 473, 478,
832 478, 123, 118, 437, 438, 432, 432, 432,
833 476, 432, 432, 440, 432, 136, 479, 432,
834 118, 437, 438, 432, 432, 432, 444, 432,
835 480, 480, 432, 118, 437, 438, 432, 432,
836 432, 444, 432, 481, 432, 432, 482, 437,
837 438, 432, 437, 438, 432, 483, 432, 437,
838 484, 432, 437, 485, 432, 437, 432, 481,
839 432, 432, 432, 437, 438, 432, 486, 432,
840 487, 488, 432, 118, 437, 438, 432, 432,
841 121, 432, 120, 432, 480, 480, 432, 118,
842 437, 438, 432, 480, 480, 432, 118, 437,
843 438, 432, 486, 432, 480, 480, 432, 118,
844 437, 438, 432, 486, 432, 487, 480, 432,
845 118, 437, 438, 432, 432, 121, 432, 136,
846 432, 489, 489, 123, 118, 437, 438, 432,
847 432, 432, 444, 432, 490, 145, 491, 492,
848 126, 118, 437, 438, 432, 432, 432, 444,
849 432, 145, 491, 492, 126, 118, 437, 438,
850 432, 432, 432, 444, 432, 491, 491, 126,
851 118, 437, 438, 432, 432, 432, 444, 432,
852 493, 142, 494, 495, 129, 118, 437, 438,
853 432, 432, 432, 444, 432, 142, 494, 495,
854 129, 118, 437, 438, 432, 432, 432, 444,
855 432, 494, 494, 129, 118, 437, 438, 432,
856 432, 432, 444, 432, 496, 139, 497, 498,
857 132, 118, 437, 438, 432, 432, 432, 444,
858 432, 139, 497, 498, 132, 118, 437, 438,
859 432, 432, 432, 444, 432, 497, 497, 132,
860 118, 437, 438, 432, 432, 432, 444, 432,
861 499, 136, 480, 500, 432, 118, 437, 438,
862 432, 432, 432, 444, 432, 136, 480, 500,
863 432, 118, 437, 438, 432, 432, 432, 444,
864 432, 480, 501, 432, 118, 437, 438, 432,
865 432, 432, 444, 432, 136, 432, 480, 480,
866 432, 118, 437, 438, 432, 432, 432, 444,
867 432, 119, 120, 432, 432, 136, 479, 432,
868 118, 437, 438, 432, 432, 432, 444, 432,
869 119, 432, 473, 478, 478, 123, 118, 437,
870 438, 432, 432, 432, 476, 432, 472, 473,
871 478, 478, 123, 118, 437, 438, 432, 432,
872 432, 476, 432, 432, 440, 432, 472, 473,
873 474, 478, 123, 118, 437, 438, 432, 432,
874 147, 476, 432, 432, 440, 432, 470, 432,
875 502, 432, 489, 489, 123, 118, 437, 438,
876 432, 432, 432, 444, 432, 470, 432, 470,
877 432, 432, 432, 480, 480, 432, 118, 437,
878 438, 432, 432, 432, 444, 432, 470, 432,
879 470, 432, 432, 432, 480, 503, 432, 118,
880 437, 438, 432, 432, 432, 444, 432, 470,
881 432, 470, 432, 502, 432, 480, 480, 432,
882 118, 437, 438, 432, 432, 432, 444, 432,
883 470, 432, 470, 120, 432, 432, 136, 471,
884 432, 118, 437, 438, 432, 432, 432, 444,
885 432, 470, 432, 463, 464, 469, 469, 123,
886 118, 437, 438, 432, 432, 432, 467, 432,
887 432, 440, 432, 463, 464, 465, 469, 123,
888 118, 437, 438, 432, 432, 149, 467, 432,
889 432, 440, 432, 461, 432, 504, 432, 489,
890 489, 123, 118, 437, 438, 432, 432, 432,
891 444, 432, 461, 432, 461, 432, 432, 432,
892 480, 480, 432, 118, 437, 438, 432, 432,
893 432, 444, 432, 461, 432, 461, 432, 432,
894 432, 480, 505, 432, 118, 437, 438, 432,
895 432, 432, 444, 432, 461, 432, 461, 432,
896 504, 432, 480, 480, 432, 118, 437, 438,
897 432, 432, 432, 444, 432, 461, 432, 461,
898 120, 432, 432, 136, 462, 432, 118, 437,
899 438, 432, 432, 432, 444, 432, 461, 432,
900 454, 455, 460, 460, 123, 118, 437, 438,
901 432, 432, 432, 458, 432, 432, 440, 432,
902 454, 455, 456, 460, 123, 118, 437, 438,
903 432, 432, 151, 458, 432, 432, 440, 432,
904 452, 432, 506, 432, 489, 489, 123, 118,
905 437, 438, 432, 432, 432, 444, 432, 452,
906 432, 452, 432, 432, 432, 480, 480, 432,
907 118, 437, 438, 432, 432, 432, 444, 432,
908 452, 432, 452, 432, 432, 432, 480, 507,
909 432, 118, 437, 438, 432, 432, 432, 444,
910 432, 452, 432, 452, 432, 506, 432, 480,
911 480, 432, 118, 437, 438, 432, 432, 432,
912 444, 432, 452, 432, 452, 120, 432, 432,
913 136, 453, 432, 118, 437, 438, 432, 432,
914 432, 444, 432, 452, 432, 445, 446, 451,
915 451, 123, 118, 437, 438, 432, 432, 432,
916 449, 432, 432, 440, 432, 445, 446, 447,
917 451, 123, 118, 437, 438, 432, 432, 153,
918 449, 432, 432, 440, 432, 442, 432, 508,
919 432, 489, 489, 123, 118, 437, 438, 432,
920 432, 432, 444, 432, 442, 432, 442, 432,
921 432, 432, 480, 480, 432, 118, 437, 438,
922 432, 432, 432, 444, 432, 442, 432, 442,
923 432, 432, 432, 480, 509, 432, 118, 437,
924 438, 432, 432, 432, 444, 432, 442, 432,
925 442, 432, 508, 432, 480, 480, 432, 118,
926 437, 438, 432, 432, 432, 444, 432, 442,
927 432, 442, 120, 432, 432, 136, 443, 432,
928 118, 437, 438, 432, 432, 432, 444, 432,
929 442, 432, 433, 434, 436, 436, 123, 118,
930 437, 438, 432, 432, 432, 439, 432, 432,
931 440, 432, 188, 189, 190, 191, 510, 362,
932 84, 79, 194, 195, 196, 196, 156, 197,
933 360, 188, 200, 360, 203, 511, 205, 206,
934 6, 1, 207, 208, 202, 202, 38, 209,
935 202, 202, 210, 202, 213, 189, 190, 191,
936 512, 513, 84, 157, 514, 515, 202, 196,
937 156, 516, 202, 213, 200, 202, 116, 517,
938 517, 84, 157, 207, 208, 202, 202, 156,
939 518, 202, 519, 202, 202, 520, 514, 515,
940 202, 514, 515, 202, 254, 202, 514, 521,
941 202, 514, 522, 202, 514, 202, 519, 202,
942 202, 202, 514, 515, 202, 523, 3, 360,
943 360, 401, 430, 360, 79, 194, 195, 360,
944 360, 360, 365, 360, 523, 360, 524, 367,
945 525, 526, 84, 157, 514, 515, 202, 202,
946 158, 370, 202, 202, 200, 202, 527, 367,
947 528, 528, 84, 157, 514, 515, 202, 202,
948 202, 370, 202, 202, 200, 202, 367, 528,
949 528, 84, 157, 514, 515, 202, 202, 202,
950 370, 202, 202, 200, 202, 524, 367, 528,
951 528, 84, 157, 514, 515, 202, 202, 202,
952 370, 202, 202, 200, 202, 524, 367, 525,
953 528, 84, 157, 514, 515, 202, 202, 158,
954 370, 202, 202, 200, 202, 213, 202, 279,
955 116, 529, 529, 160, 157, 207, 208, 202,
956 202, 202, 518, 202, 213, 202, 530, 184,
957 531, 532, 162, 157, 514, 515, 202, 202,
958 202, 533, 202, 184, 531, 532, 162, 157,
959 514, 515, 202, 202, 202, 533, 202, 531,
960 531, 162, 157, 514, 515, 202, 202, 202,
961 533, 202, 534, 181, 535, 536, 165, 157,
962 514, 515, 202, 202, 202, 533, 202, 181,
963 535, 536, 165, 157, 514, 515, 202, 202,
964 202, 533, 202, 535, 535, 165, 157, 514,
965 515, 202, 202, 202, 533, 202, 537, 178,
966 538, 539, 168, 157, 514, 515, 202, 202,
967 202, 533, 202, 178, 538, 539, 168, 157,
968 514, 515, 202, 202, 202, 533, 202, 538,
969 538, 168, 157, 514, 515, 202, 202, 202,
970 533, 202, 540, 175, 541, 542, 202, 157,
971 514, 515, 202, 202, 202, 533, 202, 175,
972 541, 542, 202, 157, 514, 515, 202, 202,
973 202, 533, 202, 541, 541, 202, 157, 514,
974 515, 202, 202, 202, 533, 202, 543, 202,
975 544, 545, 202, 157, 514, 515, 202, 202,
976 172, 202, 171, 202, 541, 541, 202, 157,
977 514, 515, 202, 541, 541, 202, 157, 514,
978 515, 202, 543, 202, 541, 541, 202, 157,
979 514, 515, 202, 543, 202, 544, 541, 202,
980 157, 514, 515, 202, 202, 172, 202, 523,
981 171, 360, 360, 98, 364, 360, 79, 194,
982 195, 360, 360, 360, 365, 360, 523, 360,
983 547, 546, 548, 548, 546, 186, 549, 550,
984 546, 548, 548, 546, 186, 549, 550, 546,
985 551, 546, 546, 552, 549, 550, 546, 549,
986 550, 546, 553, 546, 549, 554, 546, 549,
987 555, 546, 549, 546, 551, 546, 546, 546,
988 549, 550, 546, 0
989 };
990
991 static const short _indic_syllable_machine_trans_targs[] = {
992 178, 200, 207, 209, 210, 4, 213, 5,
993 7, 216, 8, 10, 219, 11, 13, 222,
994 14, 16, 17, 199, 19, 20, 221, 22,
995 23, 218, 25, 26, 215, 224, 228, 232,
996 235, 239, 242, 246, 249, 253, 256, 178,
997 279, 286, 288, 289, 41, 292, 42, 44,
998 295, 45, 47, 298, 48, 50, 301, 51,
999 53, 54, 278, 56, 57, 300, 59, 60,
1000 297, 62, 63, 294, 303, 307, 311, 314,
1001 318, 321, 325, 328, 332, 336, 178, 357,
1002 364, 366, 367, 78, 370, 178, 79, 81,
1003 373, 82, 84, 376, 85, 87, 379, 88,
1004 90, 91, 356, 93, 94, 378, 96, 97,
1005 375, 99, 100, 372, 381, 385, 389, 392,
1006 396, 399, 403, 406, 410, 178, 437, 444,
1007 446, 447, 114, 450, 115, 117, 453, 118,
1008 120, 456, 121, 123, 459, 124, 126, 127,
1009 436, 129, 130, 458, 132, 133, 455, 135,
1010 136, 452, 461, 465, 469, 472, 476, 479,
1011 483, 486, 490, 493, 414, 498, 509, 152,
1012 512, 154, 515, 155, 157, 518, 158, 160,
1013 521, 161, 524, 526, 527, 166, 167, 523,
1014 169, 170, 520, 172, 173, 517, 175, 176,
1015 514, 178, 532, 178, 179, 258, 337, 339,
1016 413, 415, 359, 360, 416, 412, 494, 495,
1017 384, 530, 178, 180, 182, 36, 257, 202,
1018 203, 255, 227, 181, 35, 183, 251, 1,
1019 184, 186, 34, 250, 248, 185, 33, 187,
1020 244, 188, 190, 32, 243, 241, 189, 31,
1021 191, 237, 192, 194, 30, 236, 234, 193,
1022 29, 195, 230, 196, 198, 28, 229, 226,
1023 197, 27, 212, 0, 201, 206, 178, 204,
1024 205, 208, 2, 211, 3, 214, 6, 24,
1025 217, 9, 21, 220, 12, 18, 223, 15,
1026 225, 231, 233, 238, 240, 245, 247, 252,
1027 254, 178, 259, 261, 73, 334, 281, 282,
1028 335, 306, 260, 72, 262, 330, 38, 263,
1029 265, 71, 329, 327, 264, 70, 266, 323,
1030 267, 269, 69, 322, 320, 268, 68, 270,
1031 316, 271, 273, 67, 315, 313, 272, 66,
1032 274, 309, 275, 277, 65, 308, 305, 276,
1033 64, 291, 37, 280, 285, 178, 283, 284,
1034 287, 39, 290, 40, 293, 43, 61, 296,
1035 46, 58, 299, 49, 55, 302, 52, 304,
1036 310, 312, 317, 319, 324, 326, 331, 333,
1037 178, 338, 109, 340, 408, 75, 341, 343,
1038 108, 407, 405, 342, 107, 344, 401, 345,
1039 347, 106, 400, 398, 346, 105, 348, 394,
1040 349, 351, 104, 393, 391, 350, 103, 352,
1041 387, 353, 355, 102, 386, 383, 354, 101,
1042 369, 74, 358, 363, 178, 361, 362, 365,
1043 76, 368, 77, 371, 80, 98, 374, 83,
1044 95, 377, 86, 92, 380, 89, 382, 388,
1045 390, 395, 397, 402, 404, 409, 411, 178,
1046 178, 417, 419, 146, 145, 439, 440, 492,
1047 464, 418, 420, 488, 111, 421, 423, 144,
1048 487, 485, 422, 143, 424, 481, 425, 427,
1049 142, 480, 478, 426, 141, 428, 474, 429,
1050 431, 140, 473, 471, 430, 139, 432, 467,
1051 433, 435, 138, 466, 463, 434, 137, 449,
1052 110, 438, 443, 178, 441, 442, 445, 112,
1053 448, 113, 451, 116, 134, 454, 119, 131,
1054 457, 122, 128, 460, 125, 462, 468, 470,
1055 475, 477, 482, 484, 489, 491, 147, 496,
1056 497, 511, 500, 501, 529, 148, 505, 499,
1057 504, 502, 503, 506, 507, 150, 510, 508,
1058 149, 151, 513, 153, 174, 163, 516, 156,
1059 171, 519, 159, 168, 522, 162, 165, 525,
1060 164, 528, 178, 531, 177, 534, 535, 533,
1061 538, 178, 536, 537
1062 };
1063
1064 static const char _indic_syllable_machine_trans_actions[] = {
1065 1, 0, 2, 2, 2, 0, 2, 0,
1066 0, 2, 0, 0, 2, 0, 0, 2,
1067 0, 0, 0, 2, 0, 0, 2, 0,
1068 0, 2, 0, 0, 2, 2, 2, 2,
1069 2, 2, 2, 2, 2, 2, 2, 3,
1070 0, 2, 2, 2, 0, 2, 0, 0,
1071 2, 0, 0, 2, 0, 0, 2, 0,
1072 0, 0, 2, 0, 0, 2, 0, 0,
1073 2, 0, 0, 2, 2, 2, 2, 2,
1074 2, 2, 2, 2, 2, 2, 4, 0,
1075 2, 2, 2, 0, 2, 5, 0, 0,
1076 2, 0, 0, 2, 0, 0, 2, 0,
1077 0, 0, 2, 0, 0, 2, 0, 0,
1078 2, 0, 0, 2, 2, 6, 2, 6,
1079 2, 6, 2, 6, 2, 7, 0, 2,
1080 2, 2, 0, 2, 0, 0, 2, 0,
1081 0, 2, 0, 0, 2, 0, 0, 0,
1082 2, 0, 0, 2, 0, 0, 2, 0,
1083 0, 2, 2, 2, 2, 2, 2, 2,
1084 2, 2, 2, 2, 6, 0, 8, 0,
1085 2, 0, 2, 0, 0, 2, 0, 0,
1086 2, 0, 2, 2, 2, 0, 0, 2,
1087 0, 0, 2, 0, 0, 2, 0, 0,
1088 2, 9, 0, 12, 2, 2, 6, 2,
1089 13, 13, 0, 0, 2, 2, 6, 2,
1090 6, 2, 14, 2, 2, 0, 2, 0,
1091 0, 2, 2, 2, 0, 2, 2, 0,
1092 2, 2, 0, 2, 2, 2, 0, 2,
1093 2, 2, 2, 0, 2, 2, 2, 0,
1094 2, 2, 2, 2, 0, 2, 2, 2,
1095 0, 2, 2, 2, 2, 0, 2, 2,
1096 2, 0, 2, 0, 0, 0, 15, 0,
1097 0, 2, 0, 2, 0, 2, 0, 0,
1098 2, 0, 0, 2, 0, 0, 2, 0,
1099 2, 2, 2, 2, 2, 2, 2, 2,
1100 2, 16, 2, 2, 0, 2, 0, 0,
1101 2, 2, 2, 0, 2, 2, 0, 2,
1102 2, 0, 2, 2, 2, 0, 2, 2,
1103 2, 2, 0, 2, 2, 2, 0, 2,
1104 2, 2, 2, 0, 2, 2, 2, 0,
1105 2, 2, 2, 2, 0, 2, 2, 2,
1106 0, 2, 0, 0, 0, 17, 0, 0,
1107 2, 0, 2, 0, 2, 0, 0, 2,
1108 0, 0, 2, 0, 0, 2, 0, 2,
1109 2, 2, 2, 2, 2, 2, 2, 2,
1110 18, 6, 0, 6, 6, 0, 6, 2,
1111 0, 6, 2, 6, 0, 6, 6, 6,
1112 2, 0, 6, 2, 6, 0, 6, 6,
1113 6, 2, 0, 6, 2, 6, 0, 6,
1114 6, 6, 2, 0, 6, 2, 6, 0,
1115 6, 0, 0, 0, 19, 0, 0, 2,
1116 0, 2, 0, 2, 0, 0, 2, 0,
1117 0, 2, 0, 0, 2, 0, 2, 2,
1118 2, 2, 2, 2, 2, 2, 2, 20,
1119 21, 2, 2, 0, 0, 0, 0, 2,
1120 2, 2, 2, 2, 0, 2, 2, 0,
1121 2, 2, 2, 0, 2, 2, 2, 2,
1122 0, 2, 2, 2, 0, 2, 2, 2,
1123 2, 0, 2, 2, 2, 0, 2, 2,
1124 2, 2, 0, 2, 2, 2, 0, 2,
1125 0, 0, 0, 22, 0, 0, 2, 0,
1126 2, 0, 2, 0, 0, 2, 0, 0,
1127 2, 0, 0, 2, 0, 2, 2, 2,
1128 2, 2, 2, 2, 2, 2, 0, 0,
1129 8, 2, 0, 0, 2, 0, 2, 0,
1130 0, 0, 0, 8, 8, 0, 8, 8,
1131 0, 0, 2, 0, 0, 0, 2, 0,
1132 0, 2, 0, 0, 2, 0, 0, 2,
1133 0, 2, 23, 2, 0, 0, 0, 0,
1134 0, 24, 0, 0
1135 };
1136
1137 static const char _indic_syllable_machine_to_state_actions[] = {
1138 0, 0, 0, 0, 0, 0, 0, 0,
1139 0, 0, 0, 0, 0, 0, 0, 0,
1140 0, 0, 0, 0, 0, 0, 0, 0,
1141 0, 0, 0, 0, 0, 0, 0, 0,
1142 0, 0, 0, 0, 0, 0, 0, 0,
1143 0, 0, 0, 0, 0, 0, 0, 0,
1144 0, 0, 0, 0, 0, 0, 0, 0,
1145 0, 0, 0, 0, 0, 0, 0, 0,
1146 0, 0, 0, 0, 0, 0, 0, 0,
1147 0, 0, 0, 0, 0, 0, 0, 0,
1148 0, 0, 0, 0, 0, 0, 0, 0,
1149 0, 0, 0, 0, 0, 0, 0, 0,
1150 0, 0, 0, 0, 0, 0, 0, 0,
1151 0, 0, 0, 0, 0, 0, 0, 0,
1152 0, 0, 0, 0, 0, 0, 0, 0,
1153 0, 0, 0, 0, 0, 0, 0, 0,
1154 0, 0, 0, 0, 0, 0, 0, 0,
1185 0, 0, 0, 0, 0, 0, 0, 0,
1186 0, 0, 0, 0, 0, 0, 0, 0,
1187 0, 0, 0, 0, 0, 0, 0, 0,
1188 0, 0, 0, 0, 0, 0, 0, 0,
1189 0, 0, 0, 0, 0, 0, 0, 0,
1190 0, 0, 0, 0, 0, 0, 0, 0,
1191 0, 0, 0, 0, 0, 0, 0, 0,
1192 0, 0, 0, 0, 0, 0, 0, 0,
1193 0, 0, 0, 0, 0, 0, 0, 0,
1194 0, 0, 0, 0, 0, 0, 0, 0,
1195 0, 0, 0, 0, 0, 0, 0, 0,
1196 0, 0, 0, 0, 0, 0, 0, 0,
1197 0, 0, 0, 0, 0, 0, 0, 0,
1198 0, 0, 0, 0, 0, 0, 0, 0,
1199 0, 0, 0, 0, 0, 0, 0, 0,
1200 0, 0, 0, 0, 0, 0, 0, 0,
1201 0, 0, 0, 0, 0, 0, 0, 0,
1202 0, 0, 0, 0, 0, 0, 0, 0,
1203 0, 0, 0, 0, 0, 0, 0, 0,
1204 0, 0, 0, 0, 0, 0, 0, 0,
1205 0, 0, 0
1206 };
1207
1208 static const char _indic_syllable_machine_from_state_actions[] = {
1209 0, 0, 0, 0, 0, 0, 0, 0,
1210 0, 0, 0, 0, 0, 0, 0, 0,
1211 0, 0, 0, 0, 0, 0, 0, 0,
1212 0, 0, 0, 0, 0, 0, 0, 0,
1213 0, 0, 0, 0, 0, 0, 0, 0,
1214 0, 0, 0, 0, 0, 0, 0, 0,
1215 0, 0, 0, 0, 0, 0, 0, 0,
1216 0, 0, 0, 0, 0, 0, 0, 0,
1217 0, 0, 0, 0, 0, 0, 0, 0,
1218 0, 0, 0, 0, 0, 0, 0, 0,
1219 0, 0, 0, 0, 0, 0, 0, 0,
1220 0, 0, 0, 0, 0, 0, 0, 0,
1221 0, 0, 0, 0, 0, 0, 0, 0,
1222 0, 0, 0, 0, 0, 0, 0, 0,
1223 0, 0, 0, 0, 0, 0, 0, 0,
1224 0, 0, 0, 0, 0, 0, 0, 0,
1225 0, 0, 0, 0, 0, 0, 0, 0,
1256 0, 0, 0, 0, 0, 0, 0, 0,
1257 0, 0, 0, 0, 0, 0, 0, 0,
1258 0, 0, 0, 0, 0, 0, 0, 0,
1259 0, 0, 0, 0, 0, 0, 0, 0,
1260 0, 0, 0, 0, 0, 0, 0, 0,
1261 0, 0, 0, 0, 0, 0, 0, 0,
1262 0, 0, 0, 0, 0, 0, 0, 0,
1263 0, 0, 0, 0, 0, 0, 0, 0,
1264 0, 0, 0, 0, 0, 0, 0, 0,
1265 0, 0, 0, 0, 0, 0, 0, 0,
1266 0, 0, 0, 0, 0, 0, 0, 0,
1267 0, 0, 0, 0, 0, 0, 0, 0,
1268 0, 0, 0, 0, 0, 0, 0, 0,
1269 0, 0, 0, 0, 0, 0, 0, 0,
1270 0, 0, 0, 0, 0, 0, 0, 0,
1271 0, 0, 0, 0, 0, 0, 0, 0,
1272 0, 0, 0, 0, 0, 0, 0, 0,
1273 0, 0, 0, 0, 0, 0, 0, 0,
1274 0, 0, 0, 0, 0, 0, 0, 0,
1275 0, 0, 0, 0, 0, 0, 0, 0,
1276 0, 0, 0
1277 };
1278
1279 static const short _indic_syllable_machine_eof_trans[] = {
1280 1, 1, 1, 1, 1, 1, 1, 1,
1281 1, 1, 1, 1, 1, 1, 1, 1,
1282 1, 1, 1, 1, 1, 1, 1, 1,
1283 1, 1, 1, 1, 1, 1, 1, 1,
1284 1, 1, 1, 1, 1, 40, 40, 40,
1285 40, 40, 40, 40, 40, 40, 40, 40,
1286 40, 40, 40, 40, 40, 40, 40, 40,
1287 40, 40, 40, 40, 40, 40, 40, 40,
1288 40, 40, 40, 40, 40, 40, 40, 40,
1289 40, 40, 79, 79, 79, 79, 86, 86,
1290 79, 79, 79, 79, 79, 79, 79, 79,
1291 79, 79, 79, 79, 79, 79, 79, 79,
1292 79, 79, 79, 79, 79, 79, 79, 79,
1293 79, 79, 79, 79, 79, 79, 118, 118,
1294 118, 118, 118, 118, 118, 118, 118, 118,
1295 118, 118, 118, 118, 118, 118, 118, 118,
1296 118, 118, 118, 118, 118, 118, 118, 118,
1297 118, 118, 118, 118, 118, 118, 118, 118,
1298 118, 118, 118, 79, 1, 1, 1, 1,
1299 1, 1, 1, 1, 1, 1, 1, 1,
1300 1, 1, 1, 1, 1, 1, 1, 1,
1301 1, 1, 1, 1, 1, 1, 1, 1,
1302 1, 186, 0, 203, 203, 203, 203, 203,
1303 203, 203, 203, 203, 203, 203, 203, 203,
1304 203, 203, 203, 203, 203, 203, 203, 203,
1305 203, 203, 203, 203, 203, 203, 203, 203,
1306 203, 203, 203, 203, 203, 203, 203, 203,
1307 203, 203, 203, 203, 203, 203, 203, 203,
1308 203, 203, 203, 203, 203, 203, 203, 203,
1309 203, 203, 203, 203, 203, 203, 203, 203,
1310 203, 203, 203, 203, 203, 203, 203, 203,
1311 203, 203, 203, 203, 203, 203, 203, 203,
1312 203, 203, 282, 282, 282, 282, 282, 282,
1313 282, 282, 282, 282, 282, 282, 282, 282,
1314 282, 282, 282, 282, 282, 282, 282, 282,
1315 282, 282, 282, 282, 282, 282, 282, 282,
1316 282, 282, 282, 282, 282, 282, 282, 282,
1317 282, 282, 282, 282, 282, 282, 282, 282,
1318 282, 282, 282, 282, 282, 282, 282, 282,
1319 282, 282, 282, 282, 282, 282, 282, 282,
1320 282, 282, 282, 282, 282, 282, 282, 282,
1321 282, 282, 282, 282, 282, 282, 282, 282,
1322 282, 361, 361, 361, 361, 361, 361, 361,
1323 361, 361, 361, 361, 361, 361, 361, 361,
1324 361, 361, 361, 361, 361, 361, 361, 361,
1325 361, 361, 361, 361, 361, 361, 361, 361,
1326 361, 361, 361, 361, 361, 361, 361, 361,
1327 361, 361, 361, 361, 361, 361, 361, 361,
1328 361, 361, 361, 361, 361, 361, 361, 361,
1329 361, 361, 361, 361, 361, 361, 361, 361,
1330 361, 361, 361, 361, 361, 361, 361, 361,
1331 361, 361, 361, 361, 361, 432, 361, 432,
1332 433, 433, 433, 433, 433, 433, 433, 433,
1333 433, 433, 433, 433, 433, 433, 433, 433,
1334 433, 433, 433, 433, 433, 433, 433, 433,
1335 433, 433, 433, 433, 433, 433, 433, 433,
1336 433, 433, 433, 433, 433, 433, 433, 433,
1337 433, 433, 433, 433, 433, 433, 433, 433,
1338 433, 433, 433, 433, 433, 433, 433, 433,
1339 433, 433, 433, 433, 433, 433, 433, 433,
1340 433, 433, 433, 433, 433, 433, 433, 433,
1341 433, 433, 433, 433, 433, 433, 361, 203,
1342 203, 203, 203, 203, 203, 203, 203, 203,
1343 203, 361, 203, 203, 203, 203, 203, 203,
1344 203, 203, 203, 203, 203, 203, 203, 203,
1345 203, 203, 203, 203, 203, 203, 203, 203,
1346 203, 361, 547, 547, 547, 547, 547, 547,
1347 547, 547, 547
1348 };
1349
1350 static const int indic_syllable_machine_start = 178;
1351 static const int indic_syllable_machine_first_final = 178;
1352 static const int indic_syllable_machine_error = -1;
1353
1354 static const int indic_syllable_machine_en_main = 178;
1355
1356
1357 #line 36 "hb-ot-shape-complex-indic-machine.rl"
1358
1359
1360
1361 #line 96 "hb-ot-shape-complex-indic-machine.rl"
1362
1363
1364 #define found_syllable(syllable_type) \
1365 HB_STMT_START { \
1366 if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
1367 for (unsigned int i = last; i < p+1; i++) \
1368 info[i].syllable() = (syllable_serial << 4) | syllable_type; \
1369 last = p+1; \
1370 syllable_serial++; \
1371 if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
1372 } HB_STMT_END
1373
1374 static void
1375 find_syllables (hb_buffer_t *buffer)
1376 {
1377 unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED;
1378 int cs;
1379 hb_glyph_info_t *info = buffer->info;
1380
1381 #line 1382 "hb-ot-shape-complex-indic-machine.hh"
1382 {
1383 cs = indic_syllable_machine_start;
1384 ts = 0;
1385 te = 0;
1386 act = 0;
1387 }
1388
1389 #line 117 "hb-ot-shape-complex-indic-machine.rl"
1390
1391
1392 p = 0;
1393 pe = eof = buffer->len;
1394
1395 unsigned int last = 0;
1396 unsigned int syllable_serial = 1;
1397
1398 #line 1399 "hb-ot-shape-complex-indic-machine.hh"
1399 {
1400 int _slen;
1401 int _trans;
1402 const unsigned char *_keys;
1403 const short *_inds;
1404 if ( p == pe )
1405 goto _test_eof;
1406 _resume:
1407 switch ( _indic_syllable_machine_from_state_actions[cs] ) {
1408 case 11:
1409 #line 1 "NONE"
1410 {ts = p;}
1411 break;
1412 #line 1413 "hb-ot-shape-complex-indic-machine.hh"
1413 }
1414
1415 _keys = _indic_syllable_machine_trans_keys + (cs<<1);
1416 _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs];
1417
1418 _slen = _indic_syllable_machine_key_spans[cs];
1419 _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) &&
1420 ( info[p].indic_category()) <= _keys[1] ?
1421 ( info[p].indic_category()) - _keys[0] : _slen ];
1422
1423 _eof_trans:
1424 cs = _indic_syllable_machine_trans_targs[_trans];
1425
1426 if ( _indic_syllable_machine_trans_actions[_trans] == 0 )
1427 goto _again;
1428
1429 switch ( _indic_syllable_machine_trans_actions[_trans] ) {
1430 case 2:
1431 #line 1 "NONE"
1432 {te = p+1;}
1433 break;
1434 case 15:
1435 #line 87 "hb-ot-shape-complex-indic-machine.rl"
1436 {te = p+1;{ found_syllable (consonant_syllable); }}
1437 break;
1438 case 17:
1439 #line 88 "hb-ot-shape-complex-indic-machine.rl"
1440 {te = p+1;{ found_syllable (vowel_syllable); }}
1441 break;
1442 case 22:
1443 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1444 {te = p+1;{ found_syllable (standalone_cluster); }}
1445 break;
1446 case 24:
1447 #line 90 "hb-ot-shape-complex-indic-machine.rl"
1448 {te = p+1;{ found_syllable (symbol_cluster); }}
1449 break;
1450 case 19:
1451 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1452 {te = p+1;{ found_syllable (broken_cluster); }}
1453 break;
1454 case 12:
1455 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1456 {te = p+1;{ found_syllable (non_indic_cluster); }}
1457 break;
1458 case 14:
1459 #line 87 "hb-ot-shape-complex-indic-machine.rl"
1460 {te = p;p--;{ found_syllable (consonant_syllable); }}
1461 break;
1462 case 16:
1463 #line 88 "hb-ot-shape-complex-indic-machine.rl"
1464 {te = p;p--;{ found_syllable (vowel_syllable); }}
1465 break;
1466 case 21:
1467 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1468 {te = p;p--;{ found_syllable (standalone_cluster); }}
1469 break;
1470 case 23:
1471 #line 90 "hb-ot-shape-complex-indic-machine.rl"
1472 {te = p;p--;{ found_syllable (symbol_cluster); }}
1473 break;
1474 case 18:
1475 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1476 {te = p;p--;{ found_syllable (broken_cluster); }}
1477 break;
1478 case 20:
1479 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1480 {te = p;p--;{ found_syllable (non_indic_cluster); }}
1481 break;
1482 case 1:
1483 #line 87 "hb-ot-shape-complex-indic-machine.rl"
1484 {{p = ((te))-1;}{ found_syllable (consonant_syllable); }}
1485 break;
1486 case 3:
1487 #line 88 "hb-ot-shape-complex-indic-machine.rl"
1488 {{p = ((te))-1;}{ found_syllable (vowel_syllable); }}
1489 break;
1490 case 7:
1491 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1492 {{p = ((te))-1;}{ found_syllable (standalone_cluster); }}
1493 break;
1494 case 9:
1495 #line 90 "hb-ot-shape-complex-indic-machine.rl"
1496 {{p = ((te))-1;}{ found_syllable (symbol_cluster); }}
1497 break;
1498 case 4:
1499 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1500 {{p = ((te))-1;}{ found_syllable (broken_cluster); }}
1501 break;
1502 case 5:
1503 #line 1 "NONE"
1504 { switch( act ) {
1505 case 1:
1506 {{p = ((te))-1;} found_syllable (consonant_syllable); }
1507 break;
1508 case 5:
1509 {{p = ((te))-1;} found_syllable (broken_cluster); }
1510 break;
1511 case 6:
1512 {{p = ((te))-1;} found_syllable (non_indic_cluster); }
1513 break;
1514 }
1515 }
1516 break;
1517 case 8:
1518 #line 1 "NONE"
1519 {te = p+1;}
1520 #line 87 "hb-ot-shape-complex-indic-machine.rl"
1521 {act = 1;}
1522 break;
1523 case 6:
1524 #line 1 "NONE"
1525 {te = p+1;}
1526 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1527 {act = 5;}
1528 break;
1529 case 13:
1530 #line 1 "NONE"
1531 {te = p+1;}
1532 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1533 {act = 6;}
1534 break;
1535 #line 1536 "hb-ot-shape-complex-indic-machine.hh"
1536 }
1537
1538 _again:
1539 switch ( _indic_syllable_machine_to_state_actions[cs] ) {
1540 case 10:
1541 #line 1 "NONE"
1542 {ts = 0;}
1543 break;
1544 #line 1545 "hb-ot-shape-complex-indic-machine.hh"
1545 }
1546
1547 if ( ++p != pe )
1548 goto _resume;
1549 _test_eof: {}
1550 if ( p == eof )
1551 {
1552 if ( _indic_syllable_machine_eof_trans[cs] > 0 ) {
1553 _trans = _indic_syllable_machine_eof_trans[cs] - 1;
1554 goto _eof_trans;
1555 }
1556 }
1557
1558 }
1559
1560 #line 126 "hb-ot-shape-complex-indic-machine.rl"
1561
1562 }
1563
1564 #endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */
|
39 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u,
40 4u, 8u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
41 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, 8u, 13u,
42 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u,
43 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u,
44 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u,
45 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
46 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u, 8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u,
47 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u,
48 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u,
49 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u,
50 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 8u, 8u, 1u, 16u,
51 8u, 13u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u,
52 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u,
53 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u,
54 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
55 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 5u, 8u, 4u, 14u, 4u, 14u, 5u, 8u,
56 5u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u,
57 5u, 7u, 7u, 7u, 8u, 8u, 1u, 16u, 8u, 13u, 4u, 8u, 6u, 6u, 16u, 16u,
58 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u,
59 16u, 16u, 8u, 8u, 1u, 19u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u,
60 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u,
61 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u,
62 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u,
63 3u, 10u, 5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
64 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
65 5u, 14u, 3u, 14u, 1u, 16u, 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u,
66 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u,
67 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
68 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
69 3u, 17u, 3u, 17u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u,
70 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u,
71 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u, 5u, 10u,
72 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u,
73 5u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
74 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
75 3u, 14u, 1u, 16u, 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u,
76 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
77 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
78 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 14u, 1u, 16u,
79 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
84 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 1u, 16u,
85 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
86 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u,
87 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u,
88 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 14u, 3u, 17u, 4u, 14u,
89 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
90 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
91 3u, 17u, 3u, 17u, 4u, 17u, 5u, 14u, 5u, 14u, 5u, 10u, 9u, 10u, 9u, 9u,
92 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u, 5u, 10u, 3u, 10u,
93 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
94 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 1u, 16u,
95 4u, 14u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
96 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u,
97 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u,
98 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 1u, 17u, 3u, 17u,
99 1u, 17u, 4u, 14u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u,
100 5u, 10u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 3u, 17u, 3u, 17u, 1u, 16u,
101 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
102 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 13u, 3u, 10u, 5u, 10u, 3u, 10u,
103 3u, 13u, 1u, 16u, 3u, 10u, 5u, 10u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u,
104 9u, 10u, 9u, 9u, 5u, 10u, 1u, 16u, 0
105 };
106
107 static const char _indic_syllable_machine_key_spans[] = {
108 1, 16, 6, 4, 3, 1, 4, 3,
109 1, 4, 3, 1, 4, 3, 1, 5,
110 1, 1, 5, 1, 1, 5, 1, 1,
111 5, 1, 1, 11, 11, 11, 11, 11,
112 11, 11, 11, 11, 11, 1, 16, 6,
113 4, 3, 1, 4, 3, 1, 4, 3,
114 1, 4, 3, 1, 5, 1, 1, 5,
115 1, 1, 5, 1, 1, 5, 1, 1,
116 11, 11, 11, 11, 11, 11, 11, 11,
117 11, 11, 1, 16, 6, 4, 3, 1,
118 4, 3, 1, 4, 3, 1, 4, 3,
119 1, 5, 1, 1, 5, 1, 1, 5,
120 1, 1, 5, 1, 1, 11, 11, 11,
121 11, 11, 11, 11, 11, 11, 1, 16,
122 6, 4, 3, 1, 4, 3, 1, 4,
123 3, 1, 4, 3, 1, 5, 1, 1,
124 5, 1, 1, 5, 1, 1, 5, 1,
125 1, 11, 11, 11, 11, 11, 11, 11,
126 11, 11, 11, 11, 4, 11, 11, 4,
127 3, 4, 3, 1, 4, 3, 1, 4,
128 3, 1, 1, 16, 6, 5, 1, 1,
129 5, 1, 1, 5, 1, 1, 5, 1,
130 1, 1, 19, 15, 15, 14, 16, 15,
131 15, 14, 16, 15, 15, 14, 16, 15,
132 15, 14, 16, 15, 15, 14, 10, 10,
133 6, 2, 1, 2, 2, 1, 6, 11,
134 8, 6, 8, 11, 12, 12, 11, 10,
135 12, 11, 10, 12, 11, 10, 12, 11,
136 10, 12, 16, 11, 15, 15, 16, 16,
137 16, 16, 16, 15, 15, 16, 16, 16,
138 16, 16, 15, 15, 16, 16, 16, 16,
139 16, 15, 15, 16, 16, 16, 16, 16,
140 15, 15, 15, 15, 14, 16, 15, 15,
141 14, 16, 15, 15, 14, 16, 15, 15,
142 14, 16, 15, 15, 14, 10, 10, 6,
143 2, 1, 2, 2, 1, 6, 11, 8,
144 6, 8, 11, 12, 12, 11, 10, 12,
145 11, 10, 12, 11, 10, 12, 11, 10,
146 12, 16, 11, 15, 15, 16, 16, 16,
147 16, 16, 15, 15, 16, 16, 16, 16,
148 16, 15, 15, 16, 16, 16, 16, 16,
149 15, 15, 16, 16, 16, 16, 11, 16,
150 15, 15, 14, 16, 15, 15, 14, 16,
155 12, 11, 10, 12, 11, 10, 12, 16,
156 11, 15, 15, 16, 16, 16, 16, 16,
157 15, 15, 16, 16, 16, 16, 16, 15,
158 15, 16, 16, 16, 16, 16, 15, 15,
159 16, 16, 16, 16, 16, 11, 15, 11,
160 15, 15, 14, 16, 15, 15, 14, 16,
161 15, 15, 14, 16, 15, 15, 14, 16,
162 15, 15, 14, 10, 10, 6, 2, 1,
163 2, 2, 1, 6, 11, 8, 6, 8,
164 11, 12, 12, 11, 10, 12, 11, 10,
165 12, 11, 10, 12, 11, 10, 12, 16,
166 11, 15, 15, 16, 16, 16, 16, 16,
167 15, 15, 16, 16, 16, 16, 16, 15,
168 15, 16, 16, 16, 16, 16, 15, 15,
169 16, 16, 16, 16, 16, 15, 17, 15,
170 17, 11, 6, 2, 1, 2, 2, 1,
171 6, 16, 15, 15, 14, 15, 15, 16,
172 12, 11, 10, 12, 11, 10, 12, 11,
173 10, 12, 11, 10, 11, 8, 6, 8,
174 11, 16, 8, 6, 6, 2, 1, 2,
175 2, 1, 6, 16
176 };
177
178 static const short _indic_syllable_machine_index_offsets[] = {
179 0, 2, 19, 26, 31, 35, 37, 42,
180 46, 48, 53, 57, 59, 64, 68, 70,
181 76, 78, 80, 86, 88, 90, 96, 98,
182 100, 106, 108, 110, 122, 134, 146, 158,
183 170, 182, 194, 206, 218, 230, 232, 249,
184 256, 261, 265, 267, 272, 276, 278, 283,
185 287, 289, 294, 298, 300, 306, 308, 310,
186 316, 318, 320, 326, 328, 330, 336, 338,
187 340, 352, 364, 376, 388, 400, 412, 424,
188 436, 448, 460, 462, 479, 486, 491, 495,
189 497, 502, 506, 508, 513, 517, 519, 524,
190 528, 530, 536, 538, 540, 546, 548, 550,
191 556, 558, 560, 566, 568, 570, 582, 594,
192 606, 618, 630, 642, 654, 666, 678, 680,
193 697, 704, 709, 713, 715, 720, 724, 726,
194 731, 735, 737, 742, 746, 748, 754, 756,
195 758, 764, 766, 768, 774, 776, 778, 784,
196 786, 788, 800, 812, 824, 836, 848, 860,
197 872, 884, 896, 908, 920, 925, 937, 949,
198 954, 958, 963, 967, 969, 974, 978, 980,
199 985, 989, 991, 993, 1010, 1017, 1023, 1025,
200 1027, 1033, 1035, 1037, 1043, 1045, 1047, 1053,
201 1055, 1057, 1059, 1079, 1095, 1111, 1126, 1143,
202 1159, 1175, 1190, 1207, 1223, 1239, 1254, 1271,
203 1287, 1303, 1318, 1335, 1351, 1367, 1382, 1393,
204 1404, 1411, 1414, 1416, 1419, 1422, 1424, 1431,
205 1443, 1452, 1459, 1468, 1480, 1493, 1506, 1518,
206 1529, 1542, 1554, 1565, 1578, 1590, 1601, 1614,
207 1626, 1637, 1650, 1667, 1679, 1695, 1711, 1728,
208 1745, 1762, 1779, 1796, 1812, 1828, 1845, 1862,
209 1879, 1896, 1913, 1929, 1945, 1962, 1979, 1996,
210 2013, 2030, 2046, 2062, 2079, 2096, 2113, 2130,
211 2147, 2163, 2179, 2195, 2211, 2226, 2243, 2259,
212 2275, 2290, 2307, 2323, 2339, 2354, 2371, 2387,
213 2403, 2418, 2435, 2451, 2467, 2482, 2493, 2504,
214 2511, 2514, 2516, 2519, 2522, 2524, 2531, 2543,
215 2552, 2559, 2568, 2580, 2593, 2606, 2618, 2629,
216 2642, 2654, 2665, 2678, 2690, 2701, 2714, 2726,
217 2737, 2750, 2767, 2779, 2795, 2811, 2828, 2845,
218 2862, 2879, 2896, 2912, 2928, 2945, 2962, 2979,
219 2996, 3013, 3029, 3045, 3062, 3079, 3096, 3113,
220 3130, 3146, 3162, 3179, 3196, 3213, 3230, 3242,
221 3259, 3275, 3291, 3306, 3323, 3339, 3355, 3370,
222 3387, 3403, 3419, 3434, 3451, 3467, 3483, 3498,
223 3515, 3531, 3547, 3562, 3573, 3584, 3591, 3594,
224 3596, 3599, 3602, 3604, 3611, 3623, 3632, 3639,
225 3648, 3660, 3673, 3686, 3698, 3709, 3722, 3734,
226 3745, 3758, 3770, 3781, 3794, 3806, 3817, 3830,
227 3847, 3859, 3875, 3891, 3908, 3925, 3942, 3959,
228 3976, 3992, 4008, 4025, 4042, 4059, 4076, 4093,
229 4109, 4125, 4142, 4159, 4176, 4193, 4210, 4226,
230 4242, 4259, 4276, 4293, 4310, 4327, 4339, 4355,
231 4367, 4383, 4399, 4414, 4431, 4447, 4463, 4478,
232 4495, 4511, 4527, 4542, 4559, 4575, 4591, 4606,
233 4623, 4639, 4655, 4670, 4681, 4692, 4699, 4702,
234 4704, 4707, 4710, 4712, 4719, 4731, 4740, 4747,
235 4756, 4768, 4781, 4794, 4806, 4817, 4830, 4842,
236 4853, 4866, 4878, 4889, 4902, 4914, 4925, 4938,
237 4955, 4967, 4983, 4999, 5016, 5033, 5050, 5067,
238 5084, 5100, 5116, 5133, 5150, 5167, 5184, 5201,
239 5217, 5233, 5250, 5267, 5284, 5301, 5318, 5334,
240 5350, 5367, 5384, 5401, 5418, 5435, 5451, 5469,
241 5485, 5503, 5515, 5522, 5525, 5527, 5530, 5533,
242 5535, 5542, 5559, 5575, 5591, 5606, 5622, 5638,
243 5655, 5668, 5680, 5691, 5704, 5716, 5727, 5740,
244 5752, 5763, 5776, 5788, 5799, 5811, 5820, 5827,
245 5836, 5848, 5865, 5874, 5881, 5888, 5891, 5893,
246 5896, 5899, 5901, 5908
247 };
248
249 static const short _indic_syllable_machine_indicies[] = {
250 1, 0, 2, 3, 0, 0, 0, 0,
251 0, 0, 0, 0, 0, 0, 0, 0,
252 0, 2, 0, 1, 0, 0, 0, 0,
253 4, 0, 5, 5, 6, 1, 0, 7,
254 7, 6, 0, 6, 0, 8, 8, 9,
255 1, 0, 10, 10, 9, 0, 9, 0,
256 11, 11, 12, 1, 0, 13, 13, 12,
257 0, 12, 0, 14, 14, 15, 1, 0,
258 16, 16, 15, 0, 15, 0, 17, 0,
259 0, 0, 1, 0, 18, 0, 19, 0,
260 20, 14, 14, 15, 1, 0, 21, 0,
261 22, 0, 23, 11, 11, 12, 1, 0,
262 24, 0, 25, 0, 26, 8, 8, 9,
263 1, 0, 27, 0, 28, 0, 29, 5,
264 5, 6, 1, 0, 0, 0, 0, 0,
265 29, 0, 29, 5, 5, 6, 1, 0,
266 0, 0, 0, 30, 29, 0, 31, 5,
364 79, 78, 78, 78, 78, 156, 116, 78,
365 86, 86, 84, 1, 0, 114, 83, 83,
366 84, 157, 0, 0, 0, 0, 0, 114,
367 0, 114, 83, 83, 84, 157, 0, 0,
368 0, 0, 158, 114, 0, 159, 159, 160,
369 1, 0, 7, 7, 160, 0, 161, 161,
370 162, 157, 0, 163, 163, 162, 0, 162,
371 0, 164, 164, 165, 157, 0, 166, 166,
372 165, 0, 165, 0, 167, 167, 168, 157,
373 0, 169, 169, 168, 0, 168, 0, 157,
374 0, 170, 171, 0, 0, 0, 0, 0,
375 0, 0, 0, 0, 0, 0, 0, 0,
376 170, 0, 157, 0, 0, 0, 0, 172,
377 0, 173, 0, 0, 0, 157, 0, 174,
378 0, 175, 0, 176, 167, 167, 168, 157,
379 0, 177, 0, 178, 0, 179, 164, 164,
380 165, 157, 0, 180, 0, 181, 0, 182,
381 161, 161, 162, 157, 0, 183, 0, 184,
382 0, 186, 185, 188, 189, 190, 191, 192,
383 193, 84, 79, 194, 195, 196, 196, 156,
384 197, 198, 199, 200, 201, 202, 187, 204,
385 205, 206, 207, 6, 1, 208, 209, 203,
386 203, 38, 210, 203, 203, 211, 203, 212,
387 205, 213, 213, 6, 1, 208, 209, 203,
388 203, 203, 210, 203, 203, 211, 203, 205,
389 213, 213, 6, 1, 208, 209, 203, 203,
390 203, 210, 203, 203, 211, 203, 214, 203,
391 203, 203, 19, 215, 203, 1, 208, 209,
392 203, 203, 203, 216, 203, 214, 203, 217,
393 218, 219, 220, 6, 1, 208, 209, 203,
394 203, 36, 221, 203, 203, 211, 203, 222,
395 218, 223, 223, 6, 1, 208, 209, 203,
396 203, 203, 221, 203, 203, 211, 203, 218,
397 223, 223, 6, 1, 208, 209, 203, 203,
398 203, 221, 203, 203, 211, 203, 224, 203,
399 203, 203, 19, 225, 203, 1, 208, 209,
400 203, 203, 203, 216, 203, 224, 203, 226,
401 227, 228, 229, 6, 1, 208, 209, 203,
402 203, 34, 230, 203, 203, 211, 203, 231,
403 227, 232, 232, 6, 1, 208, 209, 203,
404 203, 203, 230, 203, 203, 211, 203, 227,
405 232, 232, 6, 1, 208, 209, 203, 203,
406 203, 230, 203, 203, 211, 203, 233, 203,
407 203, 203, 19, 234, 203, 1, 208, 209,
408 203, 203, 203, 216, 203, 233, 203, 235,
409 236, 237, 238, 6, 1, 208, 209, 203,
410 203, 32, 239, 203, 203, 211, 203, 240,
411 236, 241, 241, 6, 1, 208, 209, 203,
412 203, 203, 239, 203, 203, 211, 203, 236,
413 241, 241, 6, 1, 208, 209, 203, 203,
414 203, 239, 203, 203, 211, 203, 242, 203,
415 203, 203, 19, 243, 203, 1, 208, 209,
416 203, 203, 203, 216, 203, 242, 203, 244,
417 245, 246, 247, 6, 1, 208, 209, 203,
418 203, 30, 248, 203, 203, 211, 203, 249,
419 245, 250, 250, 6, 1, 208, 209, 203,
420 203, 203, 248, 203, 203, 211, 203, 245,
421 250, 250, 6, 1, 208, 209, 203, 203,
422 203, 248, 203, 203, 211, 203, 19, 251,
423 203, 1, 208, 209, 203, 203, 203, 216,
424 203, 252, 252, 203, 1, 208, 209, 203,
425 203, 203, 216, 203, 253, 203, 203, 254,
426 208, 209, 203, 208, 209, 203, 255, 203,
427 208, 256, 203, 208, 257, 203, 208, 203,
428 253, 203, 203, 203, 208, 209, 203, 258,
429 203, 259, 260, 203, 1, 208, 209, 203,
430 203, 4, 203, 3, 203, 252, 252, 203,
431 1, 208, 209, 203, 252, 252, 203, 1,
432 208, 209, 203, 258, 203, 252, 252, 203,
433 1, 208, 209, 203, 258, 203, 259, 252,
434 203, 1, 208, 209, 203, 203, 4, 203,
435 19, 203, 261, 261, 6, 1, 208, 209,
436 203, 203, 203, 216, 203, 262, 28, 263,
437 264, 9, 1, 208, 209, 203, 203, 203,
438 216, 203, 28, 263, 264, 9, 1, 208,
439 209, 203, 203, 203, 216, 203, 263, 263,
440 9, 1, 208, 209, 203, 203, 203, 216,
441 203, 265, 25, 266, 267, 12, 1, 208,
442 209, 203, 203, 203, 216, 203, 25, 266,
443 267, 12, 1, 208, 209, 203, 203, 203,
444 216, 203, 266, 266, 12, 1, 208, 209,
445 203, 203, 203, 216, 203, 268, 22, 269,
446 270, 15, 1, 208, 209, 203, 203, 203,
447 216, 203, 22, 269, 270, 15, 1, 208,
448 209, 203, 203, 203, 216, 203, 269, 269,
449 15, 1, 208, 209, 203, 203, 203, 216,
450 203, 271, 19, 252, 272, 203, 1, 208,
451 209, 203, 203, 203, 216, 203, 19, 252,
452 272, 203, 1, 208, 209, 203, 203, 203,
453 216, 203, 252, 273, 203, 1, 208, 209,
454 203, 203, 203, 216, 203, 19, 203, 252,
455 252, 203, 1, 208, 209, 203, 203, 203,
456 216, 203, 2, 3, 203, 203, 19, 251,
457 203, 1, 208, 209, 203, 203, 203, 216,
458 203, 2, 203, 245, 250, 250, 6, 1,
459 208, 209, 203, 203, 203, 248, 203, 244,
460 245, 250, 250, 6, 1, 208, 209, 203,
461 203, 203, 248, 203, 203, 211, 203, 244,
462 245, 246, 250, 6, 1, 208, 209, 203,
463 203, 30, 248, 203, 203, 211, 203, 242,
464 203, 274, 203, 261, 261, 6, 1, 208,
465 209, 203, 203, 203, 216, 203, 242, 203,
466 242, 203, 203, 203, 252, 252, 203, 1,
467 208, 209, 203, 203, 203, 216, 203, 242,
468 203, 242, 203, 203, 203, 252, 275, 203,
469 1, 208, 209, 203, 203, 203, 216, 203,
470 242, 203, 242, 203, 274, 203, 252, 252,
471 203, 1, 208, 209, 203, 203, 203, 216,
472 203, 242, 203, 242, 3, 203, 203, 19,
473 243, 203, 1, 208, 209, 203, 203, 203,
474 216, 203, 242, 203, 235, 236, 241, 241,
475 6, 1, 208, 209, 203, 203, 203, 239,
476 203, 203, 211, 203, 235, 236, 237, 241,
477 6, 1, 208, 209, 203, 203, 32, 239,
478 203, 203, 211, 203, 233, 203, 276, 203,
479 261, 261, 6, 1, 208, 209, 203, 203,
480 203, 216, 203, 233, 203, 233, 203, 203,
481 203, 252, 252, 203, 1, 208, 209, 203,
482 203, 203, 216, 203, 233, 203, 233, 203,
483 203, 203, 252, 277, 203, 1, 208, 209,
484 203, 203, 203, 216, 203, 233, 203, 233,
485 203, 276, 203, 252, 252, 203, 1, 208,
486 209, 203, 203, 203, 216, 203, 233, 203,
487 233, 3, 203, 203, 19, 234, 203, 1,
488 208, 209, 203, 203, 203, 216, 203, 233,
489 203, 226, 227, 232, 232, 6, 1, 208,
490 209, 203, 203, 203, 230, 203, 203, 211,
491 203, 226, 227, 228, 232, 6, 1, 208,
492 209, 203, 203, 34, 230, 203, 203, 211,
493 203, 224, 203, 278, 203, 261, 261, 6,
494 1, 208, 209, 203, 203, 203, 216, 203,
495 224, 203, 224, 203, 203, 203, 252, 252,
496 203, 1, 208, 209, 203, 203, 203, 216,
497 203, 224, 203, 224, 203, 203, 203, 252,
498 279, 203, 1, 208, 209, 203, 203, 203,
499 216, 203, 224, 203, 224, 203, 278, 203,
500 252, 252, 203, 1, 208, 209, 203, 203,
501 203, 216, 203, 224, 203, 224, 3, 203,
502 203, 19, 225, 203, 1, 208, 209, 203,
503 203, 203, 216, 203, 224, 203, 217, 218,
504 223, 223, 6, 1, 208, 209, 203, 203,
505 203, 221, 203, 203, 211, 203, 217, 218,
506 219, 223, 6, 1, 208, 209, 203, 203,
507 36, 221, 203, 203, 211, 203, 214, 203,
508 280, 203, 261, 261, 6, 1, 208, 209,
509 203, 203, 203, 216, 203, 214, 203, 214,
510 203, 203, 203, 252, 252, 203, 1, 208,
511 209, 203, 203, 203, 216, 203, 214, 203,
512 214, 203, 203, 203, 252, 281, 203, 1,
513 208, 209, 203, 203, 203, 216, 203, 214,
514 203, 214, 203, 280, 203, 252, 252, 203,
515 1, 208, 209, 203, 203, 203, 216, 203,
516 214, 203, 214, 3, 203, 203, 19, 215,
517 203, 1, 208, 209, 203, 203, 203, 216,
518 203, 214, 203, 204, 205, 213, 213, 6,
519 1, 208, 209, 203, 203, 203, 210, 203,
520 203, 211, 203, 204, 205, 206, 213, 6,
521 1, 208, 209, 203, 203, 38, 210, 203,
522 203, 211, 203, 283, 284, 285, 286, 45,
523 40, 287, 288, 282, 282, 77, 289, 282,
524 282, 290, 282, 291, 284, 292, 286, 45,
525 40, 287, 288, 282, 282, 282, 289, 282,
526 282, 290, 282, 284, 292, 286, 45, 40,
527 287, 288, 282, 282, 282, 289, 282, 282,
528 290, 282, 293, 282, 282, 282, 58, 294,
529 282, 40, 287, 288, 282, 282, 282, 295,
530 282, 293, 282, 296, 297, 298, 299, 45,
531 40, 287, 288, 282, 282, 75, 300, 282,
532 282, 290, 282, 301, 297, 302, 302, 45,
533 40, 287, 288, 282, 282, 282, 300, 282,
534 282, 290, 282, 297, 302, 302, 45, 40,
535 287, 288, 282, 282, 282, 300, 282, 282,
536 290, 282, 303, 282, 282, 282, 58, 304,
537 282, 40, 287, 288, 282, 282, 282, 295,
538 282, 303, 282, 305, 306, 307, 308, 45,
539 40, 287, 288, 282, 282, 73, 309, 282,
540 282, 290, 282, 310, 306, 311, 311, 45,
541 40, 287, 288, 282, 282, 282, 309, 282,
542 282, 290, 282, 306, 311, 311, 45, 40,
543 287, 288, 282, 282, 282, 309, 282, 282,
544 290, 282, 312, 282, 282, 282, 58, 313,
545 282, 40, 287, 288, 282, 282, 282, 295,
546 282, 312, 282, 314, 315, 316, 317, 45,
547 40, 287, 288, 282, 282, 71, 318, 282,
548 282, 290, 282, 319, 315, 320, 320, 45,
549 40, 287, 288, 282, 282, 282, 318, 282,
550 282, 290, 282, 315, 320, 320, 45, 40,
551 287, 288, 282, 282, 282, 318, 282, 282,
552 290, 282, 321, 282, 282, 282, 58, 322,
553 282, 40, 287, 288, 282, 282, 282, 295,
554 282, 321, 282, 323, 324, 325, 326, 45,
555 40, 287, 288, 282, 282, 69, 327, 282,
556 282, 290, 282, 328, 324, 329, 329, 45,
557 40, 287, 288, 282, 282, 282, 327, 282,
558 282, 290, 282, 324, 329, 329, 45, 40,
559 287, 288, 282, 282, 282, 327, 282, 282,
560 290, 282, 58, 330, 282, 40, 287, 288,
561 282, 282, 282, 295, 282, 331, 331, 282,
562 40, 287, 288, 282, 282, 282, 295, 282,
563 332, 282, 282, 333, 287, 288, 282, 287,
564 288, 282, 334, 282, 287, 335, 282, 287,
565 336, 282, 287, 282, 332, 282, 282, 282,
566 287, 288, 282, 337, 282, 338, 339, 282,
567 40, 287, 288, 282, 282, 43, 282, 42,
568 282, 331, 331, 282, 40, 287, 288, 282,
569 331, 331, 282, 40, 287, 288, 282, 337,
570 282, 331, 331, 282, 40, 287, 288, 282,
571 337, 282, 338, 331, 282, 40, 287, 288,
572 282, 282, 43, 282, 58, 282, 340, 340,
573 45, 40, 287, 288, 282, 282, 282, 295,
574 282, 341, 67, 342, 343, 48, 40, 287,
575 288, 282, 282, 282, 295, 282, 67, 342,
576 343, 48, 40, 287, 288, 282, 282, 282,
577 295, 282, 342, 342, 48, 40, 287, 288,
578 282, 282, 282, 295, 282, 344, 64, 345,
579 346, 51, 40, 287, 288, 282, 282, 282,
580 295, 282, 64, 345, 346, 51, 40, 287,
581 288, 282, 282, 282, 295, 282, 345, 345,
582 51, 40, 287, 288, 282, 282, 282, 295,
583 282, 347, 61, 348, 349, 54, 40, 287,
584 288, 282, 282, 282, 295, 282, 61, 348,
585 349, 54, 40, 287, 288, 282, 282, 282,
586 295, 282, 348, 348, 54, 40, 287, 288,
587 282, 282, 282, 295, 282, 350, 58, 331,
588 351, 282, 40, 287, 288, 282, 282, 282,
589 295, 282, 58, 331, 351, 282, 40, 287,
590 288, 282, 282, 282, 295, 282, 331, 352,
591 282, 40, 287, 288, 282, 282, 282, 295,
592 282, 58, 282, 331, 331, 282, 40, 287,
593 288, 282, 282, 282, 295, 282, 41, 42,
594 282, 282, 58, 330, 282, 40, 287, 288,
595 282, 282, 282, 295, 282, 41, 282, 324,
596 329, 329, 45, 40, 287, 288, 282, 282,
597 282, 327, 282, 323, 324, 329, 329, 45,
598 40, 287, 288, 282, 282, 282, 327, 282,
599 282, 290, 282, 323, 324, 325, 329, 45,
600 40, 287, 288, 282, 282, 69, 327, 282,
601 282, 290, 282, 321, 282, 353, 282, 340,
602 340, 45, 40, 287, 288, 282, 282, 282,
603 295, 282, 321, 282, 321, 282, 282, 282,
604 331, 331, 282, 40, 287, 288, 282, 282,
605 282, 295, 282, 321, 282, 321, 282, 282,
606 282, 331, 354, 282, 40, 287, 288, 282,
607 282, 282, 295, 282, 321, 282, 321, 282,
608 353, 282, 331, 331, 282, 40, 287, 288,
609 282, 282, 282, 295, 282, 321, 282, 321,
610 42, 282, 282, 58, 322, 282, 40, 287,
611 288, 282, 282, 282, 295, 282, 321, 282,
612 314, 315, 320, 320, 45, 40, 287, 288,
613 282, 282, 282, 318, 282, 282, 290, 282,
614 314, 315, 316, 320, 45, 40, 287, 288,
615 282, 282, 71, 318, 282, 282, 290, 282,
616 312, 282, 355, 282, 340, 340, 45, 40,
617 287, 288, 282, 282, 282, 295, 282, 312,
618 282, 312, 282, 282, 282, 331, 331, 282,
619 40, 287, 288, 282, 282, 282, 295, 282,
620 312, 282, 312, 282, 282, 282, 331, 356,
621 282, 40, 287, 288, 282, 282, 282, 295,
622 282, 312, 282, 312, 282, 355, 282, 331,
623 331, 282, 40, 287, 288, 282, 282, 282,
624 295, 282, 312, 282, 312, 42, 282, 282,
625 58, 313, 282, 40, 287, 288, 282, 282,
626 282, 295, 282, 312, 282, 305, 306, 311,
627 311, 45, 40, 287, 288, 282, 282, 282,
628 309, 282, 282, 290, 282, 305, 306, 307,
629 311, 45, 40, 287, 288, 282, 282, 73,
630 309, 282, 282, 290, 282, 303, 282, 357,
631 282, 340, 340, 45, 40, 287, 288, 282,
632 282, 282, 295, 282, 303, 282, 303, 282,
633 282, 282, 331, 331, 282, 40, 287, 288,
634 282, 282, 282, 295, 282, 303, 282, 303,
635 282, 282, 282, 331, 358, 282, 40, 287,
636 288, 282, 282, 282, 295, 282, 303, 282,
637 303, 282, 357, 282, 331, 331, 282, 40,
638 287, 288, 282, 282, 282, 295, 282, 303,
639 282, 303, 42, 282, 282, 58, 304, 282,
640 40, 287, 288, 282, 282, 282, 295, 282,
641 303, 282, 296, 297, 302, 302, 45, 40,
642 287, 288, 282, 282, 282, 300, 282, 282,
643 290, 282, 296, 297, 298, 302, 45, 40,
644 287, 288, 282, 282, 75, 300, 282, 282,
645 290, 282, 293, 282, 359, 282, 340, 340,
646 45, 40, 287, 288, 282, 282, 282, 295,
647 282, 293, 282, 293, 282, 282, 282, 331,
648 331, 282, 40, 287, 288, 282, 282, 282,
649 295, 282, 293, 282, 293, 282, 282, 282,
650 331, 360, 282, 40, 287, 288, 282, 282,
651 282, 295, 282, 293, 282, 293, 282, 359,
652 282, 331, 331, 282, 40, 287, 288, 282,
653 282, 282, 295, 282, 293, 282, 76, 44,
654 44, 45, 40, 282, 282, 282, 282, 282,
655 76, 282, 293, 42, 282, 282, 58, 294,
656 282, 40, 287, 288, 282, 282, 282, 295,
657 282, 293, 282, 283, 284, 292, 286, 45,
658 40, 287, 288, 282, 282, 282, 289, 282,
659 282, 290, 282, 362, 191, 363, 363, 84,
660 79, 194, 195, 361, 361, 361, 197, 361,
661 361, 200, 361, 191, 363, 363, 84, 79,
662 194, 195, 361, 361, 361, 197, 361, 361,
663 200, 361, 364, 361, 361, 361, 98, 365,
664 361, 79, 194, 195, 361, 361, 361, 366,
665 361, 364, 361, 367, 368, 369, 370, 84,
666 79, 194, 195, 361, 361, 115, 371, 361,
667 361, 200, 361, 372, 368, 373, 373, 84,
668 79, 194, 195, 361, 361, 361, 371, 361,
669 361, 200, 361, 368, 373, 373, 84, 79,
670 194, 195, 361, 361, 361, 371, 361, 361,
671 200, 361, 374, 361, 361, 361, 98, 375,
672 361, 79, 194, 195, 361, 361, 361, 366,
673 361, 374, 361, 376, 377, 378, 379, 84,
674 79, 194, 195, 361, 361, 113, 380, 361,
675 361, 200, 361, 381, 377, 382, 382, 84,
676 79, 194, 195, 361, 361, 361, 380, 361,
677 361, 200, 361, 377, 382, 382, 84, 79,
678 194, 195, 361, 361, 361, 380, 361, 361,
679 200, 361, 383, 361, 361, 361, 98, 384,
680 361, 79, 194, 195, 361, 361, 361, 366,
681 361, 383, 361, 385, 386, 387, 388, 84,
682 79, 194, 195, 361, 361, 111, 389, 361,
683 361, 200, 361, 390, 386, 391, 391, 84,
684 79, 194, 195, 361, 361, 361, 389, 361,
685 361, 200, 361, 386, 391, 391, 84, 79,
686 194, 195, 361, 361, 361, 389, 361, 361,
687 200, 361, 392, 361, 361, 361, 98, 393,
688 361, 79, 194, 195, 361, 361, 361, 366,
689 361, 392, 361, 394, 395, 396, 397, 84,
690 79, 194, 195, 361, 361, 109, 398, 361,
691 361, 200, 361, 399, 395, 400, 400, 84,
692 79, 194, 195, 361, 361, 361, 398, 361,
693 361, 200, 361, 395, 400, 400, 84, 79,
694 194, 195, 361, 361, 361, 398, 361, 361,
695 200, 361, 98, 401, 361, 79, 194, 195,
696 361, 361, 361, 366, 361, 402, 402, 361,
697 79, 194, 195, 361, 361, 361, 366, 361,
698 403, 361, 361, 404, 194, 195, 361, 194,
699 195, 361, 405, 361, 194, 406, 361, 194,
700 407, 361, 194, 361, 403, 361, 361, 361,
701 194, 195, 361, 408, 361, 409, 410, 361,
702 79, 194, 195, 361, 361, 82, 361, 81,
703 361, 402, 402, 361, 79, 194, 195, 361,
704 402, 402, 361, 79, 194, 195, 361, 408,
705 361, 402, 402, 361, 79, 194, 195, 361,
706 408, 361, 409, 402, 361, 79, 194, 195,
707 361, 361, 82, 361, 98, 361, 411, 411,
708 84, 79, 194, 195, 361, 361, 361, 366,
709 361, 412, 107, 413, 414, 88, 79, 194,
710 195, 361, 361, 361, 366, 361, 107, 413,
711 414, 88, 79, 194, 195, 361, 361, 361,
712 366, 361, 413, 413, 88, 79, 194, 195,
713 361, 361, 361, 366, 361, 415, 104, 416,
714 417, 91, 79, 194, 195, 361, 361, 361,
715 366, 361, 104, 416, 417, 91, 79, 194,
716 195, 361, 361, 361, 366, 361, 416, 416,
717 91, 79, 194, 195, 361, 361, 361, 366,
718 361, 418, 101, 419, 420, 94, 79, 194,
719 195, 361, 361, 361, 366, 361, 101, 419,
720 420, 94, 79, 194, 195, 361, 361, 361,
721 366, 361, 419, 419, 94, 79, 194, 195,
722 361, 361, 361, 366, 361, 421, 98, 402,
723 422, 361, 79, 194, 195, 361, 361, 361,
724 366, 361, 98, 402, 422, 361, 79, 194,
725 195, 361, 361, 361, 366, 361, 402, 423,
726 361, 79, 194, 195, 361, 361, 361, 366,
727 361, 98, 361, 402, 402, 361, 79, 194,
728 195, 361, 361, 361, 366, 361, 80, 81,
729 361, 361, 98, 401, 361, 79, 194, 195,
730 361, 361, 361, 366, 361, 80, 361, 395,
731 400, 400, 84, 79, 194, 195, 361, 361,
732 361, 398, 361, 394, 395, 400, 400, 84,
733 79, 194, 195, 361, 361, 361, 398, 361,
734 361, 200, 361, 394, 395, 396, 400, 84,
735 79, 194, 195, 361, 361, 109, 398, 361,
736 361, 200, 361, 392, 361, 424, 361, 411,
737 411, 84, 79, 194, 195, 361, 361, 361,
738 366, 361, 392, 361, 392, 361, 361, 361,
739 402, 402, 361, 79, 194, 195, 361, 361,
740 361, 366, 361, 392, 361, 392, 361, 361,
741 361, 402, 425, 361, 79, 194, 195, 361,
742 361, 361, 366, 361, 392, 361, 392, 361,
743 424, 361, 402, 402, 361, 79, 194, 195,
744 361, 361, 361, 366, 361, 392, 361, 392,
745 81, 361, 361, 98, 393, 361, 79, 194,
746 195, 361, 361, 361, 366, 361, 392, 361,
747 385, 386, 391, 391, 84, 79, 194, 195,
748 361, 361, 361, 389, 361, 361, 200, 361,
749 385, 386, 387, 391, 84, 79, 194, 195,
750 361, 361, 111, 389, 361, 361, 200, 361,
751 383, 361, 426, 361, 411, 411, 84, 79,
752 194, 195, 361, 361, 361, 366, 361, 383,
753 361, 383, 361, 361, 361, 402, 402, 361,
754 79, 194, 195, 361, 361, 361, 366, 361,
755 383, 361, 383, 361, 361, 361, 402, 427,
756 361, 79, 194, 195, 361, 361, 361, 366,
757 361, 383, 361, 383, 361, 426, 361, 402,
758 402, 361, 79, 194, 195, 361, 361, 361,
759 366, 361, 383, 361, 383, 81, 361, 361,
760 98, 384, 361, 79, 194, 195, 361, 361,
761 361, 366, 361, 383, 361, 376, 377, 382,
762 382, 84, 79, 194, 195, 361, 361, 361,
763 380, 361, 361, 200, 361, 376, 377, 378,
764 382, 84, 79, 194, 195, 361, 361, 113,
765 380, 361, 361, 200, 361, 374, 361, 428,
766 361, 411, 411, 84, 79, 194, 195, 361,
767 361, 361, 366, 361, 374, 361, 374, 361,
768 361, 361, 402, 402, 361, 79, 194, 195,
769 361, 361, 361, 366, 361, 374, 361, 374,
770 361, 361, 361, 402, 429, 361, 79, 194,
771 195, 361, 361, 361, 366, 361, 374, 361,
772 374, 361, 428, 361, 402, 402, 361, 79,
773 194, 195, 361, 361, 361, 366, 361, 374,
774 361, 374, 81, 361, 361, 98, 375, 361,
775 79, 194, 195, 361, 361, 361, 366, 361,
776 374, 361, 367, 368, 373, 373, 84, 79,
777 194, 195, 361, 361, 361, 371, 361, 361,
778 200, 361, 367, 368, 369, 373, 84, 79,
779 194, 195, 361, 361, 115, 371, 361, 361,
780 200, 361, 364, 361, 430, 361, 411, 411,
781 84, 79, 194, 195, 361, 361, 361, 366,
782 361, 364, 361, 364, 361, 361, 361, 402,
783 402, 361, 79, 194, 195, 361, 361, 361,
784 366, 361, 364, 361, 364, 361, 361, 361,
785 402, 431, 361, 79, 194, 195, 361, 361,
786 361, 366, 361, 364, 361, 364, 361, 430,
787 361, 402, 402, 361, 79, 194, 195, 361,
788 361, 361, 366, 361, 364, 361, 364, 81,
789 361, 361, 98, 365, 361, 79, 194, 195,
790 361, 361, 361, 366, 361, 364, 361, 116,
791 83, 83, 84, 79, 432, 432, 432, 432,
792 156, 116, 432, 190, 191, 363, 363, 84,
793 79, 194, 195, 361, 361, 361, 197, 361,
794 361, 200, 361, 116, 83, 83, 84, 79,
795 432, 432, 432, 432, 432, 116, 432, 434,
796 435, 436, 437, 123, 118, 438, 439, 433,
797 433, 155, 440, 433, 433, 441, 433, 442,
798 435, 437, 437, 123, 118, 438, 439, 433,
799 433, 433, 440, 433, 433, 441, 433, 435,
800 437, 437, 123, 118, 438, 439, 433, 433,
801 433, 440, 433, 433, 441, 433, 443, 433,
802 433, 433, 136, 444, 433, 118, 438, 439,
803 433, 433, 433, 445, 433, 443, 433, 446,
804 447, 448, 449, 123, 118, 438, 439, 433,
805 433, 153, 450, 433, 433, 441, 433, 451,
806 447, 452, 452, 123, 118, 438, 439, 433,
807 433, 433, 450, 433, 433, 441, 433, 447,
808 452, 452, 123, 118, 438, 439, 433, 433,
809 433, 450, 433, 433, 441, 433, 453, 433,
810 433, 433, 136, 454, 433, 118, 438, 439,
811 433, 433, 433, 445, 433, 453, 433, 455,
812 456, 457, 458, 123, 118, 438, 439, 433,
813 433, 151, 459, 433, 433, 441, 433, 460,
814 456, 461, 461, 123, 118, 438, 439, 433,
815 433, 433, 459, 433, 433, 441, 433, 456,
816 461, 461, 123, 118, 438, 439, 433, 433,
817 433, 459, 433, 433, 441, 433, 462, 433,
818 433, 433, 136, 463, 433, 118, 438, 439,
819 433, 433, 433, 445, 433, 462, 433, 464,
820 465, 466, 467, 123, 118, 438, 439, 433,
821 433, 149, 468, 433, 433, 441, 433, 469,
822 465, 470, 470, 123, 118, 438, 439, 433,
823 433, 433, 468, 433, 433, 441, 433, 465,
824 470, 470, 123, 118, 438, 439, 433, 433,
825 433, 468, 433, 433, 441, 433, 471, 433,
826 433, 433, 136, 472, 433, 118, 438, 439,
827 433, 433, 433, 445, 433, 471, 433, 473,
828 474, 475, 476, 123, 118, 438, 439, 433,
829 433, 147, 477, 433, 433, 441, 433, 478,
830 474, 479, 479, 123, 118, 438, 439, 433,
831 433, 433, 477, 433, 433, 441, 433, 474,
832 479, 479, 123, 118, 438, 439, 433, 433,
833 433, 477, 433, 433, 441, 433, 136, 480,
834 433, 118, 438, 439, 433, 433, 433, 445,
835 433, 481, 481, 433, 118, 438, 439, 433,
836 433, 433, 445, 433, 482, 433, 433, 483,
837 438, 439, 433, 438, 439, 433, 484, 433,
838 438, 485, 433, 438, 486, 433, 438, 433,
839 482, 433, 433, 433, 438, 439, 433, 487,
840 433, 488, 489, 433, 118, 438, 439, 433,
841 433, 121, 433, 120, 433, 481, 481, 433,
842 118, 438, 439, 433, 481, 481, 433, 118,
843 438, 439, 433, 487, 433, 481, 481, 433,
844 118, 438, 439, 433, 487, 433, 488, 481,
845 433, 118, 438, 439, 433, 433, 121, 433,
846 136, 433, 490, 490, 123, 118, 438, 439,
847 433, 433, 433, 445, 433, 491, 145, 492,
848 493, 126, 118, 438, 439, 433, 433, 433,
849 445, 433, 145, 492, 493, 126, 118, 438,
850 439, 433, 433, 433, 445, 433, 492, 492,
851 126, 118, 438, 439, 433, 433, 433, 445,
852 433, 494, 142, 495, 496, 129, 118, 438,
853 439, 433, 433, 433, 445, 433, 142, 495,
854 496, 129, 118, 438, 439, 433, 433, 433,
855 445, 433, 495, 495, 129, 118, 438, 439,
856 433, 433, 433, 445, 433, 497, 139, 498,
857 499, 132, 118, 438, 439, 433, 433, 433,
858 445, 433, 139, 498, 499, 132, 118, 438,
859 439, 433, 433, 433, 445, 433, 498, 498,
860 132, 118, 438, 439, 433, 433, 433, 445,
861 433, 500, 136, 481, 501, 433, 118, 438,
862 439, 433, 433, 433, 445, 433, 136, 481,
863 501, 433, 118, 438, 439, 433, 433, 433,
864 445, 433, 481, 502, 433, 118, 438, 439,
865 433, 433, 433, 445, 433, 136, 433, 481,
866 481, 433, 118, 438, 439, 433, 433, 433,
867 445, 433, 119, 120, 433, 433, 136, 480,
868 433, 118, 438, 439, 433, 433, 433, 445,
869 433, 119, 433, 474, 479, 479, 123, 118,
870 438, 439, 433, 433, 433, 477, 433, 473,
871 474, 479, 479, 123, 118, 438, 439, 433,
872 433, 433, 477, 433, 433, 441, 433, 473,
873 474, 475, 479, 123, 118, 438, 439, 433,
874 433, 147, 477, 433, 433, 441, 433, 471,
875 433, 503, 433, 490, 490, 123, 118, 438,
876 439, 433, 433, 433, 445, 433, 471, 433,
877 471, 433, 433, 433, 481, 481, 433, 118,
878 438, 439, 433, 433, 433, 445, 433, 471,
879 433, 471, 433, 433, 433, 481, 504, 433,
880 118, 438, 439, 433, 433, 433, 445, 433,
881 471, 433, 471, 433, 503, 433, 481, 481,
882 433, 118, 438, 439, 433, 433, 433, 445,
883 433, 471, 433, 471, 120, 433, 433, 136,
884 472, 433, 118, 438, 439, 433, 433, 433,
885 445, 433, 471, 433, 464, 465, 470, 470,
886 123, 118, 438, 439, 433, 433, 433, 468,
887 433, 433, 441, 433, 464, 465, 466, 470,
888 123, 118, 438, 439, 433, 433, 149, 468,
889 433, 433, 441, 433, 462, 433, 505, 433,
890 490, 490, 123, 118, 438, 439, 433, 433,
891 433, 445, 433, 462, 433, 462, 433, 433,
892 433, 481, 481, 433, 118, 438, 439, 433,
893 433, 433, 445, 433, 462, 433, 462, 433,
894 433, 433, 481, 506, 433, 118, 438, 439,
895 433, 433, 433, 445, 433, 462, 433, 462,
896 433, 505, 433, 481, 481, 433, 118, 438,
897 439, 433, 433, 433, 445, 433, 462, 433,
898 462, 120, 433, 433, 136, 463, 433, 118,
899 438, 439, 433, 433, 433, 445, 433, 462,
900 433, 455, 456, 461, 461, 123, 118, 438,
901 439, 433, 433, 433, 459, 433, 433, 441,
902 433, 455, 456, 457, 461, 123, 118, 438,
903 439, 433, 433, 151, 459, 433, 433, 441,
904 433, 453, 433, 507, 433, 490, 490, 123,
905 118, 438, 439, 433, 433, 433, 445, 433,
906 453, 433, 453, 433, 433, 433, 481, 481,
907 433, 118, 438, 439, 433, 433, 433, 445,
908 433, 453, 433, 453, 433, 433, 433, 481,
909 508, 433, 118, 438, 439, 433, 433, 433,
910 445, 433, 453, 433, 453, 433, 507, 433,
911 481, 481, 433, 118, 438, 439, 433, 433,
912 433, 445, 433, 453, 433, 453, 120, 433,
913 433, 136, 454, 433, 118, 438, 439, 433,
914 433, 433, 445, 433, 453, 433, 446, 447,
915 452, 452, 123, 118, 438, 439, 433, 433,
916 433, 450, 433, 433, 441, 433, 446, 447,
917 448, 452, 123, 118, 438, 439, 433, 433,
918 153, 450, 433, 433, 441, 433, 443, 433,
919 509, 433, 490, 490, 123, 118, 438, 439,
920 433, 433, 433, 445, 433, 443, 433, 443,
921 433, 433, 433, 481, 481, 433, 118, 438,
922 439, 433, 433, 433, 445, 433, 443, 433,
923 443, 433, 433, 433, 481, 510, 433, 118,
924 438, 439, 433, 433, 433, 445, 433, 443,
925 433, 443, 433, 509, 433, 481, 481, 433,
926 118, 438, 439, 433, 433, 433, 445, 433,
927 443, 433, 443, 120, 433, 433, 136, 444,
928 433, 118, 438, 439, 433, 433, 433, 445,
929 433, 443, 433, 434, 435, 437, 437, 123,
930 118, 438, 439, 433, 433, 433, 440, 433,
931 433, 441, 433, 188, 189, 190, 191, 511,
932 363, 84, 79, 194, 195, 196, 196, 156,
933 197, 361, 188, 200, 361, 204, 512, 206,
934 207, 6, 1, 208, 209, 203, 203, 38,
935 210, 203, 203, 211, 203, 214, 189, 190,
936 191, 513, 514, 84, 157, 515, 516, 203,
937 196, 156, 517, 203, 214, 200, 203, 116,
938 518, 518, 84, 157, 208, 209, 203, 203,
939 156, 519, 203, 520, 203, 203, 521, 515,
940 516, 203, 515, 516, 203, 255, 203, 515,
941 522, 203, 515, 523, 203, 515, 203, 520,
942 203, 203, 203, 515, 516, 203, 524, 3,
943 361, 361, 402, 431, 361, 79, 194, 195,
944 361, 361, 361, 366, 361, 524, 361, 525,
945 368, 526, 527, 84, 157, 515, 516, 203,
946 203, 158, 371, 203, 203, 200, 203, 528,
947 368, 529, 529, 84, 157, 515, 516, 203,
948 203, 203, 371, 203, 203, 200, 203, 368,
949 529, 529, 84, 157, 515, 516, 203, 203,
950 203, 371, 203, 203, 200, 203, 525, 368,
951 529, 529, 84, 157, 515, 516, 203, 203,
952 203, 371, 203, 203, 200, 203, 525, 368,
953 526, 529, 84, 157, 515, 516, 203, 203,
954 158, 371, 203, 203, 200, 203, 214, 203,
955 280, 116, 530, 530, 160, 157, 208, 209,
956 203, 203, 203, 519, 203, 214, 203, 531,
957 184, 532, 533, 162, 157, 515, 516, 203,
958 203, 203, 534, 203, 184, 532, 533, 162,
959 157, 515, 516, 203, 203, 203, 534, 203,
960 532, 532, 162, 157, 515, 516, 203, 203,
961 203, 534, 203, 535, 181, 536, 537, 165,
962 157, 515, 516, 203, 203, 203, 534, 203,
963 181, 536, 537, 165, 157, 515, 516, 203,
964 203, 203, 534, 203, 536, 536, 165, 157,
965 515, 516, 203, 203, 203, 534, 203, 538,
966 178, 539, 540, 168, 157, 515, 516, 203,
967 203, 203, 534, 203, 178, 539, 540, 168,
968 157, 515, 516, 203, 203, 203, 534, 203,
969 539, 539, 168, 157, 515, 516, 203, 203,
970 203, 534, 203, 541, 175, 542, 543, 203,
971 157, 515, 516, 203, 203, 203, 534, 203,
972 175, 542, 543, 203, 157, 515, 516, 203,
973 203, 203, 534, 203, 542, 542, 203, 157,
974 515, 516, 203, 203, 203, 534, 203, 544,
975 203, 545, 546, 203, 157, 515, 516, 203,
976 203, 172, 203, 171, 203, 542, 542, 203,
977 157, 515, 516, 203, 542, 542, 203, 157,
978 515, 516, 203, 544, 203, 542, 542, 203,
979 157, 515, 516, 203, 544, 203, 545, 542,
980 203, 157, 515, 516, 203, 203, 172, 203,
981 524, 171, 361, 361, 98, 365, 361, 79,
982 194, 195, 361, 361, 361, 366, 361, 524,
983 361, 548, 547, 549, 549, 547, 186, 550,
984 551, 547, 549, 549, 547, 186, 550, 551,
985 547, 552, 547, 547, 553, 550, 551, 547,
986 550, 551, 547, 554, 547, 550, 555, 547,
987 550, 556, 547, 550, 547, 552, 547, 547,
988 547, 550, 551, 547, 188, 432, 432, 432,
989 432, 432, 432, 432, 432, 432, 196, 432,
990 432, 432, 432, 188, 432, 0
991 };
992
993 static const short _indic_syllable_machine_trans_targs[] = {
994 178, 200, 207, 209, 210, 4, 213, 5,
995 7, 216, 8, 10, 219, 11, 13, 222,
996 14, 16, 17, 199, 19, 20, 221, 22,
997 23, 218, 25, 26, 215, 224, 228, 232,
998 235, 239, 242, 246, 249, 253, 256, 178,
999 279, 286, 288, 289, 41, 292, 42, 44,
1000 295, 45, 47, 298, 48, 50, 301, 51,
1001 53, 54, 278, 56, 57, 300, 59, 60,
1002 297, 62, 63, 294, 303, 307, 311, 314,
1003 318, 321, 325, 328, 332, 336, 178, 357,
1004 364, 366, 367, 78, 370, 178, 79, 81,
1005 373, 82, 84, 376, 85, 87, 379, 88,
1006 90, 91, 356, 93, 94, 378, 96, 97,
1007 375, 99, 100, 372, 381, 385, 389, 392,
1008 396, 399, 403, 406, 410, 178, 437, 444,
1009 446, 447, 114, 450, 115, 117, 453, 118,
1010 120, 456, 121, 123, 459, 124, 126, 127,
1011 436, 129, 130, 458, 132, 133, 455, 135,
1012 136, 452, 461, 465, 469, 472, 476, 479,
1013 483, 486, 490, 493, 414, 498, 509, 152,
1014 512, 154, 515, 155, 157, 518, 158, 160,
1015 521, 161, 524, 526, 527, 166, 167, 523,
1016 169, 170, 520, 172, 173, 517, 175, 176,
1017 514, 178, 532, 178, 179, 258, 337, 339,
1018 413, 415, 359, 360, 416, 412, 494, 495,
1019 384, 530, 539, 178, 180, 182, 36, 257,
1020 202, 203, 255, 227, 181, 35, 183, 251,
1021 1, 184, 186, 34, 250, 248, 185, 33,
1022 187, 244, 188, 190, 32, 243, 241, 189,
1023 31, 191, 237, 192, 194, 30, 236, 234,
1024 193, 29, 195, 230, 196, 198, 28, 229,
1025 226, 197, 27, 212, 0, 201, 206, 178,
1026 204, 205, 208, 2, 211, 3, 214, 6,
1027 24, 217, 9, 21, 220, 12, 18, 223,
1028 15, 225, 231, 233, 238, 240, 245, 247,
1029 252, 254, 178, 259, 261, 73, 334, 281,
1030 282, 335, 306, 260, 72, 262, 330, 38,
1031 263, 265, 71, 329, 327, 264, 70, 266,
1032 323, 267, 269, 69, 322, 320, 268, 68,
1033 270, 316, 271, 273, 67, 315, 313, 272,
1034 66, 274, 309, 275, 277, 65, 308, 305,
1035 276, 64, 291, 37, 280, 285, 178, 283,
1036 284, 287, 39, 290, 40, 293, 43, 61,
1037 296, 46, 58, 299, 49, 55, 302, 52,
1038 304, 310, 312, 317, 319, 324, 326, 331,
1039 333, 178, 338, 109, 340, 408, 75, 341,
1040 343, 108, 407, 405, 342, 107, 344, 401,
1041 345, 347, 106, 400, 398, 346, 105, 348,
1042 394, 349, 351, 104, 393, 391, 350, 103,
1043 352, 387, 353, 355, 102, 386, 383, 354,
1044 101, 369, 74, 358, 363, 178, 361, 362,
1045 365, 76, 368, 77, 371, 80, 98, 374,
1046 83, 95, 377, 86, 92, 380, 89, 382,
1047 388, 390, 395, 397, 402, 404, 409, 411,
1048 178, 178, 417, 419, 146, 145, 439, 440,
1049 492, 464, 418, 420, 488, 111, 421, 423,
1050 144, 487, 485, 422, 143, 424, 481, 425,
1051 427, 142, 480, 478, 426, 141, 428, 474,
1052 429, 431, 140, 473, 471, 430, 139, 432,
1053 467, 433, 435, 138, 466, 463, 434, 137,
1054 449, 110, 438, 443, 178, 441, 442, 445,
1055 112, 448, 113, 451, 116, 134, 454, 119,
1056 131, 457, 122, 128, 460, 125, 462, 468,
1057 470, 475, 477, 482, 484, 489, 491, 147,
1058 496, 497, 511, 500, 501, 529, 148, 505,
1059 499, 504, 502, 503, 506, 507, 150, 510,
1060 508, 149, 151, 513, 153, 174, 163, 516,
1061 156, 171, 519, 159, 168, 522, 162, 165,
1062 525, 164, 528, 178, 531, 177, 534, 535,
1063 533, 538, 178, 536, 537
1064 };
1065
1066 static const char _indic_syllable_machine_trans_actions[] = {
1067 1, 0, 2, 2, 2, 0, 2, 0,
1068 0, 2, 0, 0, 2, 0, 0, 2,
1069 0, 0, 0, 2, 0, 0, 2, 0,
1070 0, 2, 0, 0, 2, 2, 2, 2,
1071 2, 2, 2, 2, 2, 2, 2, 3,
1072 0, 2, 2, 2, 0, 2, 0, 0,
1073 2, 0, 0, 2, 0, 0, 2, 0,
1074 0, 0, 2, 0, 0, 2, 0, 0,
1075 2, 0, 0, 2, 2, 2, 2, 2,
1076 2, 2, 2, 2, 2, 2, 4, 0,
1077 2, 2, 2, 0, 2, 5, 0, 0,
1078 2, 0, 0, 2, 0, 0, 2, 0,
1079 0, 0, 2, 0, 0, 2, 0, 0,
1080 2, 0, 0, 2, 2, 6, 2, 6,
1081 2, 6, 2, 6, 2, 7, 0, 2,
1082 2, 2, 0, 2, 0, 0, 2, 0,
1083 0, 2, 0, 0, 2, 0, 0, 0,
1084 2, 0, 0, 2, 0, 0, 2, 0,
1085 0, 2, 2, 2, 2, 2, 2, 2,
1086 2, 2, 2, 2, 6, 0, 8, 0,
1087 2, 0, 2, 0, 0, 2, 0, 0,
1088 2, 0, 2, 2, 2, 0, 0, 2,
1089 0, 0, 2, 0, 0, 2, 0, 0,
1090 2, 9, 0, 12, 2, 2, 6, 2,
1091 13, 13, 0, 0, 2, 2, 6, 2,
1092 6, 2, 0, 14, 2, 2, 0, 2,
1093 0, 0, 2, 2, 2, 0, 2, 2,
1094 0, 2, 2, 0, 2, 2, 2, 0,
1095 2, 2, 2, 2, 0, 2, 2, 2,
1096 0, 2, 2, 2, 2, 0, 2, 2,
1097 2, 0, 2, 2, 2, 2, 0, 2,
1098 2, 2, 0, 2, 0, 0, 0, 15,
1099 0, 0, 2, 0, 2, 0, 2, 0,
1100 0, 2, 0, 0, 2, 0, 0, 2,
1101 0, 2, 2, 2, 2, 2, 2, 2,
1102 2, 2, 16, 2, 2, 0, 2, 0,
1103 0, 2, 2, 2, 0, 2, 2, 0,
1104 2, 2, 0, 2, 2, 2, 0, 2,
1105 2, 2, 2, 0, 2, 2, 2, 0,
1106 2, 2, 2, 2, 0, 2, 2, 2,
1107 0, 2, 2, 2, 2, 0, 2, 2,
1108 2, 0, 2, 0, 0, 0, 17, 0,
1109 0, 2, 0, 2, 0, 2, 0, 0,
1110 2, 0, 0, 2, 0, 0, 2, 0,
1111 2, 2, 2, 2, 2, 2, 2, 2,
1112 2, 18, 6, 0, 6, 6, 0, 6,
1113 2, 0, 6, 2, 6, 0, 6, 6,
1114 6, 2, 0, 6, 2, 6, 0, 6,
1115 6, 6, 2, 0, 6, 2, 6, 0,
1116 6, 6, 6, 2, 0, 6, 2, 6,
1117 0, 6, 0, 0, 0, 19, 0, 0,
1118 2, 0, 2, 0, 2, 0, 0, 2,
1119 0, 0, 2, 0, 0, 2, 0, 2,
1120 2, 2, 2, 2, 2, 2, 2, 2,
1121 20, 21, 2, 2, 0, 0, 0, 0,
1122 2, 2, 2, 2, 2, 0, 2, 2,
1123 0, 2, 2, 2, 0, 2, 2, 2,
1124 2, 0, 2, 2, 2, 0, 2, 2,
1125 2, 2, 0, 2, 2, 2, 0, 2,
1126 2, 2, 2, 0, 2, 2, 2, 0,
1127 2, 0, 0, 0, 22, 0, 0, 2,
1128 0, 2, 0, 2, 0, 0, 2, 0,
1129 0, 2, 0, 0, 2, 0, 2, 2,
1130 2, 2, 2, 2, 2, 2, 2, 0,
1131 0, 8, 2, 0, 0, 2, 0, 2,
1132 0, 0, 0, 0, 8, 8, 0, 8,
1133 8, 0, 0, 2, 0, 0, 0, 2,
1134 0, 0, 2, 0, 0, 2, 0, 0,
1135 2, 0, 2, 23, 2, 0, 0, 0,
1136 0, 0, 24, 0, 0
1137 };
1138
1139 static const char _indic_syllable_machine_to_state_actions[] = {
1140 0, 0, 0, 0, 0, 0, 0, 0,
1141 0, 0, 0, 0, 0, 0, 0, 0,
1142 0, 0, 0, 0, 0, 0, 0, 0,
1143 0, 0, 0, 0, 0, 0, 0, 0,
1144 0, 0, 0, 0, 0, 0, 0, 0,
1145 0, 0, 0, 0, 0, 0, 0, 0,
1146 0, 0, 0, 0, 0, 0, 0, 0,
1147 0, 0, 0, 0, 0, 0, 0, 0,
1148 0, 0, 0, 0, 0, 0, 0, 0,
1149 0, 0, 0, 0, 0, 0, 0, 0,
1150 0, 0, 0, 0, 0, 0, 0, 0,
1151 0, 0, 0, 0, 0, 0, 0, 0,
1152 0, 0, 0, 0, 0, 0, 0, 0,
1153 0, 0, 0, 0, 0, 0, 0, 0,
1154 0, 0, 0, 0, 0, 0, 0, 0,
1155 0, 0, 0, 0, 0, 0, 0, 0,
1156 0, 0, 0, 0, 0, 0, 0, 0,
1187 0, 0, 0, 0, 0, 0, 0, 0,
1188 0, 0, 0, 0, 0, 0, 0, 0,
1189 0, 0, 0, 0, 0, 0, 0, 0,
1190 0, 0, 0, 0, 0, 0, 0, 0,
1191 0, 0, 0, 0, 0, 0, 0, 0,
1192 0, 0, 0, 0, 0, 0, 0, 0,
1193 0, 0, 0, 0, 0, 0, 0, 0,
1194 0, 0, 0, 0, 0, 0, 0, 0,
1195 0, 0, 0, 0, 0, 0, 0, 0,
1196 0, 0, 0, 0, 0, 0, 0, 0,
1197 0, 0, 0, 0, 0, 0, 0, 0,
1198 0, 0, 0, 0, 0, 0, 0, 0,
1199 0, 0, 0, 0, 0, 0, 0, 0,
1200 0, 0, 0, 0, 0, 0, 0, 0,
1201 0, 0, 0, 0, 0, 0, 0, 0,
1202 0, 0, 0, 0, 0, 0, 0, 0,
1203 0, 0, 0, 0, 0, 0, 0, 0,
1204 0, 0, 0, 0, 0, 0, 0, 0,
1205 0, 0, 0, 0, 0, 0, 0, 0,
1206 0, 0, 0, 0, 0, 0, 0, 0,
1207 0, 0, 0, 0
1208 };
1209
1210 static const char _indic_syllable_machine_from_state_actions[] = {
1211 0, 0, 0, 0, 0, 0, 0, 0,
1212 0, 0, 0, 0, 0, 0, 0, 0,
1213 0, 0, 0, 0, 0, 0, 0, 0,
1214 0, 0, 0, 0, 0, 0, 0, 0,
1215 0, 0, 0, 0, 0, 0, 0, 0,
1216 0, 0, 0, 0, 0, 0, 0, 0,
1217 0, 0, 0, 0, 0, 0, 0, 0,
1218 0, 0, 0, 0, 0, 0, 0, 0,
1219 0, 0, 0, 0, 0, 0, 0, 0,
1220 0, 0, 0, 0, 0, 0, 0, 0,
1221 0, 0, 0, 0, 0, 0, 0, 0,
1222 0, 0, 0, 0, 0, 0, 0, 0,
1223 0, 0, 0, 0, 0, 0, 0, 0,
1224 0, 0, 0, 0, 0, 0, 0, 0,
1225 0, 0, 0, 0, 0, 0, 0, 0,
1226 0, 0, 0, 0, 0, 0, 0, 0,
1227 0, 0, 0, 0, 0, 0, 0, 0,
1258 0, 0, 0, 0, 0, 0, 0, 0,
1259 0, 0, 0, 0, 0, 0, 0, 0,
1260 0, 0, 0, 0, 0, 0, 0, 0,
1261 0, 0, 0, 0, 0, 0, 0, 0,
1262 0, 0, 0, 0, 0, 0, 0, 0,
1263 0, 0, 0, 0, 0, 0, 0, 0,
1264 0, 0, 0, 0, 0, 0, 0, 0,
1265 0, 0, 0, 0, 0, 0, 0, 0,
1266 0, 0, 0, 0, 0, 0, 0, 0,
1267 0, 0, 0, 0, 0, 0, 0, 0,
1268 0, 0, 0, 0, 0, 0, 0, 0,
1269 0, 0, 0, 0, 0, 0, 0, 0,
1270 0, 0, 0, 0, 0, 0, 0, 0,
1271 0, 0, 0, 0, 0, 0, 0, 0,
1272 0, 0, 0, 0, 0, 0, 0, 0,
1273 0, 0, 0, 0, 0, 0, 0, 0,
1274 0, 0, 0, 0, 0, 0, 0, 0,
1275 0, 0, 0, 0, 0, 0, 0, 0,
1276 0, 0, 0, 0, 0, 0, 0, 0,
1277 0, 0, 0, 0, 0, 0, 0, 0,
1278 0, 0, 0, 0
1279 };
1280
1281 static const short _indic_syllable_machine_eof_trans[] = {
1282 1, 1, 1, 1, 1, 1, 1, 1,
1283 1, 1, 1, 1, 1, 1, 1, 1,
1284 1, 1, 1, 1, 1, 1, 1, 1,
1285 1, 1, 1, 1, 1, 1, 1, 1,
1286 1, 1, 1, 1, 1, 40, 40, 40,
1287 40, 40, 40, 40, 40, 40, 40, 40,
1288 40, 40, 40, 40, 40, 40, 40, 40,
1289 40, 40, 40, 40, 40, 40, 40, 40,
1290 40, 40, 40, 40, 40, 40, 40, 40,
1291 40, 40, 79, 79, 79, 79, 86, 86,
1292 79, 79, 79, 79, 79, 79, 79, 79,
1293 79, 79, 79, 79, 79, 79, 79, 79,
1294 79, 79, 79, 79, 79, 79, 79, 79,
1295 79, 79, 79, 79, 79, 79, 118, 118,
1296 118, 118, 118, 118, 118, 118, 118, 118,
1297 118, 118, 118, 118, 118, 118, 118, 118,
1298 118, 118, 118, 118, 118, 118, 118, 118,
1299 118, 118, 118, 118, 118, 118, 118, 118,
1300 118, 118, 118, 79, 1, 1, 1, 1,
1301 1, 1, 1, 1, 1, 1, 1, 1,
1302 1, 1, 1, 1, 1, 1, 1, 1,
1303 1, 1, 1, 1, 1, 1, 1, 1,
1304 1, 186, 0, 204, 204, 204, 204, 204,
1305 204, 204, 204, 204, 204, 204, 204, 204,
1306 204, 204, 204, 204, 204, 204, 204, 204,
1307 204, 204, 204, 204, 204, 204, 204, 204,
1308 204, 204, 204, 204, 204, 204, 204, 204,
1309 204, 204, 204, 204, 204, 204, 204, 204,
1310 204, 204, 204, 204, 204, 204, 204, 204,
1311 204, 204, 204, 204, 204, 204, 204, 204,
1312 204, 204, 204, 204, 204, 204, 204, 204,
1313 204, 204, 204, 204, 204, 204, 204, 204,
1314 204, 204, 283, 283, 283, 283, 283, 283,
1315 283, 283, 283, 283, 283, 283, 283, 283,
1316 283, 283, 283, 283, 283, 283, 283, 283,
1317 283, 283, 283, 283, 283, 283, 283, 283,
1318 283, 283, 283, 283, 283, 283, 283, 283,
1319 283, 283, 283, 283, 283, 283, 283, 283,
1320 283, 283, 283, 283, 283, 283, 283, 283,
1321 283, 283, 283, 283, 283, 283, 283, 283,
1322 283, 283, 283, 283, 283, 283, 283, 283,
1323 283, 283, 283, 283, 283, 283, 283, 283,
1324 283, 362, 362, 362, 362, 362, 362, 362,
1325 362, 362, 362, 362, 362, 362, 362, 362,
1326 362, 362, 362, 362, 362, 362, 362, 362,
1327 362, 362, 362, 362, 362, 362, 362, 362,
1328 362, 362, 362, 362, 362, 362, 362, 362,
1329 362, 362, 362, 362, 362, 362, 362, 362,
1330 362, 362, 362, 362, 362, 362, 362, 362,
1331 362, 362, 362, 362, 362, 362, 362, 362,
1332 362, 362, 362, 362, 362, 362, 362, 362,
1333 362, 362, 362, 362, 362, 433, 362, 433,
1334 434, 434, 434, 434, 434, 434, 434, 434,
1335 434, 434, 434, 434, 434, 434, 434, 434,
1336 434, 434, 434, 434, 434, 434, 434, 434,
1337 434, 434, 434, 434, 434, 434, 434, 434,
1338 434, 434, 434, 434, 434, 434, 434, 434,
1339 434, 434, 434, 434, 434, 434, 434, 434,
1340 434, 434, 434, 434, 434, 434, 434, 434,
1341 434, 434, 434, 434, 434, 434, 434, 434,
1342 434, 434, 434, 434, 434, 434, 434, 434,
1343 434, 434, 434, 434, 434, 434, 362, 204,
1344 204, 204, 204, 204, 204, 204, 204, 204,
1345 204, 362, 204, 204, 204, 204, 204, 204,
1346 204, 204, 204, 204, 204, 204, 204, 204,
1347 204, 204, 204, 204, 204, 204, 204, 204,
1348 204, 362, 548, 548, 548, 548, 548, 548,
1349 548, 548, 548, 433
1350 };
1351
1352 static const int indic_syllable_machine_start = 178;
1353 static const int indic_syllable_machine_first_final = 178;
1354 static const int indic_syllable_machine_error = -1;
1355
1356 static const int indic_syllable_machine_en_main = 178;
1357
1358
1359 #line 36 "hb-ot-shape-complex-indic-machine.rl"
1360
1361
1362
1363 #line 97 "hb-ot-shape-complex-indic-machine.rl"
1364
1365
1366 #define found_syllable(syllable_type) \
1367 HB_STMT_START { \
1368 if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
1369 for (unsigned int i = last; i < p+1; i++) \
1370 info[i].syllable() = (syllable_serial << 4) | syllable_type; \
1371 last = p+1; \
1372 syllable_serial++; \
1373 if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
1374 } HB_STMT_END
1375
1376 static void
1377 find_syllables (hb_buffer_t *buffer)
1378 {
1379 unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED;
1380 int cs;
1381 hb_glyph_info_t *info = buffer->info;
1382
1383 #line 1384 "hb-ot-shape-complex-indic-machine.hh"
1384 {
1385 cs = indic_syllable_machine_start;
1386 ts = 0;
1387 te = 0;
1388 act = 0;
1389 }
1390
1391 #line 118 "hb-ot-shape-complex-indic-machine.rl"
1392
1393
1394 p = 0;
1395 pe = eof = buffer->len;
1396
1397 unsigned int last = 0;
1398 unsigned int syllable_serial = 1;
1399
1400 #line 1401 "hb-ot-shape-complex-indic-machine.hh"
1401 {
1402 int _slen;
1403 int _trans;
1404 const unsigned char *_keys;
1405 const short *_inds;
1406 if ( p == pe )
1407 goto _test_eof;
1408 _resume:
1409 switch ( _indic_syllable_machine_from_state_actions[cs] ) {
1410 case 11:
1411 #line 1 "NONE"
1412 {ts = p;}
1413 break;
1414 #line 1415 "hb-ot-shape-complex-indic-machine.hh"
1415 }
1416
1417 _keys = _indic_syllable_machine_trans_keys + (cs<<1);
1418 _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs];
1419
1420 _slen = _indic_syllable_machine_key_spans[cs];
1421 _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) &&
1422 ( info[p].indic_category()) <= _keys[1] ?
1423 ( info[p].indic_category()) - _keys[0] : _slen ];
1424
1425 _eof_trans:
1426 cs = _indic_syllable_machine_trans_targs[_trans];
1427
1428 if ( _indic_syllable_machine_trans_actions[_trans] == 0 )
1429 goto _again;
1430
1431 switch ( _indic_syllable_machine_trans_actions[_trans] ) {
1432 case 2:
1433 #line 1 "NONE"
1434 {te = p+1;}
1435 break;
1436 case 15:
1437 #line 88 "hb-ot-shape-complex-indic-machine.rl"
1438 {te = p+1;{ found_syllable (consonant_syllable); }}
1439 break;
1440 case 17:
1441 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1442 {te = p+1;{ found_syllable (vowel_syllable); }}
1443 break;
1444 case 22:
1445 #line 90 "hb-ot-shape-complex-indic-machine.rl"
1446 {te = p+1;{ found_syllable (standalone_cluster); }}
1447 break;
1448 case 24:
1449 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1450 {te = p+1;{ found_syllable (symbol_cluster); }}
1451 break;
1452 case 19:
1453 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1454 {te = p+1;{ found_syllable (broken_cluster); }}
1455 break;
1456 case 12:
1457 #line 93 "hb-ot-shape-complex-indic-machine.rl"
1458 {te = p+1;{ found_syllable (non_indic_cluster); }}
1459 break;
1460 case 14:
1461 #line 88 "hb-ot-shape-complex-indic-machine.rl"
1462 {te = p;p--;{ found_syllable (consonant_syllable); }}
1463 break;
1464 case 16:
1465 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1466 {te = p;p--;{ found_syllable (vowel_syllable); }}
1467 break;
1468 case 21:
1469 #line 90 "hb-ot-shape-complex-indic-machine.rl"
1470 {te = p;p--;{ found_syllable (standalone_cluster); }}
1471 break;
1472 case 23:
1473 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1474 {te = p;p--;{ found_syllable (symbol_cluster); }}
1475 break;
1476 case 18:
1477 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1478 {te = p;p--;{ found_syllable (broken_cluster); }}
1479 break;
1480 case 20:
1481 #line 93 "hb-ot-shape-complex-indic-machine.rl"
1482 {te = p;p--;{ found_syllable (non_indic_cluster); }}
1483 break;
1484 case 1:
1485 #line 88 "hb-ot-shape-complex-indic-machine.rl"
1486 {{p = ((te))-1;}{ found_syllable (consonant_syllable); }}
1487 break;
1488 case 3:
1489 #line 89 "hb-ot-shape-complex-indic-machine.rl"
1490 {{p = ((te))-1;}{ found_syllable (vowel_syllable); }}
1491 break;
1492 case 7:
1493 #line 90 "hb-ot-shape-complex-indic-machine.rl"
1494 {{p = ((te))-1;}{ found_syllable (standalone_cluster); }}
1495 break;
1496 case 9:
1497 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1498 {{p = ((te))-1;}{ found_syllable (symbol_cluster); }}
1499 break;
1500 case 4:
1501 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1502 {{p = ((te))-1;}{ found_syllable (broken_cluster); }}
1503 break;
1504 case 5:
1505 #line 1 "NONE"
1506 { switch( act ) {
1507 case 1:
1508 {{p = ((te))-1;} found_syllable (consonant_syllable); }
1509 break;
1510 case 5:
1511 {{p = ((te))-1;} found_syllable (broken_cluster); }
1512 break;
1513 case 6:
1514 {{p = ((te))-1;} found_syllable (non_indic_cluster); }
1515 break;
1516 }
1517 }
1518 break;
1519 case 8:
1520 #line 1 "NONE"
1521 {te = p+1;}
1522 #line 88 "hb-ot-shape-complex-indic-machine.rl"
1523 {act = 1;}
1524 break;
1525 case 6:
1526 #line 1 "NONE"
1527 {te = p+1;}
1528 #line 92 "hb-ot-shape-complex-indic-machine.rl"
1529 {act = 5;}
1530 break;
1531 case 13:
1532 #line 1 "NONE"
1533 {te = p+1;}
1534 #line 93 "hb-ot-shape-complex-indic-machine.rl"
1535 {act = 6;}
1536 break;
1537 #line 1538 "hb-ot-shape-complex-indic-machine.hh"
1538 }
1539
1540 _again:
1541 switch ( _indic_syllable_machine_to_state_actions[cs] ) {
1542 case 10:
1543 #line 1 "NONE"
1544 {ts = 0;}
1545 break;
1546 #line 1547 "hb-ot-shape-complex-indic-machine.hh"
1547 }
1548
1549 if ( ++p != pe )
1550 goto _resume;
1551 _test_eof: {}
1552 if ( p == eof )
1553 {
1554 if ( _indic_syllable_machine_eof_trans[cs] > 0 ) {
1555 _trans = _indic_syllable_machine_eof_trans[cs] - 1;
1556 goto _eof_trans;
1557 }
1558 }
1559
1560 }
1561
1562 #line 127 "hb-ot-shape-complex-indic-machine.rl"
1563
1564 }
1565
1566 #endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */
|