1 /* Generated by re2c 1.1.1 */
2 #include <stdlib.h>
3 #include "chunk.h"
4 #include "scanners.h"
5 
_scan_at(bufsize_t (* scanner)(const unsigned char *),cmark_chunk * c,bufsize_t offset)6 bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, bufsize_t offset)
7 {
8 	bufsize_t res;
9 	unsigned char *ptr = (unsigned char *)c->data;
10 
11         if (ptr == NULL || offset > c->len) {
12           return 0;
13         } else {
14 	  unsigned char lim = ptr[c->len];
15 
16 	  ptr[c->len] = '\0';
17 	  res = scanner(ptr + offset);
18 	  ptr[c->len] = lim;
19         }
20 
21 	return res;
22 }
23 
24 
25 
26 // Try to match a scheme including colon.
_scan_scheme(const unsigned char * p)27 bufsize_t _scan_scheme(const unsigned char *p)
28 {
29   const unsigned char *marker = NULL;
30   const unsigned char *start = p;
31 
32 {
33 	unsigned char yych;
34 	yych = *p;
35 	if (yych <= '@') goto yy2;
36 	if (yych <= 'Z') goto yy4;
37 	if (yych <= '`') goto yy2;
38 	if (yych <= 'z') goto yy4;
39 yy2:
40 	++p;
41 yy3:
42 	{ return 0; }
43 yy4:
44 	yych = *(marker = ++p);
45 	if (yych <= '/') {
46 		if (yych <= '+') {
47 			if (yych <= '*') goto yy3;
48 		} else {
49 			if (yych <= ',') goto yy3;
50 			if (yych >= '/') goto yy3;
51 		}
52 	} else {
53 		if (yych <= 'Z') {
54 			if (yych <= '9') goto yy5;
55 			if (yych <= '@') goto yy3;
56 		} else {
57 			if (yych <= '`') goto yy3;
58 			if (yych >= '{') goto yy3;
59 		}
60 	}
61 yy5:
62 	yych = *++p;
63 	if (yych <= '9') {
64 		if (yych <= ',') {
65 			if (yych == '+') goto yy7;
66 		} else {
67 			if (yych != '/') goto yy7;
68 		}
69 	} else {
70 		if (yych <= 'Z') {
71 			if (yych <= ':') goto yy8;
72 			if (yych >= 'A') goto yy7;
73 		} else {
74 			if (yych <= '`') goto yy6;
75 			if (yych <= 'z') goto yy7;
76 		}
77 	}
78 yy6:
79 	p = marker;
80 	goto yy3;
81 yy7:
82 	yych = *++p;
83 	if (yych <= '9') {
84 		if (yych <= ',') {
85 			if (yych == '+') goto yy10;
86 			goto yy6;
87 		} else {
88 			if (yych == '/') goto yy6;
89 			goto yy10;
90 		}
91 	} else {
92 		if (yych <= 'Z') {
93 			if (yych <= ':') goto yy8;
94 			if (yych <= '@') goto yy6;
95 			goto yy10;
96 		} else {
97 			if (yych <= '`') goto yy6;
98 			if (yych <= 'z') goto yy10;
99 			goto yy6;
100 		}
101 	}
102 yy8:
103 	++p;
104 	{ return (bufsize_t)(p - start); }
105 yy10:
106 	yych = *++p;
107 	if (yych <= '9') {
108 		if (yych <= ',') {
109 			if (yych != '+') goto yy6;
110 		} else {
111 			if (yych == '/') goto yy6;
112 		}
113 	} else {
114 		if (yych <= 'Z') {
115 			if (yych <= ':') goto yy8;
116 			if (yych <= '@') goto yy6;
117 		} else {
118 			if (yych <= '`') goto yy6;
119 			if (yych >= '{') goto yy6;
120 		}
121 	}
122 	yych = *++p;
123 	if (yych <= '9') {
124 		if (yych <= ',') {
125 			if (yych != '+') goto yy6;
126 		} else {
127 			if (yych == '/') goto yy6;
128 		}
129 	} else {
130 		if (yych <= 'Z') {
131 			if (yych <= ':') goto yy8;
132 			if (yych <= '@') goto yy6;
133 		} else {
134 			if (yych <= '`') goto yy6;
135 			if (yych >= '{') goto yy6;
136 		}
137 	}
138 	yych = *++p;
139 	if (yych <= '9') {
140 		if (yych <= ',') {
141 			if (yych != '+') goto yy6;
142 		} else {
143 			if (yych == '/') goto yy6;
144 		}
145 	} else {
146 		if (yych <= 'Z') {
147 			if (yych <= ':') goto yy8;
148 			if (yych <= '@') goto yy6;
149 		} else {
150 			if (yych <= '`') goto yy6;
151 			if (yych >= '{') goto yy6;
152 		}
153 	}
154 	yych = *++p;
155 	if (yych <= '9') {
156 		if (yych <= ',') {
157 			if (yych != '+') goto yy6;
158 		} else {
159 			if (yych == '/') goto yy6;
160 		}
161 	} else {
162 		if (yych <= 'Z') {
163 			if (yych <= ':') goto yy8;
164 			if (yych <= '@') goto yy6;
165 		} else {
166 			if (yych <= '`') goto yy6;
167 			if (yych >= '{') goto yy6;
168 		}
169 	}
170 	yych = *++p;
171 	if (yych <= '9') {
172 		if (yych <= ',') {
173 			if (yych != '+') goto yy6;
174 		} else {
175 			if (yych == '/') goto yy6;
176 		}
177 	} else {
178 		if (yych <= 'Z') {
179 			if (yych <= ':') goto yy8;
180 			if (yych <= '@') goto yy6;
181 		} else {
182 			if (yych <= '`') goto yy6;
183 			if (yych >= '{') goto yy6;
184 		}
185 	}
186 	yych = *++p;
187 	if (yych <= '9') {
188 		if (yych <= ',') {
189 			if (yych != '+') goto yy6;
190 		} else {
191 			if (yych == '/') goto yy6;
192 		}
193 	} else {
194 		if (yych <= 'Z') {
195 			if (yych <= ':') goto yy8;
196 			if (yych <= '@') goto yy6;
197 		} else {
198 			if (yych <= '`') goto yy6;
199 			if (yych >= '{') goto yy6;
200 		}
201 	}
202 	yych = *++p;
203 	if (yych <= '9') {
204 		if (yych <= ',') {
205 			if (yych != '+') goto yy6;
206 		} else {
207 			if (yych == '/') goto yy6;
208 		}
209 	} else {
210 		if (yych <= 'Z') {
211 			if (yych <= ':') goto yy8;
212 			if (yych <= '@') goto yy6;
213 		} else {
214 			if (yych <= '`') goto yy6;
215 			if (yych >= '{') goto yy6;
216 		}
217 	}
218 	yych = *++p;
219 	if (yych <= '9') {
220 		if (yych <= ',') {
221 			if (yych != '+') goto yy6;
222 		} else {
223 			if (yych == '/') goto yy6;
224 		}
225 	} else {
226 		if (yych <= 'Z') {
227 			if (yych <= ':') goto yy8;
228 			if (yych <= '@') goto yy6;
229 		} else {
230 			if (yych <= '`') goto yy6;
231 			if (yych >= '{') goto yy6;
232 		}
233 	}
234 	yych = *++p;
235 	if (yych <= '9') {
236 		if (yych <= ',') {
237 			if (yych != '+') goto yy6;
238 		} else {
239 			if (yych == '/') goto yy6;
240 		}
241 	} else {
242 		if (yych <= 'Z') {
243 			if (yych <= ':') goto yy8;
244 			if (yych <= '@') goto yy6;
245 		} else {
246 			if (yych <= '`') goto yy6;
247 			if (yych >= '{') goto yy6;
248 		}
249 	}
250 	yych = *++p;
251 	if (yych <= '9') {
252 		if (yych <= ',') {
253 			if (yych != '+') goto yy6;
254 		} else {
255 			if (yych == '/') goto yy6;
256 		}
257 	} else {
258 		if (yych <= 'Z') {
259 			if (yych <= ':') goto yy8;
260 			if (yych <= '@') goto yy6;
261 		} else {
262 			if (yych <= '`') goto yy6;
263 			if (yych >= '{') goto yy6;
264 		}
265 	}
266 	yych = *++p;
267 	if (yych <= '9') {
268 		if (yych <= ',') {
269 			if (yych != '+') goto yy6;
270 		} else {
271 			if (yych == '/') goto yy6;
272 		}
273 	} else {
274 		if (yych <= 'Z') {
275 			if (yych <= ':') goto yy8;
276 			if (yych <= '@') goto yy6;
277 		} else {
278 			if (yych <= '`') goto yy6;
279 			if (yych >= '{') goto yy6;
280 		}
281 	}
282 	yych = *++p;
283 	if (yych <= '9') {
284 		if (yych <= ',') {
285 			if (yych != '+') goto yy6;
286 		} else {
287 			if (yych == '/') goto yy6;
288 		}
289 	} else {
290 		if (yych <= 'Z') {
291 			if (yych <= ':') goto yy8;
292 			if (yych <= '@') goto yy6;
293 		} else {
294 			if (yych <= '`') goto yy6;
295 			if (yych >= '{') goto yy6;
296 		}
297 	}
298 	yych = *++p;
299 	if (yych <= '9') {
300 		if (yych <= ',') {
301 			if (yych != '+') goto yy6;
302 		} else {
303 			if (yych == '/') goto yy6;
304 		}
305 	} else {
306 		if (yych <= 'Z') {
307 			if (yych <= ':') goto yy8;
308 			if (yych <= '@') goto yy6;
309 		} else {
310 			if (yych <= '`') goto yy6;
311 			if (yych >= '{') goto yy6;
312 		}
313 	}
314 	yych = *++p;
315 	if (yych <= '9') {
316 		if (yych <= ',') {
317 			if (yych != '+') goto yy6;
318 		} else {
319 			if (yych == '/') goto yy6;
320 		}
321 	} else {
322 		if (yych <= 'Z') {
323 			if (yych <= ':') goto yy8;
324 			if (yych <= '@') goto yy6;
325 		} else {
326 			if (yych <= '`') goto yy6;
327 			if (yych >= '{') goto yy6;
328 		}
329 	}
330 	yych = *++p;
331 	if (yych <= '9') {
332 		if (yych <= ',') {
333 			if (yych != '+') goto yy6;
334 		} else {
335 			if (yych == '/') goto yy6;
336 		}
337 	} else {
338 		if (yych <= 'Z') {
339 			if (yych <= ':') goto yy8;
340 			if (yych <= '@') goto yy6;
341 		} else {
342 			if (yych <= '`') goto yy6;
343 			if (yych >= '{') goto yy6;
344 		}
345 	}
346 	yych = *++p;
347 	if (yych <= '9') {
348 		if (yych <= ',') {
349 			if (yych != '+') goto yy6;
350 		} else {
351 			if (yych == '/') goto yy6;
352 		}
353 	} else {
354 		if (yych <= 'Z') {
355 			if (yych <= ':') goto yy8;
356 			if (yych <= '@') goto yy6;
357 		} else {
358 			if (yych <= '`') goto yy6;
359 			if (yych >= '{') goto yy6;
360 		}
361 	}
362 	yych = *++p;
363 	if (yych <= '9') {
364 		if (yych <= ',') {
365 			if (yych != '+') goto yy6;
366 		} else {
367 			if (yych == '/') goto yy6;
368 		}
369 	} else {
370 		if (yych <= 'Z') {
371 			if (yych <= ':') goto yy8;
372 			if (yych <= '@') goto yy6;
373 		} else {
374 			if (yych <= '`') goto yy6;
375 			if (yych >= '{') goto yy6;
376 		}
377 	}
378 	yych = *++p;
379 	if (yych <= '9') {
380 		if (yych <= ',') {
381 			if (yych != '+') goto yy6;
382 		} else {
383 			if (yych == '/') goto yy6;
384 		}
385 	} else {
386 		if (yych <= 'Z') {
387 			if (yych <= ':') goto yy8;
388 			if (yych <= '@') goto yy6;
389 		} else {
390 			if (yych <= '`') goto yy6;
391 			if (yych >= '{') goto yy6;
392 		}
393 	}
394 	yych = *++p;
395 	if (yych <= '9') {
396 		if (yych <= ',') {
397 			if (yych != '+') goto yy6;
398 		} else {
399 			if (yych == '/') goto yy6;
400 		}
401 	} else {
402 		if (yych <= 'Z') {
403 			if (yych <= ':') goto yy8;
404 			if (yych <= '@') goto yy6;
405 		} else {
406 			if (yych <= '`') goto yy6;
407 			if (yych >= '{') goto yy6;
408 		}
409 	}
410 	yych = *++p;
411 	if (yych <= '9') {
412 		if (yych <= ',') {
413 			if (yych != '+') goto yy6;
414 		} else {
415 			if (yych == '/') goto yy6;
416 		}
417 	} else {
418 		if (yych <= 'Z') {
419 			if (yych <= ':') goto yy8;
420 			if (yych <= '@') goto yy6;
421 		} else {
422 			if (yych <= '`') goto yy6;
423 			if (yych >= '{') goto yy6;
424 		}
425 	}
426 	yych = *++p;
427 	if (yych <= '9') {
428 		if (yych <= ',') {
429 			if (yych != '+') goto yy6;
430 		} else {
431 			if (yych == '/') goto yy6;
432 		}
433 	} else {
434 		if (yych <= 'Z') {
435 			if (yych <= ':') goto yy8;
436 			if (yych <= '@') goto yy6;
437 		} else {
438 			if (yych <= '`') goto yy6;
439 			if (yych >= '{') goto yy6;
440 		}
441 	}
442 	yych = *++p;
443 	if (yych <= '9') {
444 		if (yych <= ',') {
445 			if (yych != '+') goto yy6;
446 		} else {
447 			if (yych == '/') goto yy6;
448 		}
449 	} else {
450 		if (yych <= 'Z') {
451 			if (yych <= ':') goto yy8;
452 			if (yych <= '@') goto yy6;
453 		} else {
454 			if (yych <= '`') goto yy6;
455 			if (yych >= '{') goto yy6;
456 		}
457 	}
458 	yych = *++p;
459 	if (yych <= '9') {
460 		if (yych <= ',') {
461 			if (yych != '+') goto yy6;
462 		} else {
463 			if (yych == '/') goto yy6;
464 		}
465 	} else {
466 		if (yych <= 'Z') {
467 			if (yych <= ':') goto yy8;
468 			if (yych <= '@') goto yy6;
469 		} else {
470 			if (yych <= '`') goto yy6;
471 			if (yych >= '{') goto yy6;
472 		}
473 	}
474 	yych = *++p;
475 	if (yych <= '9') {
476 		if (yych <= ',') {
477 			if (yych != '+') goto yy6;
478 		} else {
479 			if (yych == '/') goto yy6;
480 		}
481 	} else {
482 		if (yych <= 'Z') {
483 			if (yych <= ':') goto yy8;
484 			if (yych <= '@') goto yy6;
485 		} else {
486 			if (yych <= '`') goto yy6;
487 			if (yych >= '{') goto yy6;
488 		}
489 	}
490 	yych = *++p;
491 	if (yych <= '9') {
492 		if (yych <= ',') {
493 			if (yych != '+') goto yy6;
494 		} else {
495 			if (yych == '/') goto yy6;
496 		}
497 	} else {
498 		if (yych <= 'Z') {
499 			if (yych <= ':') goto yy8;
500 			if (yych <= '@') goto yy6;
501 		} else {
502 			if (yych <= '`') goto yy6;
503 			if (yych >= '{') goto yy6;
504 		}
505 	}
506 	yych = *++p;
507 	if (yych <= '9') {
508 		if (yych <= ',') {
509 			if (yych != '+') goto yy6;
510 		} else {
511 			if (yych == '/') goto yy6;
512 		}
513 	} else {
514 		if (yych <= 'Z') {
515 			if (yych <= ':') goto yy8;
516 			if (yych <= '@') goto yy6;
517 		} else {
518 			if (yych <= '`') goto yy6;
519 			if (yych >= '{') goto yy6;
520 		}
521 	}
522 	yych = *++p;
523 	if (yych <= '9') {
524 		if (yych <= ',') {
525 			if (yych != '+') goto yy6;
526 		} else {
527 			if (yych == '/') goto yy6;
528 		}
529 	} else {
530 		if (yych <= 'Z') {
531 			if (yych <= ':') goto yy8;
532 			if (yych <= '@') goto yy6;
533 		} else {
534 			if (yych <= '`') goto yy6;
535 			if (yych >= '{') goto yy6;
536 		}
537 	}
538 	yych = *++p;
539 	if (yych <= '9') {
540 		if (yych <= ',') {
541 			if (yych != '+') goto yy6;
542 		} else {
543 			if (yych == '/') goto yy6;
544 		}
545 	} else {
546 		if (yych <= 'Z') {
547 			if (yych <= ':') goto yy8;
548 			if (yych <= '@') goto yy6;
549 		} else {
550 			if (yych <= '`') goto yy6;
551 			if (yych >= '{') goto yy6;
552 		}
553 	}
554 	yych = *++p;
555 	if (yych == ':') goto yy8;
556 	goto yy6;
557 }
558 
559 }
560 
561 // Try to match URI autolink after first <, returning number of chars matched.
_scan_autolink_uri(const unsigned char * p)562 bufsize_t _scan_autolink_uri(const unsigned char *p)
563 {
564   const unsigned char *marker = NULL;
565   const unsigned char *start = p;
566 
567 {
568 	unsigned char yych;
569 	static const unsigned char yybm[] = {
570 		  0,   0,   0,   0,   0,   0,   0,   0,
571 		  0,   0,   0,   0,   0,   0,   0,   0,
572 		  0,   0,   0,   0,   0,   0,   0,   0,
573 		  0,   0,   0,   0,   0,   0,   0,   0,
574 		  0, 128, 128, 128, 128, 128, 128, 128,
575 		128, 128, 128, 128, 128, 128, 128, 128,
576 		128, 128, 128, 128, 128, 128, 128, 128,
577 		128, 128, 128, 128,   0, 128,   0, 128,
578 		128, 128, 128, 128, 128, 128, 128, 128,
579 		128, 128, 128, 128, 128, 128, 128, 128,
580 		128, 128, 128, 128, 128, 128, 128, 128,
581 		128, 128, 128, 128, 128, 128, 128, 128,
582 		128, 128, 128, 128, 128, 128, 128, 128,
583 		128, 128, 128, 128, 128, 128, 128, 128,
584 		128, 128, 128, 128, 128, 128, 128, 128,
585 		128, 128, 128, 128, 128, 128, 128, 128,
586 		  0,   0,   0,   0,   0,   0,   0,   0,
587 		  0,   0,   0,   0,   0,   0,   0,   0,
588 		  0,   0,   0,   0,   0,   0,   0,   0,
589 		  0,   0,   0,   0,   0,   0,   0,   0,
590 		  0,   0,   0,   0,   0,   0,   0,   0,
591 		  0,   0,   0,   0,   0,   0,   0,   0,
592 		  0,   0,   0,   0,   0,   0,   0,   0,
593 		  0,   0,   0,   0,   0,   0,   0,   0,
594 		  0,   0,   0,   0,   0,   0,   0,   0,
595 		  0,   0,   0,   0,   0,   0,   0,   0,
596 		  0,   0,   0,   0,   0,   0,   0,   0,
597 		  0,   0,   0,   0,   0,   0,   0,   0,
598 		  0,   0,   0,   0,   0,   0,   0,   0,
599 		  0,   0,   0,   0,   0,   0,   0,   0,
600 		  0,   0,   0,   0,   0,   0,   0,   0,
601 		  0,   0,   0,   0,   0,   0,   0,   0,
602 	};
603 	yych = *p;
604 	if (yych <= '@') goto yy41;
605 	if (yych <= 'Z') goto yy43;
606 	if (yych <= '`') goto yy41;
607 	if (yych <= 'z') goto yy43;
608 yy41:
609 	++p;
610 yy42:
611 	{ return 0; }
612 yy43:
613 	yych = *(marker = ++p);
614 	if (yych <= '/') {
615 		if (yych <= '+') {
616 			if (yych <= '*') goto yy42;
617 		} else {
618 			if (yych <= ',') goto yy42;
619 			if (yych >= '/') goto yy42;
620 		}
621 	} else {
622 		if (yych <= 'Z') {
623 			if (yych <= '9') goto yy44;
624 			if (yych <= '@') goto yy42;
625 		} else {
626 			if (yych <= '`') goto yy42;
627 			if (yych >= '{') goto yy42;
628 		}
629 	}
630 yy44:
631 	yych = *++p;
632 	if (yych <= '9') {
633 		if (yych <= ',') {
634 			if (yych == '+') goto yy46;
635 		} else {
636 			if (yych != '/') goto yy46;
637 		}
638 	} else {
639 		if (yych <= 'Z') {
640 			if (yych <= ':') goto yy47;
641 			if (yych >= 'A') goto yy46;
642 		} else {
643 			if (yych <= '`') goto yy45;
644 			if (yych <= 'z') goto yy46;
645 		}
646 	}
647 yy45:
648 	p = marker;
649 	goto yy42;
650 yy46:
651 	yych = *++p;
652 	if (yych <= '9') {
653 		if (yych <= ',') {
654 			if (yych == '+') goto yy49;
655 			goto yy45;
656 		} else {
657 			if (yych == '/') goto yy45;
658 			goto yy49;
659 		}
660 	} else {
661 		if (yych <= 'Z') {
662 			if (yych <= ':') goto yy47;
663 			if (yych <= '@') goto yy45;
664 			goto yy49;
665 		} else {
666 			if (yych <= '`') goto yy45;
667 			if (yych <= 'z') goto yy49;
668 			goto yy45;
669 		}
670 	}
671 yy47:
672 	yych = *++p;
673 	if (yybm[0+yych] & 128) {
674 		goto yy47;
675 	}
676 	if (yych <= 0xEC) {
677 		if (yych <= 0xC1) {
678 			if (yych <= '<') goto yy45;
679 			if (yych <= '>') goto yy50;
680 			goto yy45;
681 		} else {
682 			if (yych <= 0xDF) goto yy52;
683 			if (yych <= 0xE0) goto yy53;
684 			goto yy54;
685 		}
686 	} else {
687 		if (yych <= 0xF0) {
688 			if (yych <= 0xED) goto yy55;
689 			if (yych <= 0xEF) goto yy54;
690 			goto yy56;
691 		} else {
692 			if (yych <= 0xF3) goto yy57;
693 			if (yych <= 0xF4) goto yy58;
694 			goto yy45;
695 		}
696 	}
697 yy49:
698 	yych = *++p;
699 	if (yych <= '9') {
700 		if (yych <= ',') {
701 			if (yych == '+') goto yy59;
702 			goto yy45;
703 		} else {
704 			if (yych == '/') goto yy45;
705 			goto yy59;
706 		}
707 	} else {
708 		if (yych <= 'Z') {
709 			if (yych <= ':') goto yy47;
710 			if (yych <= '@') goto yy45;
711 			goto yy59;
712 		} else {
713 			if (yych <= '`') goto yy45;
714 			if (yych <= 'z') goto yy59;
715 			goto yy45;
716 		}
717 	}
718 yy50:
719 	++p;
720 	{ return (bufsize_t)(p - start); }
721 yy52:
722 	yych = *++p;
723 	if (yych <= 0x7F) goto yy45;
724 	if (yych <= 0xBF) goto yy47;
725 	goto yy45;
726 yy53:
727 	yych = *++p;
728 	if (yych <= 0x9F) goto yy45;
729 	if (yych <= 0xBF) goto yy52;
730 	goto yy45;
731 yy54:
732 	yych = *++p;
733 	if (yych <= 0x7F) goto yy45;
734 	if (yych <= 0xBF) goto yy52;
735 	goto yy45;
736 yy55:
737 	yych = *++p;
738 	if (yych <= 0x7F) goto yy45;
739 	if (yych <= 0x9F) goto yy52;
740 	goto yy45;
741 yy56:
742 	yych = *++p;
743 	if (yych <= 0x8F) goto yy45;
744 	if (yych <= 0xBF) goto yy54;
745 	goto yy45;
746 yy57:
747 	yych = *++p;
748 	if (yych <= 0x7F) goto yy45;
749 	if (yych <= 0xBF) goto yy54;
750 	goto yy45;
751 yy58:
752 	yych = *++p;
753 	if (yych <= 0x7F) goto yy45;
754 	if (yych <= 0x8F) goto yy54;
755 	goto yy45;
756 yy59:
757 	yych = *++p;
758 	if (yych <= '9') {
759 		if (yych <= ',') {
760 			if (yych != '+') goto yy45;
761 		} else {
762 			if (yych == '/') goto yy45;
763 		}
764 	} else {
765 		if (yych <= 'Z') {
766 			if (yych <= ':') goto yy47;
767 			if (yych <= '@') goto yy45;
768 		} else {
769 			if (yych <= '`') goto yy45;
770 			if (yych >= '{') goto yy45;
771 		}
772 	}
773 	yych = *++p;
774 	if (yych <= '9') {
775 		if (yych <= ',') {
776 			if (yych != '+') goto yy45;
777 		} else {
778 			if (yych == '/') goto yy45;
779 		}
780 	} else {
781 		if (yych <= 'Z') {
782 			if (yych <= ':') goto yy47;
783 			if (yych <= '@') goto yy45;
784 		} else {
785 			if (yych <= '`') goto yy45;
786 			if (yych >= '{') goto yy45;
787 		}
788 	}
789 	yych = *++p;
790 	if (yych <= '9') {
791 		if (yych <= ',') {
792 			if (yych != '+') goto yy45;
793 		} else {
794 			if (yych == '/') goto yy45;
795 		}
796 	} else {
797 		if (yych <= 'Z') {
798 			if (yych <= ':') goto yy47;
799 			if (yych <= '@') goto yy45;
800 		} else {
801 			if (yych <= '`') goto yy45;
802 			if (yych >= '{') goto yy45;
803 		}
804 	}
805 	yych = *++p;
806 	if (yych <= '9') {
807 		if (yych <= ',') {
808 			if (yych != '+') goto yy45;
809 		} else {
810 			if (yych == '/') goto yy45;
811 		}
812 	} else {
813 		if (yych <= 'Z') {
814 			if (yych <= ':') goto yy47;
815 			if (yych <= '@') goto yy45;
816 		} else {
817 			if (yych <= '`') goto yy45;
818 			if (yych >= '{') goto yy45;
819 		}
820 	}
821 	yych = *++p;
822 	if (yych <= '9') {
823 		if (yych <= ',') {
824 			if (yych != '+') goto yy45;
825 		} else {
826 			if (yych == '/') goto yy45;
827 		}
828 	} else {
829 		if (yych <= 'Z') {
830 			if (yych <= ':') goto yy47;
831 			if (yych <= '@') goto yy45;
832 		} else {
833 			if (yych <= '`') goto yy45;
834 			if (yych >= '{') goto yy45;
835 		}
836 	}
837 	yych = *++p;
838 	if (yych <= '9') {
839 		if (yych <= ',') {
840 			if (yych != '+') goto yy45;
841 		} else {
842 			if (yych == '/') goto yy45;
843 		}
844 	} else {
845 		if (yych <= 'Z') {
846 			if (yych <= ':') goto yy47;
847 			if (yych <= '@') goto yy45;
848 		} else {
849 			if (yych <= '`') goto yy45;
850 			if (yych >= '{') goto yy45;
851 		}
852 	}
853 	yych = *++p;
854 	if (yych <= '9') {
855 		if (yych <= ',') {
856 			if (yych != '+') goto yy45;
857 		} else {
858 			if (yych == '/') goto yy45;
859 		}
860 	} else {
861 		if (yych <= 'Z') {
862 			if (yych <= ':') goto yy47;
863 			if (yych <= '@') goto yy45;
864 		} else {
865 			if (yych <= '`') goto yy45;
866 			if (yych >= '{') goto yy45;
867 		}
868 	}
869 	yych = *++p;
870 	if (yych <= '9') {
871 		if (yych <= ',') {
872 			if (yych != '+') goto yy45;
873 		} else {
874 			if (yych == '/') goto yy45;
875 		}
876 	} else {
877 		if (yych <= 'Z') {
878 			if (yych <= ':') goto yy47;
879 			if (yych <= '@') goto yy45;
880 		} else {
881 			if (yych <= '`') goto yy45;
882 			if (yych >= '{') goto yy45;
883 		}
884 	}
885 	yych = *++p;
886 	if (yych <= '9') {
887 		if (yych <= ',') {
888 			if (yych != '+') goto yy45;
889 		} else {
890 			if (yych == '/') goto yy45;
891 		}
892 	} else {
893 		if (yych <= 'Z') {
894 			if (yych <= ':') goto yy47;
895 			if (yych <= '@') goto yy45;
896 		} else {
897 			if (yych <= '`') goto yy45;
898 			if (yych >= '{') goto yy45;
899 		}
900 	}
901 	yych = *++p;
902 	if (yych <= '9') {
903 		if (yych <= ',') {
904 			if (yych != '+') goto yy45;
905 		} else {
906 			if (yych == '/') goto yy45;
907 		}
908 	} else {
909 		if (yych <= 'Z') {
910 			if (yych <= ':') goto yy47;
911 			if (yych <= '@') goto yy45;
912 		} else {
913 			if (yych <= '`') goto yy45;
914 			if (yych >= '{') goto yy45;
915 		}
916 	}
917 	yych = *++p;
918 	if (yych <= '9') {
919 		if (yych <= ',') {
920 			if (yych != '+') goto yy45;
921 		} else {
922 			if (yych == '/') goto yy45;
923 		}
924 	} else {
925 		if (yych <= 'Z') {
926 			if (yych <= ':') goto yy47;
927 			if (yych <= '@') goto yy45;
928 		} else {
929 			if (yych <= '`') goto yy45;
930 			if (yych >= '{') goto yy45;
931 		}
932 	}
933 	yych = *++p;
934 	if (yych <= '9') {
935 		if (yych <= ',') {
936 			if (yych != '+') goto yy45;
937 		} else {
938 			if (yych == '/') goto yy45;
939 		}
940 	} else {
941 		if (yych <= 'Z') {
942 			if (yych <= ':') goto yy47;
943 			if (yych <= '@') goto yy45;
944 		} else {
945 			if (yych <= '`') goto yy45;
946 			if (yych >= '{') goto yy45;
947 		}
948 	}
949 	yych = *++p;
950 	if (yych <= '9') {
951 		if (yych <= ',') {
952 			if (yych != '+') goto yy45;
953 		} else {
954 			if (yych == '/') goto yy45;
955 		}
956 	} else {
957 		if (yych <= 'Z') {
958 			if (yych <= ':') goto yy47;
959 			if (yych <= '@') goto yy45;
960 		} else {
961 			if (yych <= '`') goto yy45;
962 			if (yych >= '{') goto yy45;
963 		}
964 	}
965 	yych = *++p;
966 	if (yych <= '9') {
967 		if (yych <= ',') {
968 			if (yych != '+') goto yy45;
969 		} else {
970 			if (yych == '/') goto yy45;
971 		}
972 	} else {
973 		if (yych <= 'Z') {
974 			if (yych <= ':') goto yy47;
975 			if (yych <= '@') goto yy45;
976 		} else {
977 			if (yych <= '`') goto yy45;
978 			if (yych >= '{') goto yy45;
979 		}
980 	}
981 	yych = *++p;
982 	if (yych <= '9') {
983 		if (yych <= ',') {
984 			if (yych != '+') goto yy45;
985 		} else {
986 			if (yych == '/') goto yy45;
987 		}
988 	} else {
989 		if (yych <= 'Z') {
990 			if (yych <= ':') goto yy47;
991 			if (yych <= '@') goto yy45;
992 		} else {
993 			if (yych <= '`') goto yy45;
994 			if (yych >= '{') goto yy45;
995 		}
996 	}
997 	yych = *++p;
998 	if (yych <= '9') {
999 		if (yych <= ',') {
1000 			if (yych != '+') goto yy45;
1001 		} else {
1002 			if (yych == '/') goto yy45;
1003 		}
1004 	} else {
1005 		if (yych <= 'Z') {
1006 			if (yych <= ':') goto yy47;
1007 			if (yych <= '@') goto yy45;
1008 		} else {
1009 			if (yych <= '`') goto yy45;
1010 			if (yych >= '{') goto yy45;
1011 		}
1012 	}
1013 	yych = *++p;
1014 	if (yych <= '9') {
1015 		if (yych <= ',') {
1016 			if (yych != '+') goto yy45;
1017 		} else {
1018 			if (yych == '/') goto yy45;
1019 		}
1020 	} else {
1021 		if (yych <= 'Z') {
1022 			if (yych <= ':') goto yy47;
1023 			if (yych <= '@') goto yy45;
1024 		} else {
1025 			if (yych <= '`') goto yy45;
1026 			if (yych >= '{') goto yy45;
1027 		}
1028 	}
1029 	yych = *++p;
1030 	if (yych <= '9') {
1031 		if (yych <= ',') {
1032 			if (yych != '+') goto yy45;
1033 		} else {
1034 			if (yych == '/') goto yy45;
1035 		}
1036 	} else {
1037 		if (yych <= 'Z') {
1038 			if (yych <= ':') goto yy47;
1039 			if (yych <= '@') goto yy45;
1040 		} else {
1041 			if (yych <= '`') goto yy45;
1042 			if (yych >= '{') goto yy45;
1043 		}
1044 	}
1045 	yych = *++p;
1046 	if (yych <= '9') {
1047 		if (yych <= ',') {
1048 			if (yych != '+') goto yy45;
1049 		} else {
1050 			if (yych == '/') goto yy45;
1051 		}
1052 	} else {
1053 		if (yych <= 'Z') {
1054 			if (yych <= ':') goto yy47;
1055 			if (yych <= '@') goto yy45;
1056 		} else {
1057 			if (yych <= '`') goto yy45;
1058 			if (yych >= '{') goto yy45;
1059 		}
1060 	}
1061 	yych = *++p;
1062 	if (yych <= '9') {
1063 		if (yych <= ',') {
1064 			if (yych != '+') goto yy45;
1065 		} else {
1066 			if (yych == '/') goto yy45;
1067 		}
1068 	} else {
1069 		if (yych <= 'Z') {
1070 			if (yych <= ':') goto yy47;
1071 			if (yych <= '@') goto yy45;
1072 		} else {
1073 			if (yych <= '`') goto yy45;
1074 			if (yych >= '{') goto yy45;
1075 		}
1076 	}
1077 	yych = *++p;
1078 	if (yych <= '9') {
1079 		if (yych <= ',') {
1080 			if (yych != '+') goto yy45;
1081 		} else {
1082 			if (yych == '/') goto yy45;
1083 		}
1084 	} else {
1085 		if (yych <= 'Z') {
1086 			if (yych <= ':') goto yy47;
1087 			if (yych <= '@') goto yy45;
1088 		} else {
1089 			if (yych <= '`') goto yy45;
1090 			if (yych >= '{') goto yy45;
1091 		}
1092 	}
1093 	yych = *++p;
1094 	if (yych <= '9') {
1095 		if (yych <= ',') {
1096 			if (yych != '+') goto yy45;
1097 		} else {
1098 			if (yych == '/') goto yy45;
1099 		}
1100 	} else {
1101 		if (yych <= 'Z') {
1102 			if (yych <= ':') goto yy47;
1103 			if (yych <= '@') goto yy45;
1104 		} else {
1105 			if (yych <= '`') goto yy45;
1106 			if (yych >= '{') goto yy45;
1107 		}
1108 	}
1109 	yych = *++p;
1110 	if (yych <= '9') {
1111 		if (yych <= ',') {
1112 			if (yych != '+') goto yy45;
1113 		} else {
1114 			if (yych == '/') goto yy45;
1115 		}
1116 	} else {
1117 		if (yych <= 'Z') {
1118 			if (yych <= ':') goto yy47;
1119 			if (yych <= '@') goto yy45;
1120 		} else {
1121 			if (yych <= '`') goto yy45;
1122 			if (yych >= '{') goto yy45;
1123 		}
1124 	}
1125 	yych = *++p;
1126 	if (yych <= '9') {
1127 		if (yych <= ',') {
1128 			if (yych != '+') goto yy45;
1129 		} else {
1130 			if (yych == '/') goto yy45;
1131 		}
1132 	} else {
1133 		if (yych <= 'Z') {
1134 			if (yych <= ':') goto yy47;
1135 			if (yych <= '@') goto yy45;
1136 		} else {
1137 			if (yych <= '`') goto yy45;
1138 			if (yych >= '{') goto yy45;
1139 		}
1140 	}
1141 	yych = *++p;
1142 	if (yych <= '9') {
1143 		if (yych <= ',') {
1144 			if (yych != '+') goto yy45;
1145 		} else {
1146 			if (yych == '/') goto yy45;
1147 		}
1148 	} else {
1149 		if (yych <= 'Z') {
1150 			if (yych <= ':') goto yy47;
1151 			if (yych <= '@') goto yy45;
1152 		} else {
1153 			if (yych <= '`') goto yy45;
1154 			if (yych >= '{') goto yy45;
1155 		}
1156 	}
1157 	yych = *++p;
1158 	if (yych <= '9') {
1159 		if (yych <= ',') {
1160 			if (yych != '+') goto yy45;
1161 		} else {
1162 			if (yych == '/') goto yy45;
1163 		}
1164 	} else {
1165 		if (yych <= 'Z') {
1166 			if (yych <= ':') goto yy47;
1167 			if (yych <= '@') goto yy45;
1168 		} else {
1169 			if (yych <= '`') goto yy45;
1170 			if (yych >= '{') goto yy45;
1171 		}
1172 	}
1173 	yych = *++p;
1174 	if (yych <= '9') {
1175 		if (yych <= ',') {
1176 			if (yych != '+') goto yy45;
1177 		} else {
1178 			if (yych == '/') goto yy45;
1179 		}
1180 	} else {
1181 		if (yych <= 'Z') {
1182 			if (yych <= ':') goto yy47;
1183 			if (yych <= '@') goto yy45;
1184 		} else {
1185 			if (yych <= '`') goto yy45;
1186 			if (yych >= '{') goto yy45;
1187 		}
1188 	}
1189 	yych = *++p;
1190 	if (yych == ':') goto yy47;
1191 	goto yy45;
1192 }
1193 
1194 }
1195 
1196 // Try to match email autolink after first <, returning num of chars matched.
_scan_autolink_email(const unsigned char * p)1197 bufsize_t _scan_autolink_email(const unsigned char *p)
1198 {
1199   const unsigned char *marker = NULL;
1200   const unsigned char *start = p;
1201 
1202 {
1203 	unsigned char yych;
1204 	static const unsigned char yybm[] = {
1205 		  0,   0,   0,   0,   0,   0,   0,   0,
1206 		  0,   0,   0,   0,   0,   0,   0,   0,
1207 		  0,   0,   0,   0,   0,   0,   0,   0,
1208 		  0,   0,   0,   0,   0,   0,   0,   0,
1209 		  0, 128,   0, 128, 128, 128, 128, 128,
1210 		  0,   0, 128, 128,   0, 128, 128, 128,
1211 		128, 128, 128, 128, 128, 128, 128, 128,
1212 		128, 128,   0,   0,   0, 128,   0, 128,
1213 		  0, 128, 128, 128, 128, 128, 128, 128,
1214 		128, 128, 128, 128, 128, 128, 128, 128,
1215 		128, 128, 128, 128, 128, 128, 128, 128,
1216 		128, 128, 128,   0,   0,   0, 128, 128,
1217 		128, 128, 128, 128, 128, 128, 128, 128,
1218 		128, 128, 128, 128, 128, 128, 128, 128,
1219 		128, 128, 128, 128, 128, 128, 128, 128,
1220 		128, 128, 128, 128, 128, 128, 128,   0,
1221 		  0,   0,   0,   0,   0,   0,   0,   0,
1222 		  0,   0,   0,   0,   0,   0,   0,   0,
1223 		  0,   0,   0,   0,   0,   0,   0,   0,
1224 		  0,   0,   0,   0,   0,   0,   0,   0,
1225 		  0,   0,   0,   0,   0,   0,   0,   0,
1226 		  0,   0,   0,   0,   0,   0,   0,   0,
1227 		  0,   0,   0,   0,   0,   0,   0,   0,
1228 		  0,   0,   0,   0,   0,   0,   0,   0,
1229 		  0,   0,   0,   0,   0,   0,   0,   0,
1230 		  0,   0,   0,   0,   0,   0,   0,   0,
1231 		  0,   0,   0,   0,   0,   0,   0,   0,
1232 		  0,   0,   0,   0,   0,   0,   0,   0,
1233 		  0,   0,   0,   0,   0,   0,   0,   0,
1234 		  0,   0,   0,   0,   0,   0,   0,   0,
1235 		  0,   0,   0,   0,   0,   0,   0,   0,
1236 		  0,   0,   0,   0,   0,   0,   0,   0,
1237 	};
1238 	yych = *p;
1239 	if (yych <= '9') {
1240 		if (yych <= '\'') {
1241 			if (yych == '!') goto yy91;
1242 			if (yych >= '#') goto yy91;
1243 		} else {
1244 			if (yych <= ')') goto yy89;
1245 			if (yych != ',') goto yy91;
1246 		}
1247 	} else {
1248 		if (yych <= '?') {
1249 			if (yych == '=') goto yy91;
1250 			if (yych >= '?') goto yy91;
1251 		} else {
1252 			if (yych <= 'Z') {
1253 				if (yych >= 'A') goto yy91;
1254 			} else {
1255 				if (yych <= ']') goto yy89;
1256 				if (yych <= '~') goto yy91;
1257 			}
1258 		}
1259 	}
1260 yy89:
1261 	++p;
1262 yy90:
1263 	{ return 0; }
1264 yy91:
1265 	yych = *(marker = ++p);
1266 	if (yych <= ',') {
1267 		if (yych <= '"') {
1268 			if (yych == '!') goto yy93;
1269 			goto yy90;
1270 		} else {
1271 			if (yych <= '\'') goto yy93;
1272 			if (yych <= ')') goto yy90;
1273 			if (yych <= '+') goto yy93;
1274 			goto yy90;
1275 		}
1276 	} else {
1277 		if (yych <= '>') {
1278 			if (yych <= '9') goto yy93;
1279 			if (yych == '=') goto yy93;
1280 			goto yy90;
1281 		} else {
1282 			if (yych <= 'Z') goto yy93;
1283 			if (yych <= ']') goto yy90;
1284 			if (yych <= '~') goto yy93;
1285 			goto yy90;
1286 		}
1287 	}
1288 yy92:
1289 	yych = *++p;
1290 yy93:
1291 	if (yybm[0+yych] & 128) {
1292 		goto yy92;
1293 	}
1294 	if (yych <= '>') goto yy94;
1295 	if (yych <= '@') goto yy95;
1296 yy94:
1297 	p = marker;
1298 	goto yy90;
1299 yy95:
1300 	yych = *++p;
1301 	if (yych <= '@') {
1302 		if (yych <= '/') goto yy94;
1303 		if (yych >= ':') goto yy94;
1304 	} else {
1305 		if (yych <= 'Z') goto yy96;
1306 		if (yych <= '`') goto yy94;
1307 		if (yych >= '{') goto yy94;
1308 	}
1309 yy96:
1310 	yych = *++p;
1311 	if (yych <= '=') {
1312 		if (yych <= '.') {
1313 			if (yych <= ',') goto yy94;
1314 			if (yych >= '.') goto yy95;
1315 		} else {
1316 			if (yych <= '/') goto yy94;
1317 			if (yych <= '9') goto yy98;
1318 			goto yy94;
1319 		}
1320 	} else {
1321 		if (yych <= 'Z') {
1322 			if (yych <= '>') goto yy99;
1323 			if (yych <= '@') goto yy94;
1324 			goto yy98;
1325 		} else {
1326 			if (yych <= '`') goto yy94;
1327 			if (yych <= 'z') goto yy98;
1328 			goto yy94;
1329 		}
1330 	}
1331 	yych = *++p;
1332 	if (yych <= '9') {
1333 		if (yych == '-') goto yy101;
1334 		if (yych <= '/') goto yy94;
1335 		goto yy102;
1336 	} else {
1337 		if (yych <= 'Z') {
1338 			if (yych <= '@') goto yy94;
1339 			goto yy102;
1340 		} else {
1341 			if (yych <= '`') goto yy94;
1342 			if (yych <= 'z') goto yy102;
1343 			goto yy94;
1344 		}
1345 	}
1346 yy98:
1347 	yych = *++p;
1348 	if (yych <= '=') {
1349 		if (yych <= '.') {
1350 			if (yych <= ',') goto yy94;
1351 			if (yych <= '-') goto yy101;
1352 			goto yy95;
1353 		} else {
1354 			if (yych <= '/') goto yy94;
1355 			if (yych <= '9') goto yy102;
1356 			goto yy94;
1357 		}
1358 	} else {
1359 		if (yych <= 'Z') {
1360 			if (yych <= '>') goto yy99;
1361 			if (yych <= '@') goto yy94;
1362 			goto yy102;
1363 		} else {
1364 			if (yych <= '`') goto yy94;
1365 			if (yych <= 'z') goto yy102;
1366 			goto yy94;
1367 		}
1368 	}
1369 yy99:
1370 	++p;
1371 	{ return (bufsize_t)(p - start); }
1372 yy101:
1373 	yych = *++p;
1374 	if (yych <= '9') {
1375 		if (yych == '-') goto yy103;
1376 		if (yych <= '/') goto yy94;
1377 		goto yy104;
1378 	} else {
1379 		if (yych <= 'Z') {
1380 			if (yych <= '@') goto yy94;
1381 			goto yy104;
1382 		} else {
1383 			if (yych <= '`') goto yy94;
1384 			if (yych <= 'z') goto yy104;
1385 			goto yy94;
1386 		}
1387 	}
1388 yy102:
1389 	yych = *++p;
1390 	if (yych <= '=') {
1391 		if (yych <= '.') {
1392 			if (yych <= ',') goto yy94;
1393 			if (yych >= '.') goto yy95;
1394 		} else {
1395 			if (yych <= '/') goto yy94;
1396 			if (yych <= '9') goto yy104;
1397 			goto yy94;
1398 		}
1399 	} else {
1400 		if (yych <= 'Z') {
1401 			if (yych <= '>') goto yy99;
1402 			if (yych <= '@') goto yy94;
1403 			goto yy104;
1404 		} else {
1405 			if (yych <= '`') goto yy94;
1406 			if (yych <= 'z') goto yy104;
1407 			goto yy94;
1408 		}
1409 	}
1410 yy103:
1411 	yych = *++p;
1412 	if (yych <= '9') {
1413 		if (yych == '-') goto yy105;
1414 		if (yych <= '/') goto yy94;
1415 		goto yy106;
1416 	} else {
1417 		if (yych <= 'Z') {
1418 			if (yych <= '@') goto yy94;
1419 			goto yy106;
1420 		} else {
1421 			if (yych <= '`') goto yy94;
1422 			if (yych <= 'z') goto yy106;
1423 			goto yy94;
1424 		}
1425 	}
1426 yy104:
1427 	yych = *++p;
1428 	if (yych <= '=') {
1429 		if (yych <= '.') {
1430 			if (yych <= ',') goto yy94;
1431 			if (yych >= '.') goto yy95;
1432 		} else {
1433 			if (yych <= '/') goto yy94;
1434 			if (yych <= '9') goto yy106;
1435 			goto yy94;
1436 		}
1437 	} else {
1438 		if (yych <= 'Z') {
1439 			if (yych <= '>') goto yy99;
1440 			if (yych <= '@') goto yy94;
1441 			goto yy106;
1442 		} else {
1443 			if (yych <= '`') goto yy94;
1444 			if (yych <= 'z') goto yy106;
1445 			goto yy94;
1446 		}
1447 	}
1448 yy105:
1449 	yych = *++p;
1450 	if (yych <= '9') {
1451 		if (yych == '-') goto yy107;
1452 		if (yych <= '/') goto yy94;
1453 		goto yy108;
1454 	} else {
1455 		if (yych <= 'Z') {
1456 			if (yych <= '@') goto yy94;
1457 			goto yy108;
1458 		} else {
1459 			if (yych <= '`') goto yy94;
1460 			if (yych <= 'z') goto yy108;
1461 			goto yy94;
1462 		}
1463 	}
1464 yy106:
1465 	yych = *++p;
1466 	if (yych <= '=') {
1467 		if (yych <= '.') {
1468 			if (yych <= ',') goto yy94;
1469 			if (yych >= '.') goto yy95;
1470 		} else {
1471 			if (yych <= '/') goto yy94;
1472 			if (yych <= '9') goto yy108;
1473 			goto yy94;
1474 		}
1475 	} else {
1476 		if (yych <= 'Z') {
1477 			if (yych <= '>') goto yy99;
1478 			if (yych <= '@') goto yy94;
1479 			goto yy108;
1480 		} else {
1481 			if (yych <= '`') goto yy94;
1482 			if (yych <= 'z') goto yy108;
1483 			goto yy94;
1484 		}
1485 	}
1486 yy107:
1487 	yych = *++p;
1488 	if (yych <= '9') {
1489 		if (yych == '-') goto yy109;
1490 		if (yych <= '/') goto yy94;
1491 		goto yy110;
1492 	} else {
1493 		if (yych <= 'Z') {
1494 			if (yych <= '@') goto yy94;
1495 			goto yy110;
1496 		} else {
1497 			if (yych <= '`') goto yy94;
1498 			if (yych <= 'z') goto yy110;
1499 			goto yy94;
1500 		}
1501 	}
1502 yy108:
1503 	yych = *++p;
1504 	if (yych <= '=') {
1505 		if (yych <= '.') {
1506 			if (yych <= ',') goto yy94;
1507 			if (yych >= '.') goto yy95;
1508 		} else {
1509 			if (yych <= '/') goto yy94;
1510 			if (yych <= '9') goto yy110;
1511 			goto yy94;
1512 		}
1513 	} else {
1514 		if (yych <= 'Z') {
1515 			if (yych <= '>') goto yy99;
1516 			if (yych <= '@') goto yy94;
1517 			goto yy110;
1518 		} else {
1519 			if (yych <= '`') goto yy94;
1520 			if (yych <= 'z') goto yy110;
1521 			goto yy94;
1522 		}
1523 	}
1524 yy109:
1525 	yych = *++p;
1526 	if (yych <= '9') {
1527 		if (yych == '-') goto yy111;
1528 		if (yych <= '/') goto yy94;
1529 		goto yy112;
1530 	} else {
1531 		if (yych <= 'Z') {
1532 			if (yych <= '@') goto yy94;
1533 			goto yy112;
1534 		} else {
1535 			if (yych <= '`') goto yy94;
1536 			if (yych <= 'z') goto yy112;
1537 			goto yy94;
1538 		}
1539 	}
1540 yy110:
1541 	yych = *++p;
1542 	if (yych <= '=') {
1543 		if (yych <= '.') {
1544 			if (yych <= ',') goto yy94;
1545 			if (yych >= '.') goto yy95;
1546 		} else {
1547 			if (yych <= '/') goto yy94;
1548 			if (yych <= '9') goto yy112;
1549 			goto yy94;
1550 		}
1551 	} else {
1552 		if (yych <= 'Z') {
1553 			if (yych <= '>') goto yy99;
1554 			if (yych <= '@') goto yy94;
1555 			goto yy112;
1556 		} else {
1557 			if (yych <= '`') goto yy94;
1558 			if (yych <= 'z') goto yy112;
1559 			goto yy94;
1560 		}
1561 	}
1562 yy111:
1563 	yych = *++p;
1564 	if (yych <= '9') {
1565 		if (yych == '-') goto yy113;
1566 		if (yych <= '/') goto yy94;
1567 		goto yy114;
1568 	} else {
1569 		if (yych <= 'Z') {
1570 			if (yych <= '@') goto yy94;
1571 			goto yy114;
1572 		} else {
1573 			if (yych <= '`') goto yy94;
1574 			if (yych <= 'z') goto yy114;
1575 			goto yy94;
1576 		}
1577 	}
1578 yy112:
1579 	yych = *++p;
1580 	if (yych <= '=') {
1581 		if (yych <= '.') {
1582 			if (yych <= ',') goto yy94;
1583 			if (yych >= '.') goto yy95;
1584 		} else {
1585 			if (yych <= '/') goto yy94;
1586 			if (yych <= '9') goto yy114;
1587 			goto yy94;
1588 		}
1589 	} else {
1590 		if (yych <= 'Z') {
1591 			if (yych <= '>') goto yy99;
1592 			if (yych <= '@') goto yy94;
1593 			goto yy114;
1594 		} else {
1595 			if (yych <= '`') goto yy94;
1596 			if (yych <= 'z') goto yy114;
1597 			goto yy94;
1598 		}
1599 	}
1600 yy113:
1601 	yych = *++p;
1602 	if (yych <= '9') {
1603 		if (yych == '-') goto yy115;
1604 		if (yych <= '/') goto yy94;
1605 		goto yy116;
1606 	} else {
1607 		if (yych <= 'Z') {
1608 			if (yych <= '@') goto yy94;
1609 			goto yy116;
1610 		} else {
1611 			if (yych <= '`') goto yy94;
1612 			if (yych <= 'z') goto yy116;
1613 			goto yy94;
1614 		}
1615 	}
1616 yy114:
1617 	yych = *++p;
1618 	if (yych <= '=') {
1619 		if (yych <= '.') {
1620 			if (yych <= ',') goto yy94;
1621 			if (yych >= '.') goto yy95;
1622 		} else {
1623 			if (yych <= '/') goto yy94;
1624 			if (yych <= '9') goto yy116;
1625 			goto yy94;
1626 		}
1627 	} else {
1628 		if (yych <= 'Z') {
1629 			if (yych <= '>') goto yy99;
1630 			if (yych <= '@') goto yy94;
1631 			goto yy116;
1632 		} else {
1633 			if (yych <= '`') goto yy94;
1634 			if (yych <= 'z') goto yy116;
1635 			goto yy94;
1636 		}
1637 	}
1638 yy115:
1639 	yych = *++p;
1640 	if (yych <= '9') {
1641 		if (yych == '-') goto yy117;
1642 		if (yych <= '/') goto yy94;
1643 		goto yy118;
1644 	} else {
1645 		if (yych <= 'Z') {
1646 			if (yych <= '@') goto yy94;
1647 			goto yy118;
1648 		} else {
1649 			if (yych <= '`') goto yy94;
1650 			if (yych <= 'z') goto yy118;
1651 			goto yy94;
1652 		}
1653 	}
1654 yy116:
1655 	yych = *++p;
1656 	if (yych <= '=') {
1657 		if (yych <= '.') {
1658 			if (yych <= ',') goto yy94;
1659 			if (yych >= '.') goto yy95;
1660 		} else {
1661 			if (yych <= '/') goto yy94;
1662 			if (yych <= '9') goto yy118;
1663 			goto yy94;
1664 		}
1665 	} else {
1666 		if (yych <= 'Z') {
1667 			if (yych <= '>') goto yy99;
1668 			if (yych <= '@') goto yy94;
1669 			goto yy118;
1670 		} else {
1671 			if (yych <= '`') goto yy94;
1672 			if (yych <= 'z') goto yy118;
1673 			goto yy94;
1674 		}
1675 	}
1676 yy117:
1677 	yych = *++p;
1678 	if (yych <= '9') {
1679 		if (yych == '-') goto yy119;
1680 		if (yych <= '/') goto yy94;
1681 		goto yy120;
1682 	} else {
1683 		if (yych <= 'Z') {
1684 			if (yych <= '@') goto yy94;
1685 			goto yy120;
1686 		} else {
1687 			if (yych <= '`') goto yy94;
1688 			if (yych <= 'z') goto yy120;
1689 			goto yy94;
1690 		}
1691 	}
1692 yy118:
1693 	yych = *++p;
1694 	if (yych <= '=') {
1695 		if (yych <= '.') {
1696 			if (yych <= ',') goto yy94;
1697 			if (yych >= '.') goto yy95;
1698 		} else {
1699 			if (yych <= '/') goto yy94;
1700 			if (yych <= '9') goto yy120;
1701 			goto yy94;
1702 		}
1703 	} else {
1704 		if (yych <= 'Z') {
1705 			if (yych <= '>') goto yy99;
1706 			if (yych <= '@') goto yy94;
1707 			goto yy120;
1708 		} else {
1709 			if (yych <= '`') goto yy94;
1710 			if (yych <= 'z') goto yy120;
1711 			goto yy94;
1712 		}
1713 	}
1714 yy119:
1715 	yych = *++p;
1716 	if (yych <= '9') {
1717 		if (yych == '-') goto yy121;
1718 		if (yych <= '/') goto yy94;
1719 		goto yy122;
1720 	} else {
1721 		if (yych <= 'Z') {
1722 			if (yych <= '@') goto yy94;
1723 			goto yy122;
1724 		} else {
1725 			if (yych <= '`') goto yy94;
1726 			if (yych <= 'z') goto yy122;
1727 			goto yy94;
1728 		}
1729 	}
1730 yy120:
1731 	yych = *++p;
1732 	if (yych <= '=') {
1733 		if (yych <= '.') {
1734 			if (yych <= ',') goto yy94;
1735 			if (yych >= '.') goto yy95;
1736 		} else {
1737 			if (yych <= '/') goto yy94;
1738 			if (yych <= '9') goto yy122;
1739 			goto yy94;
1740 		}
1741 	} else {
1742 		if (yych <= 'Z') {
1743 			if (yych <= '>') goto yy99;
1744 			if (yych <= '@') goto yy94;
1745 			goto yy122;
1746 		} else {
1747 			if (yych <= '`') goto yy94;
1748 			if (yych <= 'z') goto yy122;
1749 			goto yy94;
1750 		}
1751 	}
1752 yy121:
1753 	yych = *++p;
1754 	if (yych <= '9') {
1755 		if (yych == '-') goto yy123;
1756 		if (yych <= '/') goto yy94;
1757 		goto yy124;
1758 	} else {
1759 		if (yych <= 'Z') {
1760 			if (yych <= '@') goto yy94;
1761 			goto yy124;
1762 		} else {
1763 			if (yych <= '`') goto yy94;
1764 			if (yych <= 'z') goto yy124;
1765 			goto yy94;
1766 		}
1767 	}
1768 yy122:
1769 	yych = *++p;
1770 	if (yych <= '=') {
1771 		if (yych <= '.') {
1772 			if (yych <= ',') goto yy94;
1773 			if (yych >= '.') goto yy95;
1774 		} else {
1775 			if (yych <= '/') goto yy94;
1776 			if (yych <= '9') goto yy124;
1777 			goto yy94;
1778 		}
1779 	} else {
1780 		if (yych <= 'Z') {
1781 			if (yych <= '>') goto yy99;
1782 			if (yych <= '@') goto yy94;
1783 			goto yy124;
1784 		} else {
1785 			if (yych <= '`') goto yy94;
1786 			if (yych <= 'z') goto yy124;
1787 			goto yy94;
1788 		}
1789 	}
1790 yy123:
1791 	yych = *++p;
1792 	if (yych <= '9') {
1793 		if (yych == '-') goto yy125;
1794 		if (yych <= '/') goto yy94;
1795 		goto yy126;
1796 	} else {
1797 		if (yych <= 'Z') {
1798 			if (yych <= '@') goto yy94;
1799 			goto yy126;
1800 		} else {
1801 			if (yych <= '`') goto yy94;
1802 			if (yych <= 'z') goto yy126;
1803 			goto yy94;
1804 		}
1805 	}
1806 yy124:
1807 	yych = *++p;
1808 	if (yych <= '=') {
1809 		if (yych <= '.') {
1810 			if (yych <= ',') goto yy94;
1811 			if (yych >= '.') goto yy95;
1812 		} else {
1813 			if (yych <= '/') goto yy94;
1814 			if (yych <= '9') goto yy126;
1815 			goto yy94;
1816 		}
1817 	} else {
1818 		if (yych <= 'Z') {
1819 			if (yych <= '>') goto yy99;
1820 			if (yych <= '@') goto yy94;
1821 			goto yy126;
1822 		} else {
1823 			if (yych <= '`') goto yy94;
1824 			if (yych <= 'z') goto yy126;
1825 			goto yy94;
1826 		}
1827 	}
1828 yy125:
1829 	yych = *++p;
1830 	if (yych <= '9') {
1831 		if (yych == '-') goto yy127;
1832 		if (yych <= '/') goto yy94;
1833 		goto yy128;
1834 	} else {
1835 		if (yych <= 'Z') {
1836 			if (yych <= '@') goto yy94;
1837 			goto yy128;
1838 		} else {
1839 			if (yych <= '`') goto yy94;
1840 			if (yych <= 'z') goto yy128;
1841 			goto yy94;
1842 		}
1843 	}
1844 yy126:
1845 	yych = *++p;
1846 	if (yych <= '=') {
1847 		if (yych <= '.') {
1848 			if (yych <= ',') goto yy94;
1849 			if (yych >= '.') goto yy95;
1850 		} else {
1851 			if (yych <= '/') goto yy94;
1852 			if (yych <= '9') goto yy128;
1853 			goto yy94;
1854 		}
1855 	} else {
1856 		if (yych <= 'Z') {
1857 			if (yych <= '>') goto yy99;
1858 			if (yych <= '@') goto yy94;
1859 			goto yy128;
1860 		} else {
1861 			if (yych <= '`') goto yy94;
1862 			if (yych <= 'z') goto yy128;
1863 			goto yy94;
1864 		}
1865 	}
1866 yy127:
1867 	yych = *++p;
1868 	if (yych <= '9') {
1869 		if (yych == '-') goto yy129;
1870 		if (yych <= '/') goto yy94;
1871 		goto yy130;
1872 	} else {
1873 		if (yych <= 'Z') {
1874 			if (yych <= '@') goto yy94;
1875 			goto yy130;
1876 		} else {
1877 			if (yych <= '`') goto yy94;
1878 			if (yych <= 'z') goto yy130;
1879 			goto yy94;
1880 		}
1881 	}
1882 yy128:
1883 	yych = *++p;
1884 	if (yych <= '=') {
1885 		if (yych <= '.') {
1886 			if (yych <= ',') goto yy94;
1887 			if (yych >= '.') goto yy95;
1888 		} else {
1889 			if (yych <= '/') goto yy94;
1890 			if (yych <= '9') goto yy130;
1891 			goto yy94;
1892 		}
1893 	} else {
1894 		if (yych <= 'Z') {
1895 			if (yych <= '>') goto yy99;
1896 			if (yych <= '@') goto yy94;
1897 			goto yy130;
1898 		} else {
1899 			if (yych <= '`') goto yy94;
1900 			if (yych <= 'z') goto yy130;
1901 			goto yy94;
1902 		}
1903 	}
1904 yy129:
1905 	yych = *++p;
1906 	if (yych <= '9') {
1907 		if (yych == '-') goto yy131;
1908 		if (yych <= '/') goto yy94;
1909 		goto yy132;
1910 	} else {
1911 		if (yych <= 'Z') {
1912 			if (yych <= '@') goto yy94;
1913 			goto yy132;
1914 		} else {
1915 			if (yych <= '`') goto yy94;
1916 			if (yych <= 'z') goto yy132;
1917 			goto yy94;
1918 		}
1919 	}
1920 yy130:
1921 	yych = *++p;
1922 	if (yych <= '=') {
1923 		if (yych <= '.') {
1924 			if (yych <= ',') goto yy94;
1925 			if (yych >= '.') goto yy95;
1926 		} else {
1927 			if (yych <= '/') goto yy94;
1928 			if (yych <= '9') goto yy132;
1929 			goto yy94;
1930 		}
1931 	} else {
1932 		if (yych <= 'Z') {
1933 			if (yych <= '>') goto yy99;
1934 			if (yych <= '@') goto yy94;
1935 			goto yy132;
1936 		} else {
1937 			if (yych <= '`') goto yy94;
1938 			if (yych <= 'z') goto yy132;
1939 			goto yy94;
1940 		}
1941 	}
1942 yy131:
1943 	yych = *++p;
1944 	if (yych <= '9') {
1945 		if (yych == '-') goto yy133;
1946 		if (yych <= '/') goto yy94;
1947 		goto yy134;
1948 	} else {
1949 		if (yych <= 'Z') {
1950 			if (yych <= '@') goto yy94;
1951 			goto yy134;
1952 		} else {
1953 			if (yych <= '`') goto yy94;
1954 			if (yych <= 'z') goto yy134;
1955 			goto yy94;
1956 		}
1957 	}
1958 yy132:
1959 	yych = *++p;
1960 	if (yych <= '=') {
1961 		if (yych <= '.') {
1962 			if (yych <= ',') goto yy94;
1963 			if (yych >= '.') goto yy95;
1964 		} else {
1965 			if (yych <= '/') goto yy94;
1966 			if (yych <= '9') goto yy134;
1967 			goto yy94;
1968 		}
1969 	} else {
1970 		if (yych <= 'Z') {
1971 			if (yych <= '>') goto yy99;
1972 			if (yych <= '@') goto yy94;
1973 			goto yy134;
1974 		} else {
1975 			if (yych <= '`') goto yy94;
1976 			if (yych <= 'z') goto yy134;
1977 			goto yy94;
1978 		}
1979 	}
1980 yy133:
1981 	yych = *++p;
1982 	if (yych <= '9') {
1983 		if (yych == '-') goto yy135;
1984 		if (yych <= '/') goto yy94;
1985 		goto yy136;
1986 	} else {
1987 		if (yych <= 'Z') {
1988 			if (yych <= '@') goto yy94;
1989 			goto yy136;
1990 		} else {
1991 			if (yych <= '`') goto yy94;
1992 			if (yych <= 'z') goto yy136;
1993 			goto yy94;
1994 		}
1995 	}
1996 yy134:
1997 	yych = *++p;
1998 	if (yych <= '=') {
1999 		if (yych <= '.') {
2000 			if (yych <= ',') goto yy94;
2001 			if (yych >= '.') goto yy95;
2002 		} else {
2003 			if (yych <= '/') goto yy94;
2004 			if (yych <= '9') goto yy136;
2005 			goto yy94;
2006 		}
2007 	} else {
2008 		if (yych <= 'Z') {
2009 			if (yych <= '>') goto yy99;
2010 			if (yych <= '@') goto yy94;
2011 			goto yy136;
2012 		} else {
2013 			if (yych <= '`') goto yy94;
2014 			if (yych <= 'z') goto yy136;
2015 			goto yy94;
2016 		}
2017 	}
2018 yy135:
2019 	yych = *++p;
2020 	if (yych <= '9') {
2021 		if (yych == '-') goto yy137;
2022 		if (yych <= '/') goto yy94;
2023 		goto yy138;
2024 	} else {
2025 		if (yych <= 'Z') {
2026 			if (yych <= '@') goto yy94;
2027 			goto yy138;
2028 		} else {
2029 			if (yych <= '`') goto yy94;
2030 			if (yych <= 'z') goto yy138;
2031 			goto yy94;
2032 		}
2033 	}
2034 yy136:
2035 	yych = *++p;
2036 	if (yych <= '=') {
2037 		if (yych <= '.') {
2038 			if (yych <= ',') goto yy94;
2039 			if (yych >= '.') goto yy95;
2040 		} else {
2041 			if (yych <= '/') goto yy94;
2042 			if (yych <= '9') goto yy138;
2043 			goto yy94;
2044 		}
2045 	} else {
2046 		if (yych <= 'Z') {
2047 			if (yych <= '>') goto yy99;
2048 			if (yych <= '@') goto yy94;
2049 			goto yy138;
2050 		} else {
2051 			if (yych <= '`') goto yy94;
2052 			if (yych <= 'z') goto yy138;
2053 			goto yy94;
2054 		}
2055 	}
2056 yy137:
2057 	yych = *++p;
2058 	if (yych <= '9') {
2059 		if (yych == '-') goto yy139;
2060 		if (yych <= '/') goto yy94;
2061 		goto yy140;
2062 	} else {
2063 		if (yych <= 'Z') {
2064 			if (yych <= '@') goto yy94;
2065 			goto yy140;
2066 		} else {
2067 			if (yych <= '`') goto yy94;
2068 			if (yych <= 'z') goto yy140;
2069 			goto yy94;
2070 		}
2071 	}
2072 yy138:
2073 	yych = *++p;
2074 	if (yych <= '=') {
2075 		if (yych <= '.') {
2076 			if (yych <= ',') goto yy94;
2077 			if (yych >= '.') goto yy95;
2078 		} else {
2079 			if (yych <= '/') goto yy94;
2080 			if (yych <= '9') goto yy140;
2081 			goto yy94;
2082 		}
2083 	} else {
2084 		if (yych <= 'Z') {
2085 			if (yych <= '>') goto yy99;
2086 			if (yych <= '@') goto yy94;
2087 			goto yy140;
2088 		} else {
2089 			if (yych <= '`') goto yy94;
2090 			if (yych <= 'z') goto yy140;
2091 			goto yy94;
2092 		}
2093 	}
2094 yy139:
2095 	yych = *++p;
2096 	if (yych <= '9') {
2097 		if (yych == '-') goto yy141;
2098 		if (yych <= '/') goto yy94;
2099 		goto yy142;
2100 	} else {
2101 		if (yych <= 'Z') {
2102 			if (yych <= '@') goto yy94;
2103 			goto yy142;
2104 		} else {
2105 			if (yych <= '`') goto yy94;
2106 			if (yych <= 'z') goto yy142;
2107 			goto yy94;
2108 		}
2109 	}
2110 yy140:
2111 	yych = *++p;
2112 	if (yych <= '=') {
2113 		if (yych <= '.') {
2114 			if (yych <= ',') goto yy94;
2115 			if (yych >= '.') goto yy95;
2116 		} else {
2117 			if (yych <= '/') goto yy94;
2118 			if (yych <= '9') goto yy142;
2119 			goto yy94;
2120 		}
2121 	} else {
2122 		if (yych <= 'Z') {
2123 			if (yych <= '>') goto yy99;
2124 			if (yych <= '@') goto yy94;
2125 			goto yy142;
2126 		} else {
2127 			if (yych <= '`') goto yy94;
2128 			if (yych <= 'z') goto yy142;
2129 			goto yy94;
2130 		}
2131 	}
2132 yy141:
2133 	yych = *++p;
2134 	if (yych <= '9') {
2135 		if (yych == '-') goto yy143;
2136 		if (yych <= '/') goto yy94;
2137 		goto yy144;
2138 	} else {
2139 		if (yych <= 'Z') {
2140 			if (yych <= '@') goto yy94;
2141 			goto yy144;
2142 		} else {
2143 			if (yych <= '`') goto yy94;
2144 			if (yych <= 'z') goto yy144;
2145 			goto yy94;
2146 		}
2147 	}
2148 yy142:
2149 	yych = *++p;
2150 	if (yych <= '=') {
2151 		if (yych <= '.') {
2152 			if (yych <= ',') goto yy94;
2153 			if (yych >= '.') goto yy95;
2154 		} else {
2155 			if (yych <= '/') goto yy94;
2156 			if (yych <= '9') goto yy144;
2157 			goto yy94;
2158 		}
2159 	} else {
2160 		if (yych <= 'Z') {
2161 			if (yych <= '>') goto yy99;
2162 			if (yych <= '@') goto yy94;
2163 			goto yy144;
2164 		} else {
2165 			if (yych <= '`') goto yy94;
2166 			if (yych <= 'z') goto yy144;
2167 			goto yy94;
2168 		}
2169 	}
2170 yy143:
2171 	yych = *++p;
2172 	if (yych <= '9') {
2173 		if (yych == '-') goto yy145;
2174 		if (yych <= '/') goto yy94;
2175 		goto yy146;
2176 	} else {
2177 		if (yych <= 'Z') {
2178 			if (yych <= '@') goto yy94;
2179 			goto yy146;
2180 		} else {
2181 			if (yych <= '`') goto yy94;
2182 			if (yych <= 'z') goto yy146;
2183 			goto yy94;
2184 		}
2185 	}
2186 yy144:
2187 	yych = *++p;
2188 	if (yych <= '=') {
2189 		if (yych <= '.') {
2190 			if (yych <= ',') goto yy94;
2191 			if (yych >= '.') goto yy95;
2192 		} else {
2193 			if (yych <= '/') goto yy94;
2194 			if (yych <= '9') goto yy146;
2195 			goto yy94;
2196 		}
2197 	} else {
2198 		if (yych <= 'Z') {
2199 			if (yych <= '>') goto yy99;
2200 			if (yych <= '@') goto yy94;
2201 			goto yy146;
2202 		} else {
2203 			if (yych <= '`') goto yy94;
2204 			if (yych <= 'z') goto yy146;
2205 			goto yy94;
2206 		}
2207 	}
2208 yy145:
2209 	yych = *++p;
2210 	if (yych <= '9') {
2211 		if (yych == '-') goto yy147;
2212 		if (yych <= '/') goto yy94;
2213 		goto yy148;
2214 	} else {
2215 		if (yych <= 'Z') {
2216 			if (yych <= '@') goto yy94;
2217 			goto yy148;
2218 		} else {
2219 			if (yych <= '`') goto yy94;
2220 			if (yych <= 'z') goto yy148;
2221 			goto yy94;
2222 		}
2223 	}
2224 yy146:
2225 	yych = *++p;
2226 	if (yych <= '=') {
2227 		if (yych <= '.') {
2228 			if (yych <= ',') goto yy94;
2229 			if (yych >= '.') goto yy95;
2230 		} else {
2231 			if (yych <= '/') goto yy94;
2232 			if (yych <= '9') goto yy148;
2233 			goto yy94;
2234 		}
2235 	} else {
2236 		if (yych <= 'Z') {
2237 			if (yych <= '>') goto yy99;
2238 			if (yych <= '@') goto yy94;
2239 			goto yy148;
2240 		} else {
2241 			if (yych <= '`') goto yy94;
2242 			if (yych <= 'z') goto yy148;
2243 			goto yy94;
2244 		}
2245 	}
2246 yy147:
2247 	yych = *++p;
2248 	if (yych <= '9') {
2249 		if (yych == '-') goto yy149;
2250 		if (yych <= '/') goto yy94;
2251 		goto yy150;
2252 	} else {
2253 		if (yych <= 'Z') {
2254 			if (yych <= '@') goto yy94;
2255 			goto yy150;
2256 		} else {
2257 			if (yych <= '`') goto yy94;
2258 			if (yych <= 'z') goto yy150;
2259 			goto yy94;
2260 		}
2261 	}
2262 yy148:
2263 	yych = *++p;
2264 	if (yych <= '=') {
2265 		if (yych <= '.') {
2266 			if (yych <= ',') goto yy94;
2267 			if (yych >= '.') goto yy95;
2268 		} else {
2269 			if (yych <= '/') goto yy94;
2270 			if (yych <= '9') goto yy150;
2271 			goto yy94;
2272 		}
2273 	} else {
2274 		if (yych <= 'Z') {
2275 			if (yych <= '>') goto yy99;
2276 			if (yych <= '@') goto yy94;
2277 			goto yy150;
2278 		} else {
2279 			if (yych <= '`') goto yy94;
2280 			if (yych <= 'z') goto yy150;
2281 			goto yy94;
2282 		}
2283 	}
2284 yy149:
2285 	yych = *++p;
2286 	if (yych <= '9') {
2287 		if (yych == '-') goto yy151;
2288 		if (yych <= '/') goto yy94;
2289 		goto yy152;
2290 	} else {
2291 		if (yych <= 'Z') {
2292 			if (yych <= '@') goto yy94;
2293 			goto yy152;
2294 		} else {
2295 			if (yych <= '`') goto yy94;
2296 			if (yych <= 'z') goto yy152;
2297 			goto yy94;
2298 		}
2299 	}
2300 yy150:
2301 	yych = *++p;
2302 	if (yych <= '=') {
2303 		if (yych <= '.') {
2304 			if (yych <= ',') goto yy94;
2305 			if (yych >= '.') goto yy95;
2306 		} else {
2307 			if (yych <= '/') goto yy94;
2308 			if (yych <= '9') goto yy152;
2309 			goto yy94;
2310 		}
2311 	} else {
2312 		if (yych <= 'Z') {
2313 			if (yych <= '>') goto yy99;
2314 			if (yych <= '@') goto yy94;
2315 			goto yy152;
2316 		} else {
2317 			if (yych <= '`') goto yy94;
2318 			if (yych <= 'z') goto yy152;
2319 			goto yy94;
2320 		}
2321 	}
2322 yy151:
2323 	yych = *++p;
2324 	if (yych <= '9') {
2325 		if (yych == '-') goto yy153;
2326 		if (yych <= '/') goto yy94;
2327 		goto yy154;
2328 	} else {
2329 		if (yych <= 'Z') {
2330 			if (yych <= '@') goto yy94;
2331 			goto yy154;
2332 		} else {
2333 			if (yych <= '`') goto yy94;
2334 			if (yych <= 'z') goto yy154;
2335 			goto yy94;
2336 		}
2337 	}
2338 yy152:
2339 	yych = *++p;
2340 	if (yych <= '=') {
2341 		if (yych <= '.') {
2342 			if (yych <= ',') goto yy94;
2343 			if (yych >= '.') goto yy95;
2344 		} else {
2345 			if (yych <= '/') goto yy94;
2346 			if (yych <= '9') goto yy154;
2347 			goto yy94;
2348 		}
2349 	} else {
2350 		if (yych <= 'Z') {
2351 			if (yych <= '>') goto yy99;
2352 			if (yych <= '@') goto yy94;
2353 			goto yy154;
2354 		} else {
2355 			if (yych <= '`') goto yy94;
2356 			if (yych <= 'z') goto yy154;
2357 			goto yy94;
2358 		}
2359 	}
2360 yy153:
2361 	yych = *++p;
2362 	if (yych <= '9') {
2363 		if (yych == '-') goto yy155;
2364 		if (yych <= '/') goto yy94;
2365 		goto yy156;
2366 	} else {
2367 		if (yych <= 'Z') {
2368 			if (yych <= '@') goto yy94;
2369 			goto yy156;
2370 		} else {
2371 			if (yych <= '`') goto yy94;
2372 			if (yych <= 'z') goto yy156;
2373 			goto yy94;
2374 		}
2375 	}
2376 yy154:
2377 	yych = *++p;
2378 	if (yych <= '=') {
2379 		if (yych <= '.') {
2380 			if (yych <= ',') goto yy94;
2381 			if (yych >= '.') goto yy95;
2382 		} else {
2383 			if (yych <= '/') goto yy94;
2384 			if (yych <= '9') goto yy156;
2385 			goto yy94;
2386 		}
2387 	} else {
2388 		if (yych <= 'Z') {
2389 			if (yych <= '>') goto yy99;
2390 			if (yych <= '@') goto yy94;
2391 			goto yy156;
2392 		} else {
2393 			if (yych <= '`') goto yy94;
2394 			if (yych <= 'z') goto yy156;
2395 			goto yy94;
2396 		}
2397 	}
2398 yy155:
2399 	yych = *++p;
2400 	if (yych <= '9') {
2401 		if (yych == '-') goto yy157;
2402 		if (yych <= '/') goto yy94;
2403 		goto yy158;
2404 	} else {
2405 		if (yych <= 'Z') {
2406 			if (yych <= '@') goto yy94;
2407 			goto yy158;
2408 		} else {
2409 			if (yych <= '`') goto yy94;
2410 			if (yych <= 'z') goto yy158;
2411 			goto yy94;
2412 		}
2413 	}
2414 yy156:
2415 	yych = *++p;
2416 	if (yych <= '=') {
2417 		if (yych <= '.') {
2418 			if (yych <= ',') goto yy94;
2419 			if (yych >= '.') goto yy95;
2420 		} else {
2421 			if (yych <= '/') goto yy94;
2422 			if (yych <= '9') goto yy158;
2423 			goto yy94;
2424 		}
2425 	} else {
2426 		if (yych <= 'Z') {
2427 			if (yych <= '>') goto yy99;
2428 			if (yych <= '@') goto yy94;
2429 			goto yy158;
2430 		} else {
2431 			if (yych <= '`') goto yy94;
2432 			if (yych <= 'z') goto yy158;
2433 			goto yy94;
2434 		}
2435 	}
2436 yy157:
2437 	yych = *++p;
2438 	if (yych <= '9') {
2439 		if (yych == '-') goto yy159;
2440 		if (yych <= '/') goto yy94;
2441 		goto yy160;
2442 	} else {
2443 		if (yych <= 'Z') {
2444 			if (yych <= '@') goto yy94;
2445 			goto yy160;
2446 		} else {
2447 			if (yych <= '`') goto yy94;
2448 			if (yych <= 'z') goto yy160;
2449 			goto yy94;
2450 		}
2451 	}
2452 yy158:
2453 	yych = *++p;
2454 	if (yych <= '=') {
2455 		if (yych <= '.') {
2456 			if (yych <= ',') goto yy94;
2457 			if (yych >= '.') goto yy95;
2458 		} else {
2459 			if (yych <= '/') goto yy94;
2460 			if (yych <= '9') goto yy160;
2461 			goto yy94;
2462 		}
2463 	} else {
2464 		if (yych <= 'Z') {
2465 			if (yych <= '>') goto yy99;
2466 			if (yych <= '@') goto yy94;
2467 			goto yy160;
2468 		} else {
2469 			if (yych <= '`') goto yy94;
2470 			if (yych <= 'z') goto yy160;
2471 			goto yy94;
2472 		}
2473 	}
2474 yy159:
2475 	yych = *++p;
2476 	if (yych <= '9') {
2477 		if (yych == '-') goto yy161;
2478 		if (yych <= '/') goto yy94;
2479 		goto yy162;
2480 	} else {
2481 		if (yych <= 'Z') {
2482 			if (yych <= '@') goto yy94;
2483 			goto yy162;
2484 		} else {
2485 			if (yych <= '`') goto yy94;
2486 			if (yych <= 'z') goto yy162;
2487 			goto yy94;
2488 		}
2489 	}
2490 yy160:
2491 	yych = *++p;
2492 	if (yych <= '=') {
2493 		if (yych <= '.') {
2494 			if (yych <= ',') goto yy94;
2495 			if (yych >= '.') goto yy95;
2496 		} else {
2497 			if (yych <= '/') goto yy94;
2498 			if (yych <= '9') goto yy162;
2499 			goto yy94;
2500 		}
2501 	} else {
2502 		if (yych <= 'Z') {
2503 			if (yych <= '>') goto yy99;
2504 			if (yych <= '@') goto yy94;
2505 			goto yy162;
2506 		} else {
2507 			if (yych <= '`') goto yy94;
2508 			if (yych <= 'z') goto yy162;
2509 			goto yy94;
2510 		}
2511 	}
2512 yy161:
2513 	yych = *++p;
2514 	if (yych <= '9') {
2515 		if (yych == '-') goto yy163;
2516 		if (yych <= '/') goto yy94;
2517 		goto yy164;
2518 	} else {
2519 		if (yych <= 'Z') {
2520 			if (yych <= '@') goto yy94;
2521 			goto yy164;
2522 		} else {
2523 			if (yych <= '`') goto yy94;
2524 			if (yych <= 'z') goto yy164;
2525 			goto yy94;
2526 		}
2527 	}
2528 yy162:
2529 	yych = *++p;
2530 	if (yych <= '=') {
2531 		if (yych <= '.') {
2532 			if (yych <= ',') goto yy94;
2533 			if (yych >= '.') goto yy95;
2534 		} else {
2535 			if (yych <= '/') goto yy94;
2536 			if (yych <= '9') goto yy164;
2537 			goto yy94;
2538 		}
2539 	} else {
2540 		if (yych <= 'Z') {
2541 			if (yych <= '>') goto yy99;
2542 			if (yych <= '@') goto yy94;
2543 			goto yy164;
2544 		} else {
2545 			if (yych <= '`') goto yy94;
2546 			if (yych <= 'z') goto yy164;
2547 			goto yy94;
2548 		}
2549 	}
2550 yy163:
2551 	yych = *++p;
2552 	if (yych <= '9') {
2553 		if (yych == '-') goto yy165;
2554 		if (yych <= '/') goto yy94;
2555 		goto yy166;
2556 	} else {
2557 		if (yych <= 'Z') {
2558 			if (yych <= '@') goto yy94;
2559 			goto yy166;
2560 		} else {
2561 			if (yych <= '`') goto yy94;
2562 			if (yych <= 'z') goto yy166;
2563 			goto yy94;
2564 		}
2565 	}
2566 yy164:
2567 	yych = *++p;
2568 	if (yych <= '=') {
2569 		if (yych <= '.') {
2570 			if (yych <= ',') goto yy94;
2571 			if (yych >= '.') goto yy95;
2572 		} else {
2573 			if (yych <= '/') goto yy94;
2574 			if (yych <= '9') goto yy166;
2575 			goto yy94;
2576 		}
2577 	} else {
2578 		if (yych <= 'Z') {
2579 			if (yych <= '>') goto yy99;
2580 			if (yych <= '@') goto yy94;
2581 			goto yy166;
2582 		} else {
2583 			if (yych <= '`') goto yy94;
2584 			if (yych <= 'z') goto yy166;
2585 			goto yy94;
2586 		}
2587 	}
2588 yy165:
2589 	yych = *++p;
2590 	if (yych <= '9') {
2591 		if (yych == '-') goto yy167;
2592 		if (yych <= '/') goto yy94;
2593 		goto yy168;
2594 	} else {
2595 		if (yych <= 'Z') {
2596 			if (yych <= '@') goto yy94;
2597 			goto yy168;
2598 		} else {
2599 			if (yych <= '`') goto yy94;
2600 			if (yych <= 'z') goto yy168;
2601 			goto yy94;
2602 		}
2603 	}
2604 yy166:
2605 	yych = *++p;
2606 	if (yych <= '=') {
2607 		if (yych <= '.') {
2608 			if (yych <= ',') goto yy94;
2609 			if (yych >= '.') goto yy95;
2610 		} else {
2611 			if (yych <= '/') goto yy94;
2612 			if (yych <= '9') goto yy168;
2613 			goto yy94;
2614 		}
2615 	} else {
2616 		if (yych <= 'Z') {
2617 			if (yych <= '>') goto yy99;
2618 			if (yych <= '@') goto yy94;
2619 			goto yy168;
2620 		} else {
2621 			if (yych <= '`') goto yy94;
2622 			if (yych <= 'z') goto yy168;
2623 			goto yy94;
2624 		}
2625 	}
2626 yy167:
2627 	yych = *++p;
2628 	if (yych <= '9') {
2629 		if (yych == '-') goto yy169;
2630 		if (yych <= '/') goto yy94;
2631 		goto yy170;
2632 	} else {
2633 		if (yych <= 'Z') {
2634 			if (yych <= '@') goto yy94;
2635 			goto yy170;
2636 		} else {
2637 			if (yych <= '`') goto yy94;
2638 			if (yych <= 'z') goto yy170;
2639 			goto yy94;
2640 		}
2641 	}
2642 yy168:
2643 	yych = *++p;
2644 	if (yych <= '=') {
2645 		if (yych <= '.') {
2646 			if (yych <= ',') goto yy94;
2647 			if (yych >= '.') goto yy95;
2648 		} else {
2649 			if (yych <= '/') goto yy94;
2650 			if (yych <= '9') goto yy170;
2651 			goto yy94;
2652 		}
2653 	} else {
2654 		if (yych <= 'Z') {
2655 			if (yych <= '>') goto yy99;
2656 			if (yych <= '@') goto yy94;
2657 			goto yy170;
2658 		} else {
2659 			if (yych <= '`') goto yy94;
2660 			if (yych <= 'z') goto yy170;
2661 			goto yy94;
2662 		}
2663 	}
2664 yy169:
2665 	yych = *++p;
2666 	if (yych <= '9') {
2667 		if (yych == '-') goto yy171;
2668 		if (yych <= '/') goto yy94;
2669 		goto yy172;
2670 	} else {
2671 		if (yych <= 'Z') {
2672 			if (yych <= '@') goto yy94;
2673 			goto yy172;
2674 		} else {
2675 			if (yych <= '`') goto yy94;
2676 			if (yych <= 'z') goto yy172;
2677 			goto yy94;
2678 		}
2679 	}
2680 yy170:
2681 	yych = *++p;
2682 	if (yych <= '=') {
2683 		if (yych <= '.') {
2684 			if (yych <= ',') goto yy94;
2685 			if (yych >= '.') goto yy95;
2686 		} else {
2687 			if (yych <= '/') goto yy94;
2688 			if (yych <= '9') goto yy172;
2689 			goto yy94;
2690 		}
2691 	} else {
2692 		if (yych <= 'Z') {
2693 			if (yych <= '>') goto yy99;
2694 			if (yych <= '@') goto yy94;
2695 			goto yy172;
2696 		} else {
2697 			if (yych <= '`') goto yy94;
2698 			if (yych <= 'z') goto yy172;
2699 			goto yy94;
2700 		}
2701 	}
2702 yy171:
2703 	yych = *++p;
2704 	if (yych <= '9') {
2705 		if (yych == '-') goto yy173;
2706 		if (yych <= '/') goto yy94;
2707 		goto yy174;
2708 	} else {
2709 		if (yych <= 'Z') {
2710 			if (yych <= '@') goto yy94;
2711 			goto yy174;
2712 		} else {
2713 			if (yych <= '`') goto yy94;
2714 			if (yych <= 'z') goto yy174;
2715 			goto yy94;
2716 		}
2717 	}
2718 yy172:
2719 	yych = *++p;
2720 	if (yych <= '=') {
2721 		if (yych <= '.') {
2722 			if (yych <= ',') goto yy94;
2723 			if (yych >= '.') goto yy95;
2724 		} else {
2725 			if (yych <= '/') goto yy94;
2726 			if (yych <= '9') goto yy174;
2727 			goto yy94;
2728 		}
2729 	} else {
2730 		if (yych <= 'Z') {
2731 			if (yych <= '>') goto yy99;
2732 			if (yych <= '@') goto yy94;
2733 			goto yy174;
2734 		} else {
2735 			if (yych <= '`') goto yy94;
2736 			if (yych <= 'z') goto yy174;
2737 			goto yy94;
2738 		}
2739 	}
2740 yy173:
2741 	yych = *++p;
2742 	if (yych <= '9') {
2743 		if (yych == '-') goto yy175;
2744 		if (yych <= '/') goto yy94;
2745 		goto yy176;
2746 	} else {
2747 		if (yych <= 'Z') {
2748 			if (yych <= '@') goto yy94;
2749 			goto yy176;
2750 		} else {
2751 			if (yych <= '`') goto yy94;
2752 			if (yych <= 'z') goto yy176;
2753 			goto yy94;
2754 		}
2755 	}
2756 yy174:
2757 	yych = *++p;
2758 	if (yych <= '=') {
2759 		if (yych <= '.') {
2760 			if (yych <= ',') goto yy94;
2761 			if (yych >= '.') goto yy95;
2762 		} else {
2763 			if (yych <= '/') goto yy94;
2764 			if (yych <= '9') goto yy176;
2765 			goto yy94;
2766 		}
2767 	} else {
2768 		if (yych <= 'Z') {
2769 			if (yych <= '>') goto yy99;
2770 			if (yych <= '@') goto yy94;
2771 			goto yy176;
2772 		} else {
2773 			if (yych <= '`') goto yy94;
2774 			if (yych <= 'z') goto yy176;
2775 			goto yy94;
2776 		}
2777 	}
2778 yy175:
2779 	yych = *++p;
2780 	if (yych <= '9') {
2781 		if (yych == '-') goto yy177;
2782 		if (yych <= '/') goto yy94;
2783 		goto yy178;
2784 	} else {
2785 		if (yych <= 'Z') {
2786 			if (yych <= '@') goto yy94;
2787 			goto yy178;
2788 		} else {
2789 			if (yych <= '`') goto yy94;
2790 			if (yych <= 'z') goto yy178;
2791 			goto yy94;
2792 		}
2793 	}
2794 yy176:
2795 	yych = *++p;
2796 	if (yych <= '=') {
2797 		if (yych <= '.') {
2798 			if (yych <= ',') goto yy94;
2799 			if (yych >= '.') goto yy95;
2800 		} else {
2801 			if (yych <= '/') goto yy94;
2802 			if (yych <= '9') goto yy178;
2803 			goto yy94;
2804 		}
2805 	} else {
2806 		if (yych <= 'Z') {
2807 			if (yych <= '>') goto yy99;
2808 			if (yych <= '@') goto yy94;
2809 			goto yy178;
2810 		} else {
2811 			if (yych <= '`') goto yy94;
2812 			if (yych <= 'z') goto yy178;
2813 			goto yy94;
2814 		}
2815 	}
2816 yy177:
2817 	yych = *++p;
2818 	if (yych <= '9') {
2819 		if (yych == '-') goto yy179;
2820 		if (yych <= '/') goto yy94;
2821 		goto yy180;
2822 	} else {
2823 		if (yych <= 'Z') {
2824 			if (yych <= '@') goto yy94;
2825 			goto yy180;
2826 		} else {
2827 			if (yych <= '`') goto yy94;
2828 			if (yych <= 'z') goto yy180;
2829 			goto yy94;
2830 		}
2831 	}
2832 yy178:
2833 	yych = *++p;
2834 	if (yych <= '=') {
2835 		if (yych <= '.') {
2836 			if (yych <= ',') goto yy94;
2837 			if (yych >= '.') goto yy95;
2838 		} else {
2839 			if (yych <= '/') goto yy94;
2840 			if (yych <= '9') goto yy180;
2841 			goto yy94;
2842 		}
2843 	} else {
2844 		if (yych <= 'Z') {
2845 			if (yych <= '>') goto yy99;
2846 			if (yych <= '@') goto yy94;
2847 			goto yy180;
2848 		} else {
2849 			if (yych <= '`') goto yy94;
2850 			if (yych <= 'z') goto yy180;
2851 			goto yy94;
2852 		}
2853 	}
2854 yy179:
2855 	yych = *++p;
2856 	if (yych <= '9') {
2857 		if (yych == '-') goto yy181;
2858 		if (yych <= '/') goto yy94;
2859 		goto yy182;
2860 	} else {
2861 		if (yych <= 'Z') {
2862 			if (yych <= '@') goto yy94;
2863 			goto yy182;
2864 		} else {
2865 			if (yych <= '`') goto yy94;
2866 			if (yych <= 'z') goto yy182;
2867 			goto yy94;
2868 		}
2869 	}
2870 yy180:
2871 	yych = *++p;
2872 	if (yych <= '=') {
2873 		if (yych <= '.') {
2874 			if (yych <= ',') goto yy94;
2875 			if (yych >= '.') goto yy95;
2876 		} else {
2877 			if (yych <= '/') goto yy94;
2878 			if (yych <= '9') goto yy182;
2879 			goto yy94;
2880 		}
2881 	} else {
2882 		if (yych <= 'Z') {
2883 			if (yych <= '>') goto yy99;
2884 			if (yych <= '@') goto yy94;
2885 			goto yy182;
2886 		} else {
2887 			if (yych <= '`') goto yy94;
2888 			if (yych <= 'z') goto yy182;
2889 			goto yy94;
2890 		}
2891 	}
2892 yy181:
2893 	yych = *++p;
2894 	if (yych <= '9') {
2895 		if (yych == '-') goto yy183;
2896 		if (yych <= '/') goto yy94;
2897 		goto yy184;
2898 	} else {
2899 		if (yych <= 'Z') {
2900 			if (yych <= '@') goto yy94;
2901 			goto yy184;
2902 		} else {
2903 			if (yych <= '`') goto yy94;
2904 			if (yych <= 'z') goto yy184;
2905 			goto yy94;
2906 		}
2907 	}
2908 yy182:
2909 	yych = *++p;
2910 	if (yych <= '=') {
2911 		if (yych <= '.') {
2912 			if (yych <= ',') goto yy94;
2913 			if (yych >= '.') goto yy95;
2914 		} else {
2915 			if (yych <= '/') goto yy94;
2916 			if (yych <= '9') goto yy184;
2917 			goto yy94;
2918 		}
2919 	} else {
2920 		if (yych <= 'Z') {
2921 			if (yych <= '>') goto yy99;
2922 			if (yych <= '@') goto yy94;
2923 			goto yy184;
2924 		} else {
2925 			if (yych <= '`') goto yy94;
2926 			if (yych <= 'z') goto yy184;
2927 			goto yy94;
2928 		}
2929 	}
2930 yy183:
2931 	yych = *++p;
2932 	if (yych <= '9') {
2933 		if (yych == '-') goto yy185;
2934 		if (yych <= '/') goto yy94;
2935 		goto yy186;
2936 	} else {
2937 		if (yych <= 'Z') {
2938 			if (yych <= '@') goto yy94;
2939 			goto yy186;
2940 		} else {
2941 			if (yych <= '`') goto yy94;
2942 			if (yych <= 'z') goto yy186;
2943 			goto yy94;
2944 		}
2945 	}
2946 yy184:
2947 	yych = *++p;
2948 	if (yych <= '=') {
2949 		if (yych <= '.') {
2950 			if (yych <= ',') goto yy94;
2951 			if (yych >= '.') goto yy95;
2952 		} else {
2953 			if (yych <= '/') goto yy94;
2954 			if (yych <= '9') goto yy186;
2955 			goto yy94;
2956 		}
2957 	} else {
2958 		if (yych <= 'Z') {
2959 			if (yych <= '>') goto yy99;
2960 			if (yych <= '@') goto yy94;
2961 			goto yy186;
2962 		} else {
2963 			if (yych <= '`') goto yy94;
2964 			if (yych <= 'z') goto yy186;
2965 			goto yy94;
2966 		}
2967 	}
2968 yy185:
2969 	yych = *++p;
2970 	if (yych <= '9') {
2971 		if (yych == '-') goto yy187;
2972 		if (yych <= '/') goto yy94;
2973 		goto yy188;
2974 	} else {
2975 		if (yych <= 'Z') {
2976 			if (yych <= '@') goto yy94;
2977 			goto yy188;
2978 		} else {
2979 			if (yych <= '`') goto yy94;
2980 			if (yych <= 'z') goto yy188;
2981 			goto yy94;
2982 		}
2983 	}
2984 yy186:
2985 	yych = *++p;
2986 	if (yych <= '=') {
2987 		if (yych <= '.') {
2988 			if (yych <= ',') goto yy94;
2989 			if (yych >= '.') goto yy95;
2990 		} else {
2991 			if (yych <= '/') goto yy94;
2992 			if (yych <= '9') goto yy188;
2993 			goto yy94;
2994 		}
2995 	} else {
2996 		if (yych <= 'Z') {
2997 			if (yych <= '>') goto yy99;
2998 			if (yych <= '@') goto yy94;
2999 			goto yy188;
3000 		} else {
3001 			if (yych <= '`') goto yy94;
3002 			if (yych <= 'z') goto yy188;
3003 			goto yy94;
3004 		}
3005 	}
3006 yy187:
3007 	yych = *++p;
3008 	if (yych <= '9') {
3009 		if (yych == '-') goto yy189;
3010 		if (yych <= '/') goto yy94;
3011 		goto yy190;
3012 	} else {
3013 		if (yych <= 'Z') {
3014 			if (yych <= '@') goto yy94;
3015 			goto yy190;
3016 		} else {
3017 			if (yych <= '`') goto yy94;
3018 			if (yych <= 'z') goto yy190;
3019 			goto yy94;
3020 		}
3021 	}
3022 yy188:
3023 	yych = *++p;
3024 	if (yych <= '=') {
3025 		if (yych <= '.') {
3026 			if (yych <= ',') goto yy94;
3027 			if (yych >= '.') goto yy95;
3028 		} else {
3029 			if (yych <= '/') goto yy94;
3030 			if (yych <= '9') goto yy190;
3031 			goto yy94;
3032 		}
3033 	} else {
3034 		if (yych <= 'Z') {
3035 			if (yych <= '>') goto yy99;
3036 			if (yych <= '@') goto yy94;
3037 			goto yy190;
3038 		} else {
3039 			if (yych <= '`') goto yy94;
3040 			if (yych <= 'z') goto yy190;
3041 			goto yy94;
3042 		}
3043 	}
3044 yy189:
3045 	yych = *++p;
3046 	if (yych <= '9') {
3047 		if (yych == '-') goto yy191;
3048 		if (yych <= '/') goto yy94;
3049 		goto yy192;
3050 	} else {
3051 		if (yych <= 'Z') {
3052 			if (yych <= '@') goto yy94;
3053 			goto yy192;
3054 		} else {
3055 			if (yych <= '`') goto yy94;
3056 			if (yych <= 'z') goto yy192;
3057 			goto yy94;
3058 		}
3059 	}
3060 yy190:
3061 	yych = *++p;
3062 	if (yych <= '=') {
3063 		if (yych <= '.') {
3064 			if (yych <= ',') goto yy94;
3065 			if (yych >= '.') goto yy95;
3066 		} else {
3067 			if (yych <= '/') goto yy94;
3068 			if (yych <= '9') goto yy192;
3069 			goto yy94;
3070 		}
3071 	} else {
3072 		if (yych <= 'Z') {
3073 			if (yych <= '>') goto yy99;
3074 			if (yych <= '@') goto yy94;
3075 			goto yy192;
3076 		} else {
3077 			if (yych <= '`') goto yy94;
3078 			if (yych <= 'z') goto yy192;
3079 			goto yy94;
3080 		}
3081 	}
3082 yy191:
3083 	yych = *++p;
3084 	if (yych <= '9') {
3085 		if (yych == '-') goto yy193;
3086 		if (yych <= '/') goto yy94;
3087 		goto yy194;
3088 	} else {
3089 		if (yych <= 'Z') {
3090 			if (yych <= '@') goto yy94;
3091 			goto yy194;
3092 		} else {
3093 			if (yych <= '`') goto yy94;
3094 			if (yych <= 'z') goto yy194;
3095 			goto yy94;
3096 		}
3097 	}
3098 yy192:
3099 	yych = *++p;
3100 	if (yych <= '=') {
3101 		if (yych <= '.') {
3102 			if (yych <= ',') goto yy94;
3103 			if (yych >= '.') goto yy95;
3104 		} else {
3105 			if (yych <= '/') goto yy94;
3106 			if (yych <= '9') goto yy194;
3107 			goto yy94;
3108 		}
3109 	} else {
3110 		if (yych <= 'Z') {
3111 			if (yych <= '>') goto yy99;
3112 			if (yych <= '@') goto yy94;
3113 			goto yy194;
3114 		} else {
3115 			if (yych <= '`') goto yy94;
3116 			if (yych <= 'z') goto yy194;
3117 			goto yy94;
3118 		}
3119 	}
3120 yy193:
3121 	yych = *++p;
3122 	if (yych <= '9') {
3123 		if (yych == '-') goto yy195;
3124 		if (yych <= '/') goto yy94;
3125 		goto yy196;
3126 	} else {
3127 		if (yych <= 'Z') {
3128 			if (yych <= '@') goto yy94;
3129 			goto yy196;
3130 		} else {
3131 			if (yych <= '`') goto yy94;
3132 			if (yych <= 'z') goto yy196;
3133 			goto yy94;
3134 		}
3135 	}
3136 yy194:
3137 	yych = *++p;
3138 	if (yych <= '=') {
3139 		if (yych <= '.') {
3140 			if (yych <= ',') goto yy94;
3141 			if (yych >= '.') goto yy95;
3142 		} else {
3143 			if (yych <= '/') goto yy94;
3144 			if (yych <= '9') goto yy196;
3145 			goto yy94;
3146 		}
3147 	} else {
3148 		if (yych <= 'Z') {
3149 			if (yych <= '>') goto yy99;
3150 			if (yych <= '@') goto yy94;
3151 			goto yy196;
3152 		} else {
3153 			if (yych <= '`') goto yy94;
3154 			if (yych <= 'z') goto yy196;
3155 			goto yy94;
3156 		}
3157 	}
3158 yy195:
3159 	yych = *++p;
3160 	if (yych <= '9') {
3161 		if (yych == '-') goto yy197;
3162 		if (yych <= '/') goto yy94;
3163 		goto yy198;
3164 	} else {
3165 		if (yych <= 'Z') {
3166 			if (yych <= '@') goto yy94;
3167 			goto yy198;
3168 		} else {
3169 			if (yych <= '`') goto yy94;
3170 			if (yych <= 'z') goto yy198;
3171 			goto yy94;
3172 		}
3173 	}
3174 yy196:
3175 	yych = *++p;
3176 	if (yych <= '=') {
3177 		if (yych <= '.') {
3178 			if (yych <= ',') goto yy94;
3179 			if (yych >= '.') goto yy95;
3180 		} else {
3181 			if (yych <= '/') goto yy94;
3182 			if (yych <= '9') goto yy198;
3183 			goto yy94;
3184 		}
3185 	} else {
3186 		if (yych <= 'Z') {
3187 			if (yych <= '>') goto yy99;
3188 			if (yych <= '@') goto yy94;
3189 			goto yy198;
3190 		} else {
3191 			if (yych <= '`') goto yy94;
3192 			if (yych <= 'z') goto yy198;
3193 			goto yy94;
3194 		}
3195 	}
3196 yy197:
3197 	yych = *++p;
3198 	if (yych <= '9') {
3199 		if (yych == '-') goto yy199;
3200 		if (yych <= '/') goto yy94;
3201 		goto yy200;
3202 	} else {
3203 		if (yych <= 'Z') {
3204 			if (yych <= '@') goto yy94;
3205 			goto yy200;
3206 		} else {
3207 			if (yych <= '`') goto yy94;
3208 			if (yych <= 'z') goto yy200;
3209 			goto yy94;
3210 		}
3211 	}
3212 yy198:
3213 	yych = *++p;
3214 	if (yych <= '=') {
3215 		if (yych <= '.') {
3216 			if (yych <= ',') goto yy94;
3217 			if (yych >= '.') goto yy95;
3218 		} else {
3219 			if (yych <= '/') goto yy94;
3220 			if (yych <= '9') goto yy200;
3221 			goto yy94;
3222 		}
3223 	} else {
3224 		if (yych <= 'Z') {
3225 			if (yych <= '>') goto yy99;
3226 			if (yych <= '@') goto yy94;
3227 			goto yy200;
3228 		} else {
3229 			if (yych <= '`') goto yy94;
3230 			if (yych <= 'z') goto yy200;
3231 			goto yy94;
3232 		}
3233 	}
3234 yy199:
3235 	yych = *++p;
3236 	if (yych <= '9') {
3237 		if (yych == '-') goto yy201;
3238 		if (yych <= '/') goto yy94;
3239 		goto yy202;
3240 	} else {
3241 		if (yych <= 'Z') {
3242 			if (yych <= '@') goto yy94;
3243 			goto yy202;
3244 		} else {
3245 			if (yych <= '`') goto yy94;
3246 			if (yych <= 'z') goto yy202;
3247 			goto yy94;
3248 		}
3249 	}
3250 yy200:
3251 	yych = *++p;
3252 	if (yych <= '=') {
3253 		if (yych <= '.') {
3254 			if (yych <= ',') goto yy94;
3255 			if (yych >= '.') goto yy95;
3256 		} else {
3257 			if (yych <= '/') goto yy94;
3258 			if (yych <= '9') goto yy202;
3259 			goto yy94;
3260 		}
3261 	} else {
3262 		if (yych <= 'Z') {
3263 			if (yych <= '>') goto yy99;
3264 			if (yych <= '@') goto yy94;
3265 			goto yy202;
3266 		} else {
3267 			if (yych <= '`') goto yy94;
3268 			if (yych <= 'z') goto yy202;
3269 			goto yy94;
3270 		}
3271 	}
3272 yy201:
3273 	yych = *++p;
3274 	if (yych <= '9') {
3275 		if (yych == '-') goto yy203;
3276 		if (yych <= '/') goto yy94;
3277 		goto yy204;
3278 	} else {
3279 		if (yych <= 'Z') {
3280 			if (yych <= '@') goto yy94;
3281 			goto yy204;
3282 		} else {
3283 			if (yych <= '`') goto yy94;
3284 			if (yych <= 'z') goto yy204;
3285 			goto yy94;
3286 		}
3287 	}
3288 yy202:
3289 	yych = *++p;
3290 	if (yych <= '=') {
3291 		if (yych <= '.') {
3292 			if (yych <= ',') goto yy94;
3293 			if (yych >= '.') goto yy95;
3294 		} else {
3295 			if (yych <= '/') goto yy94;
3296 			if (yych <= '9') goto yy204;
3297 			goto yy94;
3298 		}
3299 	} else {
3300 		if (yych <= 'Z') {
3301 			if (yych <= '>') goto yy99;
3302 			if (yych <= '@') goto yy94;
3303 			goto yy204;
3304 		} else {
3305 			if (yych <= '`') goto yy94;
3306 			if (yych <= 'z') goto yy204;
3307 			goto yy94;
3308 		}
3309 	}
3310 yy203:
3311 	yych = *++p;
3312 	if (yych <= '9') {
3313 		if (yych == '-') goto yy205;
3314 		if (yych <= '/') goto yy94;
3315 		goto yy206;
3316 	} else {
3317 		if (yych <= 'Z') {
3318 			if (yych <= '@') goto yy94;
3319 			goto yy206;
3320 		} else {
3321 			if (yych <= '`') goto yy94;
3322 			if (yych <= 'z') goto yy206;
3323 			goto yy94;
3324 		}
3325 	}
3326 yy204:
3327 	yych = *++p;
3328 	if (yych <= '=') {
3329 		if (yych <= '.') {
3330 			if (yych <= ',') goto yy94;
3331 			if (yych >= '.') goto yy95;
3332 		} else {
3333 			if (yych <= '/') goto yy94;
3334 			if (yych <= '9') goto yy206;
3335 			goto yy94;
3336 		}
3337 	} else {
3338 		if (yych <= 'Z') {
3339 			if (yych <= '>') goto yy99;
3340 			if (yych <= '@') goto yy94;
3341 			goto yy206;
3342 		} else {
3343 			if (yych <= '`') goto yy94;
3344 			if (yych <= 'z') goto yy206;
3345 			goto yy94;
3346 		}
3347 	}
3348 yy205:
3349 	yych = *++p;
3350 	if (yych <= '9') {
3351 		if (yych == '-') goto yy207;
3352 		if (yych <= '/') goto yy94;
3353 		goto yy208;
3354 	} else {
3355 		if (yych <= 'Z') {
3356 			if (yych <= '@') goto yy94;
3357 			goto yy208;
3358 		} else {
3359 			if (yych <= '`') goto yy94;
3360 			if (yych <= 'z') goto yy208;
3361 			goto yy94;
3362 		}
3363 	}
3364 yy206:
3365 	yych = *++p;
3366 	if (yych <= '=') {
3367 		if (yych <= '.') {
3368 			if (yych <= ',') goto yy94;
3369 			if (yych >= '.') goto yy95;
3370 		} else {
3371 			if (yych <= '/') goto yy94;
3372 			if (yych <= '9') goto yy208;
3373 			goto yy94;
3374 		}
3375 	} else {
3376 		if (yych <= 'Z') {
3377 			if (yych <= '>') goto yy99;
3378 			if (yych <= '@') goto yy94;
3379 			goto yy208;
3380 		} else {
3381 			if (yych <= '`') goto yy94;
3382 			if (yych <= 'z') goto yy208;
3383 			goto yy94;
3384 		}
3385 	}
3386 yy207:
3387 	yych = *++p;
3388 	if (yych <= '9') {
3389 		if (yych == '-') goto yy209;
3390 		if (yych <= '/') goto yy94;
3391 		goto yy210;
3392 	} else {
3393 		if (yych <= 'Z') {
3394 			if (yych <= '@') goto yy94;
3395 			goto yy210;
3396 		} else {
3397 			if (yych <= '`') goto yy94;
3398 			if (yych <= 'z') goto yy210;
3399 			goto yy94;
3400 		}
3401 	}
3402 yy208:
3403 	yych = *++p;
3404 	if (yych <= '=') {
3405 		if (yych <= '.') {
3406 			if (yych <= ',') goto yy94;
3407 			if (yych >= '.') goto yy95;
3408 		} else {
3409 			if (yych <= '/') goto yy94;
3410 			if (yych <= '9') goto yy210;
3411 			goto yy94;
3412 		}
3413 	} else {
3414 		if (yych <= 'Z') {
3415 			if (yych <= '>') goto yy99;
3416 			if (yych <= '@') goto yy94;
3417 			goto yy210;
3418 		} else {
3419 			if (yych <= '`') goto yy94;
3420 			if (yych <= 'z') goto yy210;
3421 			goto yy94;
3422 		}
3423 	}
3424 yy209:
3425 	yych = *++p;
3426 	if (yych <= '9') {
3427 		if (yych == '-') goto yy211;
3428 		if (yych <= '/') goto yy94;
3429 		goto yy212;
3430 	} else {
3431 		if (yych <= 'Z') {
3432 			if (yych <= '@') goto yy94;
3433 			goto yy212;
3434 		} else {
3435 			if (yych <= '`') goto yy94;
3436 			if (yych <= 'z') goto yy212;
3437 			goto yy94;
3438 		}
3439 	}
3440 yy210:
3441 	yych = *++p;
3442 	if (yych <= '=') {
3443 		if (yych <= '.') {
3444 			if (yych <= ',') goto yy94;
3445 			if (yych >= '.') goto yy95;
3446 		} else {
3447 			if (yych <= '/') goto yy94;
3448 			if (yych <= '9') goto yy212;
3449 			goto yy94;
3450 		}
3451 	} else {
3452 		if (yych <= 'Z') {
3453 			if (yych <= '>') goto yy99;
3454 			if (yych <= '@') goto yy94;
3455 			goto yy212;
3456 		} else {
3457 			if (yych <= '`') goto yy94;
3458 			if (yych <= 'z') goto yy212;
3459 			goto yy94;
3460 		}
3461 	}
3462 yy211:
3463 	yych = *++p;
3464 	if (yych <= '9') {
3465 		if (yych == '-') goto yy213;
3466 		if (yych <= '/') goto yy94;
3467 		goto yy214;
3468 	} else {
3469 		if (yych <= 'Z') {
3470 			if (yych <= '@') goto yy94;
3471 			goto yy214;
3472 		} else {
3473 			if (yych <= '`') goto yy94;
3474 			if (yych <= 'z') goto yy214;
3475 			goto yy94;
3476 		}
3477 	}
3478 yy212:
3479 	yych = *++p;
3480 	if (yych <= '=') {
3481 		if (yych <= '.') {
3482 			if (yych <= ',') goto yy94;
3483 			if (yych >= '.') goto yy95;
3484 		} else {
3485 			if (yych <= '/') goto yy94;
3486 			if (yych <= '9') goto yy214;
3487 			goto yy94;
3488 		}
3489 	} else {
3490 		if (yych <= 'Z') {
3491 			if (yych <= '>') goto yy99;
3492 			if (yych <= '@') goto yy94;
3493 			goto yy214;
3494 		} else {
3495 			if (yych <= '`') goto yy94;
3496 			if (yych <= 'z') goto yy214;
3497 			goto yy94;
3498 		}
3499 	}
3500 yy213:
3501 	yych = *++p;
3502 	if (yych <= '9') {
3503 		if (yych == '-') goto yy215;
3504 		if (yych <= '/') goto yy94;
3505 		goto yy216;
3506 	} else {
3507 		if (yych <= 'Z') {
3508 			if (yych <= '@') goto yy94;
3509 			goto yy216;
3510 		} else {
3511 			if (yych <= '`') goto yy94;
3512 			if (yych <= 'z') goto yy216;
3513 			goto yy94;
3514 		}
3515 	}
3516 yy214:
3517 	yych = *++p;
3518 	if (yych <= '=') {
3519 		if (yych <= '.') {
3520 			if (yych <= ',') goto yy94;
3521 			if (yych >= '.') goto yy95;
3522 		} else {
3523 			if (yych <= '/') goto yy94;
3524 			if (yych <= '9') goto yy216;
3525 			goto yy94;
3526 		}
3527 	} else {
3528 		if (yych <= 'Z') {
3529 			if (yych <= '>') goto yy99;
3530 			if (yych <= '@') goto yy94;
3531 			goto yy216;
3532 		} else {
3533 			if (yych <= '`') goto yy94;
3534 			if (yych <= 'z') goto yy216;
3535 			goto yy94;
3536 		}
3537 	}
3538 yy215:
3539 	yych = *++p;
3540 	if (yych <= '9') {
3541 		if (yych == '-') goto yy217;
3542 		if (yych <= '/') goto yy94;
3543 		goto yy218;
3544 	} else {
3545 		if (yych <= 'Z') {
3546 			if (yych <= '@') goto yy94;
3547 			goto yy218;
3548 		} else {
3549 			if (yych <= '`') goto yy94;
3550 			if (yych <= 'z') goto yy218;
3551 			goto yy94;
3552 		}
3553 	}
3554 yy216:
3555 	yych = *++p;
3556 	if (yych <= '=') {
3557 		if (yych <= '.') {
3558 			if (yych <= ',') goto yy94;
3559 			if (yych >= '.') goto yy95;
3560 		} else {
3561 			if (yych <= '/') goto yy94;
3562 			if (yych <= '9') goto yy218;
3563 			goto yy94;
3564 		}
3565 	} else {
3566 		if (yych <= 'Z') {
3567 			if (yych <= '>') goto yy99;
3568 			if (yych <= '@') goto yy94;
3569 			goto yy218;
3570 		} else {
3571 			if (yych <= '`') goto yy94;
3572 			if (yych <= 'z') goto yy218;
3573 			goto yy94;
3574 		}
3575 	}
3576 yy217:
3577 	yych = *++p;
3578 	if (yych <= '9') {
3579 		if (yych == '-') goto yy219;
3580 		if (yych <= '/') goto yy94;
3581 		goto yy220;
3582 	} else {
3583 		if (yych <= 'Z') {
3584 			if (yych <= '@') goto yy94;
3585 			goto yy220;
3586 		} else {
3587 			if (yych <= '`') goto yy94;
3588 			if (yych <= 'z') goto yy220;
3589 			goto yy94;
3590 		}
3591 	}
3592 yy218:
3593 	yych = *++p;
3594 	if (yych <= '=') {
3595 		if (yych <= '.') {
3596 			if (yych <= ',') goto yy94;
3597 			if (yych >= '.') goto yy95;
3598 		} else {
3599 			if (yych <= '/') goto yy94;
3600 			if (yych <= '9') goto yy220;
3601 			goto yy94;
3602 		}
3603 	} else {
3604 		if (yych <= 'Z') {
3605 			if (yych <= '>') goto yy99;
3606 			if (yych <= '@') goto yy94;
3607 			goto yy220;
3608 		} else {
3609 			if (yych <= '`') goto yy94;
3610 			if (yych <= 'z') goto yy220;
3611 			goto yy94;
3612 		}
3613 	}
3614 yy219:
3615 	yych = *++p;
3616 	if (yych <= '@') {
3617 		if (yych <= '/') goto yy94;
3618 		if (yych <= '9') goto yy221;
3619 		goto yy94;
3620 	} else {
3621 		if (yych <= 'Z') goto yy221;
3622 		if (yych <= '`') goto yy94;
3623 		if (yych <= 'z') goto yy221;
3624 		goto yy94;
3625 	}
3626 yy220:
3627 	yych = *++p;
3628 	if (yych <= '=') {
3629 		if (yych <= '.') {
3630 			if (yych <= '-') goto yy94;
3631 			goto yy95;
3632 		} else {
3633 			if (yych <= '/') goto yy94;
3634 			if (yych >= ':') goto yy94;
3635 		}
3636 	} else {
3637 		if (yych <= 'Z') {
3638 			if (yych <= '>') goto yy99;
3639 			if (yych <= '@') goto yy94;
3640 		} else {
3641 			if (yych <= '`') goto yy94;
3642 			if (yych >= '{') goto yy94;
3643 		}
3644 	}
3645 yy221:
3646 	yych = *++p;
3647 	if (yych == '.') goto yy95;
3648 	if (yych == '>') goto yy99;
3649 	goto yy94;
3650 }
3651 
3652 }
3653 
3654 // Try to match an HTML tag after first <, returning num of chars matched.
_scan_html_tag(const unsigned char * p)3655 bufsize_t _scan_html_tag(const unsigned char *p)
3656 {
3657   const unsigned char *marker = NULL;
3658   const unsigned char *start = p;
3659 
3660 {
3661 	unsigned char yych;
3662 	static const unsigned char yybm[] = {
3663 		/* table 1 .. 8: 0 */
3664 		  0, 250, 250, 250, 250, 250, 250, 250,
3665 		250, 235, 235, 235, 235, 235, 250, 250,
3666 		250, 250, 250, 250, 250, 250, 250, 250,
3667 		250, 250, 250, 250, 250, 250, 250, 250,
3668 		235, 250, 202, 250, 250, 250, 250, 170,
3669 		250, 250, 250, 250, 250, 246, 254, 250,
3670 		254, 254, 254, 254, 254, 254, 254, 254,
3671 		254, 254, 254, 250, 234, 234, 232, 250,
3672 		250, 254, 254, 254, 254, 254, 254, 254,
3673 		254, 254, 254, 254, 254, 254, 254, 254,
3674 		254, 254, 254, 254, 254, 254, 254, 254,
3675 		254, 254, 254, 250, 250, 122, 250, 254,
3676 		234, 254, 254, 254, 254, 254, 254, 254,
3677 		254, 254, 254, 254, 254, 254, 254, 254,
3678 		254, 254, 254, 254, 254, 254, 254, 254,
3679 		254, 254, 254, 250, 250, 250, 250, 250,
3680 		  0,   0,   0,   0,   0,   0,   0,   0,
3681 		  0,   0,   0,   0,   0,   0,   0,   0,
3682 		  0,   0,   0,   0,   0,   0,   0,   0,
3683 		  0,   0,   0,   0,   0,   0,   0,   0,
3684 		  0,   0,   0,   0,   0,   0,   0,   0,
3685 		  0,   0,   0,   0,   0,   0,   0,   0,
3686 		  0,   0,   0,   0,   0,   0,   0,   0,
3687 		  0,   0,   0,   0,   0,   0,   0,   0,
3688 		  0,   0,   0,   0,   0,   0,   0,   0,
3689 		  0,   0,   0,   0,   0,   0,   0,   0,
3690 		  0,   0,   0,   0,   0,   0,   0,   0,
3691 		  0,   0,   0,   0,   0,   0,   0,   0,
3692 		  0,   0,   0,   0,   0,   0,   0,   0,
3693 		  0,   0,   0,   0,   0,   0,   0,   0,
3694 		  0,   0,   0,   0,   0,   0,   0,   0,
3695 		  0,   0,   0,   0,   0,   0,   0,   0,
3696 		/* table 9 .. 11: 256 */
3697 		  0, 128, 128, 128, 128, 128, 128, 128,
3698 		128, 128, 128, 128, 128, 128, 128, 128,
3699 		128, 128, 128, 128, 128, 128, 128, 128,
3700 		128, 128, 128, 128, 128, 128, 128, 128,
3701 		128, 128, 128, 128, 128, 128, 128, 128,
3702 		128, 128, 128, 128, 128, 192, 128, 128,
3703 		192, 192, 192, 192, 192, 192, 192, 192,
3704 		192, 192, 128, 128, 128, 128, 128,   0,
3705 		128, 224, 224, 224, 224, 224, 224, 224,
3706 		224, 224, 224, 224, 224, 224, 224, 224,
3707 		224, 224, 224, 224, 224, 224, 224, 224,
3708 		224, 224, 224, 128, 128, 128, 128, 128,
3709 		128, 192, 192, 192, 192, 192, 192, 192,
3710 		192, 192, 192, 192, 192, 192, 192, 192,
3711 		192, 192, 192, 192, 192, 192, 192, 192,
3712 		192, 192, 192, 128, 128, 128, 128, 128,
3713 		  0,   0,   0,   0,   0,   0,   0,   0,
3714 		  0,   0,   0,   0,   0,   0,   0,   0,
3715 		  0,   0,   0,   0,   0,   0,   0,   0,
3716 		  0,   0,   0,   0,   0,   0,   0,   0,
3717 		  0,   0,   0,   0,   0,   0,   0,   0,
3718 		  0,   0,   0,   0,   0,   0,   0,   0,
3719 		  0,   0,   0,   0,   0,   0,   0,   0,
3720 		  0,   0,   0,   0,   0,   0,   0,   0,
3721 		  0,   0,   0,   0,   0,   0,   0,   0,
3722 		  0,   0,   0,   0,   0,   0,   0,   0,
3723 		  0,   0,   0,   0,   0,   0,   0,   0,
3724 		  0,   0,   0,   0,   0,   0,   0,   0,
3725 		  0,   0,   0,   0,   0,   0,   0,   0,
3726 		  0,   0,   0,   0,   0,   0,   0,   0,
3727 		  0,   0,   0,   0,   0,   0,   0,   0,
3728 		  0,   0,   0,   0,   0,   0,   0,   0,
3729 	};
3730 	yych = *p;
3731 	if (yych <= '>') {
3732 		if (yych <= '!') {
3733 			if (yych >= '!') goto yy226;
3734 		} else {
3735 			if (yych == '/') goto yy227;
3736 		}
3737 	} else {
3738 		if (yych <= 'Z') {
3739 			if (yych <= '?') goto yy228;
3740 			if (yych >= 'A') goto yy229;
3741 		} else {
3742 			if (yych <= '`') goto yy224;
3743 			if (yych <= 'z') goto yy229;
3744 		}
3745 	}
3746 yy224:
3747 	++p;
3748 yy225:
3749 	{ return 0; }
3750 yy226:
3751 	yych = *(marker = ++p);
3752 	if (yybm[256+yych] & 32) {
3753 		goto yy232;
3754 	}
3755 	if (yych == '-') goto yy230;
3756 	if (yych <= '@') goto yy225;
3757 	if (yych <= '[') goto yy234;
3758 	goto yy225;
3759 yy227:
3760 	yych = *(marker = ++p);
3761 	if (yych <= '@') goto yy225;
3762 	if (yych <= 'Z') goto yy235;
3763 	if (yych <= '`') goto yy225;
3764 	if (yych <= 'z') goto yy235;
3765 	goto yy225;
3766 yy228:
3767 	yych = *(marker = ++p);
3768 	if (yych <= 0x00) goto yy225;
3769 	if (yych <= 0x7F) goto yy238;
3770 	if (yych <= 0xC1) goto yy225;
3771 	if (yych <= 0xF4) goto yy238;
3772 	goto yy225;
3773 yy229:
3774 	yych = *(marker = ++p);
3775 	if (yych <= '.') {
3776 		if (yych <= 0x1F) {
3777 			if (yych <= 0x08) goto yy225;
3778 			if (yych <= '\r') goto yy250;
3779 			goto yy225;
3780 		} else {
3781 			if (yych <= ' ') goto yy250;
3782 			if (yych == '-') goto yy250;
3783 			goto yy225;
3784 		}
3785 	} else {
3786 		if (yych <= '@') {
3787 			if (yych <= '9') goto yy250;
3788 			if (yych == '>') goto yy250;
3789 			goto yy225;
3790 		} else {
3791 			if (yych <= 'Z') goto yy250;
3792 			if (yych <= '`') goto yy225;
3793 			if (yych <= 'z') goto yy250;
3794 			goto yy225;
3795 		}
3796 	}
3797 yy230:
3798 	yych = *++p;
3799 	if (yych == '-') goto yy254;
3800 yy231:
3801 	p = marker;
3802 	goto yy225;
3803 yy232:
3804 	yych = *++p;
3805 	if (yybm[256+yych] & 32) {
3806 		goto yy232;
3807 	}
3808 	if (yych <= 0x08) goto yy231;
3809 	if (yych <= '\r') goto yy255;
3810 	if (yych == ' ') goto yy255;
3811 	goto yy231;
3812 yy234:
3813 	yych = *++p;
3814 	if (yych == 'C') goto yy257;
3815 	if (yych == 'c') goto yy257;
3816 	goto yy231;
3817 yy235:
3818 	yych = *++p;
3819 	if (yybm[256+yych] & 64) {
3820 		goto yy235;
3821 	}
3822 	if (yych <= 0x1F) {
3823 		if (yych <= 0x08) goto yy231;
3824 		if (yych <= '\r') goto yy258;
3825 		goto yy231;
3826 	} else {
3827 		if (yych <= ' ') goto yy258;
3828 		if (yych == '>') goto yy252;
3829 		goto yy231;
3830 	}
3831 yy237:
3832 	yych = *++p;
3833 yy238:
3834 	if (yybm[256+yych] & 128) {
3835 		goto yy237;
3836 	}
3837 	if (yych <= 0xEC) {
3838 		if (yych <= 0xC1) {
3839 			if (yych <= 0x00) goto yy231;
3840 			if (yych >= '@') goto yy231;
3841 		} else {
3842 			if (yych <= 0xDF) goto yy240;
3843 			if (yych <= 0xE0) goto yy241;
3844 			goto yy242;
3845 		}
3846 	} else {
3847 		if (yych <= 0xF0) {
3848 			if (yych <= 0xED) goto yy243;
3849 			if (yych <= 0xEF) goto yy242;
3850 			goto yy244;
3851 		} else {
3852 			if (yych <= 0xF3) goto yy245;
3853 			if (yych <= 0xF4) goto yy246;
3854 			goto yy231;
3855 		}
3856 	}
3857 	yych = *++p;
3858 	if (yych <= 0xE0) {
3859 		if (yych <= '>') {
3860 			if (yych <= 0x00) goto yy231;
3861 			if (yych <= '=') goto yy237;
3862 			goto yy252;
3863 		} else {
3864 			if (yych <= 0x7F) goto yy237;
3865 			if (yych <= 0xC1) goto yy231;
3866 			if (yych >= 0xE0) goto yy241;
3867 		}
3868 	} else {
3869 		if (yych <= 0xEF) {
3870 			if (yych == 0xED) goto yy243;
3871 			goto yy242;
3872 		} else {
3873 			if (yych <= 0xF0) goto yy244;
3874 			if (yych <= 0xF3) goto yy245;
3875 			if (yych <= 0xF4) goto yy246;
3876 			goto yy231;
3877 		}
3878 	}
3879 yy240:
3880 	yych = *++p;
3881 	if (yych <= 0x7F) goto yy231;
3882 	if (yych <= 0xBF) goto yy237;
3883 	goto yy231;
3884 yy241:
3885 	yych = *++p;
3886 	if (yych <= 0x9F) goto yy231;
3887 	if (yych <= 0xBF) goto yy240;
3888 	goto yy231;
3889 yy242:
3890 	yych = *++p;
3891 	if (yych <= 0x7F) goto yy231;
3892 	if (yych <= 0xBF) goto yy240;
3893 	goto yy231;
3894 yy243:
3895 	yych = *++p;
3896 	if (yych <= 0x7F) goto yy231;
3897 	if (yych <= 0x9F) goto yy240;
3898 	goto yy231;
3899 yy244:
3900 	yych = *++p;
3901 	if (yych <= 0x8F) goto yy231;
3902 	if (yych <= 0xBF) goto yy242;
3903 	goto yy231;
3904 yy245:
3905 	yych = *++p;
3906 	if (yych <= 0x7F) goto yy231;
3907 	if (yych <= 0xBF) goto yy242;
3908 	goto yy231;
3909 yy246:
3910 	yych = *++p;
3911 	if (yych <= 0x7F) goto yy231;
3912 	if (yych <= 0x8F) goto yy242;
3913 	goto yy231;
3914 yy247:
3915 	yych = *++p;
3916 	if (yybm[0+yych] & 1) {
3917 		goto yy247;
3918 	}
3919 	if (yych <= '>') {
3920 		if (yych <= '9') {
3921 			if (yych == '/') goto yy251;
3922 			goto yy231;
3923 		} else {
3924 			if (yych <= ':') goto yy260;
3925 			if (yych <= '=') goto yy231;
3926 			goto yy252;
3927 		}
3928 	} else {
3929 		if (yych <= '^') {
3930 			if (yych <= '@') goto yy231;
3931 			if (yych <= 'Z') goto yy260;
3932 			goto yy231;
3933 		} else {
3934 			if (yych == '`') goto yy231;
3935 			if (yych <= 'z') goto yy260;
3936 			goto yy231;
3937 		}
3938 	}
3939 yy249:
3940 	yych = *++p;
3941 yy250:
3942 	if (yybm[0+yych] & 1) {
3943 		goto yy247;
3944 	}
3945 	if (yych <= '=') {
3946 		if (yych <= '.') {
3947 			if (yych == '-') goto yy249;
3948 			goto yy231;
3949 		} else {
3950 			if (yych <= '/') goto yy251;
3951 			if (yych <= '9') goto yy249;
3952 			goto yy231;
3953 		}
3954 	} else {
3955 		if (yych <= 'Z') {
3956 			if (yych <= '>') goto yy252;
3957 			if (yych <= '@') goto yy231;
3958 			goto yy249;
3959 		} else {
3960 			if (yych <= '`') goto yy231;
3961 			if (yych <= 'z') goto yy249;
3962 			goto yy231;
3963 		}
3964 	}
3965 yy251:
3966 	yych = *++p;
3967 	if (yych != '>') goto yy231;
3968 yy252:
3969 	++p;
3970 	{ return (bufsize_t)(p - start); }
3971 yy254:
3972 	yych = *++p;
3973 	if (yych == '-') goto yy264;
3974 	if (yych == '>') goto yy231;
3975 	goto yy263;
3976 yy255:
3977 	yych = *++p;
3978 	if (yybm[0+yych] & 2) {
3979 		goto yy255;
3980 	}
3981 	if (yych <= 0xEC) {
3982 		if (yych <= 0xC1) {
3983 			if (yych <= 0x00) goto yy231;
3984 			if (yych <= '>') goto yy252;
3985 			goto yy231;
3986 		} else {
3987 			if (yych <= 0xDF) goto yy272;
3988 			if (yych <= 0xE0) goto yy273;
3989 			goto yy274;
3990 		}
3991 	} else {
3992 		if (yych <= 0xF0) {
3993 			if (yych <= 0xED) goto yy275;
3994 			if (yych <= 0xEF) goto yy274;
3995 			goto yy276;
3996 		} else {
3997 			if (yych <= 0xF3) goto yy277;
3998 			if (yych <= 0xF4) goto yy278;
3999 			goto yy231;
4000 		}
4001 	}
4002 yy257:
4003 	yych = *++p;
4004 	if (yych == 'D') goto yy279;
4005 	if (yych == 'd') goto yy279;
4006 	goto yy231;
4007 yy258:
4008 	yych = *++p;
4009 	if (yych <= 0x1F) {
4010 		if (yych <= 0x08) goto yy231;
4011 		if (yych <= '\r') goto yy258;
4012 		goto yy231;
4013 	} else {
4014 		if (yych <= ' ') goto yy258;
4015 		if (yych == '>') goto yy252;
4016 		goto yy231;
4017 	}
4018 yy260:
4019 	yych = *++p;
4020 	if (yybm[0+yych] & 4) {
4021 		goto yy260;
4022 	}
4023 	if (yych <= ',') {
4024 		if (yych <= '\r') {
4025 			if (yych <= 0x08) goto yy231;
4026 			goto yy280;
4027 		} else {
4028 			if (yych == ' ') goto yy280;
4029 			goto yy231;
4030 		}
4031 	} else {
4032 		if (yych <= '<') {
4033 			if (yych <= '/') goto yy251;
4034 			goto yy231;
4035 		} else {
4036 			if (yych <= '=') goto yy282;
4037 			if (yych <= '>') goto yy252;
4038 			goto yy231;
4039 		}
4040 	}
4041 yy262:
4042 	yych = *++p;
4043 yy263:
4044 	if (yybm[0+yych] & 8) {
4045 		goto yy262;
4046 	}
4047 	if (yych <= 0xEC) {
4048 		if (yych <= 0xC1) {
4049 			if (yych <= 0x00) goto yy231;
4050 			if (yych <= '-') goto yy284;
4051 			goto yy231;
4052 		} else {
4053 			if (yych <= 0xDF) goto yy265;
4054 			if (yych <= 0xE0) goto yy266;
4055 			goto yy267;
4056 		}
4057 	} else {
4058 		if (yych <= 0xF0) {
4059 			if (yych <= 0xED) goto yy268;
4060 			if (yych <= 0xEF) goto yy267;
4061 			goto yy269;
4062 		} else {
4063 			if (yych <= 0xF3) goto yy270;
4064 			if (yych <= 0xF4) goto yy271;
4065 			goto yy231;
4066 		}
4067 	}
4068 yy264:
4069 	yych = *++p;
4070 	if (yych == '-') goto yy251;
4071 	if (yych == '>') goto yy231;
4072 	goto yy263;
4073 yy265:
4074 	yych = *++p;
4075 	if (yych <= 0x7F) goto yy231;
4076 	if (yych <= 0xBF) goto yy262;
4077 	goto yy231;
4078 yy266:
4079 	yych = *++p;
4080 	if (yych <= 0x9F) goto yy231;
4081 	if (yych <= 0xBF) goto yy265;
4082 	goto yy231;
4083 yy267:
4084 	yych = *++p;
4085 	if (yych <= 0x7F) goto yy231;
4086 	if (yych <= 0xBF) goto yy265;
4087 	goto yy231;
4088 yy268:
4089 	yych = *++p;
4090 	if (yych <= 0x7F) goto yy231;
4091 	if (yych <= 0x9F) goto yy265;
4092 	goto yy231;
4093 yy269:
4094 	yych = *++p;
4095 	if (yych <= 0x8F) goto yy231;
4096 	if (yych <= 0xBF) goto yy267;
4097 	goto yy231;
4098 yy270:
4099 	yych = *++p;
4100 	if (yych <= 0x7F) goto yy231;
4101 	if (yych <= 0xBF) goto yy267;
4102 	goto yy231;
4103 yy271:
4104 	yych = *++p;
4105 	if (yych <= 0x7F) goto yy231;
4106 	if (yych <= 0x8F) goto yy267;
4107 	goto yy231;
4108 yy272:
4109 	yych = *++p;
4110 	if (yych <= 0x7F) goto yy231;
4111 	if (yych <= 0xBF) goto yy255;
4112 	goto yy231;
4113 yy273:
4114 	yych = *++p;
4115 	if (yych <= 0x9F) goto yy231;
4116 	if (yych <= 0xBF) goto yy272;
4117 	goto yy231;
4118 yy274:
4119 	yych = *++p;
4120 	if (yych <= 0x7F) goto yy231;
4121 	if (yych <= 0xBF) goto yy272;
4122 	goto yy231;
4123 yy275:
4124 	yych = *++p;
4125 	if (yych <= 0x7F) goto yy231;
4126 	if (yych <= 0x9F) goto yy272;
4127 	goto yy231;
4128 yy276:
4129 	yych = *++p;
4130 	if (yych <= 0x8F) goto yy231;
4131 	if (yych <= 0xBF) goto yy274;
4132 	goto yy231;
4133 yy277:
4134 	yych = *++p;
4135 	if (yych <= 0x7F) goto yy231;
4136 	if (yych <= 0xBF) goto yy274;
4137 	goto yy231;
4138 yy278:
4139 	yych = *++p;
4140 	if (yych <= 0x7F) goto yy231;
4141 	if (yych <= 0x8F) goto yy274;
4142 	goto yy231;
4143 yy279:
4144 	yych = *++p;
4145 	if (yych == 'A') goto yy285;
4146 	if (yych == 'a') goto yy285;
4147 	goto yy231;
4148 yy280:
4149 	yych = *++p;
4150 	if (yych <= '<') {
4151 		if (yych <= ' ') {
4152 			if (yych <= 0x08) goto yy231;
4153 			if (yych <= '\r') goto yy280;
4154 			if (yych <= 0x1F) goto yy231;
4155 			goto yy280;
4156 		} else {
4157 			if (yych <= '/') {
4158 				if (yych <= '.') goto yy231;
4159 				goto yy251;
4160 			} else {
4161 				if (yych == ':') goto yy260;
4162 				goto yy231;
4163 			}
4164 		}
4165 	} else {
4166 		if (yych <= 'Z') {
4167 			if (yych <= '=') goto yy282;
4168 			if (yych <= '>') goto yy252;
4169 			if (yych <= '@') goto yy231;
4170 			goto yy260;
4171 		} else {
4172 			if (yych <= '_') {
4173 				if (yych <= '^') goto yy231;
4174 				goto yy260;
4175 			} else {
4176 				if (yych <= '`') goto yy231;
4177 				if (yych <= 'z') goto yy260;
4178 				goto yy231;
4179 			}
4180 		}
4181 	}
4182 yy282:
4183 	yych = *++p;
4184 	if (yybm[0+yych] & 16) {
4185 		goto yy286;
4186 	}
4187 	if (yych <= 0xE0) {
4188 		if (yych <= '"') {
4189 			if (yych <= 0x00) goto yy231;
4190 			if (yych <= ' ') goto yy282;
4191 			goto yy288;
4192 		} else {
4193 			if (yych <= '\'') goto yy290;
4194 			if (yych <= 0xC1) goto yy231;
4195 			if (yych <= 0xDF) goto yy292;
4196 			goto yy293;
4197 		}
4198 	} else {
4199 		if (yych <= 0xEF) {
4200 			if (yych == 0xED) goto yy295;
4201 			goto yy294;
4202 		} else {
4203 			if (yych <= 0xF0) goto yy296;
4204 			if (yych <= 0xF3) goto yy297;
4205 			if (yych <= 0xF4) goto yy298;
4206 			goto yy231;
4207 		}
4208 	}
4209 yy284:
4210 	yych = *++p;
4211 	if (yybm[0+yych] & 8) {
4212 		goto yy262;
4213 	}
4214 	if (yych <= 0xEC) {
4215 		if (yych <= 0xC1) {
4216 			if (yych <= 0x00) goto yy231;
4217 			if (yych <= '-') goto yy251;
4218 			goto yy231;
4219 		} else {
4220 			if (yych <= 0xDF) goto yy265;
4221 			if (yych <= 0xE0) goto yy266;
4222 			goto yy267;
4223 		}
4224 	} else {
4225 		if (yych <= 0xF0) {
4226 			if (yych <= 0xED) goto yy268;
4227 			if (yych <= 0xEF) goto yy267;
4228 			goto yy269;
4229 		} else {
4230 			if (yych <= 0xF3) goto yy270;
4231 			if (yych <= 0xF4) goto yy271;
4232 			goto yy231;
4233 		}
4234 	}
4235 yy285:
4236 	yych = *++p;
4237 	if (yych == 'T') goto yy299;
4238 	if (yych == 't') goto yy299;
4239 	goto yy231;
4240 yy286:
4241 	yych = *++p;
4242 	if (yybm[0+yych] & 16) {
4243 		goto yy286;
4244 	}
4245 	if (yych <= 0xE0) {
4246 		if (yych <= '=') {
4247 			if (yych <= 0x00) goto yy231;
4248 			if (yych <= ' ') goto yy247;
4249 			goto yy231;
4250 		} else {
4251 			if (yych <= '>') goto yy252;
4252 			if (yych <= 0xC1) goto yy231;
4253 			if (yych <= 0xDF) goto yy292;
4254 			goto yy293;
4255 		}
4256 	} else {
4257 		if (yych <= 0xEF) {
4258 			if (yych == 0xED) goto yy295;
4259 			goto yy294;
4260 		} else {
4261 			if (yych <= 0xF0) goto yy296;
4262 			if (yych <= 0xF3) goto yy297;
4263 			if (yych <= 0xF4) goto yy298;
4264 			goto yy231;
4265 		}
4266 	}
4267 yy288:
4268 	yych = *++p;
4269 	if (yybm[0+yych] & 32) {
4270 		goto yy288;
4271 	}
4272 	if (yych <= 0xEC) {
4273 		if (yych <= 0xC1) {
4274 			if (yych <= 0x00) goto yy231;
4275 			if (yych <= '"') goto yy300;
4276 			goto yy231;
4277 		} else {
4278 			if (yych <= 0xDF) goto yy301;
4279 			if (yych <= 0xE0) goto yy302;
4280 			goto yy303;
4281 		}
4282 	} else {
4283 		if (yych <= 0xF0) {
4284 			if (yych <= 0xED) goto yy304;
4285 			if (yych <= 0xEF) goto yy303;
4286 			goto yy305;
4287 		} else {
4288 			if (yych <= 0xF3) goto yy306;
4289 			if (yych <= 0xF4) goto yy307;
4290 			goto yy231;
4291 		}
4292 	}
4293 yy290:
4294 	yych = *++p;
4295 	if (yybm[0+yych] & 64) {
4296 		goto yy290;
4297 	}
4298 	if (yych <= 0xEC) {
4299 		if (yych <= 0xC1) {
4300 			if (yych <= 0x00) goto yy231;
4301 			if (yych <= '\'') goto yy300;
4302 			goto yy231;
4303 		} else {
4304 			if (yych <= 0xDF) goto yy308;
4305 			if (yych <= 0xE0) goto yy309;
4306 			goto yy310;
4307 		}
4308 	} else {
4309 		if (yych <= 0xF0) {
4310 			if (yych <= 0xED) goto yy311;
4311 			if (yych <= 0xEF) goto yy310;
4312 			goto yy312;
4313 		} else {
4314 			if (yych <= 0xF3) goto yy313;
4315 			if (yych <= 0xF4) goto yy314;
4316 			goto yy231;
4317 		}
4318 	}
4319 yy292:
4320 	yych = *++p;
4321 	if (yych <= 0x7F) goto yy231;
4322 	if (yych <= 0xBF) goto yy286;
4323 	goto yy231;
4324 yy293:
4325 	yych = *++p;
4326 	if (yych <= 0x9F) goto yy231;
4327 	if (yych <= 0xBF) goto yy292;
4328 	goto yy231;
4329 yy294:
4330 	yych = *++p;
4331 	if (yych <= 0x7F) goto yy231;
4332 	if (yych <= 0xBF) goto yy292;
4333 	goto yy231;
4334 yy295:
4335 	yych = *++p;
4336 	if (yych <= 0x7F) goto yy231;
4337 	if (yych <= 0x9F) goto yy292;
4338 	goto yy231;
4339 yy296:
4340 	yych = *++p;
4341 	if (yych <= 0x8F) goto yy231;
4342 	if (yych <= 0xBF) goto yy294;
4343 	goto yy231;
4344 yy297:
4345 	yych = *++p;
4346 	if (yych <= 0x7F) goto yy231;
4347 	if (yych <= 0xBF) goto yy294;
4348 	goto yy231;
4349 yy298:
4350 	yych = *++p;
4351 	if (yych <= 0x7F) goto yy231;
4352 	if (yych <= 0x8F) goto yy294;
4353 	goto yy231;
4354 yy299:
4355 	yych = *++p;
4356 	if (yych == 'A') goto yy315;
4357 	if (yych == 'a') goto yy315;
4358 	goto yy231;
4359 yy300:
4360 	yych = *++p;
4361 	if (yybm[0+yych] & 1) {
4362 		goto yy247;
4363 	}
4364 	if (yych == '/') goto yy251;
4365 	if (yych == '>') goto yy252;
4366 	goto yy231;
4367 yy301:
4368 	yych = *++p;
4369 	if (yych <= 0x7F) goto yy231;
4370 	if (yych <= 0xBF) goto yy288;
4371 	goto yy231;
4372 yy302:
4373 	yych = *++p;
4374 	if (yych <= 0x9F) goto yy231;
4375 	if (yych <= 0xBF) goto yy301;
4376 	goto yy231;
4377 yy303:
4378 	yych = *++p;
4379 	if (yych <= 0x7F) goto yy231;
4380 	if (yych <= 0xBF) goto yy301;
4381 	goto yy231;
4382 yy304:
4383 	yych = *++p;
4384 	if (yych <= 0x7F) goto yy231;
4385 	if (yych <= 0x9F) goto yy301;
4386 	goto yy231;
4387 yy305:
4388 	yych = *++p;
4389 	if (yych <= 0x8F) goto yy231;
4390 	if (yych <= 0xBF) goto yy303;
4391 	goto yy231;
4392 yy306:
4393 	yych = *++p;
4394 	if (yych <= 0x7F) goto yy231;
4395 	if (yych <= 0xBF) goto yy303;
4396 	goto yy231;
4397 yy307:
4398 	yych = *++p;
4399 	if (yych <= 0x7F) goto yy231;
4400 	if (yych <= 0x8F) goto yy303;
4401 	goto yy231;
4402 yy308:
4403 	yych = *++p;
4404 	if (yych <= 0x7F) goto yy231;
4405 	if (yych <= 0xBF) goto yy290;
4406 	goto yy231;
4407 yy309:
4408 	yych = *++p;
4409 	if (yych <= 0x9F) goto yy231;
4410 	if (yych <= 0xBF) goto yy308;
4411 	goto yy231;
4412 yy310:
4413 	yych = *++p;
4414 	if (yych <= 0x7F) goto yy231;
4415 	if (yych <= 0xBF) goto yy308;
4416 	goto yy231;
4417 yy311:
4418 	yych = *++p;
4419 	if (yych <= 0x7F) goto yy231;
4420 	if (yych <= 0x9F) goto yy308;
4421 	goto yy231;
4422 yy312:
4423 	yych = *++p;
4424 	if (yych <= 0x8F) goto yy231;
4425 	if (yych <= 0xBF) goto yy310;
4426 	goto yy231;
4427 yy313:
4428 	yych = *++p;
4429 	if (yych <= 0x7F) goto yy231;
4430 	if (yych <= 0xBF) goto yy310;
4431 	goto yy231;
4432 yy314:
4433 	yych = *++p;
4434 	if (yych <= 0x7F) goto yy231;
4435 	if (yych <= 0x8F) goto yy310;
4436 	goto yy231;
4437 yy315:
4438 	yych = *++p;
4439 	if (yych != '[') goto yy231;
4440 yy316:
4441 	yych = *++p;
4442 	if (yybm[0+yych] & 128) {
4443 		goto yy316;
4444 	}
4445 	if (yych <= 0xEC) {
4446 		if (yych <= 0xC1) {
4447 			if (yych <= 0x00) goto yy231;
4448 			if (yych >= '^') goto yy231;
4449 		} else {
4450 			if (yych <= 0xDF) goto yy319;
4451 			if (yych <= 0xE0) goto yy320;
4452 			goto yy321;
4453 		}
4454 	} else {
4455 		if (yych <= 0xF0) {
4456 			if (yych <= 0xED) goto yy322;
4457 			if (yych <= 0xEF) goto yy321;
4458 			goto yy323;
4459 		} else {
4460 			if (yych <= 0xF3) goto yy324;
4461 			if (yych <= 0xF4) goto yy325;
4462 			goto yy231;
4463 		}
4464 	}
4465 	yych = *++p;
4466 	if (yybm[0+yych] & 128) {
4467 		goto yy316;
4468 	}
4469 	if (yych <= 0xEC) {
4470 		if (yych <= 0xC1) {
4471 			if (yych <= 0x00) goto yy231;
4472 			if (yych <= ']') goto yy326;
4473 			goto yy231;
4474 		} else {
4475 			if (yych <= 0xDF) goto yy319;
4476 			if (yych <= 0xE0) goto yy320;
4477 			goto yy321;
4478 		}
4479 	} else {
4480 		if (yych <= 0xF0) {
4481 			if (yych <= 0xED) goto yy322;
4482 			if (yych <= 0xEF) goto yy321;
4483 			goto yy323;
4484 		} else {
4485 			if (yych <= 0xF3) goto yy324;
4486 			if (yych <= 0xF4) goto yy325;
4487 			goto yy231;
4488 		}
4489 	}
4490 yy319:
4491 	yych = *++p;
4492 	if (yych <= 0x7F) goto yy231;
4493 	if (yych <= 0xBF) goto yy316;
4494 	goto yy231;
4495 yy320:
4496 	yych = *++p;
4497 	if (yych <= 0x9F) goto yy231;
4498 	if (yych <= 0xBF) goto yy319;
4499 	goto yy231;
4500 yy321:
4501 	yych = *++p;
4502 	if (yych <= 0x7F) goto yy231;
4503 	if (yych <= 0xBF) goto yy319;
4504 	goto yy231;
4505 yy322:
4506 	yych = *++p;
4507 	if (yych <= 0x7F) goto yy231;
4508 	if (yych <= 0x9F) goto yy319;
4509 	goto yy231;
4510 yy323:
4511 	yych = *++p;
4512 	if (yych <= 0x8F) goto yy231;
4513 	if (yych <= 0xBF) goto yy321;
4514 	goto yy231;
4515 yy324:
4516 	yych = *++p;
4517 	if (yych <= 0x7F) goto yy231;
4518 	if (yych <= 0xBF) goto yy321;
4519 	goto yy231;
4520 yy325:
4521 	yych = *++p;
4522 	if (yych <= 0x7F) goto yy231;
4523 	if (yych <= 0x8F) goto yy321;
4524 	goto yy231;
4525 yy326:
4526 	yych = *++p;
4527 	if (yych <= 0xE0) {
4528 		if (yych <= '>') {
4529 			if (yych <= 0x00) goto yy231;
4530 			if (yych <= '=') goto yy316;
4531 			goto yy252;
4532 		} else {
4533 			if (yych <= 0x7F) goto yy316;
4534 			if (yych <= 0xC1) goto yy231;
4535 			if (yych <= 0xDF) goto yy319;
4536 			goto yy320;
4537 		}
4538 	} else {
4539 		if (yych <= 0xEF) {
4540 			if (yych == 0xED) goto yy322;
4541 			goto yy321;
4542 		} else {
4543 			if (yych <= 0xF0) goto yy323;
4544 			if (yych <= 0xF3) goto yy324;
4545 			if (yych <= 0xF4) goto yy325;
4546 			goto yy231;
4547 		}
4548 	}
4549 }
4550 
4551 }
4552 
4553 // Try to (liberally) match an HTML tag after first <, returning num of chars matched.
_scan_liberal_html_tag(const unsigned char * p)4554 bufsize_t _scan_liberal_html_tag(const unsigned char *p)
4555 {
4556   const unsigned char *marker = NULL;
4557   const unsigned char *start = p;
4558 
4559 {
4560 	unsigned char yych;
4561 	unsigned int yyaccept = 0;
4562 	static const unsigned char yybm[] = {
4563 		  0,  64,  64,  64,  64,  64,  64,  64,
4564 		 64,  64,   0,  64,  64,  64,  64,  64,
4565 		 64,  64,  64,  64,  64,  64,  64,  64,
4566 		 64,  64,  64,  64,  64,  64,  64,  64,
4567 		 64,  64,  64,  64,  64,  64,  64,  64,
4568 		 64,  64,  64,  64,  64,  64,  64,  64,
4569 		 64,  64,  64,  64,  64,  64,  64,  64,
4570 		 64,  64,  64,  64,  64,  64, 128,  64,
4571 		 64,  64,  64,  64,  64,  64,  64,  64,
4572 		 64,  64,  64,  64,  64,  64,  64,  64,
4573 		 64,  64,  64,  64,  64,  64,  64,  64,
4574 		 64,  64,  64,  64,  64,  64,  64,  64,
4575 		 64,  64,  64,  64,  64,  64,  64,  64,
4576 		 64,  64,  64,  64,  64,  64,  64,  64,
4577 		 64,  64,  64,  64,  64,  64,  64,  64,
4578 		 64,  64,  64,  64,  64,  64,  64,  64,
4579 		  0,   0,   0,   0,   0,   0,   0,   0,
4580 		  0,   0,   0,   0,   0,   0,   0,   0,
4581 		  0,   0,   0,   0,   0,   0,   0,   0,
4582 		  0,   0,   0,   0,   0,   0,   0,   0,
4583 		  0,   0,   0,   0,   0,   0,   0,   0,
4584 		  0,   0,   0,   0,   0,   0,   0,   0,
4585 		  0,   0,   0,   0,   0,   0,   0,   0,
4586 		  0,   0,   0,   0,   0,   0,   0,   0,
4587 		  0,   0,   0,   0,   0,   0,   0,   0,
4588 		  0,   0,   0,   0,   0,   0,   0,   0,
4589 		  0,   0,   0,   0,   0,   0,   0,   0,
4590 		  0,   0,   0,   0,   0,   0,   0,   0,
4591 		  0,   0,   0,   0,   0,   0,   0,   0,
4592 		  0,   0,   0,   0,   0,   0,   0,   0,
4593 		  0,   0,   0,   0,   0,   0,   0,   0,
4594 		  0,   0,   0,   0,   0,   0,   0,   0,
4595 	};
4596 	yych = *p;
4597 	if (yych <= 0xE0) {
4598 		if (yych <= '\n') {
4599 			if (yych <= 0x00) goto yy329;
4600 			if (yych <= '\t') goto yy331;
4601 		} else {
4602 			if (yych <= 0x7F) goto yy331;
4603 			if (yych <= 0xC1) goto yy329;
4604 			if (yych <= 0xDF) goto yy332;
4605 			goto yy333;
4606 		}
4607 	} else {
4608 		if (yych <= 0xEF) {
4609 			if (yych == 0xED) goto yy335;
4610 			goto yy334;
4611 		} else {
4612 			if (yych <= 0xF0) goto yy336;
4613 			if (yych <= 0xF3) goto yy337;
4614 			if (yych <= 0xF4) goto yy338;
4615 		}
4616 	}
4617 yy329:
4618 	++p;
4619 yy330:
4620 	{ return 0; }
4621 yy331:
4622 	yyaccept = 0;
4623 	yych = *(marker = ++p);
4624 	if (yych <= '\n') {
4625 		if (yych <= 0x00) goto yy330;
4626 		if (yych <= '\t') goto yy340;
4627 		goto yy330;
4628 	} else {
4629 		if (yych <= 0x7F) goto yy340;
4630 		if (yych <= 0xC1) goto yy330;
4631 		if (yych <= 0xF4) goto yy340;
4632 		goto yy330;
4633 	}
4634 yy332:
4635 	yyaccept = 0;
4636 	yych = *(marker = ++p);
4637 	if (yych <= 0x7F) goto yy330;
4638 	if (yych <= 0xBF) goto yy339;
4639 	goto yy330;
4640 yy333:
4641 	yyaccept = 0;
4642 	yych = *(marker = ++p);
4643 	if (yych <= 0x9F) goto yy330;
4644 	if (yych <= 0xBF) goto yy345;
4645 	goto yy330;
4646 yy334:
4647 	yyaccept = 0;
4648 	yych = *(marker = ++p);
4649 	if (yych <= 0x7F) goto yy330;
4650 	if (yych <= 0xBF) goto yy345;
4651 	goto yy330;
4652 yy335:
4653 	yyaccept = 0;
4654 	yych = *(marker = ++p);
4655 	if (yych <= 0x7F) goto yy330;
4656 	if (yych <= 0x9F) goto yy345;
4657 	goto yy330;
4658 yy336:
4659 	yyaccept = 0;
4660 	yych = *(marker = ++p);
4661 	if (yych <= 0x8F) goto yy330;
4662 	if (yych <= 0xBF) goto yy347;
4663 	goto yy330;
4664 yy337:
4665 	yyaccept = 0;
4666 	yych = *(marker = ++p);
4667 	if (yych <= 0x7F) goto yy330;
4668 	if (yych <= 0xBF) goto yy347;
4669 	goto yy330;
4670 yy338:
4671 	yyaccept = 0;
4672 	yych = *(marker = ++p);
4673 	if (yych <= 0x7F) goto yy330;
4674 	if (yych <= 0x8F) goto yy347;
4675 	goto yy330;
4676 yy339:
4677 	yych = *++p;
4678 yy340:
4679 	if (yybm[0+yych] & 64) {
4680 		goto yy339;
4681 	}
4682 	if (yych <= 0xEC) {
4683 		if (yych <= 0xC1) {
4684 			if (yych <= '\n') goto yy341;
4685 			if (yych <= '>') goto yy342;
4686 		} else {
4687 			if (yych <= 0xDF) goto yy345;
4688 			if (yych <= 0xE0) goto yy346;
4689 			goto yy347;
4690 		}
4691 	} else {
4692 		if (yych <= 0xF0) {
4693 			if (yych <= 0xED) goto yy348;
4694 			if (yych <= 0xEF) goto yy347;
4695 			goto yy349;
4696 		} else {
4697 			if (yych <= 0xF3) goto yy350;
4698 			if (yych <= 0xF4) goto yy351;
4699 		}
4700 	}
4701 yy341:
4702 	p = marker;
4703 	if (yyaccept == 0) {
4704 		goto yy330;
4705 	} else {
4706 		goto yy344;
4707 	}
4708 yy342:
4709 	yyaccept = 1;
4710 	yych = *(marker = ++p);
4711 	if (yybm[0+yych] & 64) {
4712 		goto yy339;
4713 	}
4714 	if (yych <= 0xEC) {
4715 		if (yych <= 0xC1) {
4716 			if (yych <= '\n') goto yy344;
4717 			if (yych <= '>') goto yy342;
4718 		} else {
4719 			if (yych <= 0xDF) goto yy345;
4720 			if (yych <= 0xE0) goto yy346;
4721 			goto yy347;
4722 		}
4723 	} else {
4724 		if (yych <= 0xF0) {
4725 			if (yych <= 0xED) goto yy348;
4726 			if (yych <= 0xEF) goto yy347;
4727 			goto yy349;
4728 		} else {
4729 			if (yych <= 0xF3) goto yy350;
4730 			if (yych <= 0xF4) goto yy351;
4731 		}
4732 	}
4733 yy344:
4734 	{ return (bufsize_t)(p - start); }
4735 yy345:
4736 	yych = *++p;
4737 	if (yych <= 0x7F) goto yy341;
4738 	if (yych <= 0xBF) goto yy339;
4739 	goto yy341;
4740 yy346:
4741 	yych = *++p;
4742 	if (yych <= 0x9F) goto yy341;
4743 	if (yych <= 0xBF) goto yy345;
4744 	goto yy341;
4745 yy347:
4746 	yych = *++p;
4747 	if (yych <= 0x7F) goto yy341;
4748 	if (yych <= 0xBF) goto yy345;
4749 	goto yy341;
4750 yy348:
4751 	yych = *++p;
4752 	if (yych <= 0x7F) goto yy341;
4753 	if (yych <= 0x9F) goto yy345;
4754 	goto yy341;
4755 yy349:
4756 	yych = *++p;
4757 	if (yych <= 0x8F) goto yy341;
4758 	if (yych <= 0xBF) goto yy347;
4759 	goto yy341;
4760 yy350:
4761 	yych = *++p;
4762 	if (yych <= 0x7F) goto yy341;
4763 	if (yych <= 0xBF) goto yy347;
4764 	goto yy341;
4765 yy351:
4766 	yych = *++p;
4767 	if (yych <= 0x7F) goto yy341;
4768 	if (yych <= 0x8F) goto yy347;
4769 	goto yy341;
4770 }
4771 
4772 }
4773 
4774 // Try to match an HTML block tag start line, returning
4775 // an integer code for the type of block (1-6, matching the spec).
4776 // #7 is handled by a separate function, below.
_scan_html_block_start(const unsigned char * p)4777 bufsize_t _scan_html_block_start(const unsigned char *p)
4778 {
4779   const unsigned char *marker = NULL;
4780 
4781 {
4782 	unsigned char yych;
4783 	yych = *p;
4784 	if (yych == '<') goto yy356;
4785 	++p;
4786 yy355:
4787 	{ return 0; }
4788 yy356:
4789 	yych = *(marker = ++p);
4790 	switch (yych) {
4791 	case '!':	goto yy357;
4792 	case '/':	goto yy359;
4793 	case '?':	goto yy360;
4794 	case 'A':
4795 	case 'a':	goto yy362;
4796 	case 'B':
4797 	case 'b':	goto yy363;
4798 	case 'C':
4799 	case 'c':	goto yy364;
4800 	case 'D':
4801 	case 'd':	goto yy365;
4802 	case 'F':
4803 	case 'f':	goto yy366;
4804 	case 'H':
4805 	case 'h':	goto yy367;
4806 	case 'I':
4807 	case 'i':	goto yy368;
4808 	case 'L':
4809 	case 'l':	goto yy369;
4810 	case 'M':
4811 	case 'm':	goto yy370;
4812 	case 'N':
4813 	case 'n':	goto yy371;
4814 	case 'O':
4815 	case 'o':	goto yy372;
4816 	case 'P':
4817 	case 'p':	goto yy373;
4818 	case 'S':
4819 	case 's':	goto yy374;
4820 	case 'T':
4821 	case 't':	goto yy375;
4822 	case 'U':
4823 	case 'u':	goto yy376;
4824 	default:	goto yy355;
4825 	}
4826 yy357:
4827 	yych = *++p;
4828 	if (yych <= '@') {
4829 		if (yych == '-') goto yy377;
4830 	} else {
4831 		if (yych <= 'Z') goto yy378;
4832 		if (yych <= '[') goto yy380;
4833 	}
4834 yy358:
4835 	p = marker;
4836 	goto yy355;
4837 yy359:
4838 	yych = *++p;
4839 	switch (yych) {
4840 	case 'A':
4841 	case 'a':	goto yy362;
4842 	case 'B':
4843 	case 'b':	goto yy363;
4844 	case 'C':
4845 	case 'c':	goto yy364;
4846 	case 'D':
4847 	case 'd':	goto yy365;
4848 	case 'F':
4849 	case 'f':	goto yy366;
4850 	case 'H':
4851 	case 'h':	goto yy367;
4852 	case 'I':
4853 	case 'i':	goto yy368;
4854 	case 'L':
4855 	case 'l':	goto yy369;
4856 	case 'M':
4857 	case 'm':	goto yy370;
4858 	case 'N':
4859 	case 'n':	goto yy371;
4860 	case 'O':
4861 	case 'o':	goto yy372;
4862 	case 'P':
4863 	case 'p':	goto yy381;
4864 	case 'S':
4865 	case 's':	goto yy382;
4866 	case 'T':
4867 	case 't':	goto yy375;
4868 	case 'U':
4869 	case 'u':	goto yy376;
4870 	default:	goto yy358;
4871 	}
4872 yy360:
4873 	++p;
4874 	{ return 3; }
4875 yy362:
4876 	yych = *++p;
4877 	if (yych <= 'S') {
4878 		if (yych <= 'D') {
4879 			if (yych <= 'C') goto yy358;
4880 			goto yy383;
4881 		} else {
4882 			if (yych <= 'Q') goto yy358;
4883 			if (yych <= 'R') goto yy384;
4884 			goto yy385;
4885 		}
4886 	} else {
4887 		if (yych <= 'q') {
4888 			if (yych == 'd') goto yy383;
4889 			goto yy358;
4890 		} else {
4891 			if (yych <= 'r') goto yy384;
4892 			if (yych <= 's') goto yy385;
4893 			goto yy358;
4894 		}
4895 	}
4896 yy363:
4897 	yych = *++p;
4898 	if (yych <= 'O') {
4899 		if (yych <= 'K') {
4900 			if (yych == 'A') goto yy386;
4901 			goto yy358;
4902 		} else {
4903 			if (yych <= 'L') goto yy387;
4904 			if (yych <= 'N') goto yy358;
4905 			goto yy388;
4906 		}
4907 	} else {
4908 		if (yych <= 'k') {
4909 			if (yych == 'a') goto yy386;
4910 			goto yy358;
4911 		} else {
4912 			if (yych <= 'l') goto yy387;
4913 			if (yych == 'o') goto yy388;
4914 			goto yy358;
4915 		}
4916 	}
4917 yy364:
4918 	yych = *++p;
4919 	if (yych <= 'O') {
4920 		if (yych <= 'D') {
4921 			if (yych == 'A') goto yy389;
4922 			goto yy358;
4923 		} else {
4924 			if (yych <= 'E') goto yy390;
4925 			if (yych <= 'N') goto yy358;
4926 			goto yy391;
4927 		}
4928 	} else {
4929 		if (yych <= 'd') {
4930 			if (yych == 'a') goto yy389;
4931 			goto yy358;
4932 		} else {
4933 			if (yych <= 'e') goto yy390;
4934 			if (yych == 'o') goto yy391;
4935 			goto yy358;
4936 		}
4937 	}
4938 yy365:
4939 	yych = *++p;
4940 	switch (yych) {
4941 	case 'D':
4942 	case 'L':
4943 	case 'T':
4944 	case 'd':
4945 	case 'l':
4946 	case 't':	goto yy392;
4947 	case 'E':
4948 	case 'e':	goto yy393;
4949 	case 'I':
4950 	case 'i':	goto yy394;
4951 	default:	goto yy358;
4952 	}
4953 yy366:
4954 	yych = *++p;
4955 	if (yych <= 'R') {
4956 		if (yych <= 'N') {
4957 			if (yych == 'I') goto yy395;
4958 			goto yy358;
4959 		} else {
4960 			if (yych <= 'O') goto yy396;
4961 			if (yych <= 'Q') goto yy358;
4962 			goto yy397;
4963 		}
4964 	} else {
4965 		if (yych <= 'n') {
4966 			if (yych == 'i') goto yy395;
4967 			goto yy358;
4968 		} else {
4969 			if (yych <= 'o') goto yy396;
4970 			if (yych == 'r') goto yy397;
4971 			goto yy358;
4972 		}
4973 	}
4974 yy367:
4975 	yych = *++p;
4976 	if (yych <= 'S') {
4977 		if (yych <= 'D') {
4978 			if (yych <= '0') goto yy358;
4979 			if (yych <= '6') goto yy392;
4980 			goto yy358;
4981 		} else {
4982 			if (yych <= 'E') goto yy398;
4983 			if (yych == 'R') goto yy392;
4984 			goto yy358;
4985 		}
4986 	} else {
4987 		if (yych <= 'q') {
4988 			if (yych <= 'T') goto yy399;
4989 			if (yych == 'e') goto yy398;
4990 			goto yy358;
4991 		} else {
4992 			if (yych <= 'r') goto yy392;
4993 			if (yych == 't') goto yy399;
4994 			goto yy358;
4995 		}
4996 	}
4997 yy368:
4998 	yych = *++p;
4999 	if (yych == 'F') goto yy400;
5000 	if (yych == 'f') goto yy400;
5001 	goto yy358;
5002 yy369:
5003 	yych = *++p;
5004 	if (yych <= 'I') {
5005 		if (yych == 'E') goto yy401;
5006 		if (yych <= 'H') goto yy358;
5007 		goto yy402;
5008 	} else {
5009 		if (yych <= 'e') {
5010 			if (yych <= 'd') goto yy358;
5011 			goto yy401;
5012 		} else {
5013 			if (yych == 'i') goto yy402;
5014 			goto yy358;
5015 		}
5016 	}
5017 yy370:
5018 	yych = *++p;
5019 	if (yych <= 'E') {
5020 		if (yych == 'A') goto yy403;
5021 		if (yych <= 'D') goto yy358;
5022 		goto yy404;
5023 	} else {
5024 		if (yych <= 'a') {
5025 			if (yych <= '`') goto yy358;
5026 			goto yy403;
5027 		} else {
5028 			if (yych == 'e') goto yy404;
5029 			goto yy358;
5030 		}
5031 	}
5032 yy371:
5033 	yych = *++p;
5034 	if (yych <= 'O') {
5035 		if (yych == 'A') goto yy405;
5036 		if (yych <= 'N') goto yy358;
5037 		goto yy406;
5038 	} else {
5039 		if (yych <= 'a') {
5040 			if (yych <= '`') goto yy358;
5041 			goto yy405;
5042 		} else {
5043 			if (yych == 'o') goto yy406;
5044 			goto yy358;
5045 		}
5046 	}
5047 yy372:
5048 	yych = *++p;
5049 	if (yych <= 'P') {
5050 		if (yych == 'L') goto yy392;
5051 		if (yych <= 'O') goto yy358;
5052 		goto yy407;
5053 	} else {
5054 		if (yych <= 'l') {
5055 			if (yych <= 'k') goto yy358;
5056 			goto yy392;
5057 		} else {
5058 			if (yych == 'p') goto yy407;
5059 			goto yy358;
5060 		}
5061 	}
5062 yy373:
5063 	yych = *++p;
5064 	if (yych <= '>') {
5065 		if (yych <= ' ') {
5066 			if (yych <= 0x08) goto yy358;
5067 			if (yych <= '\r') goto yy408;
5068 			if (yych <= 0x1F) goto yy358;
5069 			goto yy408;
5070 		} else {
5071 			if (yych == '/') goto yy410;
5072 			if (yych <= '=') goto yy358;
5073 			goto yy408;
5074 		}
5075 	} else {
5076 		if (yych <= 'R') {
5077 			if (yych == 'A') goto yy411;
5078 			if (yych <= 'Q') goto yy358;
5079 			goto yy412;
5080 		} else {
5081 			if (yych <= 'a') {
5082 				if (yych <= '`') goto yy358;
5083 				goto yy411;
5084 			} else {
5085 				if (yych == 'r') goto yy412;
5086 				goto yy358;
5087 			}
5088 		}
5089 	}
5090 yy374:
5091 	yych = *++p;
5092 	switch (yych) {
5093 	case 'C':
5094 	case 'c':	goto yy413;
5095 	case 'E':
5096 	case 'e':	goto yy414;
5097 	case 'O':
5098 	case 'o':	goto yy415;
5099 	case 'T':
5100 	case 't':	goto yy416;
5101 	case 'U':
5102 	case 'u':	goto yy417;
5103 	default:	goto yy358;
5104 	}
5105 yy375:
5106 	yych = *++p;
5107 	switch (yych) {
5108 	case 'A':
5109 	case 'a':	goto yy418;
5110 	case 'B':
5111 	case 'b':	goto yy419;
5112 	case 'D':
5113 	case 'd':	goto yy392;
5114 	case 'F':
5115 	case 'f':	goto yy420;
5116 	case 'H':
5117 	case 'h':	goto yy421;
5118 	case 'I':
5119 	case 'i':	goto yy422;
5120 	case 'R':
5121 	case 'r':	goto yy423;
5122 	default:	goto yy358;
5123 	}
5124 yy376:
5125 	yych = *++p;
5126 	if (yych == 'L') goto yy392;
5127 	if (yych == 'l') goto yy392;
5128 	goto yy358;
5129 yy377:
5130 	yych = *++p;
5131 	if (yych == '-') goto yy424;
5132 	goto yy358;
5133 yy378:
5134 	++p;
5135 	{ return 4; }
5136 yy380:
5137 	yych = *++p;
5138 	if (yych == 'C') goto yy426;
5139 	if (yych == 'c') goto yy426;
5140 	goto yy358;
5141 yy381:
5142 	yych = *++p;
5143 	if (yych <= '/') {
5144 		if (yych <= 0x1F) {
5145 			if (yych <= 0x08) goto yy358;
5146 			if (yych <= '\r') goto yy408;
5147 			goto yy358;
5148 		} else {
5149 			if (yych <= ' ') goto yy408;
5150 			if (yych <= '.') goto yy358;
5151 			goto yy410;
5152 		}
5153 	} else {
5154 		if (yych <= '@') {
5155 			if (yych == '>') goto yy408;
5156 			goto yy358;
5157 		} else {
5158 			if (yych <= 'A') goto yy411;
5159 			if (yych == 'a') goto yy411;
5160 			goto yy358;
5161 		}
5162 	}
5163 yy382:
5164 	yych = *++p;
5165 	if (yych <= 'U') {
5166 		if (yych <= 'N') {
5167 			if (yych == 'E') goto yy414;
5168 			goto yy358;
5169 		} else {
5170 			if (yych <= 'O') goto yy415;
5171 			if (yych <= 'T') goto yy358;
5172 			goto yy417;
5173 		}
5174 	} else {
5175 		if (yych <= 'n') {
5176 			if (yych == 'e') goto yy414;
5177 			goto yy358;
5178 		} else {
5179 			if (yych <= 'o') goto yy415;
5180 			if (yych == 'u') goto yy417;
5181 			goto yy358;
5182 		}
5183 	}
5184 yy383:
5185 	yych = *++p;
5186 	if (yych == 'D') goto yy427;
5187 	if (yych == 'd') goto yy427;
5188 	goto yy358;
5189 yy384:
5190 	yych = *++p;
5191 	if (yych == 'T') goto yy428;
5192 	if (yych == 't') goto yy428;
5193 	goto yy358;
5194 yy385:
5195 	yych = *++p;
5196 	if (yych == 'I') goto yy429;
5197 	if (yych == 'i') goto yy429;
5198 	goto yy358;
5199 yy386:
5200 	yych = *++p;
5201 	if (yych == 'S') goto yy430;
5202 	if (yych == 's') goto yy430;
5203 	goto yy358;
5204 yy387:
5205 	yych = *++p;
5206 	if (yych == 'O') goto yy431;
5207 	if (yych == 'o') goto yy431;
5208 	goto yy358;
5209 yy388:
5210 	yych = *++p;
5211 	if (yych == 'D') goto yy432;
5212 	if (yych == 'd') goto yy432;
5213 	goto yy358;
5214 yy389:
5215 	yych = *++p;
5216 	if (yych == 'P') goto yy433;
5217 	if (yych == 'p') goto yy433;
5218 	goto yy358;
5219 yy390:
5220 	yych = *++p;
5221 	if (yych == 'N') goto yy434;
5222 	if (yych == 'n') goto yy434;
5223 	goto yy358;
5224 yy391:
5225 	yych = *++p;
5226 	if (yych == 'L') goto yy435;
5227 	if (yych == 'l') goto yy435;
5228 	goto yy358;
5229 yy392:
5230 	yych = *++p;
5231 	if (yych <= ' ') {
5232 		if (yych <= 0x08) goto yy358;
5233 		if (yych <= '\r') goto yy408;
5234 		if (yych <= 0x1F) goto yy358;
5235 		goto yy408;
5236 	} else {
5237 		if (yych <= '/') {
5238 			if (yych <= '.') goto yy358;
5239 			goto yy410;
5240 		} else {
5241 			if (yych == '>') goto yy408;
5242 			goto yy358;
5243 		}
5244 	}
5245 yy393:
5246 	yych = *++p;
5247 	if (yych == 'T') goto yy436;
5248 	if (yych == 't') goto yy436;
5249 	goto yy358;
5250 yy394:
5251 	yych = *++p;
5252 	if (yych <= 'V') {
5253 		if (yych <= 'Q') {
5254 			if (yych == 'A') goto yy437;
5255 			goto yy358;
5256 		} else {
5257 			if (yych <= 'R') goto yy392;
5258 			if (yych <= 'U') goto yy358;
5259 			goto yy392;
5260 		}
5261 	} else {
5262 		if (yych <= 'q') {
5263 			if (yych == 'a') goto yy437;
5264 			goto yy358;
5265 		} else {
5266 			if (yych <= 'r') goto yy392;
5267 			if (yych == 'v') goto yy392;
5268 			goto yy358;
5269 		}
5270 	}
5271 yy395:
5272 	yych = *++p;
5273 	if (yych <= 'G') {
5274 		if (yych == 'E') goto yy438;
5275 		if (yych <= 'F') goto yy358;
5276 		goto yy439;
5277 	} else {
5278 		if (yych <= 'e') {
5279 			if (yych <= 'd') goto yy358;
5280 			goto yy438;
5281 		} else {
5282 			if (yych == 'g') goto yy439;
5283 			goto yy358;
5284 		}
5285 	}
5286 yy396:
5287 	yych = *++p;
5288 	if (yych <= 'R') {
5289 		if (yych == 'O') goto yy434;
5290 		if (yych <= 'Q') goto yy358;
5291 		goto yy440;
5292 	} else {
5293 		if (yych <= 'o') {
5294 			if (yych <= 'n') goto yy358;
5295 			goto yy434;
5296 		} else {
5297 			if (yych == 'r') goto yy440;
5298 			goto yy358;
5299 		}
5300 	}
5301 yy397:
5302 	yych = *++p;
5303 	if (yych == 'A') goto yy441;
5304 	if (yych == 'a') goto yy441;
5305 	goto yy358;
5306 yy398:
5307 	yych = *++p;
5308 	if (yych == 'A') goto yy442;
5309 	if (yych == 'a') goto yy442;
5310 	goto yy358;
5311 yy399:
5312 	yych = *++p;
5313 	if (yych == 'M') goto yy376;
5314 	if (yych == 'm') goto yy376;
5315 	goto yy358;
5316 yy400:
5317 	yych = *++p;
5318 	if (yych == 'R') goto yy443;
5319 	if (yych == 'r') goto yy443;
5320 	goto yy358;
5321 yy401:
5322 	yych = *++p;
5323 	if (yych == 'G') goto yy444;
5324 	if (yych == 'g') goto yy444;
5325 	goto yy358;
5326 yy402:
5327 	yych = *++p;
5328 	if (yych <= '/') {
5329 		if (yych <= 0x1F) {
5330 			if (yych <= 0x08) goto yy358;
5331 			if (yych <= '\r') goto yy408;
5332 			goto yy358;
5333 		} else {
5334 			if (yych <= ' ') goto yy408;
5335 			if (yych <= '.') goto yy358;
5336 			goto yy410;
5337 		}
5338 	} else {
5339 		if (yych <= 'M') {
5340 			if (yych == '>') goto yy408;
5341 			goto yy358;
5342 		} else {
5343 			if (yych <= 'N') goto yy445;
5344 			if (yych == 'n') goto yy445;
5345 			goto yy358;
5346 		}
5347 	}
5348 yy403:
5349 	yych = *++p;
5350 	if (yych == 'I') goto yy446;
5351 	if (yych == 'i') goto yy446;
5352 	goto yy358;
5353 yy404:
5354 	yych = *++p;
5355 	if (yych == 'N') goto yy447;
5356 	if (yych == 'n') goto yy447;
5357 	goto yy358;
5358 yy405:
5359 	yych = *++p;
5360 	if (yych == 'V') goto yy392;
5361 	if (yych == 'v') goto yy392;
5362 	goto yy358;
5363 yy406:
5364 	yych = *++p;
5365 	if (yych == 'F') goto yy448;
5366 	if (yych == 'f') goto yy448;
5367 	goto yy358;
5368 yy407:
5369 	yych = *++p;
5370 	if (yych == 'T') goto yy449;
5371 	if (yych == 't') goto yy449;
5372 	goto yy358;
5373 yy408:
5374 	++p;
5375 	{ return 6; }
5376 yy410:
5377 	yych = *++p;
5378 	if (yych == '>') goto yy408;
5379 	goto yy358;
5380 yy411:
5381 	yych = *++p;
5382 	if (yych == 'R') goto yy450;
5383 	if (yych == 'r') goto yy450;
5384 	goto yy358;
5385 yy412:
5386 	yych = *++p;
5387 	if (yych == 'E') goto yy451;
5388 	if (yych == 'e') goto yy451;
5389 	goto yy358;
5390 yy413:
5391 	yych = *++p;
5392 	if (yych == 'R') goto yy452;
5393 	if (yych == 'r') goto yy452;
5394 	goto yy358;
5395 yy414:
5396 	yych = *++p;
5397 	if (yych == 'C') goto yy433;
5398 	if (yych == 'c') goto yy433;
5399 	goto yy358;
5400 yy415:
5401 	yych = *++p;
5402 	if (yych == 'U') goto yy453;
5403 	if (yych == 'u') goto yy453;
5404 	goto yy358;
5405 yy416:
5406 	yych = *++p;
5407 	if (yych == 'Y') goto yy454;
5408 	if (yych == 'y') goto yy454;
5409 	goto yy358;
5410 yy417:
5411 	yych = *++p;
5412 	if (yych == 'M') goto yy455;
5413 	if (yych == 'm') goto yy455;
5414 	goto yy358;
5415 yy418:
5416 	yych = *++p;
5417 	if (yych == 'B') goto yy456;
5418 	if (yych == 'b') goto yy456;
5419 	goto yy358;
5420 yy419:
5421 	yych = *++p;
5422 	if (yych == 'O') goto yy388;
5423 	if (yych == 'o') goto yy388;
5424 	goto yy358;
5425 yy420:
5426 	yych = *++p;
5427 	if (yych == 'O') goto yy457;
5428 	if (yych == 'o') goto yy457;
5429 	goto yy358;
5430 yy421:
5431 	yych = *++p;
5432 	if (yych <= '/') {
5433 		if (yych <= 0x1F) {
5434 			if (yych <= 0x08) goto yy358;
5435 			if (yych <= '\r') goto yy408;
5436 			goto yy358;
5437 		} else {
5438 			if (yych <= ' ') goto yy408;
5439 			if (yych <= '.') goto yy358;
5440 			goto yy410;
5441 		}
5442 	} else {
5443 		if (yych <= 'D') {
5444 			if (yych == '>') goto yy408;
5445 			goto yy358;
5446 		} else {
5447 			if (yych <= 'E') goto yy458;
5448 			if (yych == 'e') goto yy458;
5449 			goto yy358;
5450 		}
5451 	}
5452 yy422:
5453 	yych = *++p;
5454 	if (yych == 'T') goto yy456;
5455 	if (yych == 't') goto yy456;
5456 	goto yy358;
5457 yy423:
5458 	yych = *++p;
5459 	if (yych <= '/') {
5460 		if (yych <= 0x1F) {
5461 			if (yych <= 0x08) goto yy358;
5462 			if (yych <= '\r') goto yy408;
5463 			goto yy358;
5464 		} else {
5465 			if (yych <= ' ') goto yy408;
5466 			if (yych <= '.') goto yy358;
5467 			goto yy410;
5468 		}
5469 	} else {
5470 		if (yych <= '@') {
5471 			if (yych == '>') goto yy408;
5472 			goto yy358;
5473 		} else {
5474 			if (yych <= 'A') goto yy459;
5475 			if (yych == 'a') goto yy459;
5476 			goto yy358;
5477 		}
5478 	}
5479 yy424:
5480 	++p;
5481 	{ return 2; }
5482 yy426:
5483 	yych = *++p;
5484 	if (yych == 'D') goto yy460;
5485 	if (yych == 'd') goto yy460;
5486 	goto yy358;
5487 yy427:
5488 	yych = *++p;
5489 	if (yych == 'R') goto yy461;
5490 	if (yych == 'r') goto yy461;
5491 	goto yy358;
5492 yy428:
5493 	yych = *++p;
5494 	if (yych == 'I') goto yy462;
5495 	if (yych == 'i') goto yy462;
5496 	goto yy358;
5497 yy429:
5498 	yych = *++p;
5499 	if (yych == 'D') goto yy463;
5500 	if (yych == 'd') goto yy463;
5501 	goto yy358;
5502 yy430:
5503 	yych = *++p;
5504 	if (yych == 'E') goto yy464;
5505 	if (yych == 'e') goto yy464;
5506 	goto yy358;
5507 yy431:
5508 	yych = *++p;
5509 	if (yych == 'C') goto yy465;
5510 	if (yych == 'c') goto yy465;
5511 	goto yy358;
5512 yy432:
5513 	yych = *++p;
5514 	if (yych == 'Y') goto yy392;
5515 	if (yych == 'y') goto yy392;
5516 	goto yy358;
5517 yy433:
5518 	yych = *++p;
5519 	if (yych == 'T') goto yy466;
5520 	if (yych == 't') goto yy466;
5521 	goto yy358;
5522 yy434:
5523 	yych = *++p;
5524 	if (yych == 'T') goto yy467;
5525 	if (yych == 't') goto yy467;
5526 	goto yy358;
5527 yy435:
5528 	yych = *++p;
5529 	if (yych <= '/') {
5530 		if (yych <= 0x1F) {
5531 			if (yych <= 0x08) goto yy358;
5532 			if (yych <= '\r') goto yy408;
5533 			goto yy358;
5534 		} else {
5535 			if (yych <= ' ') goto yy408;
5536 			if (yych <= '.') goto yy358;
5537 			goto yy410;
5538 		}
5539 	} else {
5540 		if (yych <= 'F') {
5541 			if (yych == '>') goto yy408;
5542 			goto yy358;
5543 		} else {
5544 			if (yych <= 'G') goto yy468;
5545 			if (yych == 'g') goto yy468;
5546 			goto yy358;
5547 		}
5548 	}
5549 yy436:
5550 	yych = *++p;
5551 	if (yych == 'A') goto yy469;
5552 	if (yych == 'a') goto yy469;
5553 	goto yy358;
5554 yy437:
5555 	yych = *++p;
5556 	if (yych == 'L') goto yy470;
5557 	if (yych == 'l') goto yy470;
5558 	goto yy358;
5559 yy438:
5560 	yych = *++p;
5561 	if (yych == 'L') goto yy471;
5562 	if (yych == 'l') goto yy471;
5563 	goto yy358;
5564 yy439:
5565 	yych = *++p;
5566 	if (yych <= 'U') {
5567 		if (yych == 'C') goto yy472;
5568 		if (yych <= 'T') goto yy358;
5569 		goto yy473;
5570 	} else {
5571 		if (yych <= 'c') {
5572 			if (yych <= 'b') goto yy358;
5573 			goto yy472;
5574 		} else {
5575 			if (yych == 'u') goto yy473;
5576 			goto yy358;
5577 		}
5578 	}
5579 yy440:
5580 	yych = *++p;
5581 	if (yych == 'M') goto yy392;
5582 	if (yych == 'm') goto yy392;
5583 	goto yy358;
5584 yy441:
5585 	yych = *++p;
5586 	if (yych == 'M') goto yy474;
5587 	if (yych == 'm') goto yy474;
5588 	goto yy358;
5589 yy442:
5590 	yych = *++p;
5591 	if (yych == 'D') goto yy475;
5592 	if (yych == 'd') goto yy475;
5593 	goto yy358;
5594 yy443:
5595 	yych = *++p;
5596 	if (yych == 'A') goto yy476;
5597 	if (yych == 'a') goto yy476;
5598 	goto yy358;
5599 yy444:
5600 	yych = *++p;
5601 	if (yych == 'E') goto yy477;
5602 	if (yych == 'e') goto yy477;
5603 	goto yy358;
5604 yy445:
5605 	yych = *++p;
5606 	if (yych == 'K') goto yy392;
5607 	if (yych == 'k') goto yy392;
5608 	goto yy358;
5609 yy446:
5610 	yych = *++p;
5611 	if (yych == 'N') goto yy392;
5612 	if (yych == 'n') goto yy392;
5613 	goto yy358;
5614 yy447:
5615 	yych = *++p;
5616 	if (yych == 'U') goto yy478;
5617 	if (yych == 'u') goto yy478;
5618 	goto yy358;
5619 yy448:
5620 	yych = *++p;
5621 	if (yych == 'R') goto yy479;
5622 	if (yych == 'r') goto yy479;
5623 	goto yy358;
5624 yy449:
5625 	yych = *++p;
5626 	if (yych <= 'I') {
5627 		if (yych == 'G') goto yy468;
5628 		if (yych <= 'H') goto yy358;
5629 		goto yy480;
5630 	} else {
5631 		if (yych <= 'g') {
5632 			if (yych <= 'f') goto yy358;
5633 			goto yy468;
5634 		} else {
5635 			if (yych == 'i') goto yy480;
5636 			goto yy358;
5637 		}
5638 	}
5639 yy450:
5640 	yych = *++p;
5641 	if (yych == 'A') goto yy440;
5642 	if (yych == 'a') goto yy440;
5643 	goto yy358;
5644 yy451:
5645 	yych = *++p;
5646 	if (yych <= 0x1F) {
5647 		if (yych <= 0x08) goto yy358;
5648 		if (yych <= '\r') goto yy481;
5649 		goto yy358;
5650 	} else {
5651 		if (yych <= ' ') goto yy481;
5652 		if (yych == '>') goto yy481;
5653 		goto yy358;
5654 	}
5655 yy452:
5656 	yych = *++p;
5657 	if (yych == 'I') goto yy483;
5658 	if (yych == 'i') goto yy483;
5659 	goto yy358;
5660 yy453:
5661 	yych = *++p;
5662 	if (yych == 'R') goto yy484;
5663 	if (yych == 'r') goto yy484;
5664 	goto yy358;
5665 yy454:
5666 	yych = *++p;
5667 	if (yych == 'L') goto yy412;
5668 	if (yych == 'l') goto yy412;
5669 	goto yy358;
5670 yy455:
5671 	yych = *++p;
5672 	if (yych == 'M') goto yy485;
5673 	if (yych == 'm') goto yy485;
5674 	goto yy358;
5675 yy456:
5676 	yych = *++p;
5677 	if (yych == 'L') goto yy463;
5678 	if (yych == 'l') goto yy463;
5679 	goto yy358;
5680 yy457:
5681 	yych = *++p;
5682 	if (yych == 'O') goto yy486;
5683 	if (yych == 'o') goto yy486;
5684 	goto yy358;
5685 yy458:
5686 	yych = *++p;
5687 	if (yych == 'A') goto yy487;
5688 	if (yych == 'a') goto yy487;
5689 	goto yy358;
5690 yy459:
5691 	yych = *++p;
5692 	if (yych == 'C') goto yy445;
5693 	if (yych == 'c') goto yy445;
5694 	goto yy358;
5695 yy460:
5696 	yych = *++p;
5697 	if (yych == 'A') goto yy488;
5698 	if (yych == 'a') goto yy488;
5699 	goto yy358;
5700 yy461:
5701 	yych = *++p;
5702 	if (yych == 'E') goto yy489;
5703 	if (yych == 'e') goto yy489;
5704 	goto yy358;
5705 yy462:
5706 	yych = *++p;
5707 	if (yych == 'C') goto yy456;
5708 	if (yych == 'c') goto yy456;
5709 	goto yy358;
5710 yy463:
5711 	yych = *++p;
5712 	if (yych == 'E') goto yy392;
5713 	if (yych == 'e') goto yy392;
5714 	goto yy358;
5715 yy464:
5716 	yych = *++p;
5717 	if (yych <= '/') {
5718 		if (yych <= 0x1F) {
5719 			if (yych <= 0x08) goto yy358;
5720 			if (yych <= '\r') goto yy408;
5721 			goto yy358;
5722 		} else {
5723 			if (yych <= ' ') goto yy408;
5724 			if (yych <= '.') goto yy358;
5725 			goto yy410;
5726 		}
5727 	} else {
5728 		if (yych <= 'E') {
5729 			if (yych == '>') goto yy408;
5730 			goto yy358;
5731 		} else {
5732 			if (yych <= 'F') goto yy490;
5733 			if (yych == 'f') goto yy490;
5734 			goto yy358;
5735 		}
5736 	}
5737 yy465:
5738 	yych = *++p;
5739 	if (yych == 'K') goto yy491;
5740 	if (yych == 'k') goto yy491;
5741 	goto yy358;
5742 yy466:
5743 	yych = *++p;
5744 	if (yych == 'I') goto yy480;
5745 	if (yych == 'i') goto yy480;
5746 	goto yy358;
5747 yy467:
5748 	yych = *++p;
5749 	if (yych == 'E') goto yy492;
5750 	if (yych == 'e') goto yy492;
5751 	goto yy358;
5752 yy468:
5753 	yych = *++p;
5754 	if (yych == 'R') goto yy493;
5755 	if (yych == 'r') goto yy493;
5756 	goto yy358;
5757 yy469:
5758 	yych = *++p;
5759 	if (yych == 'I') goto yy494;
5760 	if (yych == 'i') goto yy494;
5761 	goto yy358;
5762 yy470:
5763 	yych = *++p;
5764 	if (yych == 'O') goto yy495;
5765 	if (yych == 'o') goto yy495;
5766 	goto yy358;
5767 yy471:
5768 	yych = *++p;
5769 	if (yych == 'D') goto yy496;
5770 	if (yych == 'd') goto yy496;
5771 	goto yy358;
5772 yy472:
5773 	yych = *++p;
5774 	if (yych == 'A') goto yy389;
5775 	if (yych == 'a') goto yy389;
5776 	goto yy358;
5777 yy473:
5778 	yych = *++p;
5779 	if (yych == 'R') goto yy463;
5780 	if (yych == 'r') goto yy463;
5781 	goto yy358;
5782 yy474:
5783 	yych = *++p;
5784 	if (yych == 'E') goto yy497;
5785 	if (yych == 'e') goto yy497;
5786 	goto yy358;
5787 yy475:
5788 	yych = *++p;
5789 	if (yych <= '/') {
5790 		if (yych <= 0x1F) {
5791 			if (yych <= 0x08) goto yy358;
5792 			if (yych <= '\r') goto yy408;
5793 			goto yy358;
5794 		} else {
5795 			if (yych <= ' ') goto yy408;
5796 			if (yych <= '.') goto yy358;
5797 			goto yy410;
5798 		}
5799 	} else {
5800 		if (yych <= 'D') {
5801 			if (yych == '>') goto yy408;
5802 			goto yy358;
5803 		} else {
5804 			if (yych <= 'E') goto yy492;
5805 			if (yych == 'e') goto yy492;
5806 			goto yy358;
5807 		}
5808 	}
5809 yy476:
5810 	yych = *++p;
5811 	if (yych == 'M') goto yy463;
5812 	if (yych == 'm') goto yy463;
5813 	goto yy358;
5814 yy477:
5815 	yych = *++p;
5816 	if (yych == 'N') goto yy487;
5817 	if (yych == 'n') goto yy487;
5818 	goto yy358;
5819 yy478:
5820 	yych = *++p;
5821 	if (yych <= '/') {
5822 		if (yych <= 0x1F) {
5823 			if (yych <= 0x08) goto yy358;
5824 			if (yych <= '\r') goto yy408;
5825 			goto yy358;
5826 		} else {
5827 			if (yych <= ' ') goto yy408;
5828 			if (yych <= '.') goto yy358;
5829 			goto yy410;
5830 		}
5831 	} else {
5832 		if (yych <= 'H') {
5833 			if (yych == '>') goto yy408;
5834 			goto yy358;
5835 		} else {
5836 			if (yych <= 'I') goto yy498;
5837 			if (yych == 'i') goto yy498;
5838 			goto yy358;
5839 		}
5840 	}
5841 yy479:
5842 	yych = *++p;
5843 	if (yych == 'A') goto yy499;
5844 	if (yych == 'a') goto yy499;
5845 	goto yy358;
5846 yy480:
5847 	yych = *++p;
5848 	if (yych == 'O') goto yy446;
5849 	if (yych == 'o') goto yy446;
5850 	goto yy358;
5851 yy481:
5852 	++p;
5853 	{ return 1; }
5854 yy483:
5855 	yych = *++p;
5856 	if (yych == 'P') goto yy500;
5857 	if (yych == 'p') goto yy500;
5858 	goto yy358;
5859 yy484:
5860 	yych = *++p;
5861 	if (yych == 'C') goto yy463;
5862 	if (yych == 'c') goto yy463;
5863 	goto yy358;
5864 yy485:
5865 	yych = *++p;
5866 	if (yych == 'A') goto yy501;
5867 	if (yych == 'a') goto yy501;
5868 	goto yy358;
5869 yy486:
5870 	yych = *++p;
5871 	if (yych == 'T') goto yy392;
5872 	if (yych == 't') goto yy392;
5873 	goto yy358;
5874 yy487:
5875 	yych = *++p;
5876 	if (yych == 'D') goto yy392;
5877 	if (yych == 'd') goto yy392;
5878 	goto yy358;
5879 yy488:
5880 	yych = *++p;
5881 	if (yych == 'T') goto yy502;
5882 	if (yych == 't') goto yy502;
5883 	goto yy358;
5884 yy489:
5885 	yych = *++p;
5886 	if (yych == 'S') goto yy503;
5887 	if (yych == 's') goto yy503;
5888 	goto yy358;
5889 yy490:
5890 	yych = *++p;
5891 	if (yych == 'O') goto yy504;
5892 	if (yych == 'o') goto yy504;
5893 	goto yy358;
5894 yy491:
5895 	yych = *++p;
5896 	if (yych == 'Q') goto yy505;
5897 	if (yych == 'q') goto yy505;
5898 	goto yy358;
5899 yy492:
5900 	yych = *++p;
5901 	if (yych == 'R') goto yy392;
5902 	if (yych == 'r') goto yy392;
5903 	goto yy358;
5904 yy493:
5905 	yych = *++p;
5906 	if (yych == 'O') goto yy506;
5907 	if (yych == 'o') goto yy506;
5908 	goto yy358;
5909 yy494:
5910 	yych = *++p;
5911 	if (yych == 'L') goto yy503;
5912 	if (yych == 'l') goto yy503;
5913 	goto yy358;
5914 yy495:
5915 	yych = *++p;
5916 	if (yych == 'G') goto yy392;
5917 	if (yych == 'g') goto yy392;
5918 	goto yy358;
5919 yy496:
5920 	yych = *++p;
5921 	if (yych == 'S') goto yy507;
5922 	if (yych == 's') goto yy507;
5923 	goto yy358;
5924 yy497:
5925 	yych = *++p;
5926 	if (yych <= '/') {
5927 		if (yych <= 0x1F) {
5928 			if (yych <= 0x08) goto yy358;
5929 			if (yych <= '\r') goto yy408;
5930 			goto yy358;
5931 		} else {
5932 			if (yych <= ' ') goto yy408;
5933 			if (yych <= '.') goto yy358;
5934 			goto yy410;
5935 		}
5936 	} else {
5937 		if (yych <= 'R') {
5938 			if (yych == '>') goto yy408;
5939 			goto yy358;
5940 		} else {
5941 			if (yych <= 'S') goto yy507;
5942 			if (yych == 's') goto yy507;
5943 			goto yy358;
5944 		}
5945 	}
5946 yy498:
5947 	yych = *++p;
5948 	if (yych == 'T') goto yy508;
5949 	if (yych == 't') goto yy508;
5950 	goto yy358;
5951 yy499:
5952 	yych = *++p;
5953 	if (yych == 'M') goto yy509;
5954 	if (yych == 'm') goto yy509;
5955 	goto yy358;
5956 yy500:
5957 	yych = *++p;
5958 	if (yych == 'T') goto yy451;
5959 	if (yych == 't') goto yy451;
5960 	goto yy358;
5961 yy501:
5962 	yych = *++p;
5963 	if (yych == 'R') goto yy432;
5964 	if (yych == 'r') goto yy432;
5965 	goto yy358;
5966 yy502:
5967 	yych = *++p;
5968 	if (yych == 'A') goto yy510;
5969 	if (yych == 'a') goto yy510;
5970 	goto yy358;
5971 yy503:
5972 	yych = *++p;
5973 	if (yych == 'S') goto yy392;
5974 	if (yych == 's') goto yy392;
5975 	goto yy358;
5976 yy504:
5977 	yych = *++p;
5978 	if (yych == 'N') goto yy486;
5979 	if (yych == 'n') goto yy486;
5980 	goto yy358;
5981 yy505:
5982 	yych = *++p;
5983 	if (yych == 'U') goto yy511;
5984 	if (yych == 'u') goto yy511;
5985 	goto yy358;
5986 yy506:
5987 	yych = *++p;
5988 	if (yych == 'U') goto yy512;
5989 	if (yych == 'u') goto yy512;
5990 	goto yy358;
5991 yy507:
5992 	yych = *++p;
5993 	if (yych == 'E') goto yy486;
5994 	if (yych == 'e') goto yy486;
5995 	goto yy358;
5996 yy508:
5997 	yych = *++p;
5998 	if (yych == 'E') goto yy440;
5999 	if (yych == 'e') goto yy440;
6000 	goto yy358;
6001 yy509:
6002 	yych = *++p;
6003 	if (yych == 'E') goto yy503;
6004 	if (yych == 'e') goto yy503;
6005 	goto yy358;
6006 yy510:
6007 	yych = *++p;
6008 	if (yych == '[') goto yy513;
6009 	goto yy358;
6010 yy511:
6011 	yych = *++p;
6012 	if (yych == 'O') goto yy515;
6013 	if (yych == 'o') goto yy515;
6014 	goto yy358;
6015 yy512:
6016 	yych = *++p;
6017 	if (yych == 'P') goto yy392;
6018 	if (yych == 'p') goto yy392;
6019 	goto yy358;
6020 yy513:
6021 	++p;
6022 	{ return 5; }
6023 yy515:
6024 	yych = *++p;
6025 	if (yych == 'T') goto yy463;
6026 	if (yych == 't') goto yy463;
6027 	goto yy358;
6028 }
6029 
6030 }
6031 
6032 // Try to match an HTML block tag start line of type 7, returning
6033 // 7 if successful, 0 if not.
_scan_html_block_start_7(const unsigned char * p)6034 bufsize_t _scan_html_block_start_7(const unsigned char *p)
6035 {
6036   const unsigned char *marker = NULL;
6037 
6038 {
6039 	unsigned char yych;
6040 	unsigned int yyaccept = 0;
6041 	static const unsigned char yybm[] = {
6042 		  0, 224, 224, 224, 224, 224, 224, 224,
6043 		224, 198, 210, 194, 198, 194, 224, 224,
6044 		224, 224, 224, 224, 224, 224, 224, 224,
6045 		224, 224, 224, 224, 224, 224, 224, 224,
6046 		198, 224, 128, 224, 224, 224, 224,  64,
6047 		224, 224, 224, 224, 224, 233, 232, 224,
6048 		233, 233, 233, 233, 233, 233, 233, 233,
6049 		233, 233, 232, 224, 192, 192, 192, 224,
6050 		224, 233, 233, 233, 233, 233, 233, 233,
6051 		233, 233, 233, 233, 233, 233, 233, 233,
6052 		233, 233, 233, 233, 233, 233, 233, 233,
6053 		233, 233, 233, 224, 224, 224, 224, 232,
6054 		192, 233, 233, 233, 233, 233, 233, 233,
6055 		233, 233, 233, 233, 233, 233, 233, 233,
6056 		233, 233, 233, 233, 233, 233, 233, 233,
6057 		233, 233, 233, 224, 224, 224, 224, 224,
6058 		  0,   0,   0,   0,   0,   0,   0,   0,
6059 		  0,   0,   0,   0,   0,   0,   0,   0,
6060 		  0,   0,   0,   0,   0,   0,   0,   0,
6061 		  0,   0,   0,   0,   0,   0,   0,   0,
6062 		  0,   0,   0,   0,   0,   0,   0,   0,
6063 		  0,   0,   0,   0,   0,   0,   0,   0,
6064 		  0,   0,   0,   0,   0,   0,   0,   0,
6065 		  0,   0,   0,   0,   0,   0,   0,   0,
6066 		  0,   0,   0,   0,   0,   0,   0,   0,
6067 		  0,   0,   0,   0,   0,   0,   0,   0,
6068 		  0,   0,   0,   0,   0,   0,   0,   0,
6069 		  0,   0,   0,   0,   0,   0,   0,   0,
6070 		  0,   0,   0,   0,   0,   0,   0,   0,
6071 		  0,   0,   0,   0,   0,   0,   0,   0,
6072 		  0,   0,   0,   0,   0,   0,   0,   0,
6073 		  0,   0,   0,   0,   0,   0,   0,   0,
6074 	};
6075 	yych = *p;
6076 	if (yych == '<') goto yy520;
6077 	++p;
6078 yy519:
6079 	{ return 0; }
6080 yy520:
6081 	yyaccept = 0;
6082 	yych = *(marker = ++p);
6083 	if (yych <= '@') {
6084 		if (yych != '/') goto yy519;
6085 	} else {
6086 		if (yych <= 'Z') goto yy523;
6087 		if (yych <= '`') goto yy519;
6088 		if (yych <= 'z') goto yy523;
6089 		goto yy519;
6090 	}
6091 	yych = *++p;
6092 	if (yych <= '@') goto yy522;
6093 	if (yych <= 'Z') goto yy525;
6094 	if (yych <= '`') goto yy522;
6095 	if (yych <= 'z') goto yy525;
6096 yy522:
6097 	p = marker;
6098 	if (yyaccept == 0) {
6099 		goto yy519;
6100 	} else {
6101 		goto yy538;
6102 	}
6103 yy523:
6104 	yych = *++p;
6105 	if (yybm[0+yych] & 2) {
6106 		goto yy527;
6107 	}
6108 	if (yych <= '=') {
6109 		if (yych <= '.') {
6110 			if (yych == '-') goto yy523;
6111 			goto yy522;
6112 		} else {
6113 			if (yych <= '/') goto yy529;
6114 			if (yych <= '9') goto yy523;
6115 			goto yy522;
6116 		}
6117 	} else {
6118 		if (yych <= 'Z') {
6119 			if (yych <= '>') goto yy530;
6120 			if (yych <= '@') goto yy522;
6121 			goto yy523;
6122 		} else {
6123 			if (yych <= '`') goto yy522;
6124 			if (yych <= 'z') goto yy523;
6125 			goto yy522;
6126 		}
6127 	}
6128 yy525:
6129 	yych = *++p;
6130 	if (yych <= '/') {
6131 		if (yych <= 0x1F) {
6132 			if (yych <= 0x08) goto yy522;
6133 			if (yych <= '\r') goto yy532;
6134 			goto yy522;
6135 		} else {
6136 			if (yych <= ' ') goto yy532;
6137 			if (yych == '-') goto yy525;
6138 			goto yy522;
6139 		}
6140 	} else {
6141 		if (yych <= '@') {
6142 			if (yych <= '9') goto yy525;
6143 			if (yych == '>') goto yy530;
6144 			goto yy522;
6145 		} else {
6146 			if (yych <= 'Z') goto yy525;
6147 			if (yych <= '`') goto yy522;
6148 			if (yych <= 'z') goto yy525;
6149 			goto yy522;
6150 		}
6151 	}
6152 yy527:
6153 	yych = *++p;
6154 	if (yybm[0+yych] & 2) {
6155 		goto yy527;
6156 	}
6157 	if (yych <= '>') {
6158 		if (yych <= '9') {
6159 			if (yych != '/') goto yy522;
6160 		} else {
6161 			if (yych <= ':') goto yy534;
6162 			if (yych <= '=') goto yy522;
6163 			goto yy530;
6164 		}
6165 	} else {
6166 		if (yych <= '^') {
6167 			if (yych <= '@') goto yy522;
6168 			if (yych <= 'Z') goto yy534;
6169 			goto yy522;
6170 		} else {
6171 			if (yych == '`') goto yy522;
6172 			if (yych <= 'z') goto yy534;
6173 			goto yy522;
6174 		}
6175 	}
6176 yy529:
6177 	yych = *++p;
6178 	if (yych != '>') goto yy522;
6179 yy530:
6180 	yych = *++p;
6181 	if (yybm[0+yych] & 4) {
6182 		goto yy530;
6183 	}
6184 	if (yych <= 0x08) goto yy522;
6185 	if (yych <= '\n') goto yy536;
6186 	if (yych <= '\v') goto yy522;
6187 	if (yych <= '\r') goto yy539;
6188 	goto yy522;
6189 yy532:
6190 	yych = *++p;
6191 	if (yych <= 0x1F) {
6192 		if (yych <= 0x08) goto yy522;
6193 		if (yych <= '\r') goto yy532;
6194 		goto yy522;
6195 	} else {
6196 		if (yych <= ' ') goto yy532;
6197 		if (yych == '>') goto yy530;
6198 		goto yy522;
6199 	}
6200 yy534:
6201 	yych = *++p;
6202 	if (yybm[0+yych] & 8) {
6203 		goto yy534;
6204 	}
6205 	if (yych <= ',') {
6206 		if (yych <= '\r') {
6207 			if (yych <= 0x08) goto yy522;
6208 			goto yy540;
6209 		} else {
6210 			if (yych == ' ') goto yy540;
6211 			goto yy522;
6212 		}
6213 	} else {
6214 		if (yych <= '<') {
6215 			if (yych <= '/') goto yy529;
6216 			goto yy522;
6217 		} else {
6218 			if (yych <= '=') goto yy542;
6219 			if (yych <= '>') goto yy530;
6220 			goto yy522;
6221 		}
6222 	}
6223 yy536:
6224 	yyaccept = 1;
6225 	yych = *(marker = ++p);
6226 	if (yybm[0+yych] & 4) {
6227 		goto yy530;
6228 	}
6229 	if (yych <= 0x08) goto yy538;
6230 	if (yych <= '\n') goto yy536;
6231 	if (yych <= '\v') goto yy538;
6232 	if (yych <= '\r') goto yy539;
6233 yy538:
6234 	{ return 7; }
6235 yy539:
6236 	++p;
6237 	goto yy538;
6238 yy540:
6239 	yych = *++p;
6240 	if (yych <= '<') {
6241 		if (yych <= ' ') {
6242 			if (yych <= 0x08) goto yy522;
6243 			if (yych <= '\r') goto yy540;
6244 			if (yych <= 0x1F) goto yy522;
6245 			goto yy540;
6246 		} else {
6247 			if (yych <= '/') {
6248 				if (yych <= '.') goto yy522;
6249 				goto yy529;
6250 			} else {
6251 				if (yych == ':') goto yy534;
6252 				goto yy522;
6253 			}
6254 		}
6255 	} else {
6256 		if (yych <= 'Z') {
6257 			if (yych <= '=') goto yy542;
6258 			if (yych <= '>') goto yy530;
6259 			if (yych <= '@') goto yy522;
6260 			goto yy534;
6261 		} else {
6262 			if (yych <= '_') {
6263 				if (yych <= '^') goto yy522;
6264 				goto yy534;
6265 			} else {
6266 				if (yych <= '`') goto yy522;
6267 				if (yych <= 'z') goto yy534;
6268 				goto yy522;
6269 			}
6270 		}
6271 	}
6272 yy542:
6273 	yych = *++p;
6274 	if (yybm[0+yych] & 32) {
6275 		goto yy544;
6276 	}
6277 	if (yych <= 0xE0) {
6278 		if (yych <= '"') {
6279 			if (yych <= 0x00) goto yy522;
6280 			if (yych <= ' ') goto yy542;
6281 			goto yy546;
6282 		} else {
6283 			if (yych <= '\'') goto yy548;
6284 			if (yych <= 0xC1) goto yy522;
6285 			if (yych <= 0xDF) goto yy550;
6286 			goto yy551;
6287 		}
6288 	} else {
6289 		if (yych <= 0xEF) {
6290 			if (yych == 0xED) goto yy553;
6291 			goto yy552;
6292 		} else {
6293 			if (yych <= 0xF0) goto yy554;
6294 			if (yych <= 0xF3) goto yy555;
6295 			if (yych <= 0xF4) goto yy556;
6296 			goto yy522;
6297 		}
6298 	}
6299 yy544:
6300 	yych = *++p;
6301 	if (yybm[0+yych] & 32) {
6302 		goto yy544;
6303 	}
6304 	if (yych <= 0xE0) {
6305 		if (yych <= '=') {
6306 			if (yych <= 0x00) goto yy522;
6307 			if (yych <= ' ') goto yy527;
6308 			goto yy522;
6309 		} else {
6310 			if (yych <= '>') goto yy530;
6311 			if (yych <= 0xC1) goto yy522;
6312 			if (yych <= 0xDF) goto yy550;
6313 			goto yy551;
6314 		}
6315 	} else {
6316 		if (yych <= 0xEF) {
6317 			if (yych == 0xED) goto yy553;
6318 			goto yy552;
6319 		} else {
6320 			if (yych <= 0xF0) goto yy554;
6321 			if (yych <= 0xF3) goto yy555;
6322 			if (yych <= 0xF4) goto yy556;
6323 			goto yy522;
6324 		}
6325 	}
6326 yy546:
6327 	yych = *++p;
6328 	if (yybm[0+yych] & 64) {
6329 		goto yy546;
6330 	}
6331 	if (yych <= 0xEC) {
6332 		if (yych <= 0xC1) {
6333 			if (yych <= 0x00) goto yy522;
6334 			if (yych <= '"') goto yy557;
6335 			goto yy522;
6336 		} else {
6337 			if (yych <= 0xDF) goto yy558;
6338 			if (yych <= 0xE0) goto yy559;
6339 			goto yy560;
6340 		}
6341 	} else {
6342 		if (yych <= 0xF0) {
6343 			if (yych <= 0xED) goto yy561;
6344 			if (yych <= 0xEF) goto yy560;
6345 			goto yy562;
6346 		} else {
6347 			if (yych <= 0xF3) goto yy563;
6348 			if (yych <= 0xF4) goto yy564;
6349 			goto yy522;
6350 		}
6351 	}
6352 yy548:
6353 	yych = *++p;
6354 	if (yybm[0+yych] & 128) {
6355 		goto yy548;
6356 	}
6357 	if (yych <= 0xEC) {
6358 		if (yych <= 0xC1) {
6359 			if (yych <= 0x00) goto yy522;
6360 			if (yych <= '\'') goto yy557;
6361 			goto yy522;
6362 		} else {
6363 			if (yych <= 0xDF) goto yy565;
6364 			if (yych <= 0xE0) goto yy566;
6365 			goto yy567;
6366 		}
6367 	} else {
6368 		if (yych <= 0xF0) {
6369 			if (yych <= 0xED) goto yy568;
6370 			if (yych <= 0xEF) goto yy567;
6371 			goto yy569;
6372 		} else {
6373 			if (yych <= 0xF3) goto yy570;
6374 			if (yych <= 0xF4) goto yy571;
6375 			goto yy522;
6376 		}
6377 	}
6378 yy550:
6379 	yych = *++p;
6380 	if (yych <= 0x7F) goto yy522;
6381 	if (yych <= 0xBF) goto yy544;
6382 	goto yy522;
6383 yy551:
6384 	yych = *++p;
6385 	if (yych <= 0x9F) goto yy522;
6386 	if (yych <= 0xBF) goto yy550;
6387 	goto yy522;
6388 yy552:
6389 	yych = *++p;
6390 	if (yych <= 0x7F) goto yy522;
6391 	if (yych <= 0xBF) goto yy550;
6392 	goto yy522;
6393 yy553:
6394 	yych = *++p;
6395 	if (yych <= 0x7F) goto yy522;
6396 	if (yych <= 0x9F) goto yy550;
6397 	goto yy522;
6398 yy554:
6399 	yych = *++p;
6400 	if (yych <= 0x8F) goto yy522;
6401 	if (yych <= 0xBF) goto yy552;
6402 	goto yy522;
6403 yy555:
6404 	yych = *++p;
6405 	if (yych <= 0x7F) goto yy522;
6406 	if (yych <= 0xBF) goto yy552;
6407 	goto yy522;
6408 yy556:
6409 	yych = *++p;
6410 	if (yych <= 0x7F) goto yy522;
6411 	if (yych <= 0x8F) goto yy552;
6412 	goto yy522;
6413 yy557:
6414 	yych = *++p;
6415 	if (yybm[0+yych] & 2) {
6416 		goto yy527;
6417 	}
6418 	if (yych == '/') goto yy529;
6419 	if (yych == '>') goto yy530;
6420 	goto yy522;
6421 yy558:
6422 	yych = *++p;
6423 	if (yych <= 0x7F) goto yy522;
6424 	if (yych <= 0xBF) goto yy546;
6425 	goto yy522;
6426 yy559:
6427 	yych = *++p;
6428 	if (yych <= 0x9F) goto yy522;
6429 	if (yych <= 0xBF) goto yy558;
6430 	goto yy522;
6431 yy560:
6432 	yych = *++p;
6433 	if (yych <= 0x7F) goto yy522;
6434 	if (yych <= 0xBF) goto yy558;
6435 	goto yy522;
6436 yy561:
6437 	yych = *++p;
6438 	if (yych <= 0x7F) goto yy522;
6439 	if (yych <= 0x9F) goto yy558;
6440 	goto yy522;
6441 yy562:
6442 	yych = *++p;
6443 	if (yych <= 0x8F) goto yy522;
6444 	if (yych <= 0xBF) goto yy560;
6445 	goto yy522;
6446 yy563:
6447 	yych = *++p;
6448 	if (yych <= 0x7F) goto yy522;
6449 	if (yych <= 0xBF) goto yy560;
6450 	goto yy522;
6451 yy564:
6452 	yych = *++p;
6453 	if (yych <= 0x7F) goto yy522;
6454 	if (yych <= 0x8F) goto yy560;
6455 	goto yy522;
6456 yy565:
6457 	yych = *++p;
6458 	if (yych <= 0x7F) goto yy522;
6459 	if (yych <= 0xBF) goto yy548;
6460 	goto yy522;
6461 yy566:
6462 	yych = *++p;
6463 	if (yych <= 0x9F) goto yy522;
6464 	if (yych <= 0xBF) goto yy565;
6465 	goto yy522;
6466 yy567:
6467 	yych = *++p;
6468 	if (yych <= 0x7F) goto yy522;
6469 	if (yych <= 0xBF) goto yy565;
6470 	goto yy522;
6471 yy568:
6472 	yych = *++p;
6473 	if (yych <= 0x7F) goto yy522;
6474 	if (yych <= 0x9F) goto yy565;
6475 	goto yy522;
6476 yy569:
6477 	yych = *++p;
6478 	if (yych <= 0x8F) goto yy522;
6479 	if (yych <= 0xBF) goto yy567;
6480 	goto yy522;
6481 yy570:
6482 	yych = *++p;
6483 	if (yych <= 0x7F) goto yy522;
6484 	if (yych <= 0xBF) goto yy567;
6485 	goto yy522;
6486 yy571:
6487 	yych = *++p;
6488 	if (yych <= 0x7F) goto yy522;
6489 	if (yych <= 0x8F) goto yy567;
6490 	goto yy522;
6491 }
6492 
6493 }
6494 
6495 // Try to match an HTML block end line of type 1
_scan_html_block_end_1(const unsigned char * p)6496 bufsize_t _scan_html_block_end_1(const unsigned char *p)
6497 {
6498   const unsigned char *marker = NULL;
6499   const unsigned char *start = p;
6500 
6501 {
6502 	unsigned char yych;
6503 	unsigned int yyaccept = 0;
6504 	static const unsigned char yybm[] = {
6505 		  0,  64,  64,  64,  64,  64,  64,  64,
6506 		 64,  64,   0,  64,  64,  64,  64,  64,
6507 		 64,  64,  64,  64,  64,  64,  64,  64,
6508 		 64,  64,  64,  64,  64,  64,  64,  64,
6509 		 64,  64,  64,  64,  64,  64,  64,  64,
6510 		 64,  64,  64,  64,  64,  64,  64,  64,
6511 		 64,  64,  64,  64,  64,  64,  64,  64,
6512 		 64,  64,  64,  64, 128,  64,  64,  64,
6513 		 64,  64,  64,  64,  64,  64,  64,  64,
6514 		 64,  64,  64,  64,  64,  64,  64,  64,
6515 		 64,  64,  64,  64,  64,  64,  64,  64,
6516 		 64,  64,  64,  64,  64,  64,  64,  64,
6517 		 64,  64,  64,  64,  64,  64,  64,  64,
6518 		 64,  64,  64,  64,  64,  64,  64,  64,
6519 		 64,  64,  64,  64,  64,  64,  64,  64,
6520 		 64,  64,  64,  64,  64,  64,  64,  64,
6521 		  0,   0,   0,   0,   0,   0,   0,   0,
6522 		  0,   0,   0,   0,   0,   0,   0,   0,
6523 		  0,   0,   0,   0,   0,   0,   0,   0,
6524 		  0,   0,   0,   0,   0,   0,   0,   0,
6525 		  0,   0,   0,   0,   0,   0,   0,   0,
6526 		  0,   0,   0,   0,   0,   0,   0,   0,
6527 		  0,   0,   0,   0,   0,   0,   0,   0,
6528 		  0,   0,   0,   0,   0,   0,   0,   0,
6529 		  0,   0,   0,   0,   0,   0,   0,   0,
6530 		  0,   0,   0,   0,   0,   0,   0,   0,
6531 		  0,   0,   0,   0,   0,   0,   0,   0,
6532 		  0,   0,   0,   0,   0,   0,   0,   0,
6533 		  0,   0,   0,   0,   0,   0,   0,   0,
6534 		  0,   0,   0,   0,   0,   0,   0,   0,
6535 		  0,   0,   0,   0,   0,   0,   0,   0,
6536 		  0,   0,   0,   0,   0,   0,   0,   0,
6537 	};
6538 	yych = *p;
6539 	if (yych <= 0xDF) {
6540 		if (yych <= ';') {
6541 			if (yych <= 0x00) goto yy574;
6542 			if (yych != '\n') goto yy576;
6543 		} else {
6544 			if (yych <= '<') goto yy577;
6545 			if (yych <= 0x7F) goto yy576;
6546 			if (yych >= 0xC2) goto yy578;
6547 		}
6548 	} else {
6549 		if (yych <= 0xEF) {
6550 			if (yych <= 0xE0) goto yy579;
6551 			if (yych == 0xED) goto yy581;
6552 			goto yy580;
6553 		} else {
6554 			if (yych <= 0xF0) goto yy582;
6555 			if (yych <= 0xF3) goto yy583;
6556 			if (yych <= 0xF4) goto yy584;
6557 		}
6558 	}
6559 yy574:
6560 	++p;
6561 yy575:
6562 	{ return 0; }
6563 yy576:
6564 	yyaccept = 0;
6565 	yych = *(marker = ++p);
6566 	if (yych <= '\n') {
6567 		if (yych <= 0x00) goto yy575;
6568 		if (yych <= '\t') goto yy586;
6569 		goto yy575;
6570 	} else {
6571 		if (yych <= 0x7F) goto yy586;
6572 		if (yych <= 0xC1) goto yy575;
6573 		if (yych <= 0xF4) goto yy586;
6574 		goto yy575;
6575 	}
6576 yy577:
6577 	yyaccept = 0;
6578 	yych = *(marker = ++p);
6579 	if (yych <= '.') {
6580 		if (yych <= 0x00) goto yy575;
6581 		if (yych == '\n') goto yy575;
6582 		goto yy586;
6583 	} else {
6584 		if (yych <= 0x7F) {
6585 			if (yych <= '/') goto yy597;
6586 			goto yy586;
6587 		} else {
6588 			if (yych <= 0xC1) goto yy575;
6589 			if (yych <= 0xF4) goto yy586;
6590 			goto yy575;
6591 		}
6592 	}
6593 yy578:
6594 	yyaccept = 0;
6595 	yych = *(marker = ++p);
6596 	if (yych <= 0x7F) goto yy575;
6597 	if (yych <= 0xBF) goto yy585;
6598 	goto yy575;
6599 yy579:
6600 	yyaccept = 0;
6601 	yych = *(marker = ++p);
6602 	if (yych <= 0x9F) goto yy575;
6603 	if (yych <= 0xBF) goto yy590;
6604 	goto yy575;
6605 yy580:
6606 	yyaccept = 0;
6607 	yych = *(marker = ++p);
6608 	if (yych <= 0x7F) goto yy575;
6609 	if (yych <= 0xBF) goto yy590;
6610 	goto yy575;
6611 yy581:
6612 	yyaccept = 0;
6613 	yych = *(marker = ++p);
6614 	if (yych <= 0x7F) goto yy575;
6615 	if (yych <= 0x9F) goto yy590;
6616 	goto yy575;
6617 yy582:
6618 	yyaccept = 0;
6619 	yych = *(marker = ++p);
6620 	if (yych <= 0x8F) goto yy575;
6621 	if (yych <= 0xBF) goto yy592;
6622 	goto yy575;
6623 yy583:
6624 	yyaccept = 0;
6625 	yych = *(marker = ++p);
6626 	if (yych <= 0x7F) goto yy575;
6627 	if (yych <= 0xBF) goto yy592;
6628 	goto yy575;
6629 yy584:
6630 	yyaccept = 0;
6631 	yych = *(marker = ++p);
6632 	if (yych <= 0x7F) goto yy575;
6633 	if (yych <= 0x8F) goto yy592;
6634 	goto yy575;
6635 yy585:
6636 	yych = *++p;
6637 yy586:
6638 	if (yybm[0+yych] & 64) {
6639 		goto yy585;
6640 	}
6641 	if (yych <= 0xEC) {
6642 		if (yych <= 0xC1) {
6643 			if (yych <= '\n') goto yy587;
6644 			if (yych <= '<') goto yy588;
6645 		} else {
6646 			if (yych <= 0xDF) goto yy590;
6647 			if (yych <= 0xE0) goto yy591;
6648 			goto yy592;
6649 		}
6650 	} else {
6651 		if (yych <= 0xF0) {
6652 			if (yych <= 0xED) goto yy593;
6653 			if (yych <= 0xEF) goto yy592;
6654 			goto yy594;
6655 		} else {
6656 			if (yych <= 0xF3) goto yy595;
6657 			if (yych <= 0xF4) goto yy596;
6658 		}
6659 	}
6660 yy587:
6661 	p = marker;
6662 	if (yyaccept == 0) {
6663 		goto yy575;
6664 	} else {
6665 		goto yy607;
6666 	}
6667 yy588:
6668 	yych = *++p;
6669 	if (yybm[0+yych] & 128) {
6670 		goto yy588;
6671 	}
6672 	if (yych <= 0xDF) {
6673 		if (yych <= '.') {
6674 			if (yych <= 0x00) goto yy587;
6675 			if (yych == '\n') goto yy587;
6676 			goto yy585;
6677 		} else {
6678 			if (yych <= '/') goto yy597;
6679 			if (yych <= 0x7F) goto yy585;
6680 			if (yych <= 0xC1) goto yy587;
6681 		}
6682 	} else {
6683 		if (yych <= 0xEF) {
6684 			if (yych <= 0xE0) goto yy591;
6685 			if (yych == 0xED) goto yy593;
6686 			goto yy592;
6687 		} else {
6688 			if (yych <= 0xF0) goto yy594;
6689 			if (yych <= 0xF3) goto yy595;
6690 			if (yych <= 0xF4) goto yy596;
6691 			goto yy587;
6692 		}
6693 	}
6694 yy590:
6695 	yych = *++p;
6696 	if (yych <= 0x7F) goto yy587;
6697 	if (yych <= 0xBF) goto yy585;
6698 	goto yy587;
6699 yy591:
6700 	yych = *++p;
6701 	if (yych <= 0x9F) goto yy587;
6702 	if (yych <= 0xBF) goto yy590;
6703 	goto yy587;
6704 yy592:
6705 	yych = *++p;
6706 	if (yych <= 0x7F) goto yy587;
6707 	if (yych <= 0xBF) goto yy590;
6708 	goto yy587;
6709 yy593:
6710 	yych = *++p;
6711 	if (yych <= 0x7F) goto yy587;
6712 	if (yych <= 0x9F) goto yy590;
6713 	goto yy587;
6714 yy594:
6715 	yych = *++p;
6716 	if (yych <= 0x8F) goto yy587;
6717 	if (yych <= 0xBF) goto yy592;
6718 	goto yy587;
6719 yy595:
6720 	yych = *++p;
6721 	if (yych <= 0x7F) goto yy587;
6722 	if (yych <= 0xBF) goto yy592;
6723 	goto yy587;
6724 yy596:
6725 	yych = *++p;
6726 	if (yych <= 0x7F) goto yy587;
6727 	if (yych <= 0x8F) goto yy592;
6728 	goto yy587;
6729 yy597:
6730 	yych = *++p;
6731 	if (yybm[0+yych] & 128) {
6732 		goto yy588;
6733 	}
6734 	if (yych <= 's') {
6735 		if (yych <= 'P') {
6736 			if (yych <= '\t') {
6737 				if (yych <= 0x00) goto yy587;
6738 				goto yy585;
6739 			} else {
6740 				if (yych <= '\n') goto yy587;
6741 				if (yych <= 'O') goto yy585;
6742 			}
6743 		} else {
6744 			if (yych <= 'o') {
6745 				if (yych == 'S') goto yy599;
6746 				goto yy585;
6747 			} else {
6748 				if (yych <= 'p') goto yy598;
6749 				if (yych <= 'r') goto yy585;
6750 				goto yy599;
6751 			}
6752 		}
6753 	} else {
6754 		if (yych <= 0xEC) {
6755 			if (yych <= 0xC1) {
6756 				if (yych <= 0x7F) goto yy585;
6757 				goto yy587;
6758 			} else {
6759 				if (yych <= 0xDF) goto yy590;
6760 				if (yych <= 0xE0) goto yy591;
6761 				goto yy592;
6762 			}
6763 		} else {
6764 			if (yych <= 0xF0) {
6765 				if (yych <= 0xED) goto yy593;
6766 				if (yych <= 0xEF) goto yy592;
6767 				goto yy594;
6768 			} else {
6769 				if (yych <= 0xF3) goto yy595;
6770 				if (yych <= 0xF4) goto yy596;
6771 				goto yy587;
6772 			}
6773 		}
6774 	}
6775 yy598:
6776 	yych = *++p;
6777 	if (yybm[0+yych] & 128) {
6778 		goto yy588;
6779 	}
6780 	if (yych <= 0xC1) {
6781 		if (yych <= 'Q') {
6782 			if (yych <= 0x00) goto yy587;
6783 			if (yych == '\n') goto yy587;
6784 			goto yy585;
6785 		} else {
6786 			if (yych <= 'q') {
6787 				if (yych <= 'R') goto yy600;
6788 				goto yy585;
6789 			} else {
6790 				if (yych <= 'r') goto yy600;
6791 				if (yych <= 0x7F) goto yy585;
6792 				goto yy587;
6793 			}
6794 		}
6795 	} else {
6796 		if (yych <= 0xED) {
6797 			if (yych <= 0xDF) goto yy590;
6798 			if (yych <= 0xE0) goto yy591;
6799 			if (yych <= 0xEC) goto yy592;
6800 			goto yy593;
6801 		} else {
6802 			if (yych <= 0xF0) {
6803 				if (yych <= 0xEF) goto yy592;
6804 				goto yy594;
6805 			} else {
6806 				if (yych <= 0xF3) goto yy595;
6807 				if (yych <= 0xF4) goto yy596;
6808 				goto yy587;
6809 			}
6810 		}
6811 	}
6812 yy599:
6813 	yych = *++p;
6814 	if (yybm[0+yych] & 128) {
6815 		goto yy588;
6816 	}
6817 	if (yych <= 't') {
6818 		if (yych <= 'C') {
6819 			if (yych <= '\t') {
6820 				if (yych <= 0x00) goto yy587;
6821 				goto yy585;
6822 			} else {
6823 				if (yych <= '\n') goto yy587;
6824 				if (yych <= 'B') goto yy585;
6825 				goto yy601;
6826 			}
6827 		} else {
6828 			if (yych <= 'b') {
6829 				if (yych == 'T') goto yy602;
6830 				goto yy585;
6831 			} else {
6832 				if (yych <= 'c') goto yy601;
6833 				if (yych <= 's') goto yy585;
6834 				goto yy602;
6835 			}
6836 		}
6837 	} else {
6838 		if (yych <= 0xEC) {
6839 			if (yych <= 0xC1) {
6840 				if (yych <= 0x7F) goto yy585;
6841 				goto yy587;
6842 			} else {
6843 				if (yych <= 0xDF) goto yy590;
6844 				if (yych <= 0xE0) goto yy591;
6845 				goto yy592;
6846 			}
6847 		} else {
6848 			if (yych <= 0xF0) {
6849 				if (yych <= 0xED) goto yy593;
6850 				if (yych <= 0xEF) goto yy592;
6851 				goto yy594;
6852 			} else {
6853 				if (yych <= 0xF3) goto yy595;
6854 				if (yych <= 0xF4) goto yy596;
6855 				goto yy587;
6856 			}
6857 		}
6858 	}
6859 yy600:
6860 	yych = *++p;
6861 	if (yybm[0+yych] & 128) {
6862 		goto yy588;
6863 	}
6864 	if (yych <= 0xC1) {
6865 		if (yych <= 'D') {
6866 			if (yych <= 0x00) goto yy587;
6867 			if (yych == '\n') goto yy587;
6868 			goto yy585;
6869 		} else {
6870 			if (yych <= 'd') {
6871 				if (yych <= 'E') goto yy603;
6872 				goto yy585;
6873 			} else {
6874 				if (yych <= 'e') goto yy603;
6875 				if (yych <= 0x7F) goto yy585;
6876 				goto yy587;
6877 			}
6878 		}
6879 	} else {
6880 		if (yych <= 0xED) {
6881 			if (yych <= 0xDF) goto yy590;
6882 			if (yych <= 0xE0) goto yy591;
6883 			if (yych <= 0xEC) goto yy592;
6884 			goto yy593;
6885 		} else {
6886 			if (yych <= 0xF0) {
6887 				if (yych <= 0xEF) goto yy592;
6888 				goto yy594;
6889 			} else {
6890 				if (yych <= 0xF3) goto yy595;
6891 				if (yych <= 0xF4) goto yy596;
6892 				goto yy587;
6893 			}
6894 		}
6895 	}
6896 yy601:
6897 	yych = *++p;
6898 	if (yybm[0+yych] & 128) {
6899 		goto yy588;
6900 	}
6901 	if (yych <= 0xC1) {
6902 		if (yych <= 'Q') {
6903 			if (yych <= 0x00) goto yy587;
6904 			if (yych == '\n') goto yy587;
6905 			goto yy585;
6906 		} else {
6907 			if (yych <= 'q') {
6908 				if (yych <= 'R') goto yy604;
6909 				goto yy585;
6910 			} else {
6911 				if (yych <= 'r') goto yy604;
6912 				if (yych <= 0x7F) goto yy585;
6913 				goto yy587;
6914 			}
6915 		}
6916 	} else {
6917 		if (yych <= 0xED) {
6918 			if (yych <= 0xDF) goto yy590;
6919 			if (yych <= 0xE0) goto yy591;
6920 			if (yych <= 0xEC) goto yy592;
6921 			goto yy593;
6922 		} else {
6923 			if (yych <= 0xF0) {
6924 				if (yych <= 0xEF) goto yy592;
6925 				goto yy594;
6926 			} else {
6927 				if (yych <= 0xF3) goto yy595;
6928 				if (yych <= 0xF4) goto yy596;
6929 				goto yy587;
6930 			}
6931 		}
6932 	}
6933 yy602:
6934 	yych = *++p;
6935 	if (yybm[0+yych] & 128) {
6936 		goto yy588;
6937 	}
6938 	if (yych <= 0xC1) {
6939 		if (yych <= 'X') {
6940 			if (yych <= 0x00) goto yy587;
6941 			if (yych == '\n') goto yy587;
6942 			goto yy585;
6943 		} else {
6944 			if (yych <= 'x') {
6945 				if (yych <= 'Y') goto yy605;
6946 				goto yy585;
6947 			} else {
6948 				if (yych <= 'y') goto yy605;
6949 				if (yych <= 0x7F) goto yy585;
6950 				goto yy587;
6951 			}
6952 		}
6953 	} else {
6954 		if (yych <= 0xED) {
6955 			if (yych <= 0xDF) goto yy590;
6956 			if (yych <= 0xE0) goto yy591;
6957 			if (yych <= 0xEC) goto yy592;
6958 			goto yy593;
6959 		} else {
6960 			if (yych <= 0xF0) {
6961 				if (yych <= 0xEF) goto yy592;
6962 				goto yy594;
6963 			} else {
6964 				if (yych <= 0xF3) goto yy595;
6965 				if (yych <= 0xF4) goto yy596;
6966 				goto yy587;
6967 			}
6968 		}
6969 	}
6970 yy603:
6971 	yych = *++p;
6972 	if (yybm[0+yych] & 128) {
6973 		goto yy588;
6974 	}
6975 	if (yych <= 0xDF) {
6976 		if (yych <= '=') {
6977 			if (yych <= 0x00) goto yy587;
6978 			if (yych == '\n') goto yy587;
6979 			goto yy585;
6980 		} else {
6981 			if (yych <= '>') goto yy606;
6982 			if (yych <= 0x7F) goto yy585;
6983 			if (yych <= 0xC1) goto yy587;
6984 			goto yy590;
6985 		}
6986 	} else {
6987 		if (yych <= 0xEF) {
6988 			if (yych <= 0xE0) goto yy591;
6989 			if (yych == 0xED) goto yy593;
6990 			goto yy592;
6991 		} else {
6992 			if (yych <= 0xF0) goto yy594;
6993 			if (yych <= 0xF3) goto yy595;
6994 			if (yych <= 0xF4) goto yy596;
6995 			goto yy587;
6996 		}
6997 	}
6998 yy604:
6999 	yych = *++p;
7000 	if (yybm[0+yych] & 128) {
7001 		goto yy588;
7002 	}
7003 	if (yych <= 0xC1) {
7004 		if (yych <= 'H') {
7005 			if (yych <= 0x00) goto yy587;
7006 			if (yych == '\n') goto yy587;
7007 			goto yy585;
7008 		} else {
7009 			if (yych <= 'h') {
7010 				if (yych <= 'I') goto yy608;
7011 				goto yy585;
7012 			} else {
7013 				if (yych <= 'i') goto yy608;
7014 				if (yych <= 0x7F) goto yy585;
7015 				goto yy587;
7016 			}
7017 		}
7018 	} else {
7019 		if (yych <= 0xED) {
7020 			if (yych <= 0xDF) goto yy590;
7021 			if (yych <= 0xE0) goto yy591;
7022 			if (yych <= 0xEC) goto yy592;
7023 			goto yy593;
7024 		} else {
7025 			if (yych <= 0xF0) {
7026 				if (yych <= 0xEF) goto yy592;
7027 				goto yy594;
7028 			} else {
7029 				if (yych <= 0xF3) goto yy595;
7030 				if (yych <= 0xF4) goto yy596;
7031 				goto yy587;
7032 			}
7033 		}
7034 	}
7035 yy605:
7036 	yych = *++p;
7037 	if (yybm[0+yych] & 128) {
7038 		goto yy588;
7039 	}
7040 	if (yych <= 0xC1) {
7041 		if (yych <= 'K') {
7042 			if (yych <= 0x00) goto yy587;
7043 			if (yych == '\n') goto yy587;
7044 			goto yy585;
7045 		} else {
7046 			if (yych <= 'k') {
7047 				if (yych <= 'L') goto yy600;
7048 				goto yy585;
7049 			} else {
7050 				if (yych <= 'l') goto yy600;
7051 				if (yych <= 0x7F) goto yy585;
7052 				goto yy587;
7053 			}
7054 		}
7055 	} else {
7056 		if (yych <= 0xED) {
7057 			if (yych <= 0xDF) goto yy590;
7058 			if (yych <= 0xE0) goto yy591;
7059 			if (yych <= 0xEC) goto yy592;
7060 			goto yy593;
7061 		} else {
7062 			if (yych <= 0xF0) {
7063 				if (yych <= 0xEF) goto yy592;
7064 				goto yy594;
7065 			} else {
7066 				if (yych <= 0xF3) goto yy595;
7067 				if (yych <= 0xF4) goto yy596;
7068 				goto yy587;
7069 			}
7070 		}
7071 	}
7072 yy606:
7073 	yyaccept = 1;
7074 	yych = *(marker = ++p);
7075 	if (yybm[0+yych] & 64) {
7076 		goto yy585;
7077 	}
7078 	if (yych <= 0xEC) {
7079 		if (yych <= 0xC1) {
7080 			if (yych <= '\n') goto yy607;
7081 			if (yych <= '<') goto yy588;
7082 		} else {
7083 			if (yych <= 0xDF) goto yy590;
7084 			if (yych <= 0xE0) goto yy591;
7085 			goto yy592;
7086 		}
7087 	} else {
7088 		if (yych <= 0xF0) {
7089 			if (yych <= 0xED) goto yy593;
7090 			if (yych <= 0xEF) goto yy592;
7091 			goto yy594;
7092 		} else {
7093 			if (yych <= 0xF3) goto yy595;
7094 			if (yych <= 0xF4) goto yy596;
7095 		}
7096 	}
7097 yy607:
7098 	{ return (bufsize_t)(p - start); }
7099 yy608:
7100 	yych = *++p;
7101 	if (yybm[0+yych] & 128) {
7102 		goto yy588;
7103 	}
7104 	if (yych <= 0xC1) {
7105 		if (yych <= 'O') {
7106 			if (yych <= 0x00) goto yy587;
7107 			if (yych == '\n') goto yy587;
7108 			goto yy585;
7109 		} else {
7110 			if (yych <= 'o') {
7111 				if (yych >= 'Q') goto yy585;
7112 			} else {
7113 				if (yych <= 'p') goto yy609;
7114 				if (yych <= 0x7F) goto yy585;
7115 				goto yy587;
7116 			}
7117 		}
7118 	} else {
7119 		if (yych <= 0xED) {
7120 			if (yych <= 0xDF) goto yy590;
7121 			if (yych <= 0xE0) goto yy591;
7122 			if (yych <= 0xEC) goto yy592;
7123 			goto yy593;
7124 		} else {
7125 			if (yych <= 0xF0) {
7126 				if (yych <= 0xEF) goto yy592;
7127 				goto yy594;
7128 			} else {
7129 				if (yych <= 0xF3) goto yy595;
7130 				if (yych <= 0xF4) goto yy596;
7131 				goto yy587;
7132 			}
7133 		}
7134 	}
7135 yy609:
7136 	yych = *++p;
7137 	if (yybm[0+yych] & 128) {
7138 		goto yy588;
7139 	}
7140 	if (yych <= 0xC1) {
7141 		if (yych <= 'S') {
7142 			if (yych <= 0x00) goto yy587;
7143 			if (yych == '\n') goto yy587;
7144 			goto yy585;
7145 		} else {
7146 			if (yych <= 's') {
7147 				if (yych <= 'T') goto yy603;
7148 				goto yy585;
7149 			} else {
7150 				if (yych <= 't') goto yy603;
7151 				if (yych <= 0x7F) goto yy585;
7152 				goto yy587;
7153 			}
7154 		}
7155 	} else {
7156 		if (yych <= 0xED) {
7157 			if (yych <= 0xDF) goto yy590;
7158 			if (yych <= 0xE0) goto yy591;
7159 			if (yych <= 0xEC) goto yy592;
7160 			goto yy593;
7161 		} else {
7162 			if (yych <= 0xF0) {
7163 				if (yych <= 0xEF) goto yy592;
7164 				goto yy594;
7165 			} else {
7166 				if (yych <= 0xF3) goto yy595;
7167 				if (yych <= 0xF4) goto yy596;
7168 				goto yy587;
7169 			}
7170 		}
7171 	}
7172 }
7173 
7174 }
7175 
7176 // Try to match an HTML block end line of type 2
_scan_html_block_end_2(const unsigned char * p)7177 bufsize_t _scan_html_block_end_2(const unsigned char *p)
7178 {
7179   const unsigned char *marker = NULL;
7180   const unsigned char *start = p;
7181 
7182 {
7183 	unsigned char yych;
7184 	unsigned int yyaccept = 0;
7185 	static const unsigned char yybm[] = {
7186 		  0,  64,  64,  64,  64,  64,  64,  64,
7187 		 64,  64,   0,  64,  64,  64,  64,  64,
7188 		 64,  64,  64,  64,  64,  64,  64,  64,
7189 		 64,  64,  64,  64,  64,  64,  64,  64,
7190 		 64,  64,  64,  64,  64,  64,  64,  64,
7191 		 64,  64,  64,  64,  64, 128,  64,  64,
7192 		 64,  64,  64,  64,  64,  64,  64,  64,
7193 		 64,  64,  64,  64,  64,  64,  64,  64,
7194 		 64,  64,  64,  64,  64,  64,  64,  64,
7195 		 64,  64,  64,  64,  64,  64,  64,  64,
7196 		 64,  64,  64,  64,  64,  64,  64,  64,
7197 		 64,  64,  64,  64,  64,  64,  64,  64,
7198 		 64,  64,  64,  64,  64,  64,  64,  64,
7199 		 64,  64,  64,  64,  64,  64,  64,  64,
7200 		 64,  64,  64,  64,  64,  64,  64,  64,
7201 		 64,  64,  64,  64,  64,  64,  64,  64,
7202 		  0,   0,   0,   0,   0,   0,   0,   0,
7203 		  0,   0,   0,   0,   0,   0,   0,   0,
7204 		  0,   0,   0,   0,   0,   0,   0,   0,
7205 		  0,   0,   0,   0,   0,   0,   0,   0,
7206 		  0,   0,   0,   0,   0,   0,   0,   0,
7207 		  0,   0,   0,   0,   0,   0,   0,   0,
7208 		  0,   0,   0,   0,   0,   0,   0,   0,
7209 		  0,   0,   0,   0,   0,   0,   0,   0,
7210 		  0,   0,   0,   0,   0,   0,   0,   0,
7211 		  0,   0,   0,   0,   0,   0,   0,   0,
7212 		  0,   0,   0,   0,   0,   0,   0,   0,
7213 		  0,   0,   0,   0,   0,   0,   0,   0,
7214 		  0,   0,   0,   0,   0,   0,   0,   0,
7215 		  0,   0,   0,   0,   0,   0,   0,   0,
7216 		  0,   0,   0,   0,   0,   0,   0,   0,
7217 		  0,   0,   0,   0,   0,   0,   0,   0,
7218 	};
7219 	yych = *p;
7220 	if (yych <= 0xDF) {
7221 		if (yych <= ',') {
7222 			if (yych <= 0x00) goto yy612;
7223 			if (yych != '\n') goto yy614;
7224 		} else {
7225 			if (yych <= '-') goto yy615;
7226 			if (yych <= 0x7F) goto yy614;
7227 			if (yych >= 0xC2) goto yy616;
7228 		}
7229 	} else {
7230 		if (yych <= 0xEF) {
7231 			if (yych <= 0xE0) goto yy617;
7232 			if (yych == 0xED) goto yy619;
7233 			goto yy618;
7234 		} else {
7235 			if (yych <= 0xF0) goto yy620;
7236 			if (yych <= 0xF3) goto yy621;
7237 			if (yych <= 0xF4) goto yy622;
7238 		}
7239 	}
7240 yy612:
7241 	++p;
7242 yy613:
7243 	{ return 0; }
7244 yy614:
7245 	yyaccept = 0;
7246 	yych = *(marker = ++p);
7247 	if (yych <= '\n') {
7248 		if (yych <= 0x00) goto yy613;
7249 		if (yych <= '\t') goto yy624;
7250 		goto yy613;
7251 	} else {
7252 		if (yych <= 0x7F) goto yy624;
7253 		if (yych <= 0xC1) goto yy613;
7254 		if (yych <= 0xF4) goto yy624;
7255 		goto yy613;
7256 	}
7257 yy615:
7258 	yyaccept = 0;
7259 	yych = *(marker = ++p);
7260 	if (yybm[0+yych] & 128) {
7261 		goto yy634;
7262 	}
7263 	if (yych <= '\n') {
7264 		if (yych <= 0x00) goto yy613;
7265 		if (yych <= '\t') goto yy624;
7266 		goto yy613;
7267 	} else {
7268 		if (yych <= 0x7F) goto yy624;
7269 		if (yych <= 0xC1) goto yy613;
7270 		if (yych <= 0xF4) goto yy624;
7271 		goto yy613;
7272 	}
7273 yy616:
7274 	yyaccept = 0;
7275 	yych = *(marker = ++p);
7276 	if (yych <= 0x7F) goto yy613;
7277 	if (yych <= 0xBF) goto yy623;
7278 	goto yy613;
7279 yy617:
7280 	yyaccept = 0;
7281 	yych = *(marker = ++p);
7282 	if (yych <= 0x9F) goto yy613;
7283 	if (yych <= 0xBF) goto yy627;
7284 	goto yy613;
7285 yy618:
7286 	yyaccept = 0;
7287 	yych = *(marker = ++p);
7288 	if (yych <= 0x7F) goto yy613;
7289 	if (yych <= 0xBF) goto yy627;
7290 	goto yy613;
7291 yy619:
7292 	yyaccept = 0;
7293 	yych = *(marker = ++p);
7294 	if (yych <= 0x7F) goto yy613;
7295 	if (yych <= 0x9F) goto yy627;
7296 	goto yy613;
7297 yy620:
7298 	yyaccept = 0;
7299 	yych = *(marker = ++p);
7300 	if (yych <= 0x8F) goto yy613;
7301 	if (yych <= 0xBF) goto yy629;
7302 	goto yy613;
7303 yy621:
7304 	yyaccept = 0;
7305 	yych = *(marker = ++p);
7306 	if (yych <= 0x7F) goto yy613;
7307 	if (yych <= 0xBF) goto yy629;
7308 	goto yy613;
7309 yy622:
7310 	yyaccept = 0;
7311 	yych = *(marker = ++p);
7312 	if (yych <= 0x7F) goto yy613;
7313 	if (yych <= 0x8F) goto yy629;
7314 	goto yy613;
7315 yy623:
7316 	yych = *++p;
7317 yy624:
7318 	if (yybm[0+yych] & 64) {
7319 		goto yy623;
7320 	}
7321 	if (yych <= 0xEC) {
7322 		if (yych <= 0xC1) {
7323 			if (yych <= '\n') goto yy625;
7324 			if (yych <= '-') goto yy626;
7325 		} else {
7326 			if (yych <= 0xDF) goto yy627;
7327 			if (yych <= 0xE0) goto yy628;
7328 			goto yy629;
7329 		}
7330 	} else {
7331 		if (yych <= 0xF0) {
7332 			if (yych <= 0xED) goto yy630;
7333 			if (yych <= 0xEF) goto yy629;
7334 			goto yy631;
7335 		} else {
7336 			if (yych <= 0xF3) goto yy632;
7337 			if (yych <= 0xF4) goto yy633;
7338 		}
7339 	}
7340 yy625:
7341 	p = marker;
7342 	if (yyaccept == 0) {
7343 		goto yy613;
7344 	} else {
7345 		goto yy637;
7346 	}
7347 yy626:
7348 	yych = *++p;
7349 	if (yybm[0+yych] & 64) {
7350 		goto yy623;
7351 	}
7352 	if (yych <= 0xEC) {
7353 		if (yych <= 0xC1) {
7354 			if (yych <= '\n') goto yy625;
7355 			if (yych <= '-') goto yy634;
7356 			goto yy625;
7357 		} else {
7358 			if (yych <= 0xDF) goto yy627;
7359 			if (yych <= 0xE0) goto yy628;
7360 			goto yy629;
7361 		}
7362 	} else {
7363 		if (yych <= 0xF0) {
7364 			if (yych <= 0xED) goto yy630;
7365 			if (yych <= 0xEF) goto yy629;
7366 			goto yy631;
7367 		} else {
7368 			if (yych <= 0xF3) goto yy632;
7369 			if (yych <= 0xF4) goto yy633;
7370 			goto yy625;
7371 		}
7372 	}
7373 yy627:
7374 	yych = *++p;
7375 	if (yych <= 0x7F) goto yy625;
7376 	if (yych <= 0xBF) goto yy623;
7377 	goto yy625;
7378 yy628:
7379 	yych = *++p;
7380 	if (yych <= 0x9F) goto yy625;
7381 	if (yych <= 0xBF) goto yy627;
7382 	goto yy625;
7383 yy629:
7384 	yych = *++p;
7385 	if (yych <= 0x7F) goto yy625;
7386 	if (yych <= 0xBF) goto yy627;
7387 	goto yy625;
7388 yy630:
7389 	yych = *++p;
7390 	if (yych <= 0x7F) goto yy625;
7391 	if (yych <= 0x9F) goto yy627;
7392 	goto yy625;
7393 yy631:
7394 	yych = *++p;
7395 	if (yych <= 0x8F) goto yy625;
7396 	if (yych <= 0xBF) goto yy629;
7397 	goto yy625;
7398 yy632:
7399 	yych = *++p;
7400 	if (yych <= 0x7F) goto yy625;
7401 	if (yych <= 0xBF) goto yy629;
7402 	goto yy625;
7403 yy633:
7404 	yych = *++p;
7405 	if (yych <= 0x7F) goto yy625;
7406 	if (yych <= 0x8F) goto yy629;
7407 	goto yy625;
7408 yy634:
7409 	yych = *++p;
7410 	if (yybm[0+yych] & 128) {
7411 		goto yy634;
7412 	}
7413 	if (yych <= 0xDF) {
7414 		if (yych <= '=') {
7415 			if (yych <= 0x00) goto yy625;
7416 			if (yych == '\n') goto yy625;
7417 			goto yy623;
7418 		} else {
7419 			if (yych <= '>') goto yy636;
7420 			if (yych <= 0x7F) goto yy623;
7421 			if (yych <= 0xC1) goto yy625;
7422 			goto yy627;
7423 		}
7424 	} else {
7425 		if (yych <= 0xEF) {
7426 			if (yych <= 0xE0) goto yy628;
7427 			if (yych == 0xED) goto yy630;
7428 			goto yy629;
7429 		} else {
7430 			if (yych <= 0xF0) goto yy631;
7431 			if (yych <= 0xF3) goto yy632;
7432 			if (yych <= 0xF4) goto yy633;
7433 			goto yy625;
7434 		}
7435 	}
7436 yy636:
7437 	yyaccept = 1;
7438 	yych = *(marker = ++p);
7439 	if (yybm[0+yych] & 64) {
7440 		goto yy623;
7441 	}
7442 	if (yych <= 0xEC) {
7443 		if (yych <= 0xC1) {
7444 			if (yych <= '\n') goto yy637;
7445 			if (yych <= '-') goto yy626;
7446 		} else {
7447 			if (yych <= 0xDF) goto yy627;
7448 			if (yych <= 0xE0) goto yy628;
7449 			goto yy629;
7450 		}
7451 	} else {
7452 		if (yych <= 0xF0) {
7453 			if (yych <= 0xED) goto yy630;
7454 			if (yych <= 0xEF) goto yy629;
7455 			goto yy631;
7456 		} else {
7457 			if (yych <= 0xF3) goto yy632;
7458 			if (yych <= 0xF4) goto yy633;
7459 		}
7460 	}
7461 yy637:
7462 	{ return (bufsize_t)(p - start); }
7463 }
7464 
7465 }
7466 
7467 // Try to match an HTML block end line of type 3
_scan_html_block_end_3(const unsigned char * p)7468 bufsize_t _scan_html_block_end_3(const unsigned char *p)
7469 {
7470   const unsigned char *marker = NULL;
7471   const unsigned char *start = p;
7472 
7473 {
7474 	unsigned char yych;
7475 	unsigned int yyaccept = 0;
7476 	static const unsigned char yybm[] = {
7477 		  0,  64,  64,  64,  64,  64,  64,  64,
7478 		 64,  64,   0,  64,  64,  64,  64,  64,
7479 		 64,  64,  64,  64,  64,  64,  64,  64,
7480 		 64,  64,  64,  64,  64,  64,  64,  64,
7481 		 64,  64,  64,  64,  64,  64,  64,  64,
7482 		 64,  64,  64,  64,  64,  64,  64,  64,
7483 		 64,  64,  64,  64,  64,  64,  64,  64,
7484 		 64,  64,  64,  64,  64,  64,  64, 128,
7485 		 64,  64,  64,  64,  64,  64,  64,  64,
7486 		 64,  64,  64,  64,  64,  64,  64,  64,
7487 		 64,  64,  64,  64,  64,  64,  64,  64,
7488 		 64,  64,  64,  64,  64,  64,  64,  64,
7489 		 64,  64,  64,  64,  64,  64,  64,  64,
7490 		 64,  64,  64,  64,  64,  64,  64,  64,
7491 		 64,  64,  64,  64,  64,  64,  64,  64,
7492 		 64,  64,  64,  64,  64,  64,  64,  64,
7493 		  0,   0,   0,   0,   0,   0,   0,   0,
7494 		  0,   0,   0,   0,   0,   0,   0,   0,
7495 		  0,   0,   0,   0,   0,   0,   0,   0,
7496 		  0,   0,   0,   0,   0,   0,   0,   0,
7497 		  0,   0,   0,   0,   0,   0,   0,   0,
7498 		  0,   0,   0,   0,   0,   0,   0,   0,
7499 		  0,   0,   0,   0,   0,   0,   0,   0,
7500 		  0,   0,   0,   0,   0,   0,   0,   0,
7501 		  0,   0,   0,   0,   0,   0,   0,   0,
7502 		  0,   0,   0,   0,   0,   0,   0,   0,
7503 		  0,   0,   0,   0,   0,   0,   0,   0,
7504 		  0,   0,   0,   0,   0,   0,   0,   0,
7505 		  0,   0,   0,   0,   0,   0,   0,   0,
7506 		  0,   0,   0,   0,   0,   0,   0,   0,
7507 		  0,   0,   0,   0,   0,   0,   0,   0,
7508 		  0,   0,   0,   0,   0,   0,   0,   0,
7509 	};
7510 	yych = *p;
7511 	if (yych <= 0xDF) {
7512 		if (yych <= '>') {
7513 			if (yych <= 0x00) goto yy640;
7514 			if (yych != '\n') goto yy642;
7515 		} else {
7516 			if (yych <= '?') goto yy643;
7517 			if (yych <= 0x7F) goto yy642;
7518 			if (yych >= 0xC2) goto yy644;
7519 		}
7520 	} else {
7521 		if (yych <= 0xEF) {
7522 			if (yych <= 0xE0) goto yy645;
7523 			if (yych == 0xED) goto yy647;
7524 			goto yy646;
7525 		} else {
7526 			if (yych <= 0xF0) goto yy648;
7527 			if (yych <= 0xF3) goto yy649;
7528 			if (yych <= 0xF4) goto yy650;
7529 		}
7530 	}
7531 yy640:
7532 	++p;
7533 yy641:
7534 	{ return 0; }
7535 yy642:
7536 	yyaccept = 0;
7537 	yych = *(marker = ++p);
7538 	if (yych <= '\n') {
7539 		if (yych <= 0x00) goto yy641;
7540 		if (yych <= '\t') goto yy652;
7541 		goto yy641;
7542 	} else {
7543 		if (yych <= 0x7F) goto yy652;
7544 		if (yych <= 0xC1) goto yy641;
7545 		if (yych <= 0xF4) goto yy652;
7546 		goto yy641;
7547 	}
7548 yy643:
7549 	yyaccept = 0;
7550 	yych = *(marker = ++p);
7551 	if (yych <= '=') {
7552 		if (yych <= 0x00) goto yy641;
7553 		if (yych == '\n') goto yy641;
7554 		goto yy652;
7555 	} else {
7556 		if (yych <= 0x7F) {
7557 			if (yych <= '>') goto yy663;
7558 			goto yy652;
7559 		} else {
7560 			if (yych <= 0xC1) goto yy641;
7561 			if (yych <= 0xF4) goto yy652;
7562 			goto yy641;
7563 		}
7564 	}
7565 yy644:
7566 	yyaccept = 0;
7567 	yych = *(marker = ++p);
7568 	if (yych <= 0x7F) goto yy641;
7569 	if (yych <= 0xBF) goto yy651;
7570 	goto yy641;
7571 yy645:
7572 	yyaccept = 0;
7573 	yych = *(marker = ++p);
7574 	if (yych <= 0x9F) goto yy641;
7575 	if (yych <= 0xBF) goto yy656;
7576 	goto yy641;
7577 yy646:
7578 	yyaccept = 0;
7579 	yych = *(marker = ++p);
7580 	if (yych <= 0x7F) goto yy641;
7581 	if (yych <= 0xBF) goto yy656;
7582 	goto yy641;
7583 yy647:
7584 	yyaccept = 0;
7585 	yych = *(marker = ++p);
7586 	if (yych <= 0x7F) goto yy641;
7587 	if (yych <= 0x9F) goto yy656;
7588 	goto yy641;
7589 yy648:
7590 	yyaccept = 0;
7591 	yych = *(marker = ++p);
7592 	if (yych <= 0x8F) goto yy641;
7593 	if (yych <= 0xBF) goto yy658;
7594 	goto yy641;
7595 yy649:
7596 	yyaccept = 0;
7597 	yych = *(marker = ++p);
7598 	if (yych <= 0x7F) goto yy641;
7599 	if (yych <= 0xBF) goto yy658;
7600 	goto yy641;
7601 yy650:
7602 	yyaccept = 0;
7603 	yych = *(marker = ++p);
7604 	if (yych <= 0x7F) goto yy641;
7605 	if (yych <= 0x8F) goto yy658;
7606 	goto yy641;
7607 yy651:
7608 	yych = *++p;
7609 yy652:
7610 	if (yybm[0+yych] & 64) {
7611 		goto yy651;
7612 	}
7613 	if (yych <= 0xEC) {
7614 		if (yych <= 0xC1) {
7615 			if (yych <= '\n') goto yy653;
7616 			if (yych <= '?') goto yy654;
7617 		} else {
7618 			if (yych <= 0xDF) goto yy656;
7619 			if (yych <= 0xE0) goto yy657;
7620 			goto yy658;
7621 		}
7622 	} else {
7623 		if (yych <= 0xF0) {
7624 			if (yych <= 0xED) goto yy659;
7625 			if (yych <= 0xEF) goto yy658;
7626 			goto yy660;
7627 		} else {
7628 			if (yych <= 0xF3) goto yy661;
7629 			if (yych <= 0xF4) goto yy662;
7630 		}
7631 	}
7632 yy653:
7633 	p = marker;
7634 	if (yyaccept == 0) {
7635 		goto yy641;
7636 	} else {
7637 		goto yy664;
7638 	}
7639 yy654:
7640 	yych = *++p;
7641 	if (yybm[0+yych] & 128) {
7642 		goto yy654;
7643 	}
7644 	if (yych <= 0xDF) {
7645 		if (yych <= '=') {
7646 			if (yych <= 0x00) goto yy653;
7647 			if (yych == '\n') goto yy653;
7648 			goto yy651;
7649 		} else {
7650 			if (yych <= '>') goto yy663;
7651 			if (yych <= 0x7F) goto yy651;
7652 			if (yych <= 0xC1) goto yy653;
7653 		}
7654 	} else {
7655 		if (yych <= 0xEF) {
7656 			if (yych <= 0xE0) goto yy657;
7657 			if (yych == 0xED) goto yy659;
7658 			goto yy658;
7659 		} else {
7660 			if (yych <= 0xF0) goto yy660;
7661 			if (yych <= 0xF3) goto yy661;
7662 			if (yych <= 0xF4) goto yy662;
7663 			goto yy653;
7664 		}
7665 	}
7666 yy656:
7667 	yych = *++p;
7668 	if (yych <= 0x7F) goto yy653;
7669 	if (yych <= 0xBF) goto yy651;
7670 	goto yy653;
7671 yy657:
7672 	yych = *++p;
7673 	if (yych <= 0x9F) goto yy653;
7674 	if (yych <= 0xBF) goto yy656;
7675 	goto yy653;
7676 yy658:
7677 	yych = *++p;
7678 	if (yych <= 0x7F) goto yy653;
7679 	if (yych <= 0xBF) goto yy656;
7680 	goto yy653;
7681 yy659:
7682 	yych = *++p;
7683 	if (yych <= 0x7F) goto yy653;
7684 	if (yych <= 0x9F) goto yy656;
7685 	goto yy653;
7686 yy660:
7687 	yych = *++p;
7688 	if (yych <= 0x8F) goto yy653;
7689 	if (yych <= 0xBF) goto yy658;
7690 	goto yy653;
7691 yy661:
7692 	yych = *++p;
7693 	if (yych <= 0x7F) goto yy653;
7694 	if (yych <= 0xBF) goto yy658;
7695 	goto yy653;
7696 yy662:
7697 	yych = *++p;
7698 	if (yych <= 0x7F) goto yy653;
7699 	if (yych <= 0x8F) goto yy658;
7700 	goto yy653;
7701 yy663:
7702 	yyaccept = 1;
7703 	yych = *(marker = ++p);
7704 	if (yybm[0+yych] & 64) {
7705 		goto yy651;
7706 	}
7707 	if (yych <= 0xEC) {
7708 		if (yych <= 0xC1) {
7709 			if (yych <= '\n') goto yy664;
7710 			if (yych <= '?') goto yy654;
7711 		} else {
7712 			if (yych <= 0xDF) goto yy656;
7713 			if (yych <= 0xE0) goto yy657;
7714 			goto yy658;
7715 		}
7716 	} else {
7717 		if (yych <= 0xF0) {
7718 			if (yych <= 0xED) goto yy659;
7719 			if (yych <= 0xEF) goto yy658;
7720 			goto yy660;
7721 		} else {
7722 			if (yych <= 0xF3) goto yy661;
7723 			if (yych <= 0xF4) goto yy662;
7724 		}
7725 	}
7726 yy664:
7727 	{ return (bufsize_t)(p - start); }
7728 }
7729 
7730 }
7731 
7732 // Try to match an HTML block end line of type 4
_scan_html_block_end_4(const unsigned char * p)7733 bufsize_t _scan_html_block_end_4(const unsigned char *p)
7734 {
7735   const unsigned char *marker = NULL;
7736   const unsigned char *start = p;
7737 
7738 {
7739 	unsigned char yych;
7740 	unsigned int yyaccept = 0;
7741 	static const unsigned char yybm[] = {
7742 		  0, 128, 128, 128, 128, 128, 128, 128,
7743 		128, 128,   0, 128, 128, 128, 128, 128,
7744 		128, 128, 128, 128, 128, 128, 128, 128,
7745 		128, 128, 128, 128, 128, 128, 128, 128,
7746 		128, 128, 128, 128, 128, 128, 128, 128,
7747 		128, 128, 128, 128, 128, 128, 128, 128,
7748 		128, 128, 128, 128, 128, 128, 128, 128,
7749 		128, 128, 128, 128, 128, 128,  64, 128,
7750 		128, 128, 128, 128, 128, 128, 128, 128,
7751 		128, 128, 128, 128, 128, 128, 128, 128,
7752 		128, 128, 128, 128, 128, 128, 128, 128,
7753 		128, 128, 128, 128, 128, 128, 128, 128,
7754 		128, 128, 128, 128, 128, 128, 128, 128,
7755 		128, 128, 128, 128, 128, 128, 128, 128,
7756 		128, 128, 128, 128, 128, 128, 128, 128,
7757 		128, 128, 128, 128, 128, 128, 128, 128,
7758 		  0,   0,   0,   0,   0,   0,   0,   0,
7759 		  0,   0,   0,   0,   0,   0,   0,   0,
7760 		  0,   0,   0,   0,   0,   0,   0,   0,
7761 		  0,   0,   0,   0,   0,   0,   0,   0,
7762 		  0,   0,   0,   0,   0,   0,   0,   0,
7763 		  0,   0,   0,   0,   0,   0,   0,   0,
7764 		  0,   0,   0,   0,   0,   0,   0,   0,
7765 		  0,   0,   0,   0,   0,   0,   0,   0,
7766 		  0,   0,   0,   0,   0,   0,   0,   0,
7767 		  0,   0,   0,   0,   0,   0,   0,   0,
7768 		  0,   0,   0,   0,   0,   0,   0,   0,
7769 		  0,   0,   0,   0,   0,   0,   0,   0,
7770 		  0,   0,   0,   0,   0,   0,   0,   0,
7771 		  0,   0,   0,   0,   0,   0,   0,   0,
7772 		  0,   0,   0,   0,   0,   0,   0,   0,
7773 		  0,   0,   0,   0,   0,   0,   0,   0,
7774 	};
7775 	yych = *p;
7776 	if (yybm[0+yych] & 64) {
7777 		goto yy670;
7778 	}
7779 	if (yych <= 0xE0) {
7780 		if (yych <= '\n') {
7781 			if (yych <= 0x00) goto yy667;
7782 			if (yych <= '\t') goto yy669;
7783 		} else {
7784 			if (yych <= 0x7F) goto yy669;
7785 			if (yych <= 0xC1) goto yy667;
7786 			if (yych <= 0xDF) goto yy673;
7787 			goto yy674;
7788 		}
7789 	} else {
7790 		if (yych <= 0xEF) {
7791 			if (yych == 0xED) goto yy676;
7792 			goto yy675;
7793 		} else {
7794 			if (yych <= 0xF0) goto yy677;
7795 			if (yych <= 0xF3) goto yy678;
7796 			if (yych <= 0xF4) goto yy679;
7797 		}
7798 	}
7799 yy667:
7800 	++p;
7801 yy668:
7802 	{ return 0; }
7803 yy669:
7804 	yyaccept = 0;
7805 	yych = *(marker = ++p);
7806 	if (yych <= '\n') {
7807 		if (yych <= 0x00) goto yy668;
7808 		if (yych <= '\t') goto yy681;
7809 		goto yy668;
7810 	} else {
7811 		if (yych <= 0x7F) goto yy681;
7812 		if (yych <= 0xC1) goto yy668;
7813 		if (yych <= 0xF4) goto yy681;
7814 		goto yy668;
7815 	}
7816 yy670:
7817 	yyaccept = 1;
7818 	yych = *(marker = ++p);
7819 	if (yybm[0+yych] & 128) {
7820 		goto yy680;
7821 	}
7822 	if (yych <= 0xEC) {
7823 		if (yych <= 0xC1) {
7824 			if (yych <= '\n') goto yy672;
7825 			if (yych <= '>') goto yy670;
7826 		} else {
7827 			if (yych <= 0xDF) goto yy683;
7828 			if (yych <= 0xE0) goto yy684;
7829 			goto yy685;
7830 		}
7831 	} else {
7832 		if (yych <= 0xF0) {
7833 			if (yych <= 0xED) goto yy686;
7834 			if (yych <= 0xEF) goto yy685;
7835 			goto yy687;
7836 		} else {
7837 			if (yych <= 0xF3) goto yy688;
7838 			if (yych <= 0xF4) goto yy689;
7839 		}
7840 	}
7841 yy672:
7842 	{ return (bufsize_t)(p - start); }
7843 yy673:
7844 	yyaccept = 0;
7845 	yych = *(marker = ++p);
7846 	if (yych <= 0x7F) goto yy668;
7847 	if (yych <= 0xBF) goto yy680;
7848 	goto yy668;
7849 yy674:
7850 	yyaccept = 0;
7851 	yych = *(marker = ++p);
7852 	if (yych <= 0x9F) goto yy668;
7853 	if (yych <= 0xBF) goto yy683;
7854 	goto yy668;
7855 yy675:
7856 	yyaccept = 0;
7857 	yych = *(marker = ++p);
7858 	if (yych <= 0x7F) goto yy668;
7859 	if (yych <= 0xBF) goto yy683;
7860 	goto yy668;
7861 yy676:
7862 	yyaccept = 0;
7863 	yych = *(marker = ++p);
7864 	if (yych <= 0x7F) goto yy668;
7865 	if (yych <= 0x9F) goto yy683;
7866 	goto yy668;
7867 yy677:
7868 	yyaccept = 0;
7869 	yych = *(marker = ++p);
7870 	if (yych <= 0x8F) goto yy668;
7871 	if (yych <= 0xBF) goto yy685;
7872 	goto yy668;
7873 yy678:
7874 	yyaccept = 0;
7875 	yych = *(marker = ++p);
7876 	if (yych <= 0x7F) goto yy668;
7877 	if (yych <= 0xBF) goto yy685;
7878 	goto yy668;
7879 yy679:
7880 	yyaccept = 0;
7881 	yych = *(marker = ++p);
7882 	if (yych <= 0x7F) goto yy668;
7883 	if (yych <= 0x8F) goto yy685;
7884 	goto yy668;
7885 yy680:
7886 	yych = *++p;
7887 yy681:
7888 	if (yybm[0+yych] & 128) {
7889 		goto yy680;
7890 	}
7891 	if (yych <= 0xEC) {
7892 		if (yych <= 0xC1) {
7893 			if (yych <= '\n') goto yy682;
7894 			if (yych <= '>') goto yy670;
7895 		} else {
7896 			if (yych <= 0xDF) goto yy683;
7897 			if (yych <= 0xE0) goto yy684;
7898 			goto yy685;
7899 		}
7900 	} else {
7901 		if (yych <= 0xF0) {
7902 			if (yych <= 0xED) goto yy686;
7903 			if (yych <= 0xEF) goto yy685;
7904 			goto yy687;
7905 		} else {
7906 			if (yych <= 0xF3) goto yy688;
7907 			if (yych <= 0xF4) goto yy689;
7908 		}
7909 	}
7910 yy682:
7911 	p = marker;
7912 	if (yyaccept == 0) {
7913 		goto yy668;
7914 	} else {
7915 		goto yy672;
7916 	}
7917 yy683:
7918 	yych = *++p;
7919 	if (yych <= 0x7F) goto yy682;
7920 	if (yych <= 0xBF) goto yy680;
7921 	goto yy682;
7922 yy684:
7923 	yych = *++p;
7924 	if (yych <= 0x9F) goto yy682;
7925 	if (yych <= 0xBF) goto yy683;
7926 	goto yy682;
7927 yy685:
7928 	yych = *++p;
7929 	if (yych <= 0x7F) goto yy682;
7930 	if (yych <= 0xBF) goto yy683;
7931 	goto yy682;
7932 yy686:
7933 	yych = *++p;
7934 	if (yych <= 0x7F) goto yy682;
7935 	if (yych <= 0x9F) goto yy683;
7936 	goto yy682;
7937 yy687:
7938 	yych = *++p;
7939 	if (yych <= 0x8F) goto yy682;
7940 	if (yych <= 0xBF) goto yy685;
7941 	goto yy682;
7942 yy688:
7943 	yych = *++p;
7944 	if (yych <= 0x7F) goto yy682;
7945 	if (yych <= 0xBF) goto yy685;
7946 	goto yy682;
7947 yy689:
7948 	yych = *++p;
7949 	if (yych <= 0x7F) goto yy682;
7950 	if (yych <= 0x8F) goto yy685;
7951 	goto yy682;
7952 }
7953 
7954 }
7955 
7956 // Try to match an HTML block end line of type 5
_scan_html_block_end_5(const unsigned char * p)7957 bufsize_t _scan_html_block_end_5(const unsigned char *p)
7958 {
7959   const unsigned char *marker = NULL;
7960   const unsigned char *start = p;
7961 
7962 {
7963 	unsigned char yych;
7964 	unsigned int yyaccept = 0;
7965 	static const unsigned char yybm[] = {
7966 		  0,  64,  64,  64,  64,  64,  64,  64,
7967 		 64,  64,   0,  64,  64,  64,  64,  64,
7968 		 64,  64,  64,  64,  64,  64,  64,  64,
7969 		 64,  64,  64,  64,  64,  64,  64,  64,
7970 		 64,  64,  64,  64,  64,  64,  64,  64,
7971 		 64,  64,  64,  64,  64,  64,  64,  64,
7972 		 64,  64,  64,  64,  64,  64,  64,  64,
7973 		 64,  64,  64,  64,  64,  64,  64,  64,
7974 		 64,  64,  64,  64,  64,  64,  64,  64,
7975 		 64,  64,  64,  64,  64,  64,  64,  64,
7976 		 64,  64,  64,  64,  64,  64,  64,  64,
7977 		 64,  64,  64,  64,  64, 128,  64,  64,
7978 		 64,  64,  64,  64,  64,  64,  64,  64,
7979 		 64,  64,  64,  64,  64,  64,  64,  64,
7980 		 64,  64,  64,  64,  64,  64,  64,  64,
7981 		 64,  64,  64,  64,  64,  64,  64,  64,
7982 		  0,   0,   0,   0,   0,   0,   0,   0,
7983 		  0,   0,   0,   0,   0,   0,   0,   0,
7984 		  0,   0,   0,   0,   0,   0,   0,   0,
7985 		  0,   0,   0,   0,   0,   0,   0,   0,
7986 		  0,   0,   0,   0,   0,   0,   0,   0,
7987 		  0,   0,   0,   0,   0,   0,   0,   0,
7988 		  0,   0,   0,   0,   0,   0,   0,   0,
7989 		  0,   0,   0,   0,   0,   0,   0,   0,
7990 		  0,   0,   0,   0,   0,   0,   0,   0,
7991 		  0,   0,   0,   0,   0,   0,   0,   0,
7992 		  0,   0,   0,   0,   0,   0,   0,   0,
7993 		  0,   0,   0,   0,   0,   0,   0,   0,
7994 		  0,   0,   0,   0,   0,   0,   0,   0,
7995 		  0,   0,   0,   0,   0,   0,   0,   0,
7996 		  0,   0,   0,   0,   0,   0,   0,   0,
7997 		  0,   0,   0,   0,   0,   0,   0,   0,
7998 	};
7999 	yych = *p;
8000 	if (yych <= 0xDF) {
8001 		if (yych <= '\\') {
8002 			if (yych <= 0x00) goto yy692;
8003 			if (yych != '\n') goto yy694;
8004 		} else {
8005 			if (yych <= ']') goto yy695;
8006 			if (yych <= 0x7F) goto yy694;
8007 			if (yych >= 0xC2) goto yy696;
8008 		}
8009 	} else {
8010 		if (yych <= 0xEF) {
8011 			if (yych <= 0xE0) goto yy697;
8012 			if (yych == 0xED) goto yy699;
8013 			goto yy698;
8014 		} else {
8015 			if (yych <= 0xF0) goto yy700;
8016 			if (yych <= 0xF3) goto yy701;
8017 			if (yych <= 0xF4) goto yy702;
8018 		}
8019 	}
8020 yy692:
8021 	++p;
8022 yy693:
8023 	{ return 0; }
8024 yy694:
8025 	yyaccept = 0;
8026 	yych = *(marker = ++p);
8027 	if (yych <= '\n') {
8028 		if (yych <= 0x00) goto yy693;
8029 		if (yych <= '\t') goto yy704;
8030 		goto yy693;
8031 	} else {
8032 		if (yych <= 0x7F) goto yy704;
8033 		if (yych <= 0xC1) goto yy693;
8034 		if (yych <= 0xF4) goto yy704;
8035 		goto yy693;
8036 	}
8037 yy695:
8038 	yyaccept = 0;
8039 	yych = *(marker = ++p);
8040 	if (yybm[0+yych] & 128) {
8041 		goto yy714;
8042 	}
8043 	if (yych <= '\n') {
8044 		if (yych <= 0x00) goto yy693;
8045 		if (yych <= '\t') goto yy704;
8046 		goto yy693;
8047 	} else {
8048 		if (yych <= 0x7F) goto yy704;
8049 		if (yych <= 0xC1) goto yy693;
8050 		if (yych <= 0xF4) goto yy704;
8051 		goto yy693;
8052 	}
8053 yy696:
8054 	yyaccept = 0;
8055 	yych = *(marker = ++p);
8056 	if (yych <= 0x7F) goto yy693;
8057 	if (yych <= 0xBF) goto yy703;
8058 	goto yy693;
8059 yy697:
8060 	yyaccept = 0;
8061 	yych = *(marker = ++p);
8062 	if (yych <= 0x9F) goto yy693;
8063 	if (yych <= 0xBF) goto yy707;
8064 	goto yy693;
8065 yy698:
8066 	yyaccept = 0;
8067 	yych = *(marker = ++p);
8068 	if (yych <= 0x7F) goto yy693;
8069 	if (yych <= 0xBF) goto yy707;
8070 	goto yy693;
8071 yy699:
8072 	yyaccept = 0;
8073 	yych = *(marker = ++p);
8074 	if (yych <= 0x7F) goto yy693;
8075 	if (yych <= 0x9F) goto yy707;
8076 	goto yy693;
8077 yy700:
8078 	yyaccept = 0;
8079 	yych = *(marker = ++p);
8080 	if (yych <= 0x8F) goto yy693;
8081 	if (yych <= 0xBF) goto yy709;
8082 	goto yy693;
8083 yy701:
8084 	yyaccept = 0;
8085 	yych = *(marker = ++p);
8086 	if (yych <= 0x7F) goto yy693;
8087 	if (yych <= 0xBF) goto yy709;
8088 	goto yy693;
8089 yy702:
8090 	yyaccept = 0;
8091 	yych = *(marker = ++p);
8092 	if (yych <= 0x7F) goto yy693;
8093 	if (yych <= 0x8F) goto yy709;
8094 	goto yy693;
8095 yy703:
8096 	yych = *++p;
8097 yy704:
8098 	if (yybm[0+yych] & 64) {
8099 		goto yy703;
8100 	}
8101 	if (yych <= 0xEC) {
8102 		if (yych <= 0xC1) {
8103 			if (yych <= '\n') goto yy705;
8104 			if (yych <= ']') goto yy706;
8105 		} else {
8106 			if (yych <= 0xDF) goto yy707;
8107 			if (yych <= 0xE0) goto yy708;
8108 			goto yy709;
8109 		}
8110 	} else {
8111 		if (yych <= 0xF0) {
8112 			if (yych <= 0xED) goto yy710;
8113 			if (yych <= 0xEF) goto yy709;
8114 			goto yy711;
8115 		} else {
8116 			if (yych <= 0xF3) goto yy712;
8117 			if (yych <= 0xF4) goto yy713;
8118 		}
8119 	}
8120 yy705:
8121 	p = marker;
8122 	if (yyaccept == 0) {
8123 		goto yy693;
8124 	} else {
8125 		goto yy717;
8126 	}
8127 yy706:
8128 	yych = *++p;
8129 	if (yybm[0+yych] & 64) {
8130 		goto yy703;
8131 	}
8132 	if (yych <= 0xEC) {
8133 		if (yych <= 0xC1) {
8134 			if (yych <= '\n') goto yy705;
8135 			if (yych <= ']') goto yy714;
8136 			goto yy705;
8137 		} else {
8138 			if (yych <= 0xDF) goto yy707;
8139 			if (yych <= 0xE0) goto yy708;
8140 			goto yy709;
8141 		}
8142 	} else {
8143 		if (yych <= 0xF0) {
8144 			if (yych <= 0xED) goto yy710;
8145 			if (yych <= 0xEF) goto yy709;
8146 			goto yy711;
8147 		} else {
8148 			if (yych <= 0xF3) goto yy712;
8149 			if (yych <= 0xF4) goto yy713;
8150 			goto yy705;
8151 		}
8152 	}
8153 yy707:
8154 	yych = *++p;
8155 	if (yych <= 0x7F) goto yy705;
8156 	if (yych <= 0xBF) goto yy703;
8157 	goto yy705;
8158 yy708:
8159 	yych = *++p;
8160 	if (yych <= 0x9F) goto yy705;
8161 	if (yych <= 0xBF) goto yy707;
8162 	goto yy705;
8163 yy709:
8164 	yych = *++p;
8165 	if (yych <= 0x7F) goto yy705;
8166 	if (yych <= 0xBF) goto yy707;
8167 	goto yy705;
8168 yy710:
8169 	yych = *++p;
8170 	if (yych <= 0x7F) goto yy705;
8171 	if (yych <= 0x9F) goto yy707;
8172 	goto yy705;
8173 yy711:
8174 	yych = *++p;
8175 	if (yych <= 0x8F) goto yy705;
8176 	if (yych <= 0xBF) goto yy709;
8177 	goto yy705;
8178 yy712:
8179 	yych = *++p;
8180 	if (yych <= 0x7F) goto yy705;
8181 	if (yych <= 0xBF) goto yy709;
8182 	goto yy705;
8183 yy713:
8184 	yych = *++p;
8185 	if (yych <= 0x7F) goto yy705;
8186 	if (yych <= 0x8F) goto yy709;
8187 	goto yy705;
8188 yy714:
8189 	yych = *++p;
8190 	if (yybm[0+yych] & 128) {
8191 		goto yy714;
8192 	}
8193 	if (yych <= 0xDF) {
8194 		if (yych <= '=') {
8195 			if (yych <= 0x00) goto yy705;
8196 			if (yych == '\n') goto yy705;
8197 			goto yy703;
8198 		} else {
8199 			if (yych <= '>') goto yy716;
8200 			if (yych <= 0x7F) goto yy703;
8201 			if (yych <= 0xC1) goto yy705;
8202 			goto yy707;
8203 		}
8204 	} else {
8205 		if (yych <= 0xEF) {
8206 			if (yych <= 0xE0) goto yy708;
8207 			if (yych == 0xED) goto yy710;
8208 			goto yy709;
8209 		} else {
8210 			if (yych <= 0xF0) goto yy711;
8211 			if (yych <= 0xF3) goto yy712;
8212 			if (yych <= 0xF4) goto yy713;
8213 			goto yy705;
8214 		}
8215 	}
8216 yy716:
8217 	yyaccept = 1;
8218 	yych = *(marker = ++p);
8219 	if (yybm[0+yych] & 64) {
8220 		goto yy703;
8221 	}
8222 	if (yych <= 0xEC) {
8223 		if (yych <= 0xC1) {
8224 			if (yych <= '\n') goto yy717;
8225 			if (yych <= ']') goto yy706;
8226 		} else {
8227 			if (yych <= 0xDF) goto yy707;
8228 			if (yych <= 0xE0) goto yy708;
8229 			goto yy709;
8230 		}
8231 	} else {
8232 		if (yych <= 0xF0) {
8233 			if (yych <= 0xED) goto yy710;
8234 			if (yych <= 0xEF) goto yy709;
8235 			goto yy711;
8236 		} else {
8237 			if (yych <= 0xF3) goto yy712;
8238 			if (yych <= 0xF4) goto yy713;
8239 		}
8240 	}
8241 yy717:
8242 	{ return (bufsize_t)(p - start); }
8243 }
8244 
8245 }
8246 
8247 // Try to match a link title (in single quotes, in double quotes, or
8248 // in parentheses), returning number of chars matched.  Allow one
8249 // level of internal nesting (quotes within quotes).
_scan_link_title(const unsigned char * p)8250 bufsize_t _scan_link_title(const unsigned char *p)
8251 {
8252   const unsigned char *marker = NULL;
8253   const unsigned char *start = p;
8254 
8255 {
8256 	unsigned char yych;
8257 	unsigned int yyaccept = 0;
8258 	static const unsigned char yybm[] = {
8259 		  0, 208, 208, 208, 208, 208, 208, 208,
8260 		208, 208, 208, 208, 208, 208, 208, 208,
8261 		208, 208, 208, 208, 208, 208, 208, 208,
8262 		208, 208, 208, 208, 208, 208, 208, 208,
8263 		208, 208, 192, 208, 208, 208, 208, 144,
8264 		 80,  80, 208, 208, 208, 208, 208, 208,
8265 		208, 208, 208, 208, 208, 208, 208, 208,
8266 		208, 208, 208, 208, 208, 208, 208, 208,
8267 		208, 208, 208, 208, 208, 208, 208, 208,
8268 		208, 208, 208, 208, 208, 208, 208, 208,
8269 		208, 208, 208, 208, 208, 208, 208, 208,
8270 		208, 208, 208, 208,  32, 208, 208, 208,
8271 		208, 208, 208, 208, 208, 208, 208, 208,
8272 		208, 208, 208, 208, 208, 208, 208, 208,
8273 		208, 208, 208, 208, 208, 208, 208, 208,
8274 		208, 208, 208, 208, 208, 208, 208, 208,
8275 		  0,   0,   0,   0,   0,   0,   0,   0,
8276 		  0,   0,   0,   0,   0,   0,   0,   0,
8277 		  0,   0,   0,   0,   0,   0,   0,   0,
8278 		  0,   0,   0,   0,   0,   0,   0,   0,
8279 		  0,   0,   0,   0,   0,   0,   0,   0,
8280 		  0,   0,   0,   0,   0,   0,   0,   0,
8281 		  0,   0,   0,   0,   0,   0,   0,   0,
8282 		  0,   0,   0,   0,   0,   0,   0,   0,
8283 		  0,   0,   0,   0,   0,   0,   0,   0,
8284 		  0,   0,   0,   0,   0,   0,   0,   0,
8285 		  0,   0,   0,   0,   0,   0,   0,   0,
8286 		  0,   0,   0,   0,   0,   0,   0,   0,
8287 		  0,   0,   0,   0,   0,   0,   0,   0,
8288 		  0,   0,   0,   0,   0,   0,   0,   0,
8289 		  0,   0,   0,   0,   0,   0,   0,   0,
8290 		  0,   0,   0,   0,   0,   0,   0,   0,
8291 	};
8292 	yych = *p;
8293 	if (yych <= '&') {
8294 		if (yych == '"') goto yy722;
8295 	} else {
8296 		if (yych <= '\'') goto yy723;
8297 		if (yych <= '(') goto yy724;
8298 	}
8299 	++p;
8300 yy721:
8301 	{ return 0; }
8302 yy722:
8303 	yyaccept = 0;
8304 	yych = *(marker = ++p);
8305 	if (yych <= 0x00) goto yy721;
8306 	if (yych <= 0x7F) goto yy726;
8307 	if (yych <= 0xC1) goto yy721;
8308 	if (yych <= 0xF4) goto yy726;
8309 	goto yy721;
8310 yy723:
8311 	yyaccept = 0;
8312 	yych = *(marker = ++p);
8313 	if (yych <= 0x00) goto yy721;
8314 	if (yych <= 0x7F) goto yy740;
8315 	if (yych <= 0xC1) goto yy721;
8316 	if (yych <= 0xF4) goto yy740;
8317 	goto yy721;
8318 yy724:
8319 	yyaccept = 0;
8320 	yych = *(marker = ++p);
8321 	if (yych <= '(') {
8322 		if (yych <= 0x00) goto yy721;
8323 		if (yych <= '\'') goto yy753;
8324 		goto yy721;
8325 	} else {
8326 		if (yych <= 0x7F) goto yy753;
8327 		if (yych <= 0xC1) goto yy721;
8328 		if (yych <= 0xF4) goto yy753;
8329 		goto yy721;
8330 	}
8331 yy725:
8332 	yych = *++p;
8333 yy726:
8334 	if (yybm[0+yych] & 16) {
8335 		goto yy725;
8336 	}
8337 	if (yych <= 0xE0) {
8338 		if (yych <= '\\') {
8339 			if (yych <= 0x00) goto yy727;
8340 			if (yych <= '"') goto yy728;
8341 			goto yy730;
8342 		} else {
8343 			if (yych <= 0xC1) goto yy727;
8344 			if (yych <= 0xDF) goto yy732;
8345 			goto yy733;
8346 		}
8347 	} else {
8348 		if (yych <= 0xEF) {
8349 			if (yych == 0xED) goto yy735;
8350 			goto yy734;
8351 		} else {
8352 			if (yych <= 0xF0) goto yy736;
8353 			if (yych <= 0xF3) goto yy737;
8354 			if (yych <= 0xF4) goto yy738;
8355 		}
8356 	}
8357 yy727:
8358 	p = marker;
8359 	if (yyaccept <= 1) {
8360 		if (yyaccept == 0) {
8361 			goto yy721;
8362 		} else {
8363 			goto yy729;
8364 		}
8365 	} else {
8366 		if (yyaccept == 2) {
8367 			goto yy742;
8368 		} else {
8369 			goto yy755;
8370 		}
8371 	}
8372 yy728:
8373 	++p;
8374 yy729:
8375 	{ return (bufsize_t)(p - start); }
8376 yy730:
8377 	yych = *++p;
8378 	if (yybm[0+yych] & 16) {
8379 		goto yy725;
8380 	}
8381 	if (yych <= 0xE0) {
8382 		if (yych <= '\\') {
8383 			if (yych <= 0x00) goto yy727;
8384 			if (yych <= '"') goto yy765;
8385 			goto yy730;
8386 		} else {
8387 			if (yych <= 0xC1) goto yy727;
8388 			if (yych >= 0xE0) goto yy733;
8389 		}
8390 	} else {
8391 		if (yych <= 0xEF) {
8392 			if (yych == 0xED) goto yy735;
8393 			goto yy734;
8394 		} else {
8395 			if (yych <= 0xF0) goto yy736;
8396 			if (yych <= 0xF3) goto yy737;
8397 			if (yych <= 0xF4) goto yy738;
8398 			goto yy727;
8399 		}
8400 	}
8401 yy732:
8402 	yych = *++p;
8403 	if (yych <= 0x7F) goto yy727;
8404 	if (yych <= 0xBF) goto yy725;
8405 	goto yy727;
8406 yy733:
8407 	yych = *++p;
8408 	if (yych <= 0x9F) goto yy727;
8409 	if (yych <= 0xBF) goto yy732;
8410 	goto yy727;
8411 yy734:
8412 	yych = *++p;
8413 	if (yych <= 0x7F) goto yy727;
8414 	if (yych <= 0xBF) goto yy732;
8415 	goto yy727;
8416 yy735:
8417 	yych = *++p;
8418 	if (yych <= 0x7F) goto yy727;
8419 	if (yych <= 0x9F) goto yy732;
8420 	goto yy727;
8421 yy736:
8422 	yych = *++p;
8423 	if (yych <= 0x8F) goto yy727;
8424 	if (yych <= 0xBF) goto yy734;
8425 	goto yy727;
8426 yy737:
8427 	yych = *++p;
8428 	if (yych <= 0x7F) goto yy727;
8429 	if (yych <= 0xBF) goto yy734;
8430 	goto yy727;
8431 yy738:
8432 	yych = *++p;
8433 	if (yych <= 0x7F) goto yy727;
8434 	if (yych <= 0x8F) goto yy734;
8435 	goto yy727;
8436 yy739:
8437 	yych = *++p;
8438 yy740:
8439 	if (yybm[0+yych] & 64) {
8440 		goto yy739;
8441 	}
8442 	if (yych <= 0xE0) {
8443 		if (yych <= '\\') {
8444 			if (yych <= 0x00) goto yy727;
8445 			if (yych >= '(') goto yy743;
8446 		} else {
8447 			if (yych <= 0xC1) goto yy727;
8448 			if (yych <= 0xDF) goto yy745;
8449 			goto yy746;
8450 		}
8451 	} else {
8452 		if (yych <= 0xEF) {
8453 			if (yych == 0xED) goto yy748;
8454 			goto yy747;
8455 		} else {
8456 			if (yych <= 0xF0) goto yy749;
8457 			if (yych <= 0xF3) goto yy750;
8458 			if (yych <= 0xF4) goto yy751;
8459 			goto yy727;
8460 		}
8461 	}
8462 yy741:
8463 	++p;
8464 yy742:
8465 	{ return (bufsize_t)(p - start); }
8466 yy743:
8467 	yych = *++p;
8468 	if (yybm[0+yych] & 64) {
8469 		goto yy739;
8470 	}
8471 	if (yych <= 0xE0) {
8472 		if (yych <= '\\') {
8473 			if (yych <= 0x00) goto yy727;
8474 			if (yych <= '\'') goto yy766;
8475 			goto yy743;
8476 		} else {
8477 			if (yych <= 0xC1) goto yy727;
8478 			if (yych >= 0xE0) goto yy746;
8479 		}
8480 	} else {
8481 		if (yych <= 0xEF) {
8482 			if (yych == 0xED) goto yy748;
8483 			goto yy747;
8484 		} else {
8485 			if (yych <= 0xF0) goto yy749;
8486 			if (yych <= 0xF3) goto yy750;
8487 			if (yych <= 0xF4) goto yy751;
8488 			goto yy727;
8489 		}
8490 	}
8491 yy745:
8492 	yych = *++p;
8493 	if (yych <= 0x7F) goto yy727;
8494 	if (yych <= 0xBF) goto yy739;
8495 	goto yy727;
8496 yy746:
8497 	yych = *++p;
8498 	if (yych <= 0x9F) goto yy727;
8499 	if (yych <= 0xBF) goto yy745;
8500 	goto yy727;
8501 yy747:
8502 	yych = *++p;
8503 	if (yych <= 0x7F) goto yy727;
8504 	if (yych <= 0xBF) goto yy745;
8505 	goto yy727;
8506 yy748:
8507 	yych = *++p;
8508 	if (yych <= 0x7F) goto yy727;
8509 	if (yych <= 0x9F) goto yy745;
8510 	goto yy727;
8511 yy749:
8512 	yych = *++p;
8513 	if (yych <= 0x8F) goto yy727;
8514 	if (yych <= 0xBF) goto yy747;
8515 	goto yy727;
8516 yy750:
8517 	yych = *++p;
8518 	if (yych <= 0x7F) goto yy727;
8519 	if (yych <= 0xBF) goto yy747;
8520 	goto yy727;
8521 yy751:
8522 	yych = *++p;
8523 	if (yych <= 0x7F) goto yy727;
8524 	if (yych <= 0x8F) goto yy747;
8525 	goto yy727;
8526 yy752:
8527 	yych = *++p;
8528 yy753:
8529 	if (yybm[0+yych] & 128) {
8530 		goto yy752;
8531 	}
8532 	if (yych <= 0xE0) {
8533 		if (yych <= '\\') {
8534 			if (yych <= '(') goto yy727;
8535 			if (yych >= '*') goto yy756;
8536 		} else {
8537 			if (yych <= 0xC1) goto yy727;
8538 			if (yych <= 0xDF) goto yy758;
8539 			goto yy759;
8540 		}
8541 	} else {
8542 		if (yych <= 0xEF) {
8543 			if (yych == 0xED) goto yy761;
8544 			goto yy760;
8545 		} else {
8546 			if (yych <= 0xF0) goto yy762;
8547 			if (yych <= 0xF3) goto yy763;
8548 			if (yych <= 0xF4) goto yy764;
8549 			goto yy727;
8550 		}
8551 	}
8552 yy754:
8553 	++p;
8554 yy755:
8555 	{ return (bufsize_t)(p - start); }
8556 yy756:
8557 	yych = *++p;
8558 	if (yych <= 0xDF) {
8559 		if (yych <= '[') {
8560 			if (yych <= 0x00) goto yy727;
8561 			if (yych == ')') goto yy767;
8562 			goto yy752;
8563 		} else {
8564 			if (yych <= '\\') goto yy756;
8565 			if (yych <= 0x7F) goto yy752;
8566 			if (yych <= 0xC1) goto yy727;
8567 		}
8568 	} else {
8569 		if (yych <= 0xEF) {
8570 			if (yych <= 0xE0) goto yy759;
8571 			if (yych == 0xED) goto yy761;
8572 			goto yy760;
8573 		} else {
8574 			if (yych <= 0xF0) goto yy762;
8575 			if (yych <= 0xF3) goto yy763;
8576 			if (yych <= 0xF4) goto yy764;
8577 			goto yy727;
8578 		}
8579 	}
8580 yy758:
8581 	yych = *++p;
8582 	if (yych <= 0x7F) goto yy727;
8583 	if (yych <= 0xBF) goto yy752;
8584 	goto yy727;
8585 yy759:
8586 	yych = *++p;
8587 	if (yych <= 0x9F) goto yy727;
8588 	if (yych <= 0xBF) goto yy758;
8589 	goto yy727;
8590 yy760:
8591 	yych = *++p;
8592 	if (yych <= 0x7F) goto yy727;
8593 	if (yych <= 0xBF) goto yy758;
8594 	goto yy727;
8595 yy761:
8596 	yych = *++p;
8597 	if (yych <= 0x7F) goto yy727;
8598 	if (yych <= 0x9F) goto yy758;
8599 	goto yy727;
8600 yy762:
8601 	yych = *++p;
8602 	if (yych <= 0x8F) goto yy727;
8603 	if (yych <= 0xBF) goto yy760;
8604 	goto yy727;
8605 yy763:
8606 	yych = *++p;
8607 	if (yych <= 0x7F) goto yy727;
8608 	if (yych <= 0xBF) goto yy760;
8609 	goto yy727;
8610 yy764:
8611 	yych = *++p;
8612 	if (yych <= 0x7F) goto yy727;
8613 	if (yych <= 0x8F) goto yy760;
8614 	goto yy727;
8615 yy765:
8616 	yyaccept = 1;
8617 	yych = *(marker = ++p);
8618 	if (yybm[0+yych] & 16) {
8619 		goto yy725;
8620 	}
8621 	if (yych <= 0xE0) {
8622 		if (yych <= '\\') {
8623 			if (yych <= 0x00) goto yy729;
8624 			if (yych <= '"') goto yy728;
8625 			goto yy730;
8626 		} else {
8627 			if (yych <= 0xC1) goto yy729;
8628 			if (yych <= 0xDF) goto yy732;
8629 			goto yy733;
8630 		}
8631 	} else {
8632 		if (yych <= 0xEF) {
8633 			if (yych == 0xED) goto yy735;
8634 			goto yy734;
8635 		} else {
8636 			if (yych <= 0xF0) goto yy736;
8637 			if (yych <= 0xF3) goto yy737;
8638 			if (yych <= 0xF4) goto yy738;
8639 			goto yy729;
8640 		}
8641 	}
8642 yy766:
8643 	yyaccept = 2;
8644 	yych = *(marker = ++p);
8645 	if (yybm[0+yych] & 64) {
8646 		goto yy739;
8647 	}
8648 	if (yych <= 0xE0) {
8649 		if (yych <= '\\') {
8650 			if (yych <= 0x00) goto yy742;
8651 			if (yych <= '\'') goto yy741;
8652 			goto yy743;
8653 		} else {
8654 			if (yych <= 0xC1) goto yy742;
8655 			if (yych <= 0xDF) goto yy745;
8656 			goto yy746;
8657 		}
8658 	} else {
8659 		if (yych <= 0xEF) {
8660 			if (yych == 0xED) goto yy748;
8661 			goto yy747;
8662 		} else {
8663 			if (yych <= 0xF0) goto yy749;
8664 			if (yych <= 0xF3) goto yy750;
8665 			if (yych <= 0xF4) goto yy751;
8666 			goto yy742;
8667 		}
8668 	}
8669 yy767:
8670 	yyaccept = 3;
8671 	yych = *(marker = ++p);
8672 	if (yybm[0+yych] & 128) {
8673 		goto yy752;
8674 	}
8675 	if (yych <= 0xE0) {
8676 		if (yych <= '\\') {
8677 			if (yych <= '(') goto yy755;
8678 			if (yych <= ')') goto yy754;
8679 			goto yy756;
8680 		} else {
8681 			if (yych <= 0xC1) goto yy755;
8682 			if (yych <= 0xDF) goto yy758;
8683 			goto yy759;
8684 		}
8685 	} else {
8686 		if (yych <= 0xEF) {
8687 			if (yych == 0xED) goto yy761;
8688 			goto yy760;
8689 		} else {
8690 			if (yych <= 0xF0) goto yy762;
8691 			if (yych <= 0xF3) goto yy763;
8692 			if (yych <= 0xF4) goto yy764;
8693 			goto yy755;
8694 		}
8695 	}
8696 }
8697 
8698 }
8699 
8700 // Match space characters, including newlines.
_scan_spacechars(const unsigned char * p)8701 bufsize_t _scan_spacechars(const unsigned char *p)
8702 {
8703   const unsigned char *start = p; \
8704 
8705 {
8706 	unsigned char yych;
8707 	static const unsigned char yybm[] = {
8708 		  0,   0,   0,   0,   0,   0,   0,   0,
8709 		  0, 128, 128, 128, 128, 128,   0,   0,
8710 		  0,   0,   0,   0,   0,   0,   0,   0,
8711 		  0,   0,   0,   0,   0,   0,   0,   0,
8712 		128,   0,   0,   0,   0,   0,   0,   0,
8713 		  0,   0,   0,   0,   0,   0,   0,   0,
8714 		  0,   0,   0,   0,   0,   0,   0,   0,
8715 		  0,   0,   0,   0,   0,   0,   0,   0,
8716 		  0,   0,   0,   0,   0,   0,   0,   0,
8717 		  0,   0,   0,   0,   0,   0,   0,   0,
8718 		  0,   0,   0,   0,   0,   0,   0,   0,
8719 		  0,   0,   0,   0,   0,   0,   0,   0,
8720 		  0,   0,   0,   0,   0,   0,   0,   0,
8721 		  0,   0,   0,   0,   0,   0,   0,   0,
8722 		  0,   0,   0,   0,   0,   0,   0,   0,
8723 		  0,   0,   0,   0,   0,   0,   0,   0,
8724 		  0,   0,   0,   0,   0,   0,   0,   0,
8725 		  0,   0,   0,   0,   0,   0,   0,   0,
8726 		  0,   0,   0,   0,   0,   0,   0,   0,
8727 		  0,   0,   0,   0,   0,   0,   0,   0,
8728 		  0,   0,   0,   0,   0,   0,   0,   0,
8729 		  0,   0,   0,   0,   0,   0,   0,   0,
8730 		  0,   0,   0,   0,   0,   0,   0,   0,
8731 		  0,   0,   0,   0,   0,   0,   0,   0,
8732 		  0,   0,   0,   0,   0,   0,   0,   0,
8733 		  0,   0,   0,   0,   0,   0,   0,   0,
8734 		  0,   0,   0,   0,   0,   0,   0,   0,
8735 		  0,   0,   0,   0,   0,   0,   0,   0,
8736 		  0,   0,   0,   0,   0,   0,   0,   0,
8737 		  0,   0,   0,   0,   0,   0,   0,   0,
8738 		  0,   0,   0,   0,   0,   0,   0,   0,
8739 		  0,   0,   0,   0,   0,   0,   0,   0,
8740 	};
8741 	yych = *p;
8742 	if (yybm[0+yych] & 128) {
8743 		goto yy772;
8744 	}
8745 	++p;
8746 	{ return 0; }
8747 yy772:
8748 	yych = *++p;
8749 	if (yybm[0+yych] & 128) {
8750 		goto yy772;
8751 	}
8752 	{ return (bufsize_t)(p - start); }
8753 }
8754 
8755 }
8756 
8757 // Match ATX heading start.
_scan_atx_heading_start(const unsigned char * p)8758 bufsize_t _scan_atx_heading_start(const unsigned char *p)
8759 {
8760   const unsigned char *marker = NULL;
8761   const unsigned char *start = p;
8762 
8763 {
8764 	unsigned char yych;
8765 	static const unsigned char yybm[] = {
8766 		  0,   0,   0,   0,   0,   0,   0,   0,
8767 		  0, 128,   0,   0,   0,   0,   0,   0,
8768 		  0,   0,   0,   0,   0,   0,   0,   0,
8769 		  0,   0,   0,   0,   0,   0,   0,   0,
8770 		128,   0,   0,   0,   0,   0,   0,   0,
8771 		  0,   0,   0,   0,   0,   0,   0,   0,
8772 		  0,   0,   0,   0,   0,   0,   0,   0,
8773 		  0,   0,   0,   0,   0,   0,   0,   0,
8774 		  0,   0,   0,   0,   0,   0,   0,   0,
8775 		  0,   0,   0,   0,   0,   0,   0,   0,
8776 		  0,   0,   0,   0,   0,   0,   0,   0,
8777 		  0,   0,   0,   0,   0,   0,   0,   0,
8778 		  0,   0,   0,   0,   0,   0,   0,   0,
8779 		  0,   0,   0,   0,   0,   0,   0,   0,
8780 		  0,   0,   0,   0,   0,   0,   0,   0,
8781 		  0,   0,   0,   0,   0,   0,   0,   0,
8782 		  0,   0,   0,   0,   0,   0,   0,   0,
8783 		  0,   0,   0,   0,   0,   0,   0,   0,
8784 		  0,   0,   0,   0,   0,   0,   0,   0,
8785 		  0,   0,   0,   0,   0,   0,   0,   0,
8786 		  0,   0,   0,   0,   0,   0,   0,   0,
8787 		  0,   0,   0,   0,   0,   0,   0,   0,
8788 		  0,   0,   0,   0,   0,   0,   0,   0,
8789 		  0,   0,   0,   0,   0,   0,   0,   0,
8790 		  0,   0,   0,   0,   0,   0,   0,   0,
8791 		  0,   0,   0,   0,   0,   0,   0,   0,
8792 		  0,   0,   0,   0,   0,   0,   0,   0,
8793 		  0,   0,   0,   0,   0,   0,   0,   0,
8794 		  0,   0,   0,   0,   0,   0,   0,   0,
8795 		  0,   0,   0,   0,   0,   0,   0,   0,
8796 		  0,   0,   0,   0,   0,   0,   0,   0,
8797 		  0,   0,   0,   0,   0,   0,   0,   0,
8798 	};
8799 	yych = *p;
8800 	if (yych == '#') goto yy779;
8801 	++p;
8802 yy778:
8803 	{ return 0; }
8804 yy779:
8805 	yych = *(marker = ++p);
8806 	if (yybm[0+yych] & 128) {
8807 		goto yy780;
8808 	}
8809 	if (yych <= '\f') {
8810 		if (yych <= 0x08) goto yy778;
8811 		if (yych <= '\n') goto yy783;
8812 		goto yy778;
8813 	} else {
8814 		if (yych <= '\r') goto yy783;
8815 		if (yych == '#') goto yy784;
8816 		goto yy778;
8817 	}
8818 yy780:
8819 	yych = *++p;
8820 	if (yybm[0+yych] & 128) {
8821 		goto yy780;
8822 	}
8823 yy782:
8824 	{ return (bufsize_t)(p - start); }
8825 yy783:
8826 	++p;
8827 	goto yy782;
8828 yy784:
8829 	yych = *++p;
8830 	if (yybm[0+yych] & 128) {
8831 		goto yy780;
8832 	}
8833 	if (yych <= '\f') {
8834 		if (yych <= 0x08) goto yy785;
8835 		if (yych <= '\n') goto yy783;
8836 	} else {
8837 		if (yych <= '\r') goto yy783;
8838 		if (yych == '#') goto yy786;
8839 	}
8840 yy785:
8841 	p = marker;
8842 	goto yy778;
8843 yy786:
8844 	yych = *++p;
8845 	if (yybm[0+yych] & 128) {
8846 		goto yy780;
8847 	}
8848 	if (yych <= '\f') {
8849 		if (yych <= 0x08) goto yy785;
8850 		if (yych <= '\n') goto yy783;
8851 		goto yy785;
8852 	} else {
8853 		if (yych <= '\r') goto yy783;
8854 		if (yych != '#') goto yy785;
8855 	}
8856 	yych = *++p;
8857 	if (yybm[0+yych] & 128) {
8858 		goto yy780;
8859 	}
8860 	if (yych <= '\f') {
8861 		if (yych <= 0x08) goto yy785;
8862 		if (yych <= '\n') goto yy783;
8863 		goto yy785;
8864 	} else {
8865 		if (yych <= '\r') goto yy783;
8866 		if (yych != '#') goto yy785;
8867 	}
8868 	yych = *++p;
8869 	if (yybm[0+yych] & 128) {
8870 		goto yy780;
8871 	}
8872 	if (yych <= '\f') {
8873 		if (yych <= 0x08) goto yy785;
8874 		if (yych <= '\n') goto yy783;
8875 		goto yy785;
8876 	} else {
8877 		if (yych <= '\r') goto yy783;
8878 		if (yych != '#') goto yy785;
8879 	}
8880 	yych = *++p;
8881 	if (yybm[0+yych] & 128) {
8882 		goto yy780;
8883 	}
8884 	if (yych <= 0x08) goto yy785;
8885 	if (yych <= '\n') goto yy783;
8886 	if (yych == '\r') goto yy783;
8887 	goto yy785;
8888 }
8889 
8890 }
8891 
8892 // Match setext heading line.  Return 1 for level-1 heading,
8893 // 2 for level-2, 0 for no match.
_scan_setext_heading_line(const unsigned char * p)8894 bufsize_t _scan_setext_heading_line(const unsigned char *p)
8895 {
8896   const unsigned char *marker = NULL;
8897 
8898 {
8899 	unsigned char yych;
8900 	static const unsigned char yybm[] = {
8901 		  0,   0,   0,   0,   0,   0,   0,   0,
8902 		  0,  32,   0,   0,   0,   0,   0,   0,
8903 		  0,   0,   0,   0,   0,   0,   0,   0,
8904 		  0,   0,   0,   0,   0,   0,   0,   0,
8905 		 32,   0,   0,   0,   0,   0,   0,   0,
8906 		  0,   0,   0,   0,   0,  64,   0,   0,
8907 		  0,   0,   0,   0,   0,   0,   0,   0,
8908 		  0,   0,   0,   0,   0, 128,   0,   0,
8909 		  0,   0,   0,   0,   0,   0,   0,   0,
8910 		  0,   0,   0,   0,   0,   0,   0,   0,
8911 		  0,   0,   0,   0,   0,   0,   0,   0,
8912 		  0,   0,   0,   0,   0,   0,   0,   0,
8913 		  0,   0,   0,   0,   0,   0,   0,   0,
8914 		  0,   0,   0,   0,   0,   0,   0,   0,
8915 		  0,   0,   0,   0,   0,   0,   0,   0,
8916 		  0,   0,   0,   0,   0,   0,   0,   0,
8917 		  0,   0,   0,   0,   0,   0,   0,   0,
8918 		  0,   0,   0,   0,   0,   0,   0,   0,
8919 		  0,   0,   0,   0,   0,   0,   0,   0,
8920 		  0,   0,   0,   0,   0,   0,   0,   0,
8921 		  0,   0,   0,   0,   0,   0,   0,   0,
8922 		  0,   0,   0,   0,   0,   0,   0,   0,
8923 		  0,   0,   0,   0,   0,   0,   0,   0,
8924 		  0,   0,   0,   0,   0,   0,   0,   0,
8925 		  0,   0,   0,   0,   0,   0,   0,   0,
8926 		  0,   0,   0,   0,   0,   0,   0,   0,
8927 		  0,   0,   0,   0,   0,   0,   0,   0,
8928 		  0,   0,   0,   0,   0,   0,   0,   0,
8929 		  0,   0,   0,   0,   0,   0,   0,   0,
8930 		  0,   0,   0,   0,   0,   0,   0,   0,
8931 		  0,   0,   0,   0,   0,   0,   0,   0,
8932 		  0,   0,   0,   0,   0,   0,   0,   0,
8933 	};
8934 	yych = *p;
8935 	if (yych == '-') goto yy794;
8936 	if (yych == '=') goto yy795;
8937 	++p;
8938 yy793:
8939 	{ return 0; }
8940 yy794:
8941 	yych = *(marker = ++p);
8942 	if (yybm[0+yych] & 64) {
8943 		goto yy801;
8944 	}
8945 	if (yych <= '\f') {
8946 		if (yych <= 0x08) goto yy793;
8947 		if (yych <= '\n') goto yy797;
8948 		goto yy793;
8949 	} else {
8950 		if (yych <= '\r') goto yy797;
8951 		if (yych == ' ') goto yy797;
8952 		goto yy793;
8953 	}
8954 yy795:
8955 	yych = *(marker = ++p);
8956 	if (yybm[0+yych] & 128) {
8957 		goto yy807;
8958 	}
8959 	if (yych <= '\f') {
8960 		if (yych <= 0x08) goto yy793;
8961 		if (yych <= '\n') goto yy804;
8962 		goto yy793;
8963 	} else {
8964 		if (yych <= '\r') goto yy804;
8965 		if (yych == ' ') goto yy804;
8966 		goto yy793;
8967 	}
8968 yy796:
8969 	yych = *++p;
8970 yy797:
8971 	if (yybm[0+yych] & 32) {
8972 		goto yy796;
8973 	}
8974 	if (yych <= 0x08) goto yy798;
8975 	if (yych <= '\n') goto yy799;
8976 	if (yych == '\r') goto yy799;
8977 yy798:
8978 	p = marker;
8979 	goto yy793;
8980 yy799:
8981 	++p;
8982 	{ return 2; }
8983 yy801:
8984 	yych = *++p;
8985 	if (yybm[0+yych] & 32) {
8986 		goto yy796;
8987 	}
8988 	if (yych <= '\f') {
8989 		if (yych <= 0x08) goto yy798;
8990 		if (yych <= '\n') goto yy799;
8991 		goto yy798;
8992 	} else {
8993 		if (yych <= '\r') goto yy799;
8994 		if (yych == '-') goto yy801;
8995 		goto yy798;
8996 	}
8997 yy803:
8998 	yych = *++p;
8999 yy804:
9000 	if (yych <= '\f') {
9001 		if (yych <= 0x08) goto yy798;
9002 		if (yych <= '\t') goto yy803;
9003 		if (yych >= '\v') goto yy798;
9004 	} else {
9005 		if (yych <= '\r') goto yy805;
9006 		if (yych == ' ') goto yy803;
9007 		goto yy798;
9008 	}
9009 yy805:
9010 	++p;
9011 	{ return 1; }
9012 yy807:
9013 	yych = *++p;
9014 	if (yybm[0+yych] & 128) {
9015 		goto yy807;
9016 	}
9017 	if (yych <= '\f') {
9018 		if (yych <= 0x08) goto yy798;
9019 		if (yych <= '\t') goto yy803;
9020 		if (yych <= '\n') goto yy805;
9021 		goto yy798;
9022 	} else {
9023 		if (yych <= '\r') goto yy805;
9024 		if (yych == ' ') goto yy803;
9025 		goto yy798;
9026 	}
9027 }
9028 
9029 }
9030 
9031 // Scan an opening code fence.
_scan_open_code_fence(const unsigned char * p)9032 bufsize_t _scan_open_code_fence(const unsigned char *p)
9033 {
9034   const unsigned char *marker = NULL;
9035   const unsigned char *start = p;
9036 
9037 {
9038 	unsigned char yych;
9039 	static const unsigned char yybm[] = {
9040 		  0, 192, 192, 192, 192, 192, 192, 192,
9041 		192, 192,   0, 192, 192,   0, 192, 192,
9042 		192, 192, 192, 192, 192, 192, 192, 192,
9043 		192, 192, 192, 192, 192, 192, 192, 192,
9044 		192, 192, 192, 192, 192, 192, 192, 192,
9045 		192, 192, 192, 192, 192, 192, 192, 192,
9046 		192, 192, 192, 192, 192, 192, 192, 192,
9047 		192, 192, 192, 192, 192, 192, 192, 192,
9048 		192, 192, 192, 192, 192, 192, 192, 192,
9049 		192, 192, 192, 192, 192, 192, 192, 192,
9050 		192, 192, 192, 192, 192, 192, 192, 192,
9051 		192, 192, 192, 192, 192, 192, 192, 192,
9052 		144, 192, 192, 192, 192, 192, 192, 192,
9053 		192, 192, 192, 192, 192, 192, 192, 192,
9054 		192, 192, 192, 192, 192, 192, 192, 192,
9055 		192, 192, 192, 192, 192, 192, 224, 192,
9056 		  0,   0,   0,   0,   0,   0,   0,   0,
9057 		  0,   0,   0,   0,   0,   0,   0,   0,
9058 		  0,   0,   0,   0,   0,   0,   0,   0,
9059 		  0,   0,   0,   0,   0,   0,   0,   0,
9060 		  0,   0,   0,   0,   0,   0,   0,   0,
9061 		  0,   0,   0,   0,   0,   0,   0,   0,
9062 		  0,   0,   0,   0,   0,   0,   0,   0,
9063 		  0,   0,   0,   0,   0,   0,   0,   0,
9064 		  0,   0,   0,   0,   0,   0,   0,   0,
9065 		  0,   0,   0,   0,   0,   0,   0,   0,
9066 		  0,   0,   0,   0,   0,   0,   0,   0,
9067 		  0,   0,   0,   0,   0,   0,   0,   0,
9068 		  0,   0,   0,   0,   0,   0,   0,   0,
9069 		  0,   0,   0,   0,   0,   0,   0,   0,
9070 		  0,   0,   0,   0,   0,   0,   0,   0,
9071 		  0,   0,   0,   0,   0,   0,   0,   0,
9072 	};
9073 	yych = *p;
9074 	if (yych == '`') goto yy813;
9075 	if (yych == '~') goto yy814;
9076 	++p;
9077 yy812:
9078 	{ return 0; }
9079 yy813:
9080 	yych = *(marker = ++p);
9081 	if (yych == '`') goto yy815;
9082 	goto yy812;
9083 yy814:
9084 	yych = *(marker = ++p);
9085 	if (yych == '~') goto yy817;
9086 	goto yy812;
9087 yy815:
9088 	yych = *++p;
9089 	if (yybm[0+yych] & 16) {
9090 		goto yy818;
9091 	}
9092 yy816:
9093 	p = marker;
9094 	goto yy812;
9095 yy817:
9096 	yych = *++p;
9097 	if (yybm[0+yych] & 32) {
9098 		goto yy820;
9099 	}
9100 	goto yy816;
9101 yy818:
9102 	yych = *++p;
9103 	if (yybm[0+yych] & 16) {
9104 		goto yy818;
9105 	}
9106 	if (yych <= 0xDF) {
9107 		if (yych <= '\f') {
9108 			if (yych <= 0x00) goto yy816;
9109 			if (yych == '\n') {
9110 				marker = p;
9111 				goto yy824;
9112 			}
9113 			marker = p;
9114 			goto yy822;
9115 		} else {
9116 			if (yych <= '\r') {
9117 				marker = p;
9118 				goto yy824;
9119 			}
9120 			if (yych <= 0x7F) {
9121 				marker = p;
9122 				goto yy822;
9123 			}
9124 			if (yych <= 0xC1) goto yy816;
9125 			marker = p;
9126 			goto yy826;
9127 		}
9128 	} else {
9129 		if (yych <= 0xEF) {
9130 			if (yych <= 0xE0) {
9131 				marker = p;
9132 				goto yy827;
9133 			}
9134 			if (yych == 0xED) {
9135 				marker = p;
9136 				goto yy829;
9137 			}
9138 			marker = p;
9139 			goto yy828;
9140 		} else {
9141 			if (yych <= 0xF0) {
9142 				marker = p;
9143 				goto yy830;
9144 			}
9145 			if (yych <= 0xF3) {
9146 				marker = p;
9147 				goto yy831;
9148 			}
9149 			if (yych <= 0xF4) {
9150 				marker = p;
9151 				goto yy832;
9152 			}
9153 			goto yy816;
9154 		}
9155 	}
9156 yy820:
9157 	yych = *++p;
9158 	if (yybm[0+yych] & 32) {
9159 		goto yy820;
9160 	}
9161 	if (yych <= 0xDF) {
9162 		if (yych <= '\f') {
9163 			if (yych <= 0x00) goto yy816;
9164 			if (yych == '\n') {
9165 				marker = p;
9166 				goto yy835;
9167 			}
9168 			marker = p;
9169 			goto yy833;
9170 		} else {
9171 			if (yych <= '\r') {
9172 				marker = p;
9173 				goto yy835;
9174 			}
9175 			if (yych <= 0x7F) {
9176 				marker = p;
9177 				goto yy833;
9178 			}
9179 			if (yych <= 0xC1) goto yy816;
9180 			marker = p;
9181 			goto yy837;
9182 		}
9183 	} else {
9184 		if (yych <= 0xEF) {
9185 			if (yych <= 0xE0) {
9186 				marker = p;
9187 				goto yy838;
9188 			}
9189 			if (yych == 0xED) {
9190 				marker = p;
9191 				goto yy840;
9192 			}
9193 			marker = p;
9194 			goto yy839;
9195 		} else {
9196 			if (yych <= 0xF0) {
9197 				marker = p;
9198 				goto yy841;
9199 			}
9200 			if (yych <= 0xF3) {
9201 				marker = p;
9202 				goto yy842;
9203 			}
9204 			if (yych <= 0xF4) {
9205 				marker = p;
9206 				goto yy843;
9207 			}
9208 			goto yy816;
9209 		}
9210 	}
9211 yy822:
9212 	yych = *++p;
9213 	if (yybm[0+yych] & 64) {
9214 		goto yy822;
9215 	}
9216 	if (yych <= 0xEC) {
9217 		if (yych <= 0xC1) {
9218 			if (yych <= 0x00) goto yy816;
9219 			if (yych >= 0x0E) goto yy816;
9220 		} else {
9221 			if (yych <= 0xDF) goto yy826;
9222 			if (yych <= 0xE0) goto yy827;
9223 			goto yy828;
9224 		}
9225 	} else {
9226 		if (yych <= 0xF0) {
9227 			if (yych <= 0xED) goto yy829;
9228 			if (yych <= 0xEF) goto yy828;
9229 			goto yy830;
9230 		} else {
9231 			if (yych <= 0xF3) goto yy831;
9232 			if (yych <= 0xF4) goto yy832;
9233 			goto yy816;
9234 		}
9235 	}
9236 yy824:
9237 	++p;
9238 	p = marker;
9239 	{ return (bufsize_t)(p - start); }
9240 yy826:
9241 	yych = *++p;
9242 	if (yych <= 0x7F) goto yy816;
9243 	if (yych <= 0xBF) goto yy822;
9244 	goto yy816;
9245 yy827:
9246 	yych = *++p;
9247 	if (yych <= 0x9F) goto yy816;
9248 	if (yych <= 0xBF) goto yy826;
9249 	goto yy816;
9250 yy828:
9251 	yych = *++p;
9252 	if (yych <= 0x7F) goto yy816;
9253 	if (yych <= 0xBF) goto yy826;
9254 	goto yy816;
9255 yy829:
9256 	yych = *++p;
9257 	if (yych <= 0x7F) goto yy816;
9258 	if (yych <= 0x9F) goto yy826;
9259 	goto yy816;
9260 yy830:
9261 	yych = *++p;
9262 	if (yych <= 0x8F) goto yy816;
9263 	if (yych <= 0xBF) goto yy828;
9264 	goto yy816;
9265 yy831:
9266 	yych = *++p;
9267 	if (yych <= 0x7F) goto yy816;
9268 	if (yych <= 0xBF) goto yy828;
9269 	goto yy816;
9270 yy832:
9271 	yych = *++p;
9272 	if (yych <= 0x7F) goto yy816;
9273 	if (yych <= 0x8F) goto yy828;
9274 	goto yy816;
9275 yy833:
9276 	yych = *++p;
9277 	if (yybm[0+yych] & 128) {
9278 		goto yy833;
9279 	}
9280 	if (yych <= 0xEC) {
9281 		if (yych <= 0xC1) {
9282 			if (yych <= 0x00) goto yy816;
9283 			if (yych >= 0x0E) goto yy816;
9284 		} else {
9285 			if (yych <= 0xDF) goto yy837;
9286 			if (yych <= 0xE0) goto yy838;
9287 			goto yy839;
9288 		}
9289 	} else {
9290 		if (yych <= 0xF0) {
9291 			if (yych <= 0xED) goto yy840;
9292 			if (yych <= 0xEF) goto yy839;
9293 			goto yy841;
9294 		} else {
9295 			if (yych <= 0xF3) goto yy842;
9296 			if (yych <= 0xF4) goto yy843;
9297 			goto yy816;
9298 		}
9299 	}
9300 yy835:
9301 	++p;
9302 	p = marker;
9303 	{ return (bufsize_t)(p - start); }
9304 yy837:
9305 	yych = *++p;
9306 	if (yych <= 0x7F) goto yy816;
9307 	if (yych <= 0xBF) goto yy833;
9308 	goto yy816;
9309 yy838:
9310 	yych = *++p;
9311 	if (yych <= 0x9F) goto yy816;
9312 	if (yych <= 0xBF) goto yy837;
9313 	goto yy816;
9314 yy839:
9315 	yych = *++p;
9316 	if (yych <= 0x7F) goto yy816;
9317 	if (yych <= 0xBF) goto yy837;
9318 	goto yy816;
9319 yy840:
9320 	yych = *++p;
9321 	if (yych <= 0x7F) goto yy816;
9322 	if (yych <= 0x9F) goto yy837;
9323 	goto yy816;
9324 yy841:
9325 	yych = *++p;
9326 	if (yych <= 0x8F) goto yy816;
9327 	if (yych <= 0xBF) goto yy839;
9328 	goto yy816;
9329 yy842:
9330 	yych = *++p;
9331 	if (yych <= 0x7F) goto yy816;
9332 	if (yych <= 0xBF) goto yy839;
9333 	goto yy816;
9334 yy843:
9335 	yych = *++p;
9336 	if (yych <= 0x7F) goto yy816;
9337 	if (yych <= 0x8F) goto yy839;
9338 	goto yy816;
9339 }
9340 
9341 }
9342 
9343 // Scan a closing code fence with length at least len.
_scan_close_code_fence(const unsigned char * p)9344 bufsize_t _scan_close_code_fence(const unsigned char *p)
9345 {
9346   const unsigned char *marker = NULL;
9347   const unsigned char *start = p;
9348 
9349 {
9350 	unsigned char yych;
9351 	static const unsigned char yybm[] = {
9352 		  0,   0,   0,   0,   0,   0,   0,   0,
9353 		  0, 128,   0,   0,   0,   0,   0,   0,
9354 		  0,   0,   0,   0,   0,   0,   0,   0,
9355 		  0,   0,   0,   0,   0,   0,   0,   0,
9356 		128,   0,   0,   0,   0,   0,   0,   0,
9357 		  0,   0,   0,   0,   0,   0,   0,   0,
9358 		  0,   0,   0,   0,   0,   0,   0,   0,
9359 		  0,   0,   0,   0,   0,   0,   0,   0,
9360 		  0,   0,   0,   0,   0,   0,   0,   0,
9361 		  0,   0,   0,   0,   0,   0,   0,   0,
9362 		  0,   0,   0,   0,   0,   0,   0,   0,
9363 		  0,   0,   0,   0,   0,   0,   0,   0,
9364 		 32,   0,   0,   0,   0,   0,   0,   0,
9365 		  0,   0,   0,   0,   0,   0,   0,   0,
9366 		  0,   0,   0,   0,   0,   0,   0,   0,
9367 		  0,   0,   0,   0,   0,   0,  64,   0,
9368 		  0,   0,   0,   0,   0,   0,   0,   0,
9369 		  0,   0,   0,   0,   0,   0,   0,   0,
9370 		  0,   0,   0,   0,   0,   0,   0,   0,
9371 		  0,   0,   0,   0,   0,   0,   0,   0,
9372 		  0,   0,   0,   0,   0,   0,   0,   0,
9373 		  0,   0,   0,   0,   0,   0,   0,   0,
9374 		  0,   0,   0,   0,   0,   0,   0,   0,
9375 		  0,   0,   0,   0,   0,   0,   0,   0,
9376 		  0,   0,   0,   0,   0,   0,   0,   0,
9377 		  0,   0,   0,   0,   0,   0,   0,   0,
9378 		  0,   0,   0,   0,   0,   0,   0,   0,
9379 		  0,   0,   0,   0,   0,   0,   0,   0,
9380 		  0,   0,   0,   0,   0,   0,   0,   0,
9381 		  0,   0,   0,   0,   0,   0,   0,   0,
9382 		  0,   0,   0,   0,   0,   0,   0,   0,
9383 		  0,   0,   0,   0,   0,   0,   0,   0,
9384 	};
9385 	yych = *p;
9386 	if (yych == '`') goto yy848;
9387 	if (yych == '~') goto yy849;
9388 	++p;
9389 yy847:
9390 	{ return 0; }
9391 yy848:
9392 	yych = *(marker = ++p);
9393 	if (yych == '`') goto yy850;
9394 	goto yy847;
9395 yy849:
9396 	yych = *(marker = ++p);
9397 	if (yych == '~') goto yy852;
9398 	goto yy847;
9399 yy850:
9400 	yych = *++p;
9401 	if (yybm[0+yych] & 32) {
9402 		goto yy853;
9403 	}
9404 yy851:
9405 	p = marker;
9406 	goto yy847;
9407 yy852:
9408 	yych = *++p;
9409 	if (yybm[0+yych] & 64) {
9410 		goto yy855;
9411 	}
9412 	goto yy851;
9413 yy853:
9414 	yych = *++p;
9415 	if (yybm[0+yych] & 32) {
9416 		goto yy853;
9417 	}
9418 	if (yych <= '\f') {
9419 		if (yych <= 0x08) goto yy851;
9420 		if (yych <= '\t') {
9421 			marker = p;
9422 			goto yy857;
9423 		}
9424 		if (yych <= '\n') {
9425 			marker = p;
9426 			goto yy859;
9427 		}
9428 		goto yy851;
9429 	} else {
9430 		if (yych <= '\r') {
9431 			marker = p;
9432 			goto yy859;
9433 		}
9434 		if (yych == ' ') {
9435 			marker = p;
9436 			goto yy857;
9437 		}
9438 		goto yy851;
9439 	}
9440 yy855:
9441 	yych = *++p;
9442 	if (yybm[0+yych] & 64) {
9443 		goto yy855;
9444 	}
9445 	if (yych <= '\f') {
9446 		if (yych <= 0x08) goto yy851;
9447 		if (yych <= '\t') {
9448 			marker = p;
9449 			goto yy861;
9450 		}
9451 		if (yych <= '\n') {
9452 			marker = p;
9453 			goto yy863;
9454 		}
9455 		goto yy851;
9456 	} else {
9457 		if (yych <= '\r') {
9458 			marker = p;
9459 			goto yy863;
9460 		}
9461 		if (yych == ' ') {
9462 			marker = p;
9463 			goto yy861;
9464 		}
9465 		goto yy851;
9466 	}
9467 yy857:
9468 	yych = *++p;
9469 	if (yybm[0+yych] & 128) {
9470 		goto yy857;
9471 	}
9472 	if (yych <= 0x08) goto yy851;
9473 	if (yych <= '\n') goto yy859;
9474 	if (yych != '\r') goto yy851;
9475 yy859:
9476 	++p;
9477 	p = marker;
9478 	{ return (bufsize_t)(p - start); }
9479 yy861:
9480 	yych = *++p;
9481 	if (yych <= '\f') {
9482 		if (yych <= 0x08) goto yy851;
9483 		if (yych <= '\t') goto yy861;
9484 		if (yych >= '\v') goto yy851;
9485 	} else {
9486 		if (yych <= '\r') goto yy863;
9487 		if (yych == ' ') goto yy861;
9488 		goto yy851;
9489 	}
9490 yy863:
9491 	++p;
9492 	p = marker;
9493 	{ return (bufsize_t)(p - start); }
9494 }
9495 
9496 }
9497 
9498 // Scans an entity.
9499 // Returns number of chars matched.
_scan_entity(const unsigned char * p)9500 bufsize_t _scan_entity(const unsigned char *p)
9501 {
9502   const unsigned char *marker = NULL;
9503   const unsigned char *start = p;
9504 
9505 {
9506 	unsigned char yych;
9507 	yych = *p;
9508 	if (yych == '&') goto yy869;
9509 	++p;
9510 yy868:
9511 	{ return 0; }
9512 yy869:
9513 	yych = *(marker = ++p);
9514 	if (yych <= '@') {
9515 		if (yych != '#') goto yy868;
9516 	} else {
9517 		if (yych <= 'Z') goto yy872;
9518 		if (yych <= '`') goto yy868;
9519 		if (yych <= 'z') goto yy872;
9520 		goto yy868;
9521 	}
9522 	yych = *++p;
9523 	if (yych <= 'W') {
9524 		if (yych <= '/') goto yy871;
9525 		if (yych <= '9') goto yy873;
9526 	} else {
9527 		if (yych <= 'X') goto yy874;
9528 		if (yych == 'x') goto yy874;
9529 	}
9530 yy871:
9531 	p = marker;
9532 	goto yy868;
9533 yy872:
9534 	yych = *++p;
9535 	if (yych <= '@') {
9536 		if (yych <= '/') goto yy871;
9537 		if (yych <= '9') goto yy875;
9538 		goto yy871;
9539 	} else {
9540 		if (yych <= 'Z') goto yy875;
9541 		if (yych <= '`') goto yy871;
9542 		if (yych <= 'z') goto yy875;
9543 		goto yy871;
9544 	}
9545 yy873:
9546 	yych = *++p;
9547 	if (yych <= '/') goto yy871;
9548 	if (yych <= '9') goto yy876;
9549 	if (yych == ';') goto yy877;
9550 	goto yy871;
9551 yy874:
9552 	yych = *++p;
9553 	if (yych <= '@') {
9554 		if (yych <= '/') goto yy871;
9555 		if (yych <= '9') goto yy879;
9556 		goto yy871;
9557 	} else {
9558 		if (yych <= 'F') goto yy879;
9559 		if (yych <= '`') goto yy871;
9560 		if (yych <= 'f') goto yy879;
9561 		goto yy871;
9562 	}
9563 yy875:
9564 	yych = *++p;
9565 	if (yych <= ';') {
9566 		if (yych <= '/') goto yy871;
9567 		if (yych <= '9') goto yy880;
9568 		if (yych <= ':') goto yy871;
9569 		goto yy877;
9570 	} else {
9571 		if (yych <= 'Z') {
9572 			if (yych <= '@') goto yy871;
9573 			goto yy880;
9574 		} else {
9575 			if (yych <= '`') goto yy871;
9576 			if (yych <= 'z') goto yy880;
9577 			goto yy871;
9578 		}
9579 	}
9580 yy876:
9581 	yych = *++p;
9582 	if (yych <= '/') goto yy871;
9583 	if (yych <= '9') goto yy881;
9584 	if (yych != ';') goto yy871;
9585 yy877:
9586 	++p;
9587 	{ return (bufsize_t)(p - start); }
9588 yy879:
9589 	yych = *++p;
9590 	if (yych <= ';') {
9591 		if (yych <= '/') goto yy871;
9592 		if (yych <= '9') goto yy882;
9593 		if (yych <= ':') goto yy871;
9594 		goto yy877;
9595 	} else {
9596 		if (yych <= 'F') {
9597 			if (yych <= '@') goto yy871;
9598 			goto yy882;
9599 		} else {
9600 			if (yych <= '`') goto yy871;
9601 			if (yych <= 'f') goto yy882;
9602 			goto yy871;
9603 		}
9604 	}
9605 yy880:
9606 	yych = *++p;
9607 	if (yych <= ';') {
9608 		if (yych <= '/') goto yy871;
9609 		if (yych <= '9') goto yy883;
9610 		if (yych <= ':') goto yy871;
9611 		goto yy877;
9612 	} else {
9613 		if (yych <= 'Z') {
9614 			if (yych <= '@') goto yy871;
9615 			goto yy883;
9616 		} else {
9617 			if (yych <= '`') goto yy871;
9618 			if (yych <= 'z') goto yy883;
9619 			goto yy871;
9620 		}
9621 	}
9622 yy881:
9623 	yych = *++p;
9624 	if (yych <= '/') goto yy871;
9625 	if (yych <= '9') goto yy884;
9626 	if (yych == ';') goto yy877;
9627 	goto yy871;
9628 yy882:
9629 	yych = *++p;
9630 	if (yych <= ';') {
9631 		if (yych <= '/') goto yy871;
9632 		if (yych <= '9') goto yy885;
9633 		if (yych <= ':') goto yy871;
9634 		goto yy877;
9635 	} else {
9636 		if (yych <= 'F') {
9637 			if (yych <= '@') goto yy871;
9638 			goto yy885;
9639 		} else {
9640 			if (yych <= '`') goto yy871;
9641 			if (yych <= 'f') goto yy885;
9642 			goto yy871;
9643 		}
9644 	}
9645 yy883:
9646 	yych = *++p;
9647 	if (yych <= ';') {
9648 		if (yych <= '/') goto yy871;
9649 		if (yych <= '9') goto yy886;
9650 		if (yych <= ':') goto yy871;
9651 		goto yy877;
9652 	} else {
9653 		if (yych <= 'Z') {
9654 			if (yych <= '@') goto yy871;
9655 			goto yy886;
9656 		} else {
9657 			if (yych <= '`') goto yy871;
9658 			if (yych <= 'z') goto yy886;
9659 			goto yy871;
9660 		}
9661 	}
9662 yy884:
9663 	yych = *++p;
9664 	if (yych <= '/') goto yy871;
9665 	if (yych <= '9') goto yy887;
9666 	if (yych == ';') goto yy877;
9667 	goto yy871;
9668 yy885:
9669 	yych = *++p;
9670 	if (yych <= ';') {
9671 		if (yych <= '/') goto yy871;
9672 		if (yych <= '9') goto yy888;
9673 		if (yych <= ':') goto yy871;
9674 		goto yy877;
9675 	} else {
9676 		if (yych <= 'F') {
9677 			if (yych <= '@') goto yy871;
9678 			goto yy888;
9679 		} else {
9680 			if (yych <= '`') goto yy871;
9681 			if (yych <= 'f') goto yy888;
9682 			goto yy871;
9683 		}
9684 	}
9685 yy886:
9686 	yych = *++p;
9687 	if (yych <= ';') {
9688 		if (yych <= '/') goto yy871;
9689 		if (yych <= '9') goto yy889;
9690 		if (yych <= ':') goto yy871;
9691 		goto yy877;
9692 	} else {
9693 		if (yych <= 'Z') {
9694 			if (yych <= '@') goto yy871;
9695 			goto yy889;
9696 		} else {
9697 			if (yych <= '`') goto yy871;
9698 			if (yych <= 'z') goto yy889;
9699 			goto yy871;
9700 		}
9701 	}
9702 yy887:
9703 	yych = *++p;
9704 	if (yych <= '/') goto yy871;
9705 	if (yych <= '9') goto yy890;
9706 	if (yych == ';') goto yy877;
9707 	goto yy871;
9708 yy888:
9709 	yych = *++p;
9710 	if (yych <= ';') {
9711 		if (yych <= '/') goto yy871;
9712 		if (yych <= '9') goto yy891;
9713 		if (yych <= ':') goto yy871;
9714 		goto yy877;
9715 	} else {
9716 		if (yych <= 'F') {
9717 			if (yych <= '@') goto yy871;
9718 			goto yy891;
9719 		} else {
9720 			if (yych <= '`') goto yy871;
9721 			if (yych <= 'f') goto yy891;
9722 			goto yy871;
9723 		}
9724 	}
9725 yy889:
9726 	yych = *++p;
9727 	if (yych <= ';') {
9728 		if (yych <= '/') goto yy871;
9729 		if (yych <= '9') goto yy892;
9730 		if (yych <= ':') goto yy871;
9731 		goto yy877;
9732 	} else {
9733 		if (yych <= 'Z') {
9734 			if (yych <= '@') goto yy871;
9735 			goto yy892;
9736 		} else {
9737 			if (yych <= '`') goto yy871;
9738 			if (yych <= 'z') goto yy892;
9739 			goto yy871;
9740 		}
9741 	}
9742 yy890:
9743 	yych = *++p;
9744 	if (yych <= '/') goto yy871;
9745 	if (yych <= '9') goto yy893;
9746 	if (yych == ';') goto yy877;
9747 	goto yy871;
9748 yy891:
9749 	yych = *++p;
9750 	if (yych <= ';') {
9751 		if (yych <= '/') goto yy871;
9752 		if (yych <= '9') goto yy893;
9753 		if (yych <= ':') goto yy871;
9754 		goto yy877;
9755 	} else {
9756 		if (yych <= 'F') {
9757 			if (yych <= '@') goto yy871;
9758 			goto yy893;
9759 		} else {
9760 			if (yych <= '`') goto yy871;
9761 			if (yych <= 'f') goto yy893;
9762 			goto yy871;
9763 		}
9764 	}
9765 yy892:
9766 	yych = *++p;
9767 	if (yych <= ';') {
9768 		if (yych <= '/') goto yy871;
9769 		if (yych <= '9') goto yy894;
9770 		if (yych <= ':') goto yy871;
9771 		goto yy877;
9772 	} else {
9773 		if (yych <= 'Z') {
9774 			if (yych <= '@') goto yy871;
9775 			goto yy894;
9776 		} else {
9777 			if (yych <= '`') goto yy871;
9778 			if (yych <= 'z') goto yy894;
9779 			goto yy871;
9780 		}
9781 	}
9782 yy893:
9783 	yych = *++p;
9784 	if (yych == ';') goto yy877;
9785 	goto yy871;
9786 yy894:
9787 	yych = *++p;
9788 	if (yych <= ';') {
9789 		if (yych <= '/') goto yy871;
9790 		if (yych <= '9') goto yy895;
9791 		if (yych <= ':') goto yy871;
9792 		goto yy877;
9793 	} else {
9794 		if (yych <= 'Z') {
9795 			if (yych <= '@') goto yy871;
9796 		} else {
9797 			if (yych <= '`') goto yy871;
9798 			if (yych >= '{') goto yy871;
9799 		}
9800 	}
9801 yy895:
9802 	yych = *++p;
9803 	if (yych <= ';') {
9804 		if (yych <= '/') goto yy871;
9805 		if (yych <= '9') goto yy896;
9806 		if (yych <= ':') goto yy871;
9807 		goto yy877;
9808 	} else {
9809 		if (yych <= 'Z') {
9810 			if (yych <= '@') goto yy871;
9811 		} else {
9812 			if (yych <= '`') goto yy871;
9813 			if (yych >= '{') goto yy871;
9814 		}
9815 	}
9816 yy896:
9817 	yych = *++p;
9818 	if (yych <= ';') {
9819 		if (yych <= '/') goto yy871;
9820 		if (yych <= '9') goto yy897;
9821 		if (yych <= ':') goto yy871;
9822 		goto yy877;
9823 	} else {
9824 		if (yych <= 'Z') {
9825 			if (yych <= '@') goto yy871;
9826 		} else {
9827 			if (yych <= '`') goto yy871;
9828 			if (yych >= '{') goto yy871;
9829 		}
9830 	}
9831 yy897:
9832 	yych = *++p;
9833 	if (yych <= ';') {
9834 		if (yych <= '/') goto yy871;
9835 		if (yych <= '9') goto yy898;
9836 		if (yych <= ':') goto yy871;
9837 		goto yy877;
9838 	} else {
9839 		if (yych <= 'Z') {
9840 			if (yych <= '@') goto yy871;
9841 		} else {
9842 			if (yych <= '`') goto yy871;
9843 			if (yych >= '{') goto yy871;
9844 		}
9845 	}
9846 yy898:
9847 	yych = *++p;
9848 	if (yych <= ';') {
9849 		if (yych <= '/') goto yy871;
9850 		if (yych <= '9') goto yy899;
9851 		if (yych <= ':') goto yy871;
9852 		goto yy877;
9853 	} else {
9854 		if (yych <= 'Z') {
9855 			if (yych <= '@') goto yy871;
9856 		} else {
9857 			if (yych <= '`') goto yy871;
9858 			if (yych >= '{') goto yy871;
9859 		}
9860 	}
9861 yy899:
9862 	yych = *++p;
9863 	if (yych <= ';') {
9864 		if (yych <= '/') goto yy871;
9865 		if (yych <= '9') goto yy900;
9866 		if (yych <= ':') goto yy871;
9867 		goto yy877;
9868 	} else {
9869 		if (yych <= 'Z') {
9870 			if (yych <= '@') goto yy871;
9871 		} else {
9872 			if (yych <= '`') goto yy871;
9873 			if (yych >= '{') goto yy871;
9874 		}
9875 	}
9876 yy900:
9877 	yych = *++p;
9878 	if (yych <= ';') {
9879 		if (yych <= '/') goto yy871;
9880 		if (yych <= '9') goto yy901;
9881 		if (yych <= ':') goto yy871;
9882 		goto yy877;
9883 	} else {
9884 		if (yych <= 'Z') {
9885 			if (yych <= '@') goto yy871;
9886 		} else {
9887 			if (yych <= '`') goto yy871;
9888 			if (yych >= '{') goto yy871;
9889 		}
9890 	}
9891 yy901:
9892 	yych = *++p;
9893 	if (yych <= ';') {
9894 		if (yych <= '/') goto yy871;
9895 		if (yych <= '9') goto yy902;
9896 		if (yych <= ':') goto yy871;
9897 		goto yy877;
9898 	} else {
9899 		if (yych <= 'Z') {
9900 			if (yych <= '@') goto yy871;
9901 		} else {
9902 			if (yych <= '`') goto yy871;
9903 			if (yych >= '{') goto yy871;
9904 		}
9905 	}
9906 yy902:
9907 	yych = *++p;
9908 	if (yych <= ';') {
9909 		if (yych <= '/') goto yy871;
9910 		if (yych <= '9') goto yy903;
9911 		if (yych <= ':') goto yy871;
9912 		goto yy877;
9913 	} else {
9914 		if (yych <= 'Z') {
9915 			if (yych <= '@') goto yy871;
9916 		} else {
9917 			if (yych <= '`') goto yy871;
9918 			if (yych >= '{') goto yy871;
9919 		}
9920 	}
9921 yy903:
9922 	yych = *++p;
9923 	if (yych <= ';') {
9924 		if (yych <= '/') goto yy871;
9925 		if (yych <= '9') goto yy904;
9926 		if (yych <= ':') goto yy871;
9927 		goto yy877;
9928 	} else {
9929 		if (yych <= 'Z') {
9930 			if (yych <= '@') goto yy871;
9931 		} else {
9932 			if (yych <= '`') goto yy871;
9933 			if (yych >= '{') goto yy871;
9934 		}
9935 	}
9936 yy904:
9937 	yych = *++p;
9938 	if (yych <= ';') {
9939 		if (yych <= '/') goto yy871;
9940 		if (yych <= '9') goto yy905;
9941 		if (yych <= ':') goto yy871;
9942 		goto yy877;
9943 	} else {
9944 		if (yych <= 'Z') {
9945 			if (yych <= '@') goto yy871;
9946 		} else {
9947 			if (yych <= '`') goto yy871;
9948 			if (yych >= '{') goto yy871;
9949 		}
9950 	}
9951 yy905:
9952 	yych = *++p;
9953 	if (yych <= ';') {
9954 		if (yych <= '/') goto yy871;
9955 		if (yych <= '9') goto yy906;
9956 		if (yych <= ':') goto yy871;
9957 		goto yy877;
9958 	} else {
9959 		if (yych <= 'Z') {
9960 			if (yych <= '@') goto yy871;
9961 		} else {
9962 			if (yych <= '`') goto yy871;
9963 			if (yych >= '{') goto yy871;
9964 		}
9965 	}
9966 yy906:
9967 	yych = *++p;
9968 	if (yych <= ';') {
9969 		if (yych <= '/') goto yy871;
9970 		if (yych <= '9') goto yy907;
9971 		if (yych <= ':') goto yy871;
9972 		goto yy877;
9973 	} else {
9974 		if (yych <= 'Z') {
9975 			if (yych <= '@') goto yy871;
9976 		} else {
9977 			if (yych <= '`') goto yy871;
9978 			if (yych >= '{') goto yy871;
9979 		}
9980 	}
9981 yy907:
9982 	yych = *++p;
9983 	if (yych <= ';') {
9984 		if (yych <= '/') goto yy871;
9985 		if (yych <= '9') goto yy908;
9986 		if (yych <= ':') goto yy871;
9987 		goto yy877;
9988 	} else {
9989 		if (yych <= 'Z') {
9990 			if (yych <= '@') goto yy871;
9991 		} else {
9992 			if (yych <= '`') goto yy871;
9993 			if (yych >= '{') goto yy871;
9994 		}
9995 	}
9996 yy908:
9997 	yych = *++p;
9998 	if (yych <= ';') {
9999 		if (yych <= '/') goto yy871;
10000 		if (yych <= '9') goto yy909;
10001 		if (yych <= ':') goto yy871;
10002 		goto yy877;
10003 	} else {
10004 		if (yych <= 'Z') {
10005 			if (yych <= '@') goto yy871;
10006 		} else {
10007 			if (yych <= '`') goto yy871;
10008 			if (yych >= '{') goto yy871;
10009 		}
10010 	}
10011 yy909:
10012 	yych = *++p;
10013 	if (yych <= ';') {
10014 		if (yych <= '/') goto yy871;
10015 		if (yych <= '9') goto yy910;
10016 		if (yych <= ':') goto yy871;
10017 		goto yy877;
10018 	} else {
10019 		if (yych <= 'Z') {
10020 			if (yych <= '@') goto yy871;
10021 		} else {
10022 			if (yych <= '`') goto yy871;
10023 			if (yych >= '{') goto yy871;
10024 		}
10025 	}
10026 yy910:
10027 	yych = *++p;
10028 	if (yych <= ';') {
10029 		if (yych <= '/') goto yy871;
10030 		if (yych <= '9') goto yy911;
10031 		if (yych <= ':') goto yy871;
10032 		goto yy877;
10033 	} else {
10034 		if (yych <= 'Z') {
10035 			if (yych <= '@') goto yy871;
10036 		} else {
10037 			if (yych <= '`') goto yy871;
10038 			if (yych >= '{') goto yy871;
10039 		}
10040 	}
10041 yy911:
10042 	yych = *++p;
10043 	if (yych <= ';') {
10044 		if (yych <= '/') goto yy871;
10045 		if (yych <= '9') goto yy912;
10046 		if (yych <= ':') goto yy871;
10047 		goto yy877;
10048 	} else {
10049 		if (yych <= 'Z') {
10050 			if (yych <= '@') goto yy871;
10051 		} else {
10052 			if (yych <= '`') goto yy871;
10053 			if (yych >= '{') goto yy871;
10054 		}
10055 	}
10056 yy912:
10057 	yych = *++p;
10058 	if (yych <= ';') {
10059 		if (yych <= '/') goto yy871;
10060 		if (yych <= '9') goto yy913;
10061 		if (yych <= ':') goto yy871;
10062 		goto yy877;
10063 	} else {
10064 		if (yych <= 'Z') {
10065 			if (yych <= '@') goto yy871;
10066 		} else {
10067 			if (yych <= '`') goto yy871;
10068 			if (yych >= '{') goto yy871;
10069 		}
10070 	}
10071 yy913:
10072 	yych = *++p;
10073 	if (yych <= ';') {
10074 		if (yych <= '/') goto yy871;
10075 		if (yych <= '9') goto yy914;
10076 		if (yych <= ':') goto yy871;
10077 		goto yy877;
10078 	} else {
10079 		if (yych <= 'Z') {
10080 			if (yych <= '@') goto yy871;
10081 		} else {
10082 			if (yych <= '`') goto yy871;
10083 			if (yych >= '{') goto yy871;
10084 		}
10085 	}
10086 yy914:
10087 	yych = *++p;
10088 	if (yych <= ';') {
10089 		if (yych <= '/') goto yy871;
10090 		if (yych <= '9') goto yy915;
10091 		if (yych <= ':') goto yy871;
10092 		goto yy877;
10093 	} else {
10094 		if (yych <= 'Z') {
10095 			if (yych <= '@') goto yy871;
10096 		} else {
10097 			if (yych <= '`') goto yy871;
10098 			if (yych >= '{') goto yy871;
10099 		}
10100 	}
10101 yy915:
10102 	yych = *++p;
10103 	if (yych <= ';') {
10104 		if (yych <= '/') goto yy871;
10105 		if (yych <= '9') goto yy916;
10106 		if (yych <= ':') goto yy871;
10107 		goto yy877;
10108 	} else {
10109 		if (yych <= 'Z') {
10110 			if (yych <= '@') goto yy871;
10111 		} else {
10112 			if (yych <= '`') goto yy871;
10113 			if (yych >= '{') goto yy871;
10114 		}
10115 	}
10116 yy916:
10117 	yych = *++p;
10118 	if (yych <= ';') {
10119 		if (yych <= '/') goto yy871;
10120 		if (yych <= '9') goto yy917;
10121 		if (yych <= ':') goto yy871;
10122 		goto yy877;
10123 	} else {
10124 		if (yych <= 'Z') {
10125 			if (yych <= '@') goto yy871;
10126 		} else {
10127 			if (yych <= '`') goto yy871;
10128 			if (yych >= '{') goto yy871;
10129 		}
10130 	}
10131 yy917:
10132 	yych = *++p;
10133 	if (yych <= ';') {
10134 		if (yych <= '/') goto yy871;
10135 		if (yych <= '9') goto yy893;
10136 		if (yych <= ':') goto yy871;
10137 		goto yy877;
10138 	} else {
10139 		if (yych <= 'Z') {
10140 			if (yych <= '@') goto yy871;
10141 			goto yy893;
10142 		} else {
10143 			if (yych <= '`') goto yy871;
10144 			if (yych <= 'z') goto yy893;
10145 			goto yy871;
10146 		}
10147 	}
10148 }
10149 
10150 }
10151 
10152 // Returns positive value if a URL begins in a way that is potentially
10153 // dangerous, with javascript:, vbscript:, file:, or data:, otherwise 0.
_scan_dangerous_url(const unsigned char * p)10154 bufsize_t _scan_dangerous_url(const unsigned char *p)
10155 {
10156   const unsigned char *marker = NULL;
10157   const unsigned char *start = p;
10158 
10159 {
10160 	unsigned char yych;
10161 	unsigned int yyaccept = 0;
10162 	yych = *p;
10163 	if (yych <= 'V') {
10164 		if (yych <= 'F') {
10165 			if (yych == 'D') goto yy922;
10166 			if (yych >= 'F') goto yy923;
10167 		} else {
10168 			if (yych == 'J') goto yy924;
10169 			if (yych >= 'V') goto yy925;
10170 		}
10171 	} else {
10172 		if (yych <= 'f') {
10173 			if (yych == 'd') goto yy922;
10174 			if (yych >= 'f') goto yy923;
10175 		} else {
10176 			if (yych <= 'j') {
10177 				if (yych >= 'j') goto yy924;
10178 			} else {
10179 				if (yych == 'v') goto yy925;
10180 			}
10181 		}
10182 	}
10183 	++p;
10184 yy921:
10185 	{ return 0; }
10186 yy922:
10187 	yyaccept = 0;
10188 	yych = *(marker = ++p);
10189 	if (yych == 'A') goto yy926;
10190 	if (yych == 'a') goto yy926;
10191 	goto yy921;
10192 yy923:
10193 	yyaccept = 0;
10194 	yych = *(marker = ++p);
10195 	if (yych == 'I') goto yy928;
10196 	if (yych == 'i') goto yy928;
10197 	goto yy921;
10198 yy924:
10199 	yyaccept = 0;
10200 	yych = *(marker = ++p);
10201 	if (yych == 'A') goto yy929;
10202 	if (yych == 'a') goto yy929;
10203 	goto yy921;
10204 yy925:
10205 	yyaccept = 0;
10206 	yych = *(marker = ++p);
10207 	if (yych == 'B') goto yy930;
10208 	if (yych == 'b') goto yy930;
10209 	goto yy921;
10210 yy926:
10211 	yych = *++p;
10212 	if (yych == 'T') goto yy931;
10213 	if (yych == 't') goto yy931;
10214 yy927:
10215 	p = marker;
10216 	if (yyaccept == 0) {
10217 		goto yy921;
10218 	} else {
10219 		goto yy939;
10220 	}
10221 yy928:
10222 	yych = *++p;
10223 	if (yych == 'L') goto yy932;
10224 	if (yych == 'l') goto yy932;
10225 	goto yy927;
10226 yy929:
10227 	yych = *++p;
10228 	if (yych == 'V') goto yy933;
10229 	if (yych == 'v') goto yy933;
10230 	goto yy927;
10231 yy930:
10232 	yych = *++p;
10233 	if (yych == 'S') goto yy934;
10234 	if (yych == 's') goto yy934;
10235 	goto yy927;
10236 yy931:
10237 	yych = *++p;
10238 	if (yych == 'A') goto yy935;
10239 	if (yych == 'a') goto yy935;
10240 	goto yy927;
10241 yy932:
10242 	yych = *++p;
10243 	if (yych == 'E') goto yy936;
10244 	if (yych == 'e') goto yy936;
10245 	goto yy927;
10246 yy933:
10247 	yych = *++p;
10248 	if (yych == 'A') goto yy930;
10249 	if (yych == 'a') goto yy930;
10250 	goto yy927;
10251 yy934:
10252 	yych = *++p;
10253 	if (yych == 'C') goto yy937;
10254 	if (yych == 'c') goto yy937;
10255 	goto yy927;
10256 yy935:
10257 	yych = *++p;
10258 	if (yych == ':') goto yy938;
10259 	goto yy927;
10260 yy936:
10261 	yych = *++p;
10262 	if (yych == ':') goto yy940;
10263 	goto yy927;
10264 yy937:
10265 	yych = *++p;
10266 	if (yych == 'R') goto yy941;
10267 	if (yych == 'r') goto yy941;
10268 	goto yy927;
10269 yy938:
10270 	yyaccept = 1;
10271 	yych = *(marker = ++p);
10272 	if (yych == 'I') goto yy942;
10273 	if (yych == 'i') goto yy942;
10274 yy939:
10275 	{ return (bufsize_t)(p - start); }
10276 yy940:
10277 	++p;
10278 	goto yy939;
10279 yy941:
10280 	yych = *++p;
10281 	if (yych == 'I') goto yy943;
10282 	if (yych == 'i') goto yy943;
10283 	goto yy927;
10284 yy942:
10285 	yych = *++p;
10286 	if (yych == 'M') goto yy944;
10287 	if (yych == 'm') goto yy944;
10288 	goto yy927;
10289 yy943:
10290 	yych = *++p;
10291 	if (yych == 'P') goto yy945;
10292 	if (yych == 'p') goto yy945;
10293 	goto yy927;
10294 yy944:
10295 	yych = *++p;
10296 	if (yych == 'A') goto yy946;
10297 	if (yych == 'a') goto yy946;
10298 	goto yy927;
10299 yy945:
10300 	yych = *++p;
10301 	if (yych == 'T') goto yy936;
10302 	if (yych == 't') goto yy936;
10303 	goto yy927;
10304 yy946:
10305 	yych = *++p;
10306 	if (yych == 'G') goto yy947;
10307 	if (yych != 'g') goto yy927;
10308 yy947:
10309 	yych = *++p;
10310 	if (yych == 'E') goto yy948;
10311 	if (yych != 'e') goto yy927;
10312 yy948:
10313 	yych = *++p;
10314 	if (yych != '/') goto yy927;
10315 	yych = *++p;
10316 	if (yych <= 'W') {
10317 		if (yych <= 'J') {
10318 			if (yych == 'G') goto yy950;
10319 			if (yych <= 'I') goto yy927;
10320 			goto yy951;
10321 		} else {
10322 			if (yych == 'P') goto yy952;
10323 			if (yych <= 'V') goto yy927;
10324 			goto yy953;
10325 		}
10326 	} else {
10327 		if (yych <= 'j') {
10328 			if (yych == 'g') goto yy950;
10329 			if (yych <= 'i') goto yy927;
10330 			goto yy951;
10331 		} else {
10332 			if (yych <= 'p') {
10333 				if (yych <= 'o') goto yy927;
10334 				goto yy952;
10335 			} else {
10336 				if (yych == 'w') goto yy953;
10337 				goto yy927;
10338 			}
10339 		}
10340 	}
10341 yy950:
10342 	yych = *++p;
10343 	if (yych == 'I') goto yy954;
10344 	if (yych == 'i') goto yy954;
10345 	goto yy927;
10346 yy951:
10347 	yych = *++p;
10348 	if (yych == 'P') goto yy955;
10349 	if (yych == 'p') goto yy955;
10350 	goto yy927;
10351 yy952:
10352 	yych = *++p;
10353 	if (yych == 'N') goto yy956;
10354 	if (yych == 'n') goto yy956;
10355 	goto yy927;
10356 yy953:
10357 	yych = *++p;
10358 	if (yych == 'E') goto yy957;
10359 	if (yych == 'e') goto yy957;
10360 	goto yy927;
10361 yy954:
10362 	yych = *++p;
10363 	if (yych == 'F') goto yy958;
10364 	if (yych == 'f') goto yy958;
10365 	goto yy927;
10366 yy955:
10367 	yych = *++p;
10368 	if (yych == 'E') goto yy956;
10369 	if (yych != 'e') goto yy927;
10370 yy956:
10371 	yych = *++p;
10372 	if (yych == 'G') goto yy958;
10373 	if (yych == 'g') goto yy958;
10374 	goto yy927;
10375 yy957:
10376 	yych = *++p;
10377 	if (yych == 'B') goto yy960;
10378 	if (yych == 'b') goto yy960;
10379 	goto yy927;
10380 yy958:
10381 	++p;
10382 	{ return 0; }
10383 yy960:
10384 	yych = *++p;
10385 	if (yych == 'P') goto yy958;
10386 	if (yych == 'p') goto yy958;
10387 	goto yy927;
10388 }
10389 
10390 }
10391 
10392 // Scans a footnote definition opening.
_scan_footnote_definition(const unsigned char * p)10393 bufsize_t _scan_footnote_definition(const unsigned char *p)
10394 {
10395   const unsigned char *marker = NULL;
10396   const unsigned char *start = p;
10397 
10398 {
10399 	unsigned char yych;
10400 	static const unsigned char yybm[] = {
10401 		  0,  64,  64,  64,  64,  64,  64,  64,
10402 		 64, 128,   0,  64,  64,   0,  64,  64,
10403 		 64,  64,  64,  64,  64,  64,  64,  64,
10404 		 64,  64,  64,  64,  64,  64,  64,  64,
10405 		128,  64,  64,  64,  64,  64,  64,  64,
10406 		 64,  64,  64,  64,  64,  64,  64,  64,
10407 		 64,  64,  64,  64,  64,  64,  64,  64,
10408 		 64,  64,  64,  64,  64,  64,  64,  64,
10409 		 64,  64,  64,  64,  64,  64,  64,  64,
10410 		 64,  64,  64,  64,  64,  64,  64,  64,
10411 		 64,  64,  64,  64,  64,  64,  64,  64,
10412 		 64,  64,  64,  64,  64,   0,  64,  64,
10413 		 64,  64,  64,  64,  64,  64,  64,  64,
10414 		 64,  64,  64,  64,  64,  64,  64,  64,
10415 		 64,  64,  64,  64,  64,  64,  64,  64,
10416 		 64,  64,  64,  64,  64,  64,  64,  64,
10417 		  0,   0,   0,   0,   0,   0,   0,   0,
10418 		  0,   0,   0,   0,   0,   0,   0,   0,
10419 		  0,   0,   0,   0,   0,   0,   0,   0,
10420 		  0,   0,   0,   0,   0,   0,   0,   0,
10421 		  0,   0,   0,   0,   0,   0,   0,   0,
10422 		  0,   0,   0,   0,   0,   0,   0,   0,
10423 		  0,   0,   0,   0,   0,   0,   0,   0,
10424 		  0,   0,   0,   0,   0,   0,   0,   0,
10425 		  0,   0,   0,   0,   0,   0,   0,   0,
10426 		  0,   0,   0,   0,   0,   0,   0,   0,
10427 		  0,   0,   0,   0,   0,   0,   0,   0,
10428 		  0,   0,   0,   0,   0,   0,   0,   0,
10429 		  0,   0,   0,   0,   0,   0,   0,   0,
10430 		  0,   0,   0,   0,   0,   0,   0,   0,
10431 		  0,   0,   0,   0,   0,   0,   0,   0,
10432 		  0,   0,   0,   0,   0,   0,   0,   0,
10433 	};
10434 	yych = *p;
10435 	if (yych == '[') goto yy965;
10436 	++p;
10437 yy964:
10438 	{ return 0; }
10439 yy965:
10440 	yych = *(marker = ++p);
10441 	if (yych != '^') goto yy964;
10442 	yych = *++p;
10443 	if (yych != ']') goto yy969;
10444 yy967:
10445 	p = marker;
10446 	goto yy964;
10447 yy968:
10448 	yych = *++p;
10449 yy969:
10450 	if (yybm[0+yych] & 64) {
10451 		goto yy968;
10452 	}
10453 	if (yych <= 0xEC) {
10454 		if (yych <= 0xC1) {
10455 			if (yych <= ' ') goto yy967;
10456 			if (yych <= ']') goto yy977;
10457 			goto yy967;
10458 		} else {
10459 			if (yych <= 0xDF) goto yy970;
10460 			if (yych <= 0xE0) goto yy971;
10461 			goto yy972;
10462 		}
10463 	} else {
10464 		if (yych <= 0xF0) {
10465 			if (yych <= 0xED) goto yy973;
10466 			if (yych <= 0xEF) goto yy972;
10467 			goto yy974;
10468 		} else {
10469 			if (yych <= 0xF3) goto yy975;
10470 			if (yych <= 0xF4) goto yy976;
10471 			goto yy967;
10472 		}
10473 	}
10474 yy970:
10475 	yych = *++p;
10476 	if (yych <= 0x7F) goto yy967;
10477 	if (yych <= 0xBF) goto yy968;
10478 	goto yy967;
10479 yy971:
10480 	yych = *++p;
10481 	if (yych <= 0x9F) goto yy967;
10482 	if (yych <= 0xBF) goto yy970;
10483 	goto yy967;
10484 yy972:
10485 	yych = *++p;
10486 	if (yych <= 0x7F) goto yy967;
10487 	if (yych <= 0xBF) goto yy970;
10488 	goto yy967;
10489 yy973:
10490 	yych = *++p;
10491 	if (yych <= 0x7F) goto yy967;
10492 	if (yych <= 0x9F) goto yy970;
10493 	goto yy967;
10494 yy974:
10495 	yych = *++p;
10496 	if (yych <= 0x8F) goto yy967;
10497 	if (yych <= 0xBF) goto yy972;
10498 	goto yy967;
10499 yy975:
10500 	yych = *++p;
10501 	if (yych <= 0x7F) goto yy967;
10502 	if (yych <= 0xBF) goto yy972;
10503 	goto yy967;
10504 yy976:
10505 	yych = *++p;
10506 	if (yych <= 0x7F) goto yy967;
10507 	if (yych <= 0x8F) goto yy972;
10508 	goto yy967;
10509 yy977:
10510 	yych = *++p;
10511 	if (yych != ':') goto yy967;
10512 yy978:
10513 	yych = *++p;
10514 	if (yybm[0+yych] & 128) {
10515 		goto yy978;
10516 	}
10517 	{ return (bufsize_t)(p - start); }
10518 }
10519 
10520 }
10521