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