cmark

My personal build of CMark ✏️

Commit
a37980f46cb13b1178c685f6eb17d9964b026b9c
Parent
c8e246efe4777321434fbdbad8a617dd2b8f7340
Author
John MacFarlane <jgm@berkeley.edu>
Date

Added src/scanners.c to repository.

This reduces build dependencies and should help avoid issues like

Diffstat

3 files changed, 12402 insertions, 5 deletions

Status File Name N° Changes Insertions Deletions
Modified .gitignore 1 0 1
Modified README.md 8 4 4
Added src/scanners.c 12398 12398 0
diff --git a/.gitignore b/.gitignore
@@ -26,7 +26,6 @@
 *.bak
 *.diff
 *#
-scanners.c
 *.zip
 bstrlib.txt
 build
diff --git a/README.md b/README.md
@@ -43,10 +43,10 @@ Installing (C)
 --------------
 
 Building the C program (`cmark`) and shared library (`libcmark`)
-requires [cmake] and [re2c], which is used to generate `scanners.c` from
-`scanners.re`.  (Note that [re2c] is only a build dependency for
-developers, since `scanners.c` can be provided in a released source
-tarball.)
+requires [cmake].  If you modify `scanners.re`, then you will also
+need [re2c], which is used to generate `scanners.c` from
+`scanners.re`.  We have included a pre-generated `scanners.c` in
+the repository to reduce build dependencies.
 
 If you have GNU make, you can simply `make`, `make test`, and `make
 install`.  This calls [cmake] to create a `Makefile` in the `build`
