js2 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3959 @@
1
+
2
+ #line 1 "meta/final_tokenizer.rl"
3
+ # Somewhat based on http://www.mozilla.org/js/language/js20-2000-07/formal/lexer-grammar.html
4
+ # Regular Expression Literals determined with these rules:
5
+ # http://www.mozilla.org/js/language/js20-1999-03-25/tokens.html
6
+
7
+
8
+ #line 469 "meta/final_tokenizer.rl"
9
+
10
+
11
+ require 'rubygems'
12
+ require 'inline'
13
+
14
+ class JS2::Parser::Fast
15
+ attr_accessor :data
16
+
17
+ inline do |builder|
18
+ builder.c_raw <<-END
19
+
20
+ int do_parse (int argc, VALUE *argv, VALUE self) {
21
+ // convert ruby string to char*
22
+ VALUE r_str = argv[0];
23
+ int data_length = RSTRING(r_str)->len;
24
+ char* data = STR2CSTR(r_str);
25
+
26
+ VALUE ln_argv[1];
27
+ int ln_argc = 1;
28
+ int line_number = 1;
29
+ ID ln_sym = rb_intern("set_line_number");
30
+
31
+ // do_next vars
32
+ VALUE do_next_argv[4];
33
+ int do_next_argc = 4;
34
+ ID do_next_sym = rb_intern("do_next");
35
+
36
+ VALUE set_static_argv[0];
37
+ int set_static_argc = 0;
38
+ ID set_static_sym = rb_intern("set_static");
39
+
40
+ // state vars
41
+ int i = 0; // iterator
42
+ int j = 0; // iterator
43
+ char word[100]; // keyword
44
+ char single;
45
+
46
+ int curr = 0;
47
+ int prev = -1;
48
+ int cb_count = 0;
49
+ int br_count = 0;
50
+
51
+ // CLASS
52
+ int in_CLASS = 0;
53
+ int start_CLASS = -1;
54
+ int line_CLASS = 0;
55
+ int cb_lvl_CLASS = -1;
56
+ int br_lvl_CLASS = 0;
57
+ ID sym_CLASS = ID2SYM(rb_intern("CLASS"));
58
+ // METHOD
59
+ int in_METHOD = 0;
60
+ int start_METHOD = -1;
61
+ int line_METHOD = 0;
62
+ int cb_lvl_METHOD = -1;
63
+ int br_lvl_METHOD = 0;
64
+ ID sym_METHOD = ID2SYM(rb_intern("METHOD"));
65
+ // MEMBER
66
+ int in_MEMBER = 0;
67
+ int start_MEMBER = -1;
68
+ int line_MEMBER = 0;
69
+ int cb_lvl_MEMBER = -1;
70
+ int br_lvl_MEMBER = 0;
71
+ ID sym_MEMBER = ID2SYM(rb_intern("MEMBER"));
72
+ // STUFF
73
+ int in_STUFF = 0;
74
+ int start_STUFF = -1;
75
+ int line_STUFF = 0;
76
+ int cb_lvl_STUFF = -1;
77
+ int br_lvl_STUFF = 0;
78
+ ID sym_STUFF = ID2SYM(rb_intern("STUFF"));
79
+ // ACCESSOR
80
+ int in_ACCESSOR = 0;
81
+ int start_ACCESSOR = -1;
82
+ int line_ACCESSOR = 0;
83
+ int cb_lvl_ACCESSOR = -1;
84
+ int br_lvl_ACCESSOR = 0;
85
+ ID sym_ACCESSOR = ID2SYM(rb_intern("ACCESSOR"));
86
+ // COMMENT
87
+ int in_COMMENT = 0;
88
+ int start_COMMENT = -1;
89
+ int line_COMMENT = 0;
90
+ int cb_lvl_COMMENT = -1;
91
+ int br_lvl_COMMENT = 0;
92
+ ID sym_COMMENT = ID2SYM(rb_intern("COMMENT"));
93
+ // FOREACH
94
+ int in_FOREACH = 0;
95
+ int start_FOREACH = -1;
96
+ int line_FOREACH = 0;
97
+ int cb_lvl_FOREACH = -1;
98
+ int br_lvl_FOREACH = 0;
99
+ ID sym_FOREACH = ID2SYM(rb_intern("FOREACH"));
100
+ // MODULE
101
+ int in_MODULE = 0;
102
+ int start_MODULE = -1;
103
+ int line_MODULE = 0;
104
+ int cb_lvl_MODULE = -1;
105
+ int br_lvl_MODULE = 0;
106
+ ID sym_MODULE = ID2SYM(rb_intern("MODULE"));
107
+ // INCLUDE
108
+ int in_INCLUDE = 0;
109
+ int start_INCLUDE = -1;
110
+ int line_INCLUDE = 0;
111
+ int cb_lvl_INCLUDE = -1;
112
+ int br_lvl_INCLUDE = 0;
113
+ ID sym_INCLUDE = ID2SYM(rb_intern("INCLUDE"));
114
+ // CURRY
115
+ int in_CURRY = 0;
116
+ int start_CURRY = -1;
117
+ int line_CURRY = 0;
118
+ int cb_lvl_CURRY = -1;
119
+ int br_lvl_CURRY = 0;
120
+ ID sym_CURRY = ID2SYM(rb_intern("CURRY"));
121
+ // PROPERTY
122
+ int in_PROPERTY = 0;
123
+ int start_PROPERTY = -1;
124
+ int line_PROPERTY = 0;
125
+ int cb_lvl_PROPERTY = -1;
126
+ int br_lvl_PROPERTY = 0;
127
+ ID sym_PROPERTY = ID2SYM(rb_intern("PROPERTY"));
128
+
129
+
130
+ // ragel variables
131
+ int cs, act;
132
+ char *ts = NULL;
133
+ char *te = NULL;
134
+ char *p = data;
135
+ char *pe = p + data_length;
136
+ char *eof = pe;
137
+ char* regexp_start = NULL;
138
+
139
+ in_STUFF = 1;
140
+ start_STUFF = curr;
141
+ line_STUFF = line_number;
142
+ cb_lvl_STUFF = cb_count;
143
+ br_lvl_STUFF = br_count;
144
+
145
+
146
+
147
+ #line 148 "meta/final_tokenizer.c"
148
+ static const char _dude_actions[] = {
149
+ 0, 1, 1, 1, 2, 1, 3, 1,
150
+ 4, 1, 5, 1, 6, 1, 7, 1,
151
+ 14, 1, 15, 1, 16, 1, 17, 1,
152
+ 18, 1, 19, 1, 20, 1, 21, 1,
153
+ 22, 1, 23, 1, 24, 1, 25, 1,
154
+ 26, 1, 27, 1, 28, 1, 29, 1,
155
+ 30, 1, 31, 1, 32, 1, 33, 1,
156
+ 34, 1, 35, 1, 36, 1, 37, 1,
157
+ 38, 1, 39, 1, 40, 1, 41, 1,
158
+ 42, 1, 43, 1, 44, 1, 45, 1,
159
+ 46, 1, 47, 1, 48, 1, 49, 1,
160
+ 50, 1, 51, 1, 52, 1, 53, 1,
161
+ 54, 1, 55, 1, 56, 1, 57, 1,
162
+ 58, 1, 59, 1, 60, 1, 61, 1,
163
+ 62, 1, 63, 1, 64, 1, 65, 1,
164
+ 66, 1, 67, 1, 68, 1, 69, 1,
165
+ 70, 1, 71, 1, 72, 1, 73, 1,
166
+ 74, 1, 75, 1, 76, 1, 77, 1,
167
+ 78, 1, 79, 1, 80, 1, 81, 1,
168
+ 82, 1, 83, 1, 84, 1, 85, 1,
169
+ 86, 1, 87, 1, 88, 1, 89, 1,
170
+ 90, 1, 91, 1, 92, 1, 93, 1,
171
+ 94, 1, 95, 1, 96, 1, 97, 1,
172
+ 98, 1, 99, 1, 100, 1, 101, 1,
173
+ 102, 1, 103, 1, 104, 1, 105, 1,
174
+ 106, 1, 107, 1, 108, 1, 109, 1,
175
+ 110, 1, 111, 1, 112, 1, 113, 1,
176
+ 114, 1, 115, 1, 116, 1, 117, 1,
177
+ 118, 1, 119, 1, 120, 1, 121, 1,
178
+ 122, 1, 123, 1, 124, 1, 125, 1,
179
+ 126, 2, 7, 0, 2, 7, 8, 2,
180
+ 7, 9, 2, 7, 10, 2, 7, 11,
181
+ 2, 7, 12, 2, 7, 13
182
+ };
183
+
184
+ static const short _dude_key_offsets[] = {
185
+ 0, 5, 9, 13, 15, 20, 24, 28,
186
+ 30, 34, 37, 43, 49, 55, 61, 66,
187
+ 70, 74, 76, 81, 85, 89, 91, 96,
188
+ 100, 104, 106, 111, 115, 119, 121, 126,
189
+ 130, 134, 136, 141, 145, 149, 151, 155,
190
+ 158, 164, 170, 176, 182, 187, 191, 195,
191
+ 197, 202, 206, 210, 212, 217, 221, 225,
192
+ 227, 232, 236, 240, 242, 247, 251, 255,
193
+ 257, 262, 266, 270, 272, 277, 281, 285,
194
+ 287, 289, 293, 295, 300, 304, 308, 310,
195
+ 315, 319, 323, 325, 330, 334, 338, 340,
196
+ 345, 349, 353, 355, 359, 362, 366, 367,
197
+ 372, 376, 380, 382, 387, 391, 395, 397,
198
+ 402, 406, 410, 412, 417, 421, 425, 427,
199
+ 432, 436, 440, 442, 447, 451, 455, 457,
200
+ 462, 466, 470, 472, 477, 481, 485, 487,
201
+ 492, 496, 500, 502, 507, 511, 515, 517,
202
+ 522, 526, 530, 532, 537, 541, 545, 547,
203
+ 552, 556, 560, 562, 567, 571, 575, 577,
204
+ 582, 586, 590, 592, 597, 601, 605, 607,
205
+ 612, 616, 620, 622, 627, 631, 635, 637,
206
+ 642, 646, 650, 652, 657, 661, 665, 667,
207
+ 672, 676, 680, 682, 688, 693, 697, 701,
208
+ 703, 708, 712, 716, 718, 723, 727, 731,
209
+ 733, 738, 742, 746, 748, 753, 757, 761,
210
+ 763, 768, 772, 776, 778, 783, 787, 791,
211
+ 793, 798, 802, 806, 808, 813, 817, 821,
212
+ 823, 830, 843, 857, 863, 869, 870, 871,
213
+ 872, 877, 890, 904, 910, 915, 920, 924,
214
+ 928, 930, 935, 939, 943, 945, 950, 954,
215
+ 958, 960, 965, 969, 973, 975, 980, 984,
216
+ 988, 990, 995, 999, 1003, 1005, 1010, 1014,
217
+ 1018, 1020, 1025, 1029, 1033, 1035, 1040, 1044,
218
+ 1048, 1050, 1055, 1059, 1063, 1065, 1070, 1074,
219
+ 1078, 1080, 1085, 1089, 1093, 1095, 1100, 1104,
220
+ 1108, 1110, 1115, 1119, 1123, 1125, 1130, 1134,
221
+ 1138, 1140, 1145, 1149, 1153, 1155, 1160, 1164,
222
+ 1168, 1170, 1175, 1179, 1183, 1185, 1190, 1194,
223
+ 1198, 1200, 1205, 1209, 1213, 1215, 1220, 1224,
224
+ 1228, 1230, 1235, 1239, 1243, 1245, 1250, 1254,
225
+ 1258, 1260, 1265, 1269, 1273, 1275, 1280, 1284,
226
+ 1288, 1290, 1295, 1299, 1303, 1305, 1310, 1314,
227
+ 1318, 1320, 1325, 1329, 1333, 1335, 1340, 1344,
228
+ 1348, 1350, 1355, 1359, 1363, 1365, 1370, 1374,
229
+ 1378, 1380, 1385, 1389, 1393, 1395, 1400, 1404,
230
+ 1408, 1410, 1415, 1419, 1423, 1425, 1430, 1434,
231
+ 1438, 1440, 1445, 1449, 1453, 1455, 1460, 1464,
232
+ 1468, 1470, 1475, 1479, 1483, 1485, 1490, 1494,
233
+ 1498, 1500, 1505, 1509, 1513, 1515, 1520, 1524,
234
+ 1528, 1530, 1535, 1539, 1543, 1545, 1550, 1554,
235
+ 1558, 1560, 1565, 1569, 1573, 1575, 1580, 1584,
236
+ 1588, 1590, 1645, 1646, 1652, 1655, 1660, 1663,
237
+ 1667, 1672, 1675, 1683, 1689, 1692, 1697, 1700,
238
+ 1702, 1708, 1711, 1714, 1719, 1722, 1726, 1731,
239
+ 1734, 1740, 1743, 1748, 1751, 1758, 1761, 1766,
240
+ 1769, 1774, 1777, 1788, 1791, 1796, 1800, 1802,
241
+ 1807, 1812, 1815, 1818, 1823, 1826, 1833, 1836,
242
+ 1837, 1841, 1845, 1850, 1852, 1854, 1859, 1862,
243
+ 1873, 1881, 1891, 1902, 1908, 1911, 1914, 1921,
244
+ 1924, 1930, 1933, 1938, 1941, 1946, 1949, 1955,
245
+ 1958, 1964, 1967, 1972, 1975, 1982, 1985, 1990,
246
+ 1993, 2000, 2003, 2008, 2011, 2017, 2020, 2025,
247
+ 2028, 2033, 2036, 2041, 2044, 2049, 2052, 2059,
248
+ 2062, 2067, 2070, 2073, 2076, 2086, 2095, 2104,
249
+ 2113, 2122, 2131, 2140, 2153, 2156, 2165, 2174,
250
+ 2183, 2192, 2201, 2210, 2221, 2230, 2239, 2248,
251
+ 2257, 2266, 2275, 2284, 2293, 2306, 2309, 2318,
252
+ 2327, 2340, 2350, 2359, 2372, 2375, 2384, 2393,
253
+ 2406, 2409, 2418, 2427, 2436, 2445, 2454, 2467,
254
+ 2470, 2479, 2489, 2498, 2511, 2514, 2523, 2532,
255
+ 2541, 2550, 2563, 2566, 2575, 2584, 2593, 2608,
256
+ 2617, 2626, 2635, 2648, 2658, 2669, 2678, 2687,
257
+ 2696, 2705, 2714, 2727, 2730, 2739, 2748, 2757,
258
+ 2766, 2779, 2782, 2791, 2800, 2809, 2822, 2825,
259
+ 2839, 2842, 2851, 2860, 2871, 2880, 2889, 2902,
260
+ 2905, 2914, 2923, 2936, 2939, 2949, 2958, 2967,
261
+ 2976, 2989, 2992, 3001, 3010, 3019, 3028, 3041,
262
+ 3044, 3057, 3066, 3075, 3084, 3094, 3103, 3112,
263
+ 3125, 3128, 3137, 3146, 3160, 3163, 3172, 3185,
264
+ 3188, 3197, 3206, 3215, 3224, 3238, 3241, 3250,
265
+ 3259, 3268, 3281, 3284, 3293, 3302, 3311, 3320,
266
+ 3329, 3338, 3351, 3354, 3363, 3372, 3381, 3394,
267
+ 3397, 3408, 3421, 3424, 3433, 3443, 3452, 3461,
268
+ 3470, 3479, 3488, 3497, 3510, 3513, 3522, 3531,
269
+ 3544, 3547, 3563, 3566, 3575, 3584, 3593, 3602,
270
+ 3615, 3618, 3627, 3636, 3645, 3654, 3663, 3672,
271
+ 3681, 3694, 3697, 3706, 3715, 3724, 3733, 3742,
272
+ 3751, 3760, 3769, 3778, 3787, 3796, 3805, 3814,
273
+ 3827, 3830, 3841, 3850, 3859, 3868, 3877, 3890,
274
+ 3893, 3902, 3915, 3918, 3927, 3936, 3947, 3956,
275
+ 3965, 3974, 3983, 3992, 4005, 4008, 4018, 4027,
276
+ 4036, 4045, 4054, 4067, 4070, 4080, 4089, 4098,
277
+ 4107, 4116, 4125, 4134, 4143, 4152, 4161, 4174,
278
+ 4177, 4186, 4195, 4204, 4213, 4226, 4229, 4238,
279
+ 4247, 4256, 4265, 4274, 4287, 4290, 4303, 4312,
280
+ 4321, 4330, 4339, 4348, 4357, 4370, 4373, 4382,
281
+ 4391, 4400, 4409, 4418, 4427, 4440, 4443, 4452,
282
+ 4461, 4470, 4479, 4488, 4497, 4506, 4515, 4524,
283
+ 4533, 4546, 4549, 4560, 4570, 4579, 4588, 4597,
284
+ 4611, 4614, 4627, 4630, 4641, 4650, 4659, 4668,
285
+ 4677, 4686, 4695, 4708, 4711, 4724, 4727, 4736,
286
+ 4745, 4754, 4763, 4776, 4779, 4789, 4798, 4811,
287
+ 4814, 4824, 4833, 4842, 4851, 4860, 4869, 4878,
288
+ 4891, 4894, 4904, 4913, 4922, 4931, 4944, 4947,
289
+ 4956, 4965, 4978, 4981, 4988, 4991, 4996, 4999,
290
+ 5005, 5008
291
+ };
292
+
293
+ static const char _dude_trans_keys[] = {
294
+ 9, 32, 47, 11, 12, 10, 13, 47,
295
+ 92, 10, 13, 47, 92, 10, 13, 9,
296
+ 32, 47, 11, 12, 10, 13, 47, 92,
297
+ 10, 13, 47, 92, 10, 13, 34, 92,
298
+ 0, 31, 117, 0, 31, 48, 57, 65,
299
+ 70, 97, 102, 48, 57, 65, 70, 97,
300
+ 102, 48, 57, 65, 70, 97, 102, 48,
301
+ 57, 65, 70, 97, 102, 9, 32, 47,
302
+ 11, 12, 10, 13, 47, 92, 10, 13,
303
+ 47, 92, 10, 13, 9, 32, 47, 11,
304
+ 12, 10, 13, 47, 92, 10, 13, 47,
305
+ 92, 10, 13, 9, 32, 47, 11, 12,
306
+ 10, 13, 47, 92, 10, 13, 47, 92,
307
+ 10, 13, 9, 32, 47, 11, 12, 10,
308
+ 13, 47, 92, 10, 13, 47, 92, 10,
309
+ 13, 9, 32, 47, 11, 12, 10, 13,
310
+ 47, 92, 10, 13, 47, 92, 10, 13,
311
+ 9, 32, 47, 11, 12, 10, 13, 47,
312
+ 92, 10, 13, 47, 92, 10, 13, 39,
313
+ 92, 0, 31, 117, 0, 31, 48, 57,
314
+ 65, 70, 97, 102, 48, 57, 65, 70,
315
+ 97, 102, 48, 57, 65, 70, 97, 102,
316
+ 48, 57, 65, 70, 97, 102, 9, 32,
317
+ 47, 11, 12, 10, 13, 47, 92, 10,
318
+ 13, 47, 92, 10, 13, 9, 32, 47,
319
+ 11, 12, 10, 13, 47, 92, 10, 13,
320
+ 47, 92, 10, 13, 9, 32, 47, 11,
321
+ 12, 10, 13, 47, 92, 10, 13, 47,
322
+ 92, 10, 13, 9, 32, 47, 11, 12,
323
+ 10, 13, 47, 92, 10, 13, 47, 92,
324
+ 10, 13, 9, 32, 47, 11, 12, 10,
325
+ 13, 47, 92, 10, 13, 47, 92, 10,
326
+ 13, 9, 32, 47, 11, 12, 10, 13,
327
+ 47, 92, 10, 13, 47, 92, 10, 13,
328
+ 9, 32, 47, 11, 12, 10, 13, 47,
329
+ 92, 10, 13, 47, 92, 10, 13, 48,
330
+ 57, 43, 45, 48, 57, 48, 57, 9,
331
+ 32, 47, 11, 12, 10, 13, 47, 92,
332
+ 10, 13, 47, 92, 10, 13, 9, 32,
333
+ 47, 11, 12, 10, 13, 47, 92, 10,
334
+ 13, 47, 92, 10, 13, 9, 32, 47,
335
+ 11, 12, 10, 13, 47, 92, 10, 13,
336
+ 47, 92, 10, 13, 9, 32, 47, 11,
337
+ 12, 10, 13, 47, 92, 10, 13, 47,
338
+ 92, 10, 13, 10, 13, 42, 47, 10,
339
+ 13, 42, 10, 13, 42, 47, 47, 9,
340
+ 32, 47, 11, 12, 10, 13, 47, 92,
341
+ 10, 13, 47, 92, 10, 13, 9, 32,
342
+ 47, 11, 12, 10, 13, 47, 92, 10,
343
+ 13, 47, 92, 10, 13, 9, 32, 47,
344
+ 11, 12, 10, 13, 47, 92, 10, 13,
345
+ 47, 92, 10, 13, 9, 32, 47, 11,
346
+ 12, 10, 13, 47, 92, 10, 13, 47,
347
+ 92, 10, 13, 9, 32, 47, 11, 12,
348
+ 10, 13, 47, 92, 10, 13, 47, 92,
349
+ 10, 13, 9, 32, 47, 11, 12, 10,
350
+ 13, 47, 92, 10, 13, 47, 92, 10,
351
+ 13, 9, 32, 47, 11, 12, 10, 13,
352
+ 47, 92, 10, 13, 47, 92, 10, 13,
353
+ 9, 32, 47, 11, 12, 10, 13, 47,
354
+ 92, 10, 13, 47, 92, 10, 13, 9,
355
+ 32, 47, 11, 12, 10, 13, 47, 92,
356
+ 10, 13, 47, 92, 10, 13, 9, 32,
357
+ 47, 11, 12, 10, 13, 47, 92, 10,
358
+ 13, 47, 92, 10, 13, 9, 32, 47,
359
+ 11, 12, 10, 13, 47, 92, 10, 13,
360
+ 47, 92, 10, 13, 9, 32, 47, 11,
361
+ 12, 10, 13, 47, 92, 10, 13, 47,
362
+ 92, 10, 13, 9, 32, 47, 11, 12,
363
+ 10, 13, 47, 92, 10, 13, 47, 92,
364
+ 10, 13, 9, 32, 47, 11, 12, 10,
365
+ 13, 47, 92, 10, 13, 47, 92, 10,
366
+ 13, 9, 32, 47, 11, 12, 10, 13,
367
+ 47, 92, 10, 13, 47, 92, 10, 13,
368
+ 9, 32, 47, 11, 12, 10, 13, 47,
369
+ 92, 10, 13, 47, 92, 10, 13, 9,
370
+ 32, 47, 11, 12, 10, 13, 47, 92,
371
+ 10, 13, 47, 92, 10, 13, 9, 32,
372
+ 47, 11, 12, 10, 13, 47, 92, 10,
373
+ 13, 47, 92, 10, 13, 9, 32, 47,
374
+ 11, 12, 10, 13, 47, 92, 10, 13,
375
+ 47, 92, 10, 13, 9, 32, 47, 11,
376
+ 12, 10, 13, 47, 92, 10, 13, 47,
377
+ 92, 10, 13, 9, 32, 47, 11, 12,
378
+ 10, 13, 47, 92, 10, 13, 47, 92,
379
+ 10, 13, 9, 32, 47, 61, 11, 12,
380
+ 9, 32, 47, 11, 12, 10, 13, 47,
381
+ 92, 10, 13, 47, 92, 10, 13, 9,
382
+ 32, 47, 11, 12, 10, 13, 47, 92,
383
+ 10, 13, 47, 92, 10, 13, 9, 32,
384
+ 47, 11, 12, 10, 13, 47, 92, 10,
385
+ 13, 47, 92, 10, 13, 9, 32, 47,
386
+ 11, 12, 10, 13, 47, 92, 10, 13,
387
+ 47, 92, 10, 13, 9, 32, 47, 11,
388
+ 12, 10, 13, 47, 92, 10, 13, 47,
389
+ 92, 10, 13, 9, 32, 47, 11, 12,
390
+ 10, 13, 47, 92, 10, 13, 47, 92,
391
+ 10, 13, 9, 32, 47, 11, 12, 10,
392
+ 13, 47, 92, 10, 13, 47, 92, 10,
393
+ 13, 9, 32, 47, 11, 12, 10, 13,
394
+ 47, 92, 10, 13, 47, 92, 10, 13,
395
+ 9, 32, 47, 11, 12, 10, 13, 47,
396
+ 92, 10, 13, 47, 92, 10, 13, 9,
397
+ 32, 40, 119, 123, 11, 12, 9, 32,
398
+ 36, 41, 95, 11, 12, 48, 57, 65,
399
+ 90, 97, 122, 9, 32, 36, 41, 44,
400
+ 95, 11, 12, 48, 57, 65, 90, 97,
401
+ 122, 9, 32, 41, 44, 11, 12, 9,
402
+ 32, 119, 123, 11, 12, 105, 116, 104,
403
+ 9, 32, 40, 11, 12, 9, 32, 36,
404
+ 41, 95, 11, 12, 48, 57, 65, 90,
405
+ 97, 122, 9, 32, 36, 41, 44, 95,
406
+ 11, 12, 48, 57, 65, 90, 97, 122,
407
+ 9, 32, 41, 44, 11, 12, 9, 32,
408
+ 123, 11, 12, 9, 32, 47, 11, 12,
409
+ 10, 13, 47, 92, 10, 13, 47, 92,
410
+ 10, 13, 9, 32, 47, 11, 12, 10,
411
+ 13, 47, 92, 10, 13, 47, 92, 10,
412
+ 13, 9, 32, 47, 11, 12, 10, 13,
413
+ 47, 92, 10, 13, 47, 92, 10, 13,
414
+ 9, 32, 47, 11, 12, 10, 13, 47,
415
+ 92, 10, 13, 47, 92, 10, 13, 9,
416
+ 32, 47, 11, 12, 10, 13, 47, 92,
417
+ 10, 13, 47, 92, 10, 13, 9, 32,
418
+ 47, 11, 12, 10, 13, 47, 92, 10,
419
+ 13, 47, 92, 10, 13, 9, 32, 47,
420
+ 11, 12, 10, 13, 47, 92, 10, 13,
421
+ 47, 92, 10, 13, 9, 32, 47, 11,
422
+ 12, 10, 13, 47, 92, 10, 13, 47,
423
+ 92, 10, 13, 9, 32, 47, 11, 12,
424
+ 10, 13, 47, 92, 10, 13, 47, 92,
425
+ 10, 13, 9, 32, 47, 11, 12, 10,
426
+ 13, 47, 92, 10, 13, 47, 92, 10,
427
+ 13, 9, 32, 47, 11, 12, 10, 13,
428
+ 47, 92, 10, 13, 47, 92, 10, 13,
429
+ 9, 32, 47, 11, 12, 10, 13, 47,
430
+ 92, 10, 13, 47, 92, 10, 13, 9,
431
+ 32, 47, 11, 12, 10, 13, 47, 92,
432
+ 10, 13, 47, 92, 10, 13, 9, 32,
433
+ 47, 11, 12, 10, 13, 47, 92, 10,
434
+ 13, 47, 92, 10, 13, 9, 32, 47,
435
+ 11, 12, 10, 13, 47, 92, 10, 13,
436
+ 47, 92, 10, 13, 9, 32, 47, 11,
437
+ 12, 10, 13, 47, 92, 10, 13, 47,
438
+ 92, 10, 13, 9, 32, 47, 11, 12,
439
+ 10, 13, 47, 92, 10, 13, 47, 92,
440
+ 10, 13, 9, 32, 47, 11, 12, 10,
441
+ 13, 47, 92, 10, 13, 47, 92, 10,
442
+ 13, 9, 32, 47, 11, 12, 10, 13,
443
+ 47, 92, 10, 13, 47, 92, 10, 13,
444
+ 9, 32, 47, 11, 12, 10, 13, 47,
445
+ 92, 10, 13, 47, 92, 10, 13, 9,
446
+ 32, 47, 11, 12, 10, 13, 47, 92,
447
+ 10, 13, 47, 92, 10, 13, 9, 32,
448
+ 47, 11, 12, 10, 13, 47, 92, 10,
449
+ 13, 47, 92, 10, 13, 9, 32, 47,
450
+ 11, 12, 10, 13, 47, 92, 10, 13,
451
+ 47, 92, 10, 13, 9, 32, 47, 11,
452
+ 12, 10, 13, 47, 92, 10, 13, 47,
453
+ 92, 10, 13, 9, 32, 47, 11, 12,
454
+ 10, 13, 47, 92, 10, 13, 47, 92,
455
+ 10, 13, 9, 32, 47, 11, 12, 10,
456
+ 13, 47, 92, 10, 13, 47, 92, 10,
457
+ 13, 9, 32, 47, 11, 12, 10, 13,
458
+ 47, 92, 10, 13, 47, 92, 10, 13,
459
+ 9, 32, 47, 11, 12, 10, 13, 47,
460
+ 92, 10, 13, 47, 92, 10, 13, 9,
461
+ 32, 47, 11, 12, 10, 13, 47, 92,
462
+ 10, 13, 47, 92, 10, 13, 9, 32,
463
+ 47, 11, 12, 10, 13, 47, 92, 10,
464
+ 13, 47, 92, 10, 13, 9, 32, 47,
465
+ 11, 12, 10, 13, 47, 92, 10, 13,
466
+ 47, 92, 10, 13, 9, 32, 47, 11,
467
+ 12, 10, 13, 47, 92, 10, 13, 47,
468
+ 92, 10, 13, 9, 32, 47, 11, 12,
469
+ 10, 13, 47, 92, 10, 13, 47, 92,
470
+ 10, 13, 9, 32, 47, 11, 12, 10,
471
+ 13, 47, 92, 10, 13, 47, 92, 10,
472
+ 13, 9, 32, 47, 11, 12, 10, 13,
473
+ 47, 92, 10, 13, 47, 92, 10, 13,
474
+ 9, 32, 47, 11, 12, 10, 13, 47,
475
+ 92, 10, 13, 47, 92, 10, 13, 9,
476
+ 32, 47, 11, 12, 10, 13, 47, 92,
477
+ 10, 13, 47, 92, 10, 13, 9, 32,
478
+ 47, 11, 12, 10, 13, 47, 92, 10,
479
+ 13, 47, 92, 10, 13, 9, 32, 47,
480
+ 11, 12, 10, 13, 47, 92, 10, 13,
481
+ 47, 92, 10, 13, 9, 32, 47, 11,
482
+ 12, 10, 13, 47, 92, 10, 13, 47,
483
+ 92, 10, 13, 9, 32, 47, 11, 12,
484
+ 10, 13, 47, 92, 10, 13, 47, 92,
485
+ 10, 13, 9, 32, 47, 11, 12, 10,
486
+ 13, 47, 92, 10, 13, 47, 92, 10,
487
+ 13, 9, 32, 47, 11, 12, 10, 13,
488
+ 47, 92, 10, 13, 47, 92, 10, 13,
489
+ 9, 32, 47, 11, 12, 10, 13, 47,
490
+ 92, 10, 13, 47, 92, 10, 13, 9,
491
+ 32, 47, 11, 12, 10, 13, 47, 92,
492
+ 10, 13, 47, 92, 10, 13, 10, 13,
493
+ 32, 33, 34, 35, 36, 37, 38, 39,
494
+ 40, 42, 43, 44, 45, 46, 47, 48,
495
+ 58, 59, 60, 61, 62, 63, 64, 91,
496
+ 94, 95, 97, 98, 99, 100, 101, 102,
497
+ 103, 105, 108, 109, 110, 112, 114, 115,
498
+ 116, 118, 119, 123, 124, 9, 12, 49,
499
+ 57, 65, 90, 104, 122, 61, 9, 32,
500
+ 47, 61, 11, 12, 103, 105, 109, 9,
501
+ 32, 47, 11, 12, 103, 105, 109, 34,
502
+ 92, 0, 31, 9, 32, 47, 11, 12,
503
+ 103, 105, 109, 36, 95, 48, 57, 65,
504
+ 90, 97, 122, 9, 32, 47, 61, 11,
505
+ 12, 103, 105, 109, 9, 32, 47, 11,
506
+ 12, 103, 105, 109, 38, 61, 9, 32,
507
+ 47, 61, 11, 12, 103, 105, 109, 103,
508
+ 105, 109, 9, 32, 47, 11, 12, 103,
509
+ 105, 109, 39, 92, 0, 31, 9, 32,
510
+ 47, 11, 12, 103, 105, 109, 9, 32,
511
+ 47, 61, 11, 12, 103, 105, 109, 9,
512
+ 32, 47, 11, 12, 103, 105, 109, 9,
513
+ 32, 43, 47, 61, 11, 12, 103, 105,
514
+ 109, 9, 32, 47, 11, 12, 103, 105,
515
+ 109, 9, 32, 47, 11, 12, 103, 105,
516
+ 109, 9, 32, 45, 47, 48, 61, 62,
517
+ 11, 12, 49, 57, 103, 105, 109, 46,
518
+ 69, 101, 48, 57, 69, 101, 48, 57,
519
+ 48, 57, 46, 69, 101, 48, 57, 9,
520
+ 32, 47, 11, 12, 103, 105, 109, 103,
521
+ 105, 109, 9, 32, 47, 11, 12, 103,
522
+ 105, 109, 9, 32, 42, 47, 61, 11,
523
+ 12, 103, 105, 109, 47, 10, 13, 47,
524
+ 92, 10, 13, 47, 92, 10, 13, 103,
525
+ 105, 109, 10, 13, 10, 13, 9, 32,
526
+ 47, 11, 12, 103, 105, 109, 36, 46,
527
+ 69, 95, 101, 48, 57, 65, 90, 97,
528
+ 122, 36, 95, 48, 57, 65, 90, 97,
529
+ 122, 36, 43, 45, 95, 48, 57, 65,
530
+ 90, 97, 122, 36, 46, 69, 95, 101,
531
+ 48, 57, 65, 90, 97, 122, 9, 32,
532
+ 47, 58, 11, 12, 103, 105, 109, 103,
533
+ 105, 109, 9, 32, 47, 60, 61, 11,
534
+ 12, 103, 105, 109, 9, 32, 47, 61,
535
+ 11, 12, 103, 105, 109, 9, 32, 47,
536
+ 11, 12, 103, 105, 109, 9, 32, 47,
537
+ 11, 12, 103, 105, 109, 9, 32, 47,
538
+ 61, 11, 12, 103, 105, 109, 9, 32,
539
+ 47, 61, 11, 12, 103, 105, 109, 9,
540
+ 32, 47, 11, 12, 103, 105, 109, 9,
541
+ 32, 47, 61, 62, 11, 12, 103, 105,
542
+ 109, 9, 32, 47, 11, 12, 103, 105,
543
+ 109, 9, 32, 47, 61, 62, 11, 12,
544
+ 103, 105, 109, 9, 32, 47, 11, 12,
545
+ 103, 105, 109, 9, 32, 47, 61, 11,
546
+ 12, 103, 105, 109, 9, 32, 47, 11,
547
+ 12, 103, 105, 109, 9, 32, 47, 11,
548
+ 12, 103, 105, 109, 9, 32, 47, 11,
549
+ 12, 103, 105, 109, 9, 32, 47, 11,
550
+ 12, 103, 105, 109, 9, 32, 47, 61,
551
+ 94, 11, 12, 103, 105, 109, 9, 32,
552
+ 47, 11, 12, 103, 105, 109, 103, 105,
553
+ 109, 103, 105, 109, 36, 95, 98, 99,
554
+ 48, 57, 65, 90, 97, 122, 36, 95,
555
+ 115, 48, 57, 65, 90, 97, 122, 36,
556
+ 95, 116, 48, 57, 65, 90, 97, 122,
557
+ 36, 95, 114, 48, 57, 65, 90, 97,
558
+ 122, 36, 95, 97, 48, 57, 65, 90,
559
+ 98, 122, 36, 95, 99, 48, 57, 65,
560
+ 90, 97, 122, 36, 95, 116, 48, 57,
561
+ 65, 90, 97, 122, 9, 32, 36, 47,
562
+ 95, 11, 12, 48, 57, 65, 90, 97,
563
+ 122, 103, 105, 109, 36, 95, 99, 48,
564
+ 57, 65, 90, 97, 122, 36, 95, 101,
565
+ 48, 57, 65, 90, 97, 122, 36, 95,
566
+ 115, 48, 57, 65, 90, 97, 122, 36,
567
+ 95, 115, 48, 57, 65, 90, 97, 122,
568
+ 36, 95, 111, 48, 57, 65, 90, 97,
569
+ 122, 36, 95, 114, 48, 57, 65, 90,
570
+ 97, 122, 36, 95, 111, 114, 121, 48,
571
+ 57, 65, 90, 97, 122, 36, 95, 111,
572
+ 48, 57, 65, 90, 97, 122, 36, 95,
573
+ 108, 48, 57, 65, 90, 97, 122, 36,
574
+ 95, 101, 48, 57, 65, 90, 97, 122,
575
+ 36, 95, 97, 48, 57, 65, 90, 98,
576
+ 122, 36, 95, 110, 48, 57, 65, 90,
577
+ 97, 122, 36, 95, 101, 48, 57, 65,
578
+ 90, 97, 122, 36, 95, 97, 48, 57,
579
+ 65, 90, 98, 122, 36, 95, 107, 48,
580
+ 57, 65, 90, 97, 122, 9, 32, 36,
581
+ 47, 95, 11, 12, 48, 57, 65, 90,
582
+ 97, 122, 103, 105, 109, 36, 95, 116,
583
+ 48, 57, 65, 90, 97, 122, 36, 95,
584
+ 101, 48, 57, 65, 90, 97, 122, 36,
585
+ 95, 97, 104, 108, 111, 117, 48, 57,
586
+ 65, 90, 98, 122, 36, 95, 115, 116,
587
+ 48, 57, 65, 90, 97, 122, 36, 95,
588
+ 101, 48, 57, 65, 90, 97, 122, 9,
589
+ 32, 36, 47, 95, 11, 12, 48, 57,
590
+ 65, 90, 97, 122, 103, 105, 109, 36,
591
+ 95, 99, 48, 57, 65, 90, 97, 122,
592
+ 36, 95, 104, 48, 57, 65, 90, 97,
593
+ 122, 9, 32, 36, 47, 95, 11, 12,
594
+ 48, 57, 65, 90, 97, 122, 103, 105,
595
+ 109, 36, 95, 97, 48, 57, 65, 90,
596
+ 98, 122, 36, 95, 114, 48, 57, 65,
597
+ 90, 97, 122, 36, 95, 97, 48, 57,
598
+ 65, 90, 98, 122, 36, 95, 115, 48,
599
+ 57, 65, 90, 97, 122, 36, 95, 115,
600
+ 48, 57, 65, 90, 97, 122, 9, 32,
601
+ 36, 47, 95, 11, 12, 48, 57, 65,
602
+ 90, 97, 122, 103, 105, 109, 36, 95,
603
+ 110, 48, 57, 65, 90, 97, 122, 36,
604
+ 95, 115, 116, 48, 57, 65, 90, 97,
605
+ 122, 36, 95, 116, 48, 57, 65, 90,
606
+ 97, 122, 9, 32, 36, 47, 95, 11,
607
+ 12, 48, 57, 65, 90, 97, 122, 103,
608
+ 105, 109, 36, 95, 105, 48, 57, 65,
609
+ 90, 97, 122, 36, 95, 110, 48, 57,
610
+ 65, 90, 97, 122, 36, 95, 117, 48,
611
+ 57, 65, 90, 97, 122, 36, 95, 101,
612
+ 48, 57, 65, 90, 97, 122, 9, 32,
613
+ 36, 47, 95, 11, 12, 48, 57, 65,
614
+ 90, 97, 122, 103, 105, 109, 36, 95,
615
+ 114, 48, 57, 65, 90, 97, 122, 36,
616
+ 95, 114, 48, 57, 65, 90, 97, 122,
617
+ 36, 95, 121, 48, 57, 65, 90, 97,
618
+ 122, 9, 32, 36, 40, 95, 119, 123,
619
+ 11, 12, 48, 57, 65, 90, 97, 122,
620
+ 36, 95, 105, 48, 57, 65, 90, 97,
621
+ 122, 36, 95, 116, 48, 57, 65, 90,
622
+ 97, 122, 36, 95, 104, 48, 57, 65,
623
+ 90, 97, 122, 9, 32, 36, 40, 95,
624
+ 11, 12, 48, 57, 65, 90, 97, 122,
625
+ 36, 95, 101, 111, 48, 57, 65, 90,
626
+ 97, 122, 36, 95, 98, 102, 108, 48,
627
+ 57, 65, 90, 97, 122, 36, 95, 117,
628
+ 48, 57, 65, 90, 97, 122, 36, 95,
629
+ 103, 48, 57, 65, 90, 97, 122, 36,
630
+ 95, 103, 48, 57, 65, 90, 97, 122,
631
+ 36, 95, 101, 48, 57, 65, 90, 97,
632
+ 122, 36, 95, 114, 48, 57, 65, 90,
633
+ 97, 122, 9, 32, 36, 47, 95, 11,
634
+ 12, 48, 57, 65, 90, 97, 122, 103,
635
+ 105, 109, 36, 95, 97, 48, 57, 65,
636
+ 90, 98, 122, 36, 95, 117, 48, 57,
637
+ 65, 90, 97, 122, 36, 95, 108, 48,
638
+ 57, 65, 90, 97, 122, 36, 95, 116,
639
+ 48, 57, 65, 90, 97, 122, 9, 32,
640
+ 36, 47, 95, 11, 12, 48, 57, 65,
641
+ 90, 97, 122, 103, 105, 109, 36, 95,
642
+ 101, 48, 57, 65, 90, 97, 122, 36,
643
+ 95, 116, 48, 57, 65, 90, 97, 122,
644
+ 36, 95, 101, 48, 57, 65, 90, 97,
645
+ 122, 9, 32, 36, 47, 95, 11, 12,
646
+ 48, 57, 65, 90, 97, 122, 103, 105,
647
+ 109, 9, 32, 36, 47, 95, 117, 11,
648
+ 12, 48, 57, 65, 90, 97, 122, 103,
649
+ 105, 109, 36, 95, 98, 48, 57, 65,
650
+ 90, 97, 122, 36, 95, 108, 48, 57,
651
+ 65, 90, 97, 122, 36, 95, 108, 110,
652
+ 120, 48, 57, 65, 90, 97, 122, 36,
653
+ 95, 115, 48, 57, 65, 90, 97, 122,
654
+ 36, 95, 101, 48, 57, 65, 90, 97,
655
+ 122, 9, 32, 36, 47, 95, 11, 12,
656
+ 48, 57, 65, 90, 97, 122, 103, 105,
657
+ 109, 36, 95, 117, 48, 57, 65, 90,
658
+ 97, 122, 36, 95, 109, 48, 57, 65,
659
+ 90, 97, 122, 9, 32, 36, 47, 95,
660
+ 11, 12, 48, 57, 65, 90, 97, 122,
661
+ 103, 105, 109, 36, 95, 112, 116, 48,
662
+ 57, 65, 90, 97, 122, 36, 95, 111,
663
+ 48, 57, 65, 90, 97, 122, 36, 95,
664
+ 114, 48, 57, 65, 90, 97, 122, 36,
665
+ 95, 116, 48, 57, 65, 90, 97, 122,
666
+ 9, 32, 36, 47, 95, 11, 12, 48,
667
+ 57, 65, 90, 97, 122, 103, 105, 109,
668
+ 36, 95, 101, 48, 57, 65, 90, 97,
669
+ 122, 36, 95, 110, 48, 57, 65, 90,
670
+ 97, 122, 36, 95, 100, 48, 57, 65,
671
+ 90, 97, 122, 36, 95, 115, 48, 57,
672
+ 65, 90, 97, 122, 9, 32, 36, 47,
673
+ 95, 11, 12, 48, 57, 65, 90, 97,
674
+ 122, 103, 105, 109, 36, 95, 97, 105,
675
+ 108, 111, 117, 48, 57, 65, 90, 98,
676
+ 122, 36, 95, 108, 48, 57, 65, 90,
677
+ 97, 122, 36, 95, 115, 48, 57, 65,
678
+ 90, 97, 122, 36, 95, 101, 48, 57,
679
+ 65, 90, 97, 122, 36, 95, 101, 110,
680
+ 48, 57, 65, 90, 97, 122, 36, 95,
681
+ 108, 48, 57, 65, 90, 97, 122, 36,
682
+ 95, 100, 48, 57, 65, 90, 97, 122,
683
+ 9, 32, 36, 47, 95, 11, 12, 48,
684
+ 57, 65, 90, 97, 122, 103, 105, 109,
685
+ 36, 95, 97, 48, 57, 65, 90, 98,
686
+ 122, 36, 95, 108, 48, 57, 65, 90,
687
+ 97, 122, 9, 32, 36, 47, 95, 108,
688
+ 11, 12, 48, 57, 65, 90, 97, 122,
689
+ 103, 105, 109, 36, 95, 121, 48, 57,
690
+ 65, 90, 97, 122, 9, 32, 36, 47,
691
+ 95, 11, 12, 48, 57, 65, 90, 97,
692
+ 122, 103, 105, 109, 36, 95, 111, 48,
693
+ 57, 65, 90, 97, 122, 36, 95, 97,
694
+ 48, 57, 65, 90, 98, 122, 36, 95,
695
+ 116, 48, 57, 65, 90, 97, 122, 36,
696
+ 95, 114, 48, 57, 65, 90, 97, 122,
697
+ 9, 32, 36, 47, 95, 101, 11, 12,
698
+ 48, 57, 65, 90, 97, 122, 103, 105,
699
+ 109, 36, 95, 97, 48, 57, 65, 90,
700
+ 98, 122, 36, 95, 99, 48, 57, 65,
701
+ 90, 97, 122, 36, 95, 104, 48, 57,
702
+ 65, 90, 97, 122, 9, 32, 36, 47,
703
+ 95, 11, 12, 48, 57, 65, 90, 97,
704
+ 122, 103, 105, 109, 36, 95, 110, 48,
705
+ 57, 65, 90, 97, 122, 36, 95, 99,
706
+ 48, 57, 65, 90, 97, 122, 36, 95,
707
+ 116, 48, 57, 65, 90, 97, 122, 36,
708
+ 95, 105, 48, 57, 65, 90, 97, 122,
709
+ 36, 95, 111, 48, 57, 65, 90, 97,
710
+ 122, 36, 95, 110, 48, 57, 65, 90,
711
+ 97, 122, 9, 32, 36, 47, 95, 11,
712
+ 12, 48, 57, 65, 90, 97, 122, 103,
713
+ 105, 109, 36, 95, 111, 48, 57, 65,
714
+ 90, 97, 122, 36, 95, 116, 48, 57,
715
+ 65, 90, 97, 122, 36, 95, 111, 48,
716
+ 57, 65, 90, 97, 122, 9, 32, 36,
717
+ 47, 95, 11, 12, 48, 57, 65, 90,
718
+ 97, 122, 103, 105, 109, 36, 95, 102,
719
+ 109, 110, 48, 57, 65, 90, 97, 122,
720
+ 9, 32, 36, 47, 95, 11, 12, 48,
721
+ 57, 65, 90, 97, 122, 103, 105, 109,
722
+ 36, 95, 112, 48, 57, 65, 90, 97,
723
+ 122, 36, 95, 108, 111, 48, 57, 65,
724
+ 90, 97, 122, 36, 95, 101, 48, 57,
725
+ 65, 90, 97, 122, 36, 95, 109, 48,
726
+ 57, 65, 90, 97, 122, 36, 95, 101,
727
+ 48, 57, 65, 90, 97, 122, 36, 95,
728
+ 110, 48, 57, 65, 90, 97, 122, 36,
729
+ 95, 116, 48, 57, 65, 90, 97, 122,
730
+ 36, 95, 115, 48, 57, 65, 90, 97,
731
+ 122, 9, 32, 36, 47, 95, 11, 12,
732
+ 48, 57, 65, 90, 97, 122, 103, 105,
733
+ 109, 36, 95, 114, 48, 57, 65, 90,
734
+ 97, 122, 36, 95, 116, 48, 57, 65,
735
+ 90, 97, 122, 9, 32, 36, 47, 95,
736
+ 11, 12, 48, 57, 65, 90, 97, 122,
737
+ 103, 105, 109, 9, 32, 36, 47, 95,
738
+ 99, 115, 116, 11, 12, 48, 57, 65,
739
+ 90, 97, 122, 103, 105, 109, 36, 95,
740
+ 108, 48, 57, 65, 90, 97, 122, 36,
741
+ 95, 117, 48, 57, 65, 90, 97, 122,
742
+ 36, 95, 100, 48, 57, 65, 90, 97,
743
+ 122, 36, 95, 101, 48, 57, 65, 90,
744
+ 97, 122, 9, 32, 36, 47, 95, 11,
745
+ 12, 48, 57, 65, 90, 97, 122, 103,
746
+ 105, 109, 36, 95, 116, 48, 57, 65,
747
+ 90, 97, 122, 36, 95, 97, 48, 57,
748
+ 65, 90, 98, 122, 36, 95, 110, 48,
749
+ 57, 65, 90, 97, 122, 36, 95, 99,
750
+ 48, 57, 65, 90, 97, 122, 36, 95,
751
+ 101, 48, 57, 65, 90, 97, 122, 36,
752
+ 95, 111, 48, 57, 65, 90, 97, 122,
753
+ 36, 95, 102, 48, 57, 65, 90, 97,
754
+ 122, 9, 32, 36, 47, 95, 11, 12,
755
+ 48, 57, 65, 90, 97, 122, 103, 105,
756
+ 109, 36, 95, 101, 48, 57, 65, 90,
757
+ 97, 122, 36, 95, 114, 48, 57, 65,
758
+ 90, 97, 122, 36, 95, 102, 48, 57,
759
+ 65, 90, 97, 122, 36, 95, 97, 48,
760
+ 57, 65, 90, 98, 122, 36, 95, 99,
761
+ 48, 57, 65, 90, 97, 122, 36, 95,
762
+ 111, 48, 57, 65, 90, 97, 122, 36,
763
+ 95, 110, 48, 57, 65, 90, 97, 122,
764
+ 36, 95, 103, 48, 57, 65, 90, 97,
765
+ 122, 36, 95, 111, 48, 57, 65, 90,
766
+ 97, 122, 36, 95, 100, 48, 57, 65,
767
+ 90, 97, 122, 36, 95, 117, 48, 57,
768
+ 65, 90, 97, 122, 36, 95, 108, 48,
769
+ 57, 65, 90, 97, 122, 36, 95, 101,
770
+ 48, 57, 65, 90, 97, 122, 9, 32,
771
+ 36, 47, 95, 11, 12, 48, 57, 65,
772
+ 90, 97, 122, 103, 105, 109, 36, 95,
773
+ 97, 101, 117, 48, 57, 65, 90, 98,
774
+ 122, 36, 95, 116, 48, 57, 65, 90,
775
+ 97, 122, 36, 95, 105, 48, 57, 65,
776
+ 90, 97, 122, 36, 95, 118, 48, 57,
777
+ 65, 90, 97, 122, 36, 95, 101, 48,
778
+ 57, 65, 90, 97, 122, 9, 32, 36,
779
+ 47, 95, 11, 12, 48, 57, 65, 90,
780
+ 97, 122, 103, 105, 109, 36, 95, 119,
781
+ 48, 57, 65, 90, 97, 122, 9, 32,
782
+ 36, 47, 95, 11, 12, 48, 57, 65,
783
+ 90, 97, 122, 103, 105, 109, 36, 95,
784
+ 108, 48, 57, 65, 90, 97, 122, 36,
785
+ 95, 108, 48, 57, 65, 90, 97, 122,
786
+ 36, 95, 97, 114, 117, 48, 57, 65,
787
+ 90, 98, 122, 36, 95, 99, 48, 57,
788
+ 65, 90, 97, 122, 36, 95, 107, 48,
789
+ 57, 65, 90, 97, 122, 36, 95, 97,
790
+ 48, 57, 65, 90, 98, 122, 36, 95,
791
+ 103, 48, 57, 65, 90, 97, 122, 36,
792
+ 95, 101, 48, 57, 65, 90, 97, 122,
793
+ 9, 32, 36, 47, 95, 11, 12, 48,
794
+ 57, 65, 90, 97, 122, 103, 105, 109,
795
+ 36, 95, 105, 111, 48, 57, 65, 90,
796
+ 97, 122, 36, 95, 118, 48, 57, 65,
797
+ 90, 97, 122, 36, 95, 97, 48, 57,
798
+ 65, 90, 98, 122, 36, 95, 116, 48,
799
+ 57, 65, 90, 97, 122, 36, 95, 101,
800
+ 48, 57, 65, 90, 97, 122, 9, 32,
801
+ 36, 47, 95, 11, 12, 48, 57, 65,
802
+ 90, 97, 122, 103, 105, 109, 36, 95,
803
+ 112, 116, 48, 57, 65, 90, 97, 122,
804
+ 36, 95, 101, 48, 57, 65, 90, 97,
805
+ 122, 36, 95, 114, 48, 57, 65, 90,
806
+ 97, 122, 36, 95, 116, 48, 57, 65,
807
+ 90, 97, 122, 36, 95, 121, 48, 57,
808
+ 65, 90, 97, 122, 36, 95, 101, 48,
809
+ 57, 65, 90, 97, 122, 36, 95, 99,
810
+ 48, 57, 65, 90, 97, 122, 36, 95,
811
+ 116, 48, 57, 65, 90, 97, 122, 36,
812
+ 95, 101, 48, 57, 65, 90, 97, 122,
813
+ 36, 95, 100, 48, 57, 65, 90, 97,
814
+ 122, 9, 32, 36, 47, 95, 11, 12,
815
+ 48, 57, 65, 90, 97, 122, 103, 105,
816
+ 109, 36, 95, 98, 48, 57, 65, 90,
817
+ 97, 122, 36, 95, 108, 48, 57, 65,
818
+ 90, 97, 122, 36, 95, 105, 48, 57,
819
+ 65, 90, 97, 122, 36, 95, 99, 48,
820
+ 57, 65, 90, 97, 122, 9, 32, 36,
821
+ 47, 95, 11, 12, 48, 57, 65, 90,
822
+ 97, 122, 103, 105, 109, 36, 95, 101,
823
+ 48, 57, 65, 90, 97, 122, 36, 95,
824
+ 116, 48, 57, 65, 90, 97, 122, 36,
825
+ 95, 117, 48, 57, 65, 90, 97, 122,
826
+ 36, 95, 114, 48, 57, 65, 90, 97,
827
+ 122, 36, 95, 110, 48, 57, 65, 90,
828
+ 97, 122, 9, 32, 36, 47, 95, 11,
829
+ 12, 48, 57, 65, 90, 97, 122, 103,
830
+ 105, 109, 36, 95, 104, 116, 117, 119,
831
+ 121, 48, 57, 65, 90, 97, 122, 36,
832
+ 95, 111, 48, 57, 65, 90, 97, 122,
833
+ 36, 95, 114, 48, 57, 65, 90, 97,
834
+ 122, 36, 95, 97, 48, 57, 65, 90,
835
+ 98, 122, 36, 95, 116, 48, 57, 65,
836
+ 90, 97, 122, 36, 95, 105, 48, 57,
837
+ 65, 90, 97, 122, 36, 95, 99, 48,
838
+ 57, 65, 90, 97, 122, 9, 32, 36,
839
+ 47, 95, 11, 12, 48, 57, 65, 90,
840
+ 97, 122, 103, 105, 109, 36, 95, 112,
841
+ 48, 57, 65, 90, 97, 122, 36, 95,
842
+ 101, 48, 57, 65, 90, 97, 122, 36,
843
+ 95, 105, 48, 57, 65, 90, 97, 122,
844
+ 36, 95, 116, 48, 57, 65, 90, 97,
845
+ 122, 36, 95, 99, 48, 57, 65, 90,
846
+ 97, 122, 36, 95, 104, 48, 57, 65,
847
+ 90, 97, 122, 9, 32, 36, 47, 95,
848
+ 11, 12, 48, 57, 65, 90, 97, 122,
849
+ 103, 105, 109, 36, 95, 110, 48, 57,
850
+ 65, 90, 97, 122, 36, 95, 99, 48,
851
+ 57, 65, 90, 97, 122, 36, 95, 104,
852
+ 48, 57, 65, 90, 97, 122, 36, 95,
853
+ 114, 48, 57, 65, 90, 97, 122, 36,
854
+ 95, 111, 48, 57, 65, 90, 97, 122,
855
+ 36, 95, 110, 48, 57, 65, 90, 97,
856
+ 122, 36, 95, 105, 48, 57, 65, 90,
857
+ 97, 122, 36, 95, 122, 48, 57, 65,
858
+ 90, 97, 121, 36, 95, 101, 48, 57,
859
+ 65, 90, 97, 122, 36, 95, 100, 48,
860
+ 57, 65, 90, 97, 122, 9, 32, 36,
861
+ 47, 95, 11, 12, 48, 57, 65, 90,
862
+ 97, 122, 103, 105, 109, 36, 95, 104,
863
+ 114, 121, 48, 57, 65, 90, 97, 122,
864
+ 36, 95, 105, 114, 48, 57, 65, 90,
865
+ 97, 122, 36, 95, 115, 48, 57, 65,
866
+ 90, 97, 122, 36, 95, 111, 48, 57,
867
+ 65, 90, 97, 122, 36, 95, 119, 48,
868
+ 57, 65, 90, 97, 122, 9, 32, 36,
869
+ 47, 95, 115, 11, 12, 48, 57, 65,
870
+ 90, 97, 122, 103, 105, 109, 9, 32,
871
+ 36, 47, 95, 11, 12, 48, 57, 65,
872
+ 90, 97, 122, 103, 105, 109, 36, 95,
873
+ 97, 117, 121, 48, 57, 65, 90, 98,
874
+ 122, 36, 95, 110, 48, 57, 65, 90,
875
+ 97, 122, 36, 95, 115, 48, 57, 65,
876
+ 90, 97, 122, 36, 95, 105, 48, 57,
877
+ 65, 90, 97, 122, 36, 95, 101, 48,
878
+ 57, 65, 90, 97, 122, 36, 95, 110,
879
+ 48, 57, 65, 90, 97, 122, 36, 95,
880
+ 116, 48, 57, 65, 90, 97, 122, 9,
881
+ 32, 36, 47, 95, 11, 12, 48, 57,
882
+ 65, 90, 97, 122, 103, 105, 109, 9,
883
+ 32, 36, 47, 95, 11, 12, 48, 57,
884
+ 65, 90, 97, 122, 103, 105, 109, 36,
885
+ 95, 112, 48, 57, 65, 90, 97, 122,
886
+ 36, 95, 101, 48, 57, 65, 90, 97,
887
+ 122, 36, 95, 111, 48, 57, 65, 90,
888
+ 97, 122, 36, 95, 102, 48, 57, 65,
889
+ 90, 97, 122, 9, 32, 36, 47, 95,
890
+ 11, 12, 48, 57, 65, 90, 97, 122,
891
+ 103, 105, 109, 36, 95, 97, 111, 48,
892
+ 57, 65, 90, 98, 122, 36, 95, 114,
893
+ 48, 57, 65, 90, 97, 122, 9, 32,
894
+ 36, 47, 95, 11, 12, 48, 57, 65,
895
+ 90, 97, 122, 103, 105, 109, 36, 95,
896
+ 105, 108, 48, 57, 65, 90, 97, 122,
897
+ 36, 95, 100, 48, 57, 65, 90, 97,
898
+ 122, 36, 95, 97, 48, 57, 65, 90,
899
+ 98, 122, 36, 95, 116, 48, 57, 65,
900
+ 90, 97, 122, 36, 95, 105, 48, 57,
901
+ 65, 90, 97, 122, 36, 95, 108, 48,
902
+ 57, 65, 90, 97, 122, 36, 95, 101,
903
+ 48, 57, 65, 90, 97, 122, 9, 32,
904
+ 36, 47, 95, 11, 12, 48, 57, 65,
905
+ 90, 97, 122, 103, 105, 109, 36, 95,
906
+ 104, 105, 48, 57, 65, 90, 97, 122,
907
+ 36, 95, 105, 48, 57, 65, 90, 97,
908
+ 122, 36, 95, 108, 48, 57, 65, 90,
909
+ 97, 122, 36, 95, 101, 48, 57, 65,
910
+ 90, 97, 122, 9, 32, 36, 47, 95,
911
+ 11, 12, 48, 57, 65, 90, 97, 122,
912
+ 103, 105, 109, 36, 95, 116, 48, 57,
913
+ 65, 90, 97, 122, 36, 95, 104, 48,
914
+ 57, 65, 90, 97, 122, 9, 32, 36,
915
+ 47, 95, 11, 12, 48, 57, 65, 90,
916
+ 97, 122, 103, 105, 109, 9, 32, 47,
917
+ 61, 124, 11, 12, 103, 105, 109, 9,
918
+ 32, 47, 11, 12, 103, 105, 109, 9,
919
+ 32, 47, 61, 11, 12, 103, 105, 109,
920
+ 103, 105, 109, 0
921
+ };
922
+
923
+ static const char _dude_single_lengths[] = {
924
+ 3, 4, 4, 2, 3, 4, 4, 2,
925
+ 2, 1, 0, 0, 0, 0, 3, 4,
926
+ 4, 2, 3, 4, 4, 2, 3, 4,
927
+ 4, 2, 3, 4, 4, 2, 3, 4,
928
+ 4, 2, 3, 4, 4, 2, 2, 1,
929
+ 0, 0, 0, 0, 3, 4, 4, 2,
930
+ 3, 4, 4, 2, 3, 4, 4, 2,
931
+ 3, 4, 4, 2, 3, 4, 4, 2,
932
+ 3, 4, 4, 2, 3, 4, 4, 2,
933
+ 0, 2, 0, 3, 4, 4, 2, 3,
934
+ 4, 4, 2, 3, 4, 4, 2, 3,
935
+ 4, 4, 2, 4, 3, 4, 1, 3,
936
+ 4, 4, 2, 3, 4, 4, 2, 3,
937
+ 4, 4, 2, 3, 4, 4, 2, 3,
938
+ 4, 4, 2, 3, 4, 4, 2, 3,
939
+ 4, 4, 2, 3, 4, 4, 2, 3,
940
+ 4, 4, 2, 3, 4, 4, 2, 3,
941
+ 4, 4, 2, 3, 4, 4, 2, 3,
942
+ 4, 4, 2, 3, 4, 4, 2, 3,
943
+ 4, 4, 2, 3, 4, 4, 2, 3,
944
+ 4, 4, 2, 3, 4, 4, 2, 3,
945
+ 4, 4, 2, 3, 4, 4, 2, 3,
946
+ 4, 4, 2, 4, 3, 4, 4, 2,
947
+ 3, 4, 4, 2, 3, 4, 4, 2,
948
+ 3, 4, 4, 2, 3, 4, 4, 2,
949
+ 3, 4, 4, 2, 3, 4, 4, 2,
950
+ 3, 4, 4, 2, 3, 4, 4, 2,
951
+ 5, 5, 6, 4, 4, 1, 1, 1,
952
+ 3, 5, 6, 4, 3, 3, 4, 4,
953
+ 2, 3, 4, 4, 2, 3, 4, 4,
954
+ 2, 3, 4, 4, 2, 3, 4, 4,
955
+ 2, 3, 4, 4, 2, 3, 4, 4,
956
+ 2, 3, 4, 4, 2, 3, 4, 4,
957
+ 2, 3, 4, 4, 2, 3, 4, 4,
958
+ 2, 3, 4, 4, 2, 3, 4, 4,
959
+ 2, 3, 4, 4, 2, 3, 4, 4,
960
+ 2, 3, 4, 4, 2, 3, 4, 4,
961
+ 2, 3, 4, 4, 2, 3, 4, 4,
962
+ 2, 3, 4, 4, 2, 3, 4, 4,
963
+ 2, 3, 4, 4, 2, 3, 4, 4,
964
+ 2, 3, 4, 4, 2, 3, 4, 4,
965
+ 2, 3, 4, 4, 2, 3, 4, 4,
966
+ 2, 3, 4, 4, 2, 3, 4, 4,
967
+ 2, 3, 4, 4, 2, 3, 4, 4,
968
+ 2, 3, 4, 4, 2, 3, 4, 4,
969
+ 2, 3, 4, 4, 2, 3, 4, 4,
970
+ 2, 3, 4, 4, 2, 3, 4, 4,
971
+ 2, 3, 4, 4, 2, 3, 4, 4,
972
+ 2, 3, 4, 4, 2, 3, 4, 4,
973
+ 2, 3, 4, 4, 2, 3, 4, 4,
974
+ 2, 3, 4, 4, 2, 3, 4, 4,
975
+ 2, 47, 1, 4, 3, 3, 3, 2,
976
+ 3, 3, 2, 4, 3, 3, 3, 2,
977
+ 4, 3, 3, 3, 3, 2, 3, 3,
978
+ 4, 3, 3, 3, 5, 3, 3, 3,
979
+ 3, 3, 7, 3, 3, 2, 0, 3,
980
+ 3, 3, 3, 3, 3, 5, 3, 1,
981
+ 4, 4, 5, 2, 2, 3, 3, 5,
982
+ 2, 4, 5, 4, 3, 3, 5, 3,
983
+ 4, 3, 3, 3, 3, 3, 4, 3,
984
+ 4, 3, 3, 3, 5, 3, 3, 3,
985
+ 5, 3, 3, 3, 4, 3, 3, 3,
986
+ 3, 3, 3, 3, 3, 3, 5, 3,
987
+ 3, 3, 3, 3, 4, 3, 3, 3,
988
+ 3, 3, 3, 5, 3, 3, 3, 3,
989
+ 3, 3, 3, 5, 3, 3, 3, 3,
990
+ 3, 3, 3, 3, 5, 3, 3, 3,
991
+ 7, 4, 3, 5, 3, 3, 3, 5,
992
+ 3, 3, 3, 3, 3, 3, 5, 3,
993
+ 3, 4, 3, 5, 3, 3, 3, 3,
994
+ 3, 5, 3, 3, 3, 3, 7, 3,
995
+ 3, 3, 5, 4, 5, 3, 3, 3,
996
+ 3, 3, 5, 3, 3, 3, 3, 3,
997
+ 5, 3, 3, 3, 3, 5, 3, 6,
998
+ 3, 3, 3, 5, 3, 3, 5, 3,
999
+ 3, 3, 5, 3, 4, 3, 3, 3,
1000
+ 5, 3, 3, 3, 3, 3, 5, 3,
1001
+ 7, 3, 3, 3, 4, 3, 3, 5,
1002
+ 3, 3, 3, 6, 3, 3, 5, 3,
1003
+ 3, 3, 3, 3, 6, 3, 3, 3,
1004
+ 3, 5, 3, 3, 3, 3, 3, 3,
1005
+ 3, 5, 3, 3, 3, 3, 5, 3,
1006
+ 5, 5, 3, 3, 4, 3, 3, 3,
1007
+ 3, 3, 3, 5, 3, 3, 3, 5,
1008
+ 3, 8, 3, 3, 3, 3, 3, 5,
1009
+ 3, 3, 3, 3, 3, 3, 3, 3,
1010
+ 5, 3, 3, 3, 3, 3, 3, 3,
1011
+ 3, 3, 3, 3, 3, 3, 3, 5,
1012
+ 3, 5, 3, 3, 3, 3, 5, 3,
1013
+ 3, 5, 3, 3, 3, 5, 3, 3,
1014
+ 3, 3, 3, 5, 3, 4, 3, 3,
1015
+ 3, 3, 5, 3, 4, 3, 3, 3,
1016
+ 3, 3, 3, 3, 3, 3, 5, 3,
1017
+ 3, 3, 3, 3, 5, 3, 3, 3,
1018
+ 3, 3, 3, 5, 3, 7, 3, 3,
1019
+ 3, 3, 3, 3, 5, 3, 3, 3,
1020
+ 3, 3, 3, 3, 5, 3, 3, 3,
1021
+ 3, 3, 3, 3, 3, 3, 3, 3,
1022
+ 5, 3, 5, 4, 3, 3, 3, 6,
1023
+ 3, 5, 3, 5, 3, 3, 3, 3,
1024
+ 3, 3, 5, 3, 5, 3, 3, 3,
1025
+ 3, 3, 5, 3, 4, 3, 5, 3,
1026
+ 4, 3, 3, 3, 3, 3, 3, 5,
1027
+ 3, 4, 3, 3, 3, 5, 3, 3,
1028
+ 3, 5, 3, 5, 3, 3, 3, 4,
1029
+ 3, 3
1030
+ };
1031
+
1032
+ static const char _dude_range_lengths[] = {
1033
+ 1, 0, 0, 0, 1, 0, 0, 0,
1034
+ 1, 1, 3, 3, 3, 3, 1, 0,
1035
+ 0, 0, 1, 0, 0, 0, 1, 0,
1036
+ 0, 0, 1, 0, 0, 0, 1, 0,
1037
+ 0, 0, 1, 0, 0, 0, 1, 1,
1038
+ 3, 3, 3, 3, 1, 0, 0, 0,
1039
+ 1, 0, 0, 0, 1, 0, 0, 0,
1040
+ 1, 0, 0, 0, 1, 0, 0, 0,
1041
+ 1, 0, 0, 0, 1, 0, 0, 0,
1042
+ 1, 1, 1, 1, 0, 0, 0, 1,
1043
+ 0, 0, 0, 1, 0, 0, 0, 1,
1044
+ 0, 0, 0, 0, 0, 0, 0, 1,
1045
+ 0, 0, 0, 1, 0, 0, 0, 1,
1046
+ 0, 0, 0, 1, 0, 0, 0, 1,
1047
+ 0, 0, 0, 1, 0, 0, 0, 1,
1048
+ 0, 0, 0, 1, 0, 0, 0, 1,
1049
+ 0, 0, 0, 1, 0, 0, 0, 1,
1050
+ 0, 0, 0, 1, 0, 0, 0, 1,
1051
+ 0, 0, 0, 1, 0, 0, 0, 1,
1052
+ 0, 0, 0, 1, 0, 0, 0, 1,
1053
+ 0, 0, 0, 1, 0, 0, 0, 1,
1054
+ 0, 0, 0, 1, 0, 0, 0, 1,
1055
+ 0, 0, 0, 1, 1, 0, 0, 0,
1056
+ 1, 0, 0, 0, 1, 0, 0, 0,
1057
+ 1, 0, 0, 0, 1, 0, 0, 0,
1058
+ 1, 0, 0, 0, 1, 0, 0, 0,
1059
+ 1, 0, 0, 0, 1, 0, 0, 0,
1060
+ 1, 4, 4, 1, 1, 0, 0, 0,
1061
+ 1, 4, 4, 1, 1, 1, 0, 0,
1062
+ 0, 1, 0, 0, 0, 1, 0, 0,
1063
+ 0, 1, 0, 0, 0, 1, 0, 0,
1064
+ 0, 1, 0, 0, 0, 1, 0, 0,
1065
+ 0, 1, 0, 0, 0, 1, 0, 0,
1066
+ 0, 1, 0, 0, 0, 1, 0, 0,
1067
+ 0, 1, 0, 0, 0, 1, 0, 0,
1068
+ 0, 1, 0, 0, 0, 1, 0, 0,
1069
+ 0, 1, 0, 0, 0, 1, 0, 0,
1070
+ 0, 1, 0, 0, 0, 1, 0, 0,
1071
+ 0, 1, 0, 0, 0, 1, 0, 0,
1072
+ 0, 1, 0, 0, 0, 1, 0, 0,
1073
+ 0, 1, 0, 0, 0, 1, 0, 0,
1074
+ 0, 1, 0, 0, 0, 1, 0, 0,
1075
+ 0, 1, 0, 0, 0, 1, 0, 0,
1076
+ 0, 1, 0, 0, 0, 1, 0, 0,
1077
+ 0, 1, 0, 0, 0, 1, 0, 0,
1078
+ 0, 1, 0, 0, 0, 1, 0, 0,
1079
+ 0, 1, 0, 0, 0, 1, 0, 0,
1080
+ 0, 1, 0, 0, 0, 1, 0, 0,
1081
+ 0, 1, 0, 0, 0, 1, 0, 0,
1082
+ 0, 1, 0, 0, 0, 1, 0, 0,
1083
+ 0, 1, 0, 0, 0, 1, 0, 0,
1084
+ 0, 4, 0, 1, 0, 1, 0, 1,
1085
+ 1, 0, 3, 1, 0, 1, 0, 0,
1086
+ 1, 0, 0, 1, 0, 1, 1, 0,
1087
+ 1, 0, 1, 0, 1, 0, 1, 0,
1088
+ 1, 0, 2, 0, 1, 1, 1, 1,
1089
+ 1, 0, 0, 1, 0, 1, 0, 0,
1090
+ 0, 0, 0, 0, 0, 1, 0, 3,
1091
+ 3, 3, 3, 1, 0, 0, 1, 0,
1092
+ 1, 0, 1, 0, 1, 0, 1, 0,
1093
+ 1, 0, 1, 0, 1, 0, 1, 0,
1094
+ 1, 0, 1, 0, 1, 0, 1, 0,
1095
+ 1, 0, 1, 0, 1, 0, 1, 0,
1096
+ 1, 0, 0, 0, 3, 3, 3, 3,
1097
+ 3, 3, 3, 4, 0, 3, 3, 3,
1098
+ 3, 3, 3, 3, 3, 3, 3, 3,
1099
+ 3, 3, 3, 3, 4, 0, 3, 3,
1100
+ 3, 3, 3, 4, 0, 3, 3, 4,
1101
+ 0, 3, 3, 3, 3, 3, 4, 0,
1102
+ 3, 3, 3, 4, 0, 3, 3, 3,
1103
+ 3, 4, 0, 3, 3, 3, 4, 3,
1104
+ 3, 3, 4, 3, 3, 3, 3, 3,
1105
+ 3, 3, 4, 0, 3, 3, 3, 3,
1106
+ 4, 0, 3, 3, 3, 4, 0, 4,
1107
+ 0, 3, 3, 3, 3, 3, 4, 0,
1108
+ 3, 3, 4, 0, 3, 3, 3, 3,
1109
+ 4, 0, 3, 3, 3, 3, 4, 0,
1110
+ 3, 3, 3, 3, 3, 3, 3, 4,
1111
+ 0, 3, 3, 4, 0, 3, 4, 0,
1112
+ 3, 3, 3, 3, 4, 0, 3, 3,
1113
+ 3, 4, 0, 3, 3, 3, 3, 3,
1114
+ 3, 4, 0, 3, 3, 3, 4, 0,
1115
+ 3, 4, 0, 3, 3, 3, 3, 3,
1116
+ 3, 3, 3, 4, 0, 3, 3, 4,
1117
+ 0, 4, 0, 3, 3, 3, 3, 4,
1118
+ 0, 3, 3, 3, 3, 3, 3, 3,
1119
+ 4, 0, 3, 3, 3, 3, 3, 3,
1120
+ 3, 3, 3, 3, 3, 3, 3, 4,
1121
+ 0, 3, 3, 3, 3, 3, 4, 0,
1122
+ 3, 4, 0, 3, 3, 3, 3, 3,
1123
+ 3, 3, 3, 4, 0, 3, 3, 3,
1124
+ 3, 3, 4, 0, 3, 3, 3, 3,
1125
+ 3, 3, 3, 3, 3, 3, 4, 0,
1126
+ 3, 3, 3, 3, 4, 0, 3, 3,
1127
+ 3, 3, 3, 4, 0, 3, 3, 3,
1128
+ 3, 3, 3, 3, 4, 0, 3, 3,
1129
+ 3, 3, 3, 3, 4, 0, 3, 3,
1130
+ 3, 3, 3, 3, 3, 3, 3, 3,
1131
+ 4, 0, 3, 3, 3, 3, 3, 4,
1132
+ 0, 4, 0, 3, 3, 3, 3, 3,
1133
+ 3, 3, 4, 0, 4, 0, 3, 3,
1134
+ 3, 3, 4, 0, 3, 3, 4, 0,
1135
+ 3, 3, 3, 3, 3, 3, 3, 4,
1136
+ 0, 3, 3, 3, 3, 4, 0, 3,
1137
+ 3, 4, 0, 1, 0, 1, 0, 1,
1138
+ 0, 0
1139
+ };
1140
+
1141
+ static const short _dude_index_offsets[] = {
1142
+ 0, 5, 10, 15, 18, 23, 28, 33,
1143
+ 36, 40, 43, 47, 51, 55, 59, 64,
1144
+ 69, 74, 77, 82, 87, 92, 95, 100,
1145
+ 105, 110, 113, 118, 123, 128, 131, 136,
1146
+ 141, 146, 149, 154, 159, 164, 167, 171,
1147
+ 174, 178, 182, 186, 190, 195, 200, 205,
1148
+ 208, 213, 218, 223, 226, 231, 236, 241,
1149
+ 244, 249, 254, 259, 262, 267, 272, 277,
1150
+ 280, 285, 290, 295, 298, 303, 308, 313,
1151
+ 316, 318, 322, 324, 329, 334, 339, 342,
1152
+ 347, 352, 357, 360, 365, 370, 375, 378,
1153
+ 383, 388, 393, 396, 401, 405, 410, 412,
1154
+ 417, 422, 427, 430, 435, 440, 445, 448,
1155
+ 453, 458, 463, 466, 471, 476, 481, 484,
1156
+ 489, 494, 499, 502, 507, 512, 517, 520,
1157
+ 525, 530, 535, 538, 543, 548, 553, 556,
1158
+ 561, 566, 571, 574, 579, 584, 589, 592,
1159
+ 597, 602, 607, 610, 615, 620, 625, 628,
1160
+ 633, 638, 643, 646, 651, 656, 661, 664,
1161
+ 669, 674, 679, 682, 687, 692, 697, 700,
1162
+ 705, 710, 715, 718, 723, 728, 733, 736,
1163
+ 741, 746, 751, 754, 759, 764, 769, 772,
1164
+ 777, 782, 787, 790, 796, 801, 806, 811,
1165
+ 814, 819, 824, 829, 832, 837, 842, 847,
1166
+ 850, 855, 860, 865, 868, 873, 878, 883,
1167
+ 886, 891, 896, 901, 904, 909, 914, 919,
1168
+ 922, 927, 932, 937, 940, 945, 950, 955,
1169
+ 958, 965, 975, 986, 992, 998, 1000, 1002,
1170
+ 1004, 1009, 1019, 1030, 1036, 1041, 1046, 1051,
1171
+ 1056, 1059, 1064, 1069, 1074, 1077, 1082, 1087,
1172
+ 1092, 1095, 1100, 1105, 1110, 1113, 1118, 1123,
1173
+ 1128, 1131, 1136, 1141, 1146, 1149, 1154, 1159,
1174
+ 1164, 1167, 1172, 1177, 1182, 1185, 1190, 1195,
1175
+ 1200, 1203, 1208, 1213, 1218, 1221, 1226, 1231,
1176
+ 1236, 1239, 1244, 1249, 1254, 1257, 1262, 1267,
1177
+ 1272, 1275, 1280, 1285, 1290, 1293, 1298, 1303,
1178
+ 1308, 1311, 1316, 1321, 1326, 1329, 1334, 1339,
1179
+ 1344, 1347, 1352, 1357, 1362, 1365, 1370, 1375,
1180
+ 1380, 1383, 1388, 1393, 1398, 1401, 1406, 1411,
1181
+ 1416, 1419, 1424, 1429, 1434, 1437, 1442, 1447,
1182
+ 1452, 1455, 1460, 1465, 1470, 1473, 1478, 1483,
1183
+ 1488, 1491, 1496, 1501, 1506, 1509, 1514, 1519,
1184
+ 1524, 1527, 1532, 1537, 1542, 1545, 1550, 1555,
1185
+ 1560, 1563, 1568, 1573, 1578, 1581, 1586, 1591,
1186
+ 1596, 1599, 1604, 1609, 1614, 1617, 1622, 1627,
1187
+ 1632, 1635, 1640, 1645, 1650, 1653, 1658, 1663,
1188
+ 1668, 1671, 1676, 1681, 1686, 1689, 1694, 1699,
1189
+ 1704, 1707, 1712, 1717, 1722, 1725, 1730, 1735,
1190
+ 1740, 1743, 1748, 1753, 1758, 1761, 1766, 1771,
1191
+ 1776, 1779, 1784, 1789, 1794, 1797, 1802, 1807,
1192
+ 1812, 1815, 1820, 1825, 1830, 1833, 1838, 1843,
1193
+ 1848, 1851, 1903, 1905, 1911, 1915, 1920, 1924,
1194
+ 1928, 1933, 1937, 1943, 1949, 1953, 1958, 1962,
1195
+ 1965, 1971, 1975, 1979, 1984, 1988, 1992, 1997,
1196
+ 2001, 2007, 2011, 2016, 2020, 2027, 2031, 2036,
1197
+ 2040, 2045, 2049, 2059, 2063, 2068, 2072, 2074,
1198
+ 2079, 2084, 2088, 2092, 2097, 2101, 2108, 2112,
1199
+ 2114, 2119, 2124, 2130, 2133, 2136, 2141, 2145,
1200
+ 2154, 2160, 2168, 2177, 2183, 2187, 2191, 2198,
1201
+ 2202, 2208, 2212, 2217, 2221, 2226, 2230, 2236,
1202
+ 2240, 2246, 2250, 2255, 2259, 2266, 2270, 2275,
1203
+ 2279, 2286, 2290, 2295, 2299, 2305, 2309, 2314,
1204
+ 2318, 2323, 2327, 2332, 2336, 2341, 2345, 2352,
1205
+ 2356, 2361, 2365, 2369, 2373, 2381, 2388, 2395,
1206
+ 2402, 2409, 2416, 2423, 2433, 2437, 2444, 2451,
1207
+ 2458, 2465, 2472, 2479, 2488, 2495, 2502, 2509,
1208
+ 2516, 2523, 2530, 2537, 2544, 2554, 2558, 2565,
1209
+ 2572, 2583, 2591, 2598, 2608, 2612, 2619, 2626,
1210
+ 2636, 2640, 2647, 2654, 2661, 2668, 2675, 2685,
1211
+ 2689, 2696, 2704, 2711, 2721, 2725, 2732, 2739,
1212
+ 2746, 2753, 2763, 2767, 2774, 2781, 2788, 2800,
1213
+ 2807, 2814, 2821, 2831, 2839, 2848, 2855, 2862,
1214
+ 2869, 2876, 2883, 2893, 2897, 2904, 2911, 2918,
1215
+ 2925, 2935, 2939, 2946, 2953, 2960, 2970, 2974,
1216
+ 2985, 2989, 2996, 3003, 3012, 3019, 3026, 3036,
1217
+ 3040, 3047, 3054, 3064, 3068, 3076, 3083, 3090,
1218
+ 3097, 3107, 3111, 3118, 3125, 3132, 3139, 3149,
1219
+ 3153, 3164, 3171, 3178, 3185, 3193, 3200, 3207,
1220
+ 3217, 3221, 3228, 3235, 3246, 3250, 3257, 3267,
1221
+ 3271, 3278, 3285, 3292, 3299, 3310, 3314, 3321,
1222
+ 3328, 3335, 3345, 3349, 3356, 3363, 3370, 3377,
1223
+ 3384, 3391, 3401, 3405, 3412, 3419, 3426, 3436,
1224
+ 3440, 3449, 3459, 3463, 3470, 3478, 3485, 3492,
1225
+ 3499, 3506, 3513, 3520, 3530, 3534, 3541, 3548,
1226
+ 3558, 3562, 3575, 3579, 3586, 3593, 3600, 3607,
1227
+ 3617, 3621, 3628, 3635, 3642, 3649, 3656, 3663,
1228
+ 3670, 3680, 3684, 3691, 3698, 3705, 3712, 3719,
1229
+ 3726, 3733, 3740, 3747, 3754, 3761, 3768, 3775,
1230
+ 3785, 3789, 3798, 3805, 3812, 3819, 3826, 3836,
1231
+ 3840, 3847, 3857, 3861, 3868, 3875, 3884, 3891,
1232
+ 3898, 3905, 3912, 3919, 3929, 3933, 3941, 3948,
1233
+ 3955, 3962, 3969, 3979, 3983, 3991, 3998, 4005,
1234
+ 4012, 4019, 4026, 4033, 4040, 4047, 4054, 4064,
1235
+ 4068, 4075, 4082, 4089, 4096, 4106, 4110, 4117,
1236
+ 4124, 4131, 4138, 4145, 4155, 4159, 4170, 4177,
1237
+ 4184, 4191, 4198, 4205, 4212, 4222, 4226, 4233,
1238
+ 4240, 4247, 4254, 4261, 4268, 4278, 4282, 4289,
1239
+ 4296, 4303, 4310, 4317, 4324, 4331, 4338, 4345,
1240
+ 4352, 4362, 4366, 4375, 4383, 4390, 4397, 4404,
1241
+ 4415, 4419, 4429, 4433, 4442, 4449, 4456, 4463,
1242
+ 4470, 4477, 4484, 4494, 4498, 4508, 4512, 4519,
1243
+ 4526, 4533, 4540, 4550, 4554, 4562, 4569, 4579,
1244
+ 4583, 4591, 4598, 4605, 4612, 4619, 4626, 4633,
1245
+ 4643, 4647, 4655, 4662, 4669, 4676, 4686, 4690,
1246
+ 4697, 4704, 4714, 4718, 4725, 4729, 4734, 4738,
1247
+ 4744, 4748
1248
+ };
1249
+
1250
+ static const short _dude_indicies[] = {
1251
+ 1, 1, 2, 1, 0, 0, 0, 0,
1252
+ 4, 3, 0, 0, 5, 4, 3, 0,
1253
+ 0, 3, 6, 6, 7, 6, 0, 0,
1254
+ 0, 0, 9, 8, 0, 0, 10, 9,
1255
+ 8, 0, 0, 8, 13, 14, 11, 12,
1256
+ 16, 11, 15, 17, 17, 17, 11, 18,
1257
+ 18, 18, 11, 19, 19, 19, 11, 20,
1258
+ 20, 20, 11, 21, 21, 22, 21, 11,
1259
+ 11, 11, 11, 24, 23, 11, 11, 25,
1260
+ 24, 23, 11, 11, 23, 26, 26, 27,
1261
+ 26, 11, 11, 11, 11, 29, 28, 11,
1262
+ 11, 30, 29, 28, 11, 11, 28, 31,
1263
+ 31, 32, 31, 0, 0, 0, 0, 34,
1264
+ 33, 0, 0, 35, 34, 33, 0, 0,
1265
+ 33, 36, 36, 37, 36, 0, 0, 0,
1266
+ 0, 39, 38, 0, 0, 40, 39, 38,
1267
+ 0, 0, 38, 41, 41, 42, 41, 0,
1268
+ 0, 0, 0, 44, 43, 0, 0, 45,
1269
+ 44, 43, 0, 0, 43, 46, 46, 47,
1270
+ 46, 0, 0, 0, 0, 49, 48, 0,
1271
+ 0, 50, 49, 48, 0, 0, 48, 13,
1272
+ 52, 11, 51, 54, 11, 53, 55, 55,
1273
+ 55, 11, 56, 56, 56, 11, 57, 57,
1274
+ 57, 11, 58, 58, 58, 11, 59, 59,
1275
+ 60, 59, 11, 11, 11, 11, 62, 61,
1276
+ 11, 11, 63, 62, 61, 11, 11, 61,
1277
+ 64, 64, 65, 64, 11, 11, 11, 11,
1278
+ 67, 66, 11, 11, 68, 67, 66, 11,
1279
+ 11, 66, 69, 69, 70, 69, 0, 0,
1280
+ 0, 0, 72, 71, 0, 0, 73, 72,
1281
+ 71, 0, 0, 71, 74, 74, 75, 74,
1282
+ 11, 11, 11, 11, 77, 76, 11, 11,
1283
+ 78, 77, 76, 11, 11, 76, 79, 79,
1284
+ 80, 79, 0, 0, 0, 0, 82, 81,
1285
+ 0, 0, 83, 82, 81, 0, 0, 81,
1286
+ 84, 84, 85, 84, 11, 11, 11, 11,
1287
+ 87, 86, 11, 11, 88, 87, 86, 11,
1288
+ 11, 86, 89, 89, 90, 89, 11, 11,
1289
+ 11, 11, 92, 91, 11, 11, 93, 92,
1290
+ 91, 11, 11, 91, 95, 94, 96, 96,
1291
+ 97, 94, 97, 98, 99, 99, 100, 99,
1292
+ 0, 0, 0, 0, 102, 101, 0, 0,
1293
+ 103, 102, 101, 0, 0, 101, 104, 104,
1294
+ 105, 104, 11, 11, 11, 11, 107, 106,
1295
+ 11, 11, 108, 107, 106, 11, 11, 106,
1296
+ 109, 109, 110, 109, 11, 11, 11, 11,
1297
+ 112, 111, 11, 11, 113, 112, 111, 11,
1298
+ 11, 111, 114, 114, 115, 114, 11, 11,
1299
+ 11, 11, 117, 116, 11, 11, 118, 117,
1300
+ 116, 11, 11, 116, 120, 120, 121, 122,
1301
+ 119, 120, 120, 121, 119, 120, 120, 121,
1302
+ 123, 119, 120, 98, 124, 124, 125, 124,
1303
+ 0, 0, 0, 0, 127, 126, 0, 0,
1304
+ 128, 127, 126, 0, 0, 126, 129, 129,
1305
+ 130, 129, 11, 11, 11, 11, 132, 131,
1306
+ 11, 11, 133, 132, 131, 11, 11, 131,
1307
+ 134, 134, 135, 134, 11, 11, 11, 11,
1308
+ 137, 136, 11, 11, 138, 137, 136, 11,
1309
+ 11, 136, 139, 139, 140, 139, 11, 11,
1310
+ 11, 11, 142, 141, 11, 11, 143, 142,
1311
+ 141, 11, 11, 141, 144, 144, 145, 144,
1312
+ 0, 0, 0, 0, 147, 146, 0, 0,
1313
+ 148, 147, 146, 0, 0, 146, 149, 149,
1314
+ 150, 149, 0, 0, 0, 0, 152, 151,
1315
+ 0, 0, 153, 152, 151, 0, 0, 151,
1316
+ 154, 154, 155, 154, 0, 0, 0, 0,
1317
+ 157, 156, 0, 0, 158, 157, 156, 0,
1318
+ 0, 156, 159, 159, 160, 159, 11, 11,
1319
+ 11, 11, 162, 161, 11, 11, 163, 162,
1320
+ 161, 11, 11, 161, 164, 164, 165, 164,
1321
+ 0, 0, 0, 0, 167, 166, 0, 0,
1322
+ 168, 167, 166, 0, 0, 166, 169, 169,
1323
+ 170, 169, 0, 0, 0, 0, 172, 171,
1324
+ 0, 0, 173, 172, 171, 0, 0, 171,
1325
+ 174, 174, 175, 174, 11, 11, 11, 11,
1326
+ 177, 176, 11, 11, 178, 177, 176, 11,
1327
+ 11, 176, 179, 179, 180, 179, 0, 0,
1328
+ 0, 0, 182, 181, 0, 0, 183, 182,
1329
+ 181, 0, 0, 181, 184, 184, 185, 184,
1330
+ 0, 0, 0, 0, 187, 186, 0, 0,
1331
+ 188, 187, 186, 0, 0, 186, 189, 189,
1332
+ 190, 189, 0, 0, 0, 0, 192, 191,
1333
+ 0, 0, 193, 192, 191, 0, 0, 191,
1334
+ 194, 194, 195, 194, 0, 0, 0, 0,
1335
+ 197, 196, 0, 0, 198, 197, 196, 0,
1336
+ 0, 196, 199, 199, 200, 199, 0, 0,
1337
+ 0, 0, 202, 201, 0, 0, 203, 202,
1338
+ 201, 0, 0, 201, 204, 204, 205, 204,
1339
+ 11, 11, 11, 11, 207, 206, 11, 11,
1340
+ 208, 207, 206, 11, 11, 206, 209, 209,
1341
+ 210, 209, 11, 11, 11, 11, 212, 211,
1342
+ 11, 11, 213, 212, 211, 11, 11, 211,
1343
+ 214, 214, 215, 214, 11, 11, 11, 11,
1344
+ 217, 216, 11, 11, 218, 217, 216, 11,
1345
+ 11, 216, 219, 219, 220, 219, 11, 11,
1346
+ 11, 11, 222, 221, 11, 11, 223, 222,
1347
+ 221, 11, 11, 221, 224, 224, 225, 224,
1348
+ 0, 0, 0, 0, 227, 226, 0, 0,
1349
+ 228, 227, 226, 0, 0, 226, 229, 229,
1350
+ 230, 231, 229, 11, 229, 229, 230, 229,
1351
+ 11, 11, 11, 11, 233, 232, 11, 11,
1352
+ 234, 233, 232, 11, 11, 232, 231, 231,
1353
+ 235, 231, 11, 11, 11, 11, 237, 236,
1354
+ 11, 11, 238, 237, 236, 11, 11, 236,
1355
+ 240, 240, 241, 240, 239, 239, 239, 239,
1356
+ 243, 242, 239, 239, 244, 243, 242, 239,
1357
+ 239, 242, 246, 246, 247, 246, 245, 245,
1358
+ 245, 245, 249, 248, 245, 245, 250, 249,
1359
+ 248, 245, 245, 248, 251, 251, 252, 251,
1360
+ 245, 245, 245, 245, 254, 253, 245, 245,
1361
+ 255, 254, 253, 245, 245, 253, 256, 256,
1362
+ 257, 256, 245, 245, 245, 245, 259, 258,
1363
+ 245, 245, 260, 259, 258, 245, 245, 258,
1364
+ 261, 261, 262, 261, 245, 245, 245, 245,
1365
+ 264, 263, 245, 245, 265, 264, 263, 245,
1366
+ 245, 263, 266, 266, 267, 266, 245, 245,
1367
+ 245, 245, 269, 268, 245, 245, 270, 269,
1368
+ 268, 245, 245, 268, 271, 271, 272, 271,
1369
+ 245, 245, 245, 245, 274, 273, 245, 245,
1370
+ 275, 274, 273, 245, 245, 273, 277, 277,
1371
+ 278, 279, 280, 277, 276, 278, 278, 281,
1372
+ 282, 281, 278, 281, 281, 281, 276, 283,
1373
+ 283, 281, 282, 278, 281, 283, 281, 281,
1374
+ 281, 276, 283, 283, 282, 278, 283, 276,
1375
+ 282, 282, 279, 280, 282, 276, 284, 276,
1376
+ 285, 276, 286, 276, 286, 286, 287, 286,
1377
+ 276, 287, 287, 288, 289, 288, 287, 288,
1378
+ 288, 288, 276, 290, 290, 288, 289, 287,
1379
+ 288, 290, 288, 288, 288, 276, 290, 290,
1380
+ 289, 287, 290, 276, 289, 289, 280, 289,
1381
+ 276, 291, 291, 292, 291, 245, 245, 245,
1382
+ 245, 294, 293, 245, 245, 295, 294, 293,
1383
+ 245, 245, 293, 296, 296, 297, 296, 245,
1384
+ 245, 245, 245, 299, 298, 245, 245, 300,
1385
+ 299, 298, 245, 245, 298, 301, 301, 302,
1386
+ 301, 245, 245, 245, 245, 304, 303, 245,
1387
+ 245, 305, 304, 303, 245, 245, 303, 306,
1388
+ 306, 307, 306, 245, 245, 245, 245, 309,
1389
+ 308, 245, 245, 310, 309, 308, 245, 245,
1390
+ 308, 311, 311, 312, 311, 245, 245, 245,
1391
+ 245, 314, 313, 245, 245, 315, 314, 313,
1392
+ 245, 245, 313, 316, 316, 317, 316, 239,
1393
+ 239, 239, 239, 319, 318, 239, 239, 320,
1394
+ 319, 318, 239, 239, 318, 321, 321, 322,
1395
+ 321, 239, 239, 239, 239, 324, 323, 239,
1396
+ 239, 325, 324, 323, 239, 239, 323, 326,
1397
+ 326, 327, 326, 239, 239, 239, 239, 329,
1398
+ 328, 239, 239, 330, 329, 328, 239, 239,
1399
+ 328, 331, 331, 332, 331, 276, 276, 276,
1400
+ 276, 334, 333, 276, 276, 335, 334, 333,
1401
+ 276, 276, 333, 336, 336, 337, 336, 239,
1402
+ 239, 239, 239, 339, 338, 239, 239, 340,
1403
+ 339, 338, 239, 239, 338, 341, 341, 342,
1404
+ 341, 245, 245, 245, 245, 344, 343, 245,
1405
+ 245, 345, 344, 343, 245, 245, 343, 346,
1406
+ 346, 347, 346, 245, 245, 245, 245, 349,
1407
+ 348, 245, 245, 350, 349, 348, 245, 245,
1408
+ 348, 351, 351, 352, 351, 245, 245, 245,
1409
+ 245, 354, 353, 245, 245, 355, 354, 353,
1410
+ 245, 245, 353, 356, 356, 357, 356, 245,
1411
+ 245, 245, 245, 359, 358, 245, 245, 360,
1412
+ 359, 358, 245, 245, 358, 361, 361, 362,
1413
+ 361, 239, 239, 239, 239, 364, 363, 239,
1414
+ 239, 365, 364, 363, 239, 239, 363, 366,
1415
+ 366, 367, 366, 245, 245, 245, 245, 369,
1416
+ 368, 245, 245, 370, 369, 368, 245, 245,
1417
+ 368, 371, 371, 372, 371, 239, 239, 239,
1418
+ 239, 374, 373, 239, 239, 375, 374, 373,
1419
+ 239, 239, 373, 376, 376, 377, 376, 239,
1420
+ 239, 239, 239, 379, 378, 239, 239, 380,
1421
+ 379, 378, 239, 239, 378, 381, 381, 382,
1422
+ 381, 245, 245, 245, 245, 384, 383, 245,
1423
+ 245, 385, 384, 383, 245, 245, 383, 386,
1424
+ 386, 387, 386, 245, 245, 245, 245, 389,
1425
+ 388, 245, 245, 390, 389, 388, 245, 245,
1426
+ 388, 391, 391, 392, 391, 245, 245, 245,
1427
+ 245, 394, 393, 245, 245, 395, 394, 393,
1428
+ 245, 245, 393, 396, 396, 397, 396, 245,
1429
+ 245, 245, 245, 399, 398, 245, 245, 400,
1430
+ 399, 398, 245, 245, 398, 401, 401, 402,
1431
+ 401, 239, 239, 239, 239, 404, 403, 239,
1432
+ 239, 405, 404, 403, 239, 239, 403, 406,
1433
+ 406, 407, 406, 245, 245, 245, 245, 409,
1434
+ 408, 245, 245, 410, 409, 408, 245, 245,
1435
+ 408, 411, 411, 412, 411, 239, 239, 239,
1436
+ 239, 414, 413, 239, 239, 415, 414, 413,
1437
+ 239, 239, 413, 416, 416, 417, 416, 239,
1438
+ 239, 239, 239, 419, 418, 239, 239, 420,
1439
+ 419, 418, 239, 239, 418, 421, 421, 422,
1440
+ 421, 239, 239, 239, 239, 424, 423, 239,
1441
+ 239, 425, 424, 423, 239, 239, 423, 426,
1442
+ 426, 427, 426, 239, 239, 239, 239, 429,
1443
+ 428, 239, 239, 430, 429, 428, 239, 239,
1444
+ 428, 431, 431, 432, 431, 245, 245, 245,
1445
+ 245, 434, 433, 245, 245, 435, 434, 433,
1446
+ 245, 245, 433, 436, 436, 437, 436, 245,
1447
+ 245, 245, 245, 439, 438, 245, 245, 440,
1448
+ 439, 438, 245, 245, 438, 441, 441, 442,
1449
+ 441, 245, 245, 245, 245, 444, 443, 245,
1450
+ 245, 445, 444, 443, 245, 245, 443, 446,
1451
+ 446, 447, 446, 239, 239, 239, 239, 449,
1452
+ 448, 239, 239, 450, 449, 448, 239, 239,
1453
+ 448, 451, 451, 452, 451, 245, 245, 245,
1454
+ 245, 454, 453, 245, 245, 455, 454, 453,
1455
+ 245, 245, 453, 456, 456, 457, 456, 239,
1456
+ 239, 239, 239, 459, 458, 239, 239, 460,
1457
+ 459, 458, 239, 239, 458, 461, 461, 462,
1458
+ 461, 239, 239, 239, 239, 464, 463, 239,
1459
+ 239, 465, 464, 463, 239, 239, 463, 466,
1460
+ 466, 467, 466, 245, 245, 245, 245, 469,
1461
+ 468, 245, 245, 470, 469, 468, 245, 245,
1462
+ 468, 471, 471, 472, 471, 245, 245, 245,
1463
+ 245, 474, 473, 245, 245, 475, 474, 473,
1464
+ 245, 245, 473, 476, 476, 477, 476, 245,
1465
+ 245, 245, 245, 479, 478, 245, 245, 480,
1466
+ 479, 478, 245, 245, 478, 481, 481, 482,
1467
+ 481, 239, 239, 239, 239, 484, 483, 239,
1468
+ 239, 485, 484, 483, 239, 239, 483, 486,
1469
+ 486, 487, 486, 245, 245, 245, 245, 489,
1470
+ 488, 245, 245, 490, 489, 488, 245, 245,
1471
+ 488, 491, 491, 492, 491, 245, 245, 245,
1472
+ 245, 494, 493, 245, 245, 495, 494, 493,
1473
+ 245, 245, 493, 496, 496, 497, 496, 11,
1474
+ 11, 11, 11, 499, 498, 11, 11, 500,
1475
+ 499, 498, 11, 11, 498, 501, 501, 502,
1476
+ 501, 0, 0, 0, 0, 504, 503, 0,
1477
+ 0, 505, 504, 503, 0, 0, 503, 506,
1478
+ 506, 507, 506, 0, 0, 0, 0, 509,
1479
+ 508, 0, 0, 510, 509, 508, 0, 0,
1480
+ 508, 511, 511, 512, 511, 0, 0, 0,
1481
+ 0, 514, 513, 0, 0, 515, 514, 513,
1482
+ 0, 0, 513, 518, 518, 517, 519, 520,
1483
+ 521, 522, 523, 524, 525, 526, 527, 528,
1484
+ 529, 530, 531, 532, 533, 535, 526, 536,
1485
+ 537, 538, 539, 540, 541, 542, 522, 543,
1486
+ 544, 545, 546, 547, 548, 549, 550, 551,
1487
+ 552, 553, 554, 555, 556, 557, 558, 559,
1488
+ 526, 560, 517, 534, 522, 522, 516, 562,
1489
+ 561, 1, 1, 2, 564, 1, 563, 5,
1490
+ 5, 5, 565, 6, 6, 7, 6, 563,
1491
+ 10, 10, 10, 566, 13, 14, 561, 12,
1492
+ 21, 21, 22, 21, 561, 25, 25, 25,
1493
+ 567, 522, 522, 522, 522, 522, 98, 26,
1494
+ 26, 27, 568, 26, 561, 30, 30, 30,
1495
+ 569, 31, 31, 32, 31, 563, 35, 35,
1496
+ 35, 570, 571, 572, 561, 36, 36, 37,
1497
+ 41, 36, 563, 40, 40, 40, 573, 45,
1498
+ 45, 45, 574, 46, 46, 47, 46, 563,
1499
+ 50, 50, 50, 575, 13, 52, 561, 51,
1500
+ 59, 59, 60, 59, 561, 63, 63, 63,
1501
+ 561, 64, 64, 65, 576, 64, 561, 68,
1502
+ 68, 68, 577, 69, 69, 70, 69, 563,
1503
+ 73, 73, 73, 578, 74, 74, 579, 75,
1504
+ 580, 74, 561, 78, 78, 78, 581, 79,
1505
+ 79, 80, 79, 563, 83, 83, 83, 582,
1506
+ 84, 84, 85, 84, 561, 88, 88, 88,
1507
+ 583, 89, 89, 579, 90, 584, 586, 104,
1508
+ 89, 585, 561, 93, 93, 93, 587, 589,
1509
+ 590, 590, 97, 588, 590, 590, 95, 588,
1510
+ 97, 588, 589, 590, 590, 585, 588, 99,
1511
+ 99, 100, 99, 563, 103, 103, 103, 591,
1512
+ 108, 108, 108, 592, 109, 109, 110, 109,
1513
+ 561, 113, 113, 113, 593, 114, 114, 120,
1514
+ 594, 595, 114, 561, 118, 118, 118, 596,
1515
+ 120, 597, 597, 597, 599, 600, 598, 597,
1516
+ 597, 601, 600, 598, 597, 597, 601, 601,
1517
+ 601, 599, 597, 597, 599, 597, 597, 598,
1518
+ 124, 124, 125, 124, 563, 128, 128, 128,
1519
+ 602, 522, 589, 604, 522, 604, 603, 522,
1520
+ 522, 588, 522, 522, 603, 522, 522, 588,
1521
+ 522, 96, 96, 522, 603, 522, 522, 605,
1522
+ 522, 589, 604, 522, 604, 534, 522, 522,
1523
+ 588, 129, 129, 130, 134, 129, 561, 133,
1524
+ 133, 133, 606, 138, 138, 138, 607, 139,
1525
+ 139, 140, 608, 609, 139, 561, 143, 143,
1526
+ 143, 610, 144, 144, 145, 611, 144, 563,
1527
+ 148, 148, 148, 612, 149, 149, 150, 149,
1528
+ 563, 153, 153, 153, 613, 154, 154, 155,
1529
+ 154, 563, 158, 158, 158, 614, 159, 159,
1530
+ 160, 615, 159, 561, 163, 163, 163, 616,
1531
+ 164, 164, 165, 617, 164, 563, 168, 168,
1532
+ 168, 618, 169, 169, 170, 169, 563, 173,
1533
+ 173, 173, 619, 174, 174, 175, 620, 621,
1534
+ 174, 561, 178, 178, 178, 622, 179, 179,
1535
+ 180, 179, 563, 183, 183, 183, 623, 184,
1536
+ 184, 185, 624, 625, 184, 563, 188, 188,
1537
+ 188, 626, 189, 189, 190, 189, 563, 193,
1538
+ 193, 193, 627, 194, 194, 195, 628, 194,
1539
+ 563, 198, 198, 198, 629, 199, 199, 200,
1540
+ 199, 563, 203, 203, 203, 630, 204, 204,
1541
+ 205, 204, 561, 208, 208, 208, 631, 209,
1542
+ 209, 210, 209, 561, 213, 213, 213, 632,
1543
+ 214, 214, 215, 214, 561, 218, 218, 218,
1544
+ 633, 219, 219, 220, 634, 635, 219, 561,
1545
+ 223, 223, 223, 636, 224, 224, 225, 224,
1546
+ 563, 228, 228, 228, 637, 234, 234, 234,
1547
+ 638, 238, 238, 238, 639, 522, 522, 640,
1548
+ 641, 522, 522, 522, 605, 522, 522, 642,
1549
+ 522, 522, 522, 605, 522, 522, 643, 522,
1550
+ 522, 522, 605, 522, 522, 644, 522, 522,
1551
+ 522, 605, 522, 522, 645, 522, 522, 522,
1552
+ 605, 522, 522, 646, 522, 522, 522, 605,
1553
+ 522, 522, 647, 522, 522, 522, 605, 240,
1554
+ 240, 522, 241, 522, 240, 522, 522, 522,
1555
+ 648, 244, 244, 244, 649, 522, 522, 650,
1556
+ 522, 522, 522, 605, 522, 522, 651, 522,
1557
+ 522, 522, 605, 522, 522, 652, 522, 522,
1558
+ 522, 605, 522, 522, 653, 522, 522, 522,
1559
+ 605, 522, 522, 654, 522, 522, 522, 605,
1560
+ 522, 522, 655, 522, 522, 522, 605, 522,
1561
+ 522, 656, 657, 658, 522, 522, 522, 605,
1562
+ 522, 522, 659, 522, 522, 522, 605, 522,
1563
+ 522, 660, 522, 522, 522, 605, 522, 522,
1564
+ 661, 522, 522, 522, 605, 522, 522, 662,
1565
+ 522, 522, 522, 605, 522, 522, 663, 522,
1566
+ 522, 522, 605, 522, 522, 664, 522, 522,
1567
+ 522, 605, 522, 522, 665, 522, 522, 522,
1568
+ 605, 522, 522, 666, 522, 522, 522, 605,
1569
+ 246, 246, 522, 247, 522, 246, 522, 522,
1570
+ 522, 667, 250, 250, 250, 668, 522, 522,
1571
+ 669, 522, 522, 522, 605, 522, 522, 663,
1572
+ 522, 522, 522, 605, 522, 522, 670, 671,
1573
+ 672, 673, 674, 522, 522, 522, 605, 522,
1574
+ 522, 675, 676, 522, 522, 522, 605, 522,
1575
+ 522, 677, 522, 522, 522, 605, 251, 251,
1576
+ 522, 252, 522, 251, 522, 522, 522, 667,
1577
+ 255, 255, 255, 678, 522, 522, 679, 522,
1578
+ 522, 522, 605, 522, 522, 680, 522, 522,
1579
+ 522, 605, 256, 256, 522, 257, 522, 256,
1580
+ 522, 522, 522, 667, 260, 260, 260, 681,
1581
+ 522, 522, 682, 522, 522, 522, 605, 522,
1582
+ 522, 663, 522, 522, 522, 605, 522, 522,
1583
+ 683, 522, 522, 522, 605, 522, 522, 684,
1584
+ 522, 522, 522, 605, 522, 522, 685, 522,
1585
+ 522, 522, 605, 261, 261, 522, 262, 522,
1586
+ 261, 522, 522, 522, 667, 265, 265, 265,
1587
+ 686, 522, 522, 687, 522, 522, 522, 605,
1588
+ 522, 522, 688, 689, 522, 522, 522, 605,
1589
+ 522, 522, 690, 522, 522, 522, 605, 266,
1590
+ 266, 522, 267, 522, 266, 522, 522, 522,
1591
+ 667, 270, 270, 270, 691, 522, 522, 692,
1592
+ 522, 522, 522, 605, 522, 522, 693, 522,
1593
+ 522, 522, 605, 522, 522, 694, 522, 522,
1594
+ 522, 605, 522, 522, 695, 522, 522, 522,
1595
+ 605, 271, 271, 522, 272, 522, 271, 522,
1596
+ 522, 522, 667, 275, 275, 275, 696, 522,
1597
+ 522, 697, 522, 522, 522, 605, 522, 522,
1598
+ 698, 522, 522, 522, 605, 522, 522, 699,
1599
+ 522, 522, 522, 605, 277, 277, 522, 278,
1600
+ 522, 700, 280, 277, 522, 522, 522, 605,
1601
+ 522, 522, 701, 522, 522, 522, 605, 522,
1602
+ 522, 702, 522, 522, 522, 605, 522, 522,
1603
+ 703, 522, 522, 522, 605, 286, 286, 522,
1604
+ 287, 522, 286, 522, 522, 522, 605, 522,
1605
+ 522, 704, 705, 522, 522, 522, 605, 522,
1606
+ 522, 706, 707, 708, 522, 522, 522, 605,
1607
+ 522, 522, 709, 522, 522, 522, 605, 522,
1608
+ 522, 710, 522, 522, 522, 605, 522, 522,
1609
+ 711, 522, 522, 522, 605, 522, 522, 712,
1610
+ 522, 522, 522, 605, 522, 522, 713, 522,
1611
+ 522, 522, 605, 291, 291, 522, 292, 522,
1612
+ 291, 522, 522, 522, 667, 295, 295, 295,
1613
+ 714, 522, 522, 715, 522, 522, 522, 605,
1614
+ 522, 522, 716, 522, 522, 522, 605, 522,
1615
+ 522, 717, 522, 522, 522, 605, 522, 522,
1616
+ 718, 522, 522, 522, 605, 296, 296, 522,
1617
+ 297, 522, 296, 522, 522, 522, 667, 300,
1618
+ 300, 300, 719, 522, 522, 720, 522, 522,
1619
+ 522, 605, 522, 522, 721, 522, 522, 522,
1620
+ 605, 522, 522, 722, 522, 522, 522, 605,
1621
+ 301, 301, 522, 302, 522, 301, 522, 522,
1622
+ 522, 667, 305, 305, 305, 723, 306, 306,
1623
+ 522, 307, 522, 724, 306, 522, 522, 522,
1624
+ 667, 310, 310, 310, 725, 522, 522, 726,
1625
+ 522, 522, 522, 605, 522, 522, 669, 522,
1626
+ 522, 522, 605, 522, 522, 727, 728, 729,
1627
+ 522, 522, 522, 605, 522, 522, 730, 522,
1628
+ 522, 522, 605, 522, 522, 731, 522, 522,
1629
+ 522, 605, 311, 311, 522, 312, 522, 311,
1630
+ 522, 522, 522, 667, 315, 315, 315, 732,
1631
+ 522, 522, 733, 522, 522, 522, 605, 522,
1632
+ 522, 734, 522, 522, 522, 605, 316, 316,
1633
+ 522, 317, 522, 316, 522, 522, 522, 648,
1634
+ 320, 320, 320, 735, 522, 522, 736, 737,
1635
+ 522, 522, 522, 605, 522, 522, 738, 522,
1636
+ 522, 522, 605, 522, 522, 739, 522, 522,
1637
+ 522, 605, 522, 522, 740, 522, 522, 522,
1638
+ 605, 321, 321, 522, 322, 522, 321, 522,
1639
+ 522, 522, 648, 325, 325, 325, 741, 522,
1640
+ 522, 742, 522, 522, 522, 605, 522, 522,
1641
+ 743, 522, 522, 522, 605, 522, 522, 744,
1642
+ 522, 522, 522, 605, 522, 522, 745, 522,
1643
+ 522, 522, 605, 326, 326, 522, 327, 522,
1644
+ 326, 522, 522, 522, 648, 330, 330, 330,
1645
+ 746, 522, 522, 747, 748, 749, 750, 751,
1646
+ 522, 522, 522, 605, 522, 522, 752, 522,
1647
+ 522, 522, 605, 522, 522, 753, 522, 522,
1648
+ 522, 605, 522, 522, 655, 522, 522, 522,
1649
+ 605, 522, 522, 754, 755, 522, 522, 522,
1650
+ 605, 522, 522, 756, 522, 522, 522, 605,
1651
+ 522, 522, 757, 522, 522, 522, 605, 331,
1652
+ 331, 522, 332, 522, 331, 522, 522, 522,
1653
+ 605, 335, 335, 335, 758, 522, 522, 759,
1654
+ 522, 522, 522, 605, 522, 522, 760, 522,
1655
+ 522, 522, 605, 336, 336, 522, 337, 522,
1656
+ 761, 336, 522, 522, 522, 648, 340, 340,
1657
+ 340, 762, 522, 522, 763, 522, 522, 522,
1658
+ 605, 341, 341, 522, 342, 522, 341, 522,
1659
+ 522, 522, 667, 345, 345, 345, 764, 522,
1660
+ 522, 765, 522, 522, 522, 605, 522, 522,
1661
+ 766, 522, 522, 522, 605, 522, 522, 663,
1662
+ 522, 522, 522, 605, 522, 522, 767, 522,
1663
+ 522, 522, 605, 346, 346, 522, 347, 522,
1664
+ 768, 346, 522, 522, 522, 667, 350, 350,
1665
+ 350, 769, 522, 522, 770, 522, 522, 522,
1666
+ 605, 522, 522, 771, 522, 522, 522, 605,
1667
+ 522, 522, 772, 522, 522, 522, 605, 351,
1668
+ 351, 522, 352, 522, 351, 522, 522, 522,
1669
+ 667, 355, 355, 355, 773, 522, 522, 774,
1670
+ 522, 522, 522, 605, 522, 522, 775, 522,
1671
+ 522, 522, 605, 522, 522, 776, 522, 522,
1672
+ 522, 605, 522, 522, 777, 522, 522, 522,
1673
+ 605, 522, 522, 778, 522, 522, 522, 605,
1674
+ 522, 522, 779, 522, 522, 522, 605, 356,
1675
+ 356, 522, 357, 522, 356, 522, 522, 522,
1676
+ 667, 360, 360, 360, 780, 522, 522, 781,
1677
+ 522, 522, 522, 605, 522, 522, 782, 522,
1678
+ 522, 522, 605, 522, 522, 783, 522, 522,
1679
+ 522, 605, 361, 361, 522, 362, 522, 361,
1680
+ 522, 522, 522, 648, 365, 365, 365, 784,
1681
+ 522, 522, 785, 786, 787, 522, 522, 522,
1682
+ 605, 366, 366, 522, 367, 522, 366, 522,
1683
+ 522, 522, 667, 370, 370, 370, 788, 522,
1684
+ 522, 789, 522, 522, 522, 605, 522, 522,
1685
+ 790, 791, 522, 522, 522, 605, 522, 522,
1686
+ 792, 522, 522, 522, 605, 522, 522, 793,
1687
+ 522, 522, 522, 605, 522, 522, 794, 522,
1688
+ 522, 522, 605, 522, 522, 795, 522, 522,
1689
+ 522, 605, 522, 522, 796, 522, 522, 522,
1690
+ 605, 522, 522, 797, 522, 522, 522, 605,
1691
+ 371, 371, 522, 372, 522, 371, 522, 522,
1692
+ 522, 648, 375, 375, 375, 798, 522, 522,
1693
+ 799, 522, 522, 522, 605, 522, 522, 800,
1694
+ 522, 522, 522, 605, 376, 376, 522, 377,
1695
+ 522, 376, 522, 522, 522, 648, 380, 380,
1696
+ 380, 801, 381, 381, 522, 382, 522, 802,
1697
+ 803, 804, 381, 522, 522, 522, 667, 385,
1698
+ 385, 385, 805, 522, 522, 806, 522, 522,
1699
+ 522, 605, 522, 522, 807, 522, 522, 522,
1700
+ 605, 522, 522, 808, 522, 522, 522, 605,
1701
+ 522, 522, 809, 522, 522, 522, 605, 386,
1702
+ 386, 522, 387, 522, 386, 522, 522, 522,
1703
+ 667, 390, 390, 390, 810, 522, 522, 811,
1704
+ 522, 522, 522, 605, 522, 522, 812, 522,
1705
+ 522, 522, 605, 522, 522, 813, 522, 522,
1706
+ 522, 605, 522, 522, 814, 522, 522, 522,
1707
+ 605, 522, 522, 815, 522, 522, 522, 605,
1708
+ 522, 522, 816, 522, 522, 522, 605, 522,
1709
+ 522, 817, 522, 522, 522, 605, 391, 391,
1710
+ 522, 392, 522, 391, 522, 522, 522, 667,
1711
+ 395, 395, 395, 818, 522, 522, 819, 522,
1712
+ 522, 522, 648, 522, 522, 820, 522, 522,
1713
+ 522, 605, 522, 522, 821, 522, 522, 522,
1714
+ 605, 522, 522, 822, 522, 522, 522, 605,
1715
+ 522, 522, 669, 522, 522, 522, 605, 522,
1716
+ 522, 823, 522, 522, 522, 605, 522, 522,
1717
+ 824, 522, 522, 522, 605, 522, 522, 663,
1718
+ 522, 522, 522, 605, 522, 522, 825, 522,
1719
+ 522, 522, 605, 522, 522, 826, 522, 522,
1720
+ 522, 605, 522, 522, 827, 522, 522, 522,
1721
+ 605, 522, 522, 828, 522, 522, 522, 605,
1722
+ 522, 522, 829, 522, 522, 522, 605, 396,
1723
+ 396, 522, 397, 522, 396, 522, 522, 522,
1724
+ 667, 400, 400, 400, 830, 522, 522, 831,
1725
+ 832, 833, 522, 522, 522, 605, 522, 522,
1726
+ 834, 522, 522, 522, 605, 522, 522, 835,
1727
+ 522, 522, 522, 605, 522, 522, 836, 522,
1728
+ 522, 522, 605, 522, 522, 837, 522, 522,
1729
+ 522, 605, 401, 401, 522, 402, 522, 401,
1730
+ 522, 522, 522, 648, 405, 405, 405, 838,
1731
+ 522, 522, 839, 522, 522, 522, 605, 406,
1732
+ 406, 522, 407, 522, 406, 522, 522, 522,
1733
+ 667, 410, 410, 410, 840, 522, 522, 841,
1734
+ 522, 522, 522, 605, 522, 522, 655, 522,
1735
+ 522, 522, 605, 522, 522, 842, 843, 844,
1736
+ 522, 522, 522, 605, 522, 522, 845, 522,
1737
+ 522, 522, 605, 522, 522, 846, 522, 522,
1738
+ 522, 605, 522, 522, 847, 522, 522, 522,
1739
+ 605, 522, 522, 848, 522, 522, 522, 605,
1740
+ 522, 522, 849, 522, 522, 522, 605, 411,
1741
+ 411, 522, 412, 522, 411, 522, 522, 522,
1742
+ 648, 415, 415, 415, 850, 522, 522, 851,
1743
+ 852, 522, 522, 522, 605, 522, 522, 853,
1744
+ 522, 522, 522, 605, 522, 522, 854, 522,
1745
+ 522, 522, 605, 522, 522, 855, 522, 522,
1746
+ 522, 605, 522, 522, 856, 522, 522, 522,
1747
+ 605, 416, 416, 522, 417, 522, 416, 522,
1748
+ 522, 522, 648, 420, 420, 420, 857, 522,
1749
+ 522, 858, 859, 522, 522, 522, 605, 522,
1750
+ 522, 860, 522, 522, 522, 605, 522, 522,
1751
+ 861, 522, 522, 522, 605, 522, 522, 862,
1752
+ 522, 522, 522, 605, 522, 522, 655, 522,
1753
+ 522, 522, 605, 522, 522, 863, 522, 522,
1754
+ 522, 605, 522, 522, 864, 522, 522, 522,
1755
+ 605, 522, 522, 865, 522, 522, 522, 605,
1756
+ 522, 522, 866, 522, 522, 522, 605, 522,
1757
+ 522, 867, 522, 522, 522, 605, 421, 421,
1758
+ 522, 422, 522, 421, 522, 522, 522, 648,
1759
+ 425, 425, 425, 868, 522, 522, 869, 522,
1760
+ 522, 522, 605, 522, 522, 870, 522, 522,
1761
+ 522, 605, 522, 522, 871, 522, 522, 522,
1762
+ 605, 522, 522, 872, 522, 522, 522, 605,
1763
+ 426, 426, 522, 427, 522, 426, 522, 522,
1764
+ 522, 648, 430, 430, 430, 873, 522, 522,
1765
+ 874, 522, 522, 522, 605, 522, 522, 875,
1766
+ 522, 522, 522, 605, 522, 522, 876, 522,
1767
+ 522, 522, 605, 522, 522, 877, 522, 522,
1768
+ 522, 605, 522, 522, 878, 522, 522, 522,
1769
+ 605, 431, 431, 522, 432, 522, 431, 522,
1770
+ 522, 522, 667, 435, 435, 435, 879, 522,
1771
+ 522, 880, 881, 882, 883, 884, 522, 522,
1772
+ 522, 605, 522, 522, 885, 522, 522, 522,
1773
+ 605, 522, 522, 766, 522, 522, 522, 605,
1774
+ 522, 522, 886, 522, 522, 522, 605, 522,
1775
+ 522, 887, 522, 522, 522, 605, 522, 522,
1776
+ 888, 522, 522, 522, 605, 522, 522, 889,
1777
+ 522, 522, 522, 605, 436, 436, 522, 437,
1778
+ 522, 436, 522, 522, 522, 667, 440, 440,
1779
+ 440, 890, 522, 522, 891, 522, 522, 522,
1780
+ 605, 522, 522, 682, 522, 522, 522, 605,
1781
+ 522, 522, 892, 522, 522, 522, 605, 522,
1782
+ 522, 893, 522, 522, 522, 605, 522, 522,
1783
+ 894, 522, 522, 522, 605, 522, 522, 895,
1784
+ 522, 522, 522, 605, 441, 441, 522, 442,
1785
+ 522, 441, 522, 522, 522, 667, 445, 445,
1786
+ 445, 896, 522, 522, 897, 522, 522, 522,
1787
+ 605, 522, 522, 898, 522, 522, 522, 605,
1788
+ 522, 522, 899, 522, 522, 522, 605, 522,
1789
+ 522, 900, 522, 522, 522, 605, 522, 522,
1790
+ 901, 522, 522, 522, 605, 522, 522, 902,
1791
+ 522, 522, 522, 605, 522, 522, 903, 522,
1792
+ 522, 522, 605, 522, 522, 904, 522, 522,
1793
+ 522, 605, 522, 522, 905, 522, 522, 522,
1794
+ 605, 522, 522, 906, 522, 522, 522, 605,
1795
+ 446, 446, 522, 447, 522, 446, 522, 522,
1796
+ 522, 648, 450, 450, 450, 907, 522, 522,
1797
+ 908, 909, 910, 522, 522, 522, 605, 522,
1798
+ 522, 911, 912, 522, 522, 522, 605, 522,
1799
+ 522, 655, 522, 522, 522, 605, 522, 522,
1800
+ 913, 522, 522, 522, 605, 522, 522, 914,
1801
+ 522, 522, 522, 605, 451, 451, 522, 452,
1802
+ 522, 915, 451, 522, 522, 522, 667, 455,
1803
+ 455, 455, 916, 456, 456, 522, 457, 522,
1804
+ 456, 522, 522, 522, 648, 460, 460, 460,
1805
+ 917, 522, 522, 918, 753, 919, 522, 522,
1806
+ 522, 605, 522, 522, 920, 522, 522, 522,
1807
+ 605, 522, 522, 921, 522, 522, 522, 605,
1808
+ 522, 522, 922, 522, 522, 522, 605, 522,
1809
+ 522, 923, 522, 522, 522, 605, 522, 522,
1810
+ 924, 522, 522, 522, 605, 522, 522, 925,
1811
+ 522, 522, 522, 605, 461, 461, 522, 462,
1812
+ 522, 461, 522, 522, 522, 648, 465, 465,
1813
+ 465, 926, 466, 466, 522, 467, 522, 466,
1814
+ 522, 522, 522, 667, 470, 470, 470, 927,
1815
+ 522, 522, 928, 522, 522, 522, 605, 522,
1816
+ 522, 929, 522, 522, 522, 605, 522, 522,
1817
+ 930, 522, 522, 522, 605, 522, 522, 931,
1818
+ 522, 522, 522, 605, 471, 471, 522, 472,
1819
+ 522, 471, 522, 522, 522, 667, 475, 475,
1820
+ 475, 932, 522, 522, 933, 934, 522, 522,
1821
+ 522, 605, 522, 522, 935, 522, 522, 522,
1822
+ 605, 476, 476, 522, 477, 522, 476, 522,
1823
+ 522, 522, 667, 480, 480, 480, 936, 522,
1824
+ 522, 937, 938, 522, 522, 522, 605, 522,
1825
+ 522, 655, 522, 522, 522, 605, 522, 522,
1826
+ 939, 522, 522, 522, 605, 522, 522, 940,
1827
+ 522, 522, 522, 605, 522, 522, 941, 522,
1828
+ 522, 522, 605, 522, 522, 942, 522, 522,
1829
+ 522, 605, 522, 522, 943, 522, 522, 522,
1830
+ 605, 481, 481, 522, 482, 522, 481, 522,
1831
+ 522, 522, 648, 485, 485, 485, 944, 522,
1832
+ 522, 945, 946, 522, 522, 522, 605, 522,
1833
+ 522, 947, 522, 522, 522, 605, 522, 522,
1834
+ 948, 522, 522, 522, 605, 522, 522, 949,
1835
+ 522, 522, 522, 605, 486, 486, 522, 487,
1836
+ 522, 486, 522, 522, 522, 667, 490, 490,
1837
+ 490, 950, 522, 522, 951, 522, 522, 522,
1838
+ 605, 522, 522, 952, 522, 522, 522, 605,
1839
+ 491, 491, 522, 492, 522, 491, 522, 522,
1840
+ 522, 667, 495, 495, 495, 953, 496, 496,
1841
+ 497, 954, 955, 496, 561, 500, 500, 500,
1842
+ 956, 501, 501, 502, 501, 563, 505, 505,
1843
+ 505, 957, 506, 506, 507, 511, 506, 563,
1844
+ 510, 510, 510, 958, 515, 515, 515, 959,
1845
+ 0
1846
+ };
1847
+
1848
+ static const short _dude_trans_targs[] = {
1849
+ 409, 0, 1, 2, 3, 412, 4, 5,
1850
+ 6, 7, 414, 409, 8, 409, 9, 8,
1851
+ 10, 11, 12, 13, 8, 14, 15, 16,
1852
+ 17, 417, 18, 19, 20, 21, 420, 22,
1853
+ 23, 24, 25, 422, 26, 27, 28, 29,
1854
+ 425, 30, 31, 32, 33, 426, 34, 35,
1855
+ 36, 37, 428, 38, 39, 38, 40, 41,
1856
+ 42, 43, 38, 44, 45, 46, 47, 431,
1857
+ 48, 49, 50, 51, 433, 52, 53, 54,
1858
+ 55, 435, 56, 57, 58, 59, 437, 60,
1859
+ 61, 62, 63, 439, 64, 65, 66, 67,
1860
+ 441, 68, 69, 70, 71, 443, 409, 445,
1861
+ 74, 446, 409, 75, 76, 77, 78, 449,
1862
+ 79, 80, 81, 82, 450, 83, 84, 85,
1863
+ 86, 452, 87, 88, 89, 90, 454, 92,
1864
+ 91, 93, 94, 455, 95, 96, 97, 98,
1865
+ 462, 99, 100, 101, 102, 468, 103, 104,
1866
+ 105, 106, 469, 107, 108, 109, 110, 471,
1867
+ 111, 112, 113, 114, 473, 115, 116, 117,
1868
+ 118, 475, 119, 120, 121, 122, 477, 123,
1869
+ 124, 125, 126, 479, 127, 128, 129, 130,
1870
+ 481, 131, 132, 133, 134, 483, 135, 136,
1871
+ 137, 138, 485, 139, 140, 141, 142, 487,
1872
+ 143, 144, 145, 146, 489, 147, 148, 149,
1873
+ 150, 491, 151, 152, 153, 154, 493, 155,
1874
+ 156, 157, 158, 495, 159, 160, 161, 162,
1875
+ 497, 163, 164, 165, 166, 499, 167, 168,
1876
+ 169, 170, 501, 171, 172, 173, 174, 503,
1877
+ 175, 176, 177, 178, 505, 180, 181, 184,
1878
+ 182, 183, 506, 185, 186, 187, 507, 409,
1879
+ 188, 189, 190, 191, 516, 409, 192, 193,
1880
+ 194, 195, 533, 196, 197, 198, 199, 540,
1881
+ 200, 201, 202, 203, 544, 204, 205, 206,
1882
+ 207, 551, 208, 209, 210, 211, 556, 212,
1883
+ 213, 214, 215, 562, 409, 216, 217, 221,
1884
+ 409, 218, 220, 219, 222, 223, 224, 225,
1885
+ 226, 228, 227, 229, 230, 231, 232, 579,
1886
+ 233, 234, 235, 236, 585, 237, 238, 239,
1887
+ 240, 590, 241, 242, 243, 244, 592, 245,
1888
+ 246, 247, 248, 599, 249, 250, 251, 252,
1889
+ 603, 253, 254, 255, 256, 609, 257, 258,
1890
+ 259, 260, 615, 261, 262, 263, 264, 624,
1891
+ 265, 266, 267, 268, 628, 269, 270, 271,
1892
+ 272, 631, 273, 274, 275, 276, 637, 277,
1893
+ 278, 279, 280, 642, 281, 282, 283, 284,
1894
+ 650, 285, 286, 287, 288, 655, 289, 290,
1895
+ 291, 292, 658, 293, 294, 295, 296, 668,
1896
+ 297, 298, 299, 300, 672, 301, 302, 303,
1897
+ 304, 674, 305, 306, 307, 308, 680, 309,
1898
+ 310, 311, 312, 689, 313, 314, 315, 316,
1899
+ 704, 317, 318, 319, 320, 711, 321, 322,
1900
+ 323, 324, 714, 325, 326, 327, 328, 724,
1901
+ 329, 330, 331, 332, 731, 333, 334, 335,
1902
+ 336, 743, 337, 338, 339, 340, 749, 341,
1903
+ 342, 343, 344, 756, 345, 346, 347, 348,
1904
+ 765, 349, 350, 351, 352, 773, 353, 354,
1905
+ 355, 356, 785, 357, 358, 359, 360, 792,
1906
+ 361, 362, 363, 364, 794, 365, 366, 367,
1907
+ 368, 803, 369, 370, 371, 372, 805, 373,
1908
+ 374, 375, 376, 811, 377, 378, 379, 380,
1909
+ 815, 381, 382, 383, 384, 824, 385, 386,
1910
+ 387, 388, 830, 389, 390, 391, 392, 834,
1911
+ 393, 394, 395, 396, 836, 397, 398, 399,
1912
+ 400, 838, 401, 402, 403, 404, 840, 405,
1913
+ 406, 407, 408, 841, 409, 409, 409, 410,
1914
+ 415, 416, 418, 419, 423, 429, 430, 432,
1915
+ 436, 440, 442, 451, 453, 463, 466, 467,
1916
+ 470, 478, 484, 496, 498, 500, 502, 508,
1917
+ 523, 536, 571, 595, 616, 651, 656, 695,
1918
+ 698, 705, 717, 750, 757, 786, 812, 825,
1919
+ 835, 409, 411, 409, 413, 409, 409, 409,
1920
+ 421, 409, 409, 424, 427, 409, 409, 409,
1921
+ 434, 409, 409, 409, 438, 409, 409, 409,
1922
+ 444, 447, 448, 409, 409, 72, 73, 409,
1923
+ 409, 409, 456, 461, 409, 409, 457, 459,
1924
+ 460, 458, 409, 464, 465, 409, 409, 409,
1925
+ 472, 476, 409, 474, 409, 409, 409, 480,
1926
+ 409, 482, 409, 409, 486, 488, 409, 409,
1927
+ 490, 492, 409, 409, 494, 409, 409, 409,
1928
+ 409, 409, 504, 179, 409, 409, 409, 409,
1929
+ 509, 517, 510, 511, 512, 513, 514, 515,
1930
+ 409, 409, 518, 519, 520, 521, 522, 418,
1931
+ 524, 529, 534, 525, 526, 527, 528, 418,
1932
+ 530, 531, 532, 409, 409, 535, 537, 545,
1933
+ 547, 552, 563, 538, 541, 539, 409, 542,
1934
+ 543, 409, 546, 548, 549, 550, 409, 553,
1935
+ 554, 557, 555, 409, 558, 559, 560, 561,
1936
+ 409, 564, 565, 566, 567, 568, 569, 570,
1937
+ 572, 591, 573, 580, 586, 574, 575, 576,
1938
+ 577, 578, 409, 581, 582, 583, 584, 409,
1939
+ 587, 588, 589, 409, 593, 409, 594, 596,
1940
+ 600, 604, 597, 598, 409, 601, 602, 409,
1941
+ 605, 610, 606, 607, 608, 409, 611, 612,
1942
+ 613, 614, 409, 617, 620, 632, 635, 643,
1943
+ 618, 619, 621, 625, 622, 623, 409, 626,
1944
+ 627, 629, 409, 630, 409, 633, 634, 636,
1945
+ 638, 409, 639, 640, 641, 409, 644, 645,
1946
+ 646, 647, 648, 649, 409, 652, 653, 654,
1947
+ 409, 657, 659, 673, 409, 660, 661, 669,
1948
+ 662, 663, 664, 665, 666, 667, 409, 670,
1949
+ 671, 409, 675, 681, 690, 409, 676, 677,
1950
+ 678, 679, 409, 682, 683, 684, 685, 686,
1951
+ 687, 688, 409, 691, 692, 693, 694, 696,
1952
+ 697, 699, 700, 701, 702, 703, 409, 706,
1953
+ 712, 715, 707, 708, 709, 710, 409, 713,
1954
+ 409, 716, 718, 725, 744, 719, 720, 721,
1955
+ 722, 723, 409, 726, 732, 727, 728, 729,
1956
+ 730, 409, 733, 737, 734, 735, 736, 738,
1957
+ 739, 740, 741, 742, 409, 745, 746, 747,
1958
+ 748, 409, 751, 752, 753, 754, 755, 409,
1959
+ 758, 760, 766, 768, 774, 759, 761, 762,
1960
+ 763, 764, 409, 767, 769, 770, 771, 772,
1961
+ 409, 775, 776, 777, 778, 779, 780, 781,
1962
+ 782, 783, 784, 409, 787, 795, 806, 788,
1963
+ 789, 790, 791, 793, 409, 409, 796, 804,
1964
+ 797, 798, 799, 800, 801, 802, 409, 409,
1965
+ 807, 808, 809, 810, 409, 813, 816, 814,
1966
+ 409, 817, 818, 819, 820, 821, 822, 823,
1967
+ 409, 826, 831, 827, 828, 829, 409, 832,
1968
+ 833, 409, 837, 839, 409, 409, 409, 409
1969
+ };
1970
+
1971
+ static const short _dude_trans_actions[] = {
1972
+ 231, 0, 7, 0, 0, 0, 0, 7,
1973
+ 0, 0, 0, 237, 1, 21, 0, 3,
1974
+ 0, 0, 0, 0, 5, 0, 7, 0,
1975
+ 0, 0, 0, 7, 0, 0, 0, 0,
1976
+ 7, 0, 0, 0, 0, 7, 0, 0,
1977
+ 0, 0, 7, 0, 0, 0, 0, 7,
1978
+ 0, 0, 0, 1, 0, 3, 0, 0,
1979
+ 0, 0, 5, 0, 7, 0, 0, 0,
1980
+ 0, 7, 0, 0, 0, 0, 7, 0,
1981
+ 0, 0, 0, 7, 0, 0, 0, 0,
1982
+ 7, 0, 0, 0, 0, 7, 0, 0,
1983
+ 0, 0, 7, 0, 0, 0, 227, 247,
1984
+ 0, 0, 239, 0, 7, 0, 0, 0,
1985
+ 0, 7, 0, 0, 0, 0, 7, 0,
1986
+ 0, 0, 0, 7, 0, 0, 0, 0,
1987
+ 0, 0, 0, 244, 0, 7, 0, 0,
1988
+ 0, 0, 7, 0, 0, 0, 0, 7,
1989
+ 0, 0, 0, 0, 7, 0, 0, 0,
1990
+ 0, 7, 0, 0, 0, 0, 7, 0,
1991
+ 0, 0, 0, 7, 0, 0, 0, 0,
1992
+ 7, 0, 0, 0, 0, 7, 0, 0,
1993
+ 0, 0, 7, 0, 0, 0, 0, 7,
1994
+ 0, 0, 0, 0, 7, 0, 0, 0,
1995
+ 0, 7, 0, 0, 0, 0, 7, 0,
1996
+ 0, 0, 0, 7, 0, 0, 0, 0,
1997
+ 7, 0, 0, 0, 0, 7, 0, 0,
1998
+ 0, 0, 7, 0, 0, 0, 0, 7,
1999
+ 0, 0, 0, 0, 7, 0, 0, 0,
2000
+ 0, 7, 0, 0, 0, 0, 7, 0,
2001
+ 0, 0, 0, 7, 0, 0, 0, 233,
2002
+ 0, 7, 0, 0, 0, 229, 0, 7,
2003
+ 0, 0, 0, 0, 7, 0, 0, 0,
2004
+ 0, 7, 0, 0, 0, 0, 7, 0,
2005
+ 0, 0, 0, 7, 0, 0, 0, 0,
2006
+ 7, 0, 0, 0, 235, 0, 0, 0,
2007
+ 17, 0, 0, 0, 0, 0, 0, 0,
2008
+ 0, 0, 0, 0, 7, 0, 0, 0,
2009
+ 0, 7, 0, 0, 0, 0, 7, 0,
2010
+ 0, 0, 0, 7, 0, 0, 0, 0,
2011
+ 7, 0, 0, 0, 0, 7, 0, 0,
2012
+ 0, 0, 7, 0, 0, 0, 0, 7,
2013
+ 0, 0, 0, 0, 7, 0, 0, 0,
2014
+ 0, 7, 0, 0, 0, 0, 7, 0,
2015
+ 0, 0, 0, 7, 0, 0, 0, 0,
2016
+ 7, 0, 0, 0, 0, 7, 0, 0,
2017
+ 0, 0, 7, 0, 0, 0, 0, 7,
2018
+ 0, 0, 0, 0, 7, 0, 0, 0,
2019
+ 0, 7, 0, 0, 0, 0, 7, 0,
2020
+ 0, 0, 0, 7, 0, 0, 0, 0,
2021
+ 7, 0, 0, 0, 0, 7, 0, 0,
2022
+ 0, 0, 7, 0, 0, 0, 0, 7,
2023
+ 0, 0, 0, 0, 7, 0, 0, 0,
2024
+ 0, 7, 0, 0, 0, 0, 7, 0,
2025
+ 0, 0, 0, 7, 0, 0, 0, 0,
2026
+ 7, 0, 0, 0, 0, 7, 0, 0,
2027
+ 0, 0, 7, 0, 0, 0, 0, 7,
2028
+ 0, 0, 0, 0, 7, 0, 0, 0,
2029
+ 0, 7, 0, 0, 0, 0, 7, 0,
2030
+ 0, 0, 0, 7, 0, 0, 0, 0,
2031
+ 7, 0, 0, 0, 0, 7, 0, 0,
2032
+ 0, 0, 7, 0, 0, 0, 0, 7,
2033
+ 0, 0, 0, 0, 7, 0, 0, 0,
2034
+ 0, 7, 0, 0, 0, 0, 7, 0,
2035
+ 0, 0, 0, 7, 0, 0, 0, 0,
2036
+ 7, 0, 0, 0, 25, 19, 15, 0,
2037
+ 241, 13, 256, 13, 0, 241, 13, 13,
2038
+ 13, 13, 13, 13, 259, 13, 13, 13,
2039
+ 13, 13, 13, 13, 13, 13, 13, 0,
2040
+ 0, 0, 0, 0, 0, 0, 0, 0,
2041
+ 0, 0, 0, 0, 0, 0, 0, 0,
2042
+ 13, 225, 13, 33, 13, 39, 41, 43,
2043
+ 13, 45, 47, 13, 13, 49, 51, 53,
2044
+ 13, 55, 57, 23, 13, 59, 61, 63,
2045
+ 247, 247, 13, 65, 29, 0, 0, 67,
2046
+ 69, 71, 7, 13, 73, 27, 0, 0,
2047
+ 0, 0, 75, 0, 256, 37, 77, 79,
2048
+ 13, 13, 81, 13, 83, 85, 87, 13,
2049
+ 89, 13, 91, 93, 13, 13, 95, 97,
2050
+ 13, 13, 99, 101, 13, 103, 105, 107,
2051
+ 109, 111, 13, 0, 113, 115, 117, 119,
2052
+ 0, 0, 0, 0, 0, 0, 0, 13,
2053
+ 35, 129, 0, 0, 0, 0, 0, 250,
2054
+ 0, 0, 0, 0, 0, 0, 0, 253,
2055
+ 0, 0, 13, 31, 131, 0, 0, 0,
2056
+ 0, 0, 0, 0, 0, 13, 133, 0,
2057
+ 13, 135, 0, 0, 0, 13, 137, 0,
2058
+ 0, 0, 13, 139, 0, 0, 0, 13,
2059
+ 141, 0, 0, 13, 0, 0, 0, 13,
2060
+ 0, 13, 0, 0, 0, 0, 0, 0,
2061
+ 0, 13, 143, 0, 0, 0, 13, 145,
2062
+ 0, 0, 13, 147, 0, 149, 0, 0,
2063
+ 0, 0, 0, 13, 151, 0, 13, 153,
2064
+ 0, 0, 0, 0, 13, 155, 0, 0,
2065
+ 0, 13, 157, 0, 0, 0, 0, 0,
2066
+ 0, 0, 0, 0, 0, 13, 159, 0,
2067
+ 13, 0, 161, 13, 163, 0, 0, 13,
2068
+ 0, 165, 0, 0, 13, 219, 0, 0,
2069
+ 0, 0, 0, 13, 167, 0, 0, 13,
2070
+ 169, 13, 0, 13, 171, 0, 0, 0,
2071
+ 0, 0, 0, 0, 0, 13, 173, 0,
2072
+ 13, 175, 0, 0, 0, 177, 0, 0,
2073
+ 0, 13, 223, 0, 0, 0, 0, 0,
2074
+ 0, 13, 179, 0, 0, 0, 0, 0,
2075
+ 0, 0, 0, 0, 0, 13, 221, 0,
2076
+ 0, 0, 0, 0, 0, 13, 181, 13,
2077
+ 183, 0, 0, 0, 0, 0, 0, 0,
2078
+ 0, 13, 185, 0, 0, 0, 0, 0,
2079
+ 13, 187, 0, 0, 0, 0, 0, 0,
2080
+ 0, 0, 0, 13, 189, 0, 0, 0,
2081
+ 13, 191, 0, 0, 0, 0, 13, 193,
2082
+ 0, 0, 0, 0, 0, 0, 0, 0,
2083
+ 0, 13, 195, 0, 0, 0, 0, 13,
2084
+ 197, 0, 0, 0, 0, 0, 0, 0,
2085
+ 0, 0, 13, 199, 0, 0, 0, 0,
2086
+ 0, 0, 13, 13, 201, 203, 0, 13,
2087
+ 0, 0, 0, 0, 0, 13, 205, 207,
2088
+ 0, 0, 0, 13, 209, 0, 0, 13,
2089
+ 211, 0, 0, 0, 0, 0, 0, 13,
2090
+ 213, 0, 0, 0, 0, 13, 215, 0,
2091
+ 13, 217, 13, 13, 121, 123, 125, 127
2092
+ };
2093
+
2094
+ static const short _dude_to_state_actions[] = {
2095
+ 0, 0, 0, 0, 0, 0, 0, 0,
2096
+ 0, 0, 0, 0, 0, 0, 0, 0,
2097
+ 0, 0, 0, 0, 0, 0, 0, 0,
2098
+ 0, 0, 0, 0, 0, 0, 0, 0,
2099
+ 0, 0, 0, 0, 0, 0, 0, 0,
2100
+ 0, 0, 0, 0, 0, 0, 0, 0,
2101
+ 0, 0, 0, 0, 0, 0, 0, 0,
2102
+ 0, 0, 0, 0, 0, 0, 0, 0,
2103
+ 0, 0, 0, 0, 0, 0, 0, 0,
2104
+ 0, 0, 0, 0, 0, 0, 0, 0,
2105
+ 0, 0, 0, 0, 0, 0, 0, 0,
2106
+ 0, 0, 0, 0, 0, 0, 0, 0,
2107
+ 0, 0, 0, 0, 0, 0, 0, 0,
2108
+ 0, 0, 0, 0, 0, 0, 0, 0,
2109
+ 0, 0, 0, 0, 0, 0, 0, 0,
2110
+ 0, 0, 0, 0, 0, 0, 0, 0,
2111
+ 0, 0, 0, 0, 0, 0, 0, 0,
2112
+ 0, 0, 0, 0, 0, 0, 0, 0,
2113
+ 0, 0, 0, 0, 0, 0, 0, 0,
2114
+ 0, 0, 0, 0, 0, 0, 0, 0,
2115
+ 0, 0, 0, 0, 0, 0, 0, 0,
2116
+ 0, 0, 0, 0, 0, 0, 0, 0,
2117
+ 0, 0, 0, 0, 0, 0, 0, 0,
2118
+ 0, 0, 0, 0, 0, 0, 0, 0,
2119
+ 0, 0, 0, 0, 0, 0, 0, 0,
2120
+ 0, 0, 0, 0, 0, 0, 0, 0,
2121
+ 0, 0, 0, 0, 0, 0, 0, 0,
2122
+ 0, 0, 0, 0, 0, 0, 0, 0,
2123
+ 0, 0, 0, 0, 0, 0, 0, 0,
2124
+ 0, 0, 0, 0, 0, 0, 0, 0,
2125
+ 0, 0, 0, 0, 0, 0, 0, 0,
2126
+ 0, 0, 0, 0, 0, 0, 0, 0,
2127
+ 0, 0, 0, 0, 0, 0, 0, 0,
2128
+ 0, 0, 0, 0, 0, 0, 0, 0,
2129
+ 0, 0, 0, 0, 0, 0, 0, 0,
2130
+ 0, 0, 0, 0, 0, 0, 0, 0,
2131
+ 0, 0, 0, 0, 0, 0, 0, 0,
2132
+ 0, 0, 0, 0, 0, 0, 0, 0,
2133
+ 0, 0, 0, 0, 0, 0, 0, 0,
2134
+ 0, 0, 0, 0, 0, 0, 0, 0,
2135
+ 0, 0, 0, 0, 0, 0, 0, 0,
2136
+ 0, 0, 0, 0, 0, 0, 0, 0,
2137
+ 0, 0, 0, 0, 0, 0, 0, 0,
2138
+ 0, 0, 0, 0, 0, 0, 0, 0,
2139
+ 0, 0, 0, 0, 0, 0, 0, 0,
2140
+ 0, 0, 0, 0, 0, 0, 0, 0,
2141
+ 0, 0, 0, 0, 0, 0, 0, 0,
2142
+ 0, 0, 0, 0, 0, 0, 0, 0,
2143
+ 0, 0, 0, 0, 0, 0, 0, 0,
2144
+ 0, 0, 0, 0, 0, 0, 0, 0,
2145
+ 0, 0, 0, 0, 0, 0, 0, 0,
2146
+ 0, 9, 0, 0, 0, 0, 0, 0,
2147
+ 0, 0, 0, 0, 0, 0, 0, 0,
2148
+ 0, 0, 0, 0, 0, 0, 0, 0,
2149
+ 0, 0, 0, 0, 0, 0, 0, 0,
2150
+ 0, 0, 0, 0, 0, 0, 0, 0,
2151
+ 0, 0, 0, 0, 0, 0, 0, 0,
2152
+ 0, 0, 0, 0, 0, 0, 0, 0,
2153
+ 0, 0, 0, 0, 0, 0, 0, 0,
2154
+ 0, 0, 0, 0, 0, 0, 0, 0,
2155
+ 0, 0, 0, 0, 0, 0, 0, 0,
2156
+ 0, 0, 0, 0, 0, 0, 0, 0,
2157
+ 0, 0, 0, 0, 0, 0, 0, 0,
2158
+ 0, 0, 0, 0, 0, 0, 0, 0,
2159
+ 0, 0, 0, 0, 0, 0, 0, 0,
2160
+ 0, 0, 0, 0, 0, 0, 0, 0,
2161
+ 0, 0, 0, 0, 0, 0, 0, 0,
2162
+ 0, 0, 0, 0, 0, 0, 0, 0,
2163
+ 0, 0, 0, 0, 0, 0, 0, 0,
2164
+ 0, 0, 0, 0, 0, 0, 0, 0,
2165
+ 0, 0, 0, 0, 0, 0, 0, 0,
2166
+ 0, 0, 0, 0, 0, 0, 0, 0,
2167
+ 0, 0, 0, 0, 0, 0, 0, 0,
2168
+ 0, 0, 0, 0, 0, 0, 0, 0,
2169
+ 0, 0, 0, 0, 0, 0, 0, 0,
2170
+ 0, 0, 0, 0, 0, 0, 0, 0,
2171
+ 0, 0, 0, 0, 0, 0, 0, 0,
2172
+ 0, 0, 0, 0, 0, 0, 0, 0,
2173
+ 0, 0, 0, 0, 0, 0, 0, 0,
2174
+ 0, 0, 0, 0, 0, 0, 0, 0,
2175
+ 0, 0, 0, 0, 0, 0, 0, 0,
2176
+ 0, 0, 0, 0, 0, 0, 0, 0,
2177
+ 0, 0, 0, 0, 0, 0, 0, 0,
2178
+ 0, 0, 0, 0, 0, 0, 0, 0,
2179
+ 0, 0, 0, 0, 0, 0, 0, 0,
2180
+ 0, 0, 0, 0, 0, 0, 0, 0,
2181
+ 0, 0, 0, 0, 0, 0, 0, 0,
2182
+ 0, 0, 0, 0, 0, 0, 0, 0,
2183
+ 0, 0, 0, 0, 0, 0, 0, 0,
2184
+ 0, 0, 0, 0, 0, 0, 0, 0,
2185
+ 0, 0, 0, 0, 0, 0, 0, 0,
2186
+ 0, 0, 0, 0, 0, 0, 0, 0,
2187
+ 0, 0, 0, 0, 0, 0, 0, 0,
2188
+ 0, 0, 0, 0, 0, 0, 0, 0,
2189
+ 0, 0, 0, 0, 0, 0, 0, 0,
2190
+ 0, 0, 0, 0, 0, 0, 0, 0,
2191
+ 0, 0, 0, 0, 0, 0, 0, 0,
2192
+ 0, 0, 0, 0, 0, 0, 0, 0,
2193
+ 0, 0, 0, 0, 0, 0, 0, 0,
2194
+ 0, 0, 0, 0, 0, 0, 0, 0,
2195
+ 0, 0, 0, 0, 0, 0, 0, 0,
2196
+ 0, 0, 0, 0, 0, 0, 0, 0,
2197
+ 0, 0, 0, 0, 0, 0, 0, 0,
2198
+ 0, 0, 0, 0, 0, 0, 0, 0,
2199
+ 0, 0, 0, 0, 0, 0, 0, 0,
2200
+ 0, 0
2201
+ };
2202
+
2203
+ static const short _dude_from_state_actions[] = {
2204
+ 0, 0, 0, 0, 0, 0, 0, 0,
2205
+ 0, 0, 0, 0, 0, 0, 0, 0,
2206
+ 0, 0, 0, 0, 0, 0, 0, 0,
2207
+ 0, 0, 0, 0, 0, 0, 0, 0,
2208
+ 0, 0, 0, 0, 0, 0, 0, 0,
2209
+ 0, 0, 0, 0, 0, 0, 0, 0,
2210
+ 0, 0, 0, 0, 0, 0, 0, 0,
2211
+ 0, 0, 0, 0, 0, 0, 0, 0,
2212
+ 0, 0, 0, 0, 0, 0, 0, 0,
2213
+ 0, 0, 0, 0, 0, 0, 0, 0,
2214
+ 0, 0, 0, 0, 0, 0, 0, 0,
2215
+ 0, 0, 0, 0, 0, 0, 0, 0,
2216
+ 0, 0, 0, 0, 0, 0, 0, 0,
2217
+ 0, 0, 0, 0, 0, 0, 0, 0,
2218
+ 0, 0, 0, 0, 0, 0, 0, 0,
2219
+ 0, 0, 0, 0, 0, 0, 0, 0,
2220
+ 0, 0, 0, 0, 0, 0, 0, 0,
2221
+ 0, 0, 0, 0, 0, 0, 0, 0,
2222
+ 0, 0, 0, 0, 0, 0, 0, 0,
2223
+ 0, 0, 0, 0, 0, 0, 0, 0,
2224
+ 0, 0, 0, 0, 0, 0, 0, 0,
2225
+ 0, 0, 0, 0, 0, 0, 0, 0,
2226
+ 0, 0, 0, 0, 0, 0, 0, 0,
2227
+ 0, 0, 0, 0, 0, 0, 0, 0,
2228
+ 0, 0, 0, 0, 0, 0, 0, 0,
2229
+ 0, 0, 0, 0, 0, 0, 0, 0,
2230
+ 0, 0, 0, 0, 0, 0, 0, 0,
2231
+ 0, 0, 0, 0, 0, 0, 0, 0,
2232
+ 0, 0, 0, 0, 0, 0, 0, 0,
2233
+ 0, 0, 0, 0, 0, 0, 0, 0,
2234
+ 0, 0, 0, 0, 0, 0, 0, 0,
2235
+ 0, 0, 0, 0, 0, 0, 0, 0,
2236
+ 0, 0, 0, 0, 0, 0, 0, 0,
2237
+ 0, 0, 0, 0, 0, 0, 0, 0,
2238
+ 0, 0, 0, 0, 0, 0, 0, 0,
2239
+ 0, 0, 0, 0, 0, 0, 0, 0,
2240
+ 0, 0, 0, 0, 0, 0, 0, 0,
2241
+ 0, 0, 0, 0, 0, 0, 0, 0,
2242
+ 0, 0, 0, 0, 0, 0, 0, 0,
2243
+ 0, 0, 0, 0, 0, 0, 0, 0,
2244
+ 0, 0, 0, 0, 0, 0, 0, 0,
2245
+ 0, 0, 0, 0, 0, 0, 0, 0,
2246
+ 0, 0, 0, 0, 0, 0, 0, 0,
2247
+ 0, 0, 0, 0, 0, 0, 0, 0,
2248
+ 0, 0, 0, 0, 0, 0, 0, 0,
2249
+ 0, 0, 0, 0, 0, 0, 0, 0,
2250
+ 0, 0, 0, 0, 0, 0, 0, 0,
2251
+ 0, 0, 0, 0, 0, 0, 0, 0,
2252
+ 0, 0, 0, 0, 0, 0, 0, 0,
2253
+ 0, 0, 0, 0, 0, 0, 0, 0,
2254
+ 0, 0, 0, 0, 0, 0, 0, 0,
2255
+ 0, 11, 0, 0, 0, 0, 0, 0,
2256
+ 0, 0, 0, 0, 0, 0, 0, 0,
2257
+ 0, 0, 0, 0, 0, 0, 0, 0,
2258
+ 0, 0, 0, 0, 0, 0, 0, 0,
2259
+ 0, 0, 0, 0, 0, 0, 0, 0,
2260
+ 0, 0, 0, 0, 0, 0, 0, 0,
2261
+ 0, 0, 0, 0, 0, 0, 0, 0,
2262
+ 0, 0, 0, 0, 0, 0, 0, 0,
2263
+ 0, 0, 0, 0, 0, 0, 0, 0,
2264
+ 0, 0, 0, 0, 0, 0, 0, 0,
2265
+ 0, 0, 0, 0, 0, 0, 0, 0,
2266
+ 0, 0, 0, 0, 0, 0, 0, 0,
2267
+ 0, 0, 0, 0, 0, 0, 0, 0,
2268
+ 0, 0, 0, 0, 0, 0, 0, 0,
2269
+ 0, 0, 0, 0, 0, 0, 0, 0,
2270
+ 0, 0, 0, 0, 0, 0, 0, 0,
2271
+ 0, 0, 0, 0, 0, 0, 0, 0,
2272
+ 0, 0, 0, 0, 0, 0, 0, 0,
2273
+ 0, 0, 0, 0, 0, 0, 0, 0,
2274
+ 0, 0, 0, 0, 0, 0, 0, 0,
2275
+ 0, 0, 0, 0, 0, 0, 0, 0,
2276
+ 0, 0, 0, 0, 0, 0, 0, 0,
2277
+ 0, 0, 0, 0, 0, 0, 0, 0,
2278
+ 0, 0, 0, 0, 0, 0, 0, 0,
2279
+ 0, 0, 0, 0, 0, 0, 0, 0,
2280
+ 0, 0, 0, 0, 0, 0, 0, 0,
2281
+ 0, 0, 0, 0, 0, 0, 0, 0,
2282
+ 0, 0, 0, 0, 0, 0, 0, 0,
2283
+ 0, 0, 0, 0, 0, 0, 0, 0,
2284
+ 0, 0, 0, 0, 0, 0, 0, 0,
2285
+ 0, 0, 0, 0, 0, 0, 0, 0,
2286
+ 0, 0, 0, 0, 0, 0, 0, 0,
2287
+ 0, 0, 0, 0, 0, 0, 0, 0,
2288
+ 0, 0, 0, 0, 0, 0, 0, 0,
2289
+ 0, 0, 0, 0, 0, 0, 0, 0,
2290
+ 0, 0, 0, 0, 0, 0, 0, 0,
2291
+ 0, 0, 0, 0, 0, 0, 0, 0,
2292
+ 0, 0, 0, 0, 0, 0, 0, 0,
2293
+ 0, 0, 0, 0, 0, 0, 0, 0,
2294
+ 0, 0, 0, 0, 0, 0, 0, 0,
2295
+ 0, 0, 0, 0, 0, 0, 0, 0,
2296
+ 0, 0, 0, 0, 0, 0, 0, 0,
2297
+ 0, 0, 0, 0, 0, 0, 0, 0,
2298
+ 0, 0, 0, 0, 0, 0, 0, 0,
2299
+ 0, 0, 0, 0, 0, 0, 0, 0,
2300
+ 0, 0, 0, 0, 0, 0, 0, 0,
2301
+ 0, 0, 0, 0, 0, 0, 0, 0,
2302
+ 0, 0, 0, 0, 0, 0, 0, 0,
2303
+ 0, 0, 0, 0, 0, 0, 0, 0,
2304
+ 0, 0, 0, 0, 0, 0, 0, 0,
2305
+ 0, 0, 0, 0, 0, 0, 0, 0,
2306
+ 0, 0, 0, 0, 0, 0, 0, 0,
2307
+ 0, 0, 0, 0, 0, 0, 0, 0,
2308
+ 0, 0, 0, 0, 0, 0, 0, 0,
2309
+ 0, 0
2310
+ };
2311
+
2312
+ static const short _dude_eof_trans[] = {
2313
+ 1, 1, 1, 1, 1, 1, 1, 1,
2314
+ 12, 12, 12, 12, 12, 12, 12, 12,
2315
+ 12, 12, 12, 12, 12, 12, 1, 1,
2316
+ 1, 1, 1, 1, 1, 1, 1, 1,
2317
+ 1, 1, 1, 1, 1, 1, 12, 12,
2318
+ 12, 12, 12, 12, 12, 12, 12, 12,
2319
+ 12, 12, 12, 12, 1, 1, 1, 1,
2320
+ 12, 12, 12, 12, 1, 1, 1, 1,
2321
+ 12, 12, 12, 12, 12, 12, 12, 12,
2322
+ 95, 95, 99, 1, 1, 1, 1, 12,
2323
+ 12, 12, 12, 12, 12, 12, 12, 12,
2324
+ 12, 12, 12, 99, 99, 99, 99, 1,
2325
+ 1, 1, 1, 12, 12, 12, 12, 12,
2326
+ 12, 12, 12, 12, 12, 12, 12, 1,
2327
+ 1, 1, 1, 1, 1, 1, 1, 1,
2328
+ 1, 1, 1, 12, 12, 12, 12, 1,
2329
+ 1, 1, 1, 1, 1, 1, 1, 12,
2330
+ 12, 12, 12, 1, 1, 1, 1, 1,
2331
+ 1, 1, 1, 1, 1, 1, 1, 1,
2332
+ 1, 1, 1, 1, 1, 1, 1, 12,
2333
+ 12, 12, 12, 12, 12, 12, 12, 12,
2334
+ 12, 12, 12, 12, 12, 12, 12, 1,
2335
+ 1, 1, 1, 12, 12, 12, 12, 12,
2336
+ 12, 12, 12, 12, 240, 240, 240, 240,
2337
+ 246, 246, 246, 246, 246, 246, 246, 246,
2338
+ 246, 246, 246, 246, 246, 246, 246, 246,
2339
+ 246, 246, 246, 246, 246, 246, 246, 246,
2340
+ 277, 277, 277, 277, 277, 277, 277, 277,
2341
+ 277, 277, 277, 277, 277, 246, 246, 246,
2342
+ 246, 246, 246, 246, 246, 246, 246, 246,
2343
+ 246, 246, 246, 246, 246, 246, 246, 246,
2344
+ 246, 240, 240, 240, 240, 240, 240, 240,
2345
+ 240, 240, 240, 240, 240, 277, 277, 277,
2346
+ 277, 240, 240, 240, 240, 246, 246, 246,
2347
+ 246, 246, 246, 246, 246, 246, 246, 246,
2348
+ 246, 246, 246, 246, 246, 240, 240, 240,
2349
+ 240, 246, 246, 246, 246, 240, 240, 240,
2350
+ 240, 240, 240, 240, 240, 246, 246, 246,
2351
+ 246, 246, 246, 246, 246, 246, 246, 246,
2352
+ 246, 246, 246, 246, 246, 240, 240, 240,
2353
+ 240, 246, 246, 246, 246, 240, 240, 240,
2354
+ 240, 240, 240, 240, 240, 240, 240, 240,
2355
+ 240, 240, 240, 240, 240, 246, 246, 246,
2356
+ 246, 246, 246, 246, 246, 246, 246, 246,
2357
+ 246, 240, 240, 240, 240, 246, 246, 246,
2358
+ 246, 240, 240, 240, 240, 240, 240, 240,
2359
+ 240, 246, 246, 246, 246, 246, 246, 246,
2360
+ 246, 246, 246, 246, 246, 240, 240, 240,
2361
+ 240, 246, 246, 246, 246, 246, 246, 246,
2362
+ 246, 12, 12, 12, 12, 1, 1, 1,
2363
+ 1, 1, 1, 1, 1, 1, 1, 1,
2364
+ 1, 0, 562, 564, 566, 564, 567, 562,
2365
+ 562, 568, 99, 562, 570, 564, 571, 562,
2366
+ 564, 574, 575, 564, 576, 562, 562, 562,
2367
+ 562, 578, 564, 579, 562, 582, 564, 583,
2368
+ 562, 584, 562, 588, 589, 589, 589, 589,
2369
+ 564, 592, 593, 562, 594, 562, 597, 598,
2370
+ 598, 598, 598, 598, 598, 564, 603, 589,
2371
+ 589, 606, 589, 562, 607, 608, 562, 611,
2372
+ 564, 613, 564, 614, 564, 615, 562, 617,
2373
+ 564, 619, 564, 620, 562, 623, 564, 624,
2374
+ 564, 627, 564, 628, 564, 630, 564, 631,
2375
+ 562, 632, 562, 633, 562, 634, 562, 637,
2376
+ 564, 638, 639, 640, 606, 606, 606, 606,
2377
+ 606, 606, 606, 649, 650, 606, 606, 606,
2378
+ 606, 606, 606, 606, 606, 606, 606, 606,
2379
+ 606, 606, 606, 606, 668, 669, 606, 606,
2380
+ 606, 606, 606, 668, 679, 606, 606, 668,
2381
+ 682, 606, 606, 606, 606, 606, 668, 687,
2382
+ 606, 606, 606, 668, 692, 606, 606, 606,
2383
+ 606, 668, 697, 606, 606, 606, 606, 606,
2384
+ 606, 606, 606, 606, 606, 606, 606, 606,
2385
+ 606, 606, 668, 715, 606, 606, 606, 606,
2386
+ 668, 720, 606, 606, 606, 668, 724, 668,
2387
+ 726, 606, 606, 606, 606, 606, 668, 733,
2388
+ 606, 606, 649, 736, 606, 606, 606, 606,
2389
+ 649, 742, 606, 606, 606, 606, 649, 747,
2390
+ 606, 606, 606, 606, 606, 606, 606, 606,
2391
+ 759, 606, 606, 649, 763, 606, 668, 765,
2392
+ 606, 606, 606, 606, 668, 770, 606, 606,
2393
+ 606, 668, 774, 606, 606, 606, 606, 606,
2394
+ 606, 668, 781, 606, 606, 606, 649, 785,
2395
+ 606, 668, 789, 606, 606, 606, 606, 606,
2396
+ 606, 606, 606, 649, 799, 606, 606, 649,
2397
+ 802, 668, 806, 606, 606, 606, 606, 668,
2398
+ 811, 606, 606, 606, 606, 606, 606, 606,
2399
+ 668, 819, 649, 606, 606, 606, 606, 606,
2400
+ 606, 606, 606, 606, 606, 606, 606, 668,
2401
+ 831, 606, 606, 606, 606, 606, 649, 839,
2402
+ 606, 668, 841, 606, 606, 606, 606, 606,
2403
+ 606, 606, 606, 649, 851, 606, 606, 606,
2404
+ 606, 606, 649, 858, 606, 606, 606, 606,
2405
+ 606, 606, 606, 606, 606, 606, 649, 869,
2406
+ 606, 606, 606, 606, 649, 874, 606, 606,
2407
+ 606, 606, 606, 668, 880, 606, 606, 606,
2408
+ 606, 606, 606, 606, 668, 891, 606, 606,
2409
+ 606, 606, 606, 606, 668, 897, 606, 606,
2410
+ 606, 606, 606, 606, 606, 606, 606, 606,
2411
+ 649, 908, 606, 606, 606, 606, 606, 668,
2412
+ 917, 649, 918, 606, 606, 606, 606, 606,
2413
+ 606, 606, 649, 927, 668, 928, 606, 606,
2414
+ 606, 606, 668, 933, 606, 606, 668, 937,
2415
+ 606, 606, 606, 606, 606, 606, 606, 649,
2416
+ 945, 606, 606, 606, 606, 668, 951, 606,
2417
+ 606, 668, 954, 562, 957, 564, 958, 564,
2418
+ 959, 960
2419
+ };
2420
+
2421
+ static const int dude_start = 409;
2422
+ static const int dude_first_final = 409;
2423
+ static const int dude_error = -1;
2424
+
2425
+ static const int dude_en_main = 409;
2426
+
2427
+
2428
+ #line 607 "meta/final_tokenizer.rl"
2429
+
2430
+ #line 2431 "meta/final_tokenizer.c"
2431
+ {
2432
+ cs = dude_start;
2433
+ ts = 0;
2434
+ te = 0;
2435
+ act = 0;
2436
+ }
2437
+
2438
+ #line 608 "meta/final_tokenizer.rl"
2439
+
2440
+ #line 2441 "meta/final_tokenizer.c"
2441
+ {
2442
+ int _klen;
2443
+ unsigned int _trans;
2444
+ const char *_acts;
2445
+ unsigned int _nacts;
2446
+ const char *_keys;
2447
+
2448
+ if ( p == pe )
2449
+ goto _test_eof;
2450
+ _resume:
2451
+ _acts = _dude_actions + _dude_from_state_actions[cs];
2452
+ _nacts = (unsigned int) *_acts++;
2453
+ while ( _nacts-- > 0 ) {
2454
+ switch ( *_acts++ ) {
2455
+ case 6:
2456
+ #line 1 "meta/final_tokenizer.rl"
2457
+ {ts = p;}
2458
+ break;
2459
+ #line 2460 "meta/final_tokenizer.c"
2460
+ }
2461
+ }
2462
+
2463
+ _keys = _dude_trans_keys + _dude_key_offsets[cs];
2464
+ _trans = _dude_index_offsets[cs];
2465
+
2466
+ _klen = _dude_single_lengths[cs];
2467
+ if ( _klen > 0 ) {
2468
+ const char *_lower = _keys;
2469
+ const char *_mid;
2470
+ const char *_upper = _keys + _klen - 1;
2471
+ while (1) {
2472
+ if ( _upper < _lower )
2473
+ break;
2474
+
2475
+ _mid = _lower + ((_upper-_lower) >> 1);
2476
+ if ( (*p) < *_mid )
2477
+ _upper = _mid - 1;
2478
+ else if ( (*p) > *_mid )
2479
+ _lower = _mid + 1;
2480
+ else {
2481
+ _trans += (_mid - _keys);
2482
+ goto _match;
2483
+ }
2484
+ }
2485
+ _keys += _klen;
2486
+ _trans += _klen;
2487
+ }
2488
+
2489
+ _klen = _dude_range_lengths[cs];
2490
+ if ( _klen > 0 ) {
2491
+ const char *_lower = _keys;
2492
+ const char *_mid;
2493
+ const char *_upper = _keys + (_klen<<1) - 2;
2494
+ while (1) {
2495
+ if ( _upper < _lower )
2496
+ break;
2497
+
2498
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1);
2499
+ if ( (*p) < _mid[0] )
2500
+ _upper = _mid - 2;
2501
+ else if ( (*p) > _mid[1] )
2502
+ _lower = _mid + 2;
2503
+ else {
2504
+ _trans += ((_mid - _keys)>>1);
2505
+ goto _match;
2506
+ }
2507
+ }
2508
+ _trans += _klen;
2509
+ }
2510
+
2511
+ _match:
2512
+ _trans = _dude_indicies[_trans];
2513
+ _eof_trans:
2514
+ cs = _dude_trans_targs[_trans];
2515
+
2516
+ if ( _dude_trans_actions[_trans] == 0 )
2517
+ goto _again;
2518
+
2519
+ _acts = _dude_actions + _dude_trans_actions[_trans];
2520
+ _nacts = (unsigned int) *_acts++;
2521
+ while ( _nacts-- > 0 )
2522
+ {
2523
+ switch ( *_acts++ )
2524
+ {
2525
+ case 0:
2526
+ #line 9 "meta/final_tokenizer.rl"
2527
+ {
2528
+ }
2529
+ break;
2530
+ case 1:
2531
+ #line 12 "meta/final_tokenizer.rl"
2532
+ {
2533
+ }
2534
+ break;
2535
+ case 2:
2536
+ #line 15 "meta/final_tokenizer.rl"
2537
+ {
2538
+ }
2539
+ break;
2540
+ case 3:
2541
+ #line 18 "meta/final_tokenizer.rl"
2542
+ {
2543
+ }
2544
+ break;
2545
+ case 4:
2546
+ #line 95 "meta/final_tokenizer.rl"
2547
+ {regexp_start = p;}
2548
+ break;
2549
+ case 7:
2550
+ #line 1 "meta/final_tokenizer.rl"
2551
+ {te = p+1;}
2552
+ break;
2553
+ case 8:
2554
+ #line 126 "meta/final_tokenizer.rl"
2555
+ {act = 4;}
2556
+ break;
2557
+ case 9:
2558
+ #line 138 "meta/final_tokenizer.rl"
2559
+ {act = 6;}
2560
+ break;
2561
+ case 10:
2562
+ #line 139 "meta/final_tokenizer.rl"
2563
+ {act = 7;}
2564
+ break;
2565
+ case 11:
2566
+ #line 245 "meta/final_tokenizer.rl"
2567
+ {act = 9;}
2568
+ break;
2569
+ case 12:
2570
+ #line 246 "meta/final_tokenizer.rl"
2571
+ {act = 10;}
2572
+ break;
2573
+ case 13:
2574
+ #line 343 "meta/final_tokenizer.rl"
2575
+ {act = 104;}
2576
+ break;
2577
+ case 14:
2578
+ #line 110 "meta/final_tokenizer.rl"
2579
+ {te = p+1;{
2580
+ line_number++;
2581
+ }}
2582
+ break;
2583
+ case 15:
2584
+ #line 114 "meta/final_tokenizer.rl"
2585
+ {te = p+1;{
2586
+ curr = ts-data;
2587
+ in_CURRY = 1;
2588
+ start_CURRY = curr;
2589
+ line_CURRY = line_number;
2590
+ cb_lvl_CURRY = cb_count;
2591
+ br_lvl_CURRY = br_count;
2592
+
2593
+ cb_count++;
2594
+ }}
2595
+ break;
2596
+ case 16:
2597
+ #line 125 "meta/final_tokenizer.rl"
2598
+ {te = p+1;}
2599
+ break;
2600
+ case 17:
2601
+ #line 137 "meta/final_tokenizer.rl"
2602
+ {te = p+1;}
2603
+ break;
2604
+ case 18:
2605
+ #line 244 "meta/final_tokenizer.rl"
2606
+ {te = p+1;{ }}
2607
+ break;
2608
+ case 19:
2609
+ #line 343 "meta/final_tokenizer.rl"
2610
+ {te = p+1;{
2611
+ curr = ts-data;
2612
+ single = data[ts-data];
2613
+
2614
+ if (single == '(') {
2615
+ br_count++;
2616
+ } else if (single == ')') {
2617
+ br_count--;
2618
+
2619
+ if (in_FOREACH && br_count == br_lvl_FOREACH) {
2620
+ in_FOREACH = 0;
2621
+ cb_lvl_FOREACH = -1;
2622
+ do_next_argv[0] = sym_FOREACH;
2623
+ do_next_argv[1] = INT2FIX(start_FOREACH);
2624
+ do_next_argv[2] = INT2FIX(curr);
2625
+ do_next_argv[3] = INT2FIX(0);
2626
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
2627
+
2628
+ }
2629
+ }
2630
+
2631
+ if (single == '{') {
2632
+ cb_count++;
2633
+ } else if (single == '}') {
2634
+ if ((cb_lvl_CLASS == (cb_count - 1) && in_CLASS == 1) || (cb_lvl_MODULE == (cb_count - 1) && in_MODULE == 1)) {
2635
+ in_STUFF = 1;
2636
+ start_STUFF = curr+1;
2637
+ line_STUFF = line_number;
2638
+ cb_lvl_STUFF = cb_count;
2639
+ br_lvl_STUFF = br_count;
2640
+
2641
+ }
2642
+
2643
+ cb_count--;
2644
+
2645
+ // stuff that stops on }'s
2646
+ if (in_METHOD && cb_lvl_METHOD == cb_count) {
2647
+ in_METHOD = 0;
2648
+ cb_lvl_METHOD = -1;
2649
+ do_next_argv[0] = sym_METHOD;
2650
+ do_next_argv[1] = INT2FIX(start_METHOD);
2651
+ do_next_argv[2] = INT2FIX(curr);
2652
+ do_next_argv[3] = INT2FIX(0);
2653
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
2654
+
2655
+ }
2656
+ if (in_CLASS && cb_lvl_CLASS == cb_count) {
2657
+ in_CLASS = 0;
2658
+ cb_lvl_CLASS = -1;
2659
+ do_next_argv[0] = sym_CLASS;
2660
+ do_next_argv[1] = INT2FIX(start_CLASS);
2661
+ do_next_argv[2] = INT2FIX(curr);
2662
+ do_next_argv[3] = INT2FIX(0);
2663
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
2664
+
2665
+ }
2666
+ if (in_FOREACH && cb_lvl_FOREACH == cb_count) {
2667
+ in_FOREACH = 0;
2668
+ cb_lvl_FOREACH = -1;
2669
+ do_next_argv[0] = sym_FOREACH;
2670
+ do_next_argv[1] = INT2FIX(start_FOREACH);
2671
+ do_next_argv[2] = INT2FIX(curr);
2672
+ do_next_argv[3] = INT2FIX(0);
2673
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
2674
+
2675
+ }
2676
+ if (in_MODULE && cb_lvl_MODULE == cb_count) {
2677
+ in_MODULE = 0;
2678
+ cb_lvl_MODULE = -1;
2679
+ do_next_argv[0] = sym_MODULE;
2680
+ do_next_argv[1] = INT2FIX(start_MODULE);
2681
+ do_next_argv[2] = INT2FIX(curr);
2682
+ do_next_argv[3] = INT2FIX(0);
2683
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
2684
+
2685
+ }
2686
+ if (in_CURRY && cb_lvl_CURRY == cb_count) {
2687
+ in_CURRY = 0;
2688
+ cb_lvl_CURRY = -1;
2689
+ do_next_argv[0] = sym_CURRY;
2690
+ do_next_argv[1] = INT2FIX(start_CURRY);
2691
+ do_next_argv[2] = INT2FIX(curr);
2692
+ do_next_argv[3] = INT2FIX(0);
2693
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
2694
+
2695
+ }
2696
+
2697
+ }
2698
+
2699
+ if (single == ';') {
2700
+ if (in_MEMBER == 1) {
2701
+ in_MEMBER = 0;
2702
+ cb_lvl_MEMBER = -1;
2703
+ do_next_argv[0] = sym_MEMBER;
2704
+ do_next_argv[1] = INT2FIX(start_MEMBER);
2705
+ do_next_argv[2] = INT2FIX(curr);
2706
+ do_next_argv[3] = INT2FIX(0);
2707
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
2708
+
2709
+ }
2710
+ if (in_INCLUDE == 1) {
2711
+ in_INCLUDE = 0;
2712
+ cb_lvl_INCLUDE = -1;
2713
+ do_next_argv[0] = sym_INCLUDE;
2714
+ do_next_argv[1] = INT2FIX(start_INCLUDE);
2715
+ do_next_argv[2] = INT2FIX(curr);
2716
+ do_next_argv[3] = INT2FIX(0);
2717
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
2718
+
2719
+ }
2720
+ if (in_PROPERTY == 1) {
2721
+ in_PROPERTY = 0;
2722
+ cb_lvl_PROPERTY = -1;
2723
+ do_next_argv[0] = sym_PROPERTY;
2724
+ do_next_argv[1] = INT2FIX(start_PROPERTY);
2725
+ do_next_argv[2] = INT2FIX(curr);
2726
+ do_next_argv[3] = INT2FIX(0);
2727
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
2728
+
2729
+ }
2730
+
2731
+ }
2732
+
2733
+ }}
2734
+ break;
2735
+ case 20:
2736
+ #line 126 "meta/final_tokenizer.rl"
2737
+ {te = p;p--;{
2738
+ if ((cb_lvl_CLASS == (cb_count - 1) && in_CLASS == 1)) {
2739
+ do_next_argv[0] = sym_COMMENT;
2740
+ do_next_argv[1] = INT2FIX(ts-data);
2741
+ do_next_argv[2] = INT2FIX(te-data-1);
2742
+ do_next_argv[3] = INT2FIX(0);
2743
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
2744
+
2745
+ }
2746
+ }}
2747
+ break;
2748
+ case 21:
2749
+ #line 138 "meta/final_tokenizer.rl"
2750
+ {te = p;p--;}
2751
+ break;
2752
+ case 22:
2753
+ #line 139 "meta/final_tokenizer.rl"
2754
+ {te = p;p--;{
2755
+ curr = ts-data;
2756
+
2757
+ for (j=0, i=ts-data; i<te-data; i++) {
2758
+ word[j] = data[i];
2759
+ ++j;
2760
+ }
2761
+ word[j] = 0;
2762
+
2763
+
2764
+ if (strcmp(word, "class") == 0 || strcmp(word, "module") == 0) {
2765
+ if (strcmp(word, "class") == 0) {
2766
+ in_CLASS = 1;
2767
+ start_CLASS = curr;
2768
+ line_CLASS = line_number;
2769
+ cb_lvl_CLASS = cb_count;
2770
+ br_lvl_CLASS = br_count;
2771
+
2772
+ } else {
2773
+ in_MODULE = 1;
2774
+ start_MODULE = curr;
2775
+ line_MODULE = line_number;
2776
+ cb_lvl_MODULE = cb_count;
2777
+ br_lvl_MODULE = br_count;
2778
+
2779
+ }
2780
+
2781
+ // if "class" wasn't the first thing in the file
2782
+ // then submit the :STUFF
2783
+ if (curr > 0) {
2784
+ in_STUFF = 0;
2785
+ cb_lvl_STUFF = -1;
2786
+ do_next_argv[0] = sym_STUFF;
2787
+ do_next_argv[1] = INT2FIX(start_STUFF);
2788
+ do_next_argv[2] = INT2FIX(curr-1);
2789
+ do_next_argv[3] = INT2FIX(0);
2790
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
2791
+
2792
+ }
2793
+
2794
+ } else if ((cb_lvl_CLASS == (cb_count - 1) && in_CLASS == 1) || (cb_lvl_MODULE == (cb_count - 1) && in_MODULE == 1)) {
2795
+ if (strcmp(word, "static") == 0) {
2796
+ rb_funcall2(self, set_static_sym, set_static_argc, set_static_argv);
2797
+ }
2798
+
2799
+ if (strcmp(word, "function") == 0) {
2800
+ in_METHOD = 1;
2801
+ start_METHOD = curr;
2802
+ line_METHOD = line_number;
2803
+ cb_lvl_METHOD = cb_count;
2804
+ br_lvl_METHOD = br_count;
2805
+
2806
+ }
2807
+
2808
+ if (strcmp(word, "var") == 0) {
2809
+ in_MEMBER = 1;
2810
+ start_MEMBER = curr;
2811
+ line_MEMBER = line_number;
2812
+ cb_lvl_MEMBER = cb_count;
2813
+ br_lvl_MEMBER = br_count;
2814
+
2815
+ }
2816
+
2817
+
2818
+ if (strcmp(word, "accessor") == 0) {
2819
+ in_MEMBER = 1;
2820
+ start_MEMBER = curr;
2821
+ line_MEMBER = line_number;
2822
+ cb_lvl_MEMBER = cb_count;
2823
+ br_lvl_MEMBER = br_count;
2824
+
2825
+ }
2826
+
2827
+ if (strcmp(word, "property") == 0) {
2828
+ in_PROPERTY = 1;
2829
+ start_PROPERTY = curr;
2830
+ line_PROPERTY = line_number;
2831
+ cb_lvl_PROPERTY = cb_count;
2832
+ br_lvl_PROPERTY = br_count;
2833
+
2834
+ }
2835
+
2836
+
2837
+ if (strcmp(word, "include") == 0) {
2838
+ in_INCLUDE = 1;
2839
+ start_INCLUDE = curr;
2840
+ line_INCLUDE = line_number;
2841
+ cb_lvl_INCLUDE = cb_count;
2842
+ br_lvl_INCLUDE = br_count;
2843
+
2844
+ }
2845
+
2846
+ }
2847
+
2848
+ if (strcmp(word, "foreach") == 0) {
2849
+ in_FOREACH = 1;
2850
+ start_FOREACH = curr;
2851
+ line_FOREACH = line_number;
2852
+ cb_lvl_FOREACH = cb_count;
2853
+ br_lvl_FOREACH = br_count;
2854
+
2855
+ }
2856
+
2857
+ }}
2858
+ break;
2859
+ case 23:
2860
+ #line 244 "meta/final_tokenizer.rl"
2861
+ {te = p;p--;{ }}
2862
+ break;
2863
+ case 24:
2864
+ #line 245 "meta/final_tokenizer.rl"
2865
+ {te = p;p--;{ }}
2866
+ break;
2867
+ case 25:
2868
+ #line 246 "meta/final_tokenizer.rl"
2869
+ {te = p;p--;{ }}
2870
+ break;
2871
+ case 26:
2872
+ #line 248 "meta/final_tokenizer.rl"
2873
+ {te = p;p--;{ }}
2874
+ break;
2875
+ case 27:
2876
+ #line 249 "meta/final_tokenizer.rl"
2877
+ {te = p;p--;{ }}
2878
+ break;
2879
+ case 28:
2880
+ #line 250 "meta/final_tokenizer.rl"
2881
+ {te = p;p--;{ }}
2882
+ break;
2883
+ case 29:
2884
+ #line 251 "meta/final_tokenizer.rl"
2885
+ {te = p;p--;{ }}
2886
+ break;
2887
+ case 30:
2888
+ #line 252 "meta/final_tokenizer.rl"
2889
+ {te = p;p--;{ }}
2890
+ break;
2891
+ case 31:
2892
+ #line 253 "meta/final_tokenizer.rl"
2893
+ {te = p;p--;{ }}
2894
+ break;
2895
+ case 32:
2896
+ #line 254 "meta/final_tokenizer.rl"
2897
+ {te = p;p--;{ }}
2898
+ break;
2899
+ case 33:
2900
+ #line 255 "meta/final_tokenizer.rl"
2901
+ {te = p;p--;{ }}
2902
+ break;
2903
+ case 34:
2904
+ #line 256 "meta/final_tokenizer.rl"
2905
+ {te = p;p--;{ }}
2906
+ break;
2907
+ case 35:
2908
+ #line 257 "meta/final_tokenizer.rl"
2909
+ {te = p;p--;{ }}
2910
+ break;
2911
+ case 36:
2912
+ #line 258 "meta/final_tokenizer.rl"
2913
+ {te = p;p--;{ }}
2914
+ break;
2915
+ case 37:
2916
+ #line 259 "meta/final_tokenizer.rl"
2917
+ {te = p;p--;{ }}
2918
+ break;
2919
+ case 38:
2920
+ #line 260 "meta/final_tokenizer.rl"
2921
+ {te = p;p--;{ }}
2922
+ break;
2923
+ case 39:
2924
+ #line 261 "meta/final_tokenizer.rl"
2925
+ {te = p;p--;{ }}
2926
+ break;
2927
+ case 40:
2928
+ #line 262 "meta/final_tokenizer.rl"
2929
+ {te = p;p--;{ }}
2930
+ break;
2931
+ case 41:
2932
+ #line 263 "meta/final_tokenizer.rl"
2933
+ {te = p;p--;{ }}
2934
+ break;
2935
+ case 42:
2936
+ #line 264 "meta/final_tokenizer.rl"
2937
+ {te = p;p--;{ }}
2938
+ break;
2939
+ case 43:
2940
+ #line 265 "meta/final_tokenizer.rl"
2941
+ {te = p;p--;{ }}
2942
+ break;
2943
+ case 44:
2944
+ #line 266 "meta/final_tokenizer.rl"
2945
+ {te = p;p--;{ }}
2946
+ break;
2947
+ case 45:
2948
+ #line 267 "meta/final_tokenizer.rl"
2949
+ {te = p;p--;{ }}
2950
+ break;
2951
+ case 46:
2952
+ #line 268 "meta/final_tokenizer.rl"
2953
+ {te = p;p--;{ }}
2954
+ break;
2955
+ case 47:
2956
+ #line 269 "meta/final_tokenizer.rl"
2957
+ {te = p;p--;{ }}
2958
+ break;
2959
+ case 48:
2960
+ #line 270 "meta/final_tokenizer.rl"
2961
+ {te = p;p--;{ }}
2962
+ break;
2963
+ case 49:
2964
+ #line 271 "meta/final_tokenizer.rl"
2965
+ {te = p;p--;{ }}
2966
+ break;
2967
+ case 50:
2968
+ #line 272 "meta/final_tokenizer.rl"
2969
+ {te = p;p--;{ }}
2970
+ break;
2971
+ case 51:
2972
+ #line 273 "meta/final_tokenizer.rl"
2973
+ {te = p;p--;{ }}
2974
+ break;
2975
+ case 52:
2976
+ #line 274 "meta/final_tokenizer.rl"
2977
+ {te = p;p--;{ }}
2978
+ break;
2979
+ case 53:
2980
+ #line 275 "meta/final_tokenizer.rl"
2981
+ {te = p;p--;{ }}
2982
+ break;
2983
+ case 54:
2984
+ #line 276 "meta/final_tokenizer.rl"
2985
+ {te = p;p--;{ }}
2986
+ break;
2987
+ case 55:
2988
+ #line 277 "meta/final_tokenizer.rl"
2989
+ {te = p;p--;{ }}
2990
+ break;
2991
+ case 56:
2992
+ #line 278 "meta/final_tokenizer.rl"
2993
+ {te = p;p--;{ }}
2994
+ break;
2995
+ case 57:
2996
+ #line 279 "meta/final_tokenizer.rl"
2997
+ {te = p;p--;{ }}
2998
+ break;
2999
+ case 58:
3000
+ #line 280 "meta/final_tokenizer.rl"
3001
+ {te = p;p--;{ }}
3002
+ break;
3003
+ case 59:
3004
+ #line 281 "meta/final_tokenizer.rl"
3005
+ {te = p;p--;{ }}
3006
+ break;
3007
+ case 60:
3008
+ #line 282 "meta/final_tokenizer.rl"
3009
+ {te = p;p--;{ }}
3010
+ break;
3011
+ case 61:
3012
+ #line 283 "meta/final_tokenizer.rl"
3013
+ {te = p;p--;{ }}
3014
+ break;
3015
+ case 62:
3016
+ #line 284 "meta/final_tokenizer.rl"
3017
+ {te = p;p--;{ }}
3018
+ break;
3019
+ case 63:
3020
+ #line 285 "meta/final_tokenizer.rl"
3021
+ {te = p;p--;{ }}
3022
+ break;
3023
+ case 64:
3024
+ #line 286 "meta/final_tokenizer.rl"
3025
+ {te = p;p--;{ }}
3026
+ break;
3027
+ case 65:
3028
+ #line 287 "meta/final_tokenizer.rl"
3029
+ {te = p;p--;{ }}
3030
+ break;
3031
+ case 66:
3032
+ #line 288 "meta/final_tokenizer.rl"
3033
+ {te = p;p--;{ }}
3034
+ break;
3035
+ case 67:
3036
+ #line 289 "meta/final_tokenizer.rl"
3037
+ {te = p;p--;{ }}
3038
+ break;
3039
+ case 68:
3040
+ #line 290 "meta/final_tokenizer.rl"
3041
+ {te = p;p--;{ }}
3042
+ break;
3043
+ case 69:
3044
+ #line 291 "meta/final_tokenizer.rl"
3045
+ {te = p;p--;{ }}
3046
+ break;
3047
+ case 70:
3048
+ #line 292 "meta/final_tokenizer.rl"
3049
+ {te = p;p--;{ }}
3050
+ break;
3051
+ case 71:
3052
+ #line 293 "meta/final_tokenizer.rl"
3053
+ {te = p;p--;{ }}
3054
+ break;
3055
+ case 72:
3056
+ #line 294 "meta/final_tokenizer.rl"
3057
+ {te = p;p--;{ }}
3058
+ break;
3059
+ case 73:
3060
+ #line 295 "meta/final_tokenizer.rl"
3061
+ {te = p;p--;{ }}
3062
+ break;
3063
+ case 74:
3064
+ #line 296 "meta/final_tokenizer.rl"
3065
+ {te = p;p--;{ }}
3066
+ break;
3067
+ case 75:
3068
+ #line 297 "meta/final_tokenizer.rl"
3069
+ {te = p;p--;{ }}
3070
+ break;
3071
+ case 76:
3072
+ #line 298 "meta/final_tokenizer.rl"
3073
+ {te = p;p--;{ }}
3074
+ break;
3075
+ case 77:
3076
+ #line 299 "meta/final_tokenizer.rl"
3077
+ {te = p;p--;{ }}
3078
+ break;
3079
+ case 78:
3080
+ #line 300 "meta/final_tokenizer.rl"
3081
+ {te = p;p--;{ }}
3082
+ break;
3083
+ case 79:
3084
+ #line 301 "meta/final_tokenizer.rl"
3085
+ {te = p;p--;{ }}
3086
+ break;
3087
+ case 80:
3088
+ #line 302 "meta/final_tokenizer.rl"
3089
+ {te = p;p--;{ }}
3090
+ break;
3091
+ case 81:
3092
+ #line 303 "meta/final_tokenizer.rl"
3093
+ {te = p;p--;{ }}
3094
+ break;
3095
+ case 82:
3096
+ #line 304 "meta/final_tokenizer.rl"
3097
+ {te = p;p--;{ }}
3098
+ break;
3099
+ case 83:
3100
+ #line 305 "meta/final_tokenizer.rl"
3101
+ {te = p;p--;{ }}
3102
+ break;
3103
+ case 84:
3104
+ #line 306 "meta/final_tokenizer.rl"
3105
+ {te = p;p--;{ }}
3106
+ break;
3107
+ case 85:
3108
+ #line 307 "meta/final_tokenizer.rl"
3109
+ {te = p;p--;{ }}
3110
+ break;
3111
+ case 86:
3112
+ #line 308 "meta/final_tokenizer.rl"
3113
+ {te = p;p--;{ }}
3114
+ break;
3115
+ case 87:
3116
+ #line 309 "meta/final_tokenizer.rl"
3117
+ {te = p;p--;{ }}
3118
+ break;
3119
+ case 88:
3120
+ #line 310 "meta/final_tokenizer.rl"
3121
+ {te = p;p--;{ }}
3122
+ break;
3123
+ case 89:
3124
+ #line 311 "meta/final_tokenizer.rl"
3125
+ {te = p;p--;{ }}
3126
+ break;
3127
+ case 90:
3128
+ #line 312 "meta/final_tokenizer.rl"
3129
+ {te = p;p--;{ }}
3130
+ break;
3131
+ case 91:
3132
+ #line 313 "meta/final_tokenizer.rl"
3133
+ {te = p;p--;{ }}
3134
+ break;
3135
+ case 92:
3136
+ #line 314 "meta/final_tokenizer.rl"
3137
+ {te = p;p--;{ }}
3138
+ break;
3139
+ case 93:
3140
+ #line 315 "meta/final_tokenizer.rl"
3141
+ {te = p;p--;{ }}
3142
+ break;
3143
+ case 94:
3144
+ #line 316 "meta/final_tokenizer.rl"
3145
+ {te = p;p--;{ }}
3146
+ break;
3147
+ case 95:
3148
+ #line 317 "meta/final_tokenizer.rl"
3149
+ {te = p;p--;{ }}
3150
+ break;
3151
+ case 96:
3152
+ #line 318 "meta/final_tokenizer.rl"
3153
+ {te = p;p--;{ }}
3154
+ break;
3155
+ case 97:
3156
+ #line 319 "meta/final_tokenizer.rl"
3157
+ {te = p;p--;{ }}
3158
+ break;
3159
+ case 98:
3160
+ #line 320 "meta/final_tokenizer.rl"
3161
+ {te = p;p--;{ }}
3162
+ break;
3163
+ case 99:
3164
+ #line 321 "meta/final_tokenizer.rl"
3165
+ {te = p;p--;{ }}
3166
+ break;
3167
+ case 100:
3168
+ #line 322 "meta/final_tokenizer.rl"
3169
+ {te = p;p--;{ }}
3170
+ break;
3171
+ case 101:
3172
+ #line 323 "meta/final_tokenizer.rl"
3173
+ {te = p;p--;{ }}
3174
+ break;
3175
+ case 102:
3176
+ #line 324 "meta/final_tokenizer.rl"
3177
+ {te = p;p--;{ }}
3178
+ break;
3179
+ case 103:
3180
+ #line 325 "meta/final_tokenizer.rl"
3181
+ {te = p;p--;{ }}
3182
+ break;
3183
+ case 104:
3184
+ #line 326 "meta/final_tokenizer.rl"
3185
+ {te = p;p--;{ }}
3186
+ break;
3187
+ case 105:
3188
+ #line 327 "meta/final_tokenizer.rl"
3189
+ {te = p;p--;{ }}
3190
+ break;
3191
+ case 106:
3192
+ #line 328 "meta/final_tokenizer.rl"
3193
+ {te = p;p--;{ }}
3194
+ break;
3195
+ case 107:
3196
+ #line 329 "meta/final_tokenizer.rl"
3197
+ {te = p;p--;{ }}
3198
+ break;
3199
+ case 108:
3200
+ #line 330 "meta/final_tokenizer.rl"
3201
+ {te = p;p--;{ }}
3202
+ break;
3203
+ case 109:
3204
+ #line 331 "meta/final_tokenizer.rl"
3205
+ {te = p;p--;{ }}
3206
+ break;
3207
+ case 110:
3208
+ #line 332 "meta/final_tokenizer.rl"
3209
+ {te = p;p--;{ }}
3210
+ break;
3211
+ case 111:
3212
+ #line 333 "meta/final_tokenizer.rl"
3213
+ {te = p;p--;{ }}
3214
+ break;
3215
+ case 112:
3216
+ #line 334 "meta/final_tokenizer.rl"
3217
+ {te = p;p--;{ }}
3218
+ break;
3219
+ case 113:
3220
+ #line 335 "meta/final_tokenizer.rl"
3221
+ {te = p;p--;{ }}
3222
+ break;
3223
+ case 114:
3224
+ #line 336 "meta/final_tokenizer.rl"
3225
+ {te = p;p--;{ }}
3226
+ break;
3227
+ case 115:
3228
+ #line 337 "meta/final_tokenizer.rl"
3229
+ {te = p;p--;{ }}
3230
+ break;
3231
+ case 116:
3232
+ #line 338 "meta/final_tokenizer.rl"
3233
+ {te = p;p--;{ }}
3234
+ break;
3235
+ case 117:
3236
+ #line 339 "meta/final_tokenizer.rl"
3237
+ {te = p;p--;{ }}
3238
+ break;
3239
+ case 118:
3240
+ #line 340 "meta/final_tokenizer.rl"
3241
+ {te = p;p--;{ }}
3242
+ break;
3243
+ case 119:
3244
+ #line 343 "meta/final_tokenizer.rl"
3245
+ {te = p;p--;{
3246
+ curr = ts-data;
3247
+ single = data[ts-data];
3248
+
3249
+ if (single == '(') {
3250
+ br_count++;
3251
+ } else if (single == ')') {
3252
+ br_count--;
3253
+
3254
+ if (in_FOREACH && br_count == br_lvl_FOREACH) {
3255
+ in_FOREACH = 0;
3256
+ cb_lvl_FOREACH = -1;
3257
+ do_next_argv[0] = sym_FOREACH;
3258
+ do_next_argv[1] = INT2FIX(start_FOREACH);
3259
+ do_next_argv[2] = INT2FIX(curr);
3260
+ do_next_argv[3] = INT2FIX(0);
3261
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3262
+
3263
+ }
3264
+ }
3265
+
3266
+ if (single == '{') {
3267
+ cb_count++;
3268
+ } else if (single == '}') {
3269
+ if ((cb_lvl_CLASS == (cb_count - 1) && in_CLASS == 1) || (cb_lvl_MODULE == (cb_count - 1) && in_MODULE == 1)) {
3270
+ in_STUFF = 1;
3271
+ start_STUFF = curr+1;
3272
+ line_STUFF = line_number;
3273
+ cb_lvl_STUFF = cb_count;
3274
+ br_lvl_STUFF = br_count;
3275
+
3276
+ }
3277
+
3278
+ cb_count--;
3279
+
3280
+ // stuff that stops on }'s
3281
+ if (in_METHOD && cb_lvl_METHOD == cb_count) {
3282
+ in_METHOD = 0;
3283
+ cb_lvl_METHOD = -1;
3284
+ do_next_argv[0] = sym_METHOD;
3285
+ do_next_argv[1] = INT2FIX(start_METHOD);
3286
+ do_next_argv[2] = INT2FIX(curr);
3287
+ do_next_argv[3] = INT2FIX(0);
3288
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3289
+
3290
+ }
3291
+ if (in_CLASS && cb_lvl_CLASS == cb_count) {
3292
+ in_CLASS = 0;
3293
+ cb_lvl_CLASS = -1;
3294
+ do_next_argv[0] = sym_CLASS;
3295
+ do_next_argv[1] = INT2FIX(start_CLASS);
3296
+ do_next_argv[2] = INT2FIX(curr);
3297
+ do_next_argv[3] = INT2FIX(0);
3298
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3299
+
3300
+ }
3301
+ if (in_FOREACH && cb_lvl_FOREACH == cb_count) {
3302
+ in_FOREACH = 0;
3303
+ cb_lvl_FOREACH = -1;
3304
+ do_next_argv[0] = sym_FOREACH;
3305
+ do_next_argv[1] = INT2FIX(start_FOREACH);
3306
+ do_next_argv[2] = INT2FIX(curr);
3307
+ do_next_argv[3] = INT2FIX(0);
3308
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3309
+
3310
+ }
3311
+ if (in_MODULE && cb_lvl_MODULE == cb_count) {
3312
+ in_MODULE = 0;
3313
+ cb_lvl_MODULE = -1;
3314
+ do_next_argv[0] = sym_MODULE;
3315
+ do_next_argv[1] = INT2FIX(start_MODULE);
3316
+ do_next_argv[2] = INT2FIX(curr);
3317
+ do_next_argv[3] = INT2FIX(0);
3318
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3319
+
3320
+ }
3321
+ if (in_CURRY && cb_lvl_CURRY == cb_count) {
3322
+ in_CURRY = 0;
3323
+ cb_lvl_CURRY = -1;
3324
+ do_next_argv[0] = sym_CURRY;
3325
+ do_next_argv[1] = INT2FIX(start_CURRY);
3326
+ do_next_argv[2] = INT2FIX(curr);
3327
+ do_next_argv[3] = INT2FIX(0);
3328
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3329
+
3330
+ }
3331
+
3332
+ }
3333
+
3334
+ if (single == ';') {
3335
+ if (in_MEMBER == 1) {
3336
+ in_MEMBER = 0;
3337
+ cb_lvl_MEMBER = -1;
3338
+ do_next_argv[0] = sym_MEMBER;
3339
+ do_next_argv[1] = INT2FIX(start_MEMBER);
3340
+ do_next_argv[2] = INT2FIX(curr);
3341
+ do_next_argv[3] = INT2FIX(0);
3342
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3343
+
3344
+ }
3345
+ if (in_INCLUDE == 1) {
3346
+ in_INCLUDE = 0;
3347
+ cb_lvl_INCLUDE = -1;
3348
+ do_next_argv[0] = sym_INCLUDE;
3349
+ do_next_argv[1] = INT2FIX(start_INCLUDE);
3350
+ do_next_argv[2] = INT2FIX(curr);
3351
+ do_next_argv[3] = INT2FIX(0);
3352
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3353
+
3354
+ }
3355
+ if (in_PROPERTY == 1) {
3356
+ in_PROPERTY = 0;
3357
+ cb_lvl_PROPERTY = -1;
3358
+ do_next_argv[0] = sym_PROPERTY;
3359
+ do_next_argv[1] = INT2FIX(start_PROPERTY);
3360
+ do_next_argv[2] = INT2FIX(curr);
3361
+ do_next_argv[3] = INT2FIX(0);
3362
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3363
+
3364
+ }
3365
+
3366
+ }
3367
+
3368
+ }}
3369
+ break;
3370
+ case 120:
3371
+ #line 138 "meta/final_tokenizer.rl"
3372
+ {{p = ((te))-1;}}
3373
+ break;
3374
+ case 121:
3375
+ #line 139 "meta/final_tokenizer.rl"
3376
+ {{p = ((te))-1;}{
3377
+ curr = ts-data;
3378
+
3379
+ for (j=0, i=ts-data; i<te-data; i++) {
3380
+ word[j] = data[i];
3381
+ ++j;
3382
+ }
3383
+ word[j] = 0;
3384
+
3385
+
3386
+ if (strcmp(word, "class") == 0 || strcmp(word, "module") == 0) {
3387
+ if (strcmp(word, "class") == 0) {
3388
+ in_CLASS = 1;
3389
+ start_CLASS = curr;
3390
+ line_CLASS = line_number;
3391
+ cb_lvl_CLASS = cb_count;
3392
+ br_lvl_CLASS = br_count;
3393
+
3394
+ } else {
3395
+ in_MODULE = 1;
3396
+ start_MODULE = curr;
3397
+ line_MODULE = line_number;
3398
+ cb_lvl_MODULE = cb_count;
3399
+ br_lvl_MODULE = br_count;
3400
+
3401
+ }
3402
+
3403
+ // if "class" wasn't the first thing in the file
3404
+ // then submit the :STUFF
3405
+ if (curr > 0) {
3406
+ in_STUFF = 0;
3407
+ cb_lvl_STUFF = -1;
3408
+ do_next_argv[0] = sym_STUFF;
3409
+ do_next_argv[1] = INT2FIX(start_STUFF);
3410
+ do_next_argv[2] = INT2FIX(curr-1);
3411
+ do_next_argv[3] = INT2FIX(0);
3412
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3413
+
3414
+ }
3415
+
3416
+ } else if ((cb_lvl_CLASS == (cb_count - 1) && in_CLASS == 1) || (cb_lvl_MODULE == (cb_count - 1) && in_MODULE == 1)) {
3417
+ if (strcmp(word, "static") == 0) {
3418
+ rb_funcall2(self, set_static_sym, set_static_argc, set_static_argv);
3419
+ }
3420
+
3421
+ if (strcmp(word, "function") == 0) {
3422
+ in_METHOD = 1;
3423
+ start_METHOD = curr;
3424
+ line_METHOD = line_number;
3425
+ cb_lvl_METHOD = cb_count;
3426
+ br_lvl_METHOD = br_count;
3427
+
3428
+ }
3429
+
3430
+ if (strcmp(word, "var") == 0) {
3431
+ in_MEMBER = 1;
3432
+ start_MEMBER = curr;
3433
+ line_MEMBER = line_number;
3434
+ cb_lvl_MEMBER = cb_count;
3435
+ br_lvl_MEMBER = br_count;
3436
+
3437
+ }
3438
+
3439
+
3440
+ if (strcmp(word, "accessor") == 0) {
3441
+ in_MEMBER = 1;
3442
+ start_MEMBER = curr;
3443
+ line_MEMBER = line_number;
3444
+ cb_lvl_MEMBER = cb_count;
3445
+ br_lvl_MEMBER = br_count;
3446
+
3447
+ }
3448
+
3449
+ if (strcmp(word, "property") == 0) {
3450
+ in_PROPERTY = 1;
3451
+ start_PROPERTY = curr;
3452
+ line_PROPERTY = line_number;
3453
+ cb_lvl_PROPERTY = cb_count;
3454
+ br_lvl_PROPERTY = br_count;
3455
+
3456
+ }
3457
+
3458
+
3459
+ if (strcmp(word, "include") == 0) {
3460
+ in_INCLUDE = 1;
3461
+ start_INCLUDE = curr;
3462
+ line_INCLUDE = line_number;
3463
+ cb_lvl_INCLUDE = cb_count;
3464
+ br_lvl_INCLUDE = br_count;
3465
+
3466
+ }
3467
+
3468
+ }
3469
+
3470
+ if (strcmp(word, "foreach") == 0) {
3471
+ in_FOREACH = 1;
3472
+ start_FOREACH = curr;
3473
+ line_FOREACH = line_number;
3474
+ cb_lvl_FOREACH = cb_count;
3475
+ br_lvl_FOREACH = br_count;
3476
+
3477
+ }
3478
+
3479
+ }}
3480
+ break;
3481
+ case 122:
3482
+ #line 244 "meta/final_tokenizer.rl"
3483
+ {{p = ((te))-1;}{ }}
3484
+ break;
3485
+ case 123:
3486
+ #line 245 "meta/final_tokenizer.rl"
3487
+ {{p = ((te))-1;}{ }}
3488
+ break;
3489
+ case 124:
3490
+ #line 246 "meta/final_tokenizer.rl"
3491
+ {{p = ((te))-1;}{ }}
3492
+ break;
3493
+ case 125:
3494
+ #line 343 "meta/final_tokenizer.rl"
3495
+ {{p = ((te))-1;}{
3496
+ curr = ts-data;
3497
+ single = data[ts-data];
3498
+
3499
+ if (single == '(') {
3500
+ br_count++;
3501
+ } else if (single == ')') {
3502
+ br_count--;
3503
+
3504
+ if (in_FOREACH && br_count == br_lvl_FOREACH) {
3505
+ in_FOREACH = 0;
3506
+ cb_lvl_FOREACH = -1;
3507
+ do_next_argv[0] = sym_FOREACH;
3508
+ do_next_argv[1] = INT2FIX(start_FOREACH);
3509
+ do_next_argv[2] = INT2FIX(curr);
3510
+ do_next_argv[3] = INT2FIX(0);
3511
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3512
+
3513
+ }
3514
+ }
3515
+
3516
+ if (single == '{') {
3517
+ cb_count++;
3518
+ } else if (single == '}') {
3519
+ if ((cb_lvl_CLASS == (cb_count - 1) && in_CLASS == 1) || (cb_lvl_MODULE == (cb_count - 1) && in_MODULE == 1)) {
3520
+ in_STUFF = 1;
3521
+ start_STUFF = curr+1;
3522
+ line_STUFF = line_number;
3523
+ cb_lvl_STUFF = cb_count;
3524
+ br_lvl_STUFF = br_count;
3525
+
3526
+ }
3527
+
3528
+ cb_count--;
3529
+
3530
+ // stuff that stops on }'s
3531
+ if (in_METHOD && cb_lvl_METHOD == cb_count) {
3532
+ in_METHOD = 0;
3533
+ cb_lvl_METHOD = -1;
3534
+ do_next_argv[0] = sym_METHOD;
3535
+ do_next_argv[1] = INT2FIX(start_METHOD);
3536
+ do_next_argv[2] = INT2FIX(curr);
3537
+ do_next_argv[3] = INT2FIX(0);
3538
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3539
+
3540
+ }
3541
+ if (in_CLASS && cb_lvl_CLASS == cb_count) {
3542
+ in_CLASS = 0;
3543
+ cb_lvl_CLASS = -1;
3544
+ do_next_argv[0] = sym_CLASS;
3545
+ do_next_argv[1] = INT2FIX(start_CLASS);
3546
+ do_next_argv[2] = INT2FIX(curr);
3547
+ do_next_argv[3] = INT2FIX(0);
3548
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3549
+
3550
+ }
3551
+ if (in_FOREACH && cb_lvl_FOREACH == cb_count) {
3552
+ in_FOREACH = 0;
3553
+ cb_lvl_FOREACH = -1;
3554
+ do_next_argv[0] = sym_FOREACH;
3555
+ do_next_argv[1] = INT2FIX(start_FOREACH);
3556
+ do_next_argv[2] = INT2FIX(curr);
3557
+ do_next_argv[3] = INT2FIX(0);
3558
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3559
+
3560
+ }
3561
+ if (in_MODULE && cb_lvl_MODULE == cb_count) {
3562
+ in_MODULE = 0;
3563
+ cb_lvl_MODULE = -1;
3564
+ do_next_argv[0] = sym_MODULE;
3565
+ do_next_argv[1] = INT2FIX(start_MODULE);
3566
+ do_next_argv[2] = INT2FIX(curr);
3567
+ do_next_argv[3] = INT2FIX(0);
3568
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3569
+
3570
+ }
3571
+ if (in_CURRY && cb_lvl_CURRY == cb_count) {
3572
+ in_CURRY = 0;
3573
+ cb_lvl_CURRY = -1;
3574
+ do_next_argv[0] = sym_CURRY;
3575
+ do_next_argv[1] = INT2FIX(start_CURRY);
3576
+ do_next_argv[2] = INT2FIX(curr);
3577
+ do_next_argv[3] = INT2FIX(0);
3578
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3579
+
3580
+ }
3581
+
3582
+ }
3583
+
3584
+ if (single == ';') {
3585
+ if (in_MEMBER == 1) {
3586
+ in_MEMBER = 0;
3587
+ cb_lvl_MEMBER = -1;
3588
+ do_next_argv[0] = sym_MEMBER;
3589
+ do_next_argv[1] = INT2FIX(start_MEMBER);
3590
+ do_next_argv[2] = INT2FIX(curr);
3591
+ do_next_argv[3] = INT2FIX(0);
3592
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3593
+
3594
+ }
3595
+ if (in_INCLUDE == 1) {
3596
+ in_INCLUDE = 0;
3597
+ cb_lvl_INCLUDE = -1;
3598
+ do_next_argv[0] = sym_INCLUDE;
3599
+ do_next_argv[1] = INT2FIX(start_INCLUDE);
3600
+ do_next_argv[2] = INT2FIX(curr);
3601
+ do_next_argv[3] = INT2FIX(0);
3602
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3603
+
3604
+ }
3605
+ if (in_PROPERTY == 1) {
3606
+ in_PROPERTY = 0;
3607
+ cb_lvl_PROPERTY = -1;
3608
+ do_next_argv[0] = sym_PROPERTY;
3609
+ do_next_argv[1] = INT2FIX(start_PROPERTY);
3610
+ do_next_argv[2] = INT2FIX(curr);
3611
+ do_next_argv[3] = INT2FIX(0);
3612
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3613
+
3614
+ }
3615
+
3616
+ }
3617
+
3618
+ }}
3619
+ break;
3620
+ case 126:
3621
+ #line 1 "meta/final_tokenizer.rl"
3622
+ { switch( act ) {
3623
+ case 4:
3624
+ {{p = ((te))-1;}
3625
+ if ((cb_lvl_CLASS == (cb_count - 1) && in_CLASS == 1)) {
3626
+ do_next_argv[0] = sym_COMMENT;
3627
+ do_next_argv[1] = INT2FIX(ts-data);
3628
+ do_next_argv[2] = INT2FIX(te-data-1);
3629
+ do_next_argv[3] = INT2FIX(0);
3630
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3631
+
3632
+ }
3633
+ }
3634
+ break;
3635
+ case 6:
3636
+ {{p = ((te))-1;}}
3637
+ break;
3638
+ case 7:
3639
+ {{p = ((te))-1;}
3640
+ curr = ts-data;
3641
+
3642
+ for (j=0, i=ts-data; i<te-data; i++) {
3643
+ word[j] = data[i];
3644
+ ++j;
3645
+ }
3646
+ word[j] = 0;
3647
+
3648
+
3649
+ if (strcmp(word, "class") == 0 || strcmp(word, "module") == 0) {
3650
+ if (strcmp(word, "class") == 0) {
3651
+ in_CLASS = 1;
3652
+ start_CLASS = curr;
3653
+ line_CLASS = line_number;
3654
+ cb_lvl_CLASS = cb_count;
3655
+ br_lvl_CLASS = br_count;
3656
+
3657
+ } else {
3658
+ in_MODULE = 1;
3659
+ start_MODULE = curr;
3660
+ line_MODULE = line_number;
3661
+ cb_lvl_MODULE = cb_count;
3662
+ br_lvl_MODULE = br_count;
3663
+
3664
+ }
3665
+
3666
+ // if "class" wasn't the first thing in the file
3667
+ // then submit the :STUFF
3668
+ if (curr > 0) {
3669
+ in_STUFF = 0;
3670
+ cb_lvl_STUFF = -1;
3671
+ do_next_argv[0] = sym_STUFF;
3672
+ do_next_argv[1] = INT2FIX(start_STUFF);
3673
+ do_next_argv[2] = INT2FIX(curr-1);
3674
+ do_next_argv[3] = INT2FIX(0);
3675
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3676
+
3677
+ }
3678
+
3679
+ } else if ((cb_lvl_CLASS == (cb_count - 1) && in_CLASS == 1) || (cb_lvl_MODULE == (cb_count - 1) && in_MODULE == 1)) {
3680
+ if (strcmp(word, "static") == 0) {
3681
+ rb_funcall2(self, set_static_sym, set_static_argc, set_static_argv);
3682
+ }
3683
+
3684
+ if (strcmp(word, "function") == 0) {
3685
+ in_METHOD = 1;
3686
+ start_METHOD = curr;
3687
+ line_METHOD = line_number;
3688
+ cb_lvl_METHOD = cb_count;
3689
+ br_lvl_METHOD = br_count;
3690
+
3691
+ }
3692
+
3693
+ if (strcmp(word, "var") == 0) {
3694
+ in_MEMBER = 1;
3695
+ start_MEMBER = curr;
3696
+ line_MEMBER = line_number;
3697
+ cb_lvl_MEMBER = cb_count;
3698
+ br_lvl_MEMBER = br_count;
3699
+
3700
+ }
3701
+
3702
+
3703
+ if (strcmp(word, "accessor") == 0) {
3704
+ in_MEMBER = 1;
3705
+ start_MEMBER = curr;
3706
+ line_MEMBER = line_number;
3707
+ cb_lvl_MEMBER = cb_count;
3708
+ br_lvl_MEMBER = br_count;
3709
+
3710
+ }
3711
+
3712
+ if (strcmp(word, "property") == 0) {
3713
+ in_PROPERTY = 1;
3714
+ start_PROPERTY = curr;
3715
+ line_PROPERTY = line_number;
3716
+ cb_lvl_PROPERTY = cb_count;
3717
+ br_lvl_PROPERTY = br_count;
3718
+
3719
+ }
3720
+
3721
+
3722
+ if (strcmp(word, "include") == 0) {
3723
+ in_INCLUDE = 1;
3724
+ start_INCLUDE = curr;
3725
+ line_INCLUDE = line_number;
3726
+ cb_lvl_INCLUDE = cb_count;
3727
+ br_lvl_INCLUDE = br_count;
3728
+
3729
+ }
3730
+
3731
+ }
3732
+
3733
+ if (strcmp(word, "foreach") == 0) {
3734
+ in_FOREACH = 1;
3735
+ start_FOREACH = curr;
3736
+ line_FOREACH = line_number;
3737
+ cb_lvl_FOREACH = cb_count;
3738
+ br_lvl_FOREACH = br_count;
3739
+
3740
+ }
3741
+
3742
+ }
3743
+ break;
3744
+ case 9:
3745
+ {{p = ((te))-1;} }
3746
+ break;
3747
+ case 10:
3748
+ {{p = ((te))-1;} }
3749
+ break;
3750
+ case 104:
3751
+ {{p = ((te))-1;}
3752
+ curr = ts-data;
3753
+ single = data[ts-data];
3754
+
3755
+ if (single == '(') {
3756
+ br_count++;
3757
+ } else if (single == ')') {
3758
+ br_count--;
3759
+
3760
+ if (in_FOREACH && br_count == br_lvl_FOREACH) {
3761
+ in_FOREACH = 0;
3762
+ cb_lvl_FOREACH = -1;
3763
+ do_next_argv[0] = sym_FOREACH;
3764
+ do_next_argv[1] = INT2FIX(start_FOREACH);
3765
+ do_next_argv[2] = INT2FIX(curr);
3766
+ do_next_argv[3] = INT2FIX(0);
3767
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3768
+
3769
+ }
3770
+ }
3771
+
3772
+ if (single == '{') {
3773
+ cb_count++;
3774
+ } else if (single == '}') {
3775
+ if ((cb_lvl_CLASS == (cb_count - 1) && in_CLASS == 1) || (cb_lvl_MODULE == (cb_count - 1) && in_MODULE == 1)) {
3776
+ in_STUFF = 1;
3777
+ start_STUFF = curr+1;
3778
+ line_STUFF = line_number;
3779
+ cb_lvl_STUFF = cb_count;
3780
+ br_lvl_STUFF = br_count;
3781
+
3782
+ }
3783
+
3784
+ cb_count--;
3785
+
3786
+ // stuff that stops on }'s
3787
+ if (in_METHOD && cb_lvl_METHOD == cb_count) {
3788
+ in_METHOD = 0;
3789
+ cb_lvl_METHOD = -1;
3790
+ do_next_argv[0] = sym_METHOD;
3791
+ do_next_argv[1] = INT2FIX(start_METHOD);
3792
+ do_next_argv[2] = INT2FIX(curr);
3793
+ do_next_argv[3] = INT2FIX(0);
3794
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3795
+
3796
+ }
3797
+ if (in_CLASS && cb_lvl_CLASS == cb_count) {
3798
+ in_CLASS = 0;
3799
+ cb_lvl_CLASS = -1;
3800
+ do_next_argv[0] = sym_CLASS;
3801
+ do_next_argv[1] = INT2FIX(start_CLASS);
3802
+ do_next_argv[2] = INT2FIX(curr);
3803
+ do_next_argv[3] = INT2FIX(0);
3804
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3805
+
3806
+ }
3807
+ if (in_FOREACH && cb_lvl_FOREACH == cb_count) {
3808
+ in_FOREACH = 0;
3809
+ cb_lvl_FOREACH = -1;
3810
+ do_next_argv[0] = sym_FOREACH;
3811
+ do_next_argv[1] = INT2FIX(start_FOREACH);
3812
+ do_next_argv[2] = INT2FIX(curr);
3813
+ do_next_argv[3] = INT2FIX(0);
3814
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3815
+
3816
+ }
3817
+ if (in_MODULE && cb_lvl_MODULE == cb_count) {
3818
+ in_MODULE = 0;
3819
+ cb_lvl_MODULE = -1;
3820
+ do_next_argv[0] = sym_MODULE;
3821
+ do_next_argv[1] = INT2FIX(start_MODULE);
3822
+ do_next_argv[2] = INT2FIX(curr);
3823
+ do_next_argv[3] = INT2FIX(0);
3824
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3825
+
3826
+ }
3827
+ if (in_CURRY && cb_lvl_CURRY == cb_count) {
3828
+ in_CURRY = 0;
3829
+ cb_lvl_CURRY = -1;
3830
+ do_next_argv[0] = sym_CURRY;
3831
+ do_next_argv[1] = INT2FIX(start_CURRY);
3832
+ do_next_argv[2] = INT2FIX(curr);
3833
+ do_next_argv[3] = INT2FIX(0);
3834
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3835
+
3836
+ }
3837
+
3838
+ }
3839
+
3840
+ if (single == ';') {
3841
+ if (in_MEMBER == 1) {
3842
+ in_MEMBER = 0;
3843
+ cb_lvl_MEMBER = -1;
3844
+ do_next_argv[0] = sym_MEMBER;
3845
+ do_next_argv[1] = INT2FIX(start_MEMBER);
3846
+ do_next_argv[2] = INT2FIX(curr);
3847
+ do_next_argv[3] = INT2FIX(0);
3848
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3849
+
3850
+ }
3851
+ if (in_INCLUDE == 1) {
3852
+ in_INCLUDE = 0;
3853
+ cb_lvl_INCLUDE = -1;
3854
+ do_next_argv[0] = sym_INCLUDE;
3855
+ do_next_argv[1] = INT2FIX(start_INCLUDE);
3856
+ do_next_argv[2] = INT2FIX(curr);
3857
+ do_next_argv[3] = INT2FIX(0);
3858
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3859
+
3860
+ }
3861
+ if (in_PROPERTY == 1) {
3862
+ in_PROPERTY = 0;
3863
+ cb_lvl_PROPERTY = -1;
3864
+ do_next_argv[0] = sym_PROPERTY;
3865
+ do_next_argv[1] = INT2FIX(start_PROPERTY);
3866
+ do_next_argv[2] = INT2FIX(curr);
3867
+ do_next_argv[3] = INT2FIX(0);
3868
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3869
+
3870
+ }
3871
+
3872
+ }
3873
+
3874
+ }
3875
+ break;
3876
+ }
3877
+ }
3878
+ break;
3879
+ #line 3880 "meta/final_tokenizer.c"
3880
+ }
3881
+ }
3882
+
3883
+ _again:
3884
+ _acts = _dude_actions + _dude_to_state_actions[cs];
3885
+ _nacts = (unsigned int) *_acts++;
3886
+ while ( _nacts-- > 0 ) {
3887
+ switch ( *_acts++ ) {
3888
+ case 5:
3889
+ #line 1 "meta/final_tokenizer.rl"
3890
+ {ts = 0;}
3891
+ break;
3892
+ #line 3893 "meta/final_tokenizer.c"
3893
+ }
3894
+ }
3895
+
3896
+ if ( ++p != pe )
3897
+ goto _resume;
3898
+ _test_eof: {}
3899
+ if ( p == eof )
3900
+ {
3901
+ if ( _dude_eof_trans[cs] > 0 ) {
3902
+ _trans = _dude_eof_trans[cs] - 1;
3903
+ goto _eof_trans;
3904
+ }
3905
+ }
3906
+
3907
+ }
3908
+
3909
+ #line 609 "meta/final_tokenizer.rl"
3910
+
3911
+ if (in_STUFF == 1) {
3912
+ in_STUFF = 0;
3913
+ cb_lvl_STUFF = -1;
3914
+ do_next_argv[0] = sym_STUFF;
3915
+ do_next_argv[1] = INT2FIX(start_STUFF);
3916
+ do_next_argv[2] = INT2FIX(curr);
3917
+ do_next_argv[3] = INT2FIX(0);
3918
+ rb_funcall2(self, do_next_sym, do_next_argc, do_next_argv);
3919
+
3920
+ }
3921
+ }
3922
+
3923
+ END
3924
+ end
3925
+
3926
+ def set_line_number (l)
3927
+ @line_number = l
3928
+ end
3929
+
3930
+ def set_static ()
3931
+ @nodes.set_static
3932
+ end
3933
+
3934
+ def do_next (symbol, start_idx, end_idx, line)
3935
+ if end_idx == -1 then end_idx = start_idx end
3936
+ @nodes.do_next(symbol, start_idx, end_idx, line)
3937
+ end
3938
+
3939
+ def parse_string (str)
3940
+ self.data = str
3941
+ @nodes = JS2::AST::Nodes.new("string", str)
3942
+ self.do_parse(str)
3943
+ return @nodes
3944
+ end
3945
+
3946
+ def parse(filename)
3947
+ self.data = File.read(filename)
3948
+ @nodes = JS2::AST::Nodes.new(filename, data)
3949
+
3950
+ #@cleanser ||= JS2::DecoCleanser.new
3951
+ #@cleanser.cleanse(data)
3952
+
3953
+ eof = data.size
3954
+ self.do_parse(data)
3955
+
3956
+ return @nodes
3957
+ end
3958
+
3959
+ end