]> git.wincent.com - wikitext.git/blob - ext/wikitext_ragel.c
Clean up code-level docs for _Wikitext_encode_link_target function
[wikitext.git] / ext / wikitext_ragel.c
1
2 #line 1 "wikitext_ragel.rl"
3 // Copyright 2008-2009 Wincent Colaiuta
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 //----------------------------------------------------------------------//
18 // NOTE: wikitext_ragel.c is generated from wikitext_ragel.rl, so       //
19 //       if you make changes to the former they will be overwritten.    //
20 //       You should perform all your edits in wikitext_ragel.rl.        //
21 //----------------------------------------------------------------------//
22
23 #include "wikitext_ragel.h"
24 #include "wikitext.h"
25 #include <stdio.h>
26
27 #define EMIT(t)     do { out->type = t; out->stop = p + 1; out->column_stop += (out->stop - out->start); } while (0)
28 #define MARK()      do { mark = p; } while (0)
29 #define REWIND()    do { p = mark; } while (0)
30 #define AT_END()    (p + 1 == pe)
31 #define DISTANCE()  (p + 1 - ts)
32 #define NEXT_CHAR() (*(p + 1))
33
34
35 #line 36 "wikitext_ragel.c"
36 static const int wikitext_start = 94;
37 static const int wikitext_first_final = 94;
38 static const int wikitext_error = 0;
39
40 static const int wikitext_en_main = 94;
41
42
43 #line 468 "wikitext_ragel.rl"
44
45
46 // for now we use the scanner as a tokenizer that returns one token at a time, just like ANTLR
47 // ultimately we could look at embedding all of the transformation inside the scanner itself (combined scanner/parser)
48 // pass in the last token because that's useful for the scanner to know
49 // p data pointer (required by Ragel machine); overriden with contents of last_token if supplied
50 // pe data end pointer (required by Ragel machine)
51 void next_token(token_t *out, token_t *last_token, char *p, char *pe)
52 {
53     int last_token_type = NO_TOKEN;
54     if (last_token)
55     {
56         last_token_type     = last_token->type;
57         p = last_token->stop;
58         out->line_start     = out->line_stop    = last_token->line_stop;
59         out->column_start   = out->column_stop  = last_token->column_stop;
60     }
61     else
62     {
63         out->line_start     = 1;
64         out->column_start   = 1;
65         out->line_stop      = 1;
66         out->column_stop    = 1;
67     }
68     out->type       = NO_TOKEN;
69     out->code_point = 0;
70     out->start      = p;
71     if (p == pe)
72     {
73         // all done, have reached end of input
74         out->stop  = p;
75         out->type  = END_OF_FILE;
76         return;
77     }
78
79     char    *mark;      // for manual backtracking
80     char    *eof = pe;  // required for backtracking (longest match determination)
81     int     cs;         // current state (standard Ragel)
82     char    *ts;        // token start (scanner)
83     char    *te;        // token end (scanner)
84     int     act;        // identity of last patterned matched (scanner)
85     
86 #line 87 "wikitext_ragel.c"
87         {
88         cs = wikitext_start;
89         ts = 0;
90         te = 0;
91         act = 0;
92         }
93
94 #line 510 "wikitext_ragel.rl"
95     
96 #line 97 "wikitext_ragel.c"
97         {
98         if ( p == pe )
99                 goto _test_eof;
100         switch ( cs )
101         {
102 tr0:
103 #line 46 "wikitext_ragel.rl"
104         {
105         out->code_point = ((uint32_t)(*(p - 1)) & 0x1f) << 6 |
106             (*p & 0x3f);
107     }
108 #line 459 "wikitext_ragel.rl"
109         {te = p+1;{
110             EMIT(DEFAULT);
111             out->column_stop = out->column_start + 1;
112             {p++; cs = 94; goto _out;}
113         }}
114         goto st94;
115 tr3:
116 #line 52 "wikitext_ragel.rl"
117         {
118         out->code_point = ((uint32_t)(*(p - 2)) & 0x0f) << 12 |
119             ((uint32_t)(*(p - 1)) & 0x3f) << 6 |
120             (*p & 0x3f);
121     }
122 #line 459 "wikitext_ragel.rl"
123         {te = p+1;{
124             EMIT(DEFAULT);
125             out->column_stop = out->column_start + 1;
126             {p++; cs = 94; goto _out;}
127         }}
128         goto st94;
129 tr6:
130 #line 59 "wikitext_ragel.rl"
131         {
132         out->code_point = ((uint32_t)(*(p - 3)) & 0x07) << 18 |
133             ((uint32_t)(*(p - 2)) & 0x3f) << 12 |
134             ((uint32_t)(*(p - 1)) & 0x3f) << 6 |
135             (*p & 0x3f);
136     }
137 #line 459 "wikitext_ragel.rl"
138         {te = p+1;{
139             EMIT(DEFAULT);
140             out->column_stop = out->column_start + 1;
141             {p++; cs = 94; goto _out;}
142         }}
143         goto st94;
144 tr7:
145 #line 366 "wikitext_ragel.rl"
146         {{p = ((te))-1;}{
147             EMIT(AMP);
148             {p++; cs = 94; goto _out;}
149         }}
150         goto st94;
151 tr10:
152 #line 354 "wikitext_ragel.rl"
153         {te = p+1;{
154             EMIT(DECIMAL_ENTITY);
155             {p++; cs = 94; goto _out;}
156         }}
157         goto st94;
158 tr12:
159 #line 348 "wikitext_ragel.rl"
160         {te = p+1;{
161             EMIT(HEX_ENTITY);
162             {p++; cs = 94; goto _out;}
163         }}
164         goto st94;
165 tr14:
166 #line 342 "wikitext_ragel.rl"
167         {te = p+1;{
168             EMIT(NAMED_ENTITY);
169             {p++; cs = 94; goto _out;}
170         }}
171         goto st94;
172 tr18:
173 #line 336 "wikitext_ragel.rl"
174         {te = p+1;{
175             EMIT(AMP_ENTITY);
176             {p++; cs = 94; goto _out;}
177         }}
178         goto st94;
179 tr22:
180 #line 330 "wikitext_ragel.rl"
181         {te = p+1;{
182             EMIT(QUOT_ENTITY);
183             {p++; cs = 94; goto _out;}
184         }}
185         goto st94;
186 tr23:
187 #line 1 "wikitext_ragel.rl"
188         {       switch( act ) {
189         case 20:
190         {{p = ((te))-1;}
191             EMIT(URI);
192             {p++; cs = 94; goto _out;}
193         }
194         break;
195         case 21:
196         {{p = ((te))-1;}
197             EMIT(MAIL);
198             {p++; cs = 94; goto _out;}
199         }
200         break;
201         case 42:
202         {{p = ((te))-1;}
203             EMIT(SPECIAL_URI_CHARS);
204             {p++; cs = 94; goto _out;}
205         }
206         break;
207         case 43:
208         {{p = ((te))-1;}
209             EMIT(ALNUM);
210             {p++; cs = 94; goto _out;}
211         }
212         break;
213         case 44:
214         {{p = ((te))-1;}
215             EMIT(PRINTABLE);
216             {p++; cs = 94; goto _out;}
217         }
218         break;
219         }
220         }
221         goto st94;
222 tr30:
223 #line 372 "wikitext_ragel.rl"
224         {{p = ((te))-1;}{
225             EMIT(LESS);
226             {p++; cs = 94; goto _out;}
227         }}
228         goto st94;
229 tr46:
230 #line 111 "wikitext_ragel.rl"
231         {te = p+1;{
232             EMIT(BLOCKQUOTE_END);
233             {p++; cs = 94; goto _out;}
234         }}
235         goto st94;
236 tr48:
237 #line 153 "wikitext_ragel.rl"
238         {te = p+1;{
239             EMIT(EM_END);
240             {p++; cs = 94; goto _out;}
241         }}
242         goto st94;
243 tr54:
244 #line 87 "wikitext_ragel.rl"
245         {te = p+1;{
246             EMIT(NO_WIKI_END);
247             {p++; cs = 94; goto _out;}
248         }}
249         goto st94;
250 tr57:
251 #line 99 "wikitext_ragel.rl"
252         {te = p+1;{
253             EMIT(PRE_END);
254             {p++; cs = 94; goto _out;}
255         }}
256         goto st94;
257 tr63:
258 #line 141 "wikitext_ragel.rl"
259         {te = p+1;{
260             EMIT(STRONG_END);
261             {p++; cs = 94; goto _out;}
262         }}
263         goto st94;
264 tr65:
265 #line 171 "wikitext_ragel.rl"
266         {te = p+1;{
267             EMIT(TT_END);
268             {p++; cs = 94; goto _out;}
269         }}
270         goto st94;
271 tr75:
272 #line 105 "wikitext_ragel.rl"
273         {te = p+1;{
274             EMIT(BLOCKQUOTE_START);
275             {p++; cs = 94; goto _out;}
276         }}
277         goto st94;
278 tr77:
279 #line 147 "wikitext_ragel.rl"
280         {te = p+1;{
281             EMIT(EM_START);
282             {p++; cs = 94; goto _out;}
283         }}
284         goto st94;
285 tr83:
286 #line 81 "wikitext_ragel.rl"
287         {te = p+1;{
288             EMIT(NO_WIKI_START);
289             {p++; cs = 94; goto _out;}
290         }}
291         goto st94;
292 tr86:
293 #line 93 "wikitext_ragel.rl"
294         {te = p+1;{
295             EMIT(PRE_START);
296             {p++; cs = 94; goto _out;}
297         }}
298         goto st94;
299 tr92:
300 #line 135 "wikitext_ragel.rl"
301         {te = p+1;{
302             EMIT(STRONG_START);
303             {p++; cs = 94; goto _out;}
304         }}
305         goto st94;
306 tr94:
307 #line 165 "wikitext_ragel.rl"
308         {te = p+1;{
309             EMIT(TT_START);
310             {p++; cs = 94; goto _out;}
311         }}
312         goto st94;
313 tr95:
314 #line 427 "wikitext_ragel.rl"
315         {{p = ((te))-1;}{
316             EMIT(ALNUM);
317             {p++; cs = 94; goto _out;}
318         }}
319         goto st94;
320 tr99:
321 #line 282 "wikitext_ragel.rl"
322         {{p = ((te))-1;}{
323             EMIT(URI);
324             {p++; cs = 94; goto _out;}
325         }}
326         goto st94;
327 tr110:
328 #line 41 "wikitext_ragel.rl"
329         {
330         out->code_point = *p & 0x7f;
331     }
332 #line 459 "wikitext_ragel.rl"
333         {te = p+1;{
334             EMIT(DEFAULT);
335             out->column_stop = out->column_start + 1;
336             {p++; cs = 94; goto _out;}
337         }}
338         goto st94;
339 tr111:
340 #line 408 "wikitext_ragel.rl"
341         {te = p+1;{
342             EMIT(CRLF);
343             out->column_stop = 1;
344             out->line_stop++;
345             {p++; cs = 94; goto _out;}
346         }}
347 #line 41 "wikitext_ragel.rl"
348         {
349         out->code_point = *p & 0x7f;
350     }
351         goto st94;
352 tr115:
353 #line 360 "wikitext_ragel.rl"
354         {te = p+1;{
355             EMIT(QUOT);
356             {p++; cs = 94; goto _out;}
357         }}
358         goto st94;
359 tr116:
360 #line 203 "wikitext_ragel.rl"
361         {te = p+1;{
362             if (out->column_start == 1              ||
363                 last_token_type == OL               ||
364                 last_token_type == UL               ||
365                 last_token_type == BLOCKQUOTE       ||
366                 last_token_type == BLOCKQUOTE_START)
367                 EMIT(OL);
368             else
369                 EMIT(PRINTABLE);
370             {p++; cs = 94; goto _out;}
371         }}
372         goto st94;
373 tr120:
374 #line 216 "wikitext_ragel.rl"
375         {te = p+1;{
376             if (out->column_start == 1              ||
377                 last_token_type == OL               ||
378                 last_token_type == UL               ||
379                 last_token_type == BLOCKQUOTE       ||
380                 last_token_type == BLOCKQUOTE_START)
381                 EMIT(UL);
382             else
383                 EMIT(PRINTABLE);
384             {p++; cs = 94; goto _out;}
385         }}
386         goto st94;
387 tr134:
388 #line 159 "wikitext_ragel.rl"
389         {te = p+1;{
390             EMIT(TT);
391             {p++; cs = 94; goto _out;}
392         }}
393         goto st94;
394 tr136:
395 #line 312 "wikitext_ragel.rl"
396         {te = p+1;{
397             EMIT(SEPARATOR);
398             {p++; cs = 94; goto _out;}
399         }}
400         goto st94;
401 tr138:
402 #line 408 "wikitext_ragel.rl"
403         {te = p;p--;{
404             EMIT(CRLF);
405             out->column_stop = 1;
406             out->line_stop++;
407             {p++; cs = 94; goto _out;}
408         }}
409         goto st94;
410 tr139:
411 #line 408 "wikitext_ragel.rl"
412         {te = p+1;{
413             EMIT(CRLF);
414             out->column_stop = 1;
415             out->line_stop++;
416             {p++; cs = 94; goto _out;}
417         }}
418         goto st94;
419 tr140:
420 #line 191 "wikitext_ragel.rl"
421         {te = p;p--;{
422             if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
423             {
424                 REWIND();
425                 EMIT(PRE);
426             }
427             else
428                 EMIT(SPACE);
429             {p++; cs = 94; goto _out;}
430         }}
431         goto st94;
432 tr142:
433 #line 421 "wikitext_ragel.rl"
434         {te = p;p--;{
435             EMIT(SPECIAL_URI_CHARS);
436             {p++; cs = 94; goto _out;}
437         }}
438         goto st94;
439 tr143:
440 #line 439 "wikitext_ragel.rl"
441         {te = p;p--;{
442             EMIT(PRINTABLE);
443             {p++; cs = 94; goto _out;}
444         }}
445         goto st94;
446 tr144:
447 #line 366 "wikitext_ragel.rl"
448         {te = p;p--;{
449             EMIT(AMP);
450             {p++; cs = 94; goto _out;}
451         }}
452         goto st94;
453 tr148:
454 #line 117 "wikitext_ragel.rl"
455         {te = p;p--;{
456             if (DISTANCE() == 5)
457                 EMIT(STRONG_EM);
458             else if (DISTANCE() == 4)
459             {
460                 p--;
461                 EMIT(STRONG_EM);
462             }
463             else if (DISTANCE() == 3)
464                 EMIT(STRONG);
465             else if (DISTANCE() == 2)
466                 EMIT(EM);
467             else
468                 EMIT(PRINTABLE);
469             {p++; cs = 94; goto _out;}
470         }}
471         goto st94;
472 tr152:
473 #line 117 "wikitext_ragel.rl"
474         {te = p+1;{
475             if (DISTANCE() == 5)
476                 EMIT(STRONG_EM);
477             else if (DISTANCE() == 4)
478             {
479                 p--;
480                 EMIT(STRONG_EM);
481             }
482             else if (DISTANCE() == 3)
483                 EMIT(STRONG);
484             else if (DISTANCE() == 2)
485                 EMIT(EM);
486             else
487                 EMIT(PRINTABLE);
488             {p++; cs = 94; goto _out;}
489         }}
490         goto st94;
491 tr154:
492 #line 288 "wikitext_ragel.rl"
493         {te = p;p--;{
494             EMIT(MAIL);
495             {p++; cs = 94; goto _out;}
496         }}
497         goto st94;
498 tr158:
499 #line 294 "wikitext_ragel.rl"
500         {te = p;p--;{
501             EMIT(PATH);
502             {p++; cs = 94; goto _out;}
503         }}
504         goto st94;
505 tr162:
506 #line 427 "wikitext_ragel.rl"
507         {te = p;p--;{
508             EMIT(ALNUM);
509             {p++; cs = 94; goto _out;}
510         }}
511         goto st94;
512 tr163:
513 #line 372 "wikitext_ragel.rl"
514         {te = p;p--;{
515             EMIT(LESS);
516             {p++; cs = 94; goto _out;}
517         }}
518         goto st94;
519 tr171:
520 #line 229 "wikitext_ragel.rl"
521         {te = p;p--;{
522             if (out->column_start == 1 || last_token_type == BLOCKQUOTE || last_token_type == BLOCKQUOTE_START)
523             {
524                 REWIND();
525                 if (DISTANCE() == 1)
526                     EMIT(H1_START);
527                 else if (DISTANCE() == 2)
528                     EMIT(H2_START);
529                 else if (DISTANCE() == 3)
530                     EMIT(H3_START);
531                 else if (DISTANCE() == 4)
532                     EMIT(H4_START);
533                 else if (DISTANCE() == 5)
534                     EMIT(H5_START);
535                 else if (DISTANCE() == 6)
536                     EMIT(H6_START);
537                 else if (DISTANCE() > 6)
538                 {
539                     p = ts + 6;
540                     EMIT(H6_START);
541                 }
542             }
543             else if (AT_END() || NEXT_CHAR() == '\n' || NEXT_CHAR() == '\r')
544             {
545                 REWIND();
546                 if (DISTANCE() == 1)
547                     EMIT(H1_END);
548                 else if (DISTANCE() == 2)
549                     EMIT(H2_END);
550                 else if (DISTANCE() == 3)
551                     EMIT(H3_END);
552                 else if (DISTANCE() == 4)
553                     EMIT(H4_END);
554                 else if (DISTANCE() == 5)
555                     EMIT(H5_END);
556                 else if (DISTANCE() == 6)
557                     EMIT(H6_END);
558                 else if (DISTANCE() > 6)
559                 {
560                     p -= 6; // will scan the H6 on the next scan
561                     EMIT(PRINTABLE);
562                 }
563             }
564             else
565             {
566                 // note that a H*_END token will never match before a BLOCKQUOTE_END
567                 REWIND();
568                 EMIT(PRINTABLE);
569             }
570             {p++; cs = 94; goto _out;}
571         }}
572         goto st94;
573 tr173:
574 #line 178 "wikitext_ragel.rl"
575         {te = p;p--;{
576             if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
577                 EMIT(BLOCKQUOTE);
578             else
579             {
580                 REWIND();
581                 EMIT(GREATER);
582             }
583             {p++; cs = 94; goto _out;}
584         }}
585         goto st94;
586 tr174:
587 #line 178 "wikitext_ragel.rl"
588         {te = p+1;{
589             if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
590                 EMIT(BLOCKQUOTE);
591             else
592             {
593                 REWIND();
594                 EMIT(GREATER);
595             }
596             {p++; cs = 94; goto _out;}
597         }}
598         goto st94;
599 tr178:
600 #line 282 "wikitext_ragel.rl"
601         {te = p;p--;{
602             EMIT(URI);
603             {p++; cs = 94; goto _out;}
604         }}
605         goto st94;
606 tr192:
607 #line 318 "wikitext_ragel.rl"
608         {te = p;p--;{
609             EMIT(EXT_LINK_START);
610             {p++; cs = 94; goto _out;}
611         }}
612         goto st94;
613 tr193:
614 #line 300 "wikitext_ragel.rl"
615         {te = p+1;{
616             EMIT(LINK_START);
617             {p++; cs = 94; goto _out;}
618         }}
619         goto st94;
620 tr194:
621 #line 324 "wikitext_ragel.rl"
622         {te = p;p--;{
623             EMIT(EXT_LINK_END);
624             {p++; cs = 94; goto _out;}
625         }}
626         goto st94;
627 tr195:
628 #line 306 "wikitext_ragel.rl"
629         {te = p+1;{
630             EMIT(LINK_END);
631             {p++; cs = 94; goto _out;}
632         }}
633         goto st94;
634 tr196:
635 #line 396 "wikitext_ragel.rl"
636         {te = p;p--;{
637             EMIT(LEFT_CURLY);
638             {p++; cs = 94; goto _out;}
639         }}
640         goto st94;
641 tr197:
642 #line 384 "wikitext_ragel.rl"
643         {te = p+1;{
644             EMIT(IMG_START);
645             {p++; cs = 94; goto _out;}
646         }}
647         goto st94;
648 tr198:
649 #line 402 "wikitext_ragel.rl"
650         {te = p;p--;{
651             EMIT(RIGHT_CURLY);
652             {p++; cs = 94; goto _out;}
653         }}
654         goto st94;
655 tr199:
656 #line 390 "wikitext_ragel.rl"
657         {te = p+1;{
658             EMIT(IMG_END);
659             {p++; cs = 94; goto _out;}
660         }}
661         goto st94;
662 st94:
663 #line 1 "wikitext_ragel.rl"
664         {ts = 0;}
665         if ( ++p == pe )
666                 goto _test_eof94;
667 case 94:
668 #line 1 "wikitext_ragel.rl"
669         {ts = p;}
670 #line 671 "wikitext_ragel.c"
671         switch( (*p) ) {
672                 case 10: goto tr111;
673                 case 13: goto tr112;
674                 case 32: goto tr113;
675                 case 33: goto st97;
676                 case 34: goto tr115;
677                 case 35: goto tr116;
678                 case 38: goto tr118;
679                 case 39: goto st100;
680                 case 42: goto tr120;
681                 case 43: goto st98;
682                 case 45: goto tr121;
683                 case 46: goto tr122;
684                 case 47: goto st111;
685                 case 60: goto tr125;
686                 case 61: goto tr126;
687                 case 62: goto tr127;
688                 case 64: goto st98;
689                 case 70: goto tr128;
690                 case 72: goto tr129;
691                 case 77: goto tr130;
692                 case 83: goto tr131;
693                 case 91: goto st140;
694                 case 92: goto st98;
695                 case 93: goto st141;
696                 case 94: goto st98;
697                 case 95: goto tr121;
698                 case 96: goto tr134;
699                 case 102: goto tr128;
700                 case 104: goto tr129;
701                 case 109: goto tr130;
702                 case 115: goto tr131;
703                 case 123: goto st142;
704                 case 124: goto tr136;
705                 case 125: goto st143;
706                 case 126: goto st98;
707                 case 127: goto tr110;
708         }
709         if ( (*p) < 36 ) {
710                 if ( (*p) < -32 ) {
711                         if ( -62 <= (*p) && (*p) <= -33 )
712                                 goto st1;
713                 } else if ( (*p) > -17 ) {
714                         if ( (*p) > -12 ) {
715                                 if ( 1 <= (*p) && (*p) <= 31 )
716                                         goto tr110;
717                         } else if ( (*p) >= -16 )
718                                 goto st4;
719                 } else
720                         goto st2;
721         } else if ( (*p) > 37 ) {
722                 if ( (*p) < 48 ) {
723                         if ( 40 <= (*p) && (*p) <= 44 )
724                                 goto st97;
725                 } else if ( (*p) > 57 ) {
726                         if ( (*p) > 63 ) {
727                                 if ( 65 <= (*p) && (*p) <= 122 )
728                                         goto tr124;
729                         } else if ( (*p) >= 58 )
730                                 goto st97;
731                 } else
732                         goto tr124;
733         } else
734                 goto st98;
735         goto st0;
736 st0:
737 cs = 0;
738         goto _out;
739 st1:
740         if ( ++p == pe )
741                 goto _test_eof1;
742 case 1:
743         if ( (*p) <= -65 )
744                 goto tr0;
745         goto st0;
746 st2:
747         if ( ++p == pe )
748                 goto _test_eof2;
749 case 2:
750         if ( (*p) <= -65 )
751                 goto st3;
752         goto st0;
753 st3:
754         if ( ++p == pe )
755                 goto _test_eof3;
756 case 3:
757         if ( (*p) <= -65 )
758                 goto tr3;
759         goto st0;
760 st4:
761         if ( ++p == pe )
762                 goto _test_eof4;
763 case 4:
764         if ( (*p) <= -65 )
765                 goto st5;
766         goto st0;
767 st5:
768         if ( ++p == pe )
769                 goto _test_eof5;
770 case 5:
771         if ( (*p) <= -65 )
772                 goto st6;
773         goto st0;
774 st6:
775         if ( ++p == pe )
776                 goto _test_eof6;
777 case 6:
778         if ( (*p) <= -65 )
779                 goto tr6;
780         goto st0;
781 tr112:
782 #line 41 "wikitext_ragel.rl"
783         {
784         out->code_point = *p & 0x7f;
785     }
786         goto st95;
787 st95:
788         if ( ++p == pe )
789                 goto _test_eof95;
790 case 95:
791 #line 792 "wikitext_ragel.c"
792         if ( (*p) == 10 )
793                 goto tr139;
794         goto tr138;
795 tr113:
796 #line 36 "wikitext_ragel.rl"
797         {
798         MARK();
799     }
800         goto st96;
801 st96:
802         if ( ++p == pe )
803                 goto _test_eof96;
804 case 96:
805 #line 806 "wikitext_ragel.c"
806         if ( (*p) == 32 )
807                 goto st96;
808         goto tr140;
809 st97:
810         if ( ++p == pe )
811                 goto _test_eof97;
812 case 97:
813         switch( (*p) ) {
814                 case 33: goto st97;
815                 case 44: goto st97;
816                 case 46: goto st97;
817                 case 63: goto st97;
818         }
819         if ( (*p) > 41 ) {
820                 if ( 58 <= (*p) && (*p) <= 59 )
821                         goto st97;
822         } else if ( (*p) >= 40 )
823                 goto st97;
824         goto tr142;
825 st98:
826         if ( ++p == pe )
827                 goto _test_eof98;
828 case 98:
829         switch( (*p) ) {
830                 case 43: goto st98;
831                 case 45: goto st98;
832                 case 47: goto st98;
833                 case 64: goto st98;
834                 case 92: goto st98;
835                 case 126: goto st98;
836         }
837         if ( (*p) > 37 ) {
838                 if ( 94 <= (*p) && (*p) <= 95 )
839                         goto st98;
840         } else if ( (*p) >= 36 )
841                 goto st98;
842         goto tr143;
843 tr118:
844 #line 1 "wikitext_ragel.rl"
845         {te = p+1;}
846         goto st99;
847 st99:
848         if ( ++p == pe )
849                 goto _test_eof99;
850 case 99:
851 #line 852 "wikitext_ragel.c"
852         switch( (*p) ) {
853                 case 35: goto st7;
854                 case 97: goto st13;
855                 case 113: goto st16;
856         }
857         if ( (*p) > 90 ) {
858                 if ( 98 <= (*p) && (*p) <= 122 )
859                         goto st11;
860         } else if ( (*p) >= 65 )
861                 goto st11;
862         goto tr144;
863 st7:
864         if ( ++p == pe )
865                 goto _test_eof7;
866 case 7:
867         switch( (*p) ) {
868                 case 88: goto st9;
869                 case 120: goto st9;
870         }
871         if ( 48 <= (*p) && (*p) <= 57 )
872                 goto st8;
873         goto tr7;
874 st8:
875         if ( ++p == pe )
876                 goto _test_eof8;
877 case 8:
878         if ( (*p) == 59 )
879                 goto tr10;
880         if ( 48 <= (*p) && (*p) <= 57 )
881                 goto st8;
882         goto tr7;
883 st9:
884         if ( ++p == pe )
885                 goto _test_eof9;
886 case 9:
887         if ( (*p) < 65 ) {
888                 if ( 48 <= (*p) && (*p) <= 57 )
889                         goto st10;
890         } else if ( (*p) > 70 ) {
891                 if ( 97 <= (*p) && (*p) <= 102 )
892                         goto st10;
893         } else
894                 goto st10;
895         goto tr7;
896 st10:
897         if ( ++p == pe )
898                 goto _test_eof10;
899 case 10:
900         if ( (*p) == 59 )
901                 goto tr12;
902         if ( (*p) < 65 ) {
903                 if ( 48 <= (*p) && (*p) <= 57 )
904                         goto st10;
905         } else if ( (*p) > 70 ) {
906                 if ( 97 <= (*p) && (*p) <= 102 )
907                         goto st10;
908         } else
909                 goto st10;
910         goto tr7;
911 st11:
912         if ( ++p == pe )
913                 goto _test_eof11;
914 case 11:
915         if ( (*p) == 59 )
916                 goto tr14;
917         if ( (*p) < 65 ) {
918                 if ( 48 <= (*p) && (*p) <= 57 )
919                         goto st12;
920         } else if ( (*p) > 90 ) {
921                 if ( 97 <= (*p) && (*p) <= 122 )
922                         goto st11;
923         } else
924                 goto st11;
925         goto tr7;
926 st12:
927         if ( ++p == pe )
928                 goto _test_eof12;
929 case 12:
930         if ( (*p) == 59 )
931                 goto tr14;
932         if ( 48 <= (*p) && (*p) <= 57 )
933                 goto st12;
934         goto tr7;
935 st13:
936         if ( ++p == pe )
937                 goto _test_eof13;
938 case 13:
939         switch( (*p) ) {
940                 case 59: goto tr14;
941                 case 109: goto st14;
942         }
943         if ( (*p) < 65 ) {
944                 if ( 48 <= (*p) && (*p) <= 57 )
945                         goto st12;
946         } else if ( (*p) > 90 ) {
947                 if ( 97 <= (*p) && (*p) <= 122 )
948                         goto st11;
949         } else
950                 goto st11;
951         goto tr7;
952 st14:
953         if ( ++p == pe )
954                 goto _test_eof14;
955 case 14:
956         switch( (*p) ) {
957                 case 59: goto tr14;
958                 case 112: goto st15;
959         }
960         if ( (*p) < 65 ) {
961                 if ( 48 <= (*p) && (*p) <= 57 )
962                         goto st12;
963         } else if ( (*p) > 90 ) {
964                 if ( 97 <= (*p) && (*p) <= 122 )
965                         goto st11;
966         } else
967                 goto st11;
968         goto tr7;
969 st15:
970         if ( ++p == pe )
971                 goto _test_eof15;
972 case 15:
973         if ( (*p) == 59 )
974                 goto tr18;
975         if ( (*p) < 65 ) {
976                 if ( 48 <= (*p) && (*p) <= 57 )
977                         goto st12;
978         } else if ( (*p) > 90 ) {
979                 if ( 97 <= (*p) && (*p) <= 122 )
980                         goto st11;
981         } else
982                 goto st11;
983         goto tr7;
984 st16:
985         if ( ++p == pe )
986                 goto _test_eof16;
987 case 16:
988         switch( (*p) ) {
989                 case 59: goto tr14;
990                 case 117: goto st17;
991         }
992         if ( (*p) < 65 ) {
993                 if ( 48 <= (*p) && (*p) <= 57 )
994                         goto st12;
995         } else if ( (*p) > 90 ) {
996                 if ( 97 <= (*p) && (*p) <= 122 )
997                         goto st11;
998         } else
999                 goto st11;
1000         goto tr7;
1001 st17:
1002         if ( ++p == pe )
1003                 goto _test_eof17;
1004 case 17:
1005         switch( (*p) ) {
1006                 case 59: goto tr14;
1007                 case 111: goto st18;
1008         }
1009         if ( (*p) < 65 ) {
1010                 if ( 48 <= (*p) && (*p) <= 57 )
1011                         goto st12;
1012         } else if ( (*p) > 90 ) {
1013                 if ( 97 <= (*p) && (*p) <= 122 )
1014                         goto st11;
1015         } else
1016                 goto st11;
1017         goto tr7;
1018 st18:
1019         if ( ++p == pe )
1020                 goto _test_eof18;
1021 case 18:
1022         switch( (*p) ) {
1023                 case 59: goto tr14;
1024                 case 116: goto st19;
1025         }
1026         if ( (*p) < 65 ) {
1027                 if ( 48 <= (*p) && (*p) <= 57 )
1028                         goto st12;
1029         } else if ( (*p) > 90 ) {
1030                 if ( 97 <= (*p) && (*p) <= 122 )
1031                         goto st11;
1032         } else
1033                 goto st11;
1034         goto tr7;
1035 st19:
1036         if ( ++p == pe )
1037                 goto _test_eof19;
1038 case 19:
1039         if ( (*p) == 59 )
1040                 goto tr22;
1041         if ( (*p) < 65 ) {
1042                 if ( 48 <= (*p) && (*p) <= 57 )
1043                         goto st12;
1044         } else if ( (*p) > 90 ) {
1045                 if ( 97 <= (*p) && (*p) <= 122 )
1046                         goto st11;
1047         } else
1048                 goto st11;
1049         goto tr7;
1050 st100:
1051         if ( ++p == pe )
1052                 goto _test_eof100;
1053 case 100:
1054         if ( (*p) == 39 )
1055                 goto st101;
1056         goto tr148;
1057 st101:
1058         if ( ++p == pe )
1059                 goto _test_eof101;
1060 case 101:
1061         if ( (*p) == 39 )
1062                 goto st102;
1063         goto tr148;
1064 st102:
1065         if ( ++p == pe )
1066                 goto _test_eof102;
1067 case 102:
1068         if ( (*p) == 39 )
1069                 goto st103;
1070         goto tr148;
1071 st103:
1072         if ( ++p == pe )
1073                 goto _test_eof103;
1074 case 103:
1075         if ( (*p) == 39 )
1076                 goto tr152;
1077         goto tr148;
1078 tr121:
1079 #line 1 "wikitext_ragel.rl"
1080         {te = p+1;}
1081 #line 439 "wikitext_ragel.rl"
1082         {act = 44;}
1083         goto st104;
1084 st104:
1085         if ( ++p == pe )
1086                 goto _test_eof104;
1087 case 104:
1088 #line 1089 "wikitext_ragel.c"
1089         switch( (*p) ) {
1090                 case 43: goto st98;
1091                 case 45: goto tr121;
1092                 case 47: goto st98;
1093                 case 64: goto tr153;
1094                 case 92: goto st98;
1095                 case 94: goto st98;
1096                 case 95: goto tr121;
1097                 case 126: goto st98;
1098         }
1099         if ( (*p) < 46 ) {
1100                 if ( 36 <= (*p) && (*p) <= 37 )
1101                         goto st98;
1102         } else if ( (*p) > 57 ) {
1103                 if ( (*p) > 90 ) {
1104                         if ( 97 <= (*p) && (*p) <= 122 )
1105                                 goto st20;
1106                 } else if ( (*p) >= 65 )
1107                         goto st20;
1108         } else
1109                 goto st20;
1110         goto tr143;
1111 st20:
1112         if ( ++p == pe )
1113                 goto _test_eof20;
1114 case 20:
1115         switch( (*p) ) {
1116                 case 64: goto st21;
1117                 case 95: goto st20;
1118         }
1119         if ( (*p) < 48 ) {
1120                 if ( 45 <= (*p) && (*p) <= 46 )
1121                         goto st20;
1122         } else if ( (*p) > 57 ) {
1123                 if ( (*p) > 90 ) {
1124                         if ( 97 <= (*p) && (*p) <= 122 )
1125                                 goto st20;
1126                 } else if ( (*p) >= 65 )
1127                         goto st20;
1128         } else
1129                 goto st20;
1130         goto tr23;
1131 st21:
1132         if ( ++p == pe )
1133                 goto _test_eof21;
1134 case 21:
1135         if ( (*p) < 65 ) {
1136                 if ( 48 <= (*p) && (*p) <= 57 )
1137                         goto st22;
1138         } else if ( (*p) > 90 ) {
1139                 if ( 97 <= (*p) && (*p) <= 122 )
1140                         goto st22;
1141         } else
1142                 goto st22;
1143         goto tr23;
1144 st22:
1145         if ( ++p == pe )
1146                 goto _test_eof22;
1147 case 22:
1148         if ( (*p) == 46 )
1149                 goto st23;
1150         if ( (*p) < 65 ) {
1151                 if ( 48 <= (*p) && (*p) <= 57 )
1152                         goto st22;
1153         } else if ( (*p) > 90 ) {
1154                 if ( 97 <= (*p) && (*p) <= 122 )
1155                         goto st22;
1156         } else
1157                 goto st22;
1158         goto tr23;
1159 st23:
1160         if ( ++p == pe )
1161                 goto _test_eof23;
1162 case 23:
1163         if ( (*p) < 65 ) {
1164                 if ( 48 <= (*p) && (*p) <= 57 )
1165                         goto st22;
1166         } else if ( (*p) > 90 ) {
1167                 if ( 97 <= (*p) && (*p) <= 122 )
1168                         goto st24;
1169         } else
1170                 goto st24;
1171         goto tr23;
1172 st24:
1173         if ( ++p == pe )
1174                 goto _test_eof24;
1175 case 24:
1176         if ( (*p) == 46 )
1177                 goto st23;
1178         if ( (*p) < 65 ) {
1179                 if ( 48 <= (*p) && (*p) <= 57 )
1180                         goto st22;
1181         } else if ( (*p) > 90 ) {
1182                 if ( 97 <= (*p) && (*p) <= 122 )
1183                         goto tr29;
1184         } else
1185                 goto tr29;
1186         goto tr23;
1187 tr29:
1188 #line 1 "wikitext_ragel.rl"
1189         {te = p+1;}
1190 #line 288 "wikitext_ragel.rl"
1191         {act = 21;}
1192         goto st105;
1193 st105:
1194         if ( ++p == pe )
1195                 goto _test_eof105;
1196 case 105:
1197 #line 1198 "wikitext_ragel.c"
1198         if ( (*p) == 46 )
1199                 goto st23;
1200         if ( (*p) < 65 ) {
1201                 if ( 48 <= (*p) && (*p) <= 57 )
1202                         goto st22;
1203         } else if ( (*p) > 90 ) {
1204                 if ( 97 <= (*p) && (*p) <= 122 )
1205                         goto tr155;
1206         } else
1207                 goto tr155;
1208         goto tr154;
1209 tr155:
1210 #line 1 "wikitext_ragel.rl"
1211         {te = p+1;}
1212 #line 288 "wikitext_ragel.rl"
1213         {act = 21;}
1214         goto st106;
1215 st106:
1216         if ( ++p == pe )
1217                 goto _test_eof106;
1218 case 106:
1219 #line 1220 "wikitext_ragel.c"
1220         if ( (*p) == 46 )
1221                 goto st23;
1222         if ( (*p) < 65 ) {
1223                 if ( 48 <= (*p) && (*p) <= 57 )
1224                         goto st22;
1225         } else if ( (*p) > 90 ) {
1226                 if ( 97 <= (*p) && (*p) <= 122 )
1227                         goto tr156;
1228         } else
1229                 goto tr156;
1230         goto tr154;
1231 tr156:
1232 #line 1 "wikitext_ragel.rl"
1233         {te = p+1;}
1234 #line 288 "wikitext_ragel.rl"
1235         {act = 21;}
1236         goto st107;
1237 st107:
1238         if ( ++p == pe )
1239                 goto _test_eof107;
1240 case 107:
1241 #line 1242 "wikitext_ragel.c"
1242         if ( (*p) == 46 )
1243                 goto st23;
1244         if ( (*p) < 65 ) {
1245                 if ( 48 <= (*p) && (*p) <= 57 )
1246                         goto st22;
1247         } else if ( (*p) > 90 ) {
1248                 if ( 97 <= (*p) && (*p) <= 122 )
1249                         goto tr157;
1250         } else
1251                 goto tr157;
1252         goto tr154;
1253 tr157:
1254 #line 1 "wikitext_ragel.rl"
1255         {te = p+1;}
1256 #line 288 "wikitext_ragel.rl"
1257         {act = 21;}
1258         goto st108;
1259 st108:
1260         if ( ++p == pe )
1261                 goto _test_eof108;
1262 case 108:
1263 #line 1264 "wikitext_ragel.c"
1264         if ( (*p) == 46 )
1265                 goto st23;
1266         if ( (*p) < 65 ) {
1267                 if ( 48 <= (*p) && (*p) <= 57 )
1268                         goto st22;
1269         } else if ( (*p) > 90 ) {
1270                 if ( 97 <= (*p) && (*p) <= 122 )
1271                         goto st22;
1272         } else
1273                 goto st22;
1274         goto tr154;
1275 tr153:
1276 #line 1 "wikitext_ragel.rl"
1277         {te = p+1;}
1278 #line 439 "wikitext_ragel.rl"
1279         {act = 44;}
1280         goto st109;
1281 st109:
1282         if ( ++p == pe )
1283                 goto _test_eof109;
1284 case 109:
1285 #line 1286 "wikitext_ragel.c"
1286         switch( (*p) ) {
1287                 case 43: goto st98;
1288                 case 45: goto st98;
1289                 case 47: goto st98;
1290                 case 64: goto st98;
1291                 case 92: goto st98;
1292                 case 126: goto st98;
1293         }
1294         if ( (*p) < 65 ) {
1295                 if ( (*p) > 37 ) {
1296                         if ( 48 <= (*p) && (*p) <= 57 )
1297                                 goto st22;
1298                 } else if ( (*p) >= 36 )
1299                         goto st98;
1300         } else if ( (*p) > 90 ) {
1301                 if ( (*p) > 95 ) {
1302                         if ( 97 <= (*p) && (*p) <= 122 )
1303                                 goto st22;
1304                 } else if ( (*p) >= 94 )
1305                         goto st98;
1306         } else
1307                 goto st22;
1308         goto tr143;
1309 tr122:
1310 #line 1 "wikitext_ragel.rl"
1311         {te = p+1;}
1312 #line 421 "wikitext_ragel.rl"
1313         {act = 42;}
1314         goto st110;
1315 st110:
1316         if ( ++p == pe )
1317                 goto _test_eof110;
1318 case 110:
1319 #line 1320 "wikitext_ragel.c"
1320         switch( (*p) ) {
1321                 case 33: goto st97;
1322                 case 44: goto st97;
1323                 case 45: goto st20;
1324                 case 46: goto tr122;
1325                 case 63: goto st97;
1326                 case 64: goto st21;
1327                 case 95: goto st20;
1328         }
1329         if ( (*p) < 58 ) {
1330                 if ( (*p) > 41 ) {
1331                         if ( 48 <= (*p) && (*p) <= 57 )
1332                                 goto st20;
1333                 } else if ( (*p) >= 40 )
1334                         goto st97;
1335         } else if ( (*p) > 59 ) {
1336                 if ( (*p) > 90 ) {
1337                         if ( 97 <= (*p) && (*p) <= 122 )
1338                                 goto st20;
1339                 } else if ( (*p) >= 65 )
1340                         goto st20;
1341         } else
1342                 goto st97;
1343         goto tr142;
1344 st111:
1345         if ( ++p == pe )
1346                 goto _test_eof111;
1347 case 111:
1348         switch( (*p) ) {
1349                 case 43: goto st98;
1350                 case 45: goto st112;
1351                 case 47: goto st98;
1352                 case 64: goto st98;
1353                 case 92: goto st98;
1354                 case 94: goto st98;
1355                 case 95: goto st112;
1356                 case 126: goto st98;
1357         }
1358         if ( (*p) < 46 ) {
1359                 if ( 36 <= (*p) && (*p) <= 37 )
1360                         goto st98;
1361         } else if ( (*p) > 57 ) {
1362                 if ( (*p) > 90 ) {
1363                         if ( 97 <= (*p) && (*p) <= 122 )
1364                                 goto st113;
1365                 } else if ( (*p) >= 65 )
1366                         goto st113;
1367         } else
1368                 goto st113;
1369         goto tr158;
1370 st112:
1371         if ( ++p == pe )
1372                 goto _test_eof112;
1373 case 112:
1374         switch( (*p) ) {
1375                 case 43: goto st98;
1376                 case 45: goto st112;
1377                 case 47: goto st111;
1378                 case 64: goto st98;
1379                 case 92: goto st98;
1380                 case 94: goto st98;
1381                 case 95: goto st112;
1382                 case 126: goto st98;
1383         }
1384         if ( (*p) < 46 ) {
1385                 if ( 36 <= (*p) && (*p) <= 37 )
1386                         goto st98;
1387         } else if ( (*p) > 57 ) {
1388                 if ( (*p) > 90 ) {
1389                         if ( 97 <= (*p) && (*p) <= 122 )
1390                                 goto st113;
1391                 } else if ( (*p) >= 65 )
1392                         goto st113;
1393         } else
1394                 goto st113;
1395         goto tr158;
1396 st113:
1397         if ( ++p == pe )
1398                 goto _test_eof113;
1399 case 113:
1400         switch( (*p) ) {
1401                 case 47: goto st114;
1402                 case 95: goto st113;
1403         }
1404         if ( (*p) < 65 ) {
1405                 if ( 45 <= (*p) && (*p) <= 57 )
1406                         goto st113;
1407         } else if ( (*p) > 90 ) {
1408                 if ( 97 <= (*p) && (*p) <= 122 )
1409                         goto st113;
1410         } else
1411                 goto st113;
1412         goto tr158;
1413 st114:
1414         if ( ++p == pe )
1415                 goto _test_eof114;
1416 case 114:
1417         if ( (*p) == 95 )
1418                 goto st113;
1419         if ( (*p) < 48 ) {
1420                 if ( 45 <= (*p) && (*p) <= 46 )
1421                         goto st113;
1422         } else if ( (*p) > 57 ) {
1423                 if ( (*p) > 90 ) {
1424                         if ( 97 <= (*p) && (*p) <= 122 )
1425                                 goto st113;
1426                 } else if ( (*p) >= 65 )
1427                         goto st113;
1428         } else
1429                 goto st113;
1430         goto tr158;
1431 tr124:
1432 #line 1 "wikitext_ragel.rl"
1433         {te = p+1;}
1434 #line 427 "wikitext_ragel.rl"
1435         {act = 43;}
1436         goto st115;
1437 st115:
1438         if ( ++p == pe )
1439                 goto _test_eof115;
1440 case 115:
1441 #line 1442 "wikitext_ragel.c"
1442         switch( (*p) ) {
1443                 case 64: goto st21;
1444                 case 95: goto st20;
1445         }
1446         if ( (*p) < 48 ) {
1447                 if ( 45 <= (*p) && (*p) <= 46 )
1448                         goto st20;
1449         } else if ( (*p) > 57 ) {
1450                 if ( (*p) > 90 ) {
1451                         if ( 97 <= (*p) && (*p) <= 122 )
1452                                 goto tr124;
1453                 } else if ( (*p) >= 65 )
1454                         goto tr124;
1455         } else
1456                 goto tr124;
1457         goto tr162;
1458 tr125:
1459 #line 1 "wikitext_ragel.rl"
1460         {te = p+1;}
1461         goto st116;
1462 st116:
1463         if ( ++p == pe )
1464                 goto _test_eof116;
1465 case 116:
1466 #line 1467 "wikitext_ragel.c"
1467         switch( (*p) ) {
1468                 case 47: goto st25;
1469                 case 66: goto st55;
1470                 case 69: goto st65;
1471                 case 78: goto st67;
1472                 case 80: goto st73;
1473                 case 83: goto st76;
1474                 case 84: goto st82;
1475                 case 98: goto st55;
1476                 case 101: goto st65;
1477                 case 110: goto st67;
1478                 case 112: goto st73;
1479                 case 115: goto st76;
1480                 case 116: goto st82;
1481         }
1482         goto tr163;
1483 st25:
1484         if ( ++p == pe )
1485                 goto _test_eof25;
1486 case 25:
1487         switch( (*p) ) {
1488                 case 66: goto st26;
1489                 case 69: goto st36;
1490                 case 78: goto st38;
1491                 case 80: goto st44;
1492                 case 83: goto st47;
1493                 case 84: goto st53;
1494                 case 98: goto st26;
1495                 case 101: goto st36;
1496                 case 110: goto st38;
1497                 case 112: goto st44;
1498                 case 115: goto st47;
1499                 case 116: goto st53;
1500         }
1501         goto tr30;
1502 st26:
1503         if ( ++p == pe )
1504                 goto _test_eof26;
1505 case 26:
1506         switch( (*p) ) {
1507                 case 76: goto st27;
1508                 case 108: goto st27;
1509         }
1510         goto tr30;
1511 st27:
1512         if ( ++p == pe )
1513                 goto _test_eof27;
1514 case 27:
1515         switch( (*p) ) {
1516                 case 79: goto st28;
1517                 case 111: goto st28;
1518         }
1519         goto tr30;
1520 st28:
1521         if ( ++p == pe )
1522                 goto _test_eof28;
1523 case 28:
1524         switch( (*p) ) {
1525                 case 67: goto st29;
1526                 case 99: goto st29;
1527         }
1528         goto tr30;
1529 st29:
1530         if ( ++p == pe )
1531                 goto _test_eof29;
1532 case 29:
1533         switch( (*p) ) {
1534                 case 75: goto st30;
1535                 case 107: goto st30;
1536         }
1537         goto tr30;
1538 st30:
1539         if ( ++p == pe )
1540                 goto _test_eof30;
1541 case 30:
1542         switch( (*p) ) {
1543                 case 81: goto st31;
1544                 case 113: goto st31;
1545         }
1546         goto tr30;
1547 st31:
1548         if ( ++p == pe )
1549                 goto _test_eof31;
1550 case 31:
1551         switch( (*p) ) {
1552                 case 85: goto st32;
1553                 case 117: goto st32;
1554         }
1555         goto tr30;
1556 st32:
1557         if ( ++p == pe )
1558                 goto _test_eof32;
1559 case 32:
1560         switch( (*p) ) {
1561                 case 79: goto st33;
1562                 case 111: goto st33;
1563         }
1564         goto tr30;
1565 st33:
1566         if ( ++p == pe )
1567                 goto _test_eof33;
1568 case 33:
1569         switch( (*p) ) {
1570                 case 84: goto st34;
1571                 case 116: goto st34;
1572         }
1573         goto tr30;
1574 st34:
1575         if ( ++p == pe )
1576                 goto _test_eof34;
1577 case 34:
1578         switch( (*p) ) {
1579                 case 69: goto st35;
1580                 case 101: goto st35;
1581         }
1582         goto tr30;
1583 st35:
1584         if ( ++p == pe )
1585                 goto _test_eof35;
1586 case 35:
1587         if ( (*p) == 62 )
1588                 goto tr46;
1589         goto tr30;
1590 st36:
1591         if ( ++p == pe )
1592                 goto _test_eof36;
1593 case 36:
1594         switch( (*p) ) {
1595                 case 77: goto st37;
1596                 case 109: goto st37;
1597         }
1598         goto tr30;
1599 st37:
1600         if ( ++p == pe )
1601                 goto _test_eof37;
1602 case 37:
1603         if ( (*p) == 62 )
1604                 goto tr48;
1605         goto tr30;
1606 st38:
1607         if ( ++p == pe )
1608                 goto _test_eof38;
1609 case 38:
1610         switch( (*p) ) {
1611                 case 79: goto st39;
1612                 case 111: goto st39;
1613         }
1614         goto tr30;
1615 st39:
1616         if ( ++p == pe )
1617                 goto _test_eof39;
1618 case 39:
1619         switch( (*p) ) {
1620                 case 87: goto st40;
1621                 case 119: goto st40;
1622         }
1623         goto tr30;
1624 st40:
1625         if ( ++p == pe )
1626                 goto _test_eof40;
1627 case 40:
1628         switch( (*p) ) {
1629                 case 73: goto st41;
1630                 case 105: goto st41;
1631         }
1632         goto tr30;
1633 st41:
1634         if ( ++p == pe )
1635                 goto _test_eof41;
1636 case 41:
1637         switch( (*p) ) {
1638                 case 75: goto st42;
1639                 case 107: goto st42;
1640         }
1641         goto tr30;
1642 st42:
1643         if ( ++p == pe )
1644                 goto _test_eof42;
1645 case 42:
1646         switch( (*p) ) {
1647                 case 73: goto st43;
1648                 case 105: goto st43;
1649         }
1650         goto tr30;
1651 st43:
1652         if ( ++p == pe )
1653                 goto _test_eof43;
1654 case 43:
1655         if ( (*p) == 62 )
1656                 goto tr54;
1657         goto tr30;
1658 st44:
1659         if ( ++p == pe )
1660                 goto _test_eof44;
1661 case 44:
1662         switch( (*p) ) {
1663                 case 82: goto st45;
1664                 case 114: goto st45;
1665         }
1666         goto tr30;
1667 st45:
1668         if ( ++p == pe )
1669                 goto _test_eof45;
1670 case 45:
1671         switch( (*p) ) {
1672                 case 69: goto st46;
1673                 case 101: goto st46;
1674         }
1675         goto tr30;
1676 st46:
1677         if ( ++p == pe )
1678                 goto _test_eof46;
1679 case 46:
1680         if ( (*p) == 62 )
1681                 goto tr57;
1682         goto tr30;
1683 st47:
1684         if ( ++p == pe )
1685                 goto _test_eof47;
1686 case 47:
1687         switch( (*p) ) {
1688                 case 84: goto st48;
1689                 case 116: goto st48;
1690         }
1691         goto tr30;
1692 st48:
1693         if ( ++p == pe )
1694                 goto _test_eof48;
1695 case 48:
1696         switch( (*p) ) {
1697                 case 82: goto st49;
1698                 case 114: goto st49;
1699         }
1700         goto tr30;
1701 st49:
1702         if ( ++p == pe )
1703                 goto _test_eof49;
1704 case 49:
1705         switch( (*p) ) {
1706                 case 79: goto st50;
1707                 case 111: goto st50;
1708         }
1709         goto tr30;
1710 st50:
1711         if ( ++p == pe )
1712                 goto _test_eof50;
1713 case 50:
1714         switch( (*p) ) {
1715                 case 78: goto st51;
1716                 case 110: goto st51;
1717         }
1718         goto tr30;
1719 st51:
1720         if ( ++p == pe )
1721                 goto _test_eof51;
1722 case 51:
1723         switch( (*p) ) {
1724                 case 71: goto st52;
1725                 case 103: goto st52;
1726         }
1727         goto tr30;
1728 st52:
1729         if ( ++p == pe )
1730                 goto _test_eof52;
1731 case 52:
1732         if ( (*p) == 62 )
1733                 goto tr63;
1734         goto tr30;
1735 st53:
1736         if ( ++p == pe )
1737                 goto _test_eof53;
1738 case 53:
1739         switch( (*p) ) {
1740                 case 84: goto st54;
1741                 case 116: goto st54;
1742         }
1743         goto tr30;
1744 st54:
1745         if ( ++p == pe )
1746                 goto _test_eof54;
1747 case 54:
1748         if ( (*p) == 62 )
1749                 goto tr65;
1750         goto tr30;
1751 st55:
1752         if ( ++p == pe )
1753                 goto _test_eof55;
1754 case 55:
1755         switch( (*p) ) {
1756                 case 76: goto st56;
1757                 case 108: goto st56;
1758         }
1759         goto tr30;
1760 st56:
1761         if ( ++p == pe )
1762                 goto _test_eof56;
1763 case 56:
1764         switch( (*p) ) {
1765                 case 79: goto st57;
1766                 case 111: goto st57;
1767         }
1768         goto tr30;
1769 st57:
1770         if ( ++p == pe )
1771                 goto _test_eof57;
1772 case 57:
1773         switch( (*p) ) {
1774                 case 67: goto st58;
1775                 case 99: goto st58;
1776         }
1777         goto tr30;
1778 st58:
1779         if ( ++p == pe )
1780                 goto _test_eof58;
1781 case 58:
1782         switch( (*p) ) {
1783                 case 75: goto st59;
1784                 case 107: goto st59;
1785         }
1786         goto tr30;
1787 st59:
1788         if ( ++p == pe )
1789                 goto _test_eof59;
1790 case 59:
1791         switch( (*p) ) {
1792                 case 81: goto st60;
1793                 case 113: goto st60;
1794         }
1795         goto tr30;
1796 st60:
1797         if ( ++p == pe )
1798                 goto _test_eof60;
1799 case 60:
1800         switch( (*p) ) {
1801                 case 85: goto st61;
1802                 case 117: goto st61;
1803         }
1804         goto tr30;
1805 st61:
1806         if ( ++p == pe )
1807                 goto _test_eof61;
1808 case 61:
1809         switch( (*p) ) {
1810                 case 79: goto st62;
1811                 case 111: goto st62;
1812         }
1813         goto tr30;
1814 st62:
1815         if ( ++p == pe )
1816                 goto _test_eof62;
1817 case 62:
1818         switch( (*p) ) {
1819                 case 84: goto st63;
1820                 case 116: goto st63;
1821         }
1822         goto tr30;
1823 st63:
1824         if ( ++p == pe )
1825                 goto _test_eof63;
1826 case 63:
1827         switch( (*p) ) {
1828                 case 69: goto st64;
1829                 case 101: goto st64;
1830         }
1831         goto tr30;
1832 st64:
1833         if ( ++p == pe )
1834                 goto _test_eof64;
1835 case 64:
1836         if ( (*p) == 62 )
1837                 goto tr75;
1838         goto tr30;
1839 st65:
1840         if ( ++p == pe )
1841                 goto _test_eof65;
1842 case 65:
1843         switch( (*p) ) {
1844                 case 77: goto st66;
1845                 case 109: goto st66;
1846         }
1847         goto tr30;
1848 st66:
1849         if ( ++p == pe )
1850                 goto _test_eof66;
1851 case 66:
1852         if ( (*p) == 62 )
1853                 goto tr77;
1854         goto tr30;
1855 st67:
1856         if ( ++p == pe )
1857                 goto _test_eof67;
1858 case 67:
1859         switch( (*p) ) {
1860                 case 79: goto st68;
1861                 case 111: goto st68;
1862         }
1863         goto tr30;
1864 st68:
1865         if ( ++p == pe )
1866                 goto _test_eof68;
1867 case 68:
1868         switch( (*p) ) {
1869                 case 87: goto st69;
1870                 case 119: goto st69;
1871         }
1872         goto tr30;
1873 st69:
1874         if ( ++p == pe )
1875                 goto _test_eof69;
1876 case 69:
1877         switch( (*p) ) {
1878                 case 73: goto st70;
1879                 case 105: goto st70;
1880         }
1881         goto tr30;
1882 st70:
1883         if ( ++p == pe )
1884                 goto _test_eof70;
1885 case 70:
1886         switch( (*p) ) {
1887                 case 75: goto st71;
1888                 case 107: goto st71;
1889         }
1890         goto tr30;
1891 st71:
1892         if ( ++p == pe )
1893                 goto _test_eof71;
1894 case 71:
1895         switch( (*p) ) {
1896                 case 73: goto st72;
1897                 case 105: goto st72;
1898         }
1899         goto tr30;
1900 st72:
1901         if ( ++p == pe )
1902                 goto _test_eof72;
1903 case 72:
1904         if ( (*p) == 62 )
1905                 goto tr83;
1906         goto tr30;
1907 st73:
1908         if ( ++p == pe )
1909                 goto _test_eof73;
1910 case 73:
1911         switch( (*p) ) {
1912                 case 82: goto st74;
1913                 case 114: goto st74;
1914         }
1915         goto tr30;
1916 st74:
1917         if ( ++p == pe )
1918                 goto _test_eof74;
1919 case 74:
1920         switch( (*p) ) {
1921                 case 69: goto st75;
1922                 case 101: goto st75;
1923         }
1924         goto tr30;
1925 st75:
1926         if ( ++p == pe )
1927                 goto _test_eof75;
1928 case 75:
1929         if ( (*p) == 62 )
1930                 goto tr86;
1931         goto tr30;
1932 st76:
1933         if ( ++p == pe )
1934                 goto _test_eof76;
1935 case 76:
1936         switch( (*p) ) {
1937                 case 84: goto st77;
1938                 case 116: goto st77;
1939         }
1940         goto tr30;
1941 st77:
1942         if ( ++p == pe )
1943                 goto _test_eof77;
1944 case 77:
1945         switch( (*p) ) {
1946                 case 82: goto st78;
1947                 case 114: goto st78;
1948         }
1949         goto tr30;
1950 st78:
1951         if ( ++p == pe )
1952                 goto _test_eof78;
1953 case 78:
1954         switch( (*p) ) {
1955                 case 79: goto st79;
1956                 case 111: goto st79;
1957         }
1958         goto tr30;
1959 st79:
1960         if ( ++p == pe )
1961                 goto _test_eof79;
1962 case 79:
1963         switch( (*p) ) {
1964                 case 78: goto st80;
1965                 case 110: goto st80;
1966         }
1967         goto tr30;
1968 st80:
1969         if ( ++p == pe )
1970                 goto _test_eof80;
1971 case 80:
1972         switch( (*p) ) {
1973                 case 71: goto st81;
1974                 case 103: goto st81;
1975         }
1976         goto tr30;
1977 st81:
1978         if ( ++p == pe )
1979                 goto _test_eof81;
1980 case 81:
1981         if ( (*p) == 62 )
1982                 goto tr92;
1983         goto tr30;
1984 st82:
1985         if ( ++p == pe )
1986                 goto _test_eof82;
1987 case 82:
1988         switch( (*p) ) {
1989                 case 84: goto st83;
1990                 case 116: goto st83;
1991         }
1992         goto tr30;
1993 st83:
1994         if ( ++p == pe )
1995                 goto _test_eof83;
1996 case 83:
1997         if ( (*p) == 62 )
1998                 goto tr94;
1999         goto tr30;
2000 tr126:
2001 #line 36 "wikitext_ragel.rl"
2002         {
2003         MARK();
2004     }
2005         goto st117;
2006 st117:
2007         if ( ++p == pe )
2008                 goto _test_eof117;
2009 case 117:
2010 #line 2011 "wikitext_ragel.c"
2011         switch( (*p) ) {
2012                 case 32: goto st118;
2013                 case 61: goto tr126;
2014         }
2015         goto tr171;
2016 st118:
2017         if ( ++p == pe )
2018                 goto _test_eof118;
2019 case 118:
2020         if ( (*p) == 32 )
2021                 goto st118;
2022         goto tr171;
2023 tr127:
2024 #line 36 "wikitext_ragel.rl"
2025         {
2026         MARK();
2027     }
2028         goto st119;
2029 st119:
2030         if ( ++p == pe )
2031                 goto _test_eof119;
2032 case 119:
2033 #line 2034 "wikitext_ragel.c"
2034         if ( (*p) == 32 )
2035                 goto tr174;
2036         goto tr173;
2037 tr128:
2038 #line 1 "wikitext_ragel.rl"
2039         {te = p+1;}
2040 #line 427 "wikitext_ragel.rl"
2041         {act = 43;}
2042         goto st120;
2043 st120:
2044         if ( ++p == pe )
2045                 goto _test_eof120;
2046 case 120:
2047 #line 2048 "wikitext_ragel.c"
2048         switch( (*p) ) {
2049                 case 64: goto st21;
2050                 case 84: goto tr175;
2051                 case 95: goto st20;
2052                 case 116: goto tr175;
2053         }
2054         if ( (*p) < 48 ) {
2055                 if ( 45 <= (*p) && (*p) <= 46 )
2056                         goto st20;
2057         } else if ( (*p) > 57 ) {
2058                 if ( (*p) > 90 ) {
2059                         if ( 97 <= (*p) && (*p) <= 122 )
2060                                 goto tr124;
2061                 } else if ( (*p) >= 65 )
2062                         goto tr124;
2063         } else
2064                 goto tr124;
2065         goto tr162;
2066 tr175:
2067 #line 1 "wikitext_ragel.rl"
2068         {te = p+1;}
2069 #line 427 "wikitext_ragel.rl"
2070         {act = 43;}
2071         goto st121;
2072 st121:
2073         if ( ++p == pe )
2074                 goto _test_eof121;
2075 case 121:
2076 #line 2077 "wikitext_ragel.c"
2077         switch( (*p) ) {
2078                 case 64: goto st21;
2079                 case 80: goto tr176;
2080                 case 95: goto st20;
2081                 case 112: goto tr176;
2082         }
2083         if ( (*p) < 48 ) {
2084                 if ( 45 <= (*p) && (*p) <= 46 )
2085                         goto st20;
2086         } else if ( (*p) > 57 ) {
2087                 if ( (*p) > 90 ) {
2088                         if ( 97 <= (*p) && (*p) <= 122 )
2089                                 goto tr124;
2090                 } else if ( (*p) >= 65 )
2091                         goto tr124;
2092         } else
2093                 goto tr124;
2094         goto tr162;
2095 tr176:
2096 #line 1 "wikitext_ragel.rl"
2097         {te = p+1;}
2098 #line 427 "wikitext_ragel.rl"
2099         {act = 43;}
2100         goto st122;
2101 st122:
2102         if ( ++p == pe )
2103                 goto _test_eof122;
2104 case 122:
2105 #line 2106 "wikitext_ragel.c"
2106         switch( (*p) ) {
2107                 case 58: goto st84;
2108                 case 64: goto st21;
2109                 case 95: goto st20;
2110         }
2111         if ( (*p) < 48 ) {
2112                 if ( 45 <= (*p) && (*p) <= 46 )
2113                         goto st20;
2114         } else if ( (*p) > 57 ) {
2115                 if ( (*p) > 90 ) {
2116                         if ( 97 <= (*p) && (*p) <= 122 )
2117                                 goto tr124;
2118                 } else if ( (*p) >= 65 )
2119                         goto tr124;
2120         } else
2121                 goto tr124;
2122         goto tr162;
2123 st84:
2124         if ( ++p == pe )
2125                 goto _test_eof84;
2126 case 84:
2127         if ( (*p) == 47 )
2128                 goto st85;
2129         goto tr95;
2130 st85:
2131         if ( ++p == pe )
2132                 goto _test_eof85;
2133 case 85:
2134         if ( (*p) == 47 )
2135                 goto st86;
2136         goto tr95;
2137 st86:
2138         if ( ++p == pe )
2139                 goto _test_eof86;
2140 case 86:
2141         switch( (*p) ) {
2142                 case 45: goto tr98;
2143                 case 61: goto tr98;
2144                 case 95: goto tr98;
2145                 case 126: goto tr98;
2146         }
2147         if ( (*p) < 47 ) {
2148                 if ( (*p) > 40 ) {
2149                         if ( 42 <= (*p) && (*p) <= 43 )
2150                                 goto tr98;
2151                 } else if ( (*p) >= 35 )
2152                         goto tr98;
2153         } else if ( (*p) > 57 ) {
2154                 if ( (*p) > 90 ) {
2155                         if ( 97 <= (*p) && (*p) <= 122 )
2156                                 goto tr98;
2157                 } else if ( (*p) >= 64 )
2158                         goto tr98;
2159         } else
2160                 goto tr98;
2161         goto tr95;
2162 tr98:
2163 #line 1 "wikitext_ragel.rl"
2164         {te = p+1;}
2165         goto st123;
2166 st123:
2167         if ( ++p == pe )
2168                 goto _test_eof123;
2169 case 123:
2170 #line 2171 "wikitext_ragel.c"
2171         switch( (*p) ) {
2172                 case 33: goto st87;
2173                 case 41: goto st87;
2174                 case 44: goto st87;
2175                 case 46: goto st87;
2176                 case 61: goto tr98;
2177                 case 63: goto st87;
2178                 case 95: goto tr98;
2179                 case 126: goto tr98;
2180         }
2181         if ( (*p) < 58 ) {
2182                 if ( 35 <= (*p) && (*p) <= 57 )
2183                         goto tr98;
2184         } else if ( (*p) > 59 ) {
2185                 if ( (*p) > 90 ) {
2186                         if ( 97 <= (*p) && (*p) <= 122 )
2187                                 goto tr98;
2188                 } else if ( (*p) >= 64 )
2189                         goto tr98;
2190         } else
2191                 goto st87;
2192         goto tr178;
2193 st87:
2194         if ( ++p == pe )
2195                 goto _test_eof87;
2196 case 87:
2197         switch( (*p) ) {
2198                 case 33: goto st87;
2199                 case 41: goto st87;
2200                 case 44: goto st87;
2201                 case 46: goto st87;
2202                 case 61: goto tr98;
2203                 case 63: goto st87;
2204                 case 95: goto tr98;
2205                 case 126: goto tr98;
2206         }
2207         if ( (*p) < 58 ) {
2208                 if ( 35 <= (*p) && (*p) <= 57 )
2209                         goto tr98;
2210         } else if ( (*p) > 59 ) {
2211                 if ( (*p) > 90 ) {
2212                         if ( 97 <= (*p) && (*p) <= 122 )
2213                                 goto tr98;
2214                 } else if ( (*p) >= 64 )
2215                         goto tr98;
2216         } else
2217                 goto st87;
2218         goto tr99;
2219 tr129:
2220 #line 1 "wikitext_ragel.rl"
2221         {te = p+1;}
2222 #line 427 "wikitext_ragel.rl"
2223         {act = 43;}
2224         goto st124;
2225 st124:
2226         if ( ++p == pe )
2227                 goto _test_eof124;
2228 case 124:
2229 #line 2230 "wikitext_ragel.c"
2230         switch( (*p) ) {
2231                 case 64: goto st21;
2232                 case 84: goto tr179;
2233                 case 95: goto st20;
2234                 case 116: goto tr179;
2235         }
2236         if ( (*p) < 48 ) {
2237                 if ( 45 <= (*p) && (*p) <= 46 )
2238                         goto st20;
2239         } else if ( (*p) > 57 ) {
2240                 if ( (*p) > 90 ) {
2241                         if ( 97 <= (*p) && (*p) <= 122 )
2242                                 goto tr124;
2243                 } else if ( (*p) >= 65 )
2244                         goto tr124;
2245         } else
2246                 goto tr124;
2247         goto tr162;
2248 tr179:
2249 #line 1 "wikitext_ragel.rl"
2250         {te = p+1;}
2251 #line 427 "wikitext_ragel.rl"
2252         {act = 43;}
2253         goto st125;
2254 st125:
2255         if ( ++p == pe )
2256                 goto _test_eof125;
2257 case 125:
2258 #line 2259 "wikitext_ragel.c"
2259         switch( (*p) ) {
2260                 case 64: goto st21;
2261                 case 84: goto tr180;
2262                 case 95: goto st20;
2263                 case 116: goto tr180;
2264         }
2265         if ( (*p) < 48 ) {
2266                 if ( 45 <= (*p) && (*p) <= 46 )
2267                         goto st20;
2268         } else if ( (*p) > 57 ) {
2269                 if ( (*p) > 90 ) {
2270                         if ( 97 <= (*p) && (*p) <= 122 )
2271                                 goto tr124;
2272                 } else if ( (*p) >= 65 )
2273                         goto tr124;
2274         } else
2275                 goto tr124;
2276         goto tr162;
2277 tr180:
2278 #line 1 "wikitext_ragel.rl"
2279         {te = p+1;}
2280 #line 427 "wikitext_ragel.rl"
2281         {act = 43;}
2282         goto st126;
2283 st126:
2284         if ( ++p == pe )
2285                 goto _test_eof126;
2286 case 126:
2287 #line 2288 "wikitext_ragel.c"
2288         switch( (*p) ) {
2289                 case 64: goto st21;
2290                 case 80: goto tr181;
2291                 case 95: goto st20;
2292                 case 112: goto tr181;
2293         }
2294         if ( (*p) < 48 ) {
2295                 if ( 45 <= (*p) && (*p) <= 46 )
2296                         goto st20;
2297         } else if ( (*p) > 57 ) {
2298                 if ( (*p) > 90 ) {
2299                         if ( 97 <= (*p) && (*p) <= 122 )
2300                                 goto tr124;
2301                 } else if ( (*p) >= 65 )
2302                         goto tr124;
2303         } else
2304                 goto tr124;
2305         goto tr162;
2306 tr181:
2307 #line 1 "wikitext_ragel.rl"
2308         {te = p+1;}
2309 #line 427 "wikitext_ragel.rl"
2310         {act = 43;}
2311         goto st127;
2312 st127:
2313         if ( ++p == pe )
2314                 goto _test_eof127;
2315 case 127:
2316 #line 2317 "wikitext_ragel.c"
2317         switch( (*p) ) {
2318                 case 58: goto st84;
2319                 case 64: goto st21;
2320                 case 83: goto tr176;
2321                 case 95: goto st20;
2322                 case 115: goto tr176;
2323         }
2324         if ( (*p) < 48 ) {
2325                 if ( 45 <= (*p) && (*p) <= 46 )
2326                         goto st20;
2327         } else if ( (*p) > 57 ) {
2328                 if ( (*p) > 90 ) {
2329                         if ( 97 <= (*p) && (*p) <= 122 )
2330                                 goto tr124;
2331                 } else if ( (*p) >= 65 )
2332                         goto tr124;
2333         } else
2334                 goto tr124;
2335         goto tr162;
2336 tr130:
2337 #line 1 "wikitext_ragel.rl"
2338         {te = p+1;}
2339 #line 427 "wikitext_ragel.rl"
2340         {act = 43;}
2341         goto st128;
2342 st128:
2343         if ( ++p == pe )
2344                 goto _test_eof128;
2345 case 128:
2346 #line 2347 "wikitext_ragel.c"
2347         switch( (*p) ) {
2348                 case 64: goto st21;
2349                 case 65: goto tr182;
2350                 case 95: goto st20;
2351                 case 97: goto tr182;
2352         }
2353         if ( (*p) < 48 ) {
2354                 if ( 45 <= (*p) && (*p) <= 46 )
2355                         goto st20;
2356         } else if ( (*p) > 57 ) {
2357                 if ( (*p) > 90 ) {
2358                         if ( 98 <= (*p) && (*p) <= 122 )
2359                                 goto tr124;
2360                 } else if ( (*p) >= 66 )
2361                         goto tr124;
2362         } else
2363                 goto tr124;
2364         goto tr162;
2365 tr182:
2366 #line 1 "wikitext_ragel.rl"
2367         {te = p+1;}
2368 #line 427 "wikitext_ragel.rl"
2369         {act = 43;}
2370         goto st129;
2371 st129:
2372         if ( ++p == pe )
2373                 goto _test_eof129;
2374 case 129:
2375 #line 2376 "wikitext_ragel.c"
2376         switch( (*p) ) {
2377                 case 64: goto st21;
2378                 case 73: goto tr183;
2379                 case 95: goto st20;
2380                 case 105: goto tr183;
2381         }
2382         if ( (*p) < 48 ) {
2383                 if ( 45 <= (*p) && (*p) <= 46 )
2384                         goto st20;
2385         } else if ( (*p) > 57 ) {
2386                 if ( (*p) > 90 ) {
2387                         if ( 97 <= (*p) && (*p) <= 122 )
2388                                 goto tr124;
2389                 } else if ( (*p) >= 65 )
2390                         goto tr124;
2391         } else
2392                 goto tr124;
2393         goto tr162;
2394 tr183:
2395 #line 1 "wikitext_ragel.rl"
2396         {te = p+1;}
2397 #line 427 "wikitext_ragel.rl"
2398         {act = 43;}
2399         goto st130;
2400 st130:
2401         if ( ++p == pe )
2402                 goto _test_eof130;
2403 case 130:
2404 #line 2405 "wikitext_ragel.c"
2405         switch( (*p) ) {
2406                 case 64: goto st21;
2407                 case 76: goto tr184;
2408                 case 95: goto st20;
2409                 case 108: goto tr184;
2410         }
2411         if ( (*p) < 48 ) {
2412                 if ( 45 <= (*p) && (*p) <= 46 )
2413                         goto st20;
2414         } else if ( (*p) > 57 ) {
2415                 if ( (*p) > 90 ) {
2416                         if ( 97 <= (*p) && (*p) <= 122 )
2417                                 goto tr124;
2418                 } else if ( (*p) >= 65 )
2419                         goto tr124;
2420         } else
2421                 goto tr124;
2422         goto tr162;
2423 tr184:
2424 #line 1 "wikitext_ragel.rl"
2425         {te = p+1;}
2426 #line 427 "wikitext_ragel.rl"
2427         {act = 43;}
2428         goto st131;
2429 st131:
2430         if ( ++p == pe )
2431                 goto _test_eof131;
2432 case 131:
2433 #line 2434 "wikitext_ragel.c"
2434         switch( (*p) ) {
2435                 case 64: goto st21;
2436                 case 84: goto tr185;
2437                 case 95: goto st20;
2438                 case 116: goto tr185;
2439         }
2440         if ( (*p) < 48 ) {
2441                 if ( 45 <= (*p) && (*p) <= 46 )
2442                         goto st20;
2443         } else if ( (*p) > 57 ) {
2444                 if ( (*p) > 90 ) {
2445                         if ( 97 <= (*p) && (*p) <= 122 )
2446                                 goto tr124;
2447                 } else if ( (*p) >= 65 )
2448                         goto tr124;
2449         } else
2450                 goto tr124;
2451         goto tr162;
2452 tr185:
2453 #line 1 "wikitext_ragel.rl"
2454         {te = p+1;}
2455 #line 427 "wikitext_ragel.rl"
2456         {act = 43;}
2457         goto st132;
2458 st132:
2459         if ( ++p == pe )
2460                 goto _test_eof132;
2461 case 132:
2462 #line 2463 "wikitext_ragel.c"
2463         switch( (*p) ) {
2464                 case 64: goto st21;
2465                 case 79: goto tr186;
2466                 case 95: goto st20;
2467                 case 111: goto tr186;
2468         }
2469         if ( (*p) < 48 ) {
2470                 if ( 45 <= (*p) && (*p) <= 46 )
2471                         goto st20;
2472         } else if ( (*p) > 57 ) {
2473                 if ( (*p) > 90 ) {
2474                         if ( 97 <= (*p) && (*p) <= 122 )
2475                                 goto tr124;
2476                 } else if ( (*p) >= 65 )
2477                         goto tr124;
2478         } else
2479                 goto tr124;
2480         goto tr162;
2481 tr186:
2482 #line 1 "wikitext_ragel.rl"
2483         {te = p+1;}
2484 #line 427 "wikitext_ragel.rl"
2485         {act = 43;}
2486         goto st133;
2487 st133:
2488         if ( ++p == pe )
2489                 goto _test_eof133;
2490 case 133:
2491 #line 2492 "wikitext_ragel.c"
2492         switch( (*p) ) {
2493                 case 58: goto st88;
2494                 case 64: goto st21;
2495                 case 95: goto st20;
2496         }
2497         if ( (*p) < 48 ) {
2498                 if ( 45 <= (*p) && (*p) <= 46 )
2499                         goto st20;
2500         } else if ( (*p) > 57 ) {
2501                 if ( (*p) > 90 ) {
2502                         if ( 97 <= (*p) && (*p) <= 122 )
2503                                 goto tr124;
2504                 } else if ( (*p) >= 65 )
2505                         goto tr124;
2506         } else
2507                 goto tr124;
2508         goto tr162;
2509 st88:
2510         if ( ++p == pe )
2511                 goto _test_eof88;
2512 case 88:
2513         if ( (*p) == 95 )
2514                 goto st89;
2515         if ( (*p) < 48 ) {
2516                 if ( 45 <= (*p) && (*p) <= 46 )
2517                         goto st89;
2518         } else if ( (*p) > 57 ) {
2519                 if ( (*p) > 90 ) {
2520                         if ( 97 <= (*p) && (*p) <= 122 )
2521                                 goto st89;
2522                 } else if ( (*p) >= 65 )
2523                         goto st89;
2524         } else
2525                 goto st89;
2526         goto tr95;
2527 st89:
2528         if ( ++p == pe )
2529                 goto _test_eof89;
2530 case 89:
2531         switch( (*p) ) {
2532                 case 64: goto st90;
2533                 case 95: goto st89;
2534         }
2535         if ( (*p) < 48 ) {
2536                 if ( 45 <= (*p) && (*p) <= 46 )
2537                         goto st89;
2538         } else if ( (*p) > 57 ) {
2539                 if ( (*p) > 90 ) {
2540                         if ( 97 <= (*p) && (*p) <= 122 )
2541                                 goto st89;
2542                 } else if ( (*p) >= 65 )
2543                         goto st89;
2544         } else
2545                 goto st89;
2546         goto tr95;
2547 st90:
2548         if ( ++p == pe )
2549                 goto _test_eof90;
2550 case 90:
2551         if ( (*p) < 65 ) {
2552                 if ( 48 <= (*p) && (*p) <= 57 )
2553                         goto st91;
2554         } else if ( (*p) > 90 ) {
2555                 if ( 97 <= (*p) && (*p) <= 122 )
2556                         goto st91;
2557         } else
2558                 goto st91;
2559         goto tr95;
2560 st91:
2561         if ( ++p == pe )
2562                 goto _test_eof91;
2563 case 91:
2564         if ( (*p) == 46 )
2565                 goto st92;
2566         if ( (*p) < 65 ) {
2567                 if ( 48 <= (*p) && (*p) <= 57 )
2568                         goto st91;
2569         } else if ( (*p) > 90 ) {
2570                 if ( 97 <= (*p) && (*p) <= 122 )
2571                         goto st91;
2572         } else
2573                 goto st91;
2574         goto tr23;
2575 st92:
2576         if ( ++p == pe )
2577                 goto _test_eof92;
2578 case 92:
2579         if ( (*p) < 65 ) {
2580                 if ( 48 <= (*p) && (*p) <= 57 )
2581                         goto st91;
2582         } else if ( (*p) > 90 ) {
2583                 if ( 97 <= (*p) && (*p) <= 122 )
2584                         goto st93;
2585         } else
2586                 goto st93;
2587         goto tr23;
2588 st93:
2589         if ( ++p == pe )
2590                 goto _test_eof93;
2591 case 93:
2592         if ( (*p) == 46 )
2593                 goto st92;
2594         if ( (*p) < 65 ) {
2595                 if ( 48 <= (*p) && (*p) <= 57 )
2596                         goto st91;
2597         } else if ( (*p) > 90 ) {
2598                 if ( 97 <= (*p) && (*p) <= 122 )
2599                         goto tr106;
2600         } else
2601                 goto tr106;
2602         goto tr23;
2603 tr106:
2604 #line 1 "wikitext_ragel.rl"
2605         {te = p+1;}
2606 #line 282 "wikitext_ragel.rl"
2607         {act = 20;}
2608         goto st134;
2609 st134:
2610         if ( ++p == pe )
2611                 goto _test_eof134;
2612 case 134:
2613 #line 2614 "wikitext_ragel.c"
2614         if ( (*p) == 46 )
2615                 goto st92;
2616         if ( (*p) < 65 ) {
2617                 if ( 48 <= (*p) && (*p) <= 57 )
2618                         goto st91;
2619         } else if ( (*p) > 90 ) {
2620                 if ( 97 <= (*p) && (*p) <= 122 )
2621                         goto tr188;
2622         } else
2623                 goto tr188;
2624         goto tr178;
2625 tr188:
2626 #line 1 "wikitext_ragel.rl"
2627         {te = p+1;}
2628 #line 282 "wikitext_ragel.rl"
2629         {act = 20;}
2630         goto st135;
2631 st135:
2632         if ( ++p == pe )
2633                 goto _test_eof135;
2634 case 135:
2635 #line 2636 "wikitext_ragel.c"
2636         if ( (*p) == 46 )
2637                 goto st92;
2638         if ( (*p) < 65 ) {
2639                 if ( 48 <= (*p) && (*p) <= 57 )
2640                         goto st91;
2641         } else if ( (*p) > 90 ) {
2642                 if ( 97 <= (*p) && (*p) <= 122 )
2643                         goto tr189;
2644         } else
2645                 goto tr189;
2646         goto tr178;
2647 tr189:
2648 #line 1 "wikitext_ragel.rl"
2649         {te = p+1;}
2650 #line 282 "wikitext_ragel.rl"
2651         {act = 20;}
2652         goto st136;
2653 st136:
2654         if ( ++p == pe )
2655                 goto _test_eof136;
2656 case 136:
2657 #line 2658 "wikitext_ragel.c"
2658         if ( (*p) == 46 )
2659                 goto st92;
2660         if ( (*p) < 65 ) {
2661                 if ( 48 <= (*p) && (*p) <= 57 )
2662                         goto st91;
2663         } else if ( (*p) > 90 ) {
2664                 if ( 97 <= (*p) && (*p) <= 122 )
2665                         goto tr190;
2666         } else
2667                 goto tr190;
2668         goto tr178;
2669 tr190:
2670 #line 1 "wikitext_ragel.rl"
2671         {te = p+1;}
2672 #line 282 "wikitext_ragel.rl"
2673         {act = 20;}
2674         goto st137;
2675 st137:
2676         if ( ++p == pe )
2677                 goto _test_eof137;
2678 case 137:
2679 #line 2680 "wikitext_ragel.c"
2680         if ( (*p) == 46 )
2681                 goto st92;
2682         if ( (*p) < 65 ) {
2683                 if ( 48 <= (*p) && (*p) <= 57 )
2684                         goto st91;
2685         } else if ( (*p) > 90 ) {
2686                 if ( 97 <= (*p) && (*p) <= 122 )
2687                         goto st91;
2688         } else
2689                 goto st91;
2690         goto tr178;
2691 tr131:
2692 #line 1 "wikitext_ragel.rl"
2693         {te = p+1;}
2694 #line 427 "wikitext_ragel.rl"
2695         {act = 43;}
2696         goto st138;
2697 st138:
2698         if ( ++p == pe )
2699                 goto _test_eof138;
2700 case 138:
2701 #line 2702 "wikitext_ragel.c"
2702         switch( (*p) ) {
2703                 case 64: goto st21;
2704                 case 86: goto tr191;
2705                 case 95: goto st20;
2706                 case 118: goto tr191;
2707         }
2708         if ( (*p) < 48 ) {
2709                 if ( 45 <= (*p) && (*p) <= 46 )
2710                         goto st20;
2711         } else if ( (*p) > 57 ) {
2712                 if ( (*p) > 90 ) {
2713                         if ( 97 <= (*p) && (*p) <= 122 )
2714                                 goto tr124;
2715                 } else if ( (*p) >= 65 )
2716                         goto tr124;
2717         } else
2718                 goto tr124;
2719         goto tr162;
2720 tr191:
2721 #line 1 "wikitext_ragel.rl"
2722         {te = p+1;}
2723 #line 427 "wikitext_ragel.rl"
2724         {act = 43;}
2725         goto st139;
2726 st139:
2727         if ( ++p == pe )
2728                 goto _test_eof139;
2729 case 139:
2730 #line 2731 "wikitext_ragel.c"
2731         switch( (*p) ) {
2732                 case 64: goto st21;
2733                 case 78: goto tr176;
2734                 case 95: goto st20;
2735                 case 110: goto tr176;
2736         }
2737         if ( (*p) < 48 ) {
2738                 if ( 45 <= (*p) && (*p) <= 46 )
2739                         goto st20;
2740         } else if ( (*p) > 57 ) {
2741                 if ( (*p) > 90 ) {
2742                         if ( 97 <= (*p) && (*p) <= 122 )
2743                                 goto tr124;
2744                 } else if ( (*p) >= 65 )
2745                         goto tr124;
2746         } else
2747                 goto tr124;
2748         goto tr162;
2749 st140:
2750         if ( ++p == pe )
2751                 goto _test_eof140;
2752 case 140:
2753         if ( (*p) == 91 )
2754                 goto tr193;
2755         goto tr192;
2756 st141:
2757         if ( ++p == pe )
2758                 goto _test_eof141;
2759 case 141:
2760         if ( (*p) == 93 )
2761                 goto tr195;
2762         goto tr194;
2763 st142:
2764         if ( ++p == pe )
2765                 goto _test_eof142;
2766 case 142:
2767         if ( (*p) == 123 )
2768                 goto tr197;
2769         goto tr196;
2770 st143:
2771         if ( ++p == pe )
2772                 goto _test_eof143;
2773 case 143:
2774         if ( (*p) == 125 )
2775                 goto tr199;
2776         goto tr198;
2777         }
2778         _test_eof94: cs = 94; goto _test_eof; 
2779         _test_eof1: cs = 1; goto _test_eof; 
2780         _test_eof2: cs = 2; goto _test_eof; 
2781         _test_eof3: cs = 3; goto _test_eof; 
2782         _test_eof4: cs = 4; goto _test_eof; 
2783         _test_eof5: cs = 5; goto _test_eof; 
2784         _test_eof6: cs = 6; goto _test_eof; 
2785         _test_eof95: cs = 95; goto _test_eof; 
2786         _test_eof96: cs = 96; goto _test_eof; 
2787         _test_eof97: cs = 97; goto _test_eof; 
2788         _test_eof98: cs = 98; goto _test_eof; 
2789         _test_eof99: cs = 99; goto _test_eof; 
2790         _test_eof7: cs = 7; goto _test_eof; 
2791         _test_eof8: cs = 8; goto _test_eof; 
2792         _test_eof9: cs = 9; goto _test_eof; 
2793         _test_eof10: cs = 10; goto _test_eof; 
2794         _test_eof11: cs = 11; goto _test_eof; 
2795         _test_eof12: cs = 12; goto _test_eof; 
2796         _test_eof13: cs = 13; goto _test_eof; 
2797         _test_eof14: cs = 14; goto _test_eof; 
2798         _test_eof15: cs = 15; goto _test_eof; 
2799         _test_eof16: cs = 16; goto _test_eof; 
2800         _test_eof17: cs = 17; goto _test_eof; 
2801         _test_eof18: cs = 18; goto _test_eof; 
2802         _test_eof19: cs = 19; goto _test_eof; 
2803         _test_eof100: cs = 100; goto _test_eof; 
2804         _test_eof101: cs = 101; goto _test_eof; 
2805         _test_eof102: cs = 102; goto _test_eof; 
2806         _test_eof103: cs = 103; goto _test_eof; 
2807         _test_eof104: cs = 104; goto _test_eof; 
2808         _test_eof20: cs = 20; goto _test_eof; 
2809         _test_eof21: cs = 21; goto _test_eof; 
2810         _test_eof22: cs = 22; goto _test_eof; 
2811         _test_eof23: cs = 23; goto _test_eof; 
2812         _test_eof24: cs = 24; goto _test_eof; 
2813         _test_eof105: cs = 105; goto _test_eof; 
2814         _test_eof106: cs = 106; goto _test_eof; 
2815         _test_eof107: cs = 107; goto _test_eof; 
2816         _test_eof108: cs = 108; goto _test_eof; 
2817         _test_eof109: cs = 109; goto _test_eof; 
2818         _test_eof110: cs = 110; goto _test_eof; 
2819         _test_eof111: cs = 111; goto _test_eof; 
2820         _test_eof112: cs = 112; goto _test_eof; 
2821         _test_eof113: cs = 113; goto _test_eof; 
2822         _test_eof114: cs = 114; goto _test_eof; 
2823         _test_eof115: cs = 115; goto _test_eof; 
2824         _test_eof116: cs = 116; goto _test_eof; 
2825         _test_eof25: cs = 25; goto _test_eof; 
2826         _test_eof26: cs = 26; goto _test_eof; 
2827         _test_eof27: cs = 27; goto _test_eof; 
2828         _test_eof28: cs = 28; goto _test_eof; 
2829         _test_eof29: cs = 29; goto _test_eof; 
2830         _test_eof30: cs = 30; goto _test_eof; 
2831         _test_eof31: cs = 31; goto _test_eof; 
2832         _test_eof32: cs = 32; goto _test_eof; 
2833         _test_eof33: cs = 33; goto _test_eof; 
2834         _test_eof34: cs = 34; goto _test_eof; 
2835         _test_eof35: cs = 35; goto _test_eof; 
2836         _test_eof36: cs = 36; goto _test_eof; 
2837         _test_eof37: cs = 37; goto _test_eof; 
2838         _test_eof38: cs = 38; goto _test_eof; 
2839         _test_eof39: cs = 39; goto _test_eof; 
2840         _test_eof40: cs = 40; goto _test_eof; 
2841         _test_eof41: cs = 41; goto _test_eof; 
2842         _test_eof42: cs = 42; goto _test_eof; 
2843         _test_eof43: cs = 43; goto _test_eof; 
2844         _test_eof44: cs = 44; goto _test_eof; 
2845         _test_eof45: cs = 45; goto _test_eof; 
2846         _test_eof46: cs = 46; goto _test_eof; 
2847         _test_eof47: cs = 47; goto _test_eof; 
2848         _test_eof48: cs = 48; goto _test_eof; 
2849         _test_eof49: cs = 49; goto _test_eof; 
2850         _test_eof50: cs = 50; goto _test_eof; 
2851         _test_eof51: cs = 51; goto _test_eof; 
2852         _test_eof52: cs = 52; goto _test_eof; 
2853         _test_eof53: cs = 53; goto _test_eof; 
2854         _test_eof54: cs = 54; goto _test_eof; 
2855         _test_eof55: cs = 55; goto _test_eof; 
2856         _test_eof56: cs = 56; goto _test_eof; 
2857         _test_eof57: cs = 57; goto _test_eof; 
2858         _test_eof58: cs = 58; goto _test_eof; 
2859         _test_eof59: cs = 59; goto _test_eof; 
2860         _test_eof60: cs = 60; goto _test_eof; 
2861         _test_eof61: cs = 61; goto _test_eof; 
2862         _test_eof62: cs = 62; goto _test_eof; 
2863         _test_eof63: cs = 63; goto _test_eof; 
2864         _test_eof64: cs = 64; goto _test_eof; 
2865         _test_eof65: cs = 65; goto _test_eof; 
2866         _test_eof66: cs = 66; goto _test_eof; 
2867         _test_eof67: cs = 67; goto _test_eof; 
2868         _test_eof68: cs = 68; goto _test_eof; 
2869         _test_eof69: cs = 69; goto _test_eof; 
2870         _test_eof70: cs = 70; goto _test_eof; 
2871         _test_eof71: cs = 71; goto _test_eof; 
2872         _test_eof72: cs = 72; goto _test_eof; 
2873         _test_eof73: cs = 73; goto _test_eof; 
2874         _test_eof74: cs = 74; goto _test_eof; 
2875         _test_eof75: cs = 75; goto _test_eof; 
2876         _test_eof76: cs = 76; goto _test_eof; 
2877         _test_eof77: cs = 77; goto _test_eof; 
2878         _test_eof78: cs = 78; goto _test_eof; 
2879         _test_eof79: cs = 79; goto _test_eof; 
2880         _test_eof80: cs = 80; goto _test_eof; 
2881         _test_eof81: cs = 81; goto _test_eof; 
2882         _test_eof82: cs = 82; goto _test_eof; 
2883         _test_eof83: cs = 83; goto _test_eof; 
2884         _test_eof117: cs = 117; goto _test_eof; 
2885         _test_eof118: cs = 118; goto _test_eof; 
2886         _test_eof119: cs = 119; goto _test_eof; 
2887         _test_eof120: cs = 120; goto _test_eof; 
2888         _test_eof121: cs = 121; goto _test_eof; 
2889         _test_eof122: cs = 122; goto _test_eof; 
2890         _test_eof84: cs = 84; goto _test_eof; 
2891         _test_eof85: cs = 85; goto _test_eof; 
2892         _test_eof86: cs = 86; goto _test_eof; 
2893         _test_eof123: cs = 123; goto _test_eof; 
2894         _test_eof87: cs = 87; goto _test_eof; 
2895         _test_eof124: cs = 124; goto _test_eof; 
2896         _test_eof125: cs = 125; goto _test_eof; 
2897         _test_eof126: cs = 126; goto _test_eof; 
2898         _test_eof127: cs = 127; goto _test_eof; 
2899         _test_eof128: cs = 128; goto _test_eof; 
2900         _test_eof129: cs = 129; goto _test_eof; 
2901         _test_eof130: cs = 130; goto _test_eof; 
2902         _test_eof131: cs = 131; goto _test_eof; 
2903         _test_eof132: cs = 132; goto _test_eof; 
2904         _test_eof133: cs = 133; goto _test_eof; 
2905         _test_eof88: cs = 88; goto _test_eof; 
2906         _test_eof89: cs = 89; goto _test_eof; 
2907         _test_eof90: cs = 90; goto _test_eof; 
2908         _test_eof91: cs = 91; goto _test_eof; 
2909         _test_eof92: cs = 92; goto _test_eof; 
2910         _test_eof93: cs = 93; goto _test_eof; 
2911         _test_eof134: cs = 134; goto _test_eof; 
2912         _test_eof135: cs = 135; goto _test_eof; 
2913         _test_eof136: cs = 136; goto _test_eof; 
2914         _test_eof137: cs = 137; goto _test_eof; 
2915         _test_eof138: cs = 138; goto _test_eof; 
2916         _test_eof139: cs = 139; goto _test_eof; 
2917         _test_eof140: cs = 140; goto _test_eof; 
2918         _test_eof141: cs = 141; goto _test_eof; 
2919         _test_eof142: cs = 142; goto _test_eof; 
2920         _test_eof143: cs = 143; goto _test_eof; 
2921
2922         _test_eof: {}
2923         if ( p == eof )
2924         {
2925         switch ( cs ) {
2926         case 95: goto tr138;
2927         case 96: goto tr140;
2928         case 97: goto tr142;
2929         case 98: goto tr143;
2930         case 99: goto tr144;
2931         case 7: goto tr7;
2932         case 8: goto tr7;
2933         case 9: goto tr7;
2934         case 10: goto tr7;
2935         case 11: goto tr7;
2936         case 12: goto tr7;
2937         case 13: goto tr7;
2938         case 14: goto tr7;
2939         case 15: goto tr7;
2940         case 16: goto tr7;
2941         case 17: goto tr7;
2942         case 18: goto tr7;
2943         case 19: goto tr7;
2944         case 100: goto tr148;
2945         case 101: goto tr148;
2946         case 102: goto tr148;
2947         case 103: goto tr148;
2948         case 104: goto tr143;
2949         case 20: goto tr23;
2950         case 21: goto tr23;
2951         case 22: goto tr23;
2952         case 23: goto tr23;
2953         case 24: goto tr23;
2954         case 105: goto tr154;
2955         case 106: goto tr154;
2956         case 107: goto tr154;
2957         case 108: goto tr154;
2958         case 109: goto tr143;
2959         case 110: goto tr142;
2960         case 111: goto tr158;
2961         case 112: goto tr158;
2962         case 113: goto tr158;
2963         case 114: goto tr158;
2964         case 115: goto tr162;
2965         case 116: goto tr163;
2966         case 25: goto tr30;
2967         case 26: goto tr30;
2968         case 27: goto tr30;
2969         case 28: goto tr30;
2970         case 29: goto tr30;
2971         case 30: goto tr30;
2972         case 31: goto tr30;
2973         case 32: goto tr30;
2974         case 33: goto tr30;
2975         case 34: goto tr30;
2976         case 35: goto tr30;
2977         case 36: goto tr30;
2978         case 37: goto tr30;
2979         case 38: goto tr30;
2980         case 39: goto tr30;
2981         case 40: goto tr30;
2982         case 41: goto tr30;
2983         case 42: goto tr30;
2984         case 43: goto tr30;
2985         case 44: goto tr30;
2986         case 45: goto tr30;
2987         case 46: goto tr30;
2988         case 47: goto tr30;
2989         case 48: goto tr30;
2990         case 49: goto tr30;
2991         case 50: goto tr30;
2992         case 51: goto tr30;
2993         case 52: goto tr30;
2994         case 53: goto tr30;
2995         case 54: goto tr30;
2996         case 55: goto tr30;
2997         case 56: goto tr30;
2998         case 57: goto tr30;
2999         case 58: goto tr30;
3000         case 59: goto tr30;
3001         case 60: goto tr30;
3002         case 61: goto tr30;
3003         case 62: goto tr30;
3004         case 63: goto tr30;
3005         case 64: goto tr30;
3006         case 65: goto tr30;
3007         case 66: goto tr30;
3008         case 67: goto tr30;
3009         case 68: goto tr30;
3010         case 69: goto tr30;
3011         case 70: goto tr30;
3012         case 71: goto tr30;
3013         case 72: goto tr30;
3014         case 73: goto tr30;
3015         case 74: goto tr30;
3016         case 75: goto tr30;
3017         case 76: goto tr30;
3018         case 77: goto tr30;
3019         case 78: goto tr30;
3020         case 79: goto tr30;
3021         case 80: goto tr30;
3022         case 81: goto tr30;
3023         case 82: goto tr30;
3024         case 83: goto tr30;
3025         case 117: goto tr171;
3026         case 118: goto tr171;
3027         case 119: goto tr173;
3028         case 120: goto tr162;
3029         case 121: goto tr162;
3030         case 122: goto tr162;
3031         case 84: goto tr95;
3032         case 85: goto tr95;
3033         case 86: goto tr95;
3034         case 123: goto tr178;
3035         case 87: goto tr99;
3036         case 124: goto tr162;
3037         case 125: goto tr162;
3038         case 126: goto tr162;
3039         case 127: goto tr162;
3040         case 128: goto tr162;
3041         case 129: goto tr162;
3042         case 130: goto tr162;
3043         case 131: goto tr162;
3044         case 132: goto tr162;
3045         case 133: goto tr162;
3046         case 88: goto tr95;
3047         case 89: goto tr95;
3048         case 90: goto tr95;
3049         case 91: goto tr23;
3050         case 92: goto tr23;
3051         case 93: goto tr23;
3052         case 134: goto tr178;
3053         case 135: goto tr178;
3054         case 136: goto tr178;
3055         case 137: goto tr178;
3056         case 138: goto tr162;
3057         case 139: goto tr162;
3058         case 140: goto tr192;
3059         case 141: goto tr194;
3060         case 142: goto tr196;
3061         case 143: goto tr198;
3062         }
3063         }
3064
3065         _out: {}
3066         }
3067
3068 #line 511 "wikitext_ragel.rl"
3069     if (cs == wikitext_error)
3070         rb_raise(eWikitextParserError, "failed before finding a token");
3071     else if (out->type == NO_TOKEN)
3072         rb_raise(eWikitextParserError, "failed to produce a token");
3073 }