/* Generated by re2c 0.16 */ #include #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 yy2; if (yych <= 'Z') goto yy4; if (yych <= '`') goto yy2; if (yych <= 'z') goto yy4; yy2: ++p; yy3 : { return 0; } yy4: yych = *(marker = ++p); if (yych <= '/') { if (yych <= '+') { if (yych <= '*') goto yy3; } else { if (yych <= ',') goto yy3; if (yych >= '/') goto yy3; } } else { if (yych <= 'Z') { if (yych <= '9') goto yy5; if (yych <= '@') goto yy3; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy5: yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych == '+') goto yy7; } else { if (yych != '/') goto yy7; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych >= 'A') goto yy7; } else { if (yych <= '`') goto yy6; if (yych <= 'z') goto yy7; } } yy6: p = marker; goto yy3; yy7: yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych == '+') goto yy10; goto yy6; } else { if (yych == '/') goto yy6; goto yy10; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; goto yy10; } else { if (yych <= '`') goto yy6; if (yych <= 'z') goto yy10; goto yy6; } } yy8: ++p; { return (bufsize_t)(p - start); } yy10: yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy6; } else { if (yych == '/') goto yy6; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy8; if (yych <= '@') goto yy6; } else { if (yych <= '`') goto yy6; if (yych >= '{') goto yy6; } } ++p; if ((yych = *p) == ':') goto yy8; goto yy6; } } // 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 yy41; if (yych <= 'Z') goto yy43; if (yych <= '`') goto yy41; if (yych <= 'z') goto yy43; yy41: ++p; yy42 : { return 0; } yy43: yych = *(marker = ++p); if (yych <= '/') { if (yych <= '+') { if (yych <= '*') goto yy42; } else { if (yych <= ',') goto yy42; if (yych >= '/') goto yy42; } } else { if (yych <= 'Z') { if (yych <= '9') goto yy44; if (yych <= '@') goto yy42; } else { if (yych <= '`') goto yy42; if (yych >= '{') goto yy42; } } yy44: yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych == '+') goto yy46; } else { if (yych != '/') goto yy46; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych >= 'A') goto yy46; } else { if (yych <= '`') goto yy45; if (yych <= 'z') goto yy46; } } yy45: p = marker; goto yy42; yy46: yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych == '+') goto yy49; goto yy45; } else { if (yych == '/') goto yy45; goto yy49; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; goto yy49; } else { if (yych <= '`') goto yy45; if (yych <= 'z') goto yy49; goto yy45; } } yy47: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy47; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '<') goto yy45; if (yych <= '>') goto yy50; goto yy45; } else { if (yych <= 0xDF) goto yy52; if (yych <= 0xE0) goto yy53; goto yy54; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy55; if (yych <= 0xEF) goto yy54; goto yy56; } else { if (yych <= 0xF3) goto yy57; if (yych <= 0xF4) goto yy58; goto yy45; } } yy49: yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych == '+') goto yy59; goto yy45; } else { if (yych == '/') goto yy45; goto yy59; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; goto yy59; } else { if (yych <= '`') goto yy45; if (yych <= 'z') goto yy59; goto yy45; } } yy50: ++p; { return (bufsize_t)(p - start); } yy52: ++p; yych = *p; if (yych <= 0x7F) goto yy45; if (yych <= 0xBF) goto yy47; goto yy45; yy53: ++p; yych = *p; if (yych <= 0x9F) goto yy45; if (yych <= 0xBF) goto yy52; goto yy45; yy54: ++p; yych = *p; if (yych <= 0x7F) goto yy45; if (yych <= 0xBF) goto yy52; goto yy45; yy55: ++p; yych = *p; if (yych <= 0x7F) goto yy45; if (yych <= 0x9F) goto yy52; goto yy45; yy56: ++p; yych = *p; if (yych <= 0x8F) goto yy45; if (yych <= 0xBF) goto yy54; goto yy45; yy57: ++p; yych = *p; if (yych <= 0x7F) goto yy45; if (yych <= 0xBF) goto yy54; goto yy45; yy58: ++p; yych = *p; if (yych <= 0x7F) goto yy45; if (yych <= 0x8F) goto yy54; goto yy45; yy59: yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } yych = *++p; if (yych <= '9') { if (yych <= ',') { if (yych != '+') goto yy45; } else { if (yych == '/') goto yy45; } } else { if (yych <= 'Z') { if (yych <= ':') goto yy47; if (yych <= '@') goto yy45; } else { if (yych <= '`') goto yy45; if (yych >= '{') goto yy45; } } ++p; if ((yych = *p) == ':') goto yy47; goto yy45; } } // 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 yy91; if (yych >= '#') goto yy91; } else { if (yych <= ')') goto yy89; if (yych != ',') goto yy91; } } else { if (yych <= '?') { if (yych == '=') goto yy91; if (yych >= '?') goto yy91; } else { if (yych <= 'Z') { if (yych >= 'A') goto yy91; } else { if (yych <= ']') goto yy89; if (yych <= '~') goto yy91; } } } yy89: ++p; yy90 : { return 0; } yy91: yych = *(marker = ++p); if (yych <= ',') { if (yych <= '"') { if (yych == '!') goto yy93; goto yy90; } else { if (yych <= '\'') goto yy93; if (yych <= ')') goto yy90; if (yych <= '+') goto yy93; goto yy90; } } else { if (yych <= '>') { if (yych <= '9') goto yy93; if (yych == '=') goto yy93; goto yy90; } else { if (yych <= 'Z') goto yy93; if (yych <= ']') goto yy90; if (yych <= '~') goto yy93; goto yy90; } } yy92: ++p; yych = *p; yy93: if (yybm[0 + yych] & 128) { goto yy92; } if (yych <= '>') goto yy94; if (yych <= '@') goto yy95; yy94: p = marker; goto yy90; yy95: ++p; yych = *p; if (yych <= '@') { if (yych <= '/') goto yy94; if (yych >= ':') goto yy94; } else { if (yych <= 'Z') goto yy96; if (yych <= '`') goto yy94; if (yych >= '{') goto yy94; } yy96: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy98; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy98; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy98; goto yy94; } } ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy101; if (yych <= '/') goto yy94; goto yy102; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy102; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy102; goto yy94; } } yy98: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych <= '-') goto yy101; goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy102; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy102; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy102; goto yy94; } } yy99: ++p; { return (bufsize_t)(p - start); } yy101: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy103; if (yych <= '/') goto yy94; goto yy104; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy104; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy104; goto yy94; } } yy102: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy104; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy104; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy104; goto yy94; } } yy103: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy105; if (yych <= '/') goto yy94; goto yy106; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy106; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy106; goto yy94; } } yy104: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy106; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy106; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy106; goto yy94; } } yy105: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy107; if (yych <= '/') goto yy94; goto yy108; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy108; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy108; goto yy94; } } yy106: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy108; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy108; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy108; goto yy94; } } yy107: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy109; if (yych <= '/') goto yy94; goto yy110; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy110; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy110; goto yy94; } } yy108: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy110; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy110; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy110; goto yy94; } } yy109: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy111; if (yych <= '/') goto yy94; goto yy112; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy112; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy112; goto yy94; } } yy110: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy112; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy112; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy112; goto yy94; } } yy111: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy113; if (yych <= '/') goto yy94; goto yy114; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy114; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy114; goto yy94; } } yy112: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy114; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy114; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy114; goto yy94; } } yy113: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy115; if (yych <= '/') goto yy94; goto yy116; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy116; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy116; goto yy94; } } yy114: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy116; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy116; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy116; goto yy94; } } yy115: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy117; if (yych <= '/') goto yy94; goto yy118; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy118; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy118; goto yy94; } } yy116: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy118; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy118; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy118; goto yy94; } } yy117: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy119; if (yych <= '/') goto yy94; goto yy120; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy120; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy120; goto yy94; } } yy118: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy120; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy120; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy120; goto yy94; } } yy119: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy121; if (yych <= '/') goto yy94; goto yy122; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy122; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy122; goto yy94; } } yy120: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy122; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy122; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy122; goto yy94; } } yy121: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy123; if (yych <= '/') goto yy94; goto yy124; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy124; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy124; goto yy94; } } yy122: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy124; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy124; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy124; goto yy94; } } yy123: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy125; if (yych <= '/') goto yy94; goto yy126; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy126; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy126; goto yy94; } } yy124: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy126; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy126; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy126; goto yy94; } } yy125: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy127; if (yych <= '/') goto yy94; goto yy128; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy128; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy128; goto yy94; } } yy126: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy128; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy128; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy128; goto yy94; } } yy127: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy129; if (yych <= '/') goto yy94; goto yy130; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy130; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy130; goto yy94; } } yy128: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy130; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy130; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy130; goto yy94; } } yy129: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy131; if (yych <= '/') goto yy94; goto yy132; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy132; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy132; goto yy94; } } yy130: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy132; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy132; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy132; goto yy94; } } yy131: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy133; if (yych <= '/') goto yy94; goto yy134; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy134; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy134; goto yy94; } } yy132: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy134; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy134; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy134; goto yy94; } } yy133: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy135; if (yych <= '/') goto yy94; goto yy136; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy136; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy136; goto yy94; } } yy134: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy136; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy136; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy136; goto yy94; } } yy135: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy137; if (yych <= '/') goto yy94; goto yy138; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy138; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy138; goto yy94; } } yy136: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy138; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy138; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy138; goto yy94; } } yy137: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy139; if (yych <= '/') goto yy94; goto yy140; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy140; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy140; goto yy94; } } yy138: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy140; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy140; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy140; goto yy94; } } yy139: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy141; if (yych <= '/') goto yy94; goto yy142; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy142; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy142; goto yy94; } } yy140: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy142; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy142; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy142; goto yy94; } } yy141: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy143; if (yych <= '/') goto yy94; goto yy144; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy144; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy144; goto yy94; } } yy142: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy144; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy144; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy144; goto yy94; } } yy143: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy145; if (yych <= '/') goto yy94; goto yy146; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy146; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy146; goto yy94; } } yy144: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy146; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy146; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy146; goto yy94; } } yy145: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy147; if (yych <= '/') goto yy94; goto yy148; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy148; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy148; goto yy94; } } yy146: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy148; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy148; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy148; goto yy94; } } yy147: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy149; if (yych <= '/') goto yy94; goto yy150; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy150; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy150; goto yy94; } } yy148: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy150; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy150; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy150; goto yy94; } } yy149: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy151; if (yych <= '/') goto yy94; goto yy152; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy152; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy152; goto yy94; } } yy150: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy152; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy152; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy152; goto yy94; } } yy151: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy153; if (yych <= '/') goto yy94; goto yy154; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy154; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy154; goto yy94; } } yy152: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy154; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy154; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy154; goto yy94; } } yy153: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy155; if (yych <= '/') goto yy94; goto yy156; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy156; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy156; goto yy94; } } yy154: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy156; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy156; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy156; goto yy94; } } yy155: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy157; if (yych <= '/') goto yy94; goto yy158; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy158; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy158; goto yy94; } } yy156: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy158; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy158; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy158; goto yy94; } } yy157: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy159; if (yych <= '/') goto yy94; goto yy160; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy160; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy160; goto yy94; } } yy158: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy160; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy160; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy160; goto yy94; } } yy159: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy161; if (yych <= '/') goto yy94; goto yy162; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy162; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy162; goto yy94; } } yy160: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy162; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy162; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy162; goto yy94; } } yy161: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy163; if (yych <= '/') goto yy94; goto yy164; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy164; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy164; goto yy94; } } yy162: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy164; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy164; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy164; goto yy94; } } yy163: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy165; if (yych <= '/') goto yy94; goto yy166; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy166; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy166; goto yy94; } } yy164: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy166; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy166; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy166; goto yy94; } } yy165: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy167; if (yych <= '/') goto yy94; goto yy168; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy168; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy168; goto yy94; } } yy166: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy168; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy168; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy168; goto yy94; } } yy167: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy169; if (yych <= '/') goto yy94; goto yy170; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy170; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy170; goto yy94; } } yy168: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy170; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy170; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy170; goto yy94; } } yy169: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy171; if (yych <= '/') goto yy94; goto yy172; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy172; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy172; goto yy94; } } yy170: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy172; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy172; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy172; goto yy94; } } yy171: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy173; if (yych <= '/') goto yy94; goto yy174; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy174; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy174; goto yy94; } } yy172: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy174; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy174; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy174; goto yy94; } } yy173: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy175; if (yych <= '/') goto yy94; goto yy176; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy176; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy176; goto yy94; } } yy174: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy176; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy176; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy176; goto yy94; } } yy175: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy177; if (yych <= '/') goto yy94; goto yy178; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy178; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy178; goto yy94; } } yy176: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy178; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy178; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy178; goto yy94; } } yy177: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy179; if (yych <= '/') goto yy94; goto yy180; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy180; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy180; goto yy94; } } yy178: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy180; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy180; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy180; goto yy94; } } yy179: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy181; if (yych <= '/') goto yy94; goto yy182; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy182; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy182; goto yy94; } } yy180: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy182; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy182; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy182; goto yy94; } } yy181: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy183; if (yych <= '/') goto yy94; goto yy184; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy184; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy184; goto yy94; } } yy182: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy184; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy184; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy184; goto yy94; } } yy183: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy185; if (yych <= '/') goto yy94; goto yy186; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy186; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy186; goto yy94; } } yy184: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy186; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy186; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy186; goto yy94; } } yy185: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy187; if (yych <= '/') goto yy94; goto yy188; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy188; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy188; goto yy94; } } yy186: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy188; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy188; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy188; goto yy94; } } yy187: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy189; if (yych <= '/') goto yy94; goto yy190; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy190; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy190; goto yy94; } } yy188: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy190; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy190; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy190; goto yy94; } } yy189: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy191; if (yych <= '/') goto yy94; goto yy192; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy192; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy192; goto yy94; } } yy190: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy192; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy192; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy192; goto yy94; } } yy191: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy193; if (yych <= '/') goto yy94; goto yy194; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy194; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy194; goto yy94; } } yy192: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy194; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy194; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy194; goto yy94; } } yy193: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy195; if (yych <= '/') goto yy94; goto yy196; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy196; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy196; goto yy94; } } yy194: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy196; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy196; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy196; goto yy94; } } yy195: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy197; if (yych <= '/') goto yy94; goto yy198; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy198; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy198; goto yy94; } } yy196: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy198; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy198; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy198; goto yy94; } } yy197: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy199; if (yych <= '/') goto yy94; goto yy200; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy200; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy200; goto yy94; } } yy198: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy200; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy200; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy200; goto yy94; } } yy199: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy201; if (yych <= '/') goto yy94; goto yy202; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy202; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy202; goto yy94; } } yy200: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy202; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy202; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy202; goto yy94; } } yy201: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy203; if (yych <= '/') goto yy94; goto yy204; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy204; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy204; goto yy94; } } yy202: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy204; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy204; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy204; goto yy94; } } yy203: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy205; if (yych <= '/') goto yy94; goto yy206; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy206; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy206; goto yy94; } } yy204: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy206; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy206; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy206; goto yy94; } } yy205: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy207; if (yych <= '/') goto yy94; goto yy208; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy208; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy208; goto yy94; } } yy206: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy208; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy208; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy208; goto yy94; } } yy207: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy209; if (yych <= '/') goto yy94; goto yy210; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy210; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy210; goto yy94; } } yy208: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy210; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy210; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy210; goto yy94; } } yy209: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy211; if (yych <= '/') goto yy94; goto yy212; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy212; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy212; goto yy94; } } yy210: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy212; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy212; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy212; goto yy94; } } yy211: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy213; if (yych <= '/') goto yy94; goto yy214; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy214; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy214; goto yy94; } } yy212: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy214; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy214; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy214; goto yy94; } } yy213: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy215; if (yych <= '/') goto yy94; goto yy216; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy216; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy216; goto yy94; } } yy214: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy216; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy216; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy216; goto yy94; } } yy215: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy217; if (yych <= '/') goto yy94; goto yy218; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy218; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy218; goto yy94; } } yy216: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy218; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy218; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy218; goto yy94; } } yy217: ++p; yych = *p; if (yych <= '9') { if (yych == '-') goto yy219; if (yych <= '/') goto yy94; goto yy220; } else { if (yych <= 'Z') { if (yych <= '@') goto yy94; goto yy220; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy220; goto yy94; } } yy218: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= ',') goto yy94; if (yych >= '.') goto yy95; } else { if (yych <= '/') goto yy94; if (yych <= '9') goto yy220; goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; goto yy220; } else { if (yych <= '`') goto yy94; if (yych <= 'z') goto yy220; goto yy94; } } yy219: ++p; yych = *p; if (yych <= '@') { if (yych <= '/') goto yy94; if (yych <= '9') goto yy221; goto yy94; } else { if (yych <= 'Z') goto yy221; if (yych <= '`') goto yy94; if (yych <= 'z') goto yy221; goto yy94; } yy220: ++p; yych = *p; if (yych <= '=') { if (yych <= '.') { if (yych <= '-') goto yy94; goto yy95; } else { if (yych <= '/') goto yy94; if (yych >= ':') goto yy94; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy99; if (yych <= '@') goto yy94; } else { if (yych <= '`') goto yy94; if (yych >= '{') goto yy94; } } yy221: ++p; yych = *p; if (yych == '.') goto yy95; if (yych == '>') goto yy99; goto yy94; } } // 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[] = { /* table 1 .. 8: 0 */ 0, 250, 250, 250, 250, 250, 250, 250, 250, 235, 235, 235, 235, 235, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 235, 250, 202, 250, 250, 250, 250, 170, 250, 250, 250, 250, 250, 246, 254, 250, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 250, 234, 234, 232, 250, 250, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 250, 250, 122, 250, 254, 234, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 250, 250, 250, 250, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* table 9 .. 11: 256 */ 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, 192, 128, 128, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 128, 128, 128, 128, 128, 0, 128, 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, 128, 128, 128, 128, 128, 128, 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, 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, }; yych = *p; if (yych <= '>') { if (yych <= '!') { if (yych >= '!') goto yy226; } else { if (yych == '/') goto yy227; } } else { if (yych <= 'Z') { if (yych <= '?') goto yy228; if (yych >= 'A') goto yy229; } else { if (yych <= '`') goto yy224; if (yych <= 'z') goto yy229; } } yy224: ++p; yy225 : { return 0; } yy226: yych = *(marker = ++p); if (yybm[256 + yych] & 32) { goto yy232; } if (yych == '-') goto yy230; if (yych <= '@') goto yy225; if (yych <= '[') goto yy234; goto yy225; yy227: yych = *(marker = ++p); if (yych <= '@') goto yy225; if (yych <= 'Z') goto yy235; if (yych <= '`') goto yy225; if (yych <= 'z') goto yy235; goto yy225; yy228: yych = *(marker = ++p); if (yych <= 0x00) goto yy225; if (yych <= 0x7F) goto yy238; if (yych <= 0xC1) goto yy225; if (yych <= 0xF4) goto yy238; goto yy225; yy229: yych = *(marker = ++p); if (yybm[0 + yych] & 1) { goto yy247; } if (yych <= '=') { if (yych <= '.') { if (yych == '-') goto yy249; goto yy225; } else { if (yych <= '/') goto yy251; if (yych <= '9') goto yy249; goto yy225; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy252; if (yych <= '@') goto yy225; goto yy249; } else { if (yych <= '`') goto yy225; if (yych <= 'z') goto yy249; goto yy225; } } yy230: yych = *++p; if (yych == '-') goto yy254; yy231: p = marker; goto yy225; yy232: ++p; yych = *p; if (yybm[256 + yych] & 32) { goto yy232; } if (yych <= 0x08) goto yy231; if (yych <= '\r') goto yy255; if (yych == ' ') goto yy255; goto yy231; yy234: yych = *++p; if (yych == 'C') goto yy257; if (yych == 'c') goto yy257; goto yy231; yy235: ++p; yych = *p; if (yybm[256 + yych] & 64) { goto yy235; } if (yych <= 0x1F) { if (yych <= 0x08) goto yy231; if (yych <= '\r') goto yy258; goto yy231; } else { if (yych <= ' ') goto yy258; if (yych == '>') goto yy252; goto yy231; } yy237: ++p; yych = *p; yy238: if (yybm[256 + yych] & 128) { goto yy237; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych >= '@') goto yy231; } else { if (yych <= 0xDF) goto yy240; if (yych <= 0xE0) goto yy241; goto yy242; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy243; if (yych <= 0xEF) goto yy242; goto yy244; } else { if (yych <= 0xF3) goto yy245; if (yych <= 0xF4) goto yy246; goto yy231; } } ++p; yych = *p; if (yych <= 0xE0) { if (yych <= '>') { if (yych <= 0x00) goto yy231; if (yych <= '=') goto yy237; goto yy252; } else { if (yych <= 0x7F) goto yy237; if (yych <= 0xC1) goto yy231; if (yych >= 0xE0) goto yy241; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy243; goto yy242; } else { if (yych <= 0xF0) goto yy244; if (yych <= 0xF3) goto yy245; if (yych <= 0xF4) goto yy246; goto yy231; } } yy240: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy237; goto yy231; yy241: ++p; yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy240; goto yy231; yy242: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy240; goto yy231; yy243: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy240; goto yy231; yy244: ++p; yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy242; goto yy231; yy245: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy242; goto yy231; yy246: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy242; goto yy231; yy247: ++p; yych = *p; if (yybm[0 + yych] & 1) { goto yy247; } if (yych <= '>') { if (yych <= '9') { if (yych == '/') goto yy251; goto yy231; } else { if (yych <= ':') goto yy260; if (yych <= '=') goto yy231; goto yy252; } } else { if (yych <= '^') { if (yych <= '@') goto yy231; if (yych <= 'Z') goto yy260; goto yy231; } else { if (yych == '`') goto yy231; if (yych <= 'z') goto yy260; goto yy231; } } yy249: ++p; yych = *p; if (yybm[0 + yych] & 1) { goto yy247; } if (yych <= '=') { if (yych <= '.') { if (yych == '-') goto yy249; goto yy231; } else { if (yych <= '/') goto yy251; if (yych <= '9') goto yy249; goto yy231; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy252; if (yych <= '@') goto yy231; goto yy249; } else { if (yych <= '`') goto yy231; if (yych <= 'z') goto yy249; goto yy231; } } yy251: yych = *++p; if (yych != '>') goto yy231; yy252: ++p; { return (bufsize_t)(p - start); } yy254: yych = *++p; if (yych == '-') goto yy264; if (yych == '>') goto yy231; goto yy263; yy255: ++p; yych = *p; if (yybm[0 + yych] & 2) { goto yy255; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= '>') goto yy252; goto yy231; } else { if (yych <= 0xDF) goto yy272; if (yych <= 0xE0) goto yy273; goto yy274; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy275; if (yych <= 0xEF) goto yy274; goto yy276; } else { if (yych <= 0xF3) goto yy277; if (yych <= 0xF4) goto yy278; goto yy231; } } yy257: yych = *++p; if (yych == 'D') goto yy279; if (yych == 'd') goto yy279; goto yy231; yy258: ++p; yych = *p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy231; if (yych <= '\r') goto yy258; goto yy231; } else { if (yych <= ' ') goto yy258; if (yych == '>') goto yy252; goto yy231; } yy260: ++p; yych = *p; if (yybm[0 + yych] & 4) { goto yy260; } if (yych <= ',') { if (yych <= '\r') { if (yych <= 0x08) goto yy231; goto yy280; } else { if (yych == ' ') goto yy280; goto yy231; } } else { if (yych <= '<') { if (yych <= '/') goto yy251; goto yy231; } else { if (yych <= '=') goto yy282; if (yych <= '>') goto yy252; goto yy231; } } yy262: ++p; yych = *p; yy263: if (yybm[0 + yych] & 8) { goto yy262; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= '-') goto yy283; goto yy231; } else { if (yych <= 0xDF) goto yy265; if (yych <= 0xE0) goto yy266; goto yy267; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy268; if (yych <= 0xEF) goto yy267; goto yy269; } else { if (yych <= 0xF3) goto yy270; if (yych <= 0xF4) goto yy271; goto yy231; } } yy264: yych = *++p; if (yych == '-') goto yy251; if (yych == '>') goto yy231; goto yy263; yy265: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy262; goto yy231; yy266: ++p; yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy265; goto yy231; yy267: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy265; goto yy231; yy268: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy265; goto yy231; yy269: ++p; yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy267; goto yy231; yy270: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy267; goto yy231; yy271: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy267; goto yy231; yy272: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy255; goto yy231; yy273: ++p; yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy272; goto yy231; yy274: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy272; goto yy231; yy275: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy272; goto yy231; yy276: ++p; yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy274; goto yy231; yy277: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy274; goto yy231; yy278: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy274; goto yy231; yy279: yych = *++p; if (yych == 'A') goto yy284; if (yych == 'a') goto yy284; goto yy231; yy280: ++p; yych = *p; if (yych <= '<') { if (yych <= ' ') { if (yych <= 0x08) goto yy231; if (yych <= '\r') goto yy280; if (yych <= 0x1F) goto yy231; goto yy280; } else { if (yych <= '/') { if (yych <= '.') goto yy231; goto yy251; } else { if (yych == ':') goto yy260; goto yy231; } } } else { if (yych <= 'Z') { if (yych <= '=') goto yy282; if (yych <= '>') goto yy252; if (yych <= '@') goto yy231; goto yy260; } else { if (yych <= '_') { if (yych <= '^') goto yy231; goto yy260; } else { if (yych <= '`') goto yy231; if (yych <= 'z') goto yy260; goto yy231; } } } yy282: ++p; yych = *p; if (yybm[0 + yych] & 16) { goto yy285; } if (yych <= 0xE0) { if (yych <= '"') { if (yych <= 0x00) goto yy231; if (yych <= ' ') goto yy287; goto yy288; } else { if (yych <= '\'') goto yy290; if (yych <= 0xC1) goto yy231; if (yych <= 0xDF) goto yy292; goto yy293; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy295; goto yy294; } else { if (yych <= 0xF0) goto yy296; if (yych <= 0xF3) goto yy297; if (yych <= 0xF4) goto yy298; goto yy231; } } yy283: ++p; yych = *p; if (yybm[0 + yych] & 8) { goto yy262; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= '-') goto yy251; goto yy231; } else { if (yych <= 0xDF) goto yy265; if (yych <= 0xE0) goto yy266; goto yy267; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy268; if (yych <= 0xEF) goto yy267; goto yy269; } else { if (yych <= 0xF3) goto yy270; if (yych <= 0xF4) goto yy271; goto yy231; } } yy284: yych = *++p; if (yych == 'T') goto yy299; if (yych == 't') goto yy299; goto yy231; yy285: ++p; yych = *p; if (yybm[0 + yych] & 16) { goto yy285; } if (yych <= 0xE0) { if (yych <= '=') { if (yych <= 0x00) goto yy231; if (yych <= ' ') goto yy300; goto yy231; } else { if (yych <= '>') goto yy252; if (yych <= 0xC1) goto yy231; if (yych <= 0xDF) goto yy292; goto yy293; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy295; goto yy294; } else { if (yych <= 0xF0) goto yy296; if (yych <= 0xF3) goto yy297; if (yych <= 0xF4) goto yy298; goto yy231; } } yy287: ++p; yych = *p; if (yybm[0 + yych] & 16) { goto yy285; } if (yych <= 0xDF) { if (yych <= '\'') { if (yych <= 0x00) goto yy231; if (yych <= ' ') goto yy302; if (yych >= '#') goto yy290; } else { if (yych == '>') goto yy252; if (yych <= 0xC1) goto yy231; goto yy292; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy293; if (yych == 0xED) goto yy295; goto yy294; } else { if (yych <= 0xF0) goto yy296; if (yych <= 0xF3) goto yy297; if (yych <= 0xF4) goto yy298; goto yy231; } } yy288: ++p; yych = *p; if (yybm[0 + yych] & 32) { goto yy288; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= '"') goto yy304; goto yy231; } else { if (yych <= 0xDF) goto yy305; if (yych <= 0xE0) goto yy306; goto yy307; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy308; if (yych <= 0xEF) goto yy307; goto yy309; } else { if (yych <= 0xF3) goto yy310; if (yych <= 0xF4) goto yy311; goto yy231; } } yy290: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy290; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= '\'') goto yy304; goto yy231; } else { if (yych <= 0xDF) goto yy312; if (yych <= 0xE0) goto yy313; goto yy314; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy315; if (yych <= 0xEF) goto yy314; goto yy316; } else { if (yych <= 0xF3) goto yy317; if (yych <= 0xF4) goto yy318; goto yy231; } } yy292: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy285; goto yy231; yy293: ++p; yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy292; goto yy231; yy294: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy292; goto yy231; yy295: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy292; goto yy231; yy296: ++p; yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy294; goto yy231; yy297: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy294; goto yy231; yy298: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy294; goto yy231; yy299: yych = *++p; if (yych == 'A') goto yy319; if (yych == 'a') goto yy319; goto yy231; yy300: ++p; yych = *p; if (yych <= '@') { if (yych <= '"') { if (yych <= '\r') { if (yych <= 0x00) goto yy231; if (yych <= 0x08) goto yy285; goto yy300; } else { if (yych == ' ') goto yy300; if (yych <= '!') goto yy285; goto yy231; } } else { if (yych <= ':') { if (yych == '\'') goto yy231; if (yych <= '9') goto yy285; goto yy320; } else { if (yych <= ';') goto yy285; if (yych <= '=') goto yy231; if (yych <= '>') goto yy252; goto yy285; } } } else { if (yych <= 0xDF) { if (yych <= '`') { if (yych <= 'Z') goto yy320; if (yych <= '^') goto yy285; if (yych <= '_') goto yy320; goto yy231; } else { if (yych <= 'z') goto yy320; if (yych <= 0x7F) goto yy285; if (yych <= 0xC1) goto yy231; goto yy292; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy293; if (yych == 0xED) goto yy295; goto yy294; } else { if (yych <= 0xF0) goto yy296; if (yych <= 0xF3) goto yy297; if (yych <= 0xF4) goto yy298; goto yy231; } } } yy302: ++p; yych = *p; if (yych <= '@') { if (yych <= '"') { if (yych <= '\r') { if (yych <= 0x00) goto yy231; if (yych <= 0x08) goto yy285; goto yy302; } else { if (yych == ' ') goto yy302; if (yych <= '!') goto yy285; goto yy288; } } else { if (yych <= ':') { if (yych == '\'') goto yy290; if (yych <= '9') goto yy285; goto yy320; } else { if (yych <= ';') goto yy285; if (yych <= '=') goto yy231; if (yych <= '>') goto yy252; goto yy285; } } } else { if (yych <= 0xDF) { if (yych <= '`') { if (yych <= 'Z') goto yy320; if (yych <= '^') goto yy285; if (yych <= '_') goto yy320; goto yy231; } else { if (yych <= 'z') goto yy320; if (yych <= 0x7F) goto yy285; if (yych <= 0xC1) goto yy231; goto yy292; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy293; if (yych == 0xED) goto yy295; goto yy294; } else { if (yych <= 0xF0) goto yy296; if (yych <= 0xF3) goto yy297; if (yych <= 0xF4) goto yy298; goto yy231; } } } yy304: ++p; yych = *p; if (yybm[0 + yych] & 1) { goto yy247; } if (yych == '/') goto yy251; if (yych == '>') goto yy252; goto yy231; yy305: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy288; goto yy231; yy306: ++p; yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy305; goto yy231; yy307: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy305; goto yy231; yy308: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy305; goto yy231; yy309: ++p; yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy307; goto yy231; yy310: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy307; goto yy231; yy311: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy307; goto yy231; yy312: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy290; goto yy231; yy313: ++p; yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy312; goto yy231; yy314: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy312; goto yy231; yy315: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy312; goto yy231; yy316: ++p; yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy314; goto yy231; yy317: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy314; goto yy231; yy318: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy314; goto yy231; yy319: yych = *++p; if (yych == '[') goto yy322; goto yy231; yy320: ++p; yych = *p; if (yych <= '>') { if (yych <= '&') { if (yych <= 0x1F) { if (yych <= 0x00) goto yy231; if (yych <= 0x08) goto yy285; if (yych <= '\r') goto yy324; goto yy285; } else { if (yych <= ' ') goto yy324; if (yych == '"') goto yy231; goto yy285; } } else { if (yych <= '/') { if (yych <= '\'') goto yy231; if (yych <= ',') goto yy285; if (yych <= '.') goto yy320; goto yy285; } else { if (yych <= ';') { if (yych <= ':') goto yy320; goto yy285; } else { if (yych <= '<') goto yy231; if (yych <= '=') goto yy282; goto yy252; } } } } else { if (yych <= 0xC1) { if (yych <= '_') { if (yych <= '@') goto yy285; if (yych <= 'Z') goto yy320; if (yych <= '^') goto yy285; goto yy320; } else { if (yych <= '`') goto yy231; if (yych <= 'z') goto yy320; if (yych <= 0x7F) goto yy285; goto yy231; } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy292; if (yych <= 0xE0) goto yy293; if (yych <= 0xEC) goto yy294; goto yy295; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy294; goto yy296; } else { if (yych <= 0xF3) goto yy297; if (yych <= 0xF4) goto yy298; goto yy231; } } } } yy322: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy322; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= ']') goto yy326; goto yy231; } else { if (yych <= 0xDF) goto yy327; if (yych <= 0xE0) goto yy328; goto yy329; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy330; if (yych <= 0xEF) goto yy329; goto yy331; } else { if (yych <= 0xF3) goto yy332; if (yych <= 0xF4) goto yy333; goto yy231; } } yy324: ++p; yych = *p; if (yych <= '@') { if (yych <= '&') { if (yych <= 0x1F) { if (yych <= 0x00) goto yy231; if (yych <= 0x08) goto yy285; if (yych <= '\r') goto yy324; goto yy285; } else { if (yych <= ' ') goto yy324; if (yych == '"') goto yy231; goto yy285; } } else { if (yych <= ';') { if (yych <= '\'') goto yy231; if (yych == ':') goto yy320; goto yy285; } else { if (yych <= '<') goto yy231; if (yych <= '=') goto yy282; if (yych <= '>') goto yy252; goto yy285; } } } else { if (yych <= 0xDF) { if (yych <= '`') { if (yych <= 'Z') goto yy320; if (yych <= '^') goto yy285; if (yych <= '_') goto yy320; goto yy231; } else { if (yych <= 'z') goto yy320; if (yych <= 0x7F) goto yy285; if (yych <= 0xC1) goto yy231; goto yy292; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy293; if (yych == 0xED) goto yy295; goto yy294; } else { if (yych <= 0xF0) goto yy296; if (yych <= 0xF3) goto yy297; if (yych <= 0xF4) goto yy298; goto yy231; } } } yy326: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy322; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= ']') goto yy334; goto yy231; } else { if (yych <= 0xDF) goto yy327; if (yych <= 0xE0) goto yy328; goto yy329; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy330; if (yych <= 0xEF) goto yy329; goto yy331; } else { if (yych <= 0xF3) goto yy332; if (yych <= 0xF4) goto yy333; goto yy231; } } yy327: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy322; goto yy231; yy328: ++p; yych = *p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy327; goto yy231; yy329: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy327; goto yy231; yy330: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy327; goto yy231; yy331: ++p; yych = *p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy329; goto yy231; yy332: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy329; goto yy231; yy333: ++p; yych = *p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy329; goto yy231; yy334: ++p; yych = *p; if (yych <= 0xE0) { if (yych <= '>') { if (yych <= 0x00) goto yy231; if (yych <= '=') goto yy322; goto yy252; } else { if (yych <= 0x7F) goto yy322; if (yych <= 0xC1) goto yy231; if (yych <= 0xDF) goto yy327; goto yy328; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy330; goto yy329; } else { if (yych <= 0xF0) goto yy331; if (yych <= 0xF3) goto yy332; if (yych <= 0xF4) goto yy333; goto yy231; } } } } // 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 yy339; ++p; yy338 : { return 0; } yy339: yych = *(marker = ++p); switch (yych) { case '!': goto yy340; case '/': goto yy342; case '?': goto yy343; case 'A': case 'a': goto yy345; case 'B': case 'b': goto yy346; case 'C': case 'c': goto yy347; case 'D': case 'd': goto yy348; case 'F': case 'f': goto yy349; case 'H': case 'h': goto yy350; case 'I': case 'i': goto yy351; case 'L': case 'l': goto yy352; case 'M': case 'm': goto yy353; case 'N': case 'n': goto yy354; case 'O': case 'o': goto yy355; case 'P': case 'p': goto yy356; case 'S': case 's': goto yy357; case 'T': case 't': goto yy358; case 'U': case 'u': goto yy359; default: goto yy338; } yy340: yych = *++p; if (yych <= '@') { if (yych == '-') goto yy360; } else { if (yych <= 'Z') goto yy361; if (yych <= '[') goto yy363; } yy341: p = marker; goto yy338; yy342: yych = *++p; switch (yych) { case 'A': case 'a': goto yy345; case 'B': case 'b': goto yy346; case 'C': case 'c': goto yy347; case 'D': case 'd': goto yy348; case 'F': case 'f': goto yy349; case 'H': case 'h': goto yy350; case 'I': case 'i': goto yy351; case 'L': case 'l': goto yy352; case 'M': case 'm': goto yy353; case 'N': case 'n': goto yy354; case 'O': case 'o': goto yy355; case 'P': case 'p': goto yy364; case 'S': case 's': goto yy365; case 'T': case 't': goto yy358; case 'U': case 'u': goto yy359; default: goto yy341; } yy343: ++p; { return 3; } yy345: yych = *++p; if (yych <= 'S') { if (yych <= 'D') { if (yych <= 'C') goto yy341; goto yy366; } else { if (yych <= 'Q') goto yy341; if (yych <= 'R') goto yy367; goto yy368; } } else { if (yych <= 'q') { if (yych == 'd') goto yy366; goto yy341; } else { if (yych <= 'r') goto yy367; if (yych <= 's') goto yy368; goto yy341; } } yy346: yych = *++p; if (yych <= 'O') { if (yych <= 'K') { if (yych == 'A') goto yy369; goto yy341; } else { if (yych <= 'L') goto yy370; if (yych <= 'N') goto yy341; goto yy371; } } else { if (yych <= 'k') { if (yych == 'a') goto yy369; goto yy341; } else { if (yych <= 'l') goto yy370; if (yych == 'o') goto yy371; goto yy341; } } yy347: yych = *++p; if (yych <= 'O') { if (yych <= 'D') { if (yych == 'A') goto yy372; goto yy341; } else { if (yych <= 'E') goto yy373; if (yych <= 'N') goto yy341; goto yy374; } } else { if (yych <= 'd') { if (yych == 'a') goto yy372; goto yy341; } else { if (yych <= 'e') goto yy373; if (yych == 'o') goto yy374; goto yy341; } } yy348: yych = *++p; switch (yych) { case 'D': case 'L': case 'T': case 'd': case 'l': case 't': goto yy375; case 'E': case 'e': goto yy376; case 'I': case 'i': goto yy377; default: goto yy341; } yy349: yych = *++p; if (yych <= 'R') { if (yych <= 'N') { if (yych == 'I') goto yy378; goto yy341; } else { if (yych <= 'O') goto yy379; if (yych <= 'Q') goto yy341; goto yy380; } } else { if (yych <= 'n') { if (yych == 'i') goto yy378; goto yy341; } else { if (yych <= 'o') goto yy379; if (yych == 'r') goto yy380; goto yy341; } } yy350: yych = *++p; if (yych <= 'S') { if (yych <= 'D') { if (yych <= '0') goto yy341; if (yych <= '6') goto yy375; goto yy341; } else { if (yych <= 'E') goto yy381; if (yych == 'R') goto yy375; goto yy341; } } else { if (yych <= 'q') { if (yych <= 'T') goto yy382; if (yych == 'e') goto yy381; goto yy341; } else { if (yych <= 'r') goto yy375; if (yych == 't') goto yy382; goto yy341; } } yy351: yych = *++p; if (yych == 'F') goto yy383; if (yych == 'f') goto yy383; goto yy341; yy352: yych = *++p; if (yych <= 'I') { if (yych == 'E') goto yy384; if (yych <= 'H') goto yy341; goto yy385; } else { if (yych <= 'e') { if (yych <= 'd') goto yy341; goto yy384; } else { if (yych == 'i') goto yy385; goto yy341; } } yy353: yych = *++p; if (yych <= 'E') { if (yych == 'A') goto yy386; if (yych <= 'D') goto yy341; goto yy387; } else { if (yych <= 'a') { if (yych <= '`') goto yy341; goto yy386; } else { if (yych == 'e') goto yy387; goto yy341; } } yy354: yych = *++p; if (yych <= 'O') { if (yych == 'A') goto yy388; if (yych <= 'N') goto yy341; goto yy389; } else { if (yych <= 'a') { if (yych <= '`') goto yy341; goto yy388; } else { if (yych == 'o') goto yy389; goto yy341; } } yy355: yych = *++p; if (yych <= 'P') { if (yych == 'L') goto yy375; if (yych <= 'O') goto yy341; goto yy390; } else { if (yych <= 'l') { if (yych <= 'k') goto yy341; goto yy375; } else { if (yych == 'p') goto yy390; goto yy341; } } yy356: yych = *++p; if (yych <= '>') { if (yych <= ' ') { if (yych <= 0x08) goto yy341; if (yych <= '\r') goto yy391; if (yych <= 0x1F) goto yy341; goto yy391; } else { if (yych == '/') goto yy393; if (yych <= '=') goto yy341; goto yy391; } } else { if (yych <= 'R') { if (yych == 'A') goto yy394; if (yych <= 'Q') goto yy341; goto yy395; } else { if (yych <= 'a') { if (yych <= '`') goto yy341; goto yy394; } else { if (yych == 'r') goto yy395; goto yy341; } } } yy357: yych = *++p; switch (yych) { case 'C': case 'c': goto yy396; case 'E': case 'e': goto yy397; case 'O': case 'o': goto yy398; case 'T': case 't': goto yy399; case 'U': case 'u': goto yy400; default: goto yy341; } yy358: yych = *++p; switch (yych) { case 'A': case 'a': goto yy401; case 'B': case 'b': goto yy402; case 'D': case 'd': goto yy375; case 'F': case 'f': goto yy403; case 'H': case 'h': goto yy404; case 'I': case 'i': goto yy405; case 'R': case 'r': goto yy406; default: goto yy341; } yy359: yych = *++p; if (yych == 'L') goto yy375; if (yych == 'l') goto yy375; goto yy341; yy360: yych = *++p; if (yych == '-') goto yy407; goto yy341; yy361: ++p; { return 4; } yy363: yych = *++p; if (yych == 'C') goto yy409; if (yych == 'c') goto yy409; goto yy341; yy364: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy341; if (yych <= '\r') goto yy391; goto yy341; } else { if (yych <= ' ') goto yy391; if (yych <= '.') goto yy341; goto yy393; } } else { if (yych <= '@') { if (yych == '>') goto yy391; goto yy341; } else { if (yych <= 'A') goto yy394; if (yych == 'a') goto yy394; goto yy341; } } yy365: yych = *++p; if (yych <= 'U') { if (yych <= 'N') { if (yych == 'E') goto yy397; goto yy341; } else { if (yych <= 'O') goto yy398; if (yych <= 'T') goto yy341; goto yy400; } } else { if (yych <= 'n') { if (yych == 'e') goto yy397; goto yy341; } else { if (yych <= 'o') goto yy398; if (yych == 'u') goto yy400; goto yy341; } } yy366: yych = *++p; if (yych == 'D') goto yy410; if (yych == 'd') goto yy410; goto yy341; yy367: yych = *++p; if (yych == 'T') goto yy411; if (yych == 't') goto yy411; goto yy341; yy368: yych = *++p; if (yych == 'I') goto yy412; if (yych == 'i') goto yy412; goto yy341; yy369: yych = *++p; if (yych == 'S') goto yy413; if (yych == 's') goto yy413; goto yy341; yy370: yych = *++p; if (yych == 'O') goto yy414; if (yych == 'o') goto yy414; goto yy341; yy371: yych = *++p; if (yych == 'D') goto yy415; if (yych == 'd') goto yy415; goto yy341; yy372: yych = *++p; if (yych == 'P') goto yy416; if (yych == 'p') goto yy416; goto yy341; yy373: yych = *++p; if (yych == 'N') goto yy417; if (yych == 'n') goto yy417; goto yy341; yy374: yych = *++p; if (yych == 'L') goto yy418; if (yych == 'l') goto yy418; goto yy341; yy375: yych = *++p; if (yych <= ' ') { if (yych <= 0x08) goto yy341; if (yych <= '\r') goto yy391; if (yych <= 0x1F) goto yy341; goto yy391; } else { if (yych <= '/') { if (yych <= '.') goto yy341; goto yy393; } else { if (yych == '>') goto yy391; goto yy341; } } yy376: yych = *++p; if (yych == 'T') goto yy419; if (yych == 't') goto yy419; goto yy341; yy377: yych = *++p; if (yych <= 'V') { if (yych <= 'Q') { if (yych == 'A') goto yy420; goto yy341; } else { if (yych <= 'R') goto yy375; if (yych <= 'U') goto yy341; goto yy375; } } else { if (yych <= 'q') { if (yych == 'a') goto yy420; goto yy341; } else { if (yych <= 'r') goto yy375; if (yych == 'v') goto yy375; goto yy341; } } yy378: yych = *++p; if (yych <= 'G') { if (yych == 'E') goto yy421; if (yych <= 'F') goto yy341; goto yy422; } else { if (yych <= 'e') { if (yych <= 'd') goto yy341; goto yy421; } else { if (yych == 'g') goto yy422; goto yy341; } } yy379: yych = *++p; if (yych <= 'R') { if (yych == 'O') goto yy417; if (yych <= 'Q') goto yy341; goto yy423; } else { if (yych <= 'o') { if (yych <= 'n') goto yy341; goto yy417; } else { if (yych == 'r') goto yy423; goto yy341; } } yy380: yych = *++p; if (yych == 'A') goto yy424; if (yych == 'a') goto yy424; goto yy341; yy381: yych = *++p; if (yych == 'A') goto yy425; if (yych == 'a') goto yy425; goto yy341; yy382: yych = *++p; if (yych == 'M') goto yy359; if (yych == 'm') goto yy359; goto yy341; yy383: yych = *++p; if (yych == 'R') goto yy426; if (yych == 'r') goto yy426; goto yy341; yy384: yych = *++p; if (yych == 'G') goto yy427; if (yych == 'g') goto yy427; goto yy341; yy385: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy341; if (yych <= '\r') goto yy391; goto yy341; } else { if (yych <= ' ') goto yy391; if (yych <= '.') goto yy341; goto yy393; } } else { if (yych <= 'M') { if (yych == '>') goto yy391; goto yy341; } else { if (yych <= 'N') goto yy428; if (yych == 'n') goto yy428; goto yy341; } } yy386: yych = *++p; if (yych == 'I') goto yy429; if (yych == 'i') goto yy429; goto yy341; yy387: yych = *++p; if (yych <= 'T') { if (yych == 'N') goto yy430; if (yych <= 'S') goto yy341; goto yy431; } else { if (yych <= 'n') { if (yych <= 'm') goto yy341; goto yy430; } else { if (yych == 't') goto yy431; goto yy341; } } yy388: yych = *++p; if (yych == 'V') goto yy375; if (yych == 'v') goto yy375; goto yy341; yy389: yych = *++p; if (yych == 'F') goto yy432; if (yych == 'f') goto yy432; goto yy341; yy390: yych = *++p; if (yych == 'T') goto yy433; if (yych == 't') goto yy433; goto yy341; yy391: ++p; { return 6; } yy393: yych = *++p; if (yych == '>') goto yy391; goto yy341; yy394: yych = *++p; if (yych == 'R') goto yy434; if (yych == 'r') goto yy434; goto yy341; yy395: yych = *++p; if (yych == 'E') goto yy435; if (yych == 'e') goto yy435; goto yy341; yy396: yych = *++p; if (yych == 'R') goto yy436; if (yych == 'r') goto yy436; goto yy341; yy397: yych = *++p; if (yych == 'C') goto yy416; if (yych == 'c') goto yy416; goto yy341; yy398: yych = *++p; if (yych == 'U') goto yy437; if (yych == 'u') goto yy437; goto yy341; yy399: yych = *++p; if (yych == 'Y') goto yy438; if (yych == 'y') goto yy438; goto yy341; yy400: yych = *++p; if (yych == 'M') goto yy439; if (yych == 'm') goto yy439; goto yy341; yy401: yych = *++p; if (yych == 'B') goto yy440; if (yych == 'b') goto yy440; goto yy341; yy402: yych = *++p; if (yych == 'O') goto yy371; if (yych == 'o') goto yy371; goto yy341; yy403: yych = *++p; if (yych == 'O') goto yy441; if (yych == 'o') goto yy441; goto yy341; yy404: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy341; if (yych <= '\r') goto yy391; goto yy341; } else { if (yych <= ' ') goto yy391; if (yych <= '.') goto yy341; goto yy393; } } else { if (yych <= 'D') { if (yych == '>') goto yy391; goto yy341; } else { if (yych <= 'E') goto yy442; if (yych == 'e') goto yy442; goto yy341; } } yy405: yych = *++p; if (yych == 'T') goto yy440; if (yych == 't') goto yy440; goto yy341; yy406: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy341; if (yych <= '\r') goto yy391; goto yy341; } else { if (yych <= ' ') goto yy391; if (yych <= '.') goto yy341; goto yy393; } } else { if (yych <= '@') { if (yych == '>') goto yy391; goto yy341; } else { if (yych <= 'A') goto yy443; if (yych == 'a') goto yy443; goto yy341; } } yy407: ++p; { return 2; } yy409: yych = *++p; if (yych == 'D') goto yy444; if (yych == 'd') goto yy444; goto yy341; yy410: yych = *++p; if (yych == 'R') goto yy445; if (yych == 'r') goto yy445; goto yy341; yy411: yych = *++p; if (yych == 'I') goto yy446; if (yych == 'i') goto yy446; goto yy341; yy412: yych = *++p; if (yych == 'D') goto yy447; if (yych == 'd') goto yy447; goto yy341; yy413: yych = *++p; if (yych == 'E') goto yy448; if (yych == 'e') goto yy448; goto yy341; yy414: yych = *++p; if (yych == 'C') goto yy449; if (yych == 'c') goto yy449; goto yy341; yy415: yych = *++p; if (yych == 'Y') goto yy375; if (yych == 'y') goto yy375; goto yy341; yy416: yych = *++p; if (yych == 'T') goto yy450; if (yych == 't') goto yy450; goto yy341; yy417: yych = *++p; if (yych == 'T') goto yy451; if (yych == 't') goto yy451; goto yy341; yy418: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy341; if (yych <= '\r') goto yy391; goto yy341; } else { if (yych <= ' ') goto yy391; if (yych <= '.') goto yy341; goto yy393; } } else { if (yych <= 'F') { if (yych == '>') goto yy391; goto yy341; } else { if (yych <= 'G') goto yy452; if (yych == 'g') goto yy452; goto yy341; } } yy419: yych = *++p; if (yych == 'A') goto yy453; if (yych == 'a') goto yy453; goto yy341; yy420: yych = *++p; if (yych == 'L') goto yy454; if (yych == 'l') goto yy454; goto yy341; yy421: yych = *++p; if (yych == 'L') goto yy455; if (yych == 'l') goto yy455; goto yy341; yy422: yych = *++p; if (yych <= 'U') { if (yych == 'C') goto yy456; if (yych <= 'T') goto yy341; goto yy457; } else { if (yych <= 'c') { if (yych <= 'b') goto yy341; goto yy456; } else { if (yych == 'u') goto yy457; goto yy341; } } yy423: yych = *++p; if (yych == 'M') goto yy375; if (yych == 'm') goto yy375; goto yy341; yy424: yych = *++p; if (yych == 'M') goto yy458; if (yych == 'm') goto yy458; goto yy341; yy425: yych = *++p; if (yych == 'D') goto yy459; if (yych == 'd') goto yy459; goto yy341; yy426: yych = *++p; if (yych == 'A') goto yy460; if (yych == 'a') goto yy460; goto yy341; yy427: yych = *++p; if (yych == 'E') goto yy461; if (yych == 'e') goto yy461; goto yy341; yy428: yych = *++p; if (yych == 'K') goto yy375; if (yych == 'k') goto yy375; goto yy341; yy429: yych = *++p; if (yych == 'N') goto yy375; if (yych == 'n') goto yy375; goto yy341; yy430: yych = *++p; if (yych == 'U') goto yy462; if (yych == 'u') goto yy462; goto yy341; yy431: yych = *++p; if (yych == 'A') goto yy375; if (yych == 'a') goto yy375; goto yy341; yy432: yych = *++p; if (yych == 'R') goto yy463; if (yych == 'r') goto yy463; goto yy341; yy433: yych = *++p; if (yych <= 'I') { if (yych == 'G') goto yy452; if (yych <= 'H') goto yy341; goto yy464; } else { if (yych <= 'g') { if (yych <= 'f') goto yy341; goto yy452; } else { if (yych == 'i') goto yy464; goto yy341; } } yy434: yych = *++p; if (yych == 'A') goto yy423; if (yych == 'a') goto yy423; goto yy341; yy435: yych = *++p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy341; if (yych <= '\r') goto yy465; goto yy341; } else { if (yych <= ' ') goto yy465; if (yych == '>') goto yy465; goto yy341; } yy436: yych = *++p; if (yych == 'I') goto yy467; if (yych == 'i') goto yy467; goto yy341; yy437: yych = *++p; if (yych == 'R') goto yy468; if (yych == 'r') goto yy468; goto yy341; yy438: yych = *++p; if (yych == 'L') goto yy395; if (yych == 'l') goto yy395; goto yy341; yy439: yych = *++p; if (yych == 'M') goto yy469; if (yych == 'm') goto yy469; goto yy341; yy440: yych = *++p; if (yych == 'L') goto yy447; if (yych == 'l') goto yy447; goto yy341; yy441: yych = *++p; if (yych == 'O') goto yy470; if (yych == 'o') goto yy470; goto yy341; yy442: yych = *++p; if (yych == 'A') goto yy471; if (yych == 'a') goto yy471; goto yy341; yy443: yych = *++p; if (yych == 'C') goto yy428; if (yych == 'c') goto yy428; goto yy341; yy444: yych = *++p; if (yych == 'A') goto yy472; if (yych == 'a') goto yy472; goto yy341; yy445: yych = *++p; if (yych == 'E') goto yy473; if (yych == 'e') goto yy473; goto yy341; yy446: yych = *++p; if (yych == 'C') goto yy440; if (yych == 'c') goto yy440; goto yy341; yy447: yych = *++p; if (yych == 'E') goto yy375; if (yych == 'e') goto yy375; goto yy341; yy448: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy341; if (yych <= '\r') goto yy391; goto yy341; } else { if (yych <= ' ') goto yy391; if (yych <= '.') goto yy341; goto yy393; } } else { if (yych <= 'E') { if (yych == '>') goto yy391; goto yy341; } else { if (yych <= 'F') goto yy474; if (yych == 'f') goto yy474; goto yy341; } } yy449: yych = *++p; if (yych == 'K') goto yy475; if (yych == 'k') goto yy475; goto yy341; yy450: yych = *++p; if (yych == 'I') goto yy464; if (yych == 'i') goto yy464; goto yy341; yy451: yych = *++p; if (yych == 'E') goto yy476; if (yych == 'e') goto yy476; goto yy341; yy452: yych = *++p; if (yych == 'R') goto yy477; if (yych == 'r') goto yy477; goto yy341; yy453: yych = *++p; if (yych == 'I') goto yy478; if (yych == 'i') goto yy478; goto yy341; yy454: yych = *++p; if (yych == 'O') goto yy479; if (yych == 'o') goto yy479; goto yy341; yy455: yych = *++p; if (yych == 'D') goto yy480; if (yych == 'd') goto yy480; goto yy341; yy456: yych = *++p; if (yych == 'A') goto yy372; if (yych == 'a') goto yy372; goto yy341; yy457: yych = *++p; if (yych == 'R') goto yy447; if (yych == 'r') goto yy447; goto yy341; yy458: yych = *++p; if (yych == 'E') goto yy481; if (yych == 'e') goto yy481; goto yy341; yy459: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy341; if (yych <= '\r') goto yy391; goto yy341; } else { if (yych <= ' ') goto yy391; if (yych <= '.') goto yy341; goto yy393; } } else { if (yych <= 'D') { if (yych == '>') goto yy391; goto yy341; } else { if (yych <= 'E') goto yy476; if (yych == 'e') goto yy476; goto yy341; } } yy460: yych = *++p; if (yych == 'M') goto yy447; if (yych == 'm') goto yy447; goto yy341; yy461: yych = *++p; if (yych == 'N') goto yy471; if (yych == 'n') goto yy471; goto yy341; yy462: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy341; if (yych <= '\r') goto yy391; goto yy341; } else { if (yych <= ' ') goto yy391; if (yych <= '.') goto yy341; goto yy393; } } else { if (yych <= 'H') { if (yych == '>') goto yy391; goto yy341; } else { if (yych <= 'I') goto yy482; if (yych == 'i') goto yy482; goto yy341; } } yy463: yych = *++p; if (yych == 'A') goto yy483; if (yych == 'a') goto yy483; goto yy341; yy464: yych = *++p; if (yych == 'O') goto yy429; if (yych == 'o') goto yy429; goto yy341; yy465: ++p; { return 1; } yy467: yych = *++p; if (yych == 'P') goto yy484; if (yych == 'p') goto yy484; goto yy341; yy468: yych = *++p; if (yych == 'C') goto yy447; if (yych == 'c') goto yy447; goto yy341; yy469: yych = *++p; if (yych == 'A') goto yy485; if (yych == 'a') goto yy485; goto yy341; yy470: yych = *++p; if (yych == 'T') goto yy375; if (yych == 't') goto yy375; goto yy341; yy471: yych = *++p; if (yych == 'D') goto yy375; if (yych == 'd') goto yy375; goto yy341; yy472: yych = *++p; if (yych == 'T') goto yy486; if (yych == 't') goto yy486; goto yy341; yy473: yych = *++p; if (yych == 'S') goto yy487; if (yych == 's') goto yy487; goto yy341; yy474: yych = *++p; if (yych == 'O') goto yy488; if (yych == 'o') goto yy488; goto yy341; yy475: yych = *++p; if (yych == 'Q') goto yy489; if (yych == 'q') goto yy489; goto yy341; yy476: yych = *++p; if (yych == 'R') goto yy375; if (yych == 'r') goto yy375; goto yy341; yy477: yych = *++p; if (yych == 'O') goto yy490; if (yych == 'o') goto yy490; goto yy341; yy478: yych = *++p; if (yych == 'L') goto yy487; if (yych == 'l') goto yy487; goto yy341; yy479: yych = *++p; if (yych == 'G') goto yy375; if (yych == 'g') goto yy375; goto yy341; yy480: yych = *++p; if (yych == 'S') goto yy491; if (yych == 's') goto yy491; goto yy341; yy481: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy341; if (yych <= '\r') goto yy391; goto yy341; } else { if (yych <= ' ') goto yy391; if (yych <= '.') goto yy341; goto yy393; } } else { if (yych <= 'R') { if (yych == '>') goto yy391; goto yy341; } else { if (yych <= 'S') goto yy491; if (yych == 's') goto yy491; goto yy341; } } yy482: yych = *++p; if (yych == 'T') goto yy492; if (yych == 't') goto yy492; goto yy341; yy483: yych = *++p; if (yych == 'M') goto yy493; if (yych == 'm') goto yy493; goto yy341; yy484: yych = *++p; if (yych == 'T') goto yy435; if (yych == 't') goto yy435; goto yy341; yy485: yych = *++p; if (yych == 'R') goto yy415; if (yych == 'r') goto yy415; goto yy341; yy486: yych = *++p; if (yych == 'A') goto yy494; if (yych == 'a') goto yy494; goto yy341; yy487: yych = *++p; if (yych == 'S') goto yy375; if (yych == 's') goto yy375; goto yy341; yy488: yych = *++p; if (yych == 'N') goto yy470; if (yych == 'n') goto yy470; goto yy341; yy489: yych = *++p; if (yych == 'U') goto yy495; if (yych == 'u') goto yy495; goto yy341; yy490: yych = *++p; if (yych == 'U') goto yy496; if (yych == 'u') goto yy496; goto yy341; yy491: yych = *++p; if (yych == 'E') goto yy470; if (yych == 'e') goto yy470; goto yy341; yy492: yych = *++p; if (yych == 'E') goto yy423; if (yych == 'e') goto yy423; goto yy341; yy493: yych = *++p; if (yych == 'E') goto yy487; if (yych == 'e') goto yy487; goto yy341; yy494: yych = *++p; if (yych == '[') goto yy497; goto yy341; yy495: yych = *++p; if (yych == 'O') goto yy499; if (yych == 'o') goto yy499; goto yy341; yy496: yych = *++p; if (yych == 'P') goto yy375; if (yych == 'p') goto yy375; goto yy341; yy497: ++p; { return 5; } yy499: ++p; if ((yych = *p) == 'T') goto yy447; if (yych == 't') goto yy447; goto yy341; } } // 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 yy504; ++p; yy503 : { return 0; } yy504: yyaccept = 0; yych = *(marker = ++p); if (yych <= '@') { if (yych != '/') goto yy503; } else { if (yych <= 'Z') goto yy507; if (yych <= '`') goto yy503; if (yych <= 'z') goto yy507; goto yy503; } yych = *++p; if (yych <= '@') goto yy506; if (yych <= 'Z') goto yy509; if (yych <= '`') goto yy506; if (yych <= 'z') goto yy509; yy506: p = marker; if (yyaccept == 0) { goto yy503; } else { goto yy522; } yy507: ++p; yych = *p; if (yybm[0 + yych] & 2) { goto yy511; } if (yych <= '=') { if (yych <= '.') { if (yych == '-') goto yy507; goto yy506; } else { if (yych <= '/') goto yy513; if (yych <= '9') goto yy507; goto yy506; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy514; if (yych <= '@') goto yy506; goto yy507; } else { if (yych <= '`') goto yy506; if (yych <= 'z') goto yy507; goto yy506; } } yy509: ++p; yych = *p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy506; if (yych <= '\r') goto yy516; goto yy506; } else { if (yych <= ' ') goto yy516; if (yych == '-') goto yy509; goto yy506; } } else { if (yych <= '@') { if (yych <= '9') goto yy509; if (yych == '>') goto yy514; goto yy506; } else { if (yych <= 'Z') goto yy509; if (yych <= '`') goto yy506; if (yych <= 'z') goto yy509; goto yy506; } } yy511: ++p; yych = *p; if (yybm[0 + yych] & 2) { goto yy511; } if (yych <= '>') { if (yych <= '9') { if (yych != '/') goto yy506; } else { if (yych <= ':') goto yy518; if (yych <= '=') goto yy506; goto yy514; } } else { if (yych <= '^') { if (yych <= '@') goto yy506; if (yych <= 'Z') goto yy518; goto yy506; } else { if (yych == '`') goto yy506; if (yych <= 'z') goto yy518; goto yy506; } } yy513: yych = *++p; if (yych != '>') goto yy506; yy514: ++p; yych = *p; if (yybm[0 + yych] & 4) { goto yy514; } if (yych <= 0x08) goto yy506; if (yych <= '\n') goto yy520; if (yych <= '\v') goto yy506; if (yych <= '\r') goto yy523; goto yy506; yy516: ++p; yych = *p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy506; if (yych <= '\r') goto yy516; goto yy506; } else { if (yych <= ' ') goto yy516; if (yych == '>') goto yy514; goto yy506; } yy518: ++p; yych = *p; if (yybm[0 + yych] & 8) { goto yy518; } if (yych <= ',') { if (yych <= '\r') { if (yych <= 0x08) goto yy506; goto yy524; } else { if (yych == ' ') goto yy524; goto yy506; } } else { if (yych <= '<') { if (yych <= '/') goto yy513; goto yy506; } else { if (yych <= '=') goto yy526; if (yych <= '>') goto yy514; goto yy506; } } yy520: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 4) { goto yy514; } if (yych <= 0x08) goto yy522; if (yych <= '\n') goto yy520; if (yych <= '\v') goto yy522; if (yych <= '\r') goto yy523; yy522 : { return 7; } yy523: yych = *++p; goto yy522; yy524: ++p; yych = *p; if (yych <= '<') { if (yych <= ' ') { if (yych <= 0x08) goto yy506; if (yych <= '\r') goto yy524; if (yych <= 0x1F) goto yy506; goto yy524; } else { if (yych <= '/') { if (yych <= '.') goto yy506; goto yy513; } else { if (yych == ':') goto yy518; goto yy506; } } } else { if (yych <= 'Z') { if (yych <= '=') goto yy526; if (yych <= '>') goto yy514; if (yych <= '@') goto yy506; goto yy518; } else { if (yych <= '_') { if (yych <= '^') goto yy506; goto yy518; } else { if (yych <= '`') goto yy506; if (yych <= 'z') goto yy518; goto yy506; } } } yy526: ++p; yych = *p; if (yybm[0 + yych] & 32) { goto yy527; } if (yych <= 0xE0) { if (yych <= '"') { if (yych <= 0x00) goto yy506; if (yych <= ' ') goto yy529; goto yy530; } else { if (yych <= '\'') goto yy532; if (yych <= 0xC1) goto yy506; if (yych <= 0xDF) goto yy534; goto yy535; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy537; goto yy536; } else { if (yych <= 0xF0) goto yy538; if (yych <= 0xF3) goto yy539; if (yych <= 0xF4) goto yy540; goto yy506; } } yy527: ++p; yych = *p; if (yybm[0 + yych] & 32) { goto yy527; } if (yych <= 0xE0) { if (yych <= '=') { if (yych <= 0x00) goto yy506; if (yych <= ' ') goto yy541; goto yy506; } else { if (yych <= '>') goto yy514; if (yych <= 0xC1) goto yy506; if (yych <= 0xDF) goto yy534; goto yy535; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy537; goto yy536; } else { if (yych <= 0xF0) goto yy538; if (yych <= 0xF3) goto yy539; if (yych <= 0xF4) goto yy540; goto yy506; } } yy529: ++p; yych = *p; if (yybm[0 + yych] & 32) { goto yy527; } if (yych <= 0xDF) { if (yych <= '\'') { if (yych <= 0x00) goto yy506; if (yych <= ' ') goto yy543; if (yych >= '#') goto yy532; } else { if (yych == '>') goto yy514; if (yych <= 0xC1) goto yy506; goto yy534; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy535; if (yych == 0xED) goto yy537; goto yy536; } else { if (yych <= 0xF0) goto yy538; if (yych <= 0xF3) goto yy539; if (yych <= 0xF4) goto yy540; goto yy506; } } yy530: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy530; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy506; if (yych <= '"') goto yy545; goto yy506; } else { if (yych <= 0xDF) goto yy546; if (yych <= 0xE0) goto yy547; goto yy548; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy549; if (yych <= 0xEF) goto yy548; goto yy550; } else { if (yych <= 0xF3) goto yy551; if (yych <= 0xF4) goto yy552; goto yy506; } } yy532: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy532; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy506; if (yych <= '\'') goto yy545; goto yy506; } else { if (yych <= 0xDF) goto yy553; if (yych <= 0xE0) goto yy554; goto yy555; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy556; if (yych <= 0xEF) goto yy555; goto yy557; } else { if (yych <= 0xF3) goto yy558; if (yych <= 0xF4) goto yy559; goto yy506; } } yy534: ++p; yych = *p; if (yych <= 0x7F) goto yy506; if (yych <= 0xBF) goto yy527; goto yy506; yy535: ++p; yych = *p; if (yych <= 0x9F) goto yy506; if (yych <= 0xBF) goto yy534; goto yy506; yy536: ++p; yych = *p; if (yych <= 0x7F) goto yy506; if (yych <= 0xBF) goto yy534; goto yy506; yy537: ++p; yych = *p; if (yych <= 0x7F) goto yy506; if (yych <= 0x9F) goto yy534; goto yy506; yy538: ++p; yych = *p; if (yych <= 0x8F) goto yy506; if (yych <= 0xBF) goto yy536; goto yy506; yy539: ++p; yych = *p; if (yych <= 0x7F) goto yy506; if (yych <= 0xBF) goto yy536; goto yy506; yy540: ++p; yych = *p; if (yych <= 0x7F) goto yy506; if (yych <= 0x8F) goto yy536; goto yy506; yy541: ++p; yych = *p; if (yych <= '@') { if (yych <= '"') { if (yych <= '\r') { if (yych <= 0x00) goto yy506; if (yych <= 0x08) goto yy527; goto yy541; } else { if (yych == ' ') goto yy541; if (yych <= '!') goto yy527; goto yy506; } } else { if (yych <= ':') { if (yych == '\'') goto yy506; if (yych <= '9') goto yy527; goto yy560; } else { if (yych <= ';') goto yy527; if (yych <= '=') goto yy506; if (yych <= '>') goto yy514; goto yy527; } } } else { if (yych <= 0xDF) { if (yych <= '`') { if (yych <= 'Z') goto yy560; if (yych <= '^') goto yy527; if (yych <= '_') goto yy560; goto yy506; } else { if (yych <= 'z') goto yy560; if (yych <= 0x7F) goto yy527; if (yych <= 0xC1) goto yy506; goto yy534; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy535; if (yych == 0xED) goto yy537; goto yy536; } else { if (yych <= 0xF0) goto yy538; if (yych <= 0xF3) goto yy539; if (yych <= 0xF4) goto yy540; goto yy506; } } } yy543: ++p; yych = *p; if (yych <= '@') { if (yych <= '"') { if (yych <= '\r') { if (yych <= 0x00) goto yy506; if (yych <= 0x08) goto yy527; goto yy543; } else { if (yych == ' ') goto yy543; if (yych <= '!') goto yy527; goto yy530; } } else { if (yych <= ':') { if (yych == '\'') goto yy532; if (yych <= '9') goto yy527; goto yy560; } else { if (yych <= ';') goto yy527; if (yych <= '=') goto yy506; if (yych <= '>') goto yy514; goto yy527; } } } else { if (yych <= 0xDF) { if (yych <= '`') { if (yych <= 'Z') goto yy560; if (yych <= '^') goto yy527; if (yych <= '_') goto yy560; goto yy506; } else { if (yych <= 'z') goto yy560; if (yych <= 0x7F) goto yy527; if (yych <= 0xC1) goto yy506; goto yy534; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy535; if (yych == 0xED) goto yy537; goto yy536; } else { if (yych <= 0xF0) goto yy538; if (yych <= 0xF3) goto yy539; if (yych <= 0xF4) goto yy540; goto yy506; } } } yy545: ++p; yych = *p; if (yybm[0 + yych] & 2) { goto yy511; } if (yych == '/') goto yy513; if (yych == '>') goto yy514; goto yy506; yy546: ++p; yych = *p; if (yych <= 0x7F) goto yy506; if (yych <= 0xBF) goto yy530; goto yy506; yy547: ++p; yych = *p; if (yych <= 0x9F) goto yy506; if (yych <= 0xBF) goto yy546; goto yy506; yy548: ++p; yych = *p; if (yych <= 0x7F) goto yy506; if (yych <= 0xBF) goto yy546; goto yy506; yy549: ++p; yych = *p; if (yych <= 0x7F) goto yy506; if (yych <= 0x9F) goto yy546; goto yy506; yy550: ++p; yych = *p; if (yych <= 0x8F) goto yy506; if (yych <= 0xBF) goto yy548; goto yy506; yy551: ++p; yych = *p; if (yych <= 0x7F) goto yy506; if (yych <= 0xBF) goto yy548; goto yy506; yy552: ++p; yych = *p; if (yych <= 0x7F) goto yy506; if (yych <= 0x8F) goto yy548; goto yy506; yy553: ++p; yych = *p; if (yych <= 0x7F) goto yy506; if (yych <= 0xBF) goto yy532; goto yy506; yy554: ++p; yych = *p; if (yych <= 0x9F) goto yy506; if (yych <= 0xBF) goto yy553; goto yy506; yy555: ++p; yych = *p; if (yych <= 0x7F) goto yy506; if (yych <= 0xBF) goto yy553; goto yy506; yy556: ++p; yych = *p; if (yych <= 0x7F) goto yy506; if (yych <= 0x9F) goto yy553; goto yy506; yy557: ++p; yych = *p; if (yych <= 0x8F) goto yy506; if (yych <= 0xBF) goto yy555; goto yy506; yy558: ++p; yych = *p; if (yych <= 0x7F) goto yy506; if (yych <= 0xBF) goto yy555; goto yy506; yy559: ++p; yych = *p; if (yych <= 0x7F) goto yy506; if (yych <= 0x8F) goto yy555; goto yy506; yy560: ++p; yych = *p; if (yych <= '>') { if (yych <= '&') { if (yych <= 0x1F) { if (yych <= 0x00) goto yy506; if (yych <= 0x08) goto yy527; if (yych >= 0x0E) goto yy527; } else { if (yych <= ' ') goto yy562; if (yych == '"') goto yy506; goto yy527; } } else { if (yych <= '/') { if (yych <= '\'') goto yy506; if (yych <= ',') goto yy527; if (yych <= '.') goto yy560; goto yy527; } else { if (yych <= ';') { if (yych <= ':') goto yy560; goto yy527; } else { if (yych <= '<') goto yy506; if (yych <= '=') goto yy526; goto yy514; } } } } else { if (yych <= 0xC1) { if (yych <= '_') { if (yych <= '@') goto yy527; if (yych <= 'Z') goto yy560; if (yych <= '^') goto yy527; goto yy560; } else { if (yych <= '`') goto yy506; if (yych <= 'z') goto yy560; if (yych <= 0x7F) goto yy527; goto yy506; } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy534; if (yych <= 0xE0) goto yy535; if (yych <= 0xEC) goto yy536; goto yy537; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy536; goto yy538; } else { if (yych <= 0xF3) goto yy539; if (yych <= 0xF4) goto yy540; goto yy506; } } } } yy562: ++p; yych = *p; if (yych <= '@') { if (yych <= '&') { if (yych <= 0x1F) { if (yych <= 0x00) goto yy506; if (yych <= 0x08) goto yy527; if (yych <= '\r') goto yy562; goto yy527; } else { if (yych <= ' ') goto yy562; if (yych == '"') goto yy506; goto yy527; } } else { if (yych <= ';') { if (yych <= '\'') goto yy506; if (yych == ':') goto yy560; goto yy527; } else { if (yych <= '<') goto yy506; if (yych <= '=') goto yy526; if (yych <= '>') goto yy514; goto yy527; } } } else { if (yych <= 0xDF) { if (yych <= '`') { if (yych <= 'Z') goto yy560; if (yych <= '^') goto yy527; if (yych <= '_') goto yy560; goto yy506; } else { if (yych <= 'z') goto yy560; if (yych <= 0x7F) goto yy527; if (yych <= 0xC1) goto yy506; goto yy534; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy535; if (yych == 0xED) goto yy537; goto yy536; } else { if (yych <= 0xF0) goto yy538; if (yych <= 0xF3) goto yy539; if (yych <= 0xF4) goto yy540; goto yy506; } } } } } // 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[] = { 64, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 <= 0xDF) { if (yych <= ';') { if (yych == '\n') goto yy568; } else { if (yych <= '<') goto yy569; if (yych <= 0x7F) goto yy566; if (yych <= 0xC1) goto yy568; goto yy570; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy571; if (yych == 0xED) goto yy573; goto yy572; } else { if (yych <= 0xF0) goto yy574; if (yych <= 0xF3) goto yy575; if (yych <= 0xF4) goto yy576; goto yy568; } } yy566: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) { if (yych != '\n') goto yy578; } else { if (yych <= 0xC1) goto yy567; if (yych <= 0xF4) goto yy578; } yy567 : { return 0; } yy568: yych = *++p; goto yy567; yy569: yyaccept = 0; yych = *(marker = ++p); if (yych <= '/') { if (yych == '\n') goto yy567; if (yych <= '.') goto yy578; goto yy589; } else { if (yych <= 0x7F) goto yy578; if (yych <= 0xC1) goto yy567; if (yych <= 0xF4) goto yy578; goto yy567; } yy570: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy567; if (yych <= 0xBF) goto yy577; goto yy567; yy571: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy567; if (yych <= 0xBF) goto yy582; goto yy567; yy572: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy567; if (yych <= 0xBF) goto yy582; goto yy567; yy573: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy567; if (yych <= 0x9F) goto yy582; goto yy567; yy574: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy567; if (yych <= 0xBF) goto yy584; goto yy567; yy575: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy567; if (yych <= 0xBF) goto yy584; goto yy567; yy576: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy567; if (yych <= 0x8F) goto yy584; goto yy567; yy577: ++p; yych = *p; yy578: if (yybm[0 + yych] & 64) { goto yy577; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy579; if (yych <= '<') goto yy580; } else { if (yych <= 0xDF) goto yy582; if (yych <= 0xE0) goto yy583; goto yy584; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy585; if (yych <= 0xEF) goto yy584; goto yy586; } else { if (yych <= 0xF3) goto yy587; if (yych <= 0xF4) goto yy588; } } yy579: p = marker; if (yyaccept == 0) { goto yy567; } else { goto yy599; } yy580: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy580; } if (yych <= 0xDF) { if (yych <= '.') { if (yych == '\n') goto yy579; goto yy577; } else { if (yych <= '/') goto yy589; if (yych <= 0x7F) goto yy577; if (yych <= 0xC1) goto yy579; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy583; if (yych == 0xED) goto yy585; goto yy584; } else { if (yych <= 0xF0) goto yy586; if (yych <= 0xF3) goto yy587; if (yych <= 0xF4) goto yy588; goto yy579; } } yy582: ++p; yych = *p; if (yych <= 0x7F) goto yy579; if (yych <= 0xBF) goto yy577; goto yy579; yy583: ++p; yych = *p; if (yych <= 0x9F) goto yy579; if (yych <= 0xBF) goto yy582; goto yy579; yy584: ++p; yych = *p; if (yych <= 0x7F) goto yy579; if (yych <= 0xBF) goto yy582; goto yy579; yy585: ++p; yych = *p; if (yych <= 0x7F) goto yy579; if (yych <= 0x9F) goto yy582; goto yy579; yy586: ++p; yych = *p; if (yych <= 0x8F) goto yy579; if (yych <= 0xBF) goto yy584; goto yy579; yy587: ++p; yych = *p; if (yych <= 0x7F) goto yy579; if (yych <= 0xBF) goto yy584; goto yy579; yy588: ++p; yych = *p; if (yych <= 0x7F) goto yy579; if (yych <= 0x8F) goto yy584; goto yy579; yy589: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy580; } if (yych <= 's') { if (yych <= 'R') { if (yych <= '\n') { if (yych <= '\t') goto yy577; goto yy579; } else { if (yych != 'P') goto yy577; } } else { if (yych <= 'o') { if (yych <= 'S') goto yy591; goto yy577; } else { if (yych <= 'p') goto yy590; if (yych <= 'r') goto yy577; goto yy591; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x7F) goto yy577; goto yy579; } else { if (yych <= 0xDF) goto yy582; if (yych <= 0xE0) goto yy583; goto yy584; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy585; if (yych <= 0xEF) goto yy584; goto yy586; } else { if (yych <= 0xF3) goto yy587; if (yych <= 0xF4) goto yy588; goto yy579; } } } yy590: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy580; } if (yych <= 0xC1) { if (yych <= 'R') { if (yych == '\n') goto yy579; if (yych <= 'Q') goto yy577; goto yy592; } else { if (yych == 'r') goto yy592; if (yych <= 0x7F) goto yy577; goto yy579; } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy582; if (yych <= 0xE0) goto yy583; if (yych <= 0xEC) goto yy584; goto yy585; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy584; goto yy586; } else { if (yych <= 0xF3) goto yy587; if (yych <= 0xF4) goto yy588; goto yy579; } } } yy591: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy580; } if (yych <= 't') { if (yych <= 'S') { if (yych <= '\n') { if (yych <= '\t') goto yy577; goto yy579; } else { if (yych == 'C') goto yy593; goto yy577; } } else { if (yych <= 'b') { if (yych <= 'T') goto yy594; goto yy577; } else { if (yych <= 'c') goto yy593; if (yych <= 's') goto yy577; goto yy594; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x7F) goto yy577; goto yy579; } else { if (yych <= 0xDF) goto yy582; if (yych <= 0xE0) goto yy583; goto yy584; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy585; if (yych <= 0xEF) goto yy584; goto yy586; } else { if (yych <= 0xF3) goto yy587; if (yych <= 0xF4) goto yy588; goto yy579; } } } yy592: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy580; } if (yych <= 0xC1) { if (yych <= 'E') { if (yych == '\n') goto yy579; if (yych <= 'D') goto yy577; goto yy595; } else { if (yych == 'e') goto yy595; if (yych <= 0x7F) goto yy577; goto yy579; } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy582; if (yych <= 0xE0) goto yy583; if (yych <= 0xEC) goto yy584; goto yy585; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy584; goto yy586; } else { if (yych <= 0xF3) goto yy587; if (yych <= 0xF4) goto yy588; goto yy579; } } } yy593: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy580; } if (yych <= 0xC1) { if (yych <= 'R') { if (yych == '\n') goto yy579; if (yych <= 'Q') goto yy577; goto yy596; } else { if (yych == 'r') goto yy596; if (yych <= 0x7F) goto yy577; goto yy579; } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy582; if (yych <= 0xE0) goto yy583; if (yych <= 0xEC) goto yy584; goto yy585; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy584; goto yy586; } else { if (yych <= 0xF3) goto yy587; if (yych <= 0xF4) goto yy588; goto yy579; } } } yy594: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy580; } if (yych <= 0xC1) { if (yych <= 'Y') { if (yych == '\n') goto yy579; if (yych <= 'X') goto yy577; goto yy597; } else { if (yych == 'y') goto yy597; if (yych <= 0x7F) goto yy577; goto yy579; } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy582; if (yych <= 0xE0) goto yy583; if (yych <= 0xEC) goto yy584; goto yy585; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy584; goto yy586; } else { if (yych <= 0xF3) goto yy587; if (yych <= 0xF4) goto yy588; goto yy579; } } } yy595: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy580; } if (yych <= 0xDF) { if (yych <= '=') { if (yych == '\n') goto yy579; goto yy577; } else { if (yych <= '>') goto yy598; if (yych <= 0x7F) goto yy577; if (yych <= 0xC1) goto yy579; goto yy582; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy583; if (yych == 0xED) goto yy585; goto yy584; } else { if (yych <= 0xF0) goto yy586; if (yych <= 0xF3) goto yy587; if (yych <= 0xF4) goto yy588; goto yy579; } } yy596: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy580; } if (yych <= 0xC1) { if (yych <= 'I') { if (yych == '\n') goto yy579; if (yych <= 'H') goto yy577; goto yy600; } else { if (yych == 'i') goto yy600; if (yych <= 0x7F) goto yy577; goto yy579; } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy582; if (yych <= 0xE0) goto yy583; if (yych <= 0xEC) goto yy584; goto yy585; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy584; goto yy586; } else { if (yych <= 0xF3) goto yy587; if (yych <= 0xF4) goto yy588; goto yy579; } } } yy597: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy580; } if (yych <= 0xC1) { if (yych <= 'L') { if (yych == '\n') goto yy579; if (yych <= 'K') goto yy577; goto yy592; } else { if (yych == 'l') goto yy592; if (yych <= 0x7F) goto yy577; goto yy579; } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy582; if (yych <= 0xE0) goto yy583; if (yych <= 0xEC) goto yy584; goto yy585; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy584; goto yy586; } else { if (yych <= 0xF3) goto yy587; if (yych <= 0xF4) goto yy588; goto yy579; } } } yy598: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy577; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy599; if (yych <= '<') goto yy580; } else { if (yych <= 0xDF) goto yy582; if (yych <= 0xE0) goto yy583; goto yy584; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy585; if (yych <= 0xEF) goto yy584; goto yy586; } else { if (yych <= 0xF3) goto yy587; if (yych <= 0xF4) goto yy588; } } yy599 : { return (bufsize_t)(p - start); } yy600: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy580; } if (yych <= 0xC1) { if (yych <= 'P') { if (yych == '\n') goto yy579; if (yych <= 'O') goto yy577; } else { if (yych == 'p') goto yy601; if (yych <= 0x7F) goto yy577; goto yy579; } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy582; if (yych <= 0xE0) goto yy583; if (yych <= 0xEC) goto yy584; goto yy585; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy584; goto yy586; } else { if (yych <= 0xF3) goto yy587; if (yych <= 0xF4) goto yy588; goto yy579; } } } yy601: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy580; } if (yych <= 0xC1) { if (yych <= 'T') { if (yych == '\n') goto yy579; if (yych <= 'S') goto yy577; goto yy595; } else { if (yych == 't') goto yy595; if (yych <= 0x7F) goto yy577; goto yy579; } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy582; if (yych <= 0xE0) goto yy583; if (yych <= 0xEC) goto yy584; goto yy585; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy584; goto yy586; } else { if (yych <= 0xF3) goto yy587; if (yych <= 0xF4) goto yy588; goto yy579; } } } } } // 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[] = { 64, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 <= 0xDF) { if (yych <= ',') { if (yych == '\n') goto yy606; } else { if (yych <= '-') goto yy607; if (yych <= 0x7F) goto yy604; if (yych <= 0xC1) goto yy606; goto yy608; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy609; if (yych == 0xED) goto yy611; goto yy610; } else { if (yych <= 0xF0) goto yy612; if (yych <= 0xF3) goto yy613; if (yych <= 0xF4) goto yy614; goto yy606; } } yy604: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) { if (yych != '\n') goto yy616; } else { if (yych <= 0xC1) goto yy605; if (yych <= 0xF4) goto yy616; } yy605 : { return 0; } yy606: yych = *++p; goto yy605; yy607: yyaccept = 0; yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy626; } if (yych <= 0x7F) { if (yych == '\n') goto yy605; goto yy616; } else { if (yych <= 0xC1) goto yy605; if (yych <= 0xF4) goto yy616; goto yy605; } yy608: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy605; if (yych <= 0xBF) goto yy615; goto yy605; yy609: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy605; if (yych <= 0xBF) goto yy619; goto yy605; yy610: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy605; if (yych <= 0xBF) goto yy619; goto yy605; yy611: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy605; if (yych <= 0x9F) goto yy619; goto yy605; yy612: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy605; if (yych <= 0xBF) goto yy621; goto yy605; yy613: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy605; if (yych <= 0xBF) goto yy621; goto yy605; yy614: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy605; if (yych <= 0x8F) goto yy621; goto yy605; yy615: ++p; yych = *p; yy616: if (yybm[0 + yych] & 64) { goto yy615; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy617; if (yych <= '-') goto yy618; } else { if (yych <= 0xDF) goto yy619; if (yych <= 0xE0) goto yy620; goto yy621; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy622; if (yych <= 0xEF) goto yy621; goto yy623; } else { if (yych <= 0xF3) goto yy624; if (yych <= 0xF4) goto yy625; } } yy617: p = marker; if (yyaccept == 0) { goto yy605; } else { goto yy629; } yy618: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy615; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy617; if (yych <= '-') goto yy626; goto yy617; } else { if (yych <= 0xDF) goto yy619; if (yych <= 0xE0) goto yy620; goto yy621; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy622; if (yych <= 0xEF) goto yy621; goto yy623; } else { if (yych <= 0xF3) goto yy624; if (yych <= 0xF4) goto yy625; goto yy617; } } yy619: ++p; yych = *p; if (yych <= 0x7F) goto yy617; if (yych <= 0xBF) goto yy615; goto yy617; yy620: ++p; yych = *p; if (yych <= 0x9F) goto yy617; if (yych <= 0xBF) goto yy619; goto yy617; yy621: ++p; yych = *p; if (yych <= 0x7F) goto yy617; if (yych <= 0xBF) goto yy619; goto yy617; yy622: ++p; yych = *p; if (yych <= 0x7F) goto yy617; if (yych <= 0x9F) goto yy619; goto yy617; yy623: ++p; yych = *p; if (yych <= 0x8F) goto yy617; if (yych <= 0xBF) goto yy621; goto yy617; yy624: ++p; yych = *p; if (yych <= 0x7F) goto yy617; if (yych <= 0xBF) goto yy621; goto yy617; yy625: ++p; yych = *p; if (yych <= 0x7F) goto yy617; if (yych <= 0x8F) goto yy621; goto yy617; yy626: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy626; } if (yych <= 0xDF) { if (yych <= '=') { if (yych == '\n') goto yy617; goto yy615; } else { if (yych <= '>') goto yy628; if (yych <= 0x7F) goto yy615; if (yych <= 0xC1) goto yy617; goto yy619; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy620; if (yych == 0xED) goto yy622; goto yy621; } else { if (yych <= 0xF0) goto yy623; if (yych <= 0xF3) goto yy624; if (yych <= 0xF4) goto yy625; goto yy617; } } yy628: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy615; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy629; if (yych <= '-') goto yy618; } else { if (yych <= 0xDF) goto yy619; if (yych <= 0xE0) goto yy620; goto yy621; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy622; if (yych <= 0xEF) goto yy621; goto yy623; } else { if (yych <= 0xF3) goto yy624; if (yych <= 0xF4) goto yy625; } } yy629 : { 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[] = { 64, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 <= 0xDF) { if (yych <= '>') { if (yych == '\n') goto yy634; } else { if (yych <= '?') goto yy635; if (yych <= 0x7F) goto yy632; if (yych <= 0xC1) goto yy634; goto yy636; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy637; if (yych == 0xED) goto yy639; goto yy638; } else { if (yych <= 0xF0) goto yy640; if (yych <= 0xF3) goto yy641; if (yych <= 0xF4) goto yy642; goto yy634; } } yy632: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) { if (yych != '\n') goto yy644; } else { if (yych <= 0xC1) goto yy633; if (yych <= 0xF4) goto yy644; } yy633 : { return 0; } yy634: yych = *++p; goto yy633; yy635: yyaccept = 0; yych = *(marker = ++p); if (yych <= '>') { if (yych == '\n') goto yy633; if (yych <= '=') goto yy644; goto yy655; } else { if (yych <= 0x7F) goto yy644; if (yych <= 0xC1) goto yy633; if (yych <= 0xF4) goto yy644; goto yy633; } yy636: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy633; if (yych <= 0xBF) goto yy643; goto yy633; yy637: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy633; if (yych <= 0xBF) goto yy648; goto yy633; yy638: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy633; if (yych <= 0xBF) goto yy648; goto yy633; yy639: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy633; if (yych <= 0x9F) goto yy648; goto yy633; yy640: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy633; if (yych <= 0xBF) goto yy650; goto yy633; yy641: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy633; if (yych <= 0xBF) goto yy650; goto yy633; yy642: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy633; if (yych <= 0x8F) goto yy650; goto yy633; yy643: ++p; yych = *p; yy644: if (yybm[0 + yych] & 64) { goto yy643; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy645; if (yych <= '?') goto yy646; } else { if (yych <= 0xDF) goto yy648; if (yych <= 0xE0) goto yy649; goto yy650; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy651; if (yych <= 0xEF) goto yy650; goto yy652; } else { if (yych <= 0xF3) goto yy653; if (yych <= 0xF4) goto yy654; } } yy645: p = marker; if (yyaccept == 0) { goto yy633; } else { goto yy656; } yy646: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy646; } if (yych <= 0xDF) { if (yych <= '=') { if (yych == '\n') goto yy645; goto yy643; } else { if (yych <= '>') goto yy655; if (yych <= 0x7F) goto yy643; if (yych <= 0xC1) goto yy645; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy649; if (yych == 0xED) goto yy651; goto yy650; } else { if (yych <= 0xF0) goto yy652; if (yych <= 0xF3) goto yy653; if (yych <= 0xF4) goto yy654; goto yy645; } } yy648: ++p; yych = *p; if (yych <= 0x7F) goto yy645; if (yych <= 0xBF) goto yy643; goto yy645; yy649: ++p; yych = *p; if (yych <= 0x9F) goto yy645; if (yych <= 0xBF) goto yy648; goto yy645; yy650: ++p; yych = *p; if (yych <= 0x7F) goto yy645; if (yych <= 0xBF) goto yy648; goto yy645; yy651: ++p; yych = *p; if (yych <= 0x7F) goto yy645; if (yych <= 0x9F) goto yy648; goto yy645; yy652: ++p; yych = *p; if (yych <= 0x8F) goto yy645; if (yych <= 0xBF) goto yy650; goto yy645; yy653: ++p; yych = *p; if (yych <= 0x7F) goto yy645; if (yych <= 0xBF) goto yy650; goto yy645; yy654: ++p; yych = *p; if (yych <= 0x7F) goto yy645; if (yych <= 0x8F) goto yy650; goto yy645; yy655: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy643; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy656; if (yych <= '?') goto yy646; } else { if (yych <= 0xDF) goto yy648; if (yych <= 0xE0) goto yy649; goto yy650; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy651; if (yych <= 0xEF) goto yy650; goto yy652; } else { if (yych <= 0xF3) goto yy653; if (yych <= 0xF4) goto yy654; } } yy656 : { 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[] = { 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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] & 64) { goto yy662; } if (yych <= 0xE0) { if (yych <= 0x7F) { if (yych == '\n') goto yy661; } else { if (yych <= 0xC1) goto yy661; if (yych <= 0xDF) goto yy665; goto yy666; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy668; goto yy667; } else { if (yych <= 0xF0) goto yy669; if (yych <= 0xF3) goto yy670; if (yych <= 0xF4) goto yy671; goto yy661; } } yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) { if (yych != '\n') goto yy673; } else { if (yych <= 0xC1) goto yy660; if (yych <= 0xF4) goto yy673; } yy660 : { return 0; } yy661: yych = *++p; goto yy660; yy662: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy672; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy664; if (yych <= '>') goto yy662; } else { if (yych <= 0xDF) goto yy675; if (yych <= 0xE0) goto yy676; goto yy677; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy678; if (yych <= 0xEF) goto yy677; goto yy679; } else { if (yych <= 0xF3) goto yy680; if (yych <= 0xF4) goto yy681; } } yy664 : { return (bufsize_t)(p - start); } yy665: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy660; if (yych <= 0xBF) goto yy672; goto yy660; yy666: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy660; if (yych <= 0xBF) goto yy675; goto yy660; yy667: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy660; if (yych <= 0xBF) goto yy675; goto yy660; yy668: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy660; if (yych <= 0x9F) goto yy675; goto yy660; yy669: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy660; if (yych <= 0xBF) goto yy677; goto yy660; yy670: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy660; if (yych <= 0xBF) goto yy677; goto yy660; yy671: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy660; if (yych <= 0x8F) goto yy677; goto yy660; yy672: ++p; yych = *p; yy673: if (yybm[0 + yych] & 128) { goto yy672; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy674; if (yych <= '>') goto yy662; } else { if (yych <= 0xDF) goto yy675; if (yych <= 0xE0) goto yy676; goto yy677; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy678; if (yych <= 0xEF) goto yy677; goto yy679; } else { if (yych <= 0xF3) goto yy680; if (yych <= 0xF4) goto yy681; } } yy674: p = marker; if (yyaccept == 0) { goto yy660; } else { goto yy664; } yy675: ++p; yych = *p; if (yych <= 0x7F) goto yy674; if (yych <= 0xBF) goto yy672; goto yy674; yy676: ++p; yych = *p; if (yych <= 0x9F) goto yy674; if (yych <= 0xBF) goto yy675; goto yy674; yy677: ++p; yych = *p; if (yych <= 0x7F) goto yy674; if (yych <= 0xBF) goto yy675; goto yy674; yy678: ++p; yych = *p; if (yych <= 0x7F) goto yy674; if (yych <= 0x9F) goto yy675; goto yy674; yy679: ++p; yych = *p; if (yych <= 0x8F) goto yy674; if (yych <= 0xBF) goto yy677; goto yy674; yy680: ++p; yych = *p; if (yych <= 0x7F) goto yy674; if (yych <= 0xBF) goto yy677; goto yy674; yy681: ++p; yych = *p; if (yych <= 0x7F) goto yy674; if (yych <= 0x8F) goto yy677; goto yy674; } } // 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[] = { 64, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 <= 0xDF) { if (yych <= '\\') { if (yych == '\n') goto yy686; } else { if (yych <= ']') goto yy687; if (yych <= 0x7F) goto yy684; if (yych <= 0xC1) goto yy686; goto yy688; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy689; if (yych == 0xED) goto yy691; goto yy690; } else { if (yych <= 0xF0) goto yy692; if (yych <= 0xF3) goto yy693; if (yych <= 0xF4) goto yy694; goto yy686; } } yy684: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) { if (yych != '\n') goto yy696; } else { if (yych <= 0xC1) goto yy685; if (yych <= 0xF4) goto yy696; } yy685 : { return 0; } yy686: yych = *++p; goto yy685; yy687: yyaccept = 0; yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy706; } if (yych <= 0x7F) { if (yych == '\n') goto yy685; goto yy696; } else { if (yych <= 0xC1) goto yy685; if (yych <= 0xF4) goto yy696; goto yy685; } yy688: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy685; if (yych <= 0xBF) goto yy695; goto yy685; yy689: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy685; if (yych <= 0xBF) goto yy699; goto yy685; yy690: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy685; if (yych <= 0xBF) goto yy699; goto yy685; yy691: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy685; if (yych <= 0x9F) goto yy699; goto yy685; yy692: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy685; if (yych <= 0xBF) goto yy701; goto yy685; yy693: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy685; if (yych <= 0xBF) goto yy701; goto yy685; yy694: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy685; if (yych <= 0x8F) goto yy701; goto yy685; yy695: ++p; yych = *p; yy696: if (yybm[0 + yych] & 64) { goto yy695; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy697; if (yych <= ']') goto yy698; } else { if (yych <= 0xDF) goto yy699; if (yych <= 0xE0) goto yy700; goto yy701; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy702; if (yych <= 0xEF) goto yy701; goto yy703; } else { if (yych <= 0xF3) goto yy704; if (yych <= 0xF4) goto yy705; } } yy697: p = marker; if (yyaccept == 0) { goto yy685; } else { goto yy709; } yy698: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy695; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy697; if (yych <= ']') goto yy706; goto yy697; } else { if (yych <= 0xDF) goto yy699; if (yych <= 0xE0) goto yy700; goto yy701; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy702; if (yych <= 0xEF) goto yy701; goto yy703; } else { if (yych <= 0xF3) goto yy704; if (yych <= 0xF4) goto yy705; goto yy697; } } yy699: ++p; yych = *p; if (yych <= 0x7F) goto yy697; if (yych <= 0xBF) goto yy695; goto yy697; yy700: ++p; yych = *p; if (yych <= 0x9F) goto yy697; if (yych <= 0xBF) goto yy699; goto yy697; yy701: ++p; yych = *p; if (yych <= 0x7F) goto yy697; if (yych <= 0xBF) goto yy699; goto yy697; yy702: ++p; yych = *p; if (yych <= 0x7F) goto yy697; if (yych <= 0x9F) goto yy699; goto yy697; yy703: ++p; yych = *p; if (yych <= 0x8F) goto yy697; if (yych <= 0xBF) goto yy701; goto yy697; yy704: ++p; yych = *p; if (yych <= 0x7F) goto yy697; if (yych <= 0xBF) goto yy701; goto yy697; yy705: ++p; yych = *p; if (yych <= 0x7F) goto yy697; if (yych <= 0x8F) goto yy701; goto yy697; yy706: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy706; } if (yych <= 0xDF) { if (yych <= '=') { if (yych == '\n') goto yy697; goto yy695; } else { if (yych <= '>') goto yy708; if (yych <= 0x7F) goto yy695; if (yych <= 0xC1) goto yy697; goto yy699; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy700; if (yych == 0xED) goto yy702; goto yy701; } else { if (yych <= 0xF0) goto yy703; if (yych <= 0xF3) goto yy704; if (yych <= 0xF4) goto yy705; goto yy697; } } yy708: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy695; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy709; if (yych <= ']') goto yy698; } else { if (yych <= 0xDF) goto yy699; if (yych <= 0xE0) goto yy700; goto yy701; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy702; if (yych <= 0xEF) goto yy701; goto yy703; } else { if (yych <= 0xF3) goto yy704; if (yych <= 0xF4) goto yy705; } } yy709 : { 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, 208, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; if (yych <= '&') { if (yych == '"') goto yy714; } else { if (yych <= '\'') goto yy715; if (yych <= '(') goto yy716; } ++p; yy713 : { return 0; } yy714: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) goto yy713; if (yych <= 0x7F) goto yy718; if (yych <= 0xC1) goto yy713; if (yych <= 0xF4) goto yy718; goto yy713; yy715: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) goto yy713; if (yych <= 0x7F) goto yy732; if (yych <= 0xC1) goto yy713; if (yych <= 0xF4) goto yy732; goto yy713; yy716: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) goto yy713; if (yych <= 0x7F) goto yy745; if (yych <= 0xC1) goto yy713; if (yych <= 0xF4) goto yy745; goto yy713; yy717: ++p; yych = *p; yy718: if (yybm[0 + yych] & 16) { goto yy717; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy719; if (yych <= '"') goto yy720; goto yy722; } else { if (yych <= 0xC1) goto yy719; if (yych <= 0xDF) goto yy724; goto yy725; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy727; goto yy726; } else { if (yych <= 0xF0) goto yy728; if (yych <= 0xF3) goto yy729; if (yych <= 0xF4) goto yy730; } } yy719: p = marker; if (yyaccept <= 1) { if (yyaccept == 0) { goto yy713; } else { goto yy721; } } else { if (yyaccept == 2) { goto yy734; } else { goto yy747; } } yy720: ++p; yy721 : { return (bufsize_t)(p - start); } yy722: ++p; yych = *p; if (yybm[0 + yych] & 16) { goto yy717; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy719; if (yych <= '"') goto yy757; goto yy722; } else { if (yych <= 0xC1) goto yy719; if (yych >= 0xE0) goto yy725; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy727; goto yy726; } else { if (yych <= 0xF0) goto yy728; if (yych <= 0xF3) goto yy729; if (yych <= 0xF4) goto yy730; goto yy719; } } yy724: ++p; yych = *p; if (yych <= 0x7F) goto yy719; if (yych <= 0xBF) goto yy717; goto yy719; yy725: ++p; yych = *p; if (yych <= 0x9F) goto yy719; if (yych <= 0xBF) goto yy724; goto yy719; yy726: ++p; yych = *p; if (yych <= 0x7F) goto yy719; if (yych <= 0xBF) goto yy724; goto yy719; yy727: ++p; yych = *p; if (yych <= 0x7F) goto yy719; if (yych <= 0x9F) goto yy724; goto yy719; yy728: ++p; yych = *p; if (yych <= 0x8F) goto yy719; if (yych <= 0xBF) goto yy726; goto yy719; yy729: ++p; yych = *p; if (yych <= 0x7F) goto yy719; if (yych <= 0xBF) goto yy726; goto yy719; yy730: ++p; yych = *p; if (yych <= 0x7F) goto yy719; if (yych <= 0x8F) goto yy726; goto yy719; yy731: ++p; yych = *p; yy732: if (yybm[0 + yych] & 64) { goto yy731; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy719; if (yych >= '(') goto yy735; } else { if (yych <= 0xC1) goto yy719; if (yych <= 0xDF) goto yy737; goto yy738; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy740; goto yy739; } else { if (yych <= 0xF0) goto yy741; if (yych <= 0xF3) goto yy742; if (yych <= 0xF4) goto yy743; goto yy719; } } yy733: ++p; yy734 : { return (bufsize_t)(p - start); } yy735: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy731; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy719; if (yych <= '\'') goto yy758; goto yy735; } else { if (yych <= 0xC1) goto yy719; if (yych >= 0xE0) goto yy738; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy740; goto yy739; } else { if (yych <= 0xF0) goto yy741; if (yych <= 0xF3) goto yy742; if (yych <= 0xF4) goto yy743; goto yy719; } } yy737: ++p; yych = *p; if (yych <= 0x7F) goto yy719; if (yych <= 0xBF) goto yy731; goto yy719; yy738: ++p; yych = *p; if (yych <= 0x9F) goto yy719; if (yych <= 0xBF) goto yy737; goto yy719; yy739: ++p; yych = *p; if (yych <= 0x7F) goto yy719; if (yych <= 0xBF) goto yy737; goto yy719; yy740: ++p; yych = *p; if (yych <= 0x7F) goto yy719; if (yych <= 0x9F) goto yy737; goto yy719; yy741: ++p; yych = *p; if (yych <= 0x8F) goto yy719; if (yych <= 0xBF) goto yy739; goto yy719; yy742: ++p; yych = *p; if (yych <= 0x7F) goto yy719; if (yych <= 0xBF) goto yy739; goto yy719; yy743: ++p; yych = *p; if (yych <= 0x7F) goto yy719; if (yych <= 0x8F) goto yy739; goto yy719; yy744: ++p; yych = *p; yy745: if (yybm[0 + yych] & 128) { goto yy744; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy719; if (yych >= '*') goto yy748; } else { if (yych <= 0xC1) goto yy719; if (yych <= 0xDF) goto yy750; goto yy751; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy753; goto yy752; } else { if (yych <= 0xF0) goto yy754; if (yych <= 0xF3) goto yy755; if (yych <= 0xF4) goto yy756; goto yy719; } } yy746: ++p; yy747 : { return (bufsize_t)(p - start); } yy748: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy744; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy719; if (yych <= ')') goto yy759; goto yy748; } else { if (yych <= 0xC1) goto yy719; if (yych >= 0xE0) goto yy751; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy753; goto yy752; } else { if (yych <= 0xF0) goto yy754; if (yych <= 0xF3) goto yy755; if (yych <= 0xF4) goto yy756; goto yy719; } } yy750: ++p; yych = *p; if (yych <= 0x7F) goto yy719; if (yych <= 0xBF) goto yy744; goto yy719; yy751: ++p; yych = *p; if (yych <= 0x9F) goto yy719; if (yych <= 0xBF) goto yy750; goto yy719; yy752: ++p; yych = *p; if (yych <= 0x7F) goto yy719; if (yych <= 0xBF) goto yy750; goto yy719; yy753: ++p; yych = *p; if (yych <= 0x7F) goto yy719; if (yych <= 0x9F) goto yy750; goto yy719; yy754: ++p; yych = *p; if (yych <= 0x8F) goto yy719; if (yych <= 0xBF) goto yy752; goto yy719; yy755: ++p; yych = *p; if (yych <= 0x7F) goto yy719; if (yych <= 0xBF) goto yy752; goto yy719; yy756: ++p; yych = *p; if (yych <= 0x7F) goto yy719; if (yych <= 0x8F) goto yy752; goto yy719; yy757: yyaccept = 1; marker = ++p; yych = *p; if (yybm[0 + yych] & 16) { goto yy717; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy721; if (yych <= '"') goto yy720; goto yy722; } else { if (yych <= 0xC1) goto yy721; if (yych <= 0xDF) goto yy724; goto yy725; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy727; goto yy726; } else { if (yych <= 0xF0) goto yy728; if (yych <= 0xF3) goto yy729; if (yych <= 0xF4) goto yy730; goto yy721; } } yy758: yyaccept = 2; marker = ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy731; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy734; if (yych <= '\'') goto yy733; goto yy735; } else { if (yych <= 0xC1) goto yy734; if (yych <= 0xDF) goto yy737; goto yy738; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy740; goto yy739; } else { if (yych <= 0xF0) goto yy741; if (yych <= 0xF3) goto yy742; if (yych <= 0xF4) goto yy743; goto yy734; } } yy759: yyaccept = 3; marker = ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy744; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy747; if (yych <= ')') goto yy746; goto yy748; } else { if (yych <= 0xC1) goto yy747; if (yych <= 0xDF) goto yy750; goto yy751; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy753; goto yy752; } else { if (yych <= 0xF0) goto yy754; if (yych <= 0xF3) goto yy755; if (yych <= 0xF4) goto yy756; goto yy747; } } } } // 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 yy764; } ++p; { return 0; } yy764: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy764; } { 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 yy771; ++p; yy770 : { return 0; } yy771: yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy772; } if (yych <= '\f') { if (yych <= 0x08) goto yy770; if (yych <= '\n') goto yy775; goto yy770; } else { if (yych <= '\r') goto yy775; if (yych == '#') goto yy776; goto yy770; } yy772: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy772; } yy774 : { return (bufsize_t)(p - start); } yy775: yych = *++p; goto yy774; yy776: yych = *++p; if (yybm[0 + yych] & 128) { goto yy772; } if (yych <= '\f') { if (yych <= 0x08) goto yy777; if (yych <= '\n') goto yy775; } else { if (yych <= '\r') goto yy775; if (yych == '#') goto yy778; } yy777: p = marker; goto yy770; yy778: yych = *++p; if (yybm[0 + yych] & 128) { goto yy772; } if (yych <= '\f') { if (yych <= 0x08) goto yy777; if (yych <= '\n') goto yy775; goto yy777; } else { if (yych <= '\r') goto yy775; if (yych != '#') goto yy777; } yych = *++p; if (yybm[0 + yych] & 128) { goto yy772; } if (yych <= '\f') { if (yych <= 0x08) goto yy777; if (yych <= '\n') goto yy775; goto yy777; } else { if (yych <= '\r') goto yy775; if (yych != '#') goto yy777; } yych = *++p; if (yybm[0 + yych] & 128) { goto yy772; } if (yych <= '\f') { if (yych <= 0x08) goto yy777; if (yych <= '\n') goto yy775; goto yy777; } else { if (yych <= '\r') goto yy775; if (yych != '#') goto yy777; } ++p; if (yybm[0 + (yych = *p)] & 128) { goto yy772; } if (yych <= 0x08) goto yy777; if (yych <= '\n') goto yy775; if (yych == '\r') goto yy775; goto yy777; } } // 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 yy786; if (yych == '=') goto yy787; ++p; yy785 : { return 0; } yy786: yych = *(marker = ++p); if (yybm[0 + yych] & 64) { goto yy793; } if (yych <= '\f') { if (yych <= 0x08) goto yy785; if (yych <= '\n') goto yy789; goto yy785; } else { if (yych <= '\r') goto yy789; if (yych == ' ') goto yy789; goto yy785; } yy787: yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy799; } if (yych <= '\f') { if (yych <= 0x08) goto yy785; if (yych <= '\n') goto yy796; goto yy785; } else { if (yych <= '\r') goto yy796; if (yych == ' ') goto yy796; goto yy785; } yy788: ++p; yych = *p; yy789: if (yybm[0 + yych] & 32) { goto yy788; } if (yych <= 0x08) goto yy790; if (yych <= '\n') goto yy791; if (yych == '\r') goto yy791; yy790: p = marker; goto yy785; yy791: ++p; { return 2; } yy793: ++p; yych = *p; if (yybm[0 + yych] & 32) { goto yy788; } if (yych <= '\f') { if (yych <= 0x08) goto yy790; if (yych <= '\n') goto yy791; goto yy790; } else { if (yych <= '\r') goto yy791; if (yych == '-') goto yy793; goto yy790; } yy795: ++p; yych = *p; yy796: if (yych <= '\f') { if (yych <= 0x08) goto yy790; if (yych <= '\t') goto yy795; if (yych >= '\v') goto yy790; } else { if (yych <= '\r') goto yy797; if (yych == ' ') goto yy795; goto yy790; } yy797: ++p; { return 1; } yy799: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy799; } if (yych <= '\f') { if (yych <= 0x08) goto yy790; if (yych <= '\t') goto yy795; if (yych <= '\n') goto yy797; goto yy790; } else { if (yych <= '\r') goto yy797; if (yych == ' ') goto yy795; goto yy790; } } } // Scan a thematic break line: "...three or more hyphens, asterisks, // or underscores on a line by themselves. If you wish, you may use // spaces between the hyphens or asterisks." bufsize_t _scan_thematic_break(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, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 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, 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, }; yych = *p; if (yych <= ',') { if (yych == '*') goto yy805; } else { if (yych <= '-') goto yy806; if (yych == '_') goto yy807; } ++p; yy804 : { return 0; } yy805: yych = *(marker = ++p); if (yybm[0 + yych] & 16) { goto yy808; } if (yych == '*') goto yy811; goto yy804; yy806: yych = *(marker = ++p); if (yych <= 0x1F) { if (yych == '\t') goto yy813; goto yy804; } else { if (yych <= ' ') goto yy813; if (yych == '-') goto yy815; goto yy804; } yy807: yych = *(marker = ++p); if (yych <= 0x1F) { if (yych == '\t') goto yy817; goto yy804; } else { if (yych <= ' ') goto yy817; if (yych == '_') goto yy819; goto yy804; } yy808: ++p; yych = *p; if (yybm[0 + yych] & 16) { goto yy808; } if (yych == '*') goto yy811; yy810: p = marker; goto yy804; yy811: ++p; yych = *p; if (yych <= 0x1F) { if (yych == '\t') goto yy811; goto yy810; } else { if (yych <= ' ') goto yy811; if (yych == '*') goto yy821; goto yy810; } yy813: ++p; yych = *p; if (yych <= 0x1F) { if (yych == '\t') goto yy813; goto yy810; } else { if (yych <= ' ') goto yy813; if (yych != '-') goto yy810; } yy815: ++p; yych = *p; if (yych <= 0x1F) { if (yych == '\t') goto yy815; goto yy810; } else { if (yych <= ' ') goto yy815; if (yych == '-') goto yy823; goto yy810; } yy817: ++p; yych = *p; if (yych <= 0x1F) { if (yych == '\t') goto yy817; goto yy810; } else { if (yych <= ' ') goto yy817; if (yych != '_') goto yy810; } yy819: ++p; yych = *p; if (yych <= 0x1F) { if (yych == '\t') goto yy819; goto yy810; } else { if (yych <= ' ') goto yy819; if (yych == '_') goto yy825; goto yy810; } yy821: ++p; yych = *p; if (yybm[0 + yych] & 32) { goto yy821; } if (yych <= 0x08) goto yy810; if (yych <= '\n') goto yy827; if (yych == '\r') goto yy827; goto yy810; yy823: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy823; } if (yych <= 0x08) goto yy810; if (yych <= '\n') goto yy829; if (yych == '\r') goto yy829; goto yy810; yy825: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy825; } if (yych <= 0x08) goto yy810; if (yych <= '\n') goto yy831; if (yych == '\r') goto yy831; goto yy810; yy827: ++p; { return (bufsize_t)(p - start); } yy829: ++p; { return (bufsize_t)(p - start); } yy831: ++p; { return (bufsize_t)(p - start); } } } // 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, 96, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 yy837; if (yych == '~') goto yy838; ++p; yy836 : { return 0; } yy837: yych = *(marker = ++p); if (yych == '`') goto yy839; goto yy836; yy838: yych = *(marker = ++p); if (yych == '~') goto yy841; goto yy836; yy839: yych = *++p; if (yybm[0 + yych] & 16) { goto yy842; } yy840: p = marker; goto yy836; yy841: yych = *++p; if (yybm[0 + yych] & 32) { goto yy844; } goto yy840; yy842: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 64) { goto yy846; } if (yych <= 0xE0) { if (yych <= '`') { if (yych <= 0x00) goto yy840; if (yych <= '\r') goto yy848; goto yy842; } else { if (yych <= 0xC1) goto yy840; if (yych <= 0xDF) goto yy850; goto yy851; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy853; goto yy852; } else { if (yych <= 0xF0) goto yy854; if (yych <= 0xF3) goto yy855; if (yych <= 0xF4) goto yy856; goto yy840; } } yy844: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 128) { goto yy857; } if (yych <= 0xE0) { if (yych <= '~') { if (yych <= 0x00) goto yy840; if (yych <= '\r') goto yy859; goto yy844; } else { if (yych <= 0xC1) goto yy840; if (yych <= 0xDF) goto yy861; goto yy862; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy864; goto yy863; } else { if (yych <= 0xF0) goto yy865; if (yych <= 0xF3) goto yy866; if (yych <= 0xF4) goto yy867; goto yy840; } } yy846: ++p; yych = *p; if (yybm[0 + yych] & 64) { goto yy846; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy840; if (yych >= 0x0E) goto yy840; } else { if (yych <= 0xDF) goto yy850; if (yych <= 0xE0) goto yy851; goto yy852; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy853; if (yych <= 0xEF) goto yy852; goto yy854; } else { if (yych <= 0xF3) goto yy855; if (yych <= 0xF4) goto yy856; goto yy840; } } yy848: ++p; p = marker; { return (bufsize_t)(p - start); } yy850: ++p; yych = *p; if (yych <= 0x7F) goto yy840; if (yych <= 0xBF) goto yy846; goto yy840; yy851: ++p; yych = *p; if (yych <= 0x9F) goto yy840; if (yych <= 0xBF) goto yy850; goto yy840; yy852: ++p; yych = *p; if (yych <= 0x7F) goto yy840; if (yych <= 0xBF) goto yy850; goto yy840; yy853: ++p; yych = *p; if (yych <= 0x7F) goto yy840; if (yych <= 0x9F) goto yy850; goto yy840; yy854: ++p; yych = *p; if (yych <= 0x8F) goto yy840; if (yych <= 0xBF) goto yy852; goto yy840; yy855: ++p; yych = *p; if (yych <= 0x7F) goto yy840; if (yych <= 0xBF) goto yy852; goto yy840; yy856: ++p; yych = *p; if (yych <= 0x7F) goto yy840; if (yych <= 0x8F) goto yy852; goto yy840; yy857: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy857; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy840; if (yych >= 0x0E) goto yy840; } else { if (yych <= 0xDF) goto yy861; if (yych <= 0xE0) goto yy862; goto yy863; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy864; if (yych <= 0xEF) goto yy863; goto yy865; } else { if (yych <= 0xF3) goto yy866; if (yych <= 0xF4) goto yy867; goto yy840; } } yy859: ++p; p = marker; { return (bufsize_t)(p - start); } yy861: ++p; yych = *p; if (yych <= 0x7F) goto yy840; if (yych <= 0xBF) goto yy857; goto yy840; yy862: ++p; yych = *p; if (yych <= 0x9F) goto yy840; if (yych <= 0xBF) goto yy861; goto yy840; yy863: ++p; yych = *p; if (yych <= 0x7F) goto yy840; if (yych <= 0xBF) goto yy861; goto yy840; yy864: ++p; yych = *p; if (yych <= 0x7F) goto yy840; if (yych <= 0x9F) goto yy861; goto yy840; yy865: ++p; yych = *p; if (yych <= 0x8F) goto yy840; if (yych <= 0xBF) goto yy863; goto yy840; yy866: ++p; yych = *p; if (yych <= 0x7F) goto yy840; if (yych <= 0xBF) goto yy863; goto yy840; yy867: ++p; yych = *p; if (yych <= 0x7F) goto yy840; if (yych <= 0x8F) goto yy863; goto yy840; } } // 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 yy872; if (yych == '~') goto yy873; ++p; yy871 : { return 0; } yy872: yych = *(marker = ++p); if (yych == '`') goto yy874; goto yy871; yy873: yych = *(marker = ++p); if (yych == '~') goto yy876; goto yy871; yy874: yych = *++p; if (yybm[0 + yych] & 32) { goto yy877; } yy875: p = marker; goto yy871; yy876: yych = *++p; if (yybm[0 + yych] & 64) { goto yy879; } goto yy875; yy877: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 128) { goto yy881; } if (yych <= '\f') { if (yych <= 0x08) goto yy875; if (yych <= '\n') goto yy883; goto yy875; } else { if (yych <= '\r') goto yy883; if (yych == '`') goto yy877; goto yy875; } yy879: ++p; yych = *p; marker = p; if (yybm[0 + yych] & 64) { goto yy879; } if (yych <= '\f') { if (yych <= 0x08) goto yy875; if (yych <= '\t') goto yy885; if (yych <= '\n') goto yy887; goto yy875; } else { if (yych <= '\r') goto yy887; if (yych == ' ') goto yy885; goto yy875; } yy881: ++p; yych = *p; if (yybm[0 + yych] & 128) { goto yy881; } if (yych <= 0x08) goto yy875; if (yych <= '\n') goto yy883; if (yych != '\r') goto yy875; yy883: ++p; p = marker; { return (bufsize_t)(p - start); } yy885: ++p; yych = *p; if (yych <= '\f') { if (yych <= 0x08) goto yy875; if (yych <= '\t') goto yy885; if (yych >= '\v') goto yy875; } else { if (yych <= '\r') goto yy887; if (yych == ' ') goto yy885; goto yy875; } yy887: ++p; p = marker; { return (bufsize_t)(p - start); } } } // Scans an entity. // Returns number of chars matched. bufsize_t _scan_entity(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; yych = *p; if (yych == '&') goto yy893; ++p; yy892 : { return 0; } yy893: yych = *(marker = ++p); if (yych <= '@') { if (yych != '#') goto yy892; } else { if (yych <= 'Z') goto yy896; if (yych <= '`') goto yy892; if (yych <= 'z') goto yy896; goto yy892; } yych = *++p; if (yych <= 'W') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy897; } else { if (yych <= 'X') goto yy898; if (yych == 'x') goto yy898; } yy895: p = marker; goto yy892; yy896: yych = *++p; if (yych <= '@') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy899; goto yy895; } else { if (yych <= 'Z') goto yy899; if (yych <= '`') goto yy895; if (yych <= 'z') goto yy899; goto yy895; } yy897: yych = *++p; if (yych <= '/') goto yy895; if (yych <= '9') goto yy900; if (yych == ';') goto yy901; goto yy895; yy898: yych = *++p; if (yych <= '@') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy903; goto yy895; } else { if (yych <= 'F') goto yy903; if (yych <= '`') goto yy895; if (yych <= 'f') goto yy903; goto yy895; } yy899: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy904; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; goto yy904; } else { if (yych <= '`') goto yy895; if (yych <= 'z') goto yy904; goto yy895; } } yy900: yych = *++p; if (yych <= '/') goto yy895; if (yych <= '9') goto yy905; if (yych != ';') goto yy895; yy901: ++p; { return (bufsize_t)(p - start); } yy903: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy906; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'F') { if (yych <= '@') goto yy895; goto yy906; } else { if (yych <= '`') goto yy895; if (yych <= 'f') goto yy906; goto yy895; } } yy904: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy907; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; goto yy907; } else { if (yych <= '`') goto yy895; if (yych <= 'z') goto yy907; goto yy895; } } yy905: yych = *++p; if (yych <= '/') goto yy895; if (yych <= '9') goto yy908; if (yych == ';') goto yy901; goto yy895; yy906: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy909; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'F') { if (yych <= '@') goto yy895; goto yy909; } else { if (yych <= '`') goto yy895; if (yych <= 'f') goto yy909; goto yy895; } } yy907: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy910; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; goto yy910; } else { if (yych <= '`') goto yy895; if (yych <= 'z') goto yy910; goto yy895; } } yy908: yych = *++p; if (yych <= '/') goto yy895; if (yych <= '9') goto yy911; if (yych == ';') goto yy901; goto yy895; yy909: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy912; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'F') { if (yych <= '@') goto yy895; goto yy912; } else { if (yych <= '`') goto yy895; if (yych <= 'f') goto yy912; goto yy895; } } yy910: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy913; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; goto yy913; } else { if (yych <= '`') goto yy895; if (yych <= 'z') goto yy913; goto yy895; } } yy911: yych = *++p; if (yych <= '/') goto yy895; if (yych <= '9') goto yy914; if (yych == ';') goto yy901; goto yy895; yy912: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy915; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'F') { if (yych <= '@') goto yy895; goto yy915; } else { if (yych <= '`') goto yy895; if (yych <= 'f') goto yy915; goto yy895; } } yy913: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy916; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; goto yy916; } else { if (yych <= '`') goto yy895; if (yych <= 'z') goto yy916; goto yy895; } } yy914: yych = *++p; if (yych <= '/') goto yy895; if (yych <= '9') goto yy917; if (yych == ';') goto yy901; goto yy895; yy915: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy918; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'F') { if (yych <= '@') goto yy895; goto yy918; } else { if (yych <= '`') goto yy895; if (yych <= 'f') goto yy918; goto yy895; } } yy916: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy919; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; goto yy919; } else { if (yych <= '`') goto yy895; if (yych <= 'z') goto yy919; goto yy895; } } yy917: yych = *++p; if (yych <= '/') goto yy895; if (yych <= '9') goto yy920; if (yych == ';') goto yy901; goto yy895; yy918: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy921; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'F') { if (yych <= '@') goto yy895; goto yy921; } else { if (yych <= '`') goto yy895; if (yych <= 'f') goto yy921; goto yy895; } } yy919: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy922; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; goto yy922; } else { if (yych <= '`') goto yy895; if (yych <= 'z') goto yy922; goto yy895; } } yy920: yych = *++p; if (yych == ';') goto yy901; goto yy895; yy921: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy920; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'F') { if (yych <= '@') goto yy895; goto yy920; } else { if (yych <= '`') goto yy895; if (yych <= 'f') goto yy920; goto yy895; } } yy922: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy923; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy923: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy924; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy924: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy925; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy925: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy926; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy926: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy927; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy927: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy928; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy928: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy929; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy929: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy930; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy930: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy931; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy931: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy932; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy932: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy933; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy933: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy934; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy934: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy935; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy935: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy936; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy936: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy937; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy937: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy938; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy938: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy939; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy939: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy940; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy940: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy941; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy941: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy942; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy942: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy943; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy943: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy944; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; } else { if (yych <= '`') goto yy895; if (yych >= '{') goto yy895; } } yy944: ++p; if ((yych = *p) <= ';') { if (yych <= '/') goto yy895; if (yych <= '9') goto yy920; if (yych <= ':') goto yy895; goto yy901; } else { if (yych <= 'Z') { if (yych <= '@') goto yy895; goto yy920; } else { if (yych <= '`') goto yy895; if (yych <= 'z') goto yy920; goto yy895; } } } } // 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 yy949; if (yych >= 'F') goto yy950; } else { if (yych == 'J') goto yy951; if (yych >= 'V') goto yy952; } } else { if (yych <= 'f') { if (yych == 'd') goto yy949; if (yych >= 'f') goto yy950; } else { if (yych <= 'j') { if (yych >= 'j') goto yy951; } else { if (yych == 'v') goto yy952; } } } ++p; yy948 : { return 0; } yy949: yyaccept = 0; yych = *(marker = ++p); if (yych == 'A') goto yy953; if (yych == 'a') goto yy953; goto yy948; yy950: yyaccept = 0; yych = *(marker = ++p); if (yych == 'I') goto yy955; if (yych == 'i') goto yy955; goto yy948; yy951: yyaccept = 0; yych = *(marker = ++p); if (yych == 'A') goto yy956; if (yych == 'a') goto yy956; goto yy948; yy952: yyaccept = 0; yych = *(marker = ++p); if (yych == 'B') goto yy957; if (yych == 'b') goto yy957; goto yy948; yy953: yych = *++p; if (yych == 'T') goto yy958; if (yych == 't') goto yy958; yy954: p = marker; if (yyaccept == 0) { goto yy948; } else { goto yy966; } yy955: yych = *++p; if (yych == 'L') goto yy959; if (yych == 'l') goto yy959; goto yy954; yy956: yych = *++p; if (yych == 'V') goto yy960; if (yych == 'v') goto yy960; goto yy954; yy957: yych = *++p; if (yych == 'S') goto yy961; if (yych == 's') goto yy961; goto yy954; yy958: yych = *++p; if (yych == 'A') goto yy962; if (yych == 'a') goto yy962; goto yy954; yy959: yych = *++p; if (yych == 'E') goto yy963; if (yych == 'e') goto yy963; goto yy954; yy960: yych = *++p; if (yych == 'A') goto yy957; if (yych == 'a') goto yy957; goto yy954; yy961: yych = *++p; if (yych == 'C') goto yy964; if (yych == 'c') goto yy964; goto yy954; yy962: yych = *++p; if (yych == ':') goto yy965; goto yy954; yy963: yych = *++p; if (yych == ':') goto yy967; goto yy954; yy964: yych = *++p; if (yych == 'R') goto yy968; if (yych == 'r') goto yy968; goto yy954; yy965: yyaccept = 1; yych = *(marker = ++p); if (yych == 'I') goto yy969; if (yych == 'i') goto yy969; yy966 : { return (bufsize_t)(p - start); } yy967: yych = *++p; goto yy966; yy968: yych = *++p; if (yych == 'I') goto yy970; if (yych == 'i') goto yy970; goto yy954; yy969: yych = *++p; if (yych == 'M') goto yy971; if (yych == 'm') goto yy971; goto yy954; yy970: yych = *++p; if (yych == 'P') goto yy972; if (yych == 'p') goto yy972; goto yy954; yy971: yych = *++p; if (yych == 'A') goto yy973; if (yych == 'a') goto yy973; goto yy954; yy972: yych = *++p; if (yych == 'T') goto yy963; if (yych == 't') goto yy963; goto yy954; yy973: yych = *++p; if (yych == 'G') goto yy974; if (yych != 'g') goto yy954; yy974: yych = *++p; if (yych == 'E') goto yy975; if (yych != 'e') goto yy954; yy975: yych = *++p; if (yych != '/') goto yy954; yych = *++p; if (yych <= 'W') { if (yych <= 'J') { if (yych == 'G') goto yy977; if (yych <= 'I') goto yy954; goto yy978; } else { if (yych == 'P') goto yy979; if (yych <= 'V') goto yy954; goto yy980; } } else { if (yych <= 'j') { if (yych == 'g') goto yy977; if (yych <= 'i') goto yy954; goto yy978; } else { if (yych <= 'p') { if (yych <= 'o') goto yy954; goto yy979; } else { if (yych == 'w') goto yy980; goto yy954; } } } yy977: yych = *++p; if (yych == 'I') goto yy981; if (yych == 'i') goto yy981; goto yy954; yy978: yych = *++p; if (yych == 'P') goto yy982; if (yych == 'p') goto yy982; goto yy954; yy979: yych = *++p; if (yych == 'N') goto yy983; if (yych == 'n') goto yy983; goto yy954; yy980: yych = *++p; if (yych == 'E') goto yy984; if (yych == 'e') goto yy984; goto yy954; yy981: yych = *++p; if (yych == 'F') goto yy985; if (yych == 'f') goto yy985; goto yy954; yy982: yych = *++p; if (yych == 'E') goto yy983; if (yych != 'e') goto yy954; yy983: yych = *++p; if (yych == 'G') goto yy985; if (yych == 'g') goto yy985; goto yy954; yy984: yych = *++p; if (yych == 'B') goto yy987; if (yych == 'b') goto yy987; goto yy954; yy985: ++p; { return 0; } yy987: ++p; if ((yych = *p) == 'P') goto yy985; if (yych == 'p') goto yy985; goto yy954; } }