summaryrefslogtreecommitdiff
path: root/cmark/src/scanners.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmark/src/scanners.c')
-rw-r--r--cmark/src/scanners.c9415
1 files changed, 9415 insertions, 0 deletions
diff --git a/cmark/src/scanners.c b/cmark/src/scanners.c
new file mode 100644
index 0000000000..7338c75b76
--- /dev/null
+++ b/cmark/src/scanners.c
@@ -0,0 +1,9415 @@
+/* Generated by re2c 3.0 */
+#include <stdlib.h>
+#include "chunk.h"
+#include "scanners.h"
+
+bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c,
+ bufsize_t offset) {
+ bufsize_t res;
+ unsigned char *ptr = (unsigned char *)c->data;
+
+ if (ptr == NULL || offset > c->len) {
+ return 0;
+ } else {
+ unsigned char lim = ptr[c->len];
+
+ ptr[c->len] = '\0';
+ res = scanner(ptr + offset);
+ ptr[c->len] = lim;
+ }
+
+ return res;
+}
+
+// Try to match a scheme including colon.
+bufsize_t _scan_scheme(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ yych = *p;
+ if (yych <= '@')
+ goto yy1;
+ if (yych <= 'Z')
+ goto yy3;
+ if (yych <= '`')
+ goto yy1;
+ if (yych <= 'z')
+ goto yy3;
+ yy1:
+ ++p;
+ yy2 : { return 0; }
+ yy3:
+ yych = *(marker = ++p);
+ if (yych <= '/') {
+ if (yych <= '+') {
+ if (yych <= '*')
+ goto yy2;
+ } else {
+ if (yych <= ',')
+ goto yy2;
+ if (yych >= '/')
+ goto yy2;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '9')
+ goto yy4;
+ if (yych <= '@')
+ goto yy2;
+ } else {
+ if (yych <= '`')
+ goto yy2;
+ if (yych >= '{')
+ goto yy2;
+ }
+ }
+ yy4:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych == '+')
+ goto yy6;
+ } else {
+ if (yych != '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych >= 'A')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych <= 'z')
+ goto yy6;
+ }
+ }
+ yy5:
+ p = marker;
+ goto yy2;
+ yy6:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych == '+')
+ goto yy8;
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ goto yy8;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ goto yy8;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych <= 'z')
+ goto yy8;
+ goto yy5;
+ }
+ }
+ yy7:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy8:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych == ':')
+ goto yy7;
+ goto yy5;
+ }
+}
+
+// Try to match URI autolink after first <, returning number of chars matched.
+bufsize_t _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, 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, 128,
+ };
+ yych = *p;
+ if (yych <= '@')
+ goto yy10;
+ if (yych <= 'Z')
+ goto yy12;
+ if (yych <= '`')
+ goto yy10;
+ if (yych <= 'z')
+ goto yy12;
+ yy10:
+ ++p;
+ yy11 : { return 0; }
+ yy12:
+ yych = *(marker = ++p);
+ if (yych <= '/') {
+ if (yych <= '+') {
+ if (yych <= '*')
+ goto yy11;
+ } else {
+ if (yych <= ',')
+ goto yy11;
+ if (yych >= '/')
+ goto yy11;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '9')
+ goto yy13;
+ if (yych <= '@')
+ goto yy11;
+ } else {
+ if (yych <= '`')
+ goto yy11;
+ if (yych >= '{')
+ goto yy11;
+ }
+ }
+ yy13:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych == '+')
+ goto yy15;
+ } else {
+ if (yych != '/')
+ goto yy15;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych >= 'A')
+ goto yy15;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych <= 'z')
+ goto yy15;
+ }
+ }
+ yy14:
+ p = marker;
+ goto yy11;
+ yy15:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych == '+')
+ goto yy17;
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ goto yy17;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ goto yy17;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych <= 'z')
+ goto yy17;
+ goto yy14;
+ }
+ }
+ yy16:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy16;
+ }
+ if (yych <= '<')
+ goto yy14;
+ goto yy18;
+ yy17:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych == '+')
+ goto yy19;
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ goto yy19;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ goto yy19;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych <= 'z')
+ goto yy19;
+ goto yy14;
+ }
+ }
+ yy18:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy19:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych == ':')
+ goto yy16;
+ goto yy14;
+ }
+}
+
+// Try to match email autolink after first <, returning num of chars matched.
+bufsize_t _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 <= '9') {
+ if (yych <= '\'') {
+ if (yych == '!')
+ goto yy23;
+ if (yych >= '#')
+ goto yy23;
+ } else {
+ if (yych <= ')')
+ goto yy21;
+ if (yych != ',')
+ goto yy23;
+ }
+ } else {
+ if (yych <= '?') {
+ if (yych == '=')
+ goto yy23;
+ if (yych >= '?')
+ goto yy23;
+ } else {
+ if (yych <= 'Z') {
+ if (yych >= 'A')
+ goto yy23;
+ } else {
+ if (yych <= ']')
+ goto yy21;
+ if (yych <= '~')
+ goto yy23;
+ }
+ }
+ }
+ yy21:
+ ++p;
+ yy22 : { return 0; }
+ yy23:
+ yych = *(marker = ++p);
+ if (yych <= ',') {
+ if (yych <= '"') {
+ if (yych == '!')
+ goto yy25;
+ goto yy22;
+ } else {
+ if (yych <= '\'')
+ goto yy25;
+ if (yych <= ')')
+ goto yy22;
+ if (yych <= '+')
+ goto yy25;
+ goto yy22;
+ }
+ } else {
+ if (yych <= '>') {
+ if (yych <= '9')
+ goto yy25;
+ if (yych == '=')
+ goto yy25;
+ goto yy22;
+ } else {
+ if (yych <= 'Z')
+ goto yy25;
+ if (yych <= ']')
+ goto yy22;
+ if (yych <= '~')
+ goto yy25;
+ goto yy22;
+ }
+ }
+ yy24:
+ yych = *++p;
+ yy25:
+ if (yybm[0 + yych] & 128) {
+ goto yy24;
+ }
+ if (yych <= '>')
+ goto yy26;
+ if (yych <= '@')
+ goto yy27;
+ yy26:
+ p = marker;
+ goto yy22;
+ yy27:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy26;
+ if (yych >= ':')
+ goto yy26;
+ } else {
+ if (yych <= 'Z')
+ goto yy28;
+ if (yych <= '`')
+ goto yy26;
+ if (yych >= '{')
+ goto yy26;
+ }
+ yy28:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy29;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy29;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy29;
+ goto yy26;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy31;
+ if (yych <= '/')
+ goto yy26;
+ goto yy32;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy32;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy32;
+ goto yy26;
+ }
+ }
+ yy29:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych <= '-')
+ goto yy31;
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy32;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy32;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy32;
+ goto yy26;
+ }
+ }
+ yy30:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy31:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy33;
+ if (yych <= '/')
+ goto yy26;
+ goto yy34;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy34;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy34;
+ goto yy26;
+ }
+ }
+ yy32:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy34;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy34;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy34;
+ goto yy26;
+ }
+ }
+ yy33:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy35;
+ if (yych <= '/')
+ goto yy26;
+ goto yy36;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy36;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy36;
+ goto yy26;
+ }
+ }
+ yy34:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy36;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy36;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy36;
+ goto yy26;
+ }
+ }
+ yy35:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy37;
+ if (yych <= '/')
+ goto yy26;
+ goto yy38;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy38;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy38;
+ goto yy26;
+ }
+ }
+ yy36:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy38;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy38;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy38;
+ goto yy26;
+ }
+ }
+ yy37:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy39;
+ if (yych <= '/')
+ goto yy26;
+ goto yy40;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy40;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy40;
+ goto yy26;
+ }
+ }
+ yy38:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy40;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy40;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy40;
+ goto yy26;
+ }
+ }
+ yy39:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy41;
+ if (yych <= '/')
+ goto yy26;
+ goto yy42;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy42;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy42;
+ goto yy26;
+ }
+ }
+ yy40:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy42;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy42;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy42;
+ goto yy26;
+ }
+ }
+ yy41:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy43;
+ if (yych <= '/')
+ goto yy26;
+ goto yy44;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy44;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy44;
+ goto yy26;
+ }
+ }
+ yy42:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy44;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy44;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy44;
+ goto yy26;
+ }
+ }
+ yy43:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy45;
+ if (yych <= '/')
+ goto yy26;
+ goto yy46;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy46;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy46;
+ goto yy26;
+ }
+ }
+ yy44:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy46;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy46;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy46;
+ goto yy26;
+ }
+ }
+ yy45:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy47;
+ if (yych <= '/')
+ goto yy26;
+ goto yy48;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy48;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy48;
+ goto yy26;
+ }
+ }
+ yy46:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy48;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy48;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy48;
+ goto yy26;
+ }
+ }
+ yy47:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy49;
+ if (yych <= '/')
+ goto yy26;
+ goto yy50;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy50;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy50;
+ goto yy26;
+ }
+ }
+ yy48:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy50;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy50;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy50;
+ goto yy26;
+ }
+ }
+ yy49:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy51;
+ if (yych <= '/')
+ goto yy26;
+ goto yy52;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy52;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy52;
+ goto yy26;
+ }
+ }
+ yy50:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy52;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy52;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy52;
+ goto yy26;
+ }
+ }
+ yy51:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy53;
+ if (yych <= '/')
+ goto yy26;
+ goto yy54;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy54;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy54;
+ goto yy26;
+ }
+ }
+ yy52:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy54;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy54;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy54;
+ goto yy26;
+ }
+ }
+ yy53:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy55;
+ if (yych <= '/')
+ goto yy26;
+ goto yy56;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy56;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy56;
+ goto yy26;
+ }
+ }
+ yy54:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy56;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy56;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy56;
+ goto yy26;
+ }
+ }
+ yy55:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy57;
+ if (yych <= '/')
+ goto yy26;
+ goto yy58;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy58;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy58;
+ goto yy26;
+ }
+ }
+ yy56:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy58;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy58;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy58;
+ goto yy26;
+ }
+ }
+ yy57:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy59;
+ if (yych <= '/')
+ goto yy26;
+ goto yy60;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy60;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy60;
+ goto yy26;
+ }
+ }
+ yy58:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy60;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy60;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy60;
+ goto yy26;
+ }
+ }
+ yy59:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy61;
+ if (yych <= '/')
+ goto yy26;
+ goto yy62;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy62;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy62;
+ goto yy26;
+ }
+ }
+ yy60:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy62;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy62;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy62;
+ goto yy26;
+ }
+ }
+ yy61:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy63;
+ if (yych <= '/')
+ goto yy26;
+ goto yy64;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy64;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy64;
+ goto yy26;
+ }
+ }
+ yy62:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy64;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy64;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy64;
+ goto yy26;
+ }
+ }
+ yy63:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy65;
+ if (yych <= '/')
+ goto yy26;
+ goto yy66;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy66;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy66;
+ goto yy26;
+ }
+ }
+ yy64:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy66;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy66;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy66;
+ goto yy26;
+ }
+ }
+ yy65:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy67;
+ if (yych <= '/')
+ goto yy26;
+ goto yy68;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy68;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy68;
+ goto yy26;
+ }
+ }
+ yy66:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy68;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy68;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy68;
+ goto yy26;
+ }
+ }
+ yy67:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy69;
+ if (yych <= '/')
+ goto yy26;
+ goto yy70;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy70;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy70;
+ goto yy26;
+ }
+ }
+ yy68:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy70;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy70;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy70;
+ goto yy26;
+ }
+ }
+ yy69:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy71;
+ if (yych <= '/')
+ goto yy26;
+ goto yy72;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy72;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy72;
+ goto yy26;
+ }
+ }
+ yy70:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy72;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy72;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy72;
+ goto yy26;
+ }
+ }
+ yy71:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy73;
+ if (yych <= '/')
+ goto yy26;
+ goto yy74;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy74;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy74;
+ goto yy26;
+ }
+ }
+ yy72:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy74;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy74;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy74;
+ goto yy26;
+ }
+ }
+ yy73:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy75;
+ if (yych <= '/')
+ goto yy26;
+ goto yy76;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy76;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy76;
+ goto yy26;
+ }
+ }
+ yy74:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy76;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy76;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy76;
+ goto yy26;
+ }
+ }
+ yy75:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy77;
+ if (yych <= '/')
+ goto yy26;
+ goto yy78;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy78;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy78;
+ goto yy26;
+ }
+ }
+ yy76:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy78;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy78;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy78;
+ goto yy26;
+ }
+ }
+ yy77:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy79;
+ if (yych <= '/')
+ goto yy26;
+ goto yy80;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy80;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy80;
+ goto yy26;
+ }
+ }
+ yy78:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy80;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy80;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy80;
+ goto yy26;
+ }
+ }
+ yy79:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy81;
+ if (yych <= '/')
+ goto yy26;
+ goto yy82;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy82;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy82;
+ goto yy26;
+ }
+ }
+ yy80:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy82;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy82;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy82;
+ goto yy26;
+ }
+ }
+ yy81:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy83;
+ if (yych <= '/')
+ goto yy26;
+ goto yy84;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy84;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy84;
+ goto yy26;
+ }
+ }
+ yy82:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy84;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy84;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy84;
+ goto yy26;
+ }
+ }
+ yy83:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy85;
+ if (yych <= '/')
+ goto yy26;
+ goto yy86;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy86;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy86;
+ goto yy26;
+ }
+ }
+ yy84:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy86;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy86;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy86;
+ goto yy26;
+ }
+ }
+ yy85:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy87;
+ if (yych <= '/')
+ goto yy26;
+ goto yy88;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy88;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy88;
+ goto yy26;
+ }
+ }
+ yy86:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy88;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy88;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy88;
+ goto yy26;
+ }
+ }
+ yy87:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy89;
+ if (yych <= '/')
+ goto yy26;
+ goto yy90;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy90;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy90;
+ goto yy26;
+ }
+ }
+ yy88:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy90;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy90;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy90;
+ goto yy26;
+ }
+ }
+ yy89:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy91;
+ if (yych <= '/')
+ goto yy26;
+ goto yy92;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy92;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy92;
+ goto yy26;
+ }
+ }
+ yy90:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy92;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy92;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy92;
+ goto yy26;
+ }
+ }
+ yy91:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy93;
+ if (yych <= '/')
+ goto yy26;
+ goto yy94;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy94;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy94;
+ goto yy26;
+ }
+ }
+ yy92:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy94;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy94;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy94;
+ goto yy26;
+ }
+ }
+ yy93:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy95;
+ if (yych <= '/')
+ goto yy26;
+ goto yy96;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy96;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy96;
+ goto yy26;
+ }
+ }
+ yy94:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy96;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy96;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy96;
+ goto yy26;
+ }
+ }
+ yy95:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy97;
+ if (yych <= '/')
+ goto yy26;
+ goto yy98;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy98;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy98;
+ goto yy26;
+ }
+ }
+ yy96:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy98;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy98;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy98;
+ goto yy26;
+ }
+ }
+ yy97:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy99;
+ if (yych <= '/')
+ goto yy26;
+ goto yy100;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy100;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy100;
+ goto yy26;
+ }
+ }
+ yy98:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy100;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy100;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy100;
+ goto yy26;
+ }
+ }
+ yy99:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy101;
+ if (yych <= '/')
+ goto yy26;
+ goto yy102;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy102;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy102;
+ goto yy26;
+ }
+ }
+ yy100:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy102;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy102;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy102;
+ goto yy26;
+ }
+ }
+ yy101:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy103;
+ if (yych <= '/')
+ goto yy26;
+ goto yy104;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy104;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy104;
+ goto yy26;
+ }
+ }
+ yy102:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy104;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy104;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy104;
+ goto yy26;
+ }
+ }
+ yy103:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy105;
+ if (yych <= '/')
+ goto yy26;
+ goto yy106;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy106;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy106;
+ goto yy26;
+ }
+ }
+ yy104:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy106;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy106;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy106;
+ goto yy26;
+ }
+ }
+ yy105:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy107;
+ if (yych <= '/')
+ goto yy26;
+ goto yy108;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy108;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy108;
+ goto yy26;
+ }
+ }
+ yy106:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy108;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy108;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy108;
+ goto yy26;
+ }
+ }
+ yy107:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy109;
+ if (yych <= '/')
+ goto yy26;
+ goto yy110;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy110;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy110;
+ goto yy26;
+ }
+ }
+ yy108:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy110;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy110;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy110;
+ goto yy26;
+ }
+ }
+ yy109:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy111;
+ if (yych <= '/')
+ goto yy26;
+ goto yy112;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy112;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy112;
+ goto yy26;
+ }
+ }
+ yy110:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy112;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy112;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy112;
+ goto yy26;
+ }
+ }
+ yy111:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy113;
+ if (yych <= '/')
+ goto yy26;
+ goto yy114;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy114;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy114;
+ goto yy26;
+ }
+ }
+ yy112:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy114;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy114;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy114;
+ goto yy26;
+ }
+ }
+ yy113:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy115;
+ if (yych <= '/')
+ goto yy26;
+ goto yy116;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy116;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy116;
+ goto yy26;
+ }
+ }
+ yy114:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy116;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy116;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy116;
+ goto yy26;
+ }
+ }
+ yy115:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy117;
+ if (yych <= '/')
+ goto yy26;
+ goto yy118;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy118;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy118;
+ goto yy26;
+ }
+ }
+ yy116:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy118;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy118;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy118;
+ goto yy26;
+ }
+ }
+ yy117:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy119;
+ if (yych <= '/')
+ goto yy26;
+ goto yy120;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy120;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy120;
+ goto yy26;
+ }
+ }
+ yy118:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy120;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy120;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy120;
+ goto yy26;
+ }
+ }
+ yy119:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy121;
+ if (yych <= '/')
+ goto yy26;
+ goto yy122;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy122;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy122;
+ goto yy26;
+ }
+ }
+ yy120:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy122;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy122;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy122;
+ goto yy26;
+ }
+ }
+ yy121:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy123;
+ if (yych <= '/')
+ goto yy26;
+ goto yy124;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy124;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy124;
+ goto yy26;
+ }
+ }
+ yy122:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy124;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy124;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy124;
+ goto yy26;
+ }
+ }
+ yy123:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy125;
+ if (yych <= '/')
+ goto yy26;
+ goto yy126;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy126;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy126;
+ goto yy26;
+ }
+ }
+ yy124:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy126;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy126;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy126;
+ goto yy26;
+ }
+ }
+ yy125:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy127;
+ if (yych <= '/')
+ goto yy26;
+ goto yy128;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy128;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy128;
+ goto yy26;
+ }
+ }
+ yy126:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy128;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy128;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy128;
+ goto yy26;
+ }
+ }
+ yy127:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy129;
+ if (yych <= '/')
+ goto yy26;
+ goto yy130;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy130;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy130;
+ goto yy26;
+ }
+ }
+ yy128:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy130;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy130;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy130;
+ goto yy26;
+ }
+ }
+ yy129:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy131;
+ if (yych <= '/')
+ goto yy26;
+ goto yy132;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy132;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy132;
+ goto yy26;
+ }
+ }
+ yy130:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy132;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy132;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy132;
+ goto yy26;
+ }
+ }
+ yy131:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy133;
+ if (yych <= '/')
+ goto yy26;
+ goto yy134;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy134;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy134;
+ goto yy26;
+ }
+ }
+ yy132:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy134;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy134;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy134;
+ goto yy26;
+ }
+ }
+ yy133:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy135;
+ if (yych <= '/')
+ goto yy26;
+ goto yy136;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy136;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy136;
+ goto yy26;
+ }
+ }
+ yy134:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy136;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy136;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy136;
+ goto yy26;
+ }
+ }
+ yy135:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy137;
+ if (yych <= '/')
+ goto yy26;
+ goto yy138;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy138;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy138;
+ goto yy26;
+ }
+ }
+ yy136:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy138;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy138;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy138;
+ goto yy26;
+ }
+ }
+ yy137:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy139;
+ if (yych <= '/')
+ goto yy26;
+ goto yy140;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy140;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy140;
+ goto yy26;
+ }
+ }
+ yy138:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy140;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy140;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy140;
+ goto yy26;
+ }
+ }
+ yy139:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy141;
+ if (yych <= '/')
+ goto yy26;
+ goto yy142;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy142;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy142;
+ goto yy26;
+ }
+ }
+ yy140:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy142;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy142;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy142;
+ goto yy26;
+ }
+ }
+ yy141:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy143;
+ if (yych <= '/')
+ goto yy26;
+ goto yy144;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy144;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy144;
+ goto yy26;
+ }
+ }
+ yy142:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy144;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy144;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy144;
+ goto yy26;
+ }
+ }
+ yy143:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy145;
+ if (yych <= '/')
+ goto yy26;
+ goto yy146;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy146;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy146;
+ goto yy26;
+ }
+ }
+ yy144:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy146;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy146;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy146;
+ goto yy26;
+ }
+ }
+ yy145:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy147;
+ if (yych <= '/')
+ goto yy26;
+ goto yy148;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy148;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy148;
+ goto yy26;
+ }
+ }
+ yy146:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy148;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy148;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy148;
+ goto yy26;
+ }
+ }
+ yy147:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy149;
+ if (yych <= '/')
+ goto yy26;
+ goto yy150;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy26;
+ goto yy150;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy150;
+ goto yy26;
+ }
+ }
+ yy148:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy26;
+ if (yych >= '.')
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy150;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ goto yy150;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy150;
+ goto yy26;
+ }
+ }
+ yy149:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy26;
+ if (yych <= '9')
+ goto yy151;
+ goto yy26;
+ } else {
+ if (yych <= 'Z')
+ goto yy151;
+ if (yych <= '`')
+ goto yy26;
+ if (yych <= 'z')
+ goto yy151;
+ goto yy26;
+ }
+ yy150:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= '-')
+ goto yy26;
+ goto yy27;
+ } else {
+ if (yych <= '/')
+ goto yy26;
+ if (yych >= ':')
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy30;
+ if (yych <= '@')
+ goto yy26;
+ } else {
+ if (yych <= '`')
+ goto yy26;
+ if (yych >= '{')
+ goto yy26;
+ }
+ }
+ yy151:
+ yych = *++p;
+ if (yych == '.')
+ goto yy27;
+ if (yych == '>')
+ goto yy30;
+ goto yy26;
+ }
+}
+
+// Try to match an HTML tag after first <, returning num of chars matched.
+bufsize_t _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[] = {
+ 0, 224, 224, 224, 224, 224, 224, 224, 224, 200, 200, 200, 200, 200,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 200, 224, 128, 224, 224, 224, 224, 64, 224, 224,
+ 224, 224, 224, 244, 240, 224, 244, 244, 244, 244, 244, 244, 244, 244,
+ 244, 244, 240, 224, 192, 192, 192, 224, 224, 244, 244, 244, 244, 244,
+ 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+ 244, 244, 244, 244, 244, 244, 244, 224, 224, 224, 224, 240, 192, 244,
+ 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+ 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 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, 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, 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, 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, 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, 224, 224, 224,
+ };
+ yych = *p;
+ if (yych <= '@') {
+ if (yych == '/')
+ goto yy155;
+ } else {
+ if (yych <= 'Z')
+ goto yy156;
+ if (yych <= '`')
+ goto yy153;
+ if (yych <= 'z')
+ goto yy156;
+ }
+ yy153:
+ ++p;
+ yy154 : { return 0; }
+ yy155:
+ yych = *(marker = ++p);
+ if (yych <= '@')
+ goto yy154;
+ if (yych <= 'Z')
+ goto yy157;
+ if (yych <= '`')
+ goto yy154;
+ if (yych <= 'z')
+ goto yy157;
+ goto yy154;
+ yy156:
+ yych = *(marker = ++p);
+ if (yych <= '.') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy154;
+ if (yych <= '\r')
+ goto yy161;
+ goto yy154;
+ } else {
+ if (yych <= ' ')
+ goto yy161;
+ if (yych == '-')
+ goto yy161;
+ goto yy154;
+ }
+ } else {
+ if (yych <= '@') {
+ if (yych <= '9')
+ goto yy161;
+ if (yych == '>')
+ goto yy161;
+ goto yy154;
+ } else {
+ if (yych <= 'Z')
+ goto yy161;
+ if (yych <= '`')
+ goto yy154;
+ if (yych <= 'z')
+ goto yy161;
+ goto yy154;
+ }
+ }
+ yy157:
+ yych = *++p;
+ if (yybm[0 + yych] & 4) {
+ goto yy157;
+ }
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy158;
+ if (yych <= '\r')
+ goto yy164;
+ } else {
+ if (yych <= ' ')
+ goto yy164;
+ if (yych == '>')
+ goto yy163;
+ }
+ yy158:
+ p = marker;
+ goto yy154;
+ yy159:
+ yych = *++p;
+ if (yybm[0 + yych] & 8) {
+ goto yy159;
+ }
+ if (yych <= '>') {
+ if (yych <= '9') {
+ if (yych == '/')
+ goto yy162;
+ goto yy158;
+ } else {
+ if (yych <= ':')
+ goto yy165;
+ if (yych <= '=')
+ goto yy158;
+ goto yy163;
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych <= '@')
+ goto yy158;
+ if (yych <= 'Z')
+ goto yy165;
+ goto yy158;
+ } else {
+ if (yych == '`')
+ goto yy158;
+ if (yych <= 'z')
+ goto yy165;
+ goto yy158;
+ }
+ }
+ yy160:
+ yych = *++p;
+ yy161:
+ if (yybm[0 + yych] & 8) {
+ goto yy159;
+ }
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych == '-')
+ goto yy160;
+ goto yy158;
+ } else {
+ if (yych <= '/')
+ goto yy162;
+ if (yych <= '9')
+ goto yy160;
+ goto yy158;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy163;
+ if (yych <= '@')
+ goto yy158;
+ goto yy160;
+ } else {
+ if (yych <= '`')
+ goto yy158;
+ if (yych <= 'z')
+ goto yy160;
+ goto yy158;
+ }
+ }
+ yy162:
+ yych = *++p;
+ if (yych != '>')
+ goto yy158;
+ yy163:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy164:
+ yych = *++p;
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy158;
+ if (yych <= '\r')
+ goto yy164;
+ goto yy158;
+ } else {
+ if (yych <= ' ')
+ goto yy164;
+ if (yych == '>')
+ goto yy163;
+ goto yy158;
+ }
+ yy165:
+ yych = *++p;
+ if (yybm[0 + yych] & 16) {
+ goto yy165;
+ }
+ if (yych <= ',') {
+ if (yych <= '\r') {
+ if (yych <= 0x08)
+ goto yy158;
+ } else {
+ if (yych != ' ')
+ goto yy158;
+ }
+ } else {
+ if (yych <= '<') {
+ if (yych <= '/')
+ goto yy162;
+ goto yy158;
+ } else {
+ if (yych <= '=')
+ goto yy167;
+ if (yych <= '>')
+ goto yy163;
+ goto yy158;
+ }
+ }
+ yy166:
+ yych = *++p;
+ if (yych <= '<') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy158;
+ if (yych <= '\r')
+ goto yy166;
+ if (yych <= 0x1F)
+ goto yy158;
+ goto yy166;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy158;
+ goto yy162;
+ } else {
+ if (yych == ':')
+ goto yy165;
+ goto yy158;
+ }
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '=')
+ goto yy167;
+ if (yych <= '>')
+ goto yy163;
+ if (yych <= '@')
+ goto yy158;
+ goto yy165;
+ } else {
+ if (yych <= '_') {
+ if (yych <= '^')
+ goto yy158;
+ goto yy165;
+ } else {
+ if (yych <= '`')
+ goto yy158;
+ if (yych <= 'z')
+ goto yy165;
+ goto yy158;
+ }
+ }
+ }
+ yy167:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy168;
+ }
+ if (yych <= 0x00)
+ goto yy158;
+ if (yych <= ' ')
+ goto yy167;
+ if (yych <= '"')
+ goto yy169;
+ if (yych <= '\'')
+ goto yy170;
+ goto yy158;
+ yy168:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy168;
+ }
+ if (yych <= 0x00)
+ goto yy158;
+ if (yych <= ' ')
+ goto yy159;
+ if (yych == '>')
+ goto yy163;
+ goto yy158;
+ yy169:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy169;
+ }
+ if (yych <= 0x00)
+ goto yy158;
+ goto yy171;
+ yy170:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy170;
+ }
+ if (yych <= 0x00)
+ goto yy158;
+ yy171:
+ yych = *++p;
+ if (yybm[0 + yych] & 8) {
+ goto yy159;
+ }
+ if (yych == '/')
+ goto yy162;
+ if (yych == '>')
+ goto yy163;
+ goto yy158;
+ }
+}
+
+bufsize_t _scan_html_comment(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 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, 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, 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;
+ if (yych == '-')
+ goto yy174;
+ ++p;
+ yy173 : { return 0; }
+ yy174:
+ yych = *(marker = ++p);
+ if (yych != '-')
+ goto yy173;
+ yy175:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy175;
+ }
+ if (yych >= 0x01)
+ goto yy177;
+ yy176:
+ p = marker;
+ goto yy173;
+ yy177:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy175;
+ }
+ if (yych <= 0x00)
+ goto yy176;
+ yych = *++p;
+ if (yych <= 0x00)
+ goto yy176;
+ if (yych != '>')
+ goto yy175;
+ ++p;
+ { return (bufsize_t)(p - start); }
+ }
+}
+
+bufsize_t _scan_html_pi(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 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, 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, 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;
+ if (yybm[0 + yych] & 128) {
+ goto yy180;
+ }
+ if (yych >= 0x01)
+ goto yy182;
+ ++p;
+ yy179 : { return 0; }
+ yy180:
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy180;
+ }
+ if (yych >= 0x01)
+ goto yy183;
+ yy181 : { return (bufsize_t)(p - start); }
+ yy182:
+ yych = *++p;
+ if (yych <= 0x00)
+ goto yy179;
+ if (yych == '>')
+ goto yy179;
+ goto yy180;
+ yy183:
+ yych = *++p;
+ if (yych <= 0x00)
+ goto yy184;
+ if (yych != '>')
+ goto yy180;
+ yy184:
+ p = marker;
+ goto yy181;
+ }
+}
+
+bufsize_t _scan_html_declaration(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+ (void)marker;
+
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 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, 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, 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;
+ if (yych <= '@')
+ goto yy186;
+ if (yych <= 'Z')
+ goto yy187;
+ if (yych <= '`')
+ goto yy186;
+ if (yych <= 'z')
+ goto yy187;
+ yy186:
+ ++p;
+ { return 0; }
+ yy187:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy187;
+ }
+ { return (bufsize_t)(p - start); }
+ }
+}
+
+bufsize_t _scan_html_cdata(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, 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, 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,
+ };
+ yych = *p;
+ if (yych == 'C')
+ goto yy190;
+ if (yych == 'c')
+ goto yy190;
+ ++p;
+ yy189 : { return 0; }
+ yy190:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'D')
+ goto yy191;
+ if (yych != 'd')
+ goto yy189;
+ yy191:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy193;
+ if (yych == 'a')
+ goto yy193;
+ yy192:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy189;
+ } else {
+ goto yy197;
+ }
+ yy193:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy194;
+ if (yych != 't')
+ goto yy192;
+ yy194:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy195;
+ if (yych != 'a')
+ goto yy192;
+ yy195:
+ yych = *++p;
+ if (yych != '[')
+ goto yy192;
+ yy196:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy196;
+ }
+ if (yych >= 0x01)
+ goto yy198;
+ yy197 : { return (bufsize_t)(p - start); }
+ yy198:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy196;
+ }
+ if (yych <= 0x00)
+ goto yy192;
+ yych = *++p;
+ if (yych <= 0x00)
+ goto yy192;
+ if (yych == '>')
+ goto yy192;
+ goto yy196;
+ }
+}
+
+// Try to match an HTML block tag start line, returning
+// an integer code for the type of block (1-6, matching the spec).
+// #7 is handled by a separate function, below.
+bufsize_t _scan_html_block_start(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+
+ {
+ unsigned char yych;
+ yych = *p;
+ if (yych == '<')
+ goto yy201;
+ ++p;
+ yy200 : { return 0; }
+ yy201:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case '!':
+ goto yy202;
+ case '/':
+ goto yy204;
+ case '?':
+ goto yy205;
+ case 'A':
+ case 'a':
+ goto yy206;
+ case 'B':
+ case 'b':
+ goto yy207;
+ case 'C':
+ case 'c':
+ goto yy208;
+ case 'D':
+ case 'd':
+ goto yy209;
+ case 'F':
+ case 'f':
+ goto yy210;
+ case 'H':
+ case 'h':
+ goto yy211;
+ case 'I':
+ case 'i':
+ goto yy212;
+ case 'L':
+ case 'l':
+ goto yy213;
+ case 'M':
+ case 'm':
+ goto yy214;
+ case 'N':
+ case 'n':
+ goto yy215;
+ case 'O':
+ case 'o':
+ goto yy216;
+ case 'P':
+ case 'p':
+ goto yy217;
+ case 'S':
+ case 's':
+ goto yy218;
+ case 'T':
+ case 't':
+ goto yy219;
+ case 'U':
+ case 'u':
+ goto yy220;
+ default:
+ goto yy200;
+ }
+ yy202:
+ yych = *++p;
+ if (yych <= 'Z') {
+ if (yych == '-')
+ goto yy221;
+ if (yych >= 'A')
+ goto yy222;
+ } else {
+ if (yych <= '[')
+ goto yy223;
+ if (yych <= '`')
+ goto yy203;
+ if (yych <= 'z')
+ goto yy222;
+ }
+ yy203:
+ p = marker;
+ goto yy200;
+ yy204:
+ yych = *++p;
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy206;
+ case 'B':
+ case 'b':
+ goto yy207;
+ case 'C':
+ case 'c':
+ goto yy208;
+ case 'D':
+ case 'd':
+ goto yy209;
+ case 'F':
+ case 'f':
+ goto yy210;
+ case 'H':
+ case 'h':
+ goto yy211;
+ case 'I':
+ case 'i':
+ goto yy212;
+ case 'L':
+ case 'l':
+ goto yy213;
+ case 'M':
+ case 'm':
+ goto yy214;
+ case 'N':
+ case 'n':
+ goto yy215;
+ case 'O':
+ case 'o':
+ goto yy216;
+ case 'P':
+ case 'p':
+ goto yy224;
+ case 'S':
+ case 's':
+ goto yy225;
+ case 'T':
+ case 't':
+ goto yy226;
+ case 'U':
+ case 'u':
+ goto yy220;
+ default:
+ goto yy203;
+ }
+ yy205:
+ ++p;
+ { return 3; }
+ yy206:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych <= 'D') {
+ if (yych <= 'C')
+ goto yy203;
+ goto yy227;
+ } else {
+ if (yych <= 'Q')
+ goto yy203;
+ if (yych <= 'R')
+ goto yy228;
+ goto yy229;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych == 'd')
+ goto yy227;
+ goto yy203;
+ } else {
+ if (yych <= 'r')
+ goto yy228;
+ if (yych <= 's')
+ goto yy229;
+ goto yy203;
+ }
+ }
+ yy207:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych <= 'K') {
+ if (yych == 'A')
+ goto yy230;
+ goto yy203;
+ } else {
+ if (yych <= 'L')
+ goto yy231;
+ if (yych <= 'N')
+ goto yy203;
+ goto yy232;
+ }
+ } else {
+ if (yych <= 'k') {
+ if (yych == 'a')
+ goto yy230;
+ goto yy203;
+ } else {
+ if (yych <= 'l')
+ goto yy231;
+ if (yych == 'o')
+ goto yy232;
+ goto yy203;
+ }
+ }
+ yy208:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych <= 'D') {
+ if (yych == 'A')
+ goto yy233;
+ goto yy203;
+ } else {
+ if (yych <= 'E')
+ goto yy234;
+ if (yych <= 'N')
+ goto yy203;
+ goto yy235;
+ }
+ } else {
+ if (yych <= 'd') {
+ if (yych == 'a')
+ goto yy233;
+ goto yy203;
+ } else {
+ if (yych <= 'e')
+ goto yy234;
+ if (yych == 'o')
+ goto yy235;
+ goto yy203;
+ }
+ }
+ yy209:
+ yych = *++p;
+ switch (yych) {
+ case 'D':
+ case 'L':
+ case 'T':
+ case 'd':
+ case 'l':
+ case 't':
+ goto yy236;
+ case 'E':
+ case 'e':
+ goto yy237;
+ case 'I':
+ case 'i':
+ goto yy238;
+ default:
+ goto yy203;
+ }
+ yy210:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych <= 'N') {
+ if (yych == 'I')
+ goto yy239;
+ goto yy203;
+ } else {
+ if (yych <= 'O')
+ goto yy240;
+ if (yych <= 'Q')
+ goto yy203;
+ goto yy241;
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych == 'i')
+ goto yy239;
+ goto yy203;
+ } else {
+ if (yych <= 'o')
+ goto yy240;
+ if (yych == 'r')
+ goto yy241;
+ goto yy203;
+ }
+ }
+ yy211:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych <= 'D') {
+ if (yych <= '0')
+ goto yy203;
+ if (yych <= '6')
+ goto yy236;
+ goto yy203;
+ } else {
+ if (yych <= 'E')
+ goto yy242;
+ if (yych == 'R')
+ goto yy236;
+ goto yy203;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'T')
+ goto yy243;
+ if (yych == 'e')
+ goto yy242;
+ goto yy203;
+ } else {
+ if (yych <= 'r')
+ goto yy236;
+ if (yych == 't')
+ goto yy243;
+ goto yy203;
+ }
+ }
+ yy212:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy244;
+ if (yych == 'f')
+ goto yy244;
+ goto yy203;
+ yy213:
+ yych = *++p;
+ if (yych <= 'I') {
+ if (yych == 'E')
+ goto yy245;
+ if (yych <= 'H')
+ goto yy203;
+ goto yy246;
+ } else {
+ if (yych <= 'e') {
+ if (yych <= 'd')
+ goto yy203;
+ goto yy245;
+ } else {
+ if (yych == 'i')
+ goto yy246;
+ goto yy203;
+ }
+ }
+ yy214:
+ yych = *++p;
+ if (yych <= 'E') {
+ if (yych == 'A')
+ goto yy247;
+ if (yych <= 'D')
+ goto yy203;
+ goto yy248;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy203;
+ goto yy247;
+ } else {
+ if (yych == 'e')
+ goto yy248;
+ goto yy203;
+ }
+ }
+ yy215:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych == 'A')
+ goto yy249;
+ if (yych <= 'N')
+ goto yy203;
+ goto yy250;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy203;
+ goto yy249;
+ } else {
+ if (yych == 'o')
+ goto yy250;
+ goto yy203;
+ }
+ }
+ yy216:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'L')
+ goto yy236;
+ if (yych <= 'O')
+ goto yy203;
+ goto yy251;
+ } else {
+ if (yych <= 'l') {
+ if (yych <= 'k')
+ goto yy203;
+ goto yy236;
+ } else {
+ if (yych == 'p')
+ goto yy251;
+ goto yy203;
+ }
+ }
+ yy217:
+ yych = *++p;
+ if (yych <= '>') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy203;
+ if (yych <= '\r')
+ goto yy252;
+ if (yych <= 0x1F)
+ goto yy203;
+ goto yy252;
+ } else {
+ if (yych == '/')
+ goto yy253;
+ if (yych <= '=')
+ goto yy203;
+ goto yy252;
+ }
+ } else {
+ if (yych <= 'R') {
+ if (yych == 'A')
+ goto yy254;
+ if (yych <= 'Q')
+ goto yy203;
+ goto yy255;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy203;
+ goto yy254;
+ } else {
+ if (yych == 'r')
+ goto yy255;
+ goto yy203;
+ }
+ }
+ }
+ yy218:
+ yych = *++p;
+ if (yych <= 'U') {
+ if (yych <= 'D') {
+ if (yych == 'C')
+ goto yy256;
+ goto yy203;
+ } else {
+ if (yych <= 'E')
+ goto yy257;
+ if (yych <= 'S')
+ goto yy203;
+ if (yych <= 'T')
+ goto yy258;
+ goto yy259;
+ }
+ } else {
+ if (yych <= 'e') {
+ if (yych == 'c')
+ goto yy256;
+ if (yych <= 'd')
+ goto yy203;
+ goto yy257;
+ } else {
+ if (yych <= 's')
+ goto yy203;
+ if (yych <= 't')
+ goto yy258;
+ if (yych <= 'u')
+ goto yy259;
+ goto yy203;
+ }
+ }
+ yy219:
+ yych = *++p;
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy260;
+ case 'B':
+ case 'b':
+ goto yy261;
+ case 'D':
+ case 'd':
+ goto yy236;
+ case 'E':
+ case 'e':
+ goto yy262;
+ case 'F':
+ case 'f':
+ goto yy263;
+ case 'H':
+ case 'h':
+ goto yy264;
+ case 'I':
+ case 'i':
+ goto yy265;
+ case 'R':
+ case 'r':
+ goto yy266;
+ default:
+ goto yy203;
+ }
+ yy220:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy236;
+ if (yych == 'l')
+ goto yy236;
+ goto yy203;
+ yy221:
+ yych = *++p;
+ if (yych == '-')
+ goto yy267;
+ goto yy203;
+ yy222:
+ ++p;
+ { return 4; }
+ yy223:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy268;
+ if (yych == 'c')
+ goto yy268;
+ goto yy203;
+ yy224:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy203;
+ if (yych <= '\r')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= ' ')
+ goto yy252;
+ if (yych <= '.')
+ goto yy203;
+ goto yy253;
+ }
+ } else {
+ if (yych <= '@') {
+ if (yych == '>')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= 'A')
+ goto yy254;
+ if (yych == 'a')
+ goto yy254;
+ goto yy203;
+ }
+ }
+ yy225:
+ yych = *++p;
+ if (yych <= 'U') {
+ if (yych == 'E')
+ goto yy257;
+ if (yych <= 'T')
+ goto yy203;
+ goto yy259;
+ } else {
+ if (yych <= 'e') {
+ if (yych <= 'd')
+ goto yy203;
+ goto yy257;
+ } else {
+ if (yych == 'u')
+ goto yy259;
+ goto yy203;
+ }
+ }
+ yy226:
+ yych = *++p;
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy260;
+ case 'B':
+ case 'b':
+ goto yy261;
+ case 'D':
+ case 'd':
+ goto yy236;
+ case 'F':
+ case 'f':
+ goto yy263;
+ case 'H':
+ case 'h':
+ goto yy264;
+ case 'I':
+ case 'i':
+ goto yy265;
+ case 'R':
+ case 'r':
+ goto yy266;
+ default:
+ goto yy203;
+ }
+ yy227:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy269;
+ if (yych == 'd')
+ goto yy269;
+ goto yy203;
+ yy228:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy270;
+ if (yych == 't')
+ goto yy270;
+ goto yy203;
+ yy229:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy271;
+ if (yych == 'i')
+ goto yy271;
+ goto yy203;
+ yy230:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy272;
+ if (yych == 's')
+ goto yy272;
+ goto yy203;
+ yy231:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy273;
+ if (yych == 'o')
+ goto yy273;
+ goto yy203;
+ yy232:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy274;
+ if (yych == 'd')
+ goto yy274;
+ goto yy203;
+ yy233:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy275;
+ if (yych == 'p')
+ goto yy275;
+ goto yy203;
+ yy234:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy276;
+ if (yych == 'n')
+ goto yy276;
+ goto yy203;
+ yy235:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy277;
+ if (yych == 'l')
+ goto yy277;
+ goto yy203;
+ yy236:
+ yych = *++p;
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy203;
+ if (yych <= '\r')
+ goto yy252;
+ if (yych <= 0x1F)
+ goto yy203;
+ goto yy252;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy203;
+ goto yy253;
+ } else {
+ if (yych == '>')
+ goto yy252;
+ goto yy203;
+ }
+ }
+ yy237:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy278;
+ if (yych == 't')
+ goto yy278;
+ goto yy203;
+ yy238:
+ yych = *++p;
+ if (yych <= 'V') {
+ if (yych <= 'Q') {
+ if (yych == 'A')
+ goto yy279;
+ goto yy203;
+ } else {
+ if (yych <= 'R')
+ goto yy236;
+ if (yych <= 'U')
+ goto yy203;
+ goto yy236;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych == 'a')
+ goto yy279;
+ goto yy203;
+ } else {
+ if (yych <= 'r')
+ goto yy236;
+ if (yych == 'v')
+ goto yy236;
+ goto yy203;
+ }
+ }
+ yy239:
+ yych = *++p;
+ if (yych <= 'G') {
+ if (yych == 'E')
+ goto yy280;
+ if (yych <= 'F')
+ goto yy203;
+ goto yy281;
+ } else {
+ if (yych <= 'e') {
+ if (yych <= 'd')
+ goto yy203;
+ goto yy280;
+ } else {
+ if (yych == 'g')
+ goto yy281;
+ goto yy203;
+ }
+ }
+ yy240:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == 'O')
+ goto yy276;
+ if (yych <= 'Q')
+ goto yy203;
+ goto yy282;
+ } else {
+ if (yych <= 'o') {
+ if (yych <= 'n')
+ goto yy203;
+ goto yy276;
+ } else {
+ if (yych == 'r')
+ goto yy282;
+ goto yy203;
+ }
+ }
+ yy241:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy283;
+ if (yych == 'a')
+ goto yy283;
+ goto yy203;
+ yy242:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy284;
+ if (yych == 'a')
+ goto yy284;
+ goto yy203;
+ yy243:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy220;
+ if (yych == 'm')
+ goto yy220;
+ goto yy203;
+ yy244:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy285;
+ if (yych == 'r')
+ goto yy285;
+ goto yy203;
+ yy245:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy286;
+ if (yych == 'g')
+ goto yy286;
+ goto yy203;
+ yy246:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy203;
+ if (yych <= '\r')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= ' ')
+ goto yy252;
+ if (yych <= '.')
+ goto yy203;
+ goto yy253;
+ }
+ } else {
+ if (yych <= 'M') {
+ if (yych == '>')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= 'N')
+ goto yy287;
+ if (yych == 'n')
+ goto yy287;
+ goto yy203;
+ }
+ }
+ yy247:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy288;
+ if (yych == 'i')
+ goto yy288;
+ goto yy203;
+ yy248:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy289;
+ if (yych == 'n')
+ goto yy289;
+ goto yy203;
+ yy249:
+ yych = *++p;
+ if (yych == 'V')
+ goto yy236;
+ if (yych == 'v')
+ goto yy236;
+ goto yy203;
+ yy250:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy290;
+ if (yych == 'f')
+ goto yy290;
+ goto yy203;
+ yy251:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy291;
+ if (yych == 't')
+ goto yy291;
+ goto yy203;
+ yy252:
+ ++p;
+ { return 6; }
+ yy253:
+ yych = *++p;
+ if (yych == '>')
+ goto yy252;
+ goto yy203;
+ yy254:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy292;
+ if (yych == 'r')
+ goto yy292;
+ goto yy203;
+ yy255:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy293;
+ if (yych == 'e')
+ goto yy293;
+ goto yy203;
+ yy256:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy294;
+ if (yych == 'r')
+ goto yy294;
+ goto yy203;
+ yy257:
+ yych = *++p;
+ if (yych <= 'C') {
+ if (yych == 'A')
+ goto yy295;
+ if (yych <= 'B')
+ goto yy203;
+ goto yy275;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy203;
+ goto yy295;
+ } else {
+ if (yych == 'c')
+ goto yy275;
+ goto yy203;
+ }
+ }
+ yy258:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy296;
+ if (yych == 'y')
+ goto yy296;
+ goto yy203;
+ yy259:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy297;
+ if (yych == 'm')
+ goto yy297;
+ goto yy203;
+ yy260:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy298;
+ if (yych == 'b')
+ goto yy298;
+ goto yy203;
+ yy261:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy232;
+ if (yych == 'o')
+ goto yy232;
+ goto yy203;
+ yy262:
+ yych = *++p;
+ if (yych == 'X')
+ goto yy299;
+ if (yych == 'x')
+ goto yy299;
+ goto yy203;
+ yy263:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy300;
+ if (yych == 'o')
+ goto yy300;
+ goto yy203;
+ yy264:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy203;
+ if (yych <= '\r')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= ' ')
+ goto yy252;
+ if (yych <= '.')
+ goto yy203;
+ goto yy253;
+ }
+ } else {
+ if (yych <= 'D') {
+ if (yych == '>')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= 'E')
+ goto yy301;
+ if (yych == 'e')
+ goto yy301;
+ goto yy203;
+ }
+ }
+ yy265:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy298;
+ if (yych == 't')
+ goto yy298;
+ goto yy203;
+ yy266:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy203;
+ if (yych <= '\r')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= ' ')
+ goto yy252;
+ if (yych <= '.')
+ goto yy203;
+ goto yy253;
+ }
+ } else {
+ if (yych <= '@') {
+ if (yych == '>')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= 'A')
+ goto yy302;
+ if (yych == 'a')
+ goto yy302;
+ goto yy203;
+ }
+ }
+ yy267:
+ ++p;
+ { return 2; }
+ yy268:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy303;
+ if (yych == 'd')
+ goto yy303;
+ goto yy203;
+ yy269:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy304;
+ if (yych == 'r')
+ goto yy304;
+ goto yy203;
+ yy270:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy305;
+ if (yych == 'i')
+ goto yy305;
+ goto yy203;
+ yy271:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy306;
+ if (yych == 'd')
+ goto yy306;
+ goto yy203;
+ yy272:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy307;
+ if (yych == 'e')
+ goto yy307;
+ goto yy203;
+ yy273:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy308;
+ if (yych == 'c')
+ goto yy308;
+ goto yy203;
+ yy274:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy236;
+ if (yych == 'y')
+ goto yy236;
+ goto yy203;
+ yy275:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy309;
+ if (yych == 't')
+ goto yy309;
+ goto yy203;
+ yy276:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy310;
+ if (yych == 't')
+ goto yy310;
+ goto yy203;
+ yy277:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy203;
+ if (yych <= '\r')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= ' ')
+ goto yy252;
+ if (yych <= '.')
+ goto yy203;
+ goto yy253;
+ }
+ } else {
+ if (yych <= 'F') {
+ if (yych == '>')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= 'G')
+ goto yy311;
+ if (yych == 'g')
+ goto yy311;
+ goto yy203;
+ }
+ }
+ yy278:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy312;
+ if (yych == 'a')
+ goto yy312;
+ goto yy203;
+ yy279:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy313;
+ if (yych == 'l')
+ goto yy313;
+ goto yy203;
+ yy280:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy314;
+ if (yych == 'l')
+ goto yy314;
+ goto yy203;
+ yy281:
+ yych = *++p;
+ if (yych <= 'U') {
+ if (yych == 'C')
+ goto yy315;
+ if (yych <= 'T')
+ goto yy203;
+ goto yy316;
+ } else {
+ if (yych <= 'c') {
+ if (yych <= 'b')
+ goto yy203;
+ goto yy315;
+ } else {
+ if (yych == 'u')
+ goto yy316;
+ goto yy203;
+ }
+ }
+ yy282:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy236;
+ if (yych == 'm')
+ goto yy236;
+ goto yy203;
+ yy283:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy317;
+ if (yych == 'm')
+ goto yy317;
+ goto yy203;
+ yy284:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy318;
+ if (yych == 'd')
+ goto yy318;
+ goto yy203;
+ yy285:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy319;
+ if (yych == 'a')
+ goto yy319;
+ goto yy203;
+ yy286:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy320;
+ if (yych == 'e')
+ goto yy320;
+ goto yy203;
+ yy287:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy236;
+ if (yych == 'k')
+ goto yy236;
+ goto yy203;
+ yy288:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy236;
+ if (yych == 'n')
+ goto yy236;
+ goto yy203;
+ yy289:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy321;
+ if (yych == 'u')
+ goto yy321;
+ goto yy203;
+ yy290:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy322;
+ if (yych == 'r')
+ goto yy322;
+ goto yy203;
+ yy291:
+ yych = *++p;
+ if (yych <= 'I') {
+ if (yych == 'G')
+ goto yy311;
+ if (yych <= 'H')
+ goto yy203;
+ goto yy323;
+ } else {
+ if (yych <= 'g') {
+ if (yych <= 'f')
+ goto yy203;
+ goto yy311;
+ } else {
+ if (yych == 'i')
+ goto yy323;
+ goto yy203;
+ }
+ }
+ yy292:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy282;
+ if (yych == 'a')
+ goto yy282;
+ goto yy203;
+ yy293:
+ yych = *++p;
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy203;
+ if (yych <= '\r')
+ goto yy324;
+ goto yy203;
+ } else {
+ if (yych <= ' ')
+ goto yy324;
+ if (yych == '>')
+ goto yy324;
+ goto yy203;
+ }
+ yy294:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy325;
+ if (yych == 'i')
+ goto yy325;
+ goto yy203;
+ yy295:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy326;
+ if (yych == 'r')
+ goto yy326;
+ goto yy203;
+ yy296:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy255;
+ if (yych == 'l')
+ goto yy255;
+ goto yy203;
+ yy297:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy327;
+ if (yych == 'm')
+ goto yy327;
+ goto yy203;
+ yy298:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy306;
+ if (yych == 'l')
+ goto yy306;
+ goto yy203;
+ yy299:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy328;
+ if (yych == 't')
+ goto yy328;
+ goto yy203;
+ yy300:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy329;
+ if (yych == 'o')
+ goto yy329;
+ goto yy203;
+ yy301:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy330;
+ if (yych == 'a')
+ goto yy330;
+ goto yy203;
+ yy302:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy287;
+ if (yych == 'c')
+ goto yy287;
+ goto yy203;
+ yy303:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy331;
+ if (yych == 'a')
+ goto yy331;
+ goto yy203;
+ yy304:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy332;
+ if (yych == 'e')
+ goto yy332;
+ goto yy203;
+ yy305:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy298;
+ if (yych == 'c')
+ goto yy298;
+ goto yy203;
+ yy306:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy236;
+ if (yych == 'e')
+ goto yy236;
+ goto yy203;
+ yy307:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy203;
+ if (yych <= '\r')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= ' ')
+ goto yy252;
+ if (yych <= '.')
+ goto yy203;
+ goto yy253;
+ }
+ } else {
+ if (yych <= 'E') {
+ if (yych == '>')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= 'F')
+ goto yy333;
+ if (yych == 'f')
+ goto yy333;
+ goto yy203;
+ }
+ }
+ yy308:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy334;
+ if (yych == 'k')
+ goto yy334;
+ goto yy203;
+ yy309:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy323;
+ if (yych == 'i')
+ goto yy323;
+ goto yy203;
+ yy310:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy335;
+ if (yych == 'e')
+ goto yy335;
+ goto yy203;
+ yy311:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy336;
+ if (yych == 'r')
+ goto yy336;
+ goto yy203;
+ yy312:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy337;
+ if (yych == 'i')
+ goto yy337;
+ goto yy203;
+ yy313:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy338;
+ if (yych == 'o')
+ goto yy338;
+ goto yy203;
+ yy314:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy339;
+ if (yych == 'd')
+ goto yy339;
+ goto yy203;
+ yy315:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy233;
+ if (yych == 'a')
+ goto yy233;
+ goto yy203;
+ yy316:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy306;
+ if (yych == 'r')
+ goto yy306;
+ goto yy203;
+ yy317:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy340;
+ if (yych == 'e')
+ goto yy340;
+ goto yy203;
+ yy318:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy203;
+ if (yych <= '\r')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= ' ')
+ goto yy252;
+ if (yych <= '.')
+ goto yy203;
+ goto yy253;
+ }
+ } else {
+ if (yych <= 'D') {
+ if (yych == '>')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= 'E')
+ goto yy335;
+ if (yych == 'e')
+ goto yy335;
+ goto yy203;
+ }
+ }
+ yy319:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy306;
+ if (yych == 'm')
+ goto yy306;
+ goto yy203;
+ yy320:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy330;
+ if (yych == 'n')
+ goto yy330;
+ goto yy203;
+ yy321:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy203;
+ if (yych <= '\r')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= ' ')
+ goto yy252;
+ if (yych <= '.')
+ goto yy203;
+ goto yy253;
+ }
+ } else {
+ if (yych <= 'H') {
+ if (yych == '>')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= 'I')
+ goto yy341;
+ if (yych == 'i')
+ goto yy341;
+ goto yy203;
+ }
+ }
+ yy322:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy342;
+ if (yych == 'a')
+ goto yy342;
+ goto yy203;
+ yy323:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy288;
+ if (yych == 'o')
+ goto yy288;
+ goto yy203;
+ yy324:
+ ++p;
+ { return 1; }
+ yy325:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy343;
+ if (yych == 'p')
+ goto yy343;
+ goto yy203;
+ yy326:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy344;
+ if (yych == 'c')
+ goto yy344;
+ goto yy203;
+ yy327:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy345;
+ if (yych == 'a')
+ goto yy345;
+ goto yy203;
+ yy328:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy346;
+ if (yych == 'a')
+ goto yy346;
+ goto yy203;
+ yy329:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy236;
+ if (yych == 't')
+ goto yy236;
+ goto yy203;
+ yy330:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy236;
+ if (yych == 'd')
+ goto yy236;
+ goto yy203;
+ yy331:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy347;
+ if (yych == 't')
+ goto yy347;
+ goto yy203;
+ yy332:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy348;
+ if (yych == 's')
+ goto yy348;
+ goto yy203;
+ yy333:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy349;
+ if (yych == 'o')
+ goto yy349;
+ goto yy203;
+ yy334:
+ yych = *++p;
+ if (yych == 'Q')
+ goto yy350;
+ if (yych == 'q')
+ goto yy350;
+ goto yy203;
+ yy335:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy236;
+ if (yych == 'r')
+ goto yy236;
+ goto yy203;
+ yy336:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy351;
+ if (yych == 'o')
+ goto yy351;
+ goto yy203;
+ yy337:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy348;
+ if (yych == 'l')
+ goto yy348;
+ goto yy203;
+ yy338:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy236;
+ if (yych == 'g')
+ goto yy236;
+ goto yy203;
+ yy339:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy352;
+ if (yych == 's')
+ goto yy352;
+ goto yy203;
+ yy340:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy203;
+ if (yych <= '\r')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= ' ')
+ goto yy252;
+ if (yych <= '.')
+ goto yy203;
+ goto yy253;
+ }
+ } else {
+ if (yych <= 'R') {
+ if (yych == '>')
+ goto yy252;
+ goto yy203;
+ } else {
+ if (yych <= 'S')
+ goto yy352;
+ if (yych == 's')
+ goto yy352;
+ goto yy203;
+ }
+ }
+ yy341:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy353;
+ if (yych == 't')
+ goto yy353;
+ goto yy203;
+ yy342:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy354;
+ if (yych == 'm')
+ goto yy354;
+ goto yy203;
+ yy343:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy293;
+ if (yych == 't')
+ goto yy293;
+ goto yy203;
+ yy344:
+ yych = *++p;
+ if (yych == 'H')
+ goto yy236;
+ if (yych == 'h')
+ goto yy236;
+ goto yy203;
+ yy345:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy274;
+ if (yych == 'r')
+ goto yy274;
+ goto yy203;
+ yy346:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy355;
+ if (yych == 'r')
+ goto yy355;
+ goto yy203;
+ yy347:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy356;
+ if (yych == 'a')
+ goto yy356;
+ goto yy203;
+ yy348:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy236;
+ if (yych == 's')
+ goto yy236;
+ goto yy203;
+ yy349:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy329;
+ if (yych == 'n')
+ goto yy329;
+ goto yy203;
+ yy350:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy357;
+ if (yych == 'u')
+ goto yy357;
+ goto yy203;
+ yy351:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy358;
+ if (yych == 'u')
+ goto yy358;
+ goto yy203;
+ yy352:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy329;
+ if (yych == 'e')
+ goto yy329;
+ goto yy203;
+ yy353:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy282;
+ if (yych == 'e')
+ goto yy282;
+ goto yy203;
+ yy354:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy348;
+ if (yych == 'e')
+ goto yy348;
+ goto yy203;
+ yy355:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy359;
+ if (yych == 'e')
+ goto yy359;
+ goto yy203;
+ yy356:
+ yych = *++p;
+ if (yych == '[')
+ goto yy360;
+ goto yy203;
+ yy357:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy361;
+ if (yych == 'o')
+ goto yy361;
+ goto yy203;
+ yy358:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy236;
+ if (yych == 'p')
+ goto yy236;
+ goto yy203;
+ yy359:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy293;
+ if (yych == 'a')
+ goto yy293;
+ goto yy203;
+ yy360:
+ ++p;
+ { return 5; }
+ yy361:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy306;
+ if (yych == 't')
+ goto yy306;
+ goto yy203;
+ }
+}
+
+// Try to match an HTML block tag start line of type 7, returning
+// 7 if successful, 0 if not.
+bufsize_t _scan_html_block_start_7(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 224, 224, 224, 224, 224, 224, 224, 224, 198, 210, 194, 198, 194,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 198, 224, 128, 224, 224, 224, 224, 64, 224, 224,
+ 224, 224, 224, 233, 232, 224, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 232, 224, 192, 192, 192, 224, 224, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 224, 224, 224, 224, 232, 192, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 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, 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, 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, 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, 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, 224, 224, 224,
+ };
+ yych = *p;
+ if (yych == '<')
+ goto yy364;
+ ++p;
+ yy363 : { return 0; }
+ yy364:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '@') {
+ if (yych != '/')
+ goto yy363;
+ } else {
+ if (yych <= 'Z')
+ goto yy366;
+ if (yych <= '`')
+ goto yy363;
+ if (yych <= 'z')
+ goto yy366;
+ goto yy363;
+ }
+ yych = *++p;
+ if (yych <= '@')
+ goto yy365;
+ if (yych <= 'Z')
+ goto yy367;
+ if (yych <= '`')
+ goto yy365;
+ if (yych <= 'z')
+ goto yy367;
+ yy365:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy363;
+ } else {
+ goto yy374;
+ }
+ yy366:
+ yych = *++p;
+ if (yybm[0 + yych] & 2) {
+ goto yy368;
+ }
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych == '-')
+ goto yy366;
+ goto yy365;
+ } else {
+ if (yych <= '/')
+ goto yy369;
+ if (yych <= '9')
+ goto yy366;
+ goto yy365;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy370;
+ if (yych <= '@')
+ goto yy365;
+ goto yy366;
+ } else {
+ if (yych <= '`')
+ goto yy365;
+ if (yych <= 'z')
+ goto yy366;
+ goto yy365;
+ }
+ }
+ yy367:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy365;
+ if (yych <= '\r')
+ goto yy371;
+ goto yy365;
+ } else {
+ if (yych <= ' ')
+ goto yy371;
+ if (yych == '-')
+ goto yy367;
+ goto yy365;
+ }
+ } else {
+ if (yych <= '@') {
+ if (yych <= '9')
+ goto yy367;
+ if (yych == '>')
+ goto yy370;
+ goto yy365;
+ } else {
+ if (yych <= 'Z')
+ goto yy367;
+ if (yych <= '`')
+ goto yy365;
+ if (yych <= 'z')
+ goto yy367;
+ goto yy365;
+ }
+ }
+ yy368:
+ yych = *++p;
+ if (yybm[0 + yych] & 2) {
+ goto yy368;
+ }
+ if (yych <= '>') {
+ if (yych <= '9') {
+ if (yych != '/')
+ goto yy365;
+ } else {
+ if (yych <= ':')
+ goto yy372;
+ if (yych <= '=')
+ goto yy365;
+ goto yy370;
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych <= '@')
+ goto yy365;
+ if (yych <= 'Z')
+ goto yy372;
+ goto yy365;
+ } else {
+ if (yych == '`')
+ goto yy365;
+ if (yych <= 'z')
+ goto yy372;
+ goto yy365;
+ }
+ }
+ yy369:
+ yych = *++p;
+ if (yych != '>')
+ goto yy365;
+ yy370:
+ yych = *++p;
+ if (yybm[0 + yych] & 4) {
+ goto yy370;
+ }
+ if (yych <= 0x08)
+ goto yy365;
+ if (yych <= '\n')
+ goto yy373;
+ if (yych <= '\v')
+ goto yy365;
+ if (yych <= '\r')
+ goto yy375;
+ goto yy365;
+ yy371:
+ yych = *++p;
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy365;
+ if (yych <= '\r')
+ goto yy371;
+ goto yy365;
+ } else {
+ if (yych <= ' ')
+ goto yy371;
+ if (yych == '>')
+ goto yy370;
+ goto yy365;
+ }
+ yy372:
+ yych = *++p;
+ if (yybm[0 + yych] & 8) {
+ goto yy372;
+ }
+ if (yych <= ',') {
+ if (yych <= '\r') {
+ if (yych <= 0x08)
+ goto yy365;
+ goto yy376;
+ } else {
+ if (yych == ' ')
+ goto yy376;
+ goto yy365;
+ }
+ } else {
+ if (yych <= '<') {
+ if (yych <= '/')
+ goto yy369;
+ goto yy365;
+ } else {
+ if (yych <= '=')
+ goto yy377;
+ if (yych <= '>')
+ goto yy370;
+ goto yy365;
+ }
+ }
+ yy373:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 4) {
+ goto yy370;
+ }
+ if (yych <= 0x08)
+ goto yy374;
+ if (yych <= '\n')
+ goto yy373;
+ if (yych <= '\v')
+ goto yy374;
+ if (yych <= '\r')
+ goto yy375;
+ yy374 : { return 7; }
+ yy375:
+ ++p;
+ goto yy374;
+ yy376:
+ yych = *++p;
+ if (yych <= '<') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy365;
+ if (yych <= '\r')
+ goto yy376;
+ if (yych <= 0x1F)
+ goto yy365;
+ goto yy376;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy365;
+ goto yy369;
+ } else {
+ if (yych == ':')
+ goto yy372;
+ goto yy365;
+ }
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '=')
+ goto yy377;
+ if (yych <= '>')
+ goto yy370;
+ if (yych <= '@')
+ goto yy365;
+ goto yy372;
+ } else {
+ if (yych <= '_') {
+ if (yych <= '^')
+ goto yy365;
+ goto yy372;
+ } else {
+ if (yych <= '`')
+ goto yy365;
+ if (yych <= 'z')
+ goto yy372;
+ goto yy365;
+ }
+ }
+ }
+ yy377:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy378;
+ }
+ if (yych <= 0x00)
+ goto yy365;
+ if (yych <= ' ')
+ goto yy377;
+ if (yych <= '"')
+ goto yy379;
+ if (yych <= '\'')
+ goto yy380;
+ goto yy365;
+ yy378:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy378;
+ }
+ if (yych <= 0x00)
+ goto yy365;
+ if (yych <= ' ')
+ goto yy368;
+ if (yych == '>')
+ goto yy370;
+ goto yy365;
+ yy379:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy379;
+ }
+ if (yych <= 0x00)
+ goto yy365;
+ goto yy381;
+ yy380:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy380;
+ }
+ if (yych <= 0x00)
+ goto yy365;
+ yy381:
+ yych = *++p;
+ if (yybm[0 + yych] & 2) {
+ goto yy368;
+ }
+ if (yych == '/')
+ goto yy369;
+ if (yych == '>')
+ goto yy370;
+ goto yy365;
+ }
+}
+
+// Try to match an HTML block end line of type 1
+bufsize_t _scan_html_block_end_1(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, 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64,
+ };
+ yych = *p;
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy383;
+ if (yych <= '\t')
+ goto yy385;
+ } else {
+ if (yych == '<')
+ goto yy386;
+ goto yy385;
+ }
+ yy383:
+ ++p;
+ yy384 : { return 0; }
+ yy385:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy384;
+ if (yych == '\n')
+ goto yy384;
+ goto yy388;
+ yy386:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy384;
+ if (yych <= '\t')
+ goto yy388;
+ goto yy384;
+ } else {
+ if (yych == '/')
+ goto yy391;
+ goto yy388;
+ }
+ yy387:
+ yych = *++p;
+ yy388:
+ if (yybm[0 + yych] & 64) {
+ goto yy387;
+ }
+ if (yych >= '\v')
+ goto yy390;
+ yy389:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy384;
+ } else {
+ goto yy404;
+ }
+ yy390:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych <= '\t')
+ goto yy387;
+ goto yy389;
+ } else {
+ if (yych != '/')
+ goto yy387;
+ }
+ yy391:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= 'S') {
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych <= '\t')
+ goto yy387;
+ goto yy389;
+ } else {
+ if (yych == 'P')
+ goto yy392;
+ if (yych <= 'R')
+ goto yy387;
+ goto yy393;
+ }
+ } else {
+ if (yych <= 'p') {
+ if (yych <= 'T')
+ goto yy394;
+ if (yych <= 'o')
+ goto yy387;
+ } else {
+ if (yych <= 'r')
+ goto yy387;
+ if (yych <= 's')
+ goto yy393;
+ if (yych <= 't')
+ goto yy394;
+ goto yy387;
+ }
+ }
+ yy392:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= 'Q') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych == '\n')
+ goto yy389;
+ goto yy387;
+ } else {
+ if (yych <= 'R')
+ goto yy395;
+ if (yych == 'r')
+ goto yy395;
+ goto yy387;
+ }
+ yy393:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= 'S') {
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych <= '\t')
+ goto yy387;
+ goto yy389;
+ } else {
+ if (yych == 'C')
+ goto yy396;
+ goto yy387;
+ }
+ } else {
+ if (yych <= 'c') {
+ if (yych <= 'T')
+ goto yy397;
+ if (yych <= 'b')
+ goto yy387;
+ goto yy396;
+ } else {
+ if (yych == 't')
+ goto yy397;
+ goto yy387;
+ }
+ }
+ yy394:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= 'D') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych == '\n')
+ goto yy389;
+ goto yy387;
+ } else {
+ if (yych <= 'E')
+ goto yy398;
+ if (yych == 'e')
+ goto yy398;
+ goto yy387;
+ }
+ yy395:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= 'D') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych == '\n')
+ goto yy389;
+ goto yy387;
+ } else {
+ if (yych <= 'E')
+ goto yy399;
+ if (yych == 'e')
+ goto yy399;
+ goto yy387;
+ }
+ yy396:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= 'Q') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych == '\n')
+ goto yy389;
+ goto yy387;
+ } else {
+ if (yych <= 'R')
+ goto yy400;
+ if (yych == 'r')
+ goto yy400;
+ goto yy387;
+ }
+ yy397:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= 'X') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych == '\n')
+ goto yy389;
+ goto yy387;
+ } else {
+ if (yych <= 'Y')
+ goto yy401;
+ if (yych == 'y')
+ goto yy401;
+ goto yy387;
+ }
+ yy398:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= 'W') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych == '\n')
+ goto yy389;
+ goto yy387;
+ } else {
+ if (yych <= 'X')
+ goto yy402;
+ if (yych == 'x')
+ goto yy402;
+ goto yy387;
+ }
+ yy399:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych <= '\t')
+ goto yy387;
+ goto yy389;
+ } else {
+ if (yych == '>')
+ goto yy403;
+ goto yy387;
+ }
+ yy400:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= 'H') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych == '\n')
+ goto yy389;
+ goto yy387;
+ } else {
+ if (yych <= 'I')
+ goto yy405;
+ if (yych == 'i')
+ goto yy405;
+ goto yy387;
+ }
+ yy401:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= 'K') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych == '\n')
+ goto yy389;
+ goto yy387;
+ } else {
+ if (yych <= 'L')
+ goto yy395;
+ if (yych == 'l')
+ goto yy395;
+ goto yy387;
+ }
+ yy402:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= 'S') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych == '\n')
+ goto yy389;
+ goto yy387;
+ } else {
+ if (yych <= 'T')
+ goto yy406;
+ if (yych == 't')
+ goto yy406;
+ goto yy387;
+ }
+ yy403:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy387;
+ }
+ if (yych >= '\v')
+ goto yy390;
+ yy404 : { return (bufsize_t)(p - start); }
+ yy405:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= 'O') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych == '\n')
+ goto yy389;
+ goto yy387;
+ } else {
+ if (yych <= 'P')
+ goto yy407;
+ if (yych == 'p')
+ goto yy407;
+ goto yy387;
+ }
+ yy406:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= '@') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych == '\n')
+ goto yy389;
+ goto yy387;
+ } else {
+ if (yych <= 'A')
+ goto yy408;
+ if (yych == 'a')
+ goto yy408;
+ goto yy387;
+ }
+ yy407:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= 'S') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych == '\n')
+ goto yy389;
+ goto yy387;
+ } else {
+ if (yych <= 'T')
+ goto yy399;
+ if (yych == 't')
+ goto yy399;
+ goto yy387;
+ }
+ yy408:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= 'Q') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych == '\n')
+ goto yy389;
+ goto yy387;
+ } else {
+ if (yych <= 'R')
+ goto yy409;
+ if (yych != 'r')
+ goto yy387;
+ }
+ yy409:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= 'D') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych == '\n')
+ goto yy389;
+ goto yy387;
+ } else {
+ if (yych <= 'E')
+ goto yy410;
+ if (yych != 'e')
+ goto yy387;
+ }
+ yy410:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy390;
+ }
+ if (yych <= '@') {
+ if (yych <= 0x00)
+ goto yy389;
+ if (yych == '\n')
+ goto yy389;
+ goto yy387;
+ } else {
+ if (yych <= 'A')
+ goto yy399;
+ if (yych == 'a')
+ goto yy399;
+ goto yy387;
+ }
+ }
+}
+
+// Try to match an HTML block end line of type 2
+bufsize_t _scan_html_block_end_2(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, 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64,
+ };
+ yych = *p;
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy412;
+ if (yych <= '\t')
+ goto yy414;
+ } else {
+ if (yych == '-')
+ goto yy415;
+ goto yy414;
+ }
+ yy412:
+ ++p;
+ yy413 : { return 0; }
+ yy414:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy413;
+ if (yych == '\n')
+ goto yy413;
+ goto yy417;
+ yy415:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy416;
+ }
+ if (yych <= '\n')
+ goto yy413;
+ goto yy420;
+ yy416:
+ yych = *++p;
+ yy417:
+ if (yybm[0 + yych] & 64) {
+ goto yy416;
+ }
+ if (yych >= '\v')
+ goto yy419;
+ yy418:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy413;
+ } else {
+ goto yy421;
+ }
+ yy419:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy416;
+ }
+ if (yych <= '\n')
+ goto yy418;
+ yy420:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy420;
+ }
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy418;
+ if (yych <= '\t')
+ goto yy416;
+ goto yy418;
+ } else {
+ if (yych != '>')
+ goto yy416;
+ }
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy416;
+ }
+ if (yych >= '\v')
+ goto yy419;
+ yy421 : { return (bufsize_t)(p - start); }
+ }
+}
+
+// Try to match an HTML block end line of type 3
+bufsize_t _scan_html_block_end_3(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, 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64,
+ };
+ yych = *p;
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy423;
+ if (yych <= '\t')
+ goto yy425;
+ } else {
+ if (yych == '?')
+ goto yy426;
+ goto yy425;
+ }
+ yy423:
+ ++p;
+ yy424 : { return 0; }
+ yy425:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy424;
+ if (yych == '\n')
+ goto yy424;
+ goto yy428;
+ yy426:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy424;
+ if (yych <= '\t')
+ goto yy428;
+ goto yy424;
+ } else {
+ if (yych == '>')
+ goto yy431;
+ goto yy428;
+ }
+ yy427:
+ yych = *++p;
+ yy428:
+ if (yybm[0 + yych] & 64) {
+ goto yy427;
+ }
+ if (yych >= '\v')
+ goto yy430;
+ yy429:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy424;
+ } else {
+ goto yy432;
+ }
+ yy430:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy430;
+ }
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy429;
+ if (yych <= '\t')
+ goto yy427;
+ goto yy429;
+ } else {
+ if (yych != '>')
+ goto yy427;
+ }
+ yy431:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy427;
+ }
+ if (yych >= '\v')
+ goto yy430;
+ yy432 : { return (bufsize_t)(p - start); }
+ }
+}
+
+// Try to match an HTML block end line of type 4
+bufsize_t _scan_html_block_end_4(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, 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, 64, 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, 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;
+ if (yybm[0 + yych] & 64) {
+ goto yy437;
+ }
+ if (yych <= 0x00)
+ goto yy434;
+ if (yych != '\n')
+ goto yy436;
+ yy434:
+ ++p;
+ yy435 : { return 0; }
+ yy436:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy435;
+ if (yych == '\n')
+ goto yy435;
+ goto yy440;
+ yy437:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy439;
+ }
+ if (yych >= '\v')
+ goto yy437;
+ yy438 : { return (bufsize_t)(p - start); }
+ yy439:
+ yych = *++p;
+ yy440:
+ if (yybm[0 + yych] & 128) {
+ goto yy439;
+ }
+ if (yych >= '\v')
+ goto yy437;
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy435;
+ } else {
+ goto yy438;
+ }
+ }
+}
+
+// Try to match an HTML block end line of type 5
+bufsize_t _scan_html_block_end_5(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, 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64,
+ };
+ yych = *p;
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy442;
+ if (yych <= '\t')
+ goto yy444;
+ } else {
+ if (yych == ']')
+ goto yy445;
+ goto yy444;
+ }
+ yy442:
+ ++p;
+ yy443 : { return 0; }
+ yy444:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy443;
+ if (yych == '\n')
+ goto yy443;
+ goto yy447;
+ yy445:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy446;
+ }
+ if (yych <= '\n')
+ goto yy443;
+ goto yy450;
+ yy446:
+ yych = *++p;
+ yy447:
+ if (yybm[0 + yych] & 64) {
+ goto yy446;
+ }
+ if (yych >= '\v')
+ goto yy449;
+ yy448:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy443;
+ } else {
+ goto yy451;
+ }
+ yy449:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy446;
+ }
+ if (yych <= '\n')
+ goto yy448;
+ yy450:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy450;
+ }
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy448;
+ if (yych <= '\t')
+ goto yy446;
+ goto yy448;
+ } else {
+ if (yych != '>')
+ goto yy446;
+ }
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy446;
+ }
+ if (yych >= '\v')
+ goto yy449;
+ yy451 : { return (bufsize_t)(p - start); }
+ }
+}
+
+// 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).
+bufsize_t _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, 192, 208, 208, 208, 208, 144, 80, 80,
+ 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 == '"')
+ goto yy454;
+ } else {
+ if (yych <= '\'')
+ goto yy455;
+ if (yych <= '(')
+ goto yy456;
+ }
+ ++p;
+ yy453 : { return 0; }
+ yy454:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy453;
+ goto yy458;
+ yy455:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy453;
+ goto yy464;
+ yy456:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy453;
+ if (yych == '(')
+ goto yy453;
+ goto yy469;
+ yy457:
+ yych = *++p;
+ yy458:
+ if (yybm[0 + yych] & 16) {
+ goto yy457;
+ }
+ if (yych <= 0x00)
+ goto yy459;
+ if (yych <= '"')
+ goto yy460;
+ goto yy462;
+ yy459:
+ p = marker;
+ if (yyaccept <= 1) {
+ if (yyaccept == 0) {
+ goto yy453;
+ } else {
+ goto yy461;
+ }
+ } else {
+ if (yyaccept == 2) {
+ goto yy466;
+ } else {
+ goto yy471;
+ }
+ }
+ yy460:
+ ++p;
+ yy461 : { return (bufsize_t)(p - start); }
+ yy462:
+ yych = *++p;
+ if (yybm[0 + yych] & 16) {
+ goto yy457;
+ }
+ if (yych <= 0x00)
+ goto yy459;
+ if (yych <= '"')
+ goto yy473;
+ goto yy462;
+ yy463:
+ yych = *++p;
+ yy464:
+ if (yybm[0 + yych] & 64) {
+ goto yy463;
+ }
+ if (yych <= 0x00)
+ goto yy459;
+ if (yych >= '(')
+ goto yy467;
+ yy465:
+ ++p;
+ yy466 : { return (bufsize_t)(p - start); }
+ yy467:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy463;
+ }
+ if (yych <= 0x00)
+ goto yy459;
+ if (yych <= '\'')
+ goto yy474;
+ goto yy467;
+ yy468:
+ yych = *++p;
+ yy469:
+ if (yybm[0 + yych] & 128) {
+ goto yy468;
+ }
+ if (yych <= '(')
+ goto yy459;
+ if (yych >= '*')
+ goto yy472;
+ yy470:
+ ++p;
+ yy471 : { return (bufsize_t)(p - start); }
+ yy472:
+ yych = *++p;
+ if (yych <= ')') {
+ if (yych <= 0x00)
+ goto yy459;
+ if (yych <= '(')
+ goto yy468;
+ goto yy475;
+ } else {
+ if (yych == '\\')
+ goto yy472;
+ goto yy468;
+ }
+ yy473:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 16) {
+ goto yy457;
+ }
+ if (yych <= 0x00)
+ goto yy461;
+ if (yych <= '"')
+ goto yy460;
+ goto yy462;
+ yy474:
+ yyaccept = 2;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy463;
+ }
+ if (yych <= 0x00)
+ goto yy466;
+ if (yych <= '\'')
+ goto yy465;
+ goto yy467;
+ yy475:
+ yyaccept = 3;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy468;
+ }
+ if (yych <= '(')
+ goto yy471;
+ if (yych <= ')')
+ goto yy470;
+ goto yy472;
+ }
+}
+
+// Match space characters, including newlines.
+bufsize_t _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, 128, 128, 128, 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 (yybm[0 + yych] & 128) {
+ goto yy477;
+ }
+ ++p;
+ { return 0; }
+ yy477:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy477;
+ }
+ { return (bufsize_t)(p - start); }
+ }
+}
+
+// Match ATX heading start.
+bufsize_t _scan_atx_heading_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, 128, 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 == '#')
+ goto yy480;
+ ++p;
+ yy479 : { return 0; }
+ yy480:
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy481;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy479;
+ if (yych <= '\n')
+ goto yy483;
+ goto yy479;
+ } else {
+ if (yych <= '\r')
+ goto yy483;
+ if (yych == '#')
+ goto yy484;
+ goto yy479;
+ }
+ yy481:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy481;
+ }
+ yy482 : { return (bufsize_t)(p - start); }
+ yy483:
+ ++p;
+ goto yy482;
+ yy484:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy481;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy485;
+ if (yych <= '\n')
+ goto yy483;
+ } else {
+ if (yych <= '\r')
+ goto yy483;
+ if (yych == '#')
+ goto yy486;
+ }
+ yy485:
+ p = marker;
+ goto yy479;
+ yy486:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy481;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy485;
+ if (yych <= '\n')
+ goto yy483;
+ goto yy485;
+ } else {
+ if (yych <= '\r')
+ goto yy483;
+ if (yych != '#')
+ goto yy485;
+ }
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy481;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy485;
+ if (yych <= '\n')
+ goto yy483;
+ goto yy485;
+ } else {
+ if (yych <= '\r')
+ goto yy483;
+ if (yych != '#')
+ goto yy485;
+ }
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy481;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy485;
+ if (yych <= '\n')
+ goto yy483;
+ goto yy485;
+ } else {
+ if (yych <= '\r')
+ goto yy483;
+ if (yych != '#')
+ goto yy485;
+ }
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy481;
+ }
+ if (yych <= 0x08)
+ goto yy485;
+ if (yych <= '\n')
+ goto yy483;
+ if (yych == '\r')
+ goto yy483;
+ goto yy485;
+ }
+}
+
+// Match setext heading line. Return 1 for level-1 heading,
+// 2 for level-2, 0 for no match.
+bufsize_t _scan_setext_heading_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, 32, 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 == '-')
+ goto yy489;
+ if (yych == '=')
+ goto yy490;
+ ++p;
+ yy488 : { return 0; }
+ yy489:
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy495;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy488;
+ if (yych <= '\n')
+ goto yy492;
+ goto yy488;
+ } else {
+ if (yych <= '\r')
+ goto yy492;
+ if (yych == ' ')
+ goto yy492;
+ goto yy488;
+ }
+ yy490:
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy499;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy488;
+ if (yych <= '\n')
+ goto yy497;
+ goto yy488;
+ } else {
+ if (yych <= '\r')
+ goto yy497;
+ if (yych == ' ')
+ goto yy497;
+ goto yy488;
+ }
+ yy491:
+ yych = *++p;
+ yy492:
+ if (yybm[0 + yych] & 32) {
+ goto yy491;
+ }
+ if (yych <= 0x08)
+ goto yy493;
+ if (yych <= '\n')
+ goto yy494;
+ if (yych == '\r')
+ goto yy494;
+ yy493:
+ p = marker;
+ goto yy488;
+ yy494:
+ ++p;
+ { return 2; }
+ yy495:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy491;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy493;
+ if (yych <= '\n')
+ goto yy494;
+ goto yy493;
+ } else {
+ if (yych <= '\r')
+ goto yy494;
+ if (yych == '-')
+ goto yy495;
+ goto yy493;
+ }
+ yy496:
+ yych = *++p;
+ yy497:
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy493;
+ if (yych <= '\t')
+ goto yy496;
+ if (yych >= '\v')
+ goto yy493;
+ } else {
+ if (yych <= '\r')
+ goto yy498;
+ if (yych == ' ')
+ goto yy496;
+ goto yy493;
+ }
+ yy498:
+ ++p;
+ { return 1; }
+ yy499:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy499;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy493;
+ if (yych <= '\t')
+ goto yy496;
+ if (yych <= '\n')
+ goto yy498;
+ goto yy493;
+ } else {
+ if (yych <= '\r')
+ goto yy498;
+ if (yych == ' ')
+ goto yy496;
+ goto yy493;
+ }
+ }
+}
+
+// Scan an opening code fence.
+bufsize_t _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, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 192, 192, 0,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 144, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 224, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192,
+ };
+ yych = *p;
+ if (yych == '`')
+ goto yy502;
+ if (yych == '~')
+ goto yy503;
+ ++p;
+ yy501 : { return 0; }
+ yy502:
+ yych = *(marker = ++p);
+ if (yych == '`')
+ goto yy504;
+ goto yy501;
+ yy503:
+ yych = *(marker = ++p);
+ if (yych == '~')
+ goto yy506;
+ goto yy501;
+ yy504:
+ yych = *++p;
+ if (yybm[0 + yych] & 16) {
+ goto yy507;
+ }
+ yy505:
+ p = marker;
+ goto yy501;
+ yy506:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy508;
+ }
+ goto yy505;
+ yy507:
+ yych = *++p;
+ if (yybm[0 + yych] & 16) {
+ goto yy507;
+ }
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy505;
+ if (yych <= '\t') {
+ marker = p;
+ goto yy509;
+ }
+ marker = p;
+ goto yy510;
+ } else {
+ if (yych == '\r') {
+ marker = p;
+ goto yy510;
+ }
+ marker = p;
+ goto yy509;
+ }
+ yy508:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy508;
+ }
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy505;
+ if (yych <= '\t') {
+ marker = p;
+ goto yy511;
+ }
+ marker = p;
+ goto yy512;
+ } else {
+ if (yych == '\r') {
+ marker = p;
+ goto yy512;
+ }
+ marker = p;
+ goto yy511;
+ }
+ yy509:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy509;
+ }
+ if (yych <= 0x00)
+ goto yy505;
+ if (yych >= 0x0E)
+ goto yy505;
+ yy510:
+ ++p;
+ p = marker;
+ { return (bufsize_t)(p - start); }
+ yy511:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy511;
+ }
+ if (yych <= 0x00)
+ goto yy505;
+ yy512:
+ ++p;
+ p = marker;
+ { return (bufsize_t)(p - start); }
+ }
+}
+
+// Scan a closing code fence with length at least len.
+bufsize_t _scan_close_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, 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, 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, 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, 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,
+ };
+ yych = *p;
+ if (yych == '`')
+ goto yy515;
+ if (yych == '~')
+ goto yy516;
+ ++p;
+ yy514 : { return 0; }
+ yy515:
+ yych = *(marker = ++p);
+ if (yych == '`')
+ goto yy517;
+ goto yy514;
+ yy516:
+ yych = *(marker = ++p);
+ if (yych == '~')
+ goto yy519;
+ goto yy514;
+ yy517:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy520;
+ }
+ yy518:
+ p = marker;
+ goto yy514;
+ yy519:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy521;
+ }
+ goto yy518;
+ yy520:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy520;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy518;
+ if (yych <= '\t') {
+ marker = p;
+ goto yy522;
+ }
+ if (yych <= '\n') {
+ marker = p;
+ goto yy523;
+ }
+ goto yy518;
+ } else {
+ if (yych <= '\r') {
+ marker = p;
+ goto yy523;
+ }
+ if (yych == ' ') {
+ marker = p;
+ goto yy522;
+ }
+ goto yy518;
+ }
+ yy521:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy521;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy518;
+ if (yych <= '\t') {
+ marker = p;
+ goto yy524;
+ }
+ if (yych <= '\n') {
+ marker = p;
+ goto yy525;
+ }
+ goto yy518;
+ } else {
+ if (yych <= '\r') {
+ marker = p;
+ goto yy525;
+ }
+ if (yych == ' ') {
+ marker = p;
+ goto yy524;
+ }
+ goto yy518;
+ }
+ yy522:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy522;
+ }
+ if (yych <= 0x08)
+ goto yy518;
+ if (yych <= '\n')
+ goto yy523;
+ if (yych != '\r')
+ goto yy518;
+ yy523:
+ ++p;
+ p = marker;
+ { return (bufsize_t)(p - start); }
+ yy524:
+ yych = *++p;
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy518;
+ if (yych <= '\t')
+ goto yy524;
+ if (yych >= '\v')
+ goto yy518;
+ } else {
+ if (yych <= '\r')
+ goto yy525;
+ if (yych == ' ')
+ goto yy524;
+ goto yy518;
+ }
+ yy525:
+ ++p;
+ p = marker;
+ { return (bufsize_t)(p - start); }
+ }
+}
+
+// Returns positive value if a URL begins in a way that is potentially
+// dangerous, with javascript:, vbscript:, file:, or data:, otherwise 0.
+bufsize_t _scan_dangerous_url(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ yych = *p;
+ if (yych <= 'V') {
+ if (yych <= 'F') {
+ if (yych == 'D')
+ goto yy528;
+ if (yych >= 'F')
+ goto yy529;
+ } else {
+ if (yych == 'J')
+ goto yy530;
+ if (yych >= 'V')
+ goto yy531;
+ }
+ } else {
+ if (yych <= 'f') {
+ if (yych == 'd')
+ goto yy528;
+ if (yych >= 'f')
+ goto yy529;
+ } else {
+ if (yych <= 'j') {
+ if (yych >= 'j')
+ goto yy530;
+ } else {
+ if (yych == 'v')
+ goto yy531;
+ }
+ }
+ }
+ ++p;
+ yy527 : { return 0; }
+ yy528:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'A')
+ goto yy532;
+ if (yych == 'a')
+ goto yy532;
+ goto yy527;
+ yy529:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'I')
+ goto yy534;
+ if (yych == 'i')
+ goto yy534;
+ goto yy527;
+ yy530:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'A')
+ goto yy535;
+ if (yych == 'a')
+ goto yy535;
+ goto yy527;
+ yy531:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'B')
+ goto yy536;
+ if (yych == 'b')
+ goto yy536;
+ goto yy527;
+ yy532:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy537;
+ if (yych == 't')
+ goto yy537;
+ yy533:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy527;
+ } else {
+ goto yy545;
+ }
+ yy534:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy538;
+ if (yych == 'l')
+ goto yy538;
+ goto yy533;
+ yy535:
+ yych = *++p;
+ if (yych == 'V')
+ goto yy539;
+ if (yych == 'v')
+ goto yy539;
+ goto yy533;
+ yy536:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy540;
+ if (yych == 's')
+ goto yy540;
+ goto yy533;
+ yy537:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy541;
+ if (yych == 'a')
+ goto yy541;
+ goto yy533;
+ yy538:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy542;
+ if (yych == 'e')
+ goto yy542;
+ goto yy533;
+ yy539:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy536;
+ if (yych == 'a')
+ goto yy536;
+ goto yy533;
+ yy540:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy543;
+ if (yych == 'c')
+ goto yy543;
+ goto yy533;
+ yy541:
+ yych = *++p;
+ if (yych == ':')
+ goto yy544;
+ goto yy533;
+ yy542:
+ yych = *++p;
+ if (yych == ':')
+ goto yy546;
+ goto yy533;
+ yy543:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy547;
+ if (yych == 'r')
+ goto yy547;
+ goto yy533;
+ yy544:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yych == 'I')
+ goto yy548;
+ if (yych == 'i')
+ goto yy548;
+ yy545 : { return (bufsize_t)(p - start); }
+ yy546:
+ ++p;
+ goto yy545;
+ yy547:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy549;
+ if (yych == 'i')
+ goto yy549;
+ goto yy533;
+ yy548:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy550;
+ if (yych == 'm')
+ goto yy550;
+ goto yy533;
+ yy549:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy551;
+ if (yych == 'p')
+ goto yy551;
+ goto yy533;
+ yy550:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy552;
+ if (yych == 'a')
+ goto yy552;
+ goto yy533;
+ yy551:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy542;
+ if (yych == 't')
+ goto yy542;
+ goto yy533;
+ yy552:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy553;
+ if (yych != 'g')
+ goto yy533;
+ yy553:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy554;
+ if (yych != 'e')
+ goto yy533;
+ yy554:
+ yych = *++p;
+ if (yych != '/')
+ goto yy533;
+ yych = *++p;
+ if (yych <= 'W') {
+ if (yych <= 'J') {
+ if (yych == 'G')
+ goto yy555;
+ if (yych <= 'I')
+ goto yy533;
+ goto yy556;
+ } else {
+ if (yych == 'P')
+ goto yy557;
+ if (yych <= 'V')
+ goto yy533;
+ goto yy558;
+ }
+ } else {
+ if (yych <= 'j') {
+ if (yych == 'g')
+ goto yy555;
+ if (yych <= 'i')
+ goto yy533;
+ goto yy556;
+ } else {
+ if (yych <= 'p') {
+ if (yych <= 'o')
+ goto yy533;
+ goto yy557;
+ } else {
+ if (yych == 'w')
+ goto yy558;
+ goto yy533;
+ }
+ }
+ }
+ yy555:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy559;
+ if (yych == 'i')
+ goto yy559;
+ goto yy533;
+ yy556:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy560;
+ if (yych == 'p')
+ goto yy560;
+ goto yy533;
+ yy557:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy561;
+ if (yych == 'n')
+ goto yy561;
+ goto yy533;
+ yy558:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy562;
+ if (yych == 'e')
+ goto yy562;
+ goto yy533;
+ yy559:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy563;
+ if (yych == 'f')
+ goto yy563;
+ goto yy533;
+ yy560:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy561;
+ if (yych != 'e')
+ goto yy533;
+ yy561:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy563;
+ if (yych == 'g')
+ goto yy563;
+ goto yy533;
+ yy562:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy564;
+ if (yych == 'b')
+ goto yy564;
+ goto yy533;
+ yy563:
+ ++p;
+ { return 0; }
+ yy564:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy563;
+ if (yych == 'p')
+ goto yy563;
+ goto yy533;
+ }
+}