diff --git a/src/scanners.c b/src/scanners.c
@@ -0,0 +1,12398 @@
+/* Generated by re2c 0.13.6 */
+#include <stdlib.h>
+#include "chunk.h"
+#include "scanners.h"
+
+int _scan_at(int (*scanner)(const unsigned char *), chunk *c, int offset)
+{
+	int res;
+	unsigned char *ptr = (unsigned char *)c->data;
+	unsigned char lim = ptr[c->len];
+
+	ptr[c->len] = '\0';
+	res = scanner(ptr + offset);
+	ptr[c->len] = lim;
+
+	return res;
+}
+
+
+
+// Try to match URI autolink after first <, returning number of chars matched.
+int _scan_autolink_uri(const unsigned char *p)
+{
+  const unsigned char *marker = NULL;
+  const unsigned char *start = p;
+
+{
+	unsigned char yych;
+	static const unsigned char yybm[] = {
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128,   0, 128,   0, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128,   0, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+	};
+
+	yych = *p;
+	switch (yych) {
+	case '\n':	goto yy2;
+	case 'A':
+	case 'a':	goto yy6;
+	case 'B':
+	case 'b':	goto yy24;
+	case 'C':
+	case 'c':	goto yy3;
+	case 'D':
+	case 'd':	goto yy4;
+	case 'E':
+	case 'e':	goto yy25;
+	case 'F':
+	case 'f':	goto yy7;
+	case 'G':
+	case 'g':	goto yy8;
+	case 'H':
+	case 'h':	goto yy9;
+	case 'I':
+	case 'i':	goto yy10;
+	case 'J':
+	case 'j':	goto yy5;
+	case 'K':
+	case 'k':	goto yy26;
+	case 'L':
+	case 'l':	goto yy11;
+	case 'M':
+	case 'm':	goto yy12;
+	case 'N':
+	case 'n':	goto yy13;
+	case 'O':
+	case 'o':	goto yy14;
+	case 'P':
+	case 'p':	goto yy15;
+	case 'Q':
+	case 'q':	goto yy27;
+	case 'R':
+	case 'r':	goto yy16;
+	case 'S':
+	case 's':	goto yy17;
+	case 'T':
+	case 't':	goto yy18;
+	case 'U':
+	case 'u':	goto yy19;
+	case 'V':
+	case 'v':	goto yy20;
+	case 'W':
+	case 'w':	goto yy21;
+	case 'X':
+	case 'x':	goto yy22;
+	case 'Y':
+	case 'y':	goto yy28;
+	case 'Z':
+	case 'z':	goto yy23;
+	default:	goto yy29;
+	}
+yy2:
+	{ return 0; }
+yy3:
+	yych = *(marker = ++p);
+	switch (yych) {
+	case 'A':
+	case 'a':	goto yy443;
+	case 'H':
+	case 'h':	goto yy442;
+	case 'I':
+	case 'i':	goto yy445;
+	case 'O':
+	case 'o':	goto yy441;
+	case 'R':
+	case 'r':	goto yy444;
+	case 'V':
+	case 'v':	goto yy440;
+	default:	goto yy2;
+	}
+yy4:
+	yych = *(marker = ++p);
+	switch (yych) {
+	case 'A':
+	case 'a':	goto yy416;
+	case 'I':
+	case 'i':	goto yy415;
+	case 'L':
+	case 'l':	goto yy413;
+	case 'N':
+	case 'n':	goto yy414;
+	case 'O':
+	case 'o':	goto yy417;
+	case 'T':
+	case 't':	goto yy412;
+	case 'V':
+	case 'v':	goto yy411;
+	default:	goto yy2;
+	}
+yy5:
+	yych = *(marker = ++p);
+	if (yych <= 'M') {
+		if (yych == 'A') goto yy403;
+		if (yych <= 'L') goto yy2;
+		goto yy402;
+	} else {
+		if (yych <= 'a') {
+			if (yych <= '`') goto yy2;
+			goto yy403;
+		} else {
+			if (yych == 'm') goto yy402;
+			goto yy2;
+		}
+	}
+yy6:
+	yych = *(marker = ++p);
+	switch (yych) {
+	case 'A':
+	case 'a':	goto yy384;
+	case 'B':
+	case 'b':	goto yy383;
+	case 'C':
+	case 'c':	goto yy382;
+	case 'D':
+	case 'd':	goto yy381;
+	case 'F':
+	case 'f':	goto yy380;
+	case 'I':
+	case 'i':	goto yy379;
+	case 'P':
+	case 'p':	goto yy378;
+	case 'T':
+	case 't':	goto yy377;
+	case 'W':
+	case 'w':	goto yy34;
+	default:	goto yy2;
+	}
+yy7:
+	yych = *(marker = ++p);
+	if (yych <= 'T') {
+		if (yych <= 'E') {
+			if (yych == 'A') goto yy364;
+			if (yych <= 'D') goto yy2;
+			goto yy363;
+		} else {
+			if (yych == 'I') goto yy362;
+			if (yych <= 'S') goto yy2;
+			goto yy365;
+		}
+	} else {
+		if (yych <= 'e') {
+			if (yych == 'a') goto yy364;
+			if (yych <= 'd') goto yy2;
+			goto yy363;
+		} else {
+			if (yych <= 'i') {
+				if (yych <= 'h') goto yy2;
+				goto yy362;
+			} else {
+				if (yych == 't') goto yy365;
+				goto yy2;
+			}
+		}
+	}
+yy8:
+	yych = *(marker = ++p);
+	switch (yych) {
+	case 'E':
+	case 'e':	goto yy347;
+	case 'G':
+	case 'g':	goto yy34;
+	case 'I':
+	case 'i':	goto yy345;
+	case 'O':
+	case 'o':	goto yy346;
+	case 'T':
+	case 't':	goto yy344;
+	default:	goto yy2;
+	}
+yy9:
+	yych = *(marker = ++p);
+	if (yych <= 'S') {
+		if (yych <= '3') {
+			if (yych <= '2') goto yy2;
+			goto yy340;
+		} else {
+			if (yych == 'C') goto yy338;
+			goto yy2;
+		}
+	} else {
+		if (yych <= 'c') {
+			if (yych <= 'T') goto yy339;
+			if (yych <= 'b') goto yy2;
+			goto yy338;
+		} else {
+			if (yych == 't') goto yy339;
+			goto yy2;
+		}
+	}
+yy10:
+	yych = *(marker = ++p);
+	switch (yych) {
+	case 'A':
+	case 'a':	goto yy320;
+	case 'C':
+	case 'c':	goto yy317;
+	case 'M':
+	case 'm':	goto yy319;
+	case 'N':
+	case 'n':	goto yy318;
+	case 'P':
+	case 'p':	goto yy316;
+	case 'R':
+	case 'r':	goto yy315;
+	case 'T':
+	case 't':	goto yy314;
+	default:	goto yy2;
+	}
+yy11:
+	yych = *(marker = ++p);
+	if (yych <= 'D') {
+		if (yych == 'A') goto yy308;
+		if (yych <= 'C') goto yy2;
+		goto yy307;
+	} else {
+		if (yych <= 'a') {
+			if (yych <= '`') goto yy2;
+			goto yy308;
+		} else {
+			if (yych == 'd') goto yy307;
+			goto yy2;
+		}
+	}
+yy12:
+	yych = *(marker = ++p);
+	switch (yych) {
+	case 'A':
+	case 'a':	goto yy274;
+	case 'E':
+	case 'e':	goto yy273;
+	case 'I':
+	case 'i':	goto yy276;
+	case 'M':
+	case 'm':	goto yy272;
+	case 'S':
+	case 's':	goto yy271;
+	case 'T':
+	case 't':	goto yy275;
+	case 'U':
+	case 'u':	goto yy270;
+	case 'V':
+	case 'v':	goto yy269;
+	default:	goto yy2;
+	}
+yy13:
+	yych = *(marker = ++p);
+	switch (yych) {
+	case 'E':
+	case 'e':	goto yy264;
+	case 'F':
+	case 'f':	goto yy263;
+	case 'I':
+	case 'i':	goto yy262;
+	case 'N':
+	case 'n':	goto yy261;
+	case 'O':
+	case 'o':	goto yy260;
+	default:	goto yy2;
+	}
+yy14:
+	yych = *(marker = ++p);
+	if (yych <= 'P') {
+		if (yych == 'I') goto yy246;
+		if (yych <= 'O') goto yy2;
+		goto yy247;
+	} else {
+		if (yych <= 'i') {
+			if (yych <= 'h') goto yy2;
+			goto yy246;
+		} else {
+			if (yych == 'p') goto yy247;
+			goto yy2;
+		}
+	}
+yy15:
+	yych = *(marker = ++p);
+	if (yych <= 'S') {
+		if (yych <= 'L') {
+			if (yych == 'A') goto yy228;
+			if (yych <= 'K') goto yy2;
+			goto yy227;
+		} else {
+			if (yych <= 'O') {
+				if (yych <= 'N') goto yy2;
+				goto yy229;
+			} else {
+				if (yych <= 'Q') goto yy2;
+				if (yych <= 'R') goto yy226;
+				goto yy225;
+			}
+		}
+	} else {
+		if (yych <= 'n') {
+			if (yych <= 'a') {
+				if (yych <= '`') goto yy2;
+				goto yy228;
+			} else {
+				if (yych == 'l') goto yy227;
+				goto yy2;
+			}
+		} else {
+			if (yych <= 'q') {
+				if (yych <= 'o') goto yy229;
+				goto yy2;
+			} else {
+				if (yych <= 'r') goto yy226;
+				if (yych <= 's') goto yy225;
+				goto yy2;
+			}
+		}
+	}
+yy16:
+	yych = *(marker = ++p);
+	if (yych <= 'T') {
+		if (yych <= 'L') {
+			if (yych == 'E') goto yy215;
+			goto yy2;
+		} else {
+			if (yych <= 'M') goto yy214;
+			if (yych <= 'R') goto yy2;
+			if (yych <= 'S') goto yy213;
+			goto yy212;
+		}
+	} else {
+		if (yych <= 'm') {
+			if (yych == 'e') goto yy215;
+			if (yych <= 'l') goto yy2;
+			goto yy214;
+		} else {
+			if (yych <= 'r') goto yy2;
+			if (yych <= 's') goto yy213;
+			if (yych <= 't') goto yy212;
+			goto yy2;
+		}
+	}
+yy17:
+	yych = *(marker = ++p);
+	switch (yych) {
+	case 'E':
+	case 'e':	goto yy168;
+	case 'F':
+	case 'f':	goto yy167;
+	case 'G':
+	case 'g':	goto yy166;
+	case 'H':
+	case 'h':	goto yy171;
+	case 'I':
+	case 'i':	goto yy170;
+	case 'K':
+	case 'k':	goto yy165;
+	case 'M':
+	case 'm':	goto yy164;
+	case 'N':
+	case 'n':	goto yy169;
+	case 'O':
+	case 'o':	goto yy163;
+	case 'P':
+	case 'p':	goto yy162;
+	case 'S':
+	case 's':	goto yy161;
+	case 'T':
+	case 't':	goto yy160;
+	case 'V':
+	case 'v':	goto yy159;
+	default:	goto yy2;
+	}
+yy18:
+	yych = *(marker = ++p);
+	switch (yych) {
+	case 'A':
+	case 'a':	goto yy135;
+	case 'E':
+	case 'e':	goto yy131;
+	case 'F':
+	case 'f':	goto yy134;
+	case 'H':
+	case 'h':	goto yy130;
+	case 'I':
+	case 'i':	goto yy132;
+	case 'N':
+	case 'n':	goto yy133;
+	case 'V':
+	case 'v':	goto yy34;
+	default:	goto yy2;
+	}
+yy19:
+	yych = *(marker = ++p);
+	if (yych <= 'T') {
+		if (yych <= 'N') {
+			if (yych == 'D') goto yy122;
+			if (yych <= 'M') goto yy2;
+			goto yy121;
+		} else {
+			if (yych == 'R') goto yy123;
+			if (yych <= 'S') goto yy2;
+			goto yy120;
+		}
+	} else {
+		if (yych <= 'n') {
+			if (yych == 'd') goto yy122;
+			if (yych <= 'm') goto yy2;
+			goto yy121;
+		} else {
+			if (yych <= 'r') {
+				if (yych <= 'q') goto yy2;
+				goto yy123;
+			} else {
+				if (yych == 't') goto yy120;
+				goto yy2;
+			}
+		}
+	}
+yy20:
+	yych = *(marker = ++p);
+	if (yych <= 'I') {
+		if (yych == 'E') goto yy104;
+		if (yych <= 'H') goto yy2;
+		goto yy103;
+	} else {
+		if (yych <= 'e') {
+			if (yych <= 'd') goto yy2;
+			goto yy104;
+		} else {
+			if (yych == 'i') goto yy103;
+			goto yy2;
+		}
+	}
+yy21:
+	yych = *(marker = ++p);
+	if (yych <= 'Y') {
+		if (yych <= 'R') {
+			if (yych == 'E') goto yy93;
+			goto yy2;
+		} else {
+			if (yych <= 'S') goto yy94;
+			if (yych <= 'T') goto yy92;
+			if (yych <= 'X') goto yy2;
+			goto yy91;
+		}
+	} else {
+		if (yych <= 's') {
+			if (yych == 'e') goto yy93;
+			if (yych <= 'r') goto yy2;
+			goto yy94;
+		} else {
+			if (yych <= 't') goto yy92;
+			if (yych == 'y') goto yy91;
+			goto yy2;
+		}
+	}
+yy22:
+	yych = *(marker = ++p);
+	if (yych <= 'R') {
+		if (yych <= 'F') {
+			if (yych == 'C') goto yy70;
+			if (yych <= 'E') goto yy2;
+			goto yy68;
+		} else {
+			if (yych == 'M') goto yy69;
+			if (yych <= 'Q') goto yy2;
+			goto yy67;
+		}
+	} else {
+		if (yych <= 'f') {
+			if (yych == 'c') goto yy70;
+			if (yych <= 'e') goto yy2;
+			goto yy68;
+		} else {
+			if (yych <= 'm') {
+				if (yych <= 'l') goto yy2;
+				goto yy69;
+			} else {
+				if (yych == 'r') goto yy67;
+				goto yy2;
+			}
+		}
+	}
+yy23:
+	yych = *(marker = ++p);
+	if (yych == '3') goto yy62;
+	goto yy2;
+yy24:
+	yych = *(marker = ++p);
+	if (yych <= 'O') {
+		if (yych <= 'H') {
+			if (yych == 'E') goto yy52;
+			goto yy2;
+		} else {
+			if (yych <= 'I') goto yy51;
+			if (yych <= 'N') goto yy2;
+			goto yy50;
+		}
+	} else {
+		if (yych <= 'h') {
+			if (yych == 'e') goto yy52;
+			goto yy2;
+		} else {
+			if (yych <= 'i') goto yy51;
+			if (yych == 'o') goto yy50;
+			goto yy2;
+		}
+	}
+yy25:
+	yych = *(marker = ++p);
+	if (yych == 'D') goto yy48;
+	if (yych == 'd') goto yy48;
+	goto yy2;
+yy26:
+	yych = *(marker = ++p);
+	if (yych == 'E') goto yy43;
+	if (yych == 'e') goto yy43;
+	goto yy2;
+yy27:
+	yych = *(marker = ++p);
+	if (yych == 'U') goto yy40;
+	if (yych == 'u') goto yy40;
+	goto yy2;
+yy28:
+	yych = *(marker = ++p);
+	if (yych == 'M') goto yy30;
+	if (yych == 'm') goto yy30;
+	goto yy2;
+yy29:
+	yych = *++p;
+	goto yy2;
+yy30:
+	yych = *++p;
+	if (yych == 'S') goto yy32;
+	if (yych == 's') goto yy32;
+yy31:
+	p = marker;
+	goto yy2;
+yy32:
+	yych = *++p;
+	if (yych == 'G') goto yy33;
+	if (yych != 'g') goto yy31;
+yy33:
+	yych = *++p;
+	if (yych == 'R') goto yy34;
+	if (yych != 'r') goto yy31;
+yy34:
+	yych = *++p;
+	if (yych != ':') goto yy31;
+yy35:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 128) {
+		goto yy35;
+	}
+	if (yych <= '=') goto yy31;
+	if (yych <= '>') goto yy38;
+	++p;
+	yych = *p;
+	if (yych <= '@') {
+		if (yych <= ' ') goto yy31;
+		if (yych <= '/') goto yy35;
+		if (yych <= '9') goto yy31;
+		goto yy35;
+	} else {
+		if (yych <= '`') {
+			if (yych <= 'Z') goto yy31;
+			goto yy35;
+		} else {
+			if (yych <= 'z') goto yy31;
+			if (yych <= '~') goto yy35;
+			goto yy31;
+		}
+	}
+yy38:
+	++p;
+	{ return (p - start); }
+yy40:
+	yych = *++p;
+	if (yych == 'E') goto yy41;
+	if (yych != 'e') goto yy31;
+yy41:
+	yych = *++p;
+	if (yych == 'R') goto yy42;
+	if (yych != 'r') goto yy31;
+yy42:
+	yych = *++p;
+	if (yych == 'Y') goto yy34;
+	if (yych == 'y') goto yy34;
+	goto yy31;
+yy43:
+	yych = *++p;
+	if (yych == 'Y') goto yy44;
+	if (yych != 'y') goto yy31;
+yy44:
+	yych = *++p;
+	if (yych == 'P') goto yy45;
+	if (yych != 'p') goto yy31;
+yy45:
+	yych = *++p;
+	if (yych == 'A') goto yy46;
+	if (yych != 'a') goto yy31;
+yy46:
+	yych = *++p;
+	if (yych == 'R') goto yy47;
+	if (yych != 'r') goto yy31;
+yy47:
+	yych = *++p;
+	if (yych == 'C') goto yy34;
+	if (yych == 'c') goto yy34;
+	goto yy31;
+yy48:
+	yych = *++p;
+	if (yych != '2') goto yy31;
+	yych = *++p;
+	if (yych == 'K') goto yy34;
+	if (yych == 'k') goto yy34;
+	goto yy31;
+yy50:
+	yych = *++p;
+	if (yych == 'L') goto yy61;
+	if (yych == 'l') goto yy61;
+	goto yy31;
+yy51:
+	yych = *++p;
+	if (yych == 'T') goto yy57;
+	if (yych == 't') goto yy57;
+	goto yy31;
+yy52:
+	yych = *++p;
+	if (yych == 'S') goto yy53;
+	if (yych != 's') goto yy31;
+yy53:
+	yych = *++p;
+	if (yych == 'H') goto yy54;
+	if (yych != 'h') goto yy31;
+yy54:
+	yych = *++p;
+	if (yych == 'A') goto yy55;
+	if (yych != 'a') goto yy31;
+yy55:
+	yych = *++p;
+	if (yych == 'R') goto yy56;
+	if (yych != 'r') goto yy31;
+yy56:
+	yych = *++p;
+	if (yych == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+yy57:
+	yych = *++p;
+	if (yych == 'C') goto yy58;
+	if (yych != 'c') goto yy31;
+yy58:
+	yych = *++p;
+	if (yych == 'O') goto yy59;
+	if (yych != 'o') goto yy31;
+yy59:
+	yych = *++p;
+	if (yych == 'I') goto yy60;
+	if (yych != 'i') goto yy31;
+yy60:
+	yych = *++p;
+	if (yych == 'N') goto yy34;
+	if (yych == 'n') goto yy34;
+	goto yy31;
+yy61:
+	yych = *++p;
+	if (yych == 'O') goto yy34;
+	if (yych == 'o') goto yy34;
+	goto yy31;
+yy62:
+	yych = *++p;
+	if (yych != '9') goto yy31;
+	yych = *++p;
+	if (yych != '.') goto yy31;
+	yych = *++p;
+	if (yych != '5') goto yy31;
+	yych = *++p;
+	if (yych != '0') goto yy31;
+	yych = *++p;
+	if (yych <= 'Q') goto yy31;
+	if (yych <= 'S') goto yy34;
+	if (yych <= 'q') goto yy31;
+	if (yych <= 's') goto yy34;
+	goto yy31;
+yy67:
+	yych = *++p;
+	if (yych == 'I') goto yy34;
+	if (yych == 'i') goto yy34;
+	goto yy31;
+yy68:
+	yych = *++p;
+	if (yych == 'I') goto yy89;
+	if (yych == 'i') goto yy89;
+	goto yy31;
+yy69:
+	yych = *++p;
+	if (yych <= 'P') {
+		if (yych == 'L') goto yy79;
+		if (yych <= 'O') goto yy31;
+		goto yy80;
+	} else {
+		if (yych <= 'l') {
+			if (yych <= 'k') goto yy31;
+			goto yy79;
+		} else {
+			if (yych == 'p') goto yy80;
+			goto yy31;
+		}
+	}
+yy70:
+	yych = *++p;
+	if (yych == 'O') goto yy71;
+	if (yych != 'o') goto yy31;
+yy71:
+	yych = *++p;
+	if (yych == 'N') goto yy72;
+	if (yych != 'n') goto yy31;
+yy72:
+	yych = *++p;
+	if (yych == '-') goto yy73;
+	if (yych == ':') goto yy35;
+	goto yy31;
+yy73:
+	yych = *++p;
+	if (yych == 'U') goto yy74;
+	if (yych != 'u') goto yy31;
+yy74:
+	yych = *++p;
+	if (yych == 'S') goto yy75;
+	if (yych != 's') goto yy31;
+yy75:
+	yych = *++p;
+	if (yych == 'E') goto yy76;
+	if (yych != 'e') goto yy31;
+yy76:
+	yych = *++p;
+	if (yych == 'R') goto yy77;
+	if (yych != 'r') goto yy31;
+yy77:
+	yych = *++p;
+	if (yych == 'I') goto yy78;
+	if (yych != 'i') goto yy31;
+yy78:
+	yych = *++p;
+	if (yych == 'D') goto yy34;
+	if (yych == 'd') goto yy34;
+	goto yy31;
+yy79:
+	yych = *++p;
+	if (yych == 'R') goto yy81;
+	if (yych == 'r') goto yy81;
+	goto yy31;
+yy80:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy81:
+	yych = *++p;
+	if (yych == 'P') goto yy82;
+	if (yych != 'p') goto yy31;
+yy82:
+	yych = *++p;
+	if (yych == 'C') goto yy83;
+	if (yych != 'c') goto yy31;
+yy83:
+	yych = *++p;
+	if (yych != '.') goto yy31;
+	yych = *++p;
+	if (yych == 'B') goto yy85;
+	if (yych != 'b') goto yy31;
+yy85:
+	yych = *++p;
+	if (yych == 'E') goto yy86;
+	if (yych != 'e') goto yy31;
+yy86:
+	yych = *++p;
+	if (yych == 'E') goto yy87;
+	if (yych != 'e') goto yy31;
+yy87:
+	yych = *++p;
+	if (yych == 'P') goto yy88;
+	if (yych != 'p') goto yy31;
+yy88:
+	yych = *++p;
+	if (yych <= 'R') {
+		if (yych == ':') goto yy35;
+		goto yy31;
+	} else {
+		if (yych <= 'S') goto yy34;
+		if (yych == 's') goto yy34;
+		goto yy31;
+	}
+yy89:
+	yych = *++p;
+	if (yych == 'R') goto yy90;
+	if (yych != 'r') goto yy31;
+yy90:
+	yych = *++p;
+	if (yych == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+yy91:
+	yych = *++p;
+	if (yych == 'C') goto yy99;
+	if (yych == 'c') goto yy99;
+	goto yy31;
+yy92:
+	yych = *++p;
+	if (yych == 'A') goto yy98;
+	if (yych == 'a') goto yy98;
+	goto yy31;
+yy93:
+	yych = *++p;
+	if (yych == 'B') goto yy95;
+	if (yych == 'b') goto yy95;
+	goto yy31;
+yy94:
+	yych = *++p;
+	if (yych <= 'R') {
+		if (yych == ':') goto yy35;
+		goto yy31;
+	} else {
+		if (yych <= 'S') goto yy34;
+		if (yych == 's') goto yy34;
+		goto yy31;
+	}
+yy95:
+	yych = *++p;
+	if (yych == 'C') goto yy96;
+	if (yych != 'c') goto yy31;
+yy96:
+	yych = *++p;
+	if (yych == 'A') goto yy97;
+	if (yych != 'a') goto yy31;
+yy97:
+	yych = *++p;
+	if (yych == 'L') goto yy34;
+	if (yych == 'l') goto yy34;
+	goto yy31;
+yy98:
+	yych = *++p;
+	if (yych == 'I') goto yy34;
+	if (yych == 'i') goto yy34;
+	goto yy31;
+yy99:
+	yych = *++p;
+	if (yych == 'I') goto yy100;
+	if (yych != 'i') goto yy31;
+yy100:
+	yych = *++p;
+	if (yych == 'W') goto yy101;
+	if (yych != 'w') goto yy31;
+yy101:
+	yych = *++p;
+	if (yych == 'Y') goto yy102;
+	if (yych != 'y') goto yy31;
+yy102:
+	yych = *++p;
+	if (yych == 'G') goto yy34;
+	if (yych == 'g') goto yy34;
+	goto yy31;
+yy103:
+	yych = *++p;
+	if (yych == 'E') goto yy112;
+	if (yych == 'e') goto yy112;
+	goto yy31;
+yy104:
+	yych = *++p;
+	if (yych <= 'N') {
+		if (yych <= 'L') goto yy31;
+		if (yych >= 'N') goto yy106;
+	} else {
+		if (yych <= 'l') goto yy31;
+		if (yych <= 'm') goto yy105;
+		if (yych <= 'n') goto yy106;
+		goto yy31;
+	}
+yy105:
+	yych = *++p;
+	if (yych == 'M') goto yy111;
+	if (yych == 'm') goto yy111;
+	goto yy31;
+yy106:
+	yych = *++p;
+	if (yych == 'T') goto yy107;
+	if (yych != 't') goto yy31;
+yy107:
+	yych = *++p;
+	if (yych == 'R') goto yy108;
+	if (yych != 'r') goto yy31;
+yy108:
+	yych = *++p;
+	if (yych == 'I') goto yy109;
+	if (yych != 'i') goto yy31;
+yy109:
+	yych = *++p;
+	if (yych == 'L') goto yy110;
+	if (yych != 'l') goto yy31;
+yy110:
+	yych = *++p;
+	if (yych == 'O') goto yy34;
+	if (yych == 'o') goto yy34;
+	goto yy31;
+yy111:
+	yych = *++p;
+	if (yych == 'I') goto yy34;
+	if (yych == 'i') goto yy34;
+	goto yy31;
+yy112:
+	yych = *++p;
+	if (yych == 'W') goto yy113;
+	if (yych != 'w') goto yy31;
+yy113:
+	yych = *++p;
+	if (yych != '-') goto yy31;
+	yych = *++p;
+	if (yych == 'S') goto yy115;
+	if (yych != 's') goto yy31;
+yy115:
+	yych = *++p;
+	if (yych == 'O') goto yy116;
+	if (yych != 'o') goto yy31;
+yy116:
+	yych = *++p;
+	if (yych == 'U') goto yy117;
+	if (yych != 'u') goto yy31;
+yy117:
+	yych = *++p;
+	if (yych == 'R') goto yy118;
+	if (yych != 'r') goto yy31;
+yy118:
+	yych = *++p;
+	if (yych == 'C') goto yy119;
+	if (yych != 'c') goto yy31;
+yy119:
+	yych = *++p;
+	if (yych == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+yy120:
+	yych = *++p;
+	if (yych == '2') goto yy127;
+	goto yy31;
+yy121:
+	yych = *++p;
+	if (yych == 'R') goto yy124;
+	if (yych == 'r') goto yy124;
+	goto yy31;
+yy122:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy123:
+	yych = *++p;
+	if (yych == 'N') goto yy34;
+	if (yych == 'n') goto yy34;
+	goto yy31;
+yy124:
+	yych = *++p;
+	if (yych == 'E') goto yy125;
+	if (yych != 'e') goto yy31;
+yy125:
+	yych = *++p;
+	if (yych == 'A') goto yy126;
+	if (yych != 'a') goto yy31;
+yy126:
+	yych = *++p;
+	if (yych == 'L') goto yy34;
+	if (yych == 'l') goto yy34;
+	goto yy31;
+yy127:
+	yych = *++p;
+	if (yych != '0') goto yy31;
+	yych = *++p;
+	if (yych != '0') goto yy31;
+	yych = *++p;
+	if (yych == '4') goto yy34;
+	goto yy31;
+yy130:
+	yych = *++p;
+	if (yych == 'I') goto yy149;
+	if (yych == 'i') goto yy149;
+	goto yy31;
+yy131:
+	yych = *++p;
+	if (yych <= 'L') {
+		if (yych == 'A') goto yy141;
+		if (yych <= 'K') goto yy31;
+		goto yy140;
+	} else {
+		if (yych <= 'a') {
+			if (yych <= '`') goto yy31;
+			goto yy141;
+		} else {
+			if (yych == 'l') goto yy140;
+			goto yy31;
+		}
+	}
+yy132:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy133:
+	yych = *++p;
+	if (yych == '3') goto yy137;
+	goto yy31;
+yy134:
+	yych = *++p;
+	if (yych == 'T') goto yy136;
+	if (yych == 't') goto yy136;
+	goto yy31;
+yy135:
+	yych = *++p;
+	if (yych == 'G') goto yy34;
+	if (yych == 'g') goto yy34;
+	goto yy31;
+yy136:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy137:
+	yych = *++p;
+	if (yych != '2') goto yy31;
+	yych = *++p;
+	if (yych != '7') goto yy31;
+	yych = *++p;
+	if (yych == '0') goto yy34;
+	goto yy31;
+yy140:
+	yych = *++p;
+	if (yych <= 'M') {
+		if (yych == ':') goto yy35;
+		goto yy31;
+	} else {
+		if (yych <= 'N') goto yy147;
+		if (yych == 'n') goto yy147;
+		goto yy31;
+	}
+yy141:
+	yych = *++p;
+	if (yych == 'M') goto yy142;
+	if (yych != 'm') goto yy31;
+yy142:
+	yych = *++p;
+	if (yych == 'S') goto yy143;
+	if (yych != 's') goto yy31;
+yy143:
+	yych = *++p;
+	if (yych == 'P') goto yy144;
+	if (yych != 'p') goto yy31;
+yy144:
+	yych = *++p;
+	if (yych == 'E') goto yy145;
+	if (yych != 'e') goto yy31;
+yy145:
+	yych = *++p;
+	if (yych == 'A') goto yy146;
+	if (yych != 'a') goto yy31;
+yy146:
+	yych = *++p;
+	if (yych == 'K') goto yy34;
+	if (yych == 'k') goto yy34;
+	goto yy31;
+yy147:
+	yych = *++p;
+	if (yych == 'E') goto yy148;
+	if (yych != 'e') goto yy31;
+yy148:
+	yych = *++p;
+	if (yych == 'T') goto yy34;
+	if (yych == 't') goto yy34;
+	goto yy31;
+yy149:
+	yych = *++p;
+	if (yych <= 'S') {
+		if (yych == 'N') goto yy150;
+		if (yych <= 'R') goto yy31;
+		goto yy151;
+	} else {
+		if (yych <= 'n') {
+			if (yych <= 'm') goto yy31;
+		} else {
+			if (yych == 's') goto yy151;
+			goto yy31;
+		}
+	}
+yy150:
+	yych = *++p;
+	if (yych == 'G') goto yy158;
+	if (yych == 'g') goto yy158;
+	goto yy31;
+yy151:
+	yych = *++p;
+	if (yych == 'M') goto yy152;
+	if (yych != 'm') goto yy31;
+yy152:
+	yych = *++p;
+	if (yych == 'E') goto yy153;
+	if (yych != 'e') goto yy31;
+yy153:
+	yych = *++p;
+	if (yych == 'S') goto yy154;
+	if (yych != 's') goto yy31;
+yy154:
+	yych = *++p;
+	if (yych == 'S') goto yy155;
+	if (yych != 's') goto yy31;
+yy155:
+	yych = *++p;
+	if (yych == 'A') goto yy156;
+	if (yych != 'a') goto yy31;
+yy156:
+	yych = *++p;
+	if (yych == 'G') goto yy157;
+	if (yych != 'g') goto yy31;
+yy157:
+	yych = *++p;
+	if (yych == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+yy158:
+	yych = *++p;
+	if (yych == 'S') goto yy34;
+	if (yych == 's') goto yy34;
+	goto yy31;
+yy159:
+	yych = *++p;
+	if (yych == 'N') goto yy34;
+	if (yych == 'n') goto yy34;
+	goto yy31;
+yy160:
+	yych = *++p;
+	if (yych == 'E') goto yy210;
+	if (yych == 'e') goto yy210;
+	goto yy31;
+yy161:
+	yych = *++p;
+	if (yych == 'H') goto yy34;
+	if (yych == 'h') goto yy34;
+	goto yy31;
+yy162:
+	yych = *++p;
+	if (yych == 'O') goto yy206;
+	if (yych == 'o') goto yy206;
+	goto yy31;
+yy163:
+	yych = *++p;
+	if (yych <= 'L') {
+		if (yych == 'A') goto yy196;
+		if (yych <= 'K') goto yy31;
+		goto yy197;
+	} else {
+		if (yych <= 'a') {
+			if (yych <= '`') goto yy31;
+			goto yy196;
+		} else {
+			if (yych == 'l') goto yy197;
+			goto yy31;
+		}
+	}
+yy164:
+	yych = *++p;
+	if (yych <= 'S') {
+		if (yych == 'B') goto yy34;
+		if (yych <= 'R') goto yy31;
+		goto yy34;
+	} else {
+		if (yych <= 'b') {
+			if (yych <= 'a') goto yy31;
+			goto yy34;
+		} else {
+			if (yych == 's') goto yy34;
+			goto yy31;
+		}
+	}
+yy165:
+	yych = *++p;
+	if (yych == 'Y') goto yy194;
+	if (yych == 'y') goto yy194;
+	goto yy31;
+yy166:
+	yych = *++p;
+	if (yych == 'N') goto yy34;
+	if (yych == 'n') goto yy34;
+	goto yy31;
+yy167:
+	yych = *++p;
+	if (yych == 'T') goto yy193;
+	if (yych == 't') goto yy193;
+	goto yy31;
+yy168:
+	yych = *++p;
+	if (yych <= 'S') {
+		if (yych <= 'C') {
+			if (yych <= 'B') goto yy31;
+			goto yy180;
+		} else {
+			if (yych <= 'Q') goto yy31;
+			if (yych <= 'R') goto yy178;
+			goto yy179;
+		}
+	} else {
+		if (yych <= 'q') {
+			if (yych == 'c') goto yy180;
+			goto yy31;
+		} else {
+			if (yych <= 'r') goto yy178;
+			if (yych <= 's') goto yy179;
+			goto yy31;
+		}
+	}
+yy169:
+	yych = *++p;
+	if (yych == 'M') goto yy177;
+	if (yych == 'm') goto yy177;
+	goto yy31;
+yy170:
+	yych = *++p;
+	if (yych <= 'P') {
+		if (yych == 'E') goto yy174;
+		if (yych <= 'O') goto yy31;
+		goto yy175;
+	} else {
+		if (yych <= 'e') {
+			if (yych <= 'd') goto yy31;
+			goto yy174;
+		} else {
+			if (yych == 'p') goto yy175;
+			goto yy31;
+		}
+	}
+yy171:
+	yych = *++p;
+	if (yych == 'T') goto yy172;
+	if (yych != 't') goto yy31;
+yy172:
+	yych = *++p;
+	if (yych == 'T') goto yy173;
+	if (yych != 't') goto yy31;
+yy173:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy174:
+	yych = *++p;
+	if (yych == 'V') goto yy176;
+	if (yych == 'v') goto yy176;
+	goto yy31;
+yy175:
+	yych = *++p;
+	if (yych <= 'R') {
+		if (yych == ':') goto yy35;
+		goto yy31;
+	} else {
+		if (yych <= 'S') goto yy34;
+		if (yych == 's') goto yy34;
+		goto yy31;
+	}
+yy176:
+	yych = *++p;
+	if (yych == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+yy177:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy178:
+	yych = *++p;
+	if (yych == 'V') goto yy190;
+	if (yych == 'v') goto yy190;
+	goto yy31;
+yy179:
+	yych = *++p;
+	if (yych == 'S') goto yy187;
+	if (yych == 's') goto yy187;
+	goto yy31;
+yy180:
+	yych = *++p;
+	if (yych == 'O') goto yy181;
+	if (yych != 'o') goto yy31;
+yy181:
+	yych = *++p;
+	if (yych == 'N') goto yy182;
+	if (yych != 'n') goto yy31;
+yy182:
+	yych = *++p;
+	if (yych == 'D') goto yy183;
+	if (yych != 'd') goto yy31;
+yy183:
+	yych = *++p;
+	if (yych == 'L') goto yy184;
+	if (yych != 'l') goto yy31;
+yy184:
+	yych = *++p;
+	if (yych == 'I') goto yy185;
+	if (yych != 'i') goto yy31;
+yy185:
+	yych = *++p;
+	if (yych == 'F') goto yy186;
+	if (yych != 'f') goto yy31;
+yy186:
+	yych = *++p;
+	if (yych == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+yy187:
+	yych = *++p;
+	if (yych == 'I') goto yy188;
+	if (yych != 'i') goto yy31;
+yy188:
+	yych = *++p;
+	if (yych == 'O') goto yy189;
+	if (yych != 'o') goto yy31;
+yy189:
+	yych = *++p;
+	if (yych == 'N') goto yy34;
+	if (yych == 'n') goto yy34;
+	goto yy31;
+yy190:
+	yych = *++p;
+	if (yych == 'I') goto yy191;
+	if (yych != 'i') goto yy31;
+yy191:
+	yych = *++p;
+	if (yych == 'C') goto yy192;
+	if (yych != 'c') goto yy31;
+yy192:
+	yych = *++p;
+	if (yych == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+yy193:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy194:
+	yych = *++p;
+	if (yych == 'P') goto yy195;
+	if (yych != 'p') goto yy31;
+yy195:
+	yych = *++p;
+	if (yych == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+yy196:
+	yych = *++p;
+	if (yych == 'P') goto yy200;
+	if (yych == 'p') goto yy200;
+	goto yy31;
+yy197:
+	yych = *++p;
+	if (yych == 'D') goto yy198;
+	if (yych != 'd') goto yy31;
+yy198:
+	yych = *++p;
+	if (yych == 'A') goto yy199;
+	if (yych != 'a') goto yy31;
+yy199:
+	yych = *++p;
+	if (yych == 'T') goto yy34;
+	if (yych == 't') goto yy34;
+	goto yy31;
+yy200:
+	yych = *++p;
+	if (yych != '.') goto yy31;
+	yych = *++p;
+	if (yych == 'B') goto yy202;
+	if (yych != 'b') goto yy31;
+yy202:
+	yych = *++p;
+	if (yych == 'E') goto yy203;
+	if (yych != 'e') goto yy31;
+yy203:
+	yych = *++p;
+	if (yych == 'E') goto yy204;
+	if (yych != 'e') goto yy31;
+yy204:
+	yych = *++p;
+	if (yych == 'P') goto yy205;
+	if (yych != 'p') goto yy31;
+yy205:
+	yych = *++p;
+	if (yych <= 'R') {
+		if (yych == ':') goto yy35;
+		goto yy31;
+	} else {
+		if (yych <= 'S') goto yy34;
+		if (yych == 's') goto yy34;
+		goto yy31;
+	}
+yy206:
+	yych = *++p;
+	if (yych == 'T') goto yy207;
+	if (yych != 't') goto yy31;
+yy207:
+	yych = *++p;
+	if (yych == 'I') goto yy208;
+	if (yych != 'i') goto yy31;
+yy208:
+	yych = *++p;
+	if (yych == 'F') goto yy209;
+	if (yych != 'f') goto yy31;
+yy209:
+	yych = *++p;
+	if (yych == 'Y') goto yy34;
+	if (yych == 'y') goto yy34;
+	goto yy31;
+yy210:
+	yych = *++p;
+	if (yych == 'A') goto yy211;
+	if (yych != 'a') goto yy31;
+yy211:
+	yych = *++p;
+	if (yych == 'M') goto yy34;
+	if (yych == 'm') goto yy34;
+	goto yy31;
+yy212:
+	yych = *++p;
+	if (yych <= 'S') {
+		if (yych == 'M') goto yy224;
+		if (yych <= 'R') goto yy31;
+		goto yy223;
+	} else {
+		if (yych <= 'm') {
+			if (yych <= 'l') goto yy31;
+			goto yy224;
+		} else {
+			if (yych == 's') goto yy223;
+			goto yy31;
+		}
+	}
+yy213:
+	yych = *++p;
+	if (yych == 'Y') goto yy221;
+	if (yych == 'y') goto yy221;
+	goto yy31;
+yy214:
+	yych = *++p;
+	if (yych == 'I') goto yy34;
+	if (yych == 'i') goto yy34;
+	goto yy31;
+yy215:
+	yych = *++p;
+	if (yych == 'S') goto yy216;
+	if (yych != 's') goto yy31;
+yy216:
+	yych = *++p;
+	if (yych <= 'N') {
+		if (yych == ':') goto yy35;
+		goto yy31;
+	} else {
+		if (yych <= 'O') goto yy217;
+		if (yych != 'o') goto yy31;
+	}
+yy217:
+	yych = *++p;
+	if (yych == 'U') goto yy218;
+	if (yych != 'u') goto yy31;
+yy218:
+	yych = *++p;
+	if (yych == 'R') goto yy219;
+	if (yych != 'r') goto yy31;
+yy219:
+	yych = *++p;
+	if (yych == 'C') goto yy220;
+	if (yych != 'c') goto yy31;
+yy220:
+	yych = *++p;
+	if (yych == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+yy221:
+	yych = *++p;
+	if (yych == 'N') goto yy222;
+	if (yych != 'n') goto yy31;
+yy222:
+	yych = *++p;
+	if (yych == 'C') goto yy34;
+	if (yych == 'c') goto yy34;
+	goto yy31;
+yy223:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy224:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy225:
+	yych = *++p;
+	if (yych == 'Y') goto yy245;
+	if (yych == 'y') goto yy245;
+	goto yy31;
+yy226:
+	yych = *++p;
+	if (yych <= 'O') {
+		if (yych == 'E') goto yy242;
+		if (yych <= 'N') goto yy31;
+		goto yy243;
+	} else {
+		if (yych <= 'e') {
+			if (yych <= 'd') goto yy31;
+			goto yy242;
+		} else {
+			if (yych == 'o') goto yy243;
+			goto yy31;
+		}
+	}
+yy227:
+	yych = *++p;
+	if (yych == 'A') goto yy237;
+	if (yych == 'a') goto yy237;
+	goto yy31;
+yy228:
+	yych = *++p;
+	if (yych <= 'P') {
+		if (yych == 'L') goto yy230;
+		if (yych <= 'O') goto yy31;
+		goto yy231;
+	} else {
+		if (yych <= 'l') {
+			if (yych <= 'k') goto yy31;
+			goto yy230;
+		} else {
+			if (yych == 'p') goto yy231;
+			goto yy31;
+		}
+	}
+yy229:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy230:
+	yych = *++p;
+	if (yych == 'M') goto yy34;
+	if (yych == 'm') goto yy34;
+	goto yy31;
+yy231:
+	yych = *++p;
+	if (yych == 'A') goto yy232;
+	if (yych != 'a') goto yy31;
+yy232:
+	yych = *++p;
+	if (yych == 'R') goto yy233;
+	if (yych != 'r') goto yy31;
+yy233:
+	yych = *++p;
+	if (yych == 'A') goto yy234;
+	if (yych != 'a') goto yy31;
+yy234:
+	yych = *++p;
+	if (yych == 'Z') goto yy235;
+	if (yych != 'z') goto yy31;
+yy235:
+	yych = *++p;
+	if (yych == 'Z') goto yy236;
+	if (yych != 'z') goto yy31;
+yy236:
+	yych = *++p;
+	if (yych == 'I') goto yy34;
+	if (yych == 'i') goto yy34;
+	goto yy31;
+yy237:
+	yych = *++p;
+	if (yych == 'T') goto yy238;
+	if (yych != 't') goto yy31;
+yy238:
+	yych = *++p;
+	if (yych == 'F') goto yy239;
+	if (yych != 'f') goto yy31;
+yy239:
+	yych = *++p;
+	if (yych == 'O') goto yy240;
+	if (yych != 'o') goto yy31;
+yy240:
+	yych = *++p;
+	if (yych == 'R') goto yy241;
+	if (yych != 'r') goto yy31;
+yy241:
+	yych = *++p;
+	if (yych == 'M') goto yy34;
+	if (yych == 'm') goto yy34;
+	goto yy31;
+yy242:
+	yych = *++p;
+	if (yych == 'S') goto yy34;
+	if (yych == 's') goto yy34;
+	goto yy31;
+yy243:
+	yych = *++p;
+	if (yych == 'X') goto yy244;
+	if (yych != 'x') goto yy31;
+yy244:
+	yych = *++p;
+	if (yych == 'Y') goto yy34;
+	if (yych == 'y') goto yy34;
+	goto yy31;
+yy245:
+	yych = *++p;
+	if (yych == 'C') goto yy34;
+	if (yych == 'c') goto yy34;
+	goto yy31;
+yy246:
+	yych = *++p;
+	if (yych == 'D') goto yy34;
+	if (yych == 'd') goto yy34;
+	goto yy31;
+yy247:
+	yych = *++p;
+	if (yych == 'A') goto yy248;
+	if (yych != 'a') goto yy31;
+yy248:
+	yych = *++p;
+	if (yych == 'Q') goto yy249;
+	if (yych != 'q') goto yy31;
+yy249:
+	yych = *++p;
+	if (yych == 'U') goto yy250;
+	if (yych != 'u') goto yy31;
+yy250:
+	yych = *++p;
+	if (yych == 'E') goto yy251;
+	if (yych != 'e') goto yy31;
+yy251:
+	yych = *++p;
+	if (yych == 'L') goto yy252;
+	if (yych != 'l') goto yy31;
+yy252:
+	yych = *++p;
+	if (yych == 'O') goto yy253;
+	if (yych != 'o') goto yy31;
+yy253:
+	yych = *++p;
+	if (yych == 'C') goto yy254;
+	if (yych != 'c') goto yy31;
+yy254:
+	yych = *++p;
+	if (yych == 'K') goto yy255;
+	if (yych != 'k') goto yy31;
+yy255:
+	yych = *++p;
+	if (yych == 'T') goto yy256;
+	if (yych != 't') goto yy31;
+yy256:
+	yych = *++p;
+	if (yych == 'O') goto yy257;
+	if (yych != 'o') goto yy31;
+yy257:
+	yych = *++p;
+	if (yych == 'K') goto yy258;
+	if (yych != 'k') goto yy31;
+yy258:
+	yych = *++p;
+	if (yych == 'E') goto yy259;
+	if (yych != 'e') goto yy31;
+yy259:
+	yych = *++p;
+	if (yych == 'N') goto yy34;
+	if (yych == 'n') goto yy34;
+	goto yy31;
+yy260:
+	yych = *++p;
+	if (yych == 'T') goto yy267;
+	if (yych == 't') goto yy267;
+	goto yy31;
+yy261:
+	yych = *++p;
+	if (yych == 'T') goto yy266;
+	if (yych == 't') goto yy266;
+	goto yy31;
+yy262:
+	yych = *++p;
+	if (yych <= 'G') {
+		if (yych == ':') goto yy35;
+		goto yy31;
+	} else {
+		if (yych <= 'H') goto yy34;
+		if (yych == 'h') goto yy34;
+		goto yy31;
+	}
+yy263:
+	yych = *++p;
+	if (yych == 'S') goto yy34;
+	if (yych == 's') goto yy34;
+	goto yy31;
+yy264:
+	yych = *++p;
+	if (yych == 'W') goto yy265;
+	if (yych != 'w') goto yy31;
+yy265:
+	yych = *++p;
+	if (yych == 'S') goto yy34;
+	if (yych == 's') goto yy34;
+	goto yy31;
+yy266:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy267:
+	yych = *++p;
+	if (yych == 'E') goto yy268;
+	if (yych != 'e') goto yy31;
+yy268:
+	yych = *++p;
+	if (yych == 'S') goto yy34;
+	if (yych == 's') goto yy34;
+	goto yy31;
+yy269:
+	yych = *++p;
+	if (yych == 'N') goto yy34;
+	if (yych == 'n') goto yy34;
+	goto yy31;
+yy270:
+	yych = *++p;
+	if (yych <= 'P') {
+		if (yych == 'M') goto yy301;
+		if (yych <= 'O') goto yy31;
+		goto yy300;
+	} else {
+		if (yych <= 'm') {
+			if (yych <= 'l') goto yy31;
+			goto yy301;
+		} else {
+			if (yych == 'p') goto yy300;
+			goto yy31;
+		}
+	}
+yy271:
+	yych = *++p;
+	if (yych <= 'Q') {
+		if (yych <= '-') {
+			if (yych <= ',') goto yy31;
+			goto yy293;
+		} else {
+			if (yych == 'N') goto yy294;
+			goto yy31;
+		}
+	} else {
+		if (yych <= 'n') {
+			if (yych <= 'R') goto yy292;
+			if (yych <= 'm') goto yy31;
+			goto yy294;
+		} else {
+			if (yych == 'r') goto yy292;
+			goto yy31;
+		}
+	}
+yy272:
+	yych = *++p;
+	if (yych == 'S') goto yy34;
+	if (yych == 's') goto yy34;
+	goto yy31;
+yy273:
+	yych = *++p;
+	if (yych == 'S') goto yy288;
+	if (yych == 's') goto yy288;
+	goto yy31;
+yy274:
+	yych = *++p;
+	switch (yych) {
+	case 'G':
+	case 'g':	goto yy279;
+	case 'I':
+	case 'i':	goto yy278;
+	case 'P':
+	case 'p':	goto yy280;
+	case 'R':
+	case 'r':	goto yy281;
+	default:	goto yy31;
+	}
+yy275:
+	yych = *++p;
+	if (yych == 'Q') goto yy277;
+	if (yych == 'q') goto yy277;
+	goto yy31;
+yy276:
+	yych = *++p;
+	if (yych == 'D') goto yy34;
+	if (yych == 'd') goto yy34;
+	goto yy31;
+yy277:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy278:
+	yych = *++p;
+	if (yych == 'L') goto yy286;
+	if (yych == 'l') goto yy286;
+	goto yy31;
+yy279:
+	yych = *++p;
+	if (yych == 'N') goto yy284;
+	if (yych == 'n') goto yy284;
+	goto yy31;
+yy280:
+	yych = *++p;
+	if (yych == 'S') goto yy34;
+	if (yych == 's') goto yy34;
+	goto yy31;
+yy281:
+	yych = *++p;
+	if (yych == 'K') goto yy282;
+	if (yych != 'k') goto yy31;
+yy282:
+	yych = *++p;
+	if (yych == 'E') goto yy283;
+	if (yych != 'e') goto yy31;
+yy283:
+	yych = *++p;
+	if (yych == 'T') goto yy34;
+	if (yych == 't') goto yy34;
+	goto yy31;
+yy284:
+	yych = *++p;
+	if (yych == 'E') goto yy285;
+	if (yych != 'e') goto yy31;
+yy285:
+	yych = *++p;
+	if (yych == 'T') goto yy34;
+	if (yych == 't') goto yy34;
+	goto yy31;
+yy286:
+	yych = *++p;
+	if (yych == 'T') goto yy287;
+	if (yych != 't') goto yy31;
+yy287:
+	yych = *++p;
+	if (yych == 'O') goto yy34;
+	if (yych == 'o') goto yy34;
+	goto yy31;
+yy288:
+	yych = *++p;
+	if (yych == 'S') goto yy289;
+	if (yych != 's') goto yy31;
+yy289:
+	yych = *++p;
+	if (yych == 'A') goto yy290;
+	if (yych != 'a') goto yy31;
+yy290:
+	yych = *++p;
+	if (yych == 'G') goto yy291;
+	if (yych != 'g') goto yy31;
+yy291:
+	yych = *++p;
+	if (yych == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+yy292:
+	yych = *++p;
+	if (yych == 'P') goto yy299;
+	if (yych == 'p') goto yy299;
+	goto yy31;
+yy293:
+	yych = *++p;
+	if (yych == 'H') goto yy296;
+	if (yych == 'h') goto yy296;
+	goto yy31;
+yy294:
+	yych = *++p;
+	if (yych == 'I') goto yy295;
+	if (yych != 'i') goto yy31;
+yy295:
+	yych = *++p;
+	if (yych == 'M') goto yy34;
+	if (yych == 'm') goto yy34;
+	goto yy31;
+yy296:
+	yych = *++p;
+	if (yych == 'E') goto yy297;
+	if (yych != 'e') goto yy31;
+yy297:
+	yych = *++p;
+	if (yych == 'L') goto yy298;
+	if (yych != 'l') goto yy31;
+yy298:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy299:
+	yych = *++p;
+	if (yych <= 'R') {
+		if (yych == ':') goto yy35;
+		goto yy31;
+	} else {
+		if (yych <= 'S') goto yy34;
+		if (yych == 's') goto yy34;
+		goto yy31;
+	}
+yy300:
+	yych = *++p;
+	if (yych == 'D') goto yy304;
+	if (yych == 'd') goto yy304;
+	goto yy31;
+yy301:
+	yych = *++p;
+	if (yych == 'B') goto yy302;
+	if (yych != 'b') goto yy31;
+yy302:
+	yych = *++p;
+	if (yych == 'L') goto yy303;
+	if (yych != 'l') goto yy31;
+yy303:
+	yych = *++p;
+	if (yych == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+yy304:
+	yych = *++p;
+	if (yych == 'A') goto yy305;
+	if (yych != 'a') goto yy31;
+yy305:
+	yych = *++p;
+	if (yych == 'T') goto yy306;
+	if (yych != 't') goto yy31;
+yy306:
+	yych = *++p;
+	if (yych == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+yy307:
+	yych = *++p;
+	if (yych == 'A') goto yy312;
+	if (yych == 'a') goto yy312;
+	goto yy31;
+yy308:
+	yych = *++p;
+	if (yych == 'S') goto yy309;
+	if (yych != 's') goto yy31;
+yy309:
+	yych = *++p;
+	if (yych == 'T') goto yy310;
+	if (yych != 't') goto yy31;
+yy310:
+	yych = *++p;
+	if (yych == 'F') goto yy311;
+	if (yych != 'f') goto yy31;
+yy311:
+	yych = *++p;
+	if (yych == 'M') goto yy34;
+	if (yych == 'm') goto yy34;
+	goto yy31;
+yy312:
+	yych = *++p;
+	if (yych == 'P') goto yy313;
+	if (yych != 'p') goto yy31;
+yy313:
+	yych = *++p;
+	if (yych <= 'R') {
+		if (yych == ':') goto yy35;
+		goto yy31;
+	} else {
+		if (yych <= 'S') goto yy34;
+		if (yych == 's') goto yy34;
+		goto yy31;
+	}
+yy314:
+	yych = *++p;
+	if (yych == 'M') goto yy337;
+	if (yych == 'm') goto yy337;
+	goto yy31;
+yy315:
+	yych = *++p;
+	if (yych <= 'I') {
+		if (yych == 'C') goto yy326;
+		if (yych <= 'H') goto yy31;
+		goto yy325;
+	} else {
+		if (yych <= 'c') {
+			if (yych <= 'b') goto yy31;
+			goto yy326;
+		} else {
+			if (yych == 'i') goto yy325;
+			goto yy31;
+		}
+	}
+yy316:
+	yych = *++p;
+	if (yych <= 'P') {
+		if (yych == 'N') goto yy34;
+		if (yych <= 'O') goto yy31;
+		goto yy34;
+	} else {
+		if (yych <= 'n') {
+			if (yych <= 'm') goto yy31;
+			goto yy34;
+		} else {
+			if (yych == 'p') goto yy34;
+			goto yy31;
+		}
+	}
+yy317:
+	yych = *++p;
+	if (yych <= 'O') {
+		if (yych == 'A') goto yy323;
+		if (yych <= 'N') goto yy31;
+		goto yy324;
+	} else {
+		if (yych <= 'a') {
+			if (yych <= '`') goto yy31;
+			goto yy323;
+		} else {
+			if (yych == 'o') goto yy324;
+			goto yy31;
+		}
+	}
+yy318:
+	yych = *++p;
+	if (yych == 'F') goto yy322;
+	if (yych == 'f') goto yy322;
+	goto yy31;
+yy319:
+	yych = *++p;
+	if (yych <= '@') {
+		if (yych == ':') goto yy35;
+		goto yy31;
+	} else {
+		if (yych <= 'A') goto yy321;
+		if (yych == 'a') goto yy321;
+		goto yy31;
+	}
+yy320:
+	yych = *++p;
+	if (yych == 'X') goto yy34;
+	if (yych == 'x') goto yy34;
+	goto yy31;
+yy321:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy322:
+	yych = *++p;
+	if (yych == 'O') goto yy34;
+	if (yych == 'o') goto yy34;
+	goto yy31;
+yy323:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy324:
+	yych = *++p;
+	if (yych == 'N') goto yy34;
+	if (yych == 'n') goto yy34;
+	goto yy31;
+yy325:
+	yych = *++p;
+	if (yych == 'S') goto yy327;
+	if (yych == 's') goto yy327;
+	goto yy31;
+yy326:
+	yych = *++p;
+	if (yych <= ':') {
+		if (yych == '6') goto yy34;
+		if (yych <= '9') goto yy31;
+		goto yy35;
+	} else {
+		if (yych <= 'S') {
+			if (yych <= 'R') goto yy31;
+			goto yy34;
+		} else {
+			if (yych == 's') goto yy34;
+			goto yy31;
+		}
+	}
+yy327:
+	yych = *++p;
+	if (yych == '.') goto yy328;
+	if (yych == ':') goto yy35;
+	goto yy31;
+yy328:
+	yych = *++p;
+	if (yych <= 'X') {
+		if (yych <= 'K') {
+			if (yych == 'B') goto yy331;
+			goto yy31;
+		} else {
+			if (yych <= 'L') goto yy329;
+			if (yych <= 'W') goto yy31;
+			goto yy330;
+		}
+	} else {
+		if (yych <= 'k') {
+			if (yych == 'b') goto yy331;
+			goto yy31;
+		} else {
+			if (yych <= 'l') goto yy329;
+			if (yych == 'x') goto yy330;
+			goto yy31;
+		}
+	}
+yy329:
+	yych = *++p;
+	if (yych == 'W') goto yy336;
+	if (yych == 'w') goto yy336;
+	goto yy31;
+yy330:
+	yych = *++p;
+	if (yych == 'P') goto yy334;
+	if (yych == 'p') goto yy334;
+	goto yy31;
+yy331:
+	yych = *++p;
+	if (yych == 'E') goto yy332;
+	if (yych != 'e') goto yy31;
+yy332:
+	yych = *++p;
+	if (yych == 'E') goto yy333;
+	if (yych != 'e') goto yy31;
+yy333:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy334:
+	yych = *++p;
+	if (yych == 'C') goto yy335;
+	if (yych != 'c') goto yy31;
+yy335:
+	yych = *++p;
+	if (yych <= 'R') {
+		if (yych == ':') goto yy35;
+		goto yy31;
+	} else {
+		if (yych <= 'S') goto yy34;
+		if (yych == 's') goto yy34;
+		goto yy31;
+	}
+yy336:
+	yych = *++p;
+	if (yych == 'Z') goto yy34;
+	if (yych == 'z') goto yy34;
+	goto yy31;
+yy337:
+	yych = *++p;
+	if (yych == 'S') goto yy34;
+	if (yych == 's') goto yy34;
+	goto yy31;
+yy338:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy339:
+	yych = *++p;
+	if (yych == 'T') goto yy342;
+	if (yych == 't') goto yy342;
+	goto yy31;
+yy340:
+	yych = *++p;
+	if (yych != '2') goto yy31;
+	yych = *++p;
+	if (yych == '3') goto yy34;
+	goto yy31;
+yy342:
+	yych = *++p;
+	if (yych == 'P') goto yy343;
+	if (yych != 'p') goto yy31;
+yy343:
+	yych = *++p;
+	if (yych <= 'R') {
+		if (yych == ':') goto yy35;
+		goto yy31;
+	} else {
+		if (yych <= 'S') goto yy34;
+		if (yych == 's') goto yy34;
+		goto yy31;
+	}
+yy344:
+	yych = *++p;
+	if (yych == 'A') goto yy360;
+	if (yych == 'a') goto yy360;
+	goto yy31;
+yy345:
+	yych = *++p;
+	if (yych <= 'Z') {
+		if (yych == 'T') goto yy34;
+		if (yych <= 'Y') goto yy31;
+		goto yy351;
+	} else {
+		if (yych <= 't') {
+			if (yych <= 's') goto yy31;
+			goto yy34;
+		} else {
+			if (yych == 'z') goto yy351;
+			goto yy31;
+		}
+	}
+yy346:
+	yych = *++p;
+	if (yych <= 'O') {
+		if (yych == ':') goto yy35;
+		goto yy31;
+	} else {
+		if (yych <= 'P') goto yy348;
+		if (yych == 'p') goto yy348;
+		goto yy31;
+	}
+yy347:
+	yych = *++p;
+	if (yych == 'O') goto yy34;
+	if (yych == 'o') goto yy34;
+	goto yy31;
+yy348:
+	yych = *++p;
+	if (yych == 'H') goto yy349;
+	if (yych != 'h') goto yy31;
+yy349:
+	yych = *++p;
+	if (yych == 'E') goto yy350;
+	if (yych != 'e') goto yy31;
+yy350:
+	yych = *++p;
+	if (yych == 'R') goto yy34;
+	if (yych == 'r') goto yy34;
+	goto yy31;
+yy351:
+	yych = *++p;
+	if (yych == 'M') goto yy352;
+	if (yych != 'm') goto yy31;
+yy352:
+	yych = *++p;
+	if (yych == 'O') goto yy353;
+	if (yych != 'o') goto yy31;
+yy353:
+	yych = *++p;
+	if (yych == 'P') goto yy354;
+	if (yych != 'p') goto yy31;
+yy354:
+	yych = *++p;
+	if (yych == 'R') goto yy355;
+	if (yych != 'r') goto yy31;
+yy355:
+	yych = *++p;
+	if (yych == 'O') goto yy356;
+	if (yych != 'o') goto yy31;
+yy356:
+	yych = *++p;
+	if (yych == 'J') goto yy357;
+	if (yych != 'j') goto yy31;
+yy357:
+	yych = *++p;
+	if (yych == 'E') goto yy358;
+	if (yych != 'e') goto yy31;
+yy358:
+	yych = *++p;
+	if (yych == 'C') goto yy359;
+	if (yych != 'c') goto yy31;
+yy359:
+	yych = *++p;
+	if (yych == 'T') goto yy34;
+	if (yych == 't') goto yy34;
+	goto yy31;
+yy360:
+	yych = *++p;
+	if (yych == 'L') goto yy361;
+	if (yych != 'l') goto yy31;
+yy361:
+	yych = *++p;
+	if (yych == 'K') goto yy34;
+	if (yych == 'k') goto yy34;
+	goto yy31;
+yy362:
+	yych = *++p;
+	if (yych <= 'S') {
+		if (yych <= 'M') {
+			if (yych == 'L') goto yy372;
+			goto yy31;
+		} else {
+			if (yych <= 'N') goto yy373;
+			if (yych <= 'R') goto yy31;
+			goto yy374;
+		}
+	} else {
+		if (yych <= 'm') {
+			if (yych == 'l') goto yy372;
+			goto yy31;
+		} else {
+			if (yych <= 'n') goto yy373;
+			if (yych == 's') goto yy374;
+			goto yy31;
+		}
+	}
+yy363:
+	yych = *++p;
+	if (yych == 'E') goto yy371;
+	if (yych == 'e') goto yy371;
+	goto yy31;
+yy364:
+	yych = *++p;
+	if (yych == 'C') goto yy366;
+	if (yych == 'c') goto yy366;
+	goto yy31;
+yy365:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy366:
+	yych = *++p;
+	if (yych == 'E') goto yy367;
+	if (yych != 'e') goto yy31;
+yy367:
+	yych = *++p;
+	if (yych == 'T') goto yy368;
+	if (yych != 't') goto yy31;
+yy368:
+	yych = *++p;
+	if (yych == 'I') goto yy369;
+	if (yych != 'i') goto yy31;
+yy369:
+	yych = *++p;
+	if (yych == 'M') goto yy370;
+	if (yych != 'm') goto yy31;
+yy370:
+	yych = *++p;
+	if (yych == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+yy371:
+	yych = *++p;
+	if (yych == 'D') goto yy34;
+	if (yych == 'd') goto yy34;
+	goto yy31;
+yy372:
+	yych = *++p;
+	if (yych == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+yy373:
+	yych = *++p;
+	if (yych == 'G') goto yy375;
+	if (yych == 'g') goto yy375;
+	goto yy31;
+yy374:
+	yych = *++p;
+	if (yych == 'H') goto yy34;
+	if (yych == 'h') goto yy34;
+	goto yy31;
+yy375:
+	yych = *++p;
+	if (yych == 'E') goto yy376;
+	if (yych != 'e') goto yy31;
+yy376:
+	yych = *++p;
+	if (yych == 'R') goto yy34;
+	if (yych == 'r') goto yy34;
+	goto yy31;
+yy377:
+	yych = *++p;
+	if (yych == 'T') goto yy395;
+	if (yych == 't') goto yy395;
+	goto yy31;
+yy378:
+	yych = *++p;
+	if (yych == 'T') goto yy34;
+	if (yych == 't') goto yy34;
+	goto yy31;
+yy379:
+	yych = *++p;
+	if (yych == 'M') goto yy34;
+	if (yych == 'm') goto yy34;
+	goto yy31;
+yy380:
+	yych = *++p;
+	if (yych <= 'S') {
+		if (yych == 'P') goto yy34;
+		if (yych <= 'R') goto yy31;
+		goto yy34;
+	} else {
+		if (yych <= 'p') {
+			if (yych <= 'o') goto yy31;
+			goto yy34;
+		} else {
+			if (yych == 's') goto yy34;
+			goto yy31;
+		}
+	}
+yy381:
+	yych = *++p;
+	if (yych == 'I') goto yy389;
+	if (yych == 'i') goto yy389;
+	goto yy31;
+yy382:
+	yych = *++p;
+	if (yych == 'A') goto yy388;
+	if (yych == 'a') goto yy388;
+	goto yy31;
+yy383:
+	yych = *++p;
+	if (yych == 'O') goto yy386;
+	if (yych == 'o') goto yy386;
+	goto yy31;
+yy384:
+	yych = *++p;
+	if (yych == 'A') goto yy385;
+	if (yych != 'a') goto yy31;
+yy385:
+	yych = *++p;
+	if (yych <= 'R') {
+		if (yych == ':') goto yy35;
+		goto yy31;
+	} else {
+		if (yych <= 'S') goto yy34;
+		if (yych == 's') goto yy34;
+		goto yy31;
+	}
+yy386:
+	yych = *++p;
+	if (yych == 'U') goto yy387;
+	if (yych != 'u') goto yy31;
+yy387:
+	yych = *++p;
+	if (yych == 'T') goto yy34;
+	if (yych == 't') goto yy34;
+	goto yy31;
+yy388:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy389:
+	yych = *++p;
+	if (yych == 'U') goto yy390;
+	if (yych != 'u') goto yy31;
+yy390:
+	yych = *++p;
+	if (yych == 'M') goto yy391;
+	if (yych != 'm') goto yy31;
+yy391:
+	yych = *++p;
+	if (yych == 'X') goto yy392;
+	if (yych != 'x') goto yy31;
+yy392:
+	yych = *++p;
+	if (yych == 'T') goto yy393;
+	if (yych != 't') goto yy31;
+yy393:
+	yych = *++p;
+	if (yych == 'R') goto yy394;
+	if (yych != 'r') goto yy31;
+yy394:
+	yych = *++p;
+	if (yych == 'A') goto yy34;
+	if (yych == 'a') goto yy34;
+	goto yy31;
+yy395:
+	yych = *++p;
+	if (yych == 'A') goto yy396;
+	if (yych != 'a') goto yy31;
+yy396:
+	yych = *++p;
+	if (yych == 'C') goto yy397;
+	if (yych != 'c') goto yy31;
+yy397:
+	yych = *++p;
+	if (yych == 'H') goto yy398;
+	if (yych != 'h') goto yy31;
+yy398:
+	yych = *++p;
+	if (yych == 'M') goto yy399;
+	if (yych != 'm') goto yy31;
+yy399:
+	yych = *++p;
+	if (yych == 'E') goto yy400;
+	if (yych != 'e') goto yy31;
+yy400:
+	yych = *++p;
+	if (yych == 'N') goto yy401;
+	if (yych != 'n') goto yy31;
+yy401:
+	yych = *++p;
+	if (yych == 'T') goto yy34;
+	if (yych == 't') goto yy34;
+	goto yy31;
+yy402:
+	yych = *++p;
+	if (yych == 'S') goto yy34;
+	if (yych == 's') goto yy34;
+	goto yy31;
+yy403:
+	yych = *++p;
+	if (yych <= 'V') {
+		if (yych == 'R') goto yy34;
+		if (yych <= 'U') goto yy31;
+	} else {
+		if (yych <= 'r') {
+			if (yych <= 'q') goto yy31;
+			goto yy34;
+		} else {
+			if (yych != 'v') goto yy31;
+		}
+	}
+	yych = *++p;
+	if (yych == 'A') goto yy405;
+	if (yych != 'a') goto yy31;
+yy405:
+	yych = *++p;
+	if (yych == 'S') goto yy406;
+	if (yych != 's') goto yy31;
+yy406:
+	yych = *++p;
+	if (yych == 'C') goto yy407;
+	if (yych != 'c') goto yy31;
+yy407:
+	yych = *++p;
+	if (yych == 'R') goto yy408;
+	if (yych != 'r') goto yy31;
+yy408:
+	yych = *++p;
+	if (yych == 'I') goto yy409;
+	if (yych != 'i') goto yy31;
+yy409:
+	yych = *++p;
+	if (yych == 'P') goto yy410;
+	if (yych != 'p') goto yy31;
+yy410:
+	yych = *++p;
+	if (yych == 'T') goto yy34;
+	if (yych == 't') goto yy34;
+	goto yy31;
+yy411:
+	yych = *++p;
+	if (yych == 'B') goto yy34;
+	if (yych == 'b') goto yy34;
+	goto yy31;
+yy412:
+	yych = *++p;
+	if (yych == 'N') goto yy34;
+	if (yych == 'n') goto yy34;
+	goto yy31;
+yy413:
+	yych = *++p;
+	if (yych == 'N') goto yy420;
+	if (yych == 'n') goto yy420;
+	goto yy31;
+yy414:
+	yych = *++p;
+	if (yych == 'S') goto yy34;
+	if (yych == 's') goto yy34;
+	goto yy31;
+yy415:
+	yych = *++p;
+	if (yych == 'C') goto yy419;
+	if (yych == 'c') goto yy419;
+	goto yy31;
+yy416:
+	yych = *++p;
+	if (yych <= 'V') {
+		if (yych == 'T') goto yy418;
+		if (yych <= 'U') goto yy31;
+		goto yy34;
+	} else {
+		if (yych <= 't') {
+			if (yych <= 's') goto yy31;
+			goto yy418;
+		} else {
+			if (yych == 'v') goto yy34;
+			goto yy31;
+		}
+	}
+yy417:
+	yych = *++p;
+	if (yych == 'I') goto yy34;
+	if (yych == 'i') goto yy34;
+	goto yy31;
+yy418:
+	yych = *++p;
+	if (yych == 'A') goto yy34;
+	if (yych == 'a') goto yy34;
+	goto yy31;
+yy419:
+	yych = *++p;
+	if (yych == 'T') goto yy34;
+	if (yych == 't') goto yy34;
+	goto yy31;
+yy420:
+	yych = *++p;
+	if (yych == 'A') goto yy421;
+	if (yych != 'a') goto yy31;
+yy421:
+	yych = *++p;
+	if (yych != '-') goto yy31;
+	yych = *++p;
+	if (yych == 'P') goto yy423;
+	if (yych != 'p') goto yy31;
+yy423:
+	yych = *++p;
+	if (yych == 'L') goto yy424;
+	if (yych != 'l') goto yy31;
+yy424:
+	yych = *++p;
+	if (yych == 'A') goto yy425;
+	if (yych != 'a') goto yy31;
+yy425:
+	yych = *++p;
+	if (yych == 'Y') goto yy426;
+	if (yych != 'y') goto yy31;
+yy426:
+	yych = *++p;
+	if (yych <= 'S') {
+		if (yych == 'C') goto yy427;
+		if (yych <= 'R') goto yy31;
+		goto yy428;
+	} else {
+		if (yych <= 'c') {
+			if (yych <= 'b') goto yy31;
+		} else {
+			if (yych == 's') goto yy428;
+			goto yy31;
+		}
+	}
+yy427:
+	yych = *++p;
+	if (yych == 'O') goto yy433;
+	if (yych == 'o') goto yy433;
+	goto yy31;
+yy428:
+	yych = *++p;
+	if (yych == 'I') goto yy429;
+	if (yych != 'i') goto yy31;
+yy429:
+	yych = *++p;
+	if (yych == 'N') goto yy430;
+	if (yych != 'n') goto yy31;
+yy430:
+	yych = *++p;
+	if (yych == 'G') goto yy431;
+	if (yych != 'g') goto yy31;
+yy431:
+	yych = *++p;
+	if (yych == 'L') goto yy432;
+	if (yych != 'l') goto yy31;
+yy432:
+	yych = *++p;
+	if (yych == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+yy433:
+	yych = *++p;
+	if (yych == 'N') goto yy434;
+	if (yych != 'n') goto yy31;
+yy434:
+	yych = *++p;
+	if (yych == 'T') goto yy435;
+	if (yych != 't') goto yy31;
+yy435:
+	yych = *++p;
+	if (yych == 'A') goto yy436;
+	if (yych != 'a') goto yy31;
+yy436:
+	yych = *++p;
+	if (yych == 'I') goto yy437;
+	if (yych != 'i') goto yy31;
+yy437:
+	yych = *++p;
+	if (yych == 'N') goto yy438;
+	if (yych != 'n') goto yy31;
+yy438:
+	yych = *++p;
+	if (yych == 'E') goto yy439;
+	if (yych != 'e') goto yy31;
+yy439:
+	yych = *++p;
+	if (yych == 'R') goto yy34;
+	if (yych == 'r') goto yy34;
+	goto yy31;
+yy440:
+	yych = *++p;
+	if (yych == 'S') goto yy34;
+	if (yych == 's') goto yy34;
+	goto yy31;
+yy441:
+	yych = *++p;
+	if (yych <= 'N') {
+		if (yych <= 'A') {
+			if (yych <= '@') goto yy31;
+			goto yy463;
+		} else {
+			if (yych <= 'L') goto yy31;
+			if (yych <= 'M') goto yy464;
+			goto yy465;
+		}
+	} else {
+		if (yych <= 'l') {
+			if (yych == 'a') goto yy463;
+			goto yy31;
+		} else {
+			if (yych <= 'm') goto yy464;
+			if (yych <= 'n') goto yy465;
+			goto yy31;
+		}
+	}
+yy442:
+	yych = *++p;
+	if (yych == 'R') goto yy450;
+	if (yych == 'r') goto yy450;
+	goto yy31;
+yy443:
+	yych = *++p;
+	if (yych <= 'P') {
+		if (yych == 'L') goto yy447;
+		if (yych <= 'O') goto yy31;
+		goto yy34;
+	} else {
+		if (yych <= 'l') {
+			if (yych <= 'k') goto yy31;
+			goto yy447;
+		} else {
+			if (yych == 'p') goto yy34;
+			goto yy31;
+		}
+	}
+yy444:
+	yych = *++p;
+	if (yych == 'I') goto yy446;
+	if (yych == 'i') goto yy446;
+	goto yy31;
+yy445:
+	yych = *++p;
+	if (yych == 'D') goto yy34;
+	if (yych == 'd') goto yy34;
+	goto yy31;
+yy446:
+	yych = *++p;
+	if (yych == 'D') goto yy34;
+	if (yych == 'd') goto yy34;
+	goto yy31;
+yy447:
+	yych = *++p;
+	if (yych == 'L') goto yy448;
+	if (yych != 'l') goto yy31;
+yy448:
+	yych = *++p;
+	if (yych == 'T') goto yy449;
+	if (yych != 't') goto yy31;
+yy449:
+	yych = *++p;
+	if (yych == 'O') goto yy34;
+	if (yych == 'o') goto yy34;
+	goto yy31;
+yy450:
+	yych = *++p;
+	if (yych == 'O') goto yy451;
+	if (yych != 'o') goto yy31;
+yy451:
+	yych = *++p;
+	if (yych == 'M') goto yy452;
+	if (yych != 'm') goto yy31;
+yy452:
+	yych = *++p;
+	if (yych == 'E') goto yy453;
+	if (yych != 'e') goto yy31;
+yy453:
+	yych = *++p;
+	if (yych == '-') goto yy454;
+	if (yych == ':') goto yy35;
+	goto yy31;
+yy454:
+	yych = *++p;
+	if (yych == 'E') goto yy455;
+	if (yych != 'e') goto yy31;
+yy455:
+	yych = *++p;
+	if (yych == 'X') goto yy456;
+	if (yych != 'x') goto yy31;
+yy456:
+	yych = *++p;
+	if (yych == 'T') goto yy457;
+	if (yych != 't') goto yy31;
+yy457:
+	yych = *++p;
+	if (yych == 'E') goto yy458;
+	if (yych != 'e') goto yy31;
+yy458:
+	yych = *++p;
+	if (yych == 'N') goto yy459;
+	if (yych != 'n') goto yy31;
+yy459:
+	yych = *++p;
+	if (yych == 'S') goto yy460;
+	if (yych != 's') goto yy31;
+yy460:
+	yych = *++p;
+	if (yych == 'I') goto yy461;
+	if (yych != 'i') goto yy31;
+yy461:
+	yych = *++p;
+	if (yych == 'O') goto yy462;
+	if (yych != 'o') goto yy31;
+yy462:
+	yych = *++p;
+	if (yych == 'N') goto yy34;
+	if (yych == 'n') goto yy34;
+	goto yy31;
+yy463:
+	yych = *++p;
+	if (yych == 'P') goto yy34;
+	if (yych == 'p') goto yy34;
+	goto yy31;
+yy464:
+	yych = *++p;
+	if (yych == '-') goto yy469;
+	goto yy31;
+yy465:
+	yych = *++p;
+	if (yych == 'T') goto yy466;
+	if (yych != 't') goto yy31;
+yy466:
+	yych = *++p;
+	if (yych == 'E') goto yy467;
+	if (yych != 'e') goto yy31;
+yy467:
+	yych = *++p;
+	if (yych == 'N') goto yy468;
+	if (yych != 'n') goto yy31;
+yy468:
+	yych = *++p;
+	if (yych == 'T') goto yy34;
+	if (yych == 't') goto yy34;
+	goto yy31;
+yy469:
+	yych = *++p;
+	if (yych == 'E') goto yy470;
+	if (yych != 'e') goto yy31;
+yy470:
+	yych = *++p;
+	if (yych == 'V') goto yy471;
+	if (yych != 'v') goto yy31;
+yy471:
+	yych = *++p;
+	if (yych == 'E') goto yy472;
+	if (yych != 'e') goto yy31;
+yy472:
+	yych = *++p;
+	if (yych == 'N') goto yy473;
+	if (yych != 'n') goto yy31;
+yy473:
+	yych = *++p;
+	if (yych == 'T') goto yy474;
+	if (yych != 't') goto yy31;
+yy474:
+	yych = *++p;
+	if (yych == 'B') goto yy475;
+	if (yych != 'b') goto yy31;
+yy475:
+	yych = *++p;
+	if (yych == 'R') goto yy476;
+	if (yych != 'r') goto yy31;
+yy476:
+	yych = *++p;
+	if (yych == 'I') goto yy477;
+	if (yych != 'i') goto yy31;
+yy477:
+	yych = *++p;
+	if (yych == 'T') goto yy478;
+	if (yych != 't') goto yy31;
+yy478:
+	yych = *++p;
+	if (yych == 'E') goto yy479;
+	if (yych != 'e') goto yy31;
+yy479:
+	yych = *++p;
+	if (yych != '-') goto yy31;
+	yych = *++p;
+	if (yych == 'A') goto yy481;
+	if (yych != 'a') goto yy31;
+yy481:
+	yych = *++p;
+	if (yych == 'T') goto yy482;
+	if (yych != 't') goto yy31;
+yy482:
+	yych = *++p;
+	if (yych == 'T') goto yy483;
+	if (yych != 't') goto yy31;
+yy483:
+	yych = *++p;
+	if (yych == 'E') goto yy484;
+	if (yych != 'e') goto yy31;
+yy484:
+	yych = *++p;
+	if (yych == 'N') goto yy485;
+	if (yych != 'n') goto yy31;
+yy485:
+	yych = *++p;
+	if (yych == 'D') goto yy486;
+	if (yych != 'd') goto yy31;
+yy486:
+	yych = *++p;
+	if (yych == 'E') goto yy487;
+	if (yych != 'e') goto yy31;
+yy487:
+	++p;
+	if ((yych = *p) == 'E') goto yy34;
+	if (yych == 'e') goto yy34;
+	goto yy31;
+}
+
+}
+
+// Try to match email autolink after first <, returning num of chars matched.
+int _scan_autolink_email(const unsigned char *p)
+{
+  const unsigned char *marker = NULL;
+  const unsigned char *start = p;
+
+{
+	unsigned char yych;
+	static const unsigned char yybm[] = {
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0, 128,   0, 128, 128, 128, 128, 128, 
+		  0,   0, 128, 128,   0, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128,   0,   0,   0, 128,   0, 128, 
+		  0, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128,   0,   0,   0, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128, 128, 
+		128, 128, 128, 128, 128, 128, 128,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+	};
+	yych = *p;
+	if (yych <= ',') {
+		if (yych <= '!') {
+			if (yych == '\n') goto yy490;
+			if (yych <= ' ') goto yy492;
+			goto yy491;
+		} else {
+			if (yych <= '\'') {
+				if (yych <= '"') goto yy492;
+				goto yy491;
+			} else {
+				if (yych <= ')') goto yy492;
+				if (yych <= '+') goto yy491;
+				goto yy492;
+			}
+		}
+	} else {
+		if (yych <= '?') {
+			if (yych <= '<') {
+				if (yych <= '9') goto yy491;
+				goto yy492;
+			} else {
+				if (yych == '>') goto yy492;
+				goto yy491;
+			}
+		} else {
+			if (yych <= 'Z') {
+				if (yych <= '@') goto yy492;
+				goto yy491;
+			} else {
+				if (yych <= ']') goto yy492;
+				if (yych <= '~') goto yy491;
+				goto yy492;
+			}
+		}
+	}
+yy490:
+	{ return 0; }
+yy491:
+	yych = *(marker = ++p);
+	if (yych <= ',') {
+		if (yych <= '"') {
+			if (yych == '!') goto yy496;
+			goto yy490;
+		} else {
+			if (yych <= '\'') goto yy496;
+			if (yych <= ')') goto yy490;
+			if (yych <= '+') goto yy496;
+			goto yy490;
+		}
+	} else {
+		if (yych <= '>') {
+			if (yych <= '9') goto yy496;
+			if (yych == '=') goto yy496;
+			goto yy490;
+		} else {
+			if (yych <= 'Z') goto yy496;
+			if (yych <= ']') goto yy490;
+			if (yych <= '~') goto yy496;
+			goto yy490;
+		}
+	}
+yy492:
+	yych = *++p;
+	goto yy490;
+yy493:
+	yych = *++p;
+	if (yych <= '@') {
+		if (yych <= '/') goto yy494;
+		if (yych <= '9') goto yy497;
+	} else {
+		if (yych <= 'Z') goto yy497;
+		if (yych <= '`') goto yy494;
+		if (yych <= 'z') goto yy497;
+	}
+yy494:
+	p = marker;
+	goto yy490;
+yy495:
+	++p;
+	yych = *p;
+yy496:
+	if (yybm[0+yych] & 128) {
+		goto yy495;
+	}
+	if (yych == '@') goto yy493;
+	goto yy494;
+yy497:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy499;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy499;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy499;
+			goto yy494;
+		}
+	}
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy627;
+		if (yych <= '/') goto yy494;
+		goto yy628;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy628;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy628;
+			goto yy494;
+		}
+	}
+yy499:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych <= '-') goto yy627;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy628;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy628;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy628;
+			goto yy494;
+		}
+	}
+yy500:
+	++p;
+	yych = *p;
+	if (yych <= '@') {
+		if (yych <= '/') goto yy494;
+		if (yych <= '9') goto yy503;
+		goto yy494;
+	} else {
+		if (yych <= 'Z') goto yy503;
+		if (yych <= '`') goto yy494;
+		if (yych <= 'z') goto yy503;
+		goto yy494;
+	}
+yy501:
+	++p;
+	{ return (p - start); }
+yy503:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy505;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy505;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy505;
+			goto yy494;
+		}
+	}
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy506;
+		if (yych <= '/') goto yy494;
+		goto yy507;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy507;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy507;
+			goto yy494;
+		}
+	}
+yy505:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy507;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy507;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy507;
+			goto yy494;
+		}
+	}
+yy506:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy508;
+		if (yych <= '/') goto yy494;
+		goto yy509;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy509;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy509;
+			goto yy494;
+		}
+	}
+yy507:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy509;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy509;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy509;
+			goto yy494;
+		}
+	}
+yy508:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy510;
+		if (yych <= '/') goto yy494;
+		goto yy511;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy511;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy511;
+			goto yy494;
+		}
+	}
+yy509:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy511;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy511;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy511;
+			goto yy494;
+		}
+	}
+yy510:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy512;
+		if (yych <= '/') goto yy494;
+		goto yy513;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy513;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy513;
+			goto yy494;
+		}
+	}
+yy511:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy513;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy513;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy513;
+			goto yy494;
+		}
+	}
+yy512:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy514;
+		if (yych <= '/') goto yy494;
+		goto yy515;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy515;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy515;
+			goto yy494;
+		}
+	}
+yy513:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy515;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy515;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy515;
+			goto yy494;
+		}
+	}
+yy514:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy516;
+		if (yych <= '/') goto yy494;
+		goto yy517;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy517;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy517;
+			goto yy494;
+		}
+	}
+yy515:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy517;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy517;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy517;
+			goto yy494;
+		}
+	}
+yy516:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy518;
+		if (yych <= '/') goto yy494;
+		goto yy519;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy519;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy519;
+			goto yy494;
+		}
+	}
+yy517:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy519;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy519;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy519;
+			goto yy494;
+		}
+	}
+yy518:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy520;
+		if (yych <= '/') goto yy494;
+		goto yy521;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy521;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy521;
+			goto yy494;
+		}
+	}
+yy519:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy521;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy521;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy521;
+			goto yy494;
+		}
+	}
+yy520:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy522;
+		if (yych <= '/') goto yy494;
+		goto yy523;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy523;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy523;
+			goto yy494;
+		}
+	}
+yy521:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy523;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy523;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy523;
+			goto yy494;
+		}
+	}
+yy522:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy524;
+		if (yych <= '/') goto yy494;
+		goto yy525;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy525;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy525;
+			goto yy494;
+		}
+	}
+yy523:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy525;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy525;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy525;
+			goto yy494;
+		}
+	}
+yy524:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy526;
+		if (yych <= '/') goto yy494;
+		goto yy527;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy527;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy527;
+			goto yy494;
+		}
+	}
+yy525:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy527;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy527;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy527;
+			goto yy494;
+		}
+	}
+yy526:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy528;
+		if (yych <= '/') goto yy494;
+		goto yy529;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy529;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy529;
+			goto yy494;
+		}
+	}
+yy527:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy529;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy529;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy529;
+			goto yy494;
+		}
+	}
+yy528:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy530;
+		if (yych <= '/') goto yy494;
+		goto yy531;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy531;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy531;
+			goto yy494;
+		}
+	}
+yy529:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy531;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy531;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy531;
+			goto yy494;
+		}
+	}
+yy530:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy532;
+		if (yych <= '/') goto yy494;
+		goto yy533;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy533;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy533;
+			goto yy494;
+		}
+	}
+yy531:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy533;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy533;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy533;
+			goto yy494;
+		}
+	}
+yy532:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy534;
+		if (yych <= '/') goto yy494;
+		goto yy535;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy535;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy535;
+			goto yy494;
+		}
+	}
+yy533:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy535;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy535;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy535;
+			goto yy494;
+		}
+	}
+yy534:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy536;
+		if (yych <= '/') goto yy494;
+		goto yy537;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy537;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy537;
+			goto yy494;
+		}
+	}
+yy535:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy537;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy537;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy537;
+			goto yy494;
+		}
+	}
+yy536:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy538;
+		if (yych <= '/') goto yy494;
+		goto yy539;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy539;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy539;
+			goto yy494;
+		}
+	}
+yy537:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy539;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy539;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy539;
+			goto yy494;
+		}
+	}
+yy538:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy540;
+		if (yych <= '/') goto yy494;
+		goto yy541;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy541;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy541;
+			goto yy494;
+		}
+	}
+yy539:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy541;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy541;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy541;
+			goto yy494;
+		}
+	}
+yy540:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy542;
+		if (yych <= '/') goto yy494;
+		goto yy543;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy543;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy543;
+			goto yy494;
+		}
+	}
+yy541:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy543;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy543;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy543;
+			goto yy494;
+		}
+	}
+yy542:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy544;
+		if (yych <= '/') goto yy494;
+		goto yy545;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy545;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy545;
+			goto yy494;
+		}
+	}
+yy543:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy545;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy545;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy545;
+			goto yy494;
+		}
+	}
+yy544:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy546;
+		if (yych <= '/') goto yy494;
+		goto yy547;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy547;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy547;
+			goto yy494;
+		}
+	}
+yy545:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy547;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy547;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy547;
+			goto yy494;
+		}
+	}
+yy546:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy548;
+		if (yych <= '/') goto yy494;
+		goto yy549;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy549;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy549;
+			goto yy494;
+		}
+	}
+yy547:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy549;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy549;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy549;
+			goto yy494;
+		}
+	}
+yy548:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy550;
+		if (yych <= '/') goto yy494;
+		goto yy551;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy551;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy551;
+			goto yy494;
+		}
+	}
+yy549:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy551;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy551;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy551;
+			goto yy494;
+		}
+	}
+yy550:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy552;
+		if (yych <= '/') goto yy494;
+		goto yy553;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy553;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy553;
+			goto yy494;
+		}
+	}
+yy551:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy553;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy553;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy553;
+			goto yy494;
+		}
+	}
+yy552:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy554;
+		if (yych <= '/') goto yy494;
+		goto yy555;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy555;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy555;
+			goto yy494;
+		}
+	}
+yy553:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy555;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy555;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy555;
+			goto yy494;
+		}
+	}
+yy554:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy556;
+		if (yych <= '/') goto yy494;
+		goto yy557;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy557;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy557;
+			goto yy494;
+		}
+	}
+yy555:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy557;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy557;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy557;
+			goto yy494;
+		}
+	}
+yy556:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy558;
+		if (yych <= '/') goto yy494;
+		goto yy559;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy559;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy559;
+			goto yy494;
+		}
+	}
+yy557:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy559;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy559;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy559;
+			goto yy494;
+		}
+	}
+yy558:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy560;
+		if (yych <= '/') goto yy494;
+		goto yy561;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy561;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy561;
+			goto yy494;
+		}
+	}
+yy559:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy561;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy561;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy561;
+			goto yy494;
+		}
+	}
+yy560:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy562;
+		if (yych <= '/') goto yy494;
+		goto yy563;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy563;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy563;
+			goto yy494;
+		}
+	}
+yy561:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy563;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy563;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy563;
+			goto yy494;
+		}
+	}
+yy562:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy564;
+		if (yych <= '/') goto yy494;
+		goto yy565;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy565;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy565;
+			goto yy494;
+		}
+	}
+yy563:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy565;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy565;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy565;
+			goto yy494;
+		}
+	}
+yy564:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy566;
+		if (yych <= '/') goto yy494;
+		goto yy567;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy567;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy567;
+			goto yy494;
+		}
+	}
+yy565:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy567;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy567;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy567;
+			goto yy494;
+		}
+	}
+yy566:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy568;
+		if (yych <= '/') goto yy494;
+		goto yy569;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy569;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy569;
+			goto yy494;
+		}
+	}
+yy567:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy569;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy569;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy569;
+			goto yy494;
+		}
+	}
+yy568:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy570;
+		if (yych <= '/') goto yy494;
+		goto yy571;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy571;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy571;
+			goto yy494;
+		}
+	}
+yy569:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy571;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy571;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy571;
+			goto yy494;
+		}
+	}
+yy570:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy572;
+		if (yych <= '/') goto yy494;
+		goto yy573;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy573;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy573;
+			goto yy494;
+		}
+	}
+yy571:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy573;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy573;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy573;
+			goto yy494;
+		}
+	}
+yy572:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy574;
+		if (yych <= '/') goto yy494;
+		goto yy575;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy575;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy575;
+			goto yy494;
+		}
+	}
+yy573:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy575;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy575;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy575;
+			goto yy494;
+		}
+	}
+yy574:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy576;
+		if (yych <= '/') goto yy494;
+		goto yy577;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy577;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy577;
+			goto yy494;
+		}
+	}
+yy575:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy577;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy577;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy577;
+			goto yy494;
+		}
+	}
+yy576:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy578;
+		if (yych <= '/') goto yy494;
+		goto yy579;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy579;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy579;
+			goto yy494;
+		}
+	}
+yy577:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy579;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy579;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy579;
+			goto yy494;
+		}
+	}
+yy578:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy580;
+		if (yych <= '/') goto yy494;
+		goto yy581;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy581;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy581;
+			goto yy494;
+		}
+	}
+yy579:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy581;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy581;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy581;
+			goto yy494;
+		}
+	}
+yy580:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy582;
+		if (yych <= '/') goto yy494;
+		goto yy583;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy583;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy583;
+			goto yy494;
+		}
+	}
+yy581:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy583;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy583;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy583;
+			goto yy494;
+		}
+	}
+yy582:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy584;
+		if (yych <= '/') goto yy494;
+		goto yy585;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy585;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy585;
+			goto yy494;
+		}
+	}
+yy583:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy585;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy585;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy585;
+			goto yy494;
+		}
+	}
+yy584:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy586;
+		if (yych <= '/') goto yy494;
+		goto yy587;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy587;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy587;
+			goto yy494;
+		}
+	}
+yy585:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy587;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy587;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy587;
+			goto yy494;
+		}
+	}
+yy586:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy588;
+		if (yych <= '/') goto yy494;
+		goto yy589;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy589;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy589;
+			goto yy494;
+		}
+	}
+yy587:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy589;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy589;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy589;
+			goto yy494;
+		}
+	}
+yy588:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy590;
+		if (yych <= '/') goto yy494;
+		goto yy591;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy591;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy591;
+			goto yy494;
+		}
+	}
+yy589:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy591;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy591;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy591;
+			goto yy494;
+		}
+	}
+yy590:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy592;
+		if (yych <= '/') goto yy494;
+		goto yy593;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy593;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy593;
+			goto yy494;
+		}
+	}
+yy591:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy593;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy593;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy593;
+			goto yy494;
+		}
+	}
+yy592:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy594;
+		if (yych <= '/') goto yy494;
+		goto yy595;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy595;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy595;
+			goto yy494;
+		}
+	}
+yy593:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy595;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy595;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy595;
+			goto yy494;
+		}
+	}
+yy594:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy596;
+		if (yych <= '/') goto yy494;
+		goto yy597;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy597;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy597;
+			goto yy494;
+		}
+	}
+yy595:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy597;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy597;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy597;
+			goto yy494;
+		}
+	}
+yy596:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy598;
+		if (yych <= '/') goto yy494;
+		goto yy599;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy599;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy599;
+			goto yy494;
+		}
+	}
+yy597:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy599;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy599;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy599;
+			goto yy494;
+		}
+	}
+yy598:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy600;
+		if (yych <= '/') goto yy494;
+		goto yy601;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy601;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy601;
+			goto yy494;
+		}
+	}
+yy599:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy601;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy601;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy601;
+			goto yy494;
+		}
+	}
+yy600:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy602;
+		if (yych <= '/') goto yy494;
+		goto yy603;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy603;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy603;
+			goto yy494;
+		}
+	}
+yy601:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy603;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy603;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy603;
+			goto yy494;
+		}
+	}
+yy602:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy604;
+		if (yych <= '/') goto yy494;
+		goto yy605;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy605;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy605;
+			goto yy494;
+		}
+	}
+yy603:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy605;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy605;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy605;
+			goto yy494;
+		}
+	}
+yy604:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy606;
+		if (yych <= '/') goto yy494;
+		goto yy607;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy607;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy607;
+			goto yy494;
+		}
+	}
+yy605:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy607;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy607;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy607;
+			goto yy494;
+		}
+	}
+yy606:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy608;
+		if (yych <= '/') goto yy494;
+		goto yy609;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy609;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy609;
+			goto yy494;
+		}
+	}
+yy607:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy609;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy609;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy609;
+			goto yy494;
+		}
+	}
+yy608:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy610;
+		if (yych <= '/') goto yy494;
+		goto yy611;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy611;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy611;
+			goto yy494;
+		}
+	}
+yy609:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy611;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy611;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy611;
+			goto yy494;
+		}
+	}
+yy610:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy612;
+		if (yych <= '/') goto yy494;
+		goto yy613;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy613;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy613;
+			goto yy494;
+		}
+	}
+yy611:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy613;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy613;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy613;
+			goto yy494;
+		}
+	}
+yy612:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy614;
+		if (yych <= '/') goto yy494;
+		goto yy615;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy615;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy615;
+			goto yy494;
+		}
+	}
+yy613:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy615;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy615;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy615;
+			goto yy494;
+		}
+	}
+yy614:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy616;
+		if (yych <= '/') goto yy494;
+		goto yy617;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy617;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy617;
+			goto yy494;
+		}
+	}
+yy615:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy617;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy617;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy617;
+			goto yy494;
+		}
+	}
+yy616:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy618;
+		if (yych <= '/') goto yy494;
+		goto yy619;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy619;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy619;
+			goto yy494;
+		}
+	}
+yy617:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy619;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy619;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy619;
+			goto yy494;
+		}
+	}
+yy618:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy620;
+		if (yych <= '/') goto yy494;
+		goto yy621;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy621;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy621;
+			goto yy494;
+		}
+	}
+yy619:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy621;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy621;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy621;
+			goto yy494;
+		}
+	}
+yy620:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy622;
+		if (yych <= '/') goto yy494;
+		goto yy623;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy623;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy623;
+			goto yy494;
+		}
+	}
+yy621:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy623;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy623;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy623;
+			goto yy494;
+		}
+	}
+yy622:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy624;
+		if (yych <= '/') goto yy494;
+		goto yy625;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy625;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy625;
+			goto yy494;
+		}
+	}
+yy623:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy625;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy625;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy625;
+			goto yy494;
+		}
+	}
+yy624:
+	++p;
+	yych = *p;
+	if (yych <= '@') {
+		if (yych <= '/') goto yy494;
+		if (yych <= '9') goto yy626;
+		goto yy494;
+	} else {
+		if (yych <= 'Z') goto yy626;
+		if (yych <= '`') goto yy494;
+		if (yych <= 'z') goto yy626;
+		goto yy494;
+	}
+yy625:
+	++p;
+	yych = *p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= '-') goto yy494;
+			goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych >= ':') goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych >= '{') goto yy494;
+		}
+	}
+yy626:
+	++p;
+	yych = *p;
+	if (yych == '.') goto yy500;
+	if (yych == '>') goto yy501;
+	goto yy494;
+yy627:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy629;
+		if (yych <= '/') goto yy494;
+		goto yy630;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy630;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy630;
+			goto yy494;
+		}
+	}
+yy628:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy630;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy630;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy630;
+			goto yy494;
+		}
+	}
+yy629:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy631;
+		if (yych <= '/') goto yy494;
+		goto yy632;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy632;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy632;
+			goto yy494;
+		}
+	}
+yy630:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy632;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy632;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy632;
+			goto yy494;
+		}
+	}
+yy631:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy633;
+		if (yych <= '/') goto yy494;
+		goto yy634;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy634;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy634;
+			goto yy494;
+		}
+	}
+yy632:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy634;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy634;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy634;
+			goto yy494;
+		}
+	}
+yy633:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy635;
+		if (yych <= '/') goto yy494;
+		goto yy636;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy636;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy636;
+			goto yy494;
+		}
+	}
+yy634:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy636;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy636;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy636;
+			goto yy494;
+		}
+	}
+yy635:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy637;
+		if (yych <= '/') goto yy494;
+		goto yy638;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy638;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy638;
+			goto yy494;
+		}
+	}
+yy636:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy638;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy638;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy638;
+			goto yy494;
+		}
+	}
+yy637:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy639;
+		if (yych <= '/') goto yy494;
+		goto yy640;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy640;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy640;
+			goto yy494;
+		}
+	}
+yy638:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy640;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy640;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy640;
+			goto yy494;
+		}
+	}
+yy639:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy641;
+		if (yych <= '/') goto yy494;
+		goto yy642;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy642;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy642;
+			goto yy494;
+		}
+	}
+yy640:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy642;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy642;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy642;
+			goto yy494;
+		}
+	}
+yy641:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy643;
+		if (yych <= '/') goto yy494;
+		goto yy644;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy644;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy644;
+			goto yy494;
+		}
+	}
+yy642:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy644;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy644;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy644;
+			goto yy494;
+		}
+	}
+yy643:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy645;
+		if (yych <= '/') goto yy494;
+		goto yy646;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy646;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy646;
+			goto yy494;
+		}
+	}
+yy644:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy646;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy646;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy646;
+			goto yy494;
+		}
+	}
+yy645:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy647;
+		if (yych <= '/') goto yy494;
+		goto yy648;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy648;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy648;
+			goto yy494;
+		}
+	}
+yy646:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy648;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy648;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy648;
+			goto yy494;
+		}
+	}
+yy647:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy649;
+		if (yych <= '/') goto yy494;
+		goto yy650;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy650;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy650;
+			goto yy494;
+		}
+	}
+yy648:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy650;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy650;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy650;
+			goto yy494;
+		}
+	}
+yy649:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy651;
+		if (yych <= '/') goto yy494;
+		goto yy652;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy652;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy652;
+			goto yy494;
+		}
+	}
+yy650:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy652;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy652;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy652;
+			goto yy494;
+		}
+	}
+yy651:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy653;
+		if (yych <= '/') goto yy494;
+		goto yy654;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy654;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy654;
+			goto yy494;
+		}
+	}
+yy652:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy654;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy654;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy654;
+			goto yy494;
+		}
+	}
+yy653:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy655;
+		if (yych <= '/') goto yy494;
+		goto yy656;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy656;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy656;
+			goto yy494;
+		}
+	}
+yy654:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy656;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy656;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy656;
+			goto yy494;
+		}
+	}
+yy655:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy657;
+		if (yych <= '/') goto yy494;
+		goto yy658;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy658;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy658;
+			goto yy494;
+		}
+	}
+yy656:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy658;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy658;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy658;
+			goto yy494;
+		}
+	}
+yy657:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy659;
+		if (yych <= '/') goto yy494;
+		goto yy660;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy660;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy660;
+			goto yy494;
+		}
+	}
+yy658:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy660;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy660;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy660;
+			goto yy494;
+		}
+	}
+yy659:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy661;
+		if (yych <= '/') goto yy494;
+		goto yy662;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy662;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy662;
+			goto yy494;
+		}
+	}
+yy660:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy662;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy662;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy662;
+			goto yy494;
+		}
+	}
+yy661:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy663;
+		if (yych <= '/') goto yy494;
+		goto yy664;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy664;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy664;
+			goto yy494;
+		}
+	}
+yy662:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy664;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy664;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy664;
+			goto yy494;
+		}
+	}
+yy663:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy665;
+		if (yych <= '/') goto yy494;
+		goto yy666;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy666;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy666;
+			goto yy494;
+		}
+	}
+yy664:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy666;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy666;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy666;
+			goto yy494;
+		}
+	}
+yy665:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy667;
+		if (yych <= '/') goto yy494;
+		goto yy668;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy668;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy668;
+			goto yy494;
+		}
+	}
+yy666:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy668;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy668;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy668;
+			goto yy494;
+		}
+	}
+yy667:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy669;
+		if (yych <= '/') goto yy494;
+		goto yy670;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy670;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy670;
+			goto yy494;
+		}
+	}
+yy668:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy670;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy670;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy670;
+			goto yy494;
+		}
+	}
+yy669:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy671;
+		if (yych <= '/') goto yy494;
+		goto yy672;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy672;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy672;
+			goto yy494;
+		}
+	}
+yy670:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy672;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy672;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy672;
+			goto yy494;
+		}
+	}
+yy671:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy673;
+		if (yych <= '/') goto yy494;
+		goto yy674;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy674;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy674;
+			goto yy494;
+		}
+	}
+yy672:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy674;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy674;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy674;
+			goto yy494;
+		}
+	}
+yy673:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy675;
+		if (yych <= '/') goto yy494;
+		goto yy676;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy676;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy676;
+			goto yy494;
+		}
+	}
+yy674:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy676;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy676;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy676;
+			goto yy494;
+		}
+	}
+yy675:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy677;
+		if (yych <= '/') goto yy494;
+		goto yy678;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy678;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy678;
+			goto yy494;
+		}
+	}
+yy676:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy678;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy678;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy678;
+			goto yy494;
+		}
+	}
+yy677:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy679;
+		if (yych <= '/') goto yy494;
+		goto yy680;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy680;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy680;
+			goto yy494;
+		}
+	}
+yy678:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy680;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy680;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy680;
+			goto yy494;
+		}
+	}
+yy679:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy681;
+		if (yych <= '/') goto yy494;
+		goto yy682;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy682;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy682;
+			goto yy494;
+		}
+	}
+yy680:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy682;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy682;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy682;
+			goto yy494;
+		}
+	}
+yy681:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy683;
+		if (yych <= '/') goto yy494;
+		goto yy684;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy684;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy684;
+			goto yy494;
+		}
+	}
+yy682:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy684;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy684;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy684;
+			goto yy494;
+		}
+	}
+yy683:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy685;
+		if (yych <= '/') goto yy494;
+		goto yy686;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy686;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy686;
+			goto yy494;
+		}
+	}
+yy684:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy686;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy686;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy686;
+			goto yy494;
+		}
+	}
+yy685:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy687;
+		if (yych <= '/') goto yy494;
+		goto yy688;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy688;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy688;
+			goto yy494;
+		}
+	}
+yy686:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy688;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy688;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy688;
+			goto yy494;
+		}
+	}
+yy687:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy689;
+		if (yych <= '/') goto yy494;
+		goto yy690;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy690;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy690;
+			goto yy494;
+		}
+	}
+yy688:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy690;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy690;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy690;
+			goto yy494;
+		}
+	}
+yy689:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy691;
+		if (yych <= '/') goto yy494;
+		goto yy692;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy692;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy692;
+			goto yy494;
+		}
+	}
+yy690:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy692;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy692;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy692;
+			goto yy494;
+		}
+	}
+yy691:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy693;
+		if (yych <= '/') goto yy494;
+		goto yy694;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy694;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy694;
+			goto yy494;
+		}
+	}
+yy692:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy694;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy694;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy694;
+			goto yy494;
+		}
+	}
+yy693:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy695;
+		if (yych <= '/') goto yy494;
+		goto yy696;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy696;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy696;
+			goto yy494;
+		}
+	}
+yy694:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy696;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy696;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy696;
+			goto yy494;
+		}
+	}
+yy695:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy697;
+		if (yych <= '/') goto yy494;
+		goto yy698;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy698;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy698;
+			goto yy494;
+		}
+	}
+yy696:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy698;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy698;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy698;
+			goto yy494;
+		}
+	}
+yy697:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy699;
+		if (yych <= '/') goto yy494;
+		goto yy700;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy700;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy700;
+			goto yy494;
+		}
+	}
+yy698:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy700;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy700;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy700;
+			goto yy494;
+		}
+	}
+yy699:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy701;
+		if (yych <= '/') goto yy494;
+		goto yy702;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy702;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy702;
+			goto yy494;
+		}
+	}
+yy700:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy702;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy702;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy702;
+			goto yy494;
+		}
+	}
+yy701:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy703;
+		if (yych <= '/') goto yy494;
+		goto yy704;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy704;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy704;
+			goto yy494;
+		}
+	}
+yy702:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy704;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy704;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy704;
+			goto yy494;
+		}
+	}
+yy703:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy705;
+		if (yych <= '/') goto yy494;
+		goto yy706;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy706;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy706;
+			goto yy494;
+		}
+	}
+yy704:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy706;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy706;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy706;
+			goto yy494;
+		}
+	}
+yy705:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy707;
+		if (yych <= '/') goto yy494;
+		goto yy708;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy708;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy708;
+			goto yy494;
+		}
+	}
+yy706:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy708;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy708;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy708;
+			goto yy494;
+		}
+	}
+yy707:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy709;
+		if (yych <= '/') goto yy494;
+		goto yy710;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy710;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy710;
+			goto yy494;
+		}
+	}
+yy708:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy710;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy710;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy710;
+			goto yy494;
+		}
+	}
+yy709:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy711;
+		if (yych <= '/') goto yy494;
+		goto yy712;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy712;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy712;
+			goto yy494;
+		}
+	}
+yy710:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy712;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy712;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy712;
+			goto yy494;
+		}
+	}
+yy711:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy713;
+		if (yych <= '/') goto yy494;
+		goto yy714;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy714;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy714;
+			goto yy494;
+		}
+	}
+yy712:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy714;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy714;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy714;
+			goto yy494;
+		}
+	}
+yy713:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy715;
+		if (yych <= '/') goto yy494;
+		goto yy716;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy716;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy716;
+			goto yy494;
+		}
+	}
+yy714:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy716;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy716;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy716;
+			goto yy494;
+		}
+	}
+yy715:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy717;
+		if (yych <= '/') goto yy494;
+		goto yy718;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy718;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy718;
+			goto yy494;
+		}
+	}
+yy716:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy718;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy718;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy718;
+			goto yy494;
+		}
+	}
+yy717:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy719;
+		if (yych <= '/') goto yy494;
+		goto yy720;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy720;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy720;
+			goto yy494;
+		}
+	}
+yy718:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy720;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy720;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy720;
+			goto yy494;
+		}
+	}
+yy719:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy721;
+		if (yych <= '/') goto yy494;
+		goto yy722;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy722;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy722;
+			goto yy494;
+		}
+	}
+yy720:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy722;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy722;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy722;
+			goto yy494;
+		}
+	}
+yy721:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy723;
+		if (yych <= '/') goto yy494;
+		goto yy724;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy724;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy724;
+			goto yy494;
+		}
+	}
+yy722:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy724;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy724;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy724;
+			goto yy494;
+		}
+	}
+yy723:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy725;
+		if (yych <= '/') goto yy494;
+		goto yy726;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy726;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy726;
+			goto yy494;
+		}
+	}
+yy724:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy726;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy726;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy726;
+			goto yy494;
+		}
+	}
+yy725:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy727;
+		if (yych <= '/') goto yy494;
+		goto yy728;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy728;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy728;
+			goto yy494;
+		}
+	}
+yy726:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy728;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy728;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy728;
+			goto yy494;
+		}
+	}
+yy727:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy729;
+		if (yych <= '/') goto yy494;
+		goto yy730;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy730;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy730;
+			goto yy494;
+		}
+	}
+yy728:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy730;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy730;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy730;
+			goto yy494;
+		}
+	}
+yy729:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy731;
+		if (yych <= '/') goto yy494;
+		goto yy732;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy732;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy732;
+			goto yy494;
+		}
+	}
+yy730:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy732;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy732;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy732;
+			goto yy494;
+		}
+	}
+yy731:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy733;
+		if (yych <= '/') goto yy494;
+		goto yy734;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy734;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy734;
+			goto yy494;
+		}
+	}
+yy732:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy734;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy734;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy734;
+			goto yy494;
+		}
+	}
+yy733:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy735;
+		if (yych <= '/') goto yy494;
+		goto yy736;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy736;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy736;
+			goto yy494;
+		}
+	}
+yy734:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy736;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy736;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy736;
+			goto yy494;
+		}
+	}
+yy735:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy737;
+		if (yych <= '/') goto yy494;
+		goto yy738;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy738;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy738;
+			goto yy494;
+		}
+	}
+yy736:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy738;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy738;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy738;
+			goto yy494;
+		}
+	}
+yy737:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy739;
+		if (yych <= '/') goto yy494;
+		goto yy740;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy740;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy740;
+			goto yy494;
+		}
+	}
+yy738:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy740;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy740;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy740;
+			goto yy494;
+		}
+	}
+yy739:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy741;
+		if (yych <= '/') goto yy494;
+		goto yy742;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy742;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy742;
+			goto yy494;
+		}
+	}
+yy740:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy742;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy742;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy742;
+			goto yy494;
+		}
+	}
+yy741:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy743;
+		if (yych <= '/') goto yy494;
+		goto yy744;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy744;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy744;
+			goto yy494;
+		}
+	}
+yy742:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy744;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy744;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy744;
+			goto yy494;
+		}
+	}
+yy743:
+	yych = *++p;
+	if (yych <= '9') {
+		if (yych == '-') goto yy745;
+		if (yych <= '/') goto yy494;
+		goto yy746;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy494;
+			goto yy746;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy746;
+			goto yy494;
+		}
+	}
+yy744:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '.') {
+			if (yych <= ',') goto yy494;
+			if (yych >= '.') goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy746;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy746;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy746;
+			goto yy494;
+		}
+	}
+yy745:
+	yych = *++p;
+	if (yych <= '@') {
+		if (yych <= '/') goto yy494;
+		if (yych <= '9') goto yy626;
+		goto yy494;
+	} else {
+		if (yych <= 'Z') goto yy626;
+		if (yych <= '`') goto yy494;
+		if (yych <= 'z') goto yy626;
+		goto yy494;
+	}
+yy746:
+	++p;
+	if ((yych = *p) <= '=') {
+		if (yych <= '.') {
+			if (yych <= '-') goto yy494;
+			goto yy500;
+		} else {
+			if (yych <= '/') goto yy494;
+			if (yych <= '9') goto yy626;
+			goto yy494;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '>') goto yy501;
+			if (yych <= '@') goto yy494;
+			goto yy626;
+		} else {
+			if (yych <= '`') goto yy494;
+			if (yych <= 'z') goto yy626;
+			goto yy494;
+		}
+	}
+}
+
+}
+
+// Try to match an HTML tag after first <, returning num of chars matched.
+int _scan_html_tag(const unsigned char *p)
+{
+  const unsigned char *marker = NULL;
+  const unsigned char *start = p;
+
+{
+	unsigned char yych;
+	static const unsigned char yybm[] = {
+		/* table 1 .. 8: 0 */
+		  0, 230, 230, 230, 230, 230, 230, 230, 
+		230, 199, 199, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		199, 230,  70, 230, 230, 230, 230, 134, 
+		230, 230, 230, 230, 230, 246, 246, 230, 
+		254, 254, 254, 254, 254, 254, 254, 254, 
+		254, 254, 246, 230, 198, 198, 196, 230, 
+		230, 254, 254, 254, 254, 254, 254, 254, 
+		254, 254, 254, 254, 254, 254, 254, 254, 
+		254, 254, 254, 254, 254, 254, 254, 254, 
+		254, 254, 254, 230, 230, 226, 230, 246, 
+		198, 254, 254, 254, 254, 254, 254, 254, 
+		254, 254, 254, 254, 254, 254, 254, 254, 
+		254, 254, 254, 254, 254, 254, 254, 254, 
+		254, 254, 254, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		230, 230, 230, 230, 230, 230, 230, 230, 
+		/* table 9 .. 11: 256 */
+		  0, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160,  32, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 128, 
+		160, 224, 224, 224, 224, 224, 224, 224, 
+		224, 224, 224, 224, 224, 224, 224, 224, 
+		224, 224, 224, 224, 224, 224, 224, 224, 
+		224, 224, 224, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+	};
+	yych = *p;
+	if (yych <= '/') {
+		if (yych <= ' ') {
+			if (yych != '\n') goto yy754;
+		} else {
+			if (yych <= '!') goto yy752;
+			if (yych <= '.') goto yy754;
+			goto yy751;
+		}
+	} else {
+		if (yych <= '@') {
+			if (yych == '?') goto yy753;
+			goto yy754;
+		} else {
+			if (yych <= 'Z') goto yy750;
+			if (yych <= '`') goto yy754;
+			if (yych <= 'z') goto yy750;
+			goto yy754;
+		}
+	}
+yy749:
+	{ return 0; }
+yy750:
+	yych = *(marker = ++p);
+	if (yych <= '9') {
+		if (yych <= 0x1F) {
+			if (yych <= 0x08) goto yy749;
+			if (yych <= '\n') goto yy790;
+			goto yy749;
+		} else {
+			if (yych <= ' ') goto yy790;
+			if (yych <= '.') goto yy749;
+			if (yych <= '/') goto yy792;
+			goto yy788;
+		}
+	} else {
+		if (yych <= '@') {
+			if (yych == '>') goto yy759;
+			goto yy749;
+		} else {
+			if (yych <= 'Z') goto yy788;
+			if (yych <= '`') goto yy749;
+			if (yych <= 'z') goto yy788;
+			goto yy749;
+		}
+	}
+yy751:
+	yych = *(marker = ++p);
+	if (yych <= '@') goto yy749;
+	if (yych <= 'Z') goto yy784;
+	if (yych <= '`') goto yy749;
+	if (yych <= 'z') goto yy784;
+	goto yy749;
+yy752:
+	yych = *(marker = ++p);
+	if (yybm[256+yych] & 64) {
+		goto yy762;
+	}
+	if (yych == '-') goto yy764;
+	if (yych == '[') goto yy761;
+	goto yy749;
+yy753:
+	yych = *(marker = ++p);
+	if (yych <= 0x00) goto yy749;
+	goto yy756;
+yy754:
+	yych = *++p;
+	goto yy749;
+yy755:
+	++p;
+	yych = *p;
+yy756:
+	if (yybm[256+yych] & 32) {
+		goto yy755;
+	}
+	if (yych >= 0x01) goto yy758;
+yy757:
+	p = marker;
+	goto yy749;
+yy758:
+	++p;
+	yych = *p;
+	if (yych <= 0x00) goto yy757;
+	if (yych != '>') goto yy755;
+yy759:
+	++p;
+	{ return (p - start); }
+yy761:
+	yych = *++p;
+	if (yych == 'C') goto yy775;
+	if (yych == 'c') goto yy775;
+	goto yy757;
+yy762:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 1) {
+		goto yy771;
+	}
+	if (yych <= '@') goto yy757;
+	if (yych <= 'Z') goto yy762;
+	goto yy757;
+yy764:
+	yych = *++p;
+	if (yych != '-') goto yy757;
+yy765:
+	++p;
+	yych = *p;
+	if (yybm[256+yych] & 128) {
+		goto yy765;
+	}
+	if (yych <= 0x00) goto yy757;
+yy767:
+	++p;
+	yych = *p;
+	if (yych <= 0x00) goto yy757;
+	if (yych != '-') goto yy769;
+	yych = *++p;
+	if (yych == '>') goto yy759;
+	goto yy757;
+yy769:
+	++p;
+	yych = *p;
+	if (yych <= 0x00) goto yy757;
+	if (yych == '-') goto yy767;
+	goto yy769;
+yy771:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 1) {
+		goto yy771;
+	}
+	if (yych <= 0x00) goto yy757;
+	if (yych == '>') goto yy759;
+yy773:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 2) {
+		goto yy773;
+	}
+	if (yych <= 0x00) goto yy757;
+	goto yy759;
+yy775:
+	yych = *++p;
+	if (yych == 'D') goto yy776;
+	if (yych != 'd') goto yy757;
+yy776:
+	yych = *++p;
+	if (yych == 'A') goto yy777;
+	if (yych != 'a') goto yy757;
+yy777:
+	yych = *++p;
+	if (yych == 'T') goto yy778;
+	if (yych != 't') goto yy757;
+yy778:
+	yych = *++p;
+	if (yych == 'A') goto yy779;
+	if (yych != 'a') goto yy757;
+yy779:
+	yych = *++p;
+	if (yych != '[') goto yy757;
+yy780:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 4) {
+		goto yy780;
+	}
+	if (yych <= 0x00) goto yy757;
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 4) {
+		goto yy780;
+	}
+	if (yych <= 0x00) goto yy757;
+	++p;
+	yych = *p;
+	if (yych <= 0x00) goto yy757;
+	if (yych == '>') goto yy759;
+	goto yy780;
+yy784:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 8) {
+		goto yy784;
+	}
+	if (yych <= 0x1F) {
+		if (yych <= 0x08) goto yy757;
+		if (yych >= '\v') goto yy757;
+	} else {
+		if (yych <= ' ') goto yy786;
+		if (yych == '>') goto yy759;
+		goto yy757;
+	}
+yy786:
+	++p;
+	yych = *p;
+	if (yych <= 0x1F) {
+		if (yych <= 0x08) goto yy757;
+		if (yych <= '\n') goto yy786;
+		goto yy757;
+	} else {
+		if (yych <= ' ') goto yy786;
+		if (yych == '>') goto yy759;
+		goto yy757;
+	}
+yy788:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych <= 0x1F) {
+			if (yych <= 0x08) goto yy757;
+			if (yych >= '\v') goto yy757;
+		} else {
+			if (yych <= ' ') goto yy790;
+			if (yych <= '.') goto yy757;
+			if (yych <= '/') goto yy792;
+			goto yy788;
+		}
+	} else {
+		if (yych <= '@') {
+			if (yych == '>') goto yy759;
+			goto yy757;
+		} else {
+			if (yych <= 'Z') goto yy788;
+			if (yych <= '`') goto yy757;
+			if (yych <= 'z') goto yy788;
+			goto yy757;
+		}
+	}
+yy790:
+	++p;
+	yych = *p;
+	if (yych <= ':') {
+		if (yych <= ' ') {
+			if (yych <= 0x08) goto yy757;
+			if (yych <= '\n') goto yy790;
+			if (yych <= 0x1F) goto yy757;
+			goto yy790;
+		} else {
+			if (yych == '/') goto yy792;
+			if (yych <= '9') goto yy757;
+			goto yy793;
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych == '>') goto yy759;
+			if (yych <= '@') goto yy757;
+			goto yy793;
+		} else {
+			if (yych <= '_') {
+				if (yych <= '^') goto yy757;
+				goto yy793;
+			} else {
+				if (yych <= '`') goto yy757;
+				if (yych <= 'z') goto yy793;
+				goto yy757;
+			}
+		}
+	}
+yy792:
+	yych = *++p;
+	if (yych == '>') goto yy759;
+	goto yy757;
+yy793:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 16) {
+		goto yy793;
+	}
+	if (yych <= '.') {
+		if (yych <= '\n') {
+			if (yych <= 0x08) goto yy757;
+		} else {
+			if (yych != ' ') goto yy757;
+		}
+	} else {
+		if (yych <= '<') {
+			if (yych <= '/') goto yy792;
+			goto yy757;
+		} else {
+			if (yych <= '=') goto yy797;
+			if (yych <= '>') goto yy759;
+			goto yy757;
+		}
+	}
+yy795:
+	++p;
+	yych = *p;
+	if (yych <= '<') {
+		if (yych <= ' ') {
+			if (yych <= 0x08) goto yy757;
+			if (yych <= '\n') goto yy795;
+			if (yych <= 0x1F) goto yy757;
+			goto yy795;
+		} else {
+			if (yych <= '/') {
+				if (yych <= '.') goto yy757;
+				goto yy792;
+			} else {
+				if (yych == ':') goto yy793;
+				goto yy757;
+			}
+		}
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '=') goto yy797;
+			if (yych <= '>') goto yy759;
+			if (yych <= '@') goto yy757;
+			goto yy793;
+		} else {
+			if (yych <= '_') {
+				if (yych <= '^') goto yy757;
+				goto yy793;
+			} else {
+				if (yych <= '`') goto yy757;
+				if (yych <= 'z') goto yy793;
+				goto yy757;
+			}
+		}
+	}
+yy797:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 32) {
+		goto yy799;
+	}
+	if (yych <= 0x00) goto yy757;
+	if (yych <= '!') goto yy798;
+	if (yych <= '"') goto yy803;
+	if (yych <= ';') goto yy801;
+	goto yy757;
+yy798:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 32) {
+		goto yy799;
+	}
+	if (yych <= '"') {
+		if (yych <= 0x00) goto yy757;
+		if (yych <= '!') goto yy812;
+		goto yy803;
+	} else {
+		if (yych <= ';') goto yy801;
+		if (yych == '>') goto yy759;
+		goto yy757;
+	}
+yy799:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 32) {
+		goto yy799;
+	}
+	if (yych <= 0x00) goto yy757;
+	if (yych <= '!') goto yy806;
+	if (yych == '>') goto yy759;
+	goto yy757;
+yy801:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 64) {
+		goto yy801;
+	}
+	if (yych <= 0x00) goto yy757;
+	goto yy805;
+yy803:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 128) {
+		goto yy803;
+	}
+	if (yych <= 0x00) goto yy757;
+yy805:
+	++p;
+	yych = *p;
+	if (yych <= ' ') {
+		if (yych <= 0x08) goto yy757;
+		if (yych <= '\n') goto yy790;
+		if (yych <= 0x1F) goto yy757;
+		goto yy790;
+	} else {
+		if (yych <= '/') {
+			if (yych <= '.') goto yy757;
+			goto yy792;
+		} else {
+			if (yych == '>') goto yy759;
+			goto yy757;
+		}
+	}
+yy806:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych <= ' ') {
+			if (yych <= 0x08) {
+				if (yych <= 0x00) goto yy757;
+				goto yy799;
+			} else {
+				if (yych <= '\n') goto yy806;
+				if (yych <= 0x1F) goto yy799;
+				goto yy806;
+			}
+		} else {
+			if (yych <= '"') {
+				if (yych <= '!') goto yy799;
+				goto yy757;
+			} else {
+				if (yych == '\'') goto yy757;
+				goto yy799;
+			}
+		}
+	} else {
+		if (yych <= '@') {
+			if (yych <= ';') {
+				if (yych >= ';') goto yy799;
+			} else {
+				if (yych <= '=') goto yy757;
+				if (yych <= '>') goto yy759;
+				goto yy799;
+			}
+		} else {
+			if (yych <= '_') {
+				if (yych <= 'Z') goto yy808;
+				if (yych <= '^') goto yy799;
+			} else {
+				if (yych <= '`') goto yy757;
+				if (yych >= '{') goto yy799;
+			}
+		}
+	}
+yy808:
+	++p;
+	yych = *p;
+	if (yych <= '/') {
+		if (yych <= '!') {
+			if (yych <= '\n') {
+				if (yych <= 0x00) goto yy757;
+				if (yych <= 0x08) goto yy799;
+			} else {
+				if (yych != ' ') goto yy799;
+			}
+		} else {
+			if (yych <= '\'') {
+				if (yych <= '"') goto yy757;
+				if (yych <= '&') goto yy799;
+				goto yy757;
+			} else {
+				if (yych <= ',') goto yy799;
+				if (yych <= '.') goto yy808;
+				goto yy799;
+			}
+		}
+	} else {
+		if (yych <= '@') {
+			if (yych <= '<') {
+				if (yych <= ':') goto yy808;
+				if (yych <= ';') goto yy799;
+				goto yy757;
+			} else {
+				if (yych <= '=') goto yy797;
+				if (yych <= '>') goto yy759;
+				goto yy799;
+			}
+		} else {
+			if (yych <= '_') {
+				if (yych <= 'Z') goto yy808;
+				if (yych <= '^') goto yy799;
+				goto yy808;
+			} else {
+				if (yych <= '`') goto yy757;
+				if (yych <= 'z') goto yy808;
+				goto yy799;
+			}
+		}
+	}
+yy810:
+	++p;
+	yych = *p;
+	if (yych <= ':') {
+		if (yych <= ' ') {
+			if (yych <= 0x08) {
+				if (yych <= 0x00) goto yy757;
+				goto yy799;
+			} else {
+				if (yych <= '\n') goto yy810;
+				if (yych <= 0x1F) goto yy799;
+				goto yy810;
+			}
+		} else {
+			if (yych <= '&') {
+				if (yych == '"') goto yy757;
+				goto yy799;
+			} else {
+				if (yych <= '\'') goto yy757;
+				if (yych <= '9') goto yy799;
+				goto yy808;
+			}
+		}
+	} else {
+		if (yych <= '@') {
+			if (yych <= '<') {
+				if (yych <= ';') goto yy799;
+				goto yy757;
+			} else {
+				if (yych <= '=') goto yy797;
+				if (yych <= '>') goto yy759;
+				goto yy799;
+			}
+		} else {
+			if (yych <= '_') {
+				if (yych <= 'Z') goto yy808;
+				if (yych <= '^') goto yy799;
+				goto yy808;
+			} else {
+				if (yych <= '`') goto yy757;
+				if (yych <= 'z') goto yy808;
+				goto yy799;
+			}
+		}
+	}
+yy812:
+	++p;
+	yych = *p;
+	if (yych <= '9') {
+		if (yych <= ' ') {
+			if (yych <= 0x08) {
+				if (yych <= 0x00) goto yy757;
+				goto yy799;
+			} else {
+				if (yych <= '\n') goto yy812;
+				if (yych <= 0x1F) goto yy799;
+				goto yy812;
+			}
+		} else {
+			if (yych <= '"') {
+				if (yych <= '!') goto yy799;
+				goto yy803;
+			} else {
+				if (yych == '\'') goto yy801;
+				goto yy799;
+			}
+		}
+	} else {
+		if (yych <= '@') {
+			if (yych <= ';') {
+				if (yych <= ':') goto yy808;
+				goto yy799;
+			} else {
+				if (yych <= '=') goto yy757;
+				if (yych <= '>') goto yy759;
+				goto yy799;
+			}
+		} else {
+			if (yych <= '_') {
+				if (yych <= 'Z') goto yy808;
+				if (yych <= '^') goto yy799;
+				goto yy808;
+			} else {
+				if (yych <= '`') goto yy757;
+				if (yych <= 'z') goto yy808;
+				goto yy799;
+			}
+		}
+	}
+}
+
+}
+
+// Try to match an HTML block tag including first <,
+// returning num of chars matched.
+int _scan_html_block_tag(const unsigned char *p)
+{
+  const unsigned char *marker = NULL;
+  const unsigned char *start = p;
+
+{
+	unsigned char yych;
+	yych = *p;
+	if (yych == '\n') goto yy816;
+	if (yych == '<') goto yy817;
+	goto yy818;
+yy816:
+	{ return 0; }
+yy817:
+	yych = *(marker = ++p);
+	switch (yych) {
+	case '!':
+	case '?':	goto yy819;
+	case '/':	goto yy838;
+	case 'A':
+	case 'a':	goto yy823;
+	case 'B':
+	case 'b':	goto yy826;
+	case 'C':
+	case 'c':	goto yy830;
+	case 'D':
+	case 'd':	goto yy831;
+	case 'E':
+	case 'e':	goto yy834;
+	case 'F':
+	case 'f':	goto yy835;
+	case 'H':
+	case 'h':	goto yy824;
+	case 'I':
+	case 'i':	goto yy825;
+	case 'L':
+	case 'l':	goto yy827;
+	case 'M':
+	case 'm':	goto yy828;
+	case 'O':
+	case 'o':	goto yy829;
+	case 'P':
+	case 'p':	goto yy821;
+	case 'S':
+	case 's':	goto yy832;
+	case 'T':
+	case 't':	goto yy833;
+	case 'U':
+	case 'u':	goto yy836;
+	case 'V':
+	case 'v':	goto yy837;
+	default:	goto yy816;
+	}
+yy818:
+	yych = *++p;
+	goto yy816;
+yy819:
+	++p;
+	{ return (p - start); }
+yy821:
+	yych = *++p;
+	if (yych <= '/') {
+		if (yych <= 0x1F) {
+			if (yych <= 0x08) goto yy822;
+			if (yych <= '\n') goto yy982;
+		} else {
+			if (yych <= ' ') goto yy982;
+			if (yych >= '/') goto yy982;
+		}
+	} else {
+		if (yych <= 'Q') {
+			if (yych == '>') goto yy982;
+		} else {
+			if (yych <= 'R') goto yy1095;
+			if (yych == 'r') goto yy1095;
+		}
+	}
+yy822:
+	p = marker;
+	goto yy816;
+yy823:
+	yych = *++p;
+	if (yych <= 'S') {
+		if (yych <= 'Q') goto yy822;
+		if (yych <= 'R') goto yy1088;
+		goto yy1087;
+	} else {
+		if (yych <= 'q') goto yy822;
+		if (yych <= 'r') goto yy1088;
+		if (yych <= 's') goto yy1087;
+		goto yy822;
+	}
+yy824:
+	yych = *++p;
+	if (yych <= 'Q') {
+		if (yych <= 'D') {
+			if (yych <= '0') goto yy822;
+			if (yych <= '6') goto yy981;
+			goto yy822;
+		} else {
+			if (yych <= 'E') goto yy1080;
+			if (yych == 'G') goto yy1079;
+			goto yy822;
+		}
+	} else {
+		if (yych <= 'f') {
+			if (yych <= 'R') goto yy981;
+			if (yych == 'e') goto yy1080;
+			goto yy822;
+		} else {
+			if (yych <= 'g') goto yy1079;
+			if (yych == 'r') goto yy981;
+			goto yy822;
+		}
+	}
+yy825:
+	yych = *++p;
+	if (yych == 'F') goto yy1075;
+	if (yych == 'f') goto yy1075;
+	goto yy822;
+yy826:
+	yych = *++p;
+	if (yych <= 'U') {
+		if (yych <= 'N') {
+			if (yych == 'L') goto yy1063;
+			goto yy822;
+		} else {
+			if (yych <= 'O') goto yy1062;
+			if (yych <= 'T') goto yy822;
+			goto yy1061;
+		}
+	} else {
+		if (yych <= 'n') {
+			if (yych == 'l') goto yy1063;
+			goto yy822;
+		} else {
+			if (yych <= 'o') goto yy1062;
+			if (yych == 'u') goto yy1061;
+			goto yy822;
+		}
+	}
+yy827:
+	yych = *++p;
+	if (yych == 'I') goto yy981;
+	if (yych == 'i') goto yy981;
+	goto yy822;
+yy828:
+	yych = *++p;
+	if (yych == 'A') goto yy1060;
+	if (yych == 'a') goto yy1060;
+	goto yy822;
+yy829:
+	yych = *++p;
+	if (yych <= 'U') {
+		if (yych <= 'K') {
+			if (yych == 'B') goto yy1053;
+			goto yy822;
+		} else {
+			if (yych <= 'L') goto yy981;
+			if (yych <= 'T') goto yy822;
+			goto yy1052;
+		}
+	} else {
+		if (yych <= 'k') {
+			if (yych == 'b') goto yy1053;
+			goto yy822;
+		} else {
+			if (yych <= 'l') goto yy981;
+			if (yych == 'u') goto yy1052;
+			goto yy822;
+		}
+	}
+yy830:
+	yych = *++p;
+	if (yych <= 'O') {
+		if (yych == 'A') goto yy1039;
+		if (yych <= 'N') goto yy822;
+		goto yy1038;
+	} else {
+		if (yych <= 'a') {
+			if (yych <= '`') goto yy822;
+			goto yy1039;
+		} else {
+			if (yych == 'o') goto yy1038;
+			goto yy822;
+		}
+	}
+yy831:
+	yych = *++p;
+	if (yych <= 'T') {
+		if (yych <= 'I') {
+			if (yych == 'D') goto yy981;
+			if (yych <= 'H') goto yy822;
+			goto yy1037;
+		} else {
+			if (yych == 'L') goto yy981;
+			if (yych <= 'S') goto yy822;
+			goto yy981;
+		}
+	} else {
+		if (yych <= 'i') {
+			if (yych == 'd') goto yy981;
+			if (yych <= 'h') goto yy822;
+			goto yy1037;
+		} else {
+			if (yych <= 'l') {
+				if (yych <= 'k') goto yy822;
+				goto yy981;
+			} else {
+				if (yych == 't') goto yy981;
+				goto yy822;
+			}
+		}
+	}
+yy832:
+	yych = *++p;
+	if (yych <= 'T') {
+		if (yych <= 'D') {
+			if (yych == 'C') goto yy1026;
+			goto yy822;
+		} else {
+			if (yych <= 'E') goto yy1027;
+			if (yych <= 'S') goto yy822;
+			goto yy1025;
+		}
+	} else {
+		if (yych <= 'd') {
+			if (yych == 'c') goto yy1026;
+			goto yy822;
+		} else {
+			if (yych <= 'e') goto yy1027;
+			if (yych == 't') goto yy1025;
+			goto yy822;
+		}
+	}
+yy833:
+	yych = *++p;
+	switch (yych) {
+	case 'A':
+	case 'a':	goto yy1011;
+	case 'B':
+	case 'b':	goto yy1010;
+	case 'D':
+	case 'R':
+	case 'd':
+	case 'r':	goto yy981;
+	case 'E':
+	case 'e':	goto yy1009;
+	case 'F':
+	case 'f':	goto yy1008;
+	case 'H':
+	case 'h':	goto yy1007;
+	default:	goto yy822;
+	}
+yy834:
+	yych = *++p;
+	if (yych == 'M') goto yy1004;
+	if (yych == 'm') goto yy1004;
+	goto yy822;
+yy835:
+	yych = *++p;
+	if (yych <= 'O') {
+		if (yych == 'I') goto yy985;
+		if (yych <= 'N') goto yy822;
+		goto yy984;
+	} else {
+		if (yych <= 'i') {
+			if (yych <= 'h') goto yy822;
+			goto yy985;
+		} else {
+			if (yych == 'o') goto yy984;
+			goto yy822;
+		}
+	}
+yy836:
+	yych = *++p;
+	if (yych == 'L') goto yy981;
+	if (yych == 'l') goto yy981;
+	goto yy822;
+yy837:
+	yych = *++p;
+	if (yych == 'I') goto yy978;
+	if (yych == 'i') goto yy978;
+	goto yy822;
+yy838:
+	yych = *++p;
+	switch (yych) {
+	case 'A':
+	case 'a':	goto yy840;
+	case 'B':
+	case 'b':	goto yy843;
+	case 'C':
+	case 'c':	goto yy847;
+	case 'D':
+	case 'd':	goto yy848;
+	case 'E':
+	case 'e':	goto yy851;
+	case 'F':
+	case 'f':	goto yy852;
+	case 'H':
+	case 'h':	goto yy841;
+	case 'I':
+	case 'i':	goto yy842;
+	case 'L':
+	case 'l':	goto yy844;
+	case 'M':
+	case 'm':	goto yy845;
+	case 'O':
+	case 'o':	goto yy846;
+	case 'P':
+	case 'p':	goto yy839;
+	case 'S':
+	case 's':	goto yy849;
+	case 'T':
+	case 't':	goto yy850;
+	case 'U':
+	case 'u':	goto yy853;
+	case 'V':
+	case 'v':	goto yy854;
+	default:	goto yy822;
+	}
+yy839:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '\n') {
+			if (yych <= 0x08) goto yy822;
+			goto yy859;
+		} else {
+			if (yych == ' ') goto yy859;
+			goto yy822;
+		}
+	} else {
+		if (yych <= 'R') {
+			if (yych <= '>') goto yy859;
+			if (yych <= 'Q') goto yy822;
+			goto yy972;
+		} else {
+			if (yych == 'r') goto yy972;
+			goto yy822;
+		}
+	}
+yy840:
+	yych = *++p;
+	if (yych <= 'S') {
+		if (yych <= 'Q') goto yy822;
+		if (yych <= 'R') goto yy965;
+		goto yy964;
+	} else {
+		if (yych <= 'q') goto yy822;
+		if (yych <= 'r') goto yy965;
+		if (yych <= 's') goto yy964;
+		goto yy822;
+	}
+yy841:
+	yych = *++p;
+	if (yych <= 'Q') {
+		if (yych <= 'D') {
+			if (yych <= '0') goto yy822;
+			if (yych <= '6') goto yy858;
+			goto yy822;
+		} else {
+			if (yych <= 'E') goto yy957;
+			if (yych == 'G') goto yy956;
+			goto yy822;
+		}
+	} else {
+		if (yych <= 'f') {
+			if (yych <= 'R') goto yy858;
+			if (yych == 'e') goto yy957;
+			goto yy822;
+		} else {
+			if (yych <= 'g') goto yy956;
+			if (yych == 'r') goto yy858;
+			goto yy822;
+		}
+	}
+yy842:
+	yych = *++p;
+	if (yych == 'F') goto yy952;
+	if (yych == 'f') goto yy952;
+	goto yy822;
+yy843:
+	yych = *++p;
+	if (yych <= 'U') {
+		if (yych <= 'N') {
+			if (yych == 'L') goto yy940;
+			goto yy822;
+		} else {
+			if (yych <= 'O') goto yy939;
+			if (yych <= 'T') goto yy822;
+			goto yy938;
+		}
+	} else {
+		if (yych <= 'n') {
+			if (yych == 'l') goto yy940;
+			goto yy822;
+		} else {
+			if (yych <= 'o') goto yy939;
+			if (yych == 'u') goto yy938;
+			goto yy822;
+		}
+	}
+yy844:
+	yych = *++p;
+	if (yych == 'I') goto yy858;
+	if (yych == 'i') goto yy858;
+	goto yy822;
+yy845:
+	yych = *++p;
+	if (yych == 'A') goto yy937;
+	if (yych == 'a') goto yy937;
+	goto yy822;
+yy846:
+	yych = *++p;
+	if (yych <= 'U') {
+		if (yych <= 'K') {
+			if (yych == 'B') goto yy930;
+			goto yy822;
+		} else {
+			if (yych <= 'L') goto yy858;
+			if (yych <= 'T') goto yy822;
+			goto yy929;
+		}
+	} else {
+		if (yych <= 'k') {
+			if (yych == 'b') goto yy930;
+			goto yy822;
+		} else {
+			if (yych <= 'l') goto yy858;
+			if (yych == 'u') goto yy929;
+			goto yy822;
+		}
+	}
+yy847:
+	yych = *++p;
+	if (yych <= 'O') {
+		if (yych == 'A') goto yy916;
+		if (yych <= 'N') goto yy822;
+		goto yy915;
+	} else {
+		if (yych <= 'a') {
+			if (yych <= '`') goto yy822;
+			goto yy916;
+		} else {
+			if (yych == 'o') goto yy915;
+			goto yy822;
+		}
+	}
+yy848:
+	yych = *++p;
+	if (yych <= 'T') {
+		if (yych <= 'I') {
+			if (yych == 'D') goto yy858;
+			if (yych <= 'H') goto yy822;
+			goto yy914;
+		} else {
+			if (yych == 'L') goto yy858;
+			if (yych <= 'S') goto yy822;
+			goto yy858;
+		}
+	} else {
+		if (yych <= 'i') {
+			if (yych == 'd') goto yy858;
+			if (yych <= 'h') goto yy822;
+			goto yy914;
+		} else {
+			if (yych <= 'l') {
+				if (yych <= 'k') goto yy822;
+				goto yy858;
+			} else {
+				if (yych == 't') goto yy858;
+				goto yy822;
+			}
+		}
+	}
+yy849:
+	yych = *++p;
+	if (yych <= 'T') {
+		if (yych <= 'D') {
+			if (yych == 'C') goto yy903;
+			goto yy822;
+		} else {
+			if (yych <= 'E') goto yy904;
+			if (yych <= 'S') goto yy822;
+			goto yy902;
+		}
+	} else {
+		if (yych <= 'd') {
+			if (yych == 'c') goto yy903;
+			goto yy822;
+		} else {
+			if (yych <= 'e') goto yy904;
+			if (yych == 't') goto yy902;
+			goto yy822;
+		}
+	}
+yy850:
+	yych = *++p;
+	switch (yych) {
+	case 'A':
+	case 'a':	goto yy888;
+	case 'B':
+	case 'b':	goto yy887;
+	case 'D':
+	case 'R':
+	case 'd':
+	case 'r':	goto yy858;
+	case 'E':
+	case 'e':	goto yy886;
+	case 'F':
+	case 'f':	goto yy885;
+	case 'H':
+	case 'h':	goto yy884;
+	default:	goto yy822;
+	}
+yy851:
+	yych = *++p;
+	if (yych == 'M') goto yy881;
+	if (yych == 'm') goto yy881;
+	goto yy822;
+yy852:
+	yych = *++p;
+	if (yych <= 'O') {
+		if (yych == 'I') goto yy862;
+		if (yych <= 'N') goto yy822;
+		goto yy861;
+	} else {
+		if (yych <= 'i') {
+			if (yych <= 'h') goto yy822;
+			goto yy862;
+		} else {
+			if (yych == 'o') goto yy861;
+			goto yy822;
+		}
+	}
+yy853:
+	yych = *++p;
+	if (yych == 'L') goto yy858;
+	if (yych == 'l') goto yy858;
+	goto yy822;
+yy854:
+	yych = *++p;
+	if (yych == 'I') goto yy855;
+	if (yych != 'i') goto yy822;
+yy855:
+	yych = *++p;
+	if (yych == 'D') goto yy856;
+	if (yych != 'd') goto yy822;
+yy856:
+	yych = *++p;
+	if (yych == 'E') goto yy857;
+	if (yych != 'e') goto yy822;
+yy857:
+	yych = *++p;
+	if (yych == 'O') goto yy858;
+	if (yych != 'o') goto yy822;
+yy858:
+	yych = *++p;
+	if (yych <= 0x1F) {
+		if (yych <= 0x08) goto yy822;
+		if (yych >= '\v') goto yy822;
+	} else {
+		if (yych <= ' ') goto yy859;
+		if (yych != '>') goto yy822;
+	}
+yy859:
+	++p;
+	{ return (p - start); }
+yy861:
+	yych = *++p;
+	if (yych <= 'R') {
+		if (yych == 'O') goto yy877;
+		if (yych <= 'Q') goto yy822;
+		goto yy878;
+	} else {
+		if (yych <= 'o') {
+			if (yych <= 'n') goto yy822;
+			goto yy877;
+		} else {
+			if (yych == 'r') goto yy878;
+			goto yy822;
+		}
+	}
+yy862:
+	yych = *++p;
+	if (yych <= 'G') {
+		if (yych == 'E') goto yy863;
+		if (yych <= 'F') goto yy822;
+		goto yy864;
+	} else {
+		if (yych <= 'e') {
+			if (yych <= 'd') goto yy822;
+		} else {
+			if (yych == 'g') goto yy864;
+			goto yy822;
+		}
+	}
+yy863:
+	yych = *++p;
+	if (yych == 'L') goto yy873;
+	if (yych == 'l') goto yy873;
+	goto yy822;
+yy864:
+	yych = *++p;
+	if (yych <= 'U') {
+		if (yych == 'C') goto yy866;
+		if (yych <= 'T') goto yy822;
+	} else {
+		if (yych <= 'c') {
+			if (yych <= 'b') goto yy822;
+			goto yy866;
+		} else {
+			if (yych != 'u') goto yy822;
+		}
+	}
+	yych = *++p;
+	if (yych == 'R') goto yy872;
+	if (yych == 'r') goto yy872;
+	goto yy822;
+yy866:
+	yych = *++p;
+	if (yych == 'A') goto yy867;
+	if (yych != 'a') goto yy822;
+yy867:
+	yych = *++p;
+	if (yych == 'P') goto yy868;
+	if (yych != 'p') goto yy822;
+yy868:
+	yych = *++p;
+	if (yych == 'T') goto yy869;
+	if (yych != 't') goto yy822;
+yy869:
+	yych = *++p;
+	if (yych == 'I') goto yy870;
+	if (yych != 'i') goto yy822;
+yy870:
+	yych = *++p;
+	if (yych == 'O') goto yy871;
+	if (yych != 'o') goto yy822;
+yy871:
+	yych = *++p;
+	if (yych == 'N') goto yy858;
+	if (yych == 'n') goto yy858;
+	goto yy822;
+yy872:
+	yych = *++p;
+	if (yych == 'E') goto yy858;
+	if (yych == 'e') goto yy858;
+	goto yy822;
+yy873:
+	yych = *++p;
+	if (yych == 'D') goto yy874;
+	if (yych != 'd') goto yy822;
+yy874:
+	yych = *++p;
+	if (yych == 'S') goto yy875;
+	if (yych != 's') goto yy822;
+yy875:
+	yych = *++p;
+	if (yych == 'E') goto yy876;
+	if (yych != 'e') goto yy822;
+yy876:
+	yych = *++p;
+	if (yych == 'T') goto yy858;
+	if (yych == 't') goto yy858;
+	goto yy822;
+yy877:
+	yych = *++p;
+	if (yych == 'T') goto yy879;
+	if (yych == 't') goto yy879;
+	goto yy822;
+yy878:
+	yych = *++p;
+	if (yych == 'M') goto yy858;
+	if (yych == 'm') goto yy858;
+	goto yy822;
+yy879:
+	yych = *++p;
+	if (yych == 'E') goto yy880;
+	if (yych != 'e') goto yy822;
+yy880:
+	yych = *++p;
+	if (yych == 'R') goto yy858;
+	if (yych == 'r') goto yy858;
+	goto yy822;
+yy881:
+	yych = *++p;
+	if (yych == 'B') goto yy882;
+	if (yych != 'b') goto yy822;
+yy882:
+	yych = *++p;
+	if (yych == 'E') goto yy883;
+	if (yych != 'e') goto yy822;
+yy883:
+	yych = *++p;
+	if (yych == 'D') goto yy858;
+	if (yych == 'd') goto yy858;
+	goto yy822;
+yy884:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '\n') {
+			if (yych <= 0x08) goto yy822;
+			goto yy859;
+		} else {
+			if (yych == ' ') goto yy859;
+			goto yy822;
+		}
+	} else {
+		if (yych <= 'E') {
+			if (yych <= '>') goto yy859;
+			if (yych <= 'D') goto yy822;
+			goto yy900;
+		} else {
+			if (yych == 'e') goto yy900;
+			goto yy822;
+		}
+	}
+yy885:
+	yych = *++p;
+	if (yych == 'O') goto yy898;
+	if (yych == 'o') goto yy898;
+	goto yy822;
+yy886:
+	yych = *++p;
+	if (yych == 'X') goto yy893;
+	if (yych == 'x') goto yy893;
+	goto yy822;
+yy887:
+	yych = *++p;
+	if (yych == 'O') goto yy891;
+	if (yych == 'o') goto yy891;
+	goto yy822;
+yy888:
+	yych = *++p;
+	if (yych == 'B') goto yy889;
+	if (yych != 'b') goto yy822;
+yy889:
+	yych = *++p;
+	if (yych == 'L') goto yy890;
+	if (yych != 'l') goto yy822;
+yy890:
+	yych = *++p;
+	if (yych == 'E') goto yy858;
+	if (yych == 'e') goto yy858;
+	goto yy822;
+yy891:
+	yych = *++p;
+	if (yych == 'D') goto yy892;
+	if (yych != 'd') goto yy822;
+yy892:
+	yych = *++p;
+	if (yych == 'Y') goto yy858;
+	if (yych == 'y') goto yy858;
+	goto yy822;
+yy893:
+	yych = *++p;
+	if (yych == 'T') goto yy894;
+	if (yych != 't') goto yy822;
+yy894:
+	yych = *++p;
+	if (yych == 'A') goto yy895;
+	if (yych != 'a') goto yy822;
+yy895:
+	yych = *++p;
+	if (yych == 'R') goto yy896;
+	if (yych != 'r') goto yy822;
+yy896:
+	yych = *++p;
+	if (yych == 'E') goto yy897;
+	if (yych != 'e') goto yy822;
+yy897:
+	yych = *++p;
+	if (yych == 'A') goto yy858;
+	if (yych == 'a') goto yy858;
+	goto yy822;
+yy898:
+	yych = *++p;
+	if (yych == 'O') goto yy899;
+	if (yych != 'o') goto yy822;
+yy899:
+	yych = *++p;
+	if (yych == 'T') goto yy858;
+	if (yych == 't') goto yy858;
+	goto yy822;
+yy900:
+	yych = *++p;
+	if (yych == 'A') goto yy901;
+	if (yych != 'a') goto yy822;
+yy901:
+	yych = *++p;
+	if (yych == 'D') goto yy858;
+	if (yych == 'd') goto yy858;
+	goto yy822;
+yy902:
+	yych = *++p;
+	if (yych == 'Y') goto yy912;
+	if (yych == 'y') goto yy912;
+	goto yy822;
+yy903:
+	yych = *++p;
+	if (yych == 'R') goto yy909;
+	if (yych == 'r') goto yy909;
+	goto yy822;
+yy904:
+	yych = *++p;
+	if (yych == 'C') goto yy905;
+	if (yych != 'c') goto yy822;
+yy905:
+	yych = *++p;
+	if (yych == 'T') goto yy906;
+	if (yych != 't') goto yy822;
+yy906:
+	yych = *++p;
+	if (yych == 'I') goto yy907;
+	if (yych != 'i') goto yy822;
+yy907:
+	yych = *++p;
+	if (yych == 'O') goto yy908;
+	if (yych != 'o') goto yy822;
+yy908:
+	yych = *++p;
+	if (yych == 'N') goto yy858;
+	if (yych == 'n') goto yy858;
+	goto yy822;
+yy909:
+	yych = *++p;
+	if (yych == 'I') goto yy910;
+	if (yych != 'i') goto yy822;
+yy910:
+	yych = *++p;
+	if (yych == 'P') goto yy911;
+	if (yych != 'p') goto yy822;
+yy911:
+	yych = *++p;
+	if (yych == 'T') goto yy858;
+	if (yych == 't') goto yy858;
+	goto yy822;
+yy912:
+	yych = *++p;
+	if (yych == 'L') goto yy913;
+	if (yych != 'l') goto yy822;
+yy913:
+	yych = *++p;
+	if (yych == 'E') goto yy858;
+	if (yych == 'e') goto yy858;
+	goto yy822;
+yy914:
+	yych = *++p;
+	if (yych == 'V') goto yy858;
+	if (yych == 'v') goto yy858;
+	goto yy822;
+yy915:
+	yych = *++p;
+	if (yych == 'L') goto yy924;
+	if (yych == 'l') goto yy924;
+	goto yy822;
+yy916:
+	yych = *++p;
+	if (yych <= 'P') {
+		if (yych == 'N') goto yy917;
+		if (yych <= 'O') goto yy822;
+		goto yy918;
+	} else {
+		if (yych <= 'n') {
+			if (yych <= 'm') goto yy822;
+		} else {
+			if (yych == 'p') goto yy918;
+			goto yy822;
+		}
+	}
+yy917:
+	yych = *++p;
+	if (yych == 'V') goto yy922;
+	if (yych == 'v') goto yy922;
+	goto yy822;
+yy918:
+	yych = *++p;
+	if (yych == 'T') goto yy919;
+	if (yych != 't') goto yy822;
+yy919:
+	yych = *++p;
+	if (yych == 'I') goto yy920;
+	if (yych != 'i') goto yy822;
+yy920:
+	yych = *++p;
+	if (yych == 'O') goto yy921;
+	if (yych != 'o') goto yy822;
+yy921:
+	yych = *++p;
+	if (yych == 'N') goto yy858;
+	if (yych == 'n') goto yy858;
+	goto yy822;
+yy922:
+	yych = *++p;
+	if (yych == 'A') goto yy923;
+	if (yych != 'a') goto yy822;
+yy923:
+	yych = *++p;
+	if (yych == 'S') goto yy858;
+	if (yych == 's') goto yy858;
+	goto yy822;
+yy924:
+	yych = *++p;
+	if (yych <= '=') {
+		if (yych <= '\n') {
+			if (yych <= 0x08) goto yy822;
+			goto yy859;
+		} else {
+			if (yych == ' ') goto yy859;
+			goto yy822;
+		}
+	} else {
+		if (yych <= 'G') {
+			if (yych <= '>') goto yy859;
+			if (yych <= 'F') goto yy822;
+		} else {
+			if (yych != 'g') goto yy822;
+		}
+	}
+	yych = *++p;
+	if (yych == 'R') goto yy926;
+	if (yych != 'r') goto yy822;
+yy926:
+	yych = *++p;
+	if (yych == 'O') goto yy927;
+	if (yych != 'o') goto yy822;
+yy927:
+	yych = *++p;
+	if (yych == 'U') goto yy928;
+	if (yych != 'u') goto yy822;
+yy928:
+	yych = *++p;
+	if (yych == 'P') goto yy858;
+	if (yych == 'p') goto yy858;
+	goto yy822;
+yy929:
+	yych = *++p;
+	if (yych == 'T') goto yy934;
+	if (yych == 't') goto yy934;
+	goto yy822;
+yy930:
+	yych = *++p;
+	if (yych == 'J') goto yy931;
+	if (yych != 'j') goto yy822;
+yy931:
+	yych = *++p;
+	if (yych == 'E') goto yy932;
+	if (yych != 'e') goto yy822;
+yy932:
+	yych = *++p;
+	if (yych == 'C') goto yy933;
+	if (yych != 'c') goto yy822;
+yy933:
+	yych = *++p;
+	if (yych == 'T') goto yy858;
+	if (yych == 't') goto yy858;
+	goto yy822;
+yy934:
+	yych = *++p;
+	if (yych == 'P') goto yy935;
+	if (yych != 'p') goto yy822;
+yy935:
+	yych = *++p;
+	if (yych == 'U') goto yy936;
+	if (yych != 'u') goto yy822;
+yy936:
+	yych = *++p;
+	if (yych == 'T') goto yy858;
+	if (yych == 't') goto yy858;
+	goto yy822;
+yy937:
+	yych = *++p;
+	if (yych == 'P') goto yy858;
+	if (yych == 'p') goto yy858;
+	goto yy822;
+yy938:
+	yych = *++p;
+	if (yych == 'T') goto yy949;
+	if (yych == 't') goto yy949;
+	goto yy822;
+yy939:
+	yych = *++p;
+	if (yych == 'D') goto yy948;
+	if (yych == 'd') goto yy948;
+	goto yy822;
+yy940:
+	yych = *++p;
+	if (yych == 'O') goto yy941;
+	if (yych != 'o') goto yy822;
+yy941:
+	yych = *++p;
+	if (yych == 'C') goto yy942;
+	if (yych != 'c') goto yy822;
+yy942:
+	yych = *++p;
+	if (yych == 'K') goto yy943;
+	if (yych != 'k') goto yy822;
+yy943:
+	yych = *++p;
+	if (yych == 'Q') goto yy944;
+	if (yych != 'q') goto yy822;
+yy944:
+	yych = *++p;
+	if (yych == 'U') goto yy945;
+	if (yych != 'u') goto yy822;
+yy945:
+	yych = *++p;
+	if (yych == 'O') goto yy946;
+	if (yych != 'o') goto yy822;
+yy946:
+	yych = *++p;
+	if (yych == 'T') goto yy947;
+	if (yych != 't') goto yy822;
+yy947:
+	yych = *++p;
+	if (yych == 'E') goto yy858;
+	if (yych == 'e') goto yy858;
+	goto yy822;
+yy948:
+	yych = *++p;
+	if (yych == 'Y') goto yy858;
+	if (yych == 'y') goto yy858;
+	goto yy822;
+yy949:
+	yych = *++p;
+	if (yych == 'T') goto yy950;
+	if (yych != 't') goto yy822;
+yy950:
+	yych = *++p;
+	if (yych == 'O') goto yy951;
+	if (yych != 'o') goto yy822;
+yy951:
+	yych = *++p;
+	if (yych == 'N') goto yy858;
+	if (yych == 'n') goto yy858;
+	goto yy822;
+yy952:
+	yych = *++p;
+	if (yych == 'R') goto yy953;
+	if (yych != 'r') goto yy822;
+yy953:
+	yych = *++p;
+	if (yych == 'A') goto yy954;
+	if (yych != 'a') goto yy822;
+yy954:
+	yych = *++p;
+	if (yych == 'M') goto yy955;
+	if (yych != 'm') goto yy822;
+yy955:
+	yych = *++p;
+	if (yych == 'E') goto yy858;
+	if (yych == 'e') goto yy858;
+	goto yy822;
+yy956:
+	yych = *++p;
+	if (yych == 'R') goto yy961;
+	if (yych == 'r') goto yy961;
+	goto yy822;
+yy957:
+	yych = *++p;
+	if (yych == 'A') goto yy958;
+	if (yych != 'a') goto yy822;
+yy958:
+	yych = *++p;
+	if (yych == 'D') goto yy959;
+	if (yych != 'd') goto yy822;
+yy959:
+	yych = *++p;
+	if (yych == 'E') goto yy960;
+	if (yych != 'e') goto yy822;
+yy960:
+	yych = *++p;
+	if (yych == 'R') goto yy858;
+	if (yych == 'r') goto yy858;
+	goto yy822;
+yy961:
+	yych = *++p;
+	if (yych == 'O') goto yy962;
+	if (yych != 'o') goto yy822;
+yy962:
+	yych = *++p;
+	if (yych == 'U') goto yy963;
+	if (yych != 'u') goto yy822;
+yy963:
+	yych = *++p;
+	if (yych == 'P') goto yy858;
+	if (yych == 'p') goto yy858;
+	goto yy822;
+yy964:
+	yych = *++p;
+	if (yych == 'I') goto yy970;
+	if (yych == 'i') goto yy970;
+	goto yy822;
+yy965:
+	yych = *++p;
+	if (yych == 'T') goto yy966;
+	if (yych != 't') goto yy822;
+yy966:
+	yych = *++p;
+	if (yych == 'I') goto yy967;
+	if (yych != 'i') goto yy822;
+yy967:
+	yych = *++p;
+	if (yych == 'C') goto yy968;
+	if (yych != 'c') goto yy822;
+yy968:
+	yych = *++p;
+	if (yych == 'L') goto yy969;
+	if (yych != 'l') goto yy822;
+yy969:
+	yych = *++p;
+	if (yych == 'E') goto yy858;
+	if (yych == 'e') goto yy858;
+	goto yy822;
+yy970:
+	yych = *++p;
+	if (yych == 'D') goto yy971;
+	if (yych != 'd') goto yy822;
+yy971:
+	yych = *++p;
+	if (yych == 'E') goto yy858;
+	if (yych == 'e') goto yy858;
+	goto yy822;
+yy972:
+	yych = *++p;
+	if (yych <= 'O') {
+		if (yych == 'E') goto yy858;
+		if (yych <= 'N') goto yy822;
+	} else {
+		if (yych <= 'e') {
+			if (yych <= 'd') goto yy822;
+			goto yy858;
+		} else {
+			if (yych != 'o') goto yy822;
+		}
+	}
+	yych = *++p;
+	if (yych == 'G') goto yy974;
+	if (yych != 'g') goto yy822;
+yy974:
+	yych = *++p;
+	if (yych == 'R') goto yy975;
+	if (yych != 'r') goto yy822;
+yy975:
+	yych = *++p;
+	if (yych == 'E') goto yy976;
+	if (yych != 'e') goto yy822;
+yy976:
+	yych = *++p;
+	if (yych == 'S') goto yy977;
+	if (yych != 's') goto yy822;
+yy977:
+	yych = *++p;
+	if (yych == 'S') goto yy858;
+	if (yych == 's') goto yy858;
+	goto yy822;
+yy978:
+	yych = *++p;
+	if (yych == 'D') goto yy979;
+	if (yych != 'd') goto yy822;
+yy979:
+	yych = *++p;
+	if (yych == 'E') goto yy980;
+	if (yych != 'e') goto yy822;
+yy980:
+	yych = *++p;
+	if (yych == 'O') goto yy981;
+	if (yych != 'o') goto yy822;
+yy981:
+	yych = *++p;
+	if (yych <= ' ') {
+		if (yych <= 0x08) goto yy822;
+		if (yych <= '\n') goto yy982;
+		if (yych <= 0x1F) goto yy822;
+	} else {
+		if (yych <= '/') {
+			if (yych <= '.') goto yy822;
+		} else {
+			if (yych != '>') goto yy822;
+		}
+	}
+yy982:
+	++p;
+	{ return (p - start); }
+yy984:
+	yych = *++p;
+	if (yych <= 'R') {
+		if (yych == 'O') goto yy1000;
+		if (yych <= 'Q') goto yy822;
+		goto yy1001;
+	} else {
+		if (yych <= 'o') {
+			if (yych <= 'n') goto yy822;
+			goto yy1000;
+		} else {
+			if (yych == 'r') goto yy1001;
+			goto yy822;
+		}
+	}
+yy985:
+	yych = *++p;
+	if (yych <= 'G') {
+		if (yych == 'E') goto yy986;
+		if (yych <= 'F') goto yy822;
+		goto yy987;
+	} else {
+		if (yych <= 'e') {
+			if (yych <= 'd') goto yy822;
+		} else {
+			if (yych == 'g') goto yy987;
+			goto yy822;
+		}
+	}
+yy986:
+	yych = *++p;
+	if (yych == 'L') goto yy996;
+	if (yych == 'l') goto yy996;
+	goto yy822;
+yy987:
+	yych = *++p;
+	if (yych <= 'U') {
+		if (yych == 'C') goto yy989;
+		if (yych <= 'T') goto yy822;
+	} else {
+		if (yych <= 'c') {
+			if (yych <= 'b') goto yy822;
+			goto yy989;
+		} else {
+			if (yych != 'u') goto yy822;
+		}
+	}
+	yych = *++p;
+	if (yych == 'R') goto yy995;
+	if (yych == 'r') goto yy995;
+	goto yy822;
+yy989:
+	yych = *++p;
+	if (yych == 'A') goto yy990;
+	if (yych != 'a') goto yy822;
+yy990:
+	yych = *++p;
+	if (yych == 'P') goto yy991;
+	if (yych != 'p') goto yy822;
+yy991:
+	yych = *++p;
+	if (yych == 'T') goto yy992;
+	if (yych != 't') goto yy822;
+yy992:
+	yych = *++p;
+	if (yych == 'I') goto yy993;
+	if (yych != 'i') goto yy822;
+yy993:
+	yych = *++p;
+	if (yych == 'O') goto yy994;
+	if (yych != 'o') goto yy822;
+yy994:
+	yych = *++p;
+	if (yych == 'N') goto yy981;
+	if (yych == 'n') goto yy981;
+	goto yy822;
+yy995:
+	yych = *++p;
+	if (yych == 'E') goto yy981;
+	if (yych == 'e') goto yy981;
+	goto yy822;
+yy996:
+	yych = *++p;
+	if (yych == 'D') goto yy997;
+	if (yych != 'd') goto yy822;
+yy997:
+	yych = *++p;
+	if (yych == 'S') goto yy998;
+	if (yych != 's') goto yy822;
+yy998:
+	yych = *++p;
+	if (yych == 'E') goto yy999;
+	if (yych != 'e') goto yy822;
+yy999:
+	yych = *++p;
+	if (yych == 'T') goto yy981;
+	if (yych == 't') goto yy981;
+	goto yy822;
+yy1000:
+	yych = *++p;
+	if (yych == 'T') goto yy1002;
+	if (yych == 't') goto yy1002;
+	goto yy822;
+yy1001:
+	yych = *++p;
+	if (yych == 'M') goto yy981;
+	if (yych == 'm') goto yy981;
+	goto yy822;
+yy1002:
+	yych = *++p;
+	if (yych == 'E') goto yy1003;
+	if (yych != 'e') goto yy822;
+yy1003:
+	yych = *++p;
+	if (yych == 'R') goto yy981;
+	if (yych == 'r') goto yy981;
+	goto yy822;
+yy1004:
+	yych = *++p;
+	if (yych == 'B') goto yy1005;
+	if (yych != 'b') goto yy822;
+yy1005:
+	yych = *++p;
+	if (yych == 'E') goto yy1006;
+	if (yych != 'e') goto yy822;
+yy1006:
+	yych = *++p;
+	if (yych == 'D') goto yy981;
+	if (yych == 'd') goto yy981;
+	goto yy822;
+yy1007:
+	yych = *++p;
+	if (yych <= '/') {
+		if (yych <= 0x1F) {
+			if (yych <= 0x08) goto yy822;
+			if (yych <= '\n') goto yy982;
+			goto yy822;
+		} else {
+			if (yych <= ' ') goto yy982;
+			if (yych <= '.') goto yy822;
+			goto yy982;
+		}
+	} else {
+		if (yych <= 'D') {
+			if (yych == '>') goto yy982;
+			goto yy822;
+		} else {
+			if (yych <= 'E') goto yy1023;
+			if (yych == 'e') goto yy1023;
+			goto yy822;
+		}
+	}
+yy1008:
+	yych = *++p;
+	if (yych == 'O') goto yy1021;
+	if (yych == 'o') goto yy1021;
+	goto yy822;
+yy1009:
+	yych = *++p;
+	if (yych == 'X') goto yy1016;
+	if (yych == 'x') goto yy1016;
+	goto yy822;
+yy1010:
+	yych = *++p;
+	if (yych == 'O') goto yy1014;
+	if (yych == 'o') goto yy1014;
+	goto yy822;
+yy1011:
+	yych = *++p;
+	if (yych == 'B') goto yy1012;
+	if (yych != 'b') goto yy822;
+yy1012:
+	yych = *++p;
+	if (yych == 'L') goto yy1013;
+	if (yych != 'l') goto yy822;
+yy1013:
+	yych = *++p;
+	if (yych == 'E') goto yy981;
+	if (yych == 'e') goto yy981;
+	goto yy822;
+yy1014:
+	yych = *++p;
+	if (yych == 'D') goto yy1015;
+	if (yych != 'd') goto yy822;
+yy1015:
+	yych = *++p;
+	if (yych == 'Y') goto yy981;
+	if (yych == 'y') goto yy981;
+	goto yy822;
+yy1016:
+	yych = *++p;
+	if (yych == 'T') goto yy1017;
+	if (yych != 't') goto yy822;
+yy1017:
+	yych = *++p;
+	if (yych == 'A') goto yy1018;
+	if (yych != 'a') goto yy822;
+yy1018:
+	yych = *++p;
+	if (yych == 'R') goto yy1019;
+	if (yych != 'r') goto yy822;
+yy1019:
+	yych = *++p;
+	if (yych == 'E') goto yy1020;
+	if (yych != 'e') goto yy822;
+yy1020:
+	yych = *++p;
+	if (yych == 'A') goto yy981;
+	if (yych == 'a') goto yy981;
+	goto yy822;
+yy1021:
+	yych = *++p;
+	if (yych == 'O') goto yy1022;
+	if (yych != 'o') goto yy822;
+yy1022:
+	yych = *++p;
+	if (yych == 'T') goto yy981;
+	if (yych == 't') goto yy981;
+	goto yy822;
+yy1023:
+	yych = *++p;
+	if (yych == 'A') goto yy1024;
+	if (yych != 'a') goto yy822;
+yy1024:
+	yych = *++p;
+	if (yych == 'D') goto yy981;
+	if (yych == 'd') goto yy981;
+	goto yy822;
+yy1025:
+	yych = *++p;
+	if (yych == 'Y') goto yy1035;
+	if (yych == 'y') goto yy1035;
+	goto yy822;
+yy1026:
+	yych = *++p;
+	if (yych == 'R') goto yy1032;
+	if (yych == 'r') goto yy1032;
+	goto yy822;
+yy1027:
+	yych = *++p;
+	if (yych == 'C') goto yy1028;
+	if (yych != 'c') goto yy822;
+yy1028:
+	yych = *++p;
+	if (yych == 'T') goto yy1029;
+	if (yych != 't') goto yy822;
+yy1029:
+	yych = *++p;
+	if (yych == 'I') goto yy1030;
+	if (yych != 'i') goto yy822;
+yy1030:
+	yych = *++p;
+	if (yych == 'O') goto yy1031;
+	if (yych != 'o') goto yy822;
+yy1031:
+	yych = *++p;
+	if (yych == 'N') goto yy981;
+	if (yych == 'n') goto yy981;
+	goto yy822;
+yy1032:
+	yych = *++p;
+	if (yych == 'I') goto yy1033;
+	if (yych != 'i') goto yy822;
+yy1033:
+	yych = *++p;
+	if (yych == 'P') goto yy1034;
+	if (yych != 'p') goto yy822;
+yy1034:
+	yych = *++p;
+	if (yych == 'T') goto yy981;
+	if (yych == 't') goto yy981;
+	goto yy822;
+yy1035:
+	yych = *++p;
+	if (yych == 'L') goto yy1036;
+	if (yych != 'l') goto yy822;
+yy1036:
+	yych = *++p;
+	if (yych == 'E') goto yy981;
+	if (yych == 'e') goto yy981;
+	goto yy822;
+yy1037:
+	yych = *++p;
+	if (yych == 'V') goto yy981;
+	if (yych == 'v') goto yy981;
+	goto yy822;
+yy1038:
+	yych = *++p;
+	if (yych == 'L') goto yy1047;
+	if (yych == 'l') goto yy1047;
+	goto yy822;
+yy1039:
+	yych = *++p;
+	if (yych <= 'P') {
+		if (yych == 'N') goto yy1040;
+		if (yych <= 'O') goto yy822;
+		goto yy1041;
+	} else {
+		if (yych <= 'n') {
+			if (yych <= 'm') goto yy822;
+		} else {
+			if (yych == 'p') goto yy1041;
+			goto yy822;
+		}
+	}
+yy1040:
+	yych = *++p;
+	if (yych == 'V') goto yy1045;
+	if (yych == 'v') goto yy1045;
+	goto yy822;
+yy1041:
+	yych = *++p;
+	if (yych == 'T') goto yy1042;
+	if (yych != 't') goto yy822;
+yy1042:
+	yych = *++p;
+	if (yych == 'I') goto yy1043;
+	if (yych != 'i') goto yy822;
+yy1043:
+	yych = *++p;
+	if (yych == 'O') goto yy1044;
+	if (yych != 'o') goto yy822;
+yy1044:
+	yych = *++p;
+	if (yych == 'N') goto yy981;
+	if (yych == 'n') goto yy981;
+	goto yy822;
+yy1045:
+	yych = *++p;
+	if (yych == 'A') goto yy1046;
+	if (yych != 'a') goto yy822;
+yy1046:
+	yych = *++p;
+	if (yych == 'S') goto yy981;
+	if (yych == 's') goto yy981;
+	goto yy822;
+yy1047:
+	yych = *++p;
+	if (yych <= '/') {
+		if (yych <= 0x1F) {
+			if (yych <= 0x08) goto yy822;
+			if (yych <= '\n') goto yy982;
+			goto yy822;
+		} else {
+			if (yych <= ' ') goto yy982;
+			if (yych <= '.') goto yy822;
+			goto yy982;
+		}
+	} else {
+		if (yych <= 'F') {
+			if (yych == '>') goto yy982;
+			goto yy822;
+		} else {
+			if (yych <= 'G') goto yy1048;
+			if (yych != 'g') goto yy822;
+		}
+	}
+yy1048:
+	yych = *++p;
+	if (yych == 'R') goto yy1049;
+	if (yych != 'r') goto yy822;
+yy1049:
+	yych = *++p;
+	if (yych == 'O') goto yy1050;
+	if (yych != 'o') goto yy822;
+yy1050:
+	yych = *++p;
+	if (yych == 'U') goto yy1051;
+	if (yych != 'u') goto yy822;
+yy1051:
+	yych = *++p;
+	if (yych == 'P') goto yy981;
+	if (yych == 'p') goto yy981;
+	goto yy822;
+yy1052:
+	yych = *++p;
+	if (yych == 'T') goto yy1057;
+	if (yych == 't') goto yy1057;
+	goto yy822;
+yy1053:
+	yych = *++p;
+	if (yych == 'J') goto yy1054;
+	if (yych != 'j') goto yy822;
+yy1054:
+	yych = *++p;
+	if (yych == 'E') goto yy1055;
+	if (yych != 'e') goto yy822;
+yy1055:
+	yych = *++p;
+	if (yych == 'C') goto yy1056;
+	if (yych != 'c') goto yy822;
+yy1056:
+	yych = *++p;
+	if (yych == 'T') goto yy981;
+	if (yych == 't') goto yy981;
+	goto yy822;
+yy1057:
+	yych = *++p;
+	if (yych == 'P') goto yy1058;
+	if (yych != 'p') goto yy822;
+yy1058:
+	yych = *++p;
+	if (yych == 'U') goto yy1059;
+	if (yych != 'u') goto yy822;
+yy1059:
+	yych = *++p;
+	if (yych == 'T') goto yy981;
+	if (yych == 't') goto yy981;
+	goto yy822;
+yy1060:
+	yych = *++p;
+	if (yych == 'P') goto yy981;
+	if (yych == 'p') goto yy981;
+	goto yy822;
+yy1061:
+	yych = *++p;
+	if (yych == 'T') goto yy1072;
+	if (yych == 't') goto yy1072;
+	goto yy822;
+yy1062:
+	yych = *++p;
+	if (yych == 'D') goto yy1071;
+	if (yych == 'd') goto yy1071;
+	goto yy822;
+yy1063:
+	yych = *++p;
+	if (yych == 'O') goto yy1064;
+	if (yych != 'o') goto yy822;
+yy1064:
+	yych = *++p;
+	if (yych == 'C') goto yy1065;
+	if (yych != 'c') goto yy822;
+yy1065:
+	yych = *++p;
+	if (yych == 'K') goto yy1066;
+	if (yych != 'k') goto yy822;
+yy1066:
+	yych = *++p;
+	if (yych == 'Q') goto yy1067;
+	if (yych != 'q') goto yy822;
+yy1067:
+	yych = *++p;
+	if (yych == 'U') goto yy1068;
+	if (yych != 'u') goto yy822;
+yy1068:
+	yych = *++p;
+	if (yych == 'O') goto yy1069;
+	if (yych != 'o') goto yy822;
+yy1069:
+	yych = *++p;
+	if (yych == 'T') goto yy1070;
+	if (yych != 't') goto yy822;
+yy1070:
+	yych = *++p;
+	if (yych == 'E') goto yy981;
+	if (yych == 'e') goto yy981;
+	goto yy822;
+yy1071:
+	yych = *++p;
+	if (yych == 'Y') goto yy981;
+	if (yych == 'y') goto yy981;
+	goto yy822;
+yy1072:
+	yych = *++p;
+	if (yych == 'T') goto yy1073;
+	if (yych != 't') goto yy822;
+yy1073:
+	yych = *++p;
+	if (yych == 'O') goto yy1074;
+	if (yych != 'o') goto yy822;
+yy1074:
+	yych = *++p;
+	if (yych == 'N') goto yy981;
+	if (yych == 'n') goto yy981;
+	goto yy822;
+yy1075:
+	yych = *++p;
+	if (yych == 'R') goto yy1076;
+	if (yych != 'r') goto yy822;
+yy1076:
+	yych = *++p;
+	if (yych == 'A') goto yy1077;
+	if (yych != 'a') goto yy822;
+yy1077:
+	yych = *++p;
+	if (yych == 'M') goto yy1078;
+	if (yych != 'm') goto yy822;
+yy1078:
+	yych = *++p;
+	if (yych == 'E') goto yy981;
+	if (yych == 'e') goto yy981;
+	goto yy822;
+yy1079:
+	yych = *++p;
+	if (yych == 'R') goto yy1084;
+	if (yych == 'r') goto yy1084;
+	goto yy822;
+yy1080:
+	yych = *++p;
+	if (yych == 'A') goto yy1081;
+	if (yych != 'a') goto yy822;
+yy1081:
+	yych = *++p;
+	if (yych == 'D') goto yy1082;
+	if (yych != 'd') goto yy822;
+yy1082:
+	yych = *++p;
+	if (yych == 'E') goto yy1083;
+	if (yych != 'e') goto yy822;
+yy1083:
+	yych = *++p;
+	if (yych == 'R') goto yy981;
+	if (yych == 'r') goto yy981;
+	goto yy822;
+yy1084:
+	yych = *++p;
+	if (yych == 'O') goto yy1085;
+	if (yych != 'o') goto yy822;
+yy1085:
+	yych = *++p;
+	if (yych == 'U') goto yy1086;
+	if (yych != 'u') goto yy822;
+yy1086:
+	yych = *++p;
+	if (yych == 'P') goto yy981;
+	if (yych == 'p') goto yy981;
+	goto yy822;
+yy1087:
+	yych = *++p;
+	if (yych == 'I') goto yy1093;
+	if (yych == 'i') goto yy1093;
+	goto yy822;
+yy1088:
+	yych = *++p;
+	if (yych == 'T') goto yy1089;
+	if (yych != 't') goto yy822;
+yy1089:
+	yych = *++p;
+	if (yych == 'I') goto yy1090;
+	if (yych != 'i') goto yy822;
+yy1090:
+	yych = *++p;
+	if (yych == 'C') goto yy1091;
+	if (yych != 'c') goto yy822;
+yy1091:
+	yych = *++p;
+	if (yych == 'L') goto yy1092;
+	if (yych != 'l') goto yy822;
+yy1092:
+	yych = *++p;
+	if (yych == 'E') goto yy981;
+	if (yych == 'e') goto yy981;
+	goto yy822;
+yy1093:
+	yych = *++p;
+	if (yych == 'D') goto yy1094;
+	if (yych != 'd') goto yy822;
+yy1094:
+	yych = *++p;
+	if (yych == 'E') goto yy981;
+	if (yych == 'e') goto yy981;
+	goto yy822;
+yy1095:
+	yych = *++p;
+	if (yych <= 'O') {
+		if (yych == 'E') goto yy981;
+		if (yych <= 'N') goto yy822;
+	} else {
+		if (yych <= 'e') {
+			if (yych <= 'd') goto yy822;
+			goto yy981;
+		} else {
+			if (yych != 'o') goto yy822;
+		}
+	}
+	yych = *++p;
+	if (yych == 'G') goto yy1097;
+	if (yych != 'g') goto yy822;
+yy1097:
+	yych = *++p;
+	if (yych == 'R') goto yy1098;
+	if (yych != 'r') goto yy822;
+yy1098:
+	yych = *++p;
+	if (yych == 'E') goto yy1099;
+	if (yych != 'e') goto yy822;
+yy1099:
+	yych = *++p;
+	if (yych == 'S') goto yy1100;
+	if (yych != 's') goto yy822;
+yy1100:
+	++p;
+	if ((yych = *p) == 'S') goto yy981;
+	if (yych == 's') goto yy981;
+	goto yy822;
+}
+
+}
+
+// Try to match a URL in a link or reference, return number of chars matched.
+// This may optionally be contained in <..>; otherwise
+// whitespace and unbalanced right parentheses aren't allowed.
+// Newlines aren't ever allowed.
+int _scan_link_url(const unsigned char *p)
+{
+  const unsigned char *marker = NULL;
+  const unsigned char *start = p;
+
+{
+	unsigned char yych;
+	unsigned int yyaccept = 0;
+	static const unsigned char yybm[] = {
+		  0,  64,  64,  64,  64,  64,  64,  64, 
+		 64,  64,   8,  64,  64,  64,  64,  64, 
+		 64,  64,  64,  64,  64,  64,  64,  64, 
+		 64,  64,  64,  64,  64,  64,  64,  64, 
+		 72, 112, 112, 112, 112, 112, 112, 112, 
+		 64,  64, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112,  16, 112,  16, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 128, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+		112, 112, 112, 112, 112, 112, 112, 112, 
+	};
+	yych = *p;
+	if (yych <= '(') {
+		if (yych <= 0x1F) {
+			if (yych == '\n') goto yy1104;
+			goto yy1112;
+		} else {
+			if (yych <= ' ') goto yy1106;
+			if (yych <= '\'') goto yy1108;
+			goto yy1111;
+		}
+	} else {
+		if (yych <= '<') {
+			if (yych <= ')') goto yy1112;
+			if (yych <= ';') goto yy1108;
+			goto yy1107;
+		} else {
+			if (yych == '\\') goto yy1109;
+			goto yy1108;
+		}
+	}
+yy1103:
+	{ return (p - start); }
+yy1104:
+	yyaccept = 0;
+	marker = ++p;
+	yych = *p;
+yy1105:
+	if (yybm[0+yych] & 8) {
+		goto yy1104;
+	}
+	if (yych <= ')') {
+		if (yych <= ' ') goto yy1103;
+		if (yych <= '\'') goto yy1117;
+		if (yych <= '(') goto yy1113;
+		goto yy1103;
+	} else {
+		if (yych <= '<') {
+			if (yych <= ';') goto yy1117;
+			goto yy1120;
+		} else {
+			if (yych == '\\') goto yy1119;
+			goto yy1117;
+		}
+	}
+yy1106:
+	yyaccept = 0;
+	yych = *(marker = ++p);
+	goto yy1105;
+yy1107:
+	yyaccept = 0;
+	yych = *(marker = ++p);
+	if (yybm[0+yych] & 32) {
+		goto yy1120;
+	}
+	if (yych <= '\'') {
+		if (yych <= 0x00) goto yy1103;
+		if (yych == '\n') goto yy1103;
+		goto yy1127;
+	} else {
+		if (yych <= ')') {
+			if (yych <= '(') goto yy1125;
+			goto yy1127;
+		} else {
+			if (yych <= '=') goto yy1117;
+			if (yych <= '>') goto yy1122;
+			goto yy1124;
+		}
+	}
+yy1108:
+	yyaccept = 0;
+	yych = *(marker = ++p);
+	goto yy1118;
+yy1109:
+	++p;
+	if ((yych = *p) <= '@') {
+		if (yych <= ' ') goto yy1110;
+		if (yych <= '/') goto yy1117;
+		if (yych >= ':') goto yy1117;
+	} else {
+		if (yych <= '`') {
+			if (yych >= '[') goto yy1117;
+		} else {
+			if (yych <= 'z') goto yy1110;
+			if (yych <= '~') goto yy1117;
+		}
+	}
+yy1110:
+	{ return 0; }
+yy1111:
+	yyaccept = 1;
+	yych = *(marker = ++p);
+	if (yych <= ' ') goto yy1110;
+	if (yych == '(') goto yy1110;
+	goto yy1114;
+yy1112:
+	yych = *++p;
+	goto yy1110;
+yy1113:
+	++p;
+	yych = *p;
+yy1114:
+	if (yybm[0+yych] & 16) {
+		goto yy1113;
+	}
+	if (yych <= '(') goto yy1115;
+	if (yych <= ')') goto yy1117;
+	goto yy1116;
+yy1115:
+	p = marker;
+	if (yyaccept <= 1) {
+		if (yyaccept == 0) {
+			goto yy1103;
+		} else {
+			goto yy1110;
+		}
+	} else {
+		goto yy1123;
+	}
+yy1116:
+	++p;
+	yych = *p;
+	if (yych <= '@') {
+		if (yych <= ' ') goto yy1115;
+		if (yych <= '/') goto yy1113;
+		if (yych <= '9') goto yy1115;
+		goto yy1113;
+	} else {
+		if (yych <= '`') {
+			if (yych <= 'Z') goto yy1115;
+			goto yy1113;
+		} else {
+			if (yych <= 'z') goto yy1115;
+			if (yych <= '~') goto yy1113;
+			goto yy1115;
+		}
+	}
+yy1117:
+	yyaccept = 0;
+	marker = ++p;
+	yych = *p;
+yy1118:
+	if (yych <= '(') {
+		if (yych <= ' ') goto yy1103;
+		if (yych <= '\'') goto yy1117;
+		goto yy1113;
+	} else {
+		if (yych <= ')') goto yy1103;
+		if (yych != '\\') goto yy1117;
+	}
+yy1119:
+	++p;
+	yych = *p;
+	if (yych <= '@') {
+		if (yych <= ' ') goto yy1115;
+		if (yych <= '/') goto yy1117;
+		if (yych <= '9') goto yy1115;
+		goto yy1117;
+	} else {
+		if (yych <= '`') {
+			if (yych <= 'Z') goto yy1115;
+			goto yy1117;
+		} else {
+			if (yych <= 'z') goto yy1115;
+			if (yych <= '~') goto yy1117;
+			goto yy1115;
+		}
+	}
+yy1120:
+	yyaccept = 0;
+	marker = ++p;
+	yych = *p;
+	if (yybm[0+yych] & 32) {
+		goto yy1120;
+	}
+	if (yych <= '\'') {
+		if (yych <= 0x00) goto yy1103;
+		if (yych == '\n') goto yy1103;
+		goto yy1127;
+	} else {
+		if (yych <= ')') {
+			if (yych <= '(') goto yy1125;
+			goto yy1127;
+		} else {
+			if (yych <= '=') goto yy1117;
+			if (yych >= '?') goto yy1124;
+		}
+	}
+yy1122:
+	yyaccept = 2;
+	yych = *(marker = ++p);
+	if (yych <= ' ') goto yy1123;
+	if (yych != ')') goto yy1118;
+yy1123:
+	{ return (p - start); }
+yy1124:
+	++p;
+	yych = *p;
+	if (yych <= '>') {
+		if (yych <= ' ') {
+			if (yych <= 0x00) goto yy1115;
+			if (yych == '\n') goto yy1115;
+			goto yy1127;
+		} else {
+			if (yych <= '/') goto yy1120;
+			if (yych <= '9') goto yy1127;
+			if (yych <= '=') goto yy1120;
+			goto yy1137;
+		}
+	} else {
+		if (yych <= '\\') {
+			if (yych <= '@') goto yy1120;
+			if (yych <= 'Z') goto yy1127;
+			if (yych <= '[') goto yy1120;
+			goto yy1138;
+		} else {
+			if (yych <= '`') goto yy1120;
+			if (yych <= 'z') goto yy1127;
+			if (yych <= '~') goto yy1120;
+			goto yy1127;
+		}
+	}
+yy1125:
+	++p;
+	yych = *p;
+	if (yych <= ')') {
+		if (yych <= '\n') {
+			if (yych <= 0x00) goto yy1115;
+			if (yych >= '\n') goto yy1115;
+		} else {
+			if (yych <= ' ') goto yy1127;
+			if (yych <= '\'') goto yy1125;
+			if (yych >= ')') goto yy1120;
+		}
+	} else {
+		if (yych <= '=') {
+			if (yych == '<') goto yy1113;
+			goto yy1125;
+		} else {
+			if (yych <= '>') goto yy1133;
+			if (yych == '\\') goto yy1134;
+			goto yy1125;
+		}
+	}
+yy1127:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 64) {
+		goto yy1127;
+	}
+	if (yych <= '=') goto yy1115;
+	if (yych >= '?') goto yy1130;
+yy1129:
+	yych = *++p;
+	goto yy1123;
+yy1130:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 128) {
+		goto yy1130;
+	}
+	if (yych <= '\n') {
+		if (yych <= 0x00) goto yy1115;
+		if (yych <= '\t') goto yy1127;
+		goto yy1115;
+	} else {
+		if (yych != '>') goto yy1127;
+	}
+	yyaccept = 2;
+	marker = ++p;
+	yych = *p;
+	if (yybm[0+yych] & 64) {
+		goto yy1127;
+	}
+	if (yych <= '=') goto yy1123;
+	if (yych <= '>') goto yy1129;
+	goto yy1130;
+yy1133:
+	yyaccept = 2;
+	yych = *(marker = ++p);
+	if (yych <= ' ') goto yy1123;
+	if (yych == '(') goto yy1123;
+	goto yy1114;
+yy1134:
+	++p;
+	yych = *p;
+	if (yych <= '>') {
+		if (yych <= ' ') {
+			if (yych <= 0x00) goto yy1115;
+			if (yych == '\n') goto yy1115;
+			goto yy1127;
+		} else {
+			if (yych <= '/') goto yy1125;
+			if (yych <= '9') goto yy1127;
+			if (yych <= '=') goto yy1125;
+		}
+	} else {
+		if (yych <= '\\') {
+			if (yych <= '@') goto yy1125;
+			if (yych <= 'Z') goto yy1127;
+			if (yych <= '[') goto yy1125;
+			goto yy1136;
+		} else {
+			if (yych <= '`') goto yy1125;
+			if (yych <= 'z') goto yy1127;
+			if (yych <= '~') goto yy1125;
+			goto yy1127;
+		}
+	}
+yy1135:
+	yyaccept = 2;
+	marker = ++p;
+	yych = *p;
+	if (yych <= ')') {
+		if (yych <= '\n') {
+			if (yych <= 0x00) goto yy1123;
+			if (yych <= '\t') goto yy1127;
+			goto yy1123;
+		} else {
+			if (yych <= ' ') goto yy1127;
+			if (yych <= '\'') goto yy1125;
+			if (yych <= '(') goto yy1127;
+			goto yy1120;
+		}
+	} else {
+		if (yych <= '=') {
+			if (yych == '<') goto yy1113;
+			goto yy1125;
+		} else {
+			if (yych <= '>') goto yy1133;
+			if (yych == '\\') goto yy1134;
+			goto yy1125;
+		}
+	}
+yy1136:
+	++p;
+	yych = *p;
+	if (yych <= '(') {
+		if (yych <= '\n') {
+			if (yych <= 0x00) goto yy1115;
+			if (yych <= '\t') goto yy1127;
+			goto yy1115;
+		} else {
+			if (yych <= ' ') goto yy1127;
+			if (yych <= '\'') goto yy1125;
+			goto yy1127;
+		}
+	} else {
+		if (yych <= '>') {
+			if (yych <= ')') goto yy1120;
+			if (yych <= '=') goto yy1125;
+			goto yy1135;
+		} else {
+			if (yych == '\\') goto yy1134;
+			goto yy1125;
+		}
+	}
+yy1137:
+	yyaccept = 2;
+	marker = ++p;
+	yych = *p;
+	if (yybm[0+yych] & 32) {
+		goto yy1120;
+	}
+	if (yych <= '\'') {
+		if (yych <= 0x00) goto yy1123;
+		if (yych == '\n') goto yy1123;
+		goto yy1127;
+	} else {
+		if (yych <= ')') {
+			if (yych <= '(') goto yy1125;
+			goto yy1127;
+		} else {
+			if (yych <= '=') goto yy1117;
+			if (yych <= '>') goto yy1122;
+			goto yy1124;
+		}
+	}
+yy1138:
+	yyaccept = 0;
+	marker = ++p;
+	yych = *p;
+	if (yych <= '(') {
+		if (yych <= '\n') {
+			if (yych <= 0x00) goto yy1103;
+			if (yych <= '\t') goto yy1127;
+			goto yy1103;
+		} else {
+			if (yych <= ' ') goto yy1127;
+			if (yych <= '\'') goto yy1120;
+			goto yy1125;
+		}
+	} else {
+		if (yych <= '>') {
+			if (yych <= ')') goto yy1127;
+			if (yych <= '=') goto yy1120;
+			goto yy1137;
+		} else {
+			if (yych == '\\') goto yy1124;
+			goto yy1120;
+		}
+	}
+}
+
+}
+
+// Try to match a link title (in single quotes, in double quotes, or
+// in parentheses), returning number of chars matched.  Allow one
+// level of internal nesting (quotes within quotes).
+int _scan_link_title(const unsigned char *p)
+{
+  const unsigned char *marker = NULL;
+  const unsigned char *start = p;
+
+{
+	unsigned char yych;
+	unsigned int yyaccept = 0;
+	static const unsigned char yybm[] = {
+		  0, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208,  80, 208, 208, 208, 208, 144, 
+		208, 192, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208,  32, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+		208, 208, 208, 208, 208, 208, 208, 208, 
+	};
+	yych = *p;
+	if (yych <= '"') {
+		if (yych == '\n') goto yy1141;
+		if (yych <= '!') goto yy1145;
+		goto yy1142;
+	} else {
+		if (yych <= '&') goto yy1145;
+		if (yych <= '\'') goto yy1143;
+		if (yych <= '(') goto yy1144;
+		goto yy1145;
+	}
+yy1141:
+	{ return 0; }
+yy1142:
+	yyaccept = 0;
+	yych = *(marker = ++p);
+	if (yych <= 0x00) goto yy1141;
+	goto yy1162;
+yy1143:
+	yyaccept = 0;
+	yych = *(marker = ++p);
+	if (yych <= 0x00) goto yy1141;
+	goto yy1155;
+yy1144:
+	yyaccept = 0;
+	yych = *(marker = ++p);
+	if (yych <= 0x00) goto yy1141;
+	goto yy1147;
+yy1145:
+	yych = *++p;
+	goto yy1141;
+yy1146:
+	++p;
+	yych = *p;
+yy1147:
+	if (yybm[0+yych] & 16) {
+		goto yy1146;
+	}
+	if (yych <= 0x00) goto yy1148;
+	if (yych <= '[') goto yy1151;
+	goto yy1149;
+yy1148:
+	p = marker;
+	if (yyaccept <= 1) {
+		if (yyaccept == 0) {
+			goto yy1141;
+		} else {
+			goto yy1152;
+		}
+	} else {
+		if (yyaccept == 2) {
+			goto yy1159;
+		} else {
+			goto yy1166;
+		}
+	}
+yy1149:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 16) {
+		goto yy1146;
+	}
+	if (yych <= 0x00) goto yy1148;
+	if (yych <= '[') goto yy1153;
+	goto yy1149;
+yy1151:
+	++p;
+yy1152:
+	{ return (p - start); }
+yy1153:
+	yyaccept = 1;
+	marker = ++p;
+	yych = *p;
+	if (yybm[0+yych] & 16) {
+		goto yy1146;
+	}
+	if (yych <= 0x00) goto yy1152;
+	if (yych <= '[') goto yy1151;
+	goto yy1149;
+yy1154:
+	++p;
+	yych = *p;
+yy1155:
+	if (yybm[0+yych] & 64) {
+		goto yy1154;
+	}
+	if (yych <= 0x00) goto yy1148;
+	if (yych <= '[') goto yy1158;
+yy1156:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 64) {
+		goto yy1154;
+	}
+	if (yych <= 0x00) goto yy1148;
+	if (yych <= '[') goto yy1160;
+	goto yy1156;
+yy1158:
+	++p;
+yy1159:
+	{ return (p - start); }
+yy1160:
+	yyaccept = 2;
+	marker = ++p;
+	yych = *p;
+	if (yybm[0+yych] & 64) {
+		goto yy1154;
+	}
+	if (yych <= 0x00) goto yy1159;
+	if (yych <= '[') goto yy1158;
+	goto yy1156;
+yy1161:
+	++p;
+	yych = *p;
+yy1162:
+	if (yybm[0+yych] & 128) {
+		goto yy1161;
+	}
+	if (yych <= 0x00) goto yy1148;
+	if (yych <= '[') goto yy1165;
+yy1163:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 128) {
+		goto yy1161;
+	}
+	if (yych <= 0x00) goto yy1148;
+	if (yych <= '[') goto yy1167;
+	goto yy1163;
+yy1165:
+	++p;
+yy1166:
+	{ return (p - start); }
+yy1167:
+	yyaccept = 3;
+	marker = ++p;
+	yych = *p;
+	if (yybm[0+yych] & 128) {
+		goto yy1161;
+	}
+	if (yych <= 0x00) goto yy1166;
+	if (yych <= '[') goto yy1165;
+	goto yy1163;
+}
+
+}
+
+// Match space characters, including newlines.
+int _scan_spacechars(const unsigned char *p)
+{
+  const unsigned char *start = p; \
+
+{
+	unsigned char yych;
+	static const unsigned char yybm[] = {
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0, 128, 128,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		128,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+	};
+	yych = *p;
+	if (yych <= '\n') {
+		if (yych <= 0x08) goto yy1174;
+		if (yych <= '\t') goto yy1171;
+		goto yy1172;
+	} else {
+		if (yych == ' ') goto yy1171;
+		goto yy1174;
+	}
+yy1170:
+	{ return (p - start); }
+yy1171:
+	yych = *++p;
+	goto yy1173;
+yy1172:
+	++p;
+	yych = *p;
+yy1173:
+	if (yybm[0+yych] & 128) {
+		goto yy1172;
+	}
+	goto yy1170;
+yy1174:
+	++p;
+	{ return 0; }
+}
+
+}
+
+// Match ATX header start.
+int _scan_atx_header_start(const unsigned char *p)
+{
+  const unsigned char *marker = NULL;
+  const unsigned char *start = p;
+
+{
+	unsigned char yych;
+	static const unsigned char yybm[] = {
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		128,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+	};
+	yych = *p;
+	if (yych == '\n') goto yy1178;
+	if (yych == '#') goto yy1179;
+	goto yy1180;
+yy1178:
+	{ return 0; }
+yy1179:
+	yych = *(marker = ++p);
+	if (yybm[0+yych] & 128) {
+		goto yy1183;
+	}
+	if (yych == '\n') goto yy1181;
+	if (yych == '#') goto yy1185;
+	goto yy1178;
+yy1180:
+	yych = *++p;
+	goto yy1178;
+yy1181:
+	++p;
+yy1182:
+	{ return (p - start); }
+yy1183:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 128) {
+		goto yy1183;
+	}
+	goto yy1182;
+yy1185:
+	yych = *++p;
+	if (yybm[0+yych] & 128) {
+		goto yy1183;
+	}
+	if (yych == '\n') goto yy1181;
+	if (yych == '#') goto yy1187;
+yy1186:
+	p = marker;
+	goto yy1178;
+yy1187:
+	yych = *++p;
+	if (yybm[0+yych] & 128) {
+		goto yy1183;
+	}
+	if (yych == '\n') goto yy1181;
+	if (yych != '#') goto yy1186;
+	yych = *++p;
+	if (yybm[0+yych] & 128) {
+		goto yy1183;
+	}
+	if (yych == '\n') goto yy1181;
+	if (yych != '#') goto yy1186;
+	yych = *++p;
+	if (yybm[0+yych] & 128) {
+		goto yy1183;
+	}
+	if (yych == '\n') goto yy1181;
+	if (yych != '#') goto yy1186;
+	++p;
+	if (yybm[0+(yych = *p)] & 128) {
+		goto yy1183;
+	}
+	if (yych == '\n') goto yy1181;
+	goto yy1186;
+}
+
+}
+
+// Match sexext header line.  Return 1 for level-1 header,
+// 2 for level-2, 0 for no match.
+int _scan_setext_header_line(const unsigned char *p)
+{
+  const unsigned char *marker = NULL;
+
+{
+	unsigned char yych;
+	static const unsigned char yybm[] = {
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		 32,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,  64,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0, 128,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+	};
+	yych = *p;
+	if (yych <= ',') {
+		if (yych != '\n') goto yy1196;
+	} else {
+		if (yych <= '-') goto yy1195;
+		if (yych == '=') goto yy1194;
+		goto yy1196;
+	}
+yy1193:
+	{ return 0; }
+yy1194:
+	yych = *(marker = ++p);
+	if (yybm[0+yych] & 128) {
+		goto yy1208;
+	}
+	if (yych == '\n') goto yy1206;
+	if (yych == ' ') goto yy1204;
+	goto yy1193;
+yy1195:
+	yych = *(marker = ++p);
+	if (yybm[0+yych] & 32) {
+		goto yy1197;
+	}
+	if (yych == '\n') goto yy1200;
+	if (yych == '-') goto yy1202;
+	goto yy1193;
+yy1196:
+	yych = *++p;
+	goto yy1193;
+yy1197:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 32) {
+		goto yy1197;
+	}
+	if (yych == '\n') goto yy1200;
+yy1199:
+	p = marker;
+	goto yy1193;
+yy1200:
+	++p;
+	{ return 2; }
+yy1202:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 32) {
+		goto yy1197;
+	}
+	if (yych == '\n') goto yy1200;
+	if (yych == '-') goto yy1202;
+	goto yy1199;
+yy1204:
+	++p;
+	yych = *p;
+	if (yych == '\n') goto yy1206;
+	if (yych == ' ') goto yy1204;
+	goto yy1199;
+yy1206:
+	++p;
+	{ return 1; }
+yy1208:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 128) {
+		goto yy1208;
+	}
+	if (yych == '\n') goto yy1206;
+	if (yych == ' ') goto yy1204;
+	goto yy1199;
+}
+
+}
+
+// Scan a horizontal rule line: "...three or more hyphens, asterisks,
+// or underscores on a line by themselves. If you wish, you may use
+// spaces between the hyphens or asterisks."
+int _scan_hrule(const unsigned char *p)
+{
+  const unsigned char *marker = NULL;
+  const unsigned char *start = p;
+
+{
+	unsigned char yych;
+	static const unsigned char yybm[] = {
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,  32,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		248,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0, 128,   0,   0,  16,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,  64, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+	};
+	yych = *p;
+	if (yych <= '*') {
+		if (yych == '\n') goto yy1212;
+		if (yych <= ')') goto yy1216;
+		goto yy1213;
+	} else {
+		if (yych <= '-') {
+			if (yych <= ',') goto yy1216;
+			goto yy1215;
+		} else {
+			if (yych == '_') goto yy1214;
+			goto yy1216;
+		}
+	}
+yy1212:
+	{ return 0; }
+yy1213:
+	yych = *(marker = ++p);
+	if (yych == ' ') goto yy1238;
+	if (yych == '*') goto yy1240;
+	goto yy1212;
+yy1214:
+	yych = *(marker = ++p);
+	if (yych == ' ') goto yy1228;
+	if (yych == '_') goto yy1230;
+	goto yy1212;
+yy1215:
+	yych = *(marker = ++p);
+	if (yybm[0+yych] & 8) {
+		goto yy1217;
+	}
+	if (yych == '-') goto yy1220;
+	goto yy1212;
+yy1216:
+	yych = *++p;
+	goto yy1212;
+yy1217:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 8) {
+		goto yy1217;
+	}
+	if (yych == '-') goto yy1220;
+yy1219:
+	p = marker;
+	goto yy1212;
+yy1220:
+	++p;
+	yych = *p;
+	if (yych == ' ') goto yy1220;
+	if (yych != '-') goto yy1219;
+yy1222:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 16) {
+		goto yy1222;
+	}
+	if (yych <= 0x08) goto yy1219;
+	if (yych <= '\t') goto yy1224;
+	if (yych <= '\n') goto yy1226;
+	goto yy1219;
+yy1224:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 32) {
+		goto yy1224;
+	}
+	if (yych != '\n') goto yy1219;
+yy1226:
+	++p;
+	{ return (p - start); }
+yy1228:
+	++p;
+	yych = *p;
+	if (yych == ' ') goto yy1228;
+	if (yych != '_') goto yy1219;
+yy1230:
+	++p;
+	yych = *p;
+	if (yych == ' ') goto yy1230;
+	if (yych != '_') goto yy1219;
+yy1232:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 64) {
+		goto yy1232;
+	}
+	if (yych <= 0x08) goto yy1219;
+	if (yych <= '\t') goto yy1234;
+	if (yych <= '\n') goto yy1236;
+	goto yy1219;
+yy1234:
+	++p;
+	yych = *p;
+	if (yych <= '\n') {
+		if (yych <= 0x08) goto yy1219;
+		if (yych <= '\t') goto yy1234;
+	} else {
+		if (yych == ' ') goto yy1234;
+		goto yy1219;
+	}
+yy1236:
+	++p;
+	{ return (p - start); }
+yy1238:
+	++p;
+	yych = *p;
+	if (yych == ' ') goto yy1238;
+	if (yych != '*') goto yy1219;
+yy1240:
+	++p;
+	yych = *p;
+	if (yych == ' ') goto yy1240;
+	if (yych != '*') goto yy1219;
+yy1242:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 128) {
+		goto yy1242;
+	}
+	if (yych <= 0x08) goto yy1219;
+	if (yych <= '\t') goto yy1244;
+	if (yych <= '\n') goto yy1246;
+	goto yy1219;
+yy1244:
+	++p;
+	yych = *p;
+	if (yych <= '\n') {
+		if (yych <= 0x08) goto yy1219;
+		if (yych <= '\t') goto yy1244;
+	} else {
+		if (yych == ' ') goto yy1244;
+		goto yy1219;
+	}
+yy1246:
+	++p;
+	{ return (p - start); }
+}
+
+}
+
+// Scan an opening code fence.
+int _scan_open_code_fence(const unsigned char *p)
+{
+  const unsigned char *marker = NULL;
+  const unsigned char *start = p;
+
+{
+	unsigned char yych;
+	static const unsigned char yybm[] = {
+		  0, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160,   0, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		 96, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 144, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+		160, 160, 160, 160, 160, 160, 160, 160, 
+	};
+	yych = *p;
+	if (yych <= '_') {
+		if (yych != '\n') goto yy1253;
+	} else {
+		if (yych <= '`') goto yy1251;
+		if (yych == '~') goto yy1252;
+		goto yy1253;
+	}
+yy1250:
+	{ return 0; }
+yy1251:
+	yych = *(marker = ++p);
+	if (yych == '`') goto yy1262;
+	goto yy1250;
+yy1252:
+	yych = *(marker = ++p);
+	if (yych == '~') goto yy1254;
+	goto yy1250;
+yy1253:
+	yych = *++p;
+	goto yy1250;
+yy1254:
+	yych = *++p;
+	if (yybm[0+yych] & 16) {
+		goto yy1256;
+	}
+yy1255:
+	p = marker;
+	goto yy1250;
+yy1256:
+	marker = p + 1;
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 32) {
+		goto yy1258;
+	}
+	if (yych <= 0x00) goto yy1255;
+	if (yych <= '}') goto yy1260;
+	goto yy1256;
+yy1258:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 32) {
+		goto yy1258;
+	}
+	if (yych <= 0x00) goto yy1255;
+	if (yych >= '~') goto yy1255;
+yy1260:
+	++p;
+	p = marker;
+	{ return (p - start); }
+yy1262:
+	yych = *++p;
+	if (yybm[0+yych] & 64) {
+		goto yy1263;
+	}
+	goto yy1255;
+yy1263:
+	marker = p + 1;
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 128) {
+		goto yy1265;
+	}
+	if (yych <= 0x00) goto yy1255;
+	if (yych <= '_') goto yy1267;
+	goto yy1263;
+yy1265:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 128) {
+		goto yy1265;
+	}
+	if (yych <= 0x00) goto yy1255;
+	if (yych >= '`') goto yy1255;
+yy1267:
+	++p;
+	p = marker;
+	{ return (p - start); }
+}
+
+}
+
+// Scan a closing code fence with length at least len.
+int _scan_close_code_fence(const unsigned char *p)
+{
+  const unsigned char *marker = NULL;
+  const unsigned char *start = p;
+
+{
+	unsigned char yych;
+	unsigned int yyaccept = 0;
+	static const unsigned char yybm[] = {
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,  32,  64,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		 32,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		128,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,  16,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+		  0,   0,   0,   0,   0,   0,   0,   0, 
+	};
+	yych = *p;
+	if (yych <= '_') {
+		if (yych != '\n') goto yy1274;
+	} else {
+		if (yych <= '`') goto yy1272;
+		if (yych == '~') goto yy1273;
+		goto yy1274;
+	}
+yy1271:
+	{ return 0; }
+yy1272:
+	yyaccept = 0;
+	yych = *(marker = ++p);
+	if (yych == '`') goto yy1284;
+	goto yy1271;
+yy1273:
+	yyaccept = 0;
+	yych = *(marker = ++p);
+	if (yych == '~') goto yy1275;
+	goto yy1271;
+yy1274:
+	yych = *++p;
+	goto yy1271;
+yy1275:
+	yych = *++p;
+	if (yybm[0+yych] & 16) {
+		goto yy1277;
+	}
+yy1276:
+	p = marker;
+	if (yyaccept == 0) {
+		goto yy1271;
+	} else {
+		goto yy1283;
+	}
+yy1277:
+	marker = p + 1;
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 32) {
+		goto yy1279;
+	}
+	if (yych == '\n') goto yy1281;
+	if (yych == '~') goto yy1277;
+	goto yy1276;
+yy1279:
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 32) {
+		goto yy1279;
+	}
+	if (yych != '\n') goto yy1276;
+yy1281:
+	yyaccept = 1;
+	marker = ++p;
+	yych = *p;
+	if (yybm[0+yych] & 32) {
+		goto yy1279;
+	}
+	if (yych == '\n') goto yy1281;
+yy1283:
+	p = marker;
+	{ return (p - start); }
+yy1284:
+	yych = *++p;
+	if (yybm[0+yych] & 128) {
+		goto yy1285;
+	}
+	goto yy1276;
+yy1285:
+	marker = p + 1;
+	++p;
+	yych = *p;
+	if (yybm[0+yych] & 32) {
+		goto yy1279;
+	}
+	if (yych == '\n') goto yy1281;
+	if (yych == '`') goto yy1285;
+	goto yy1276;
+}
+
+}
+
+// Scans an entity.
+// Returns number of chars matched.
+int _scan_entity(const unsigned char *p)
+{
+  const unsigned char *marker = NULL;
+  const unsigned char *start = p;
+
+{
+	unsigned char yych;
+	yych = *p;
+	if (yych == '\n') goto yy1289;
+	if (yych == '&') goto yy1290;
+	goto yy1291;
+yy1289:
+	{ return 0; }
+yy1290:
+	yych = *(marker = ++p);
+	if (yych <= '@') {
+		if (yych == '#') goto yy1292;
+		goto yy1289;
+	} else {
+		if (yych <= 'Z') goto yy1294;
+		if (yych <= '`') goto yy1289;
+		if (yych <= 'z') goto yy1294;
+		goto yy1289;
+	}
+yy1291:
+	yych = *++p;
+	goto yy1289;
+yy1292:
+	yych = *++p;
+	if (yych <= 'W') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1329;
+	} else {
+		if (yych <= 'X') goto yy1328;
+		if (yych == 'x') goto yy1328;
+	}
+yy1293:
+	p = marker;
+	goto yy1289;
+yy1294:
+	yych = *++p;
+	if (yych <= '@') {
+		if (yych <= '/') goto yy1293;
+		if (yych >= ':') goto yy1293;
+	} else {
+		if (yych <= 'Z') goto yy1295;
+		if (yych <= '`') goto yy1293;
+		if (yych >= '{') goto yy1293;
+	}
+yy1295:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1298;
+		if (yych <= ':') goto yy1293;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+			goto yy1298;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych <= 'z') goto yy1298;
+			goto yy1293;
+		}
+	}
+yy1296:
+	++p;
+	{ return (p - start); }
+yy1298:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1299;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1299:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1300;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1300:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1301;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1301:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1302;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1302:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1303;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1303:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1304;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1304:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1305;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1305:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1306;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1306:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1307;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1307:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1308;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1308:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1309;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1309:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1310;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1310:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1311;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1311:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1312;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1312:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1313;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1313:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1314;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1314:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1315;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1315:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1316;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1316:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1317;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1317:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1318;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1318:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1319;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1319:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1320;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1320:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1321;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1321:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1322;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1322:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1323;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1323:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1324;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1324:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1325;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1325:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1326;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1326:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1327;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'Z') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= '{') goto yy1293;
+		}
+	}
+yy1327:
+	yych = *++p;
+	if (yych == ';') goto yy1296;
+	goto yy1293;
+yy1328:
+	yych = *++p;
+	if (yych <= '@') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1336;
+		goto yy1293;
+	} else {
+		if (yych <= 'F') goto yy1336;
+		if (yych <= '`') goto yy1293;
+		if (yych <= 'f') goto yy1336;
+		goto yy1293;
+	}
+yy1329:
+	yych = *++p;
+	if (yych <= '/') goto yy1293;
+	if (yych <= '9') goto yy1330;
+	if (yych == ';') goto yy1296;
+	goto yy1293;
+yy1330:
+	yych = *++p;
+	if (yych <= '/') goto yy1293;
+	if (yych <= '9') goto yy1331;
+	if (yych == ';') goto yy1296;
+	goto yy1293;
+yy1331:
+	yych = *++p;
+	if (yych <= '/') goto yy1293;
+	if (yych <= '9') goto yy1332;
+	if (yych == ';') goto yy1296;
+	goto yy1293;
+yy1332:
+	yych = *++p;
+	if (yych <= '/') goto yy1293;
+	if (yych <= '9') goto yy1333;
+	if (yych == ';') goto yy1296;
+	goto yy1293;
+yy1333:
+	yych = *++p;
+	if (yych <= '/') goto yy1293;
+	if (yych <= '9') goto yy1334;
+	if (yych == ';') goto yy1296;
+	goto yy1293;
+yy1334:
+	yych = *++p;
+	if (yych <= '/') goto yy1293;
+	if (yych <= '9') goto yy1335;
+	if (yych == ';') goto yy1296;
+	goto yy1293;
+yy1335:
+	yych = *++p;
+	if (yych <= '/') goto yy1293;
+	if (yych <= '9') goto yy1327;
+	if (yych == ';') goto yy1296;
+	goto yy1293;
+yy1336:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1337;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'F') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= 'g') goto yy1293;
+		}
+	}
+yy1337:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1338;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'F') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= 'g') goto yy1293;
+		}
+	}
+yy1338:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1339;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'F') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= 'g') goto yy1293;
+		}
+	}
+yy1339:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1340;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'F') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= 'g') goto yy1293;
+		}
+	}
+yy1340:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1341;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'F') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= 'g') goto yy1293;
+		}
+	}
+yy1341:
+	yych = *++p;
+	if (yych <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1342;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'F') {
+			if (yych <= '@') goto yy1293;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych >= 'g') goto yy1293;
+		}
+	}
+yy1342:
+	++p;
+	if ((yych = *p) <= ';') {
+		if (yych <= '/') goto yy1293;
+		if (yych <= '9') goto yy1327;
+		if (yych <= ':') goto yy1293;
+		goto yy1296;
+	} else {
+		if (yych <= 'F') {
+			if (yych <= '@') goto yy1293;
+			goto yy1327;
+		} else {
+			if (yych <= '`') goto yy1293;
+			if (yych <= 'f') goto yy1327;
+			goto yy1293;
+		}
+	}
+}
+
+}