/* Generated by re2c 1.0.2 */ #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; } } yych = *++p; if (yych == ':') 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: 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: yych = *++p; if (yych <= 0x7F) goto yy45; if (yych <= 0xBF) goto yy47; goto yy45; yy53: yych = *++p; if (yych <= 0x9F) goto yy45; if (yych <= 0xBF) goto yy52; goto yy45; yy54: yych = *++p; if (yych <= 0x7F) goto yy45; if (yych <= 0xBF) goto yy52; goto yy45; yy55: yych = *++p; if (yych <= 0x7F) goto yy45; if (yych <= 0x9F) goto yy52; goto yy45; yy56: yych = *++p; if (yych <= 0x8F) goto yy45; if (yych <= 0xBF) goto yy54; goto yy45; yy57: yych = *++p; if (yych <= 0x7F) goto yy45; if (yych <= 0xBF) goto yy54; goto yy45; yy58: 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; } } yych = *++p; if (yych == ':') 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: yych = *++p; yy93: if (yybm[0 + yych] & 128) { goto yy92; } if (yych <= '>') goto yy94; if (yych <= '@') goto yy95; yy94: p = marker; goto yy90; yy95: 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: 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; } } 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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 (yych <= '.') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy225; if (yych <= '\r') goto yy250; goto yy225; } else { if (yych <= ' ') goto yy250; if (yych == '-') goto yy250; goto yy225; } } else { if (yych <= '@') { if (yych <= '9') goto yy250; if (yych == '>') goto yy250; goto yy225; } else { if (yych <= 'Z') goto yy250; if (yych <= '`') goto yy225; if (yych <= 'z') goto yy250; goto yy225; } } yy230: yych = *++p; if (yych == '-') goto yy254; yy231: p = marker; goto yy225; yy232: 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: 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: 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; } } 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: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy237; goto yy231; yy241: yych = *++p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy240; goto yy231; yy242: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy240; goto yy231; yy243: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy240; goto yy231; yy244: yych = *++p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy242; goto yy231; yy245: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy242; goto yy231; yy246: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy242; goto yy231; yy247: 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: yych = *++p; yy250: 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: 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: 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: 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: yych = *++p; yy263: if (yybm[0 + yych] & 8) { goto yy262; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= '-') goto yy284; 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: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy262; goto yy231; yy266: yych = *++p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy265; goto yy231; yy267: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy265; goto yy231; yy268: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy265; goto yy231; yy269: yych = *++p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy267; goto yy231; yy270: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy267; goto yy231; yy271: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy267; goto yy231; yy272: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy255; goto yy231; yy273: yych = *++p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy272; goto yy231; yy274: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy272; goto yy231; yy275: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy272; goto yy231; yy276: yych = *++p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy274; goto yy231; yy277: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy274; goto yy231; yy278: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy274; goto yy231; yy279: yych = *++p; if (yych == 'A') goto yy285; if (yych == 'a') goto yy285; goto yy231; yy280: 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: yych = *++p; if (yybm[0 + yych] & 16) { goto yy286; } if (yych <= 0xE0) { if (yych <= '"') { if (yych <= 0x00) goto yy231; if (yych <= ' ') goto yy282; 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; } } yy284: 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; } } yy285: yych = *++p; if (yych == 'T') goto yy299; if (yych == 't') goto yy299; goto yy231; yy286: yych = *++p; if (yybm[0 + yych] & 16) { goto yy286; } if (yych <= 0xE0) { if (yych <= '=') { if (yych <= 0x00) goto yy231; if (yych <= ' ') goto yy247; 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; } } yy288: yych = *++p; if (yybm[0 + yych] & 32) { goto yy288; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= '"') goto yy300; goto yy231; } else { if (yych <= 0xDF) goto yy301; if (yych <= 0xE0) goto yy302; goto yy303; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy304; if (yych <= 0xEF) goto yy303; goto yy305; } else { if (yych <= 0xF3) goto yy306; if (yych <= 0xF4) goto yy307; goto yy231; } } yy290: yych = *++p; if (yybm[0 + yych] & 64) { goto yy290; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= '\'') goto yy300; goto yy231; } else { if (yych <= 0xDF) goto yy308; if (yych <= 0xE0) goto yy309; goto yy310; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy311; if (yych <= 0xEF) goto yy310; goto yy312; } else { if (yych <= 0xF3) goto yy313; if (yych <= 0xF4) goto yy314; goto yy231; } } yy292: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy286; goto yy231; yy293: yych = *++p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy292; goto yy231; yy294: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy292; goto yy231; yy295: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy292; goto yy231; yy296: yych = *++p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy294; goto yy231; yy297: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy294; goto yy231; yy298: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy294; goto yy231; yy299: yych = *++p; if (yych == 'A') goto yy315; if (yych == 'a') goto yy315; goto yy231; yy300: yych = *++p; if (yybm[0 + yych] & 1) { goto yy247; } if (yych == '/') goto yy251; if (yych == '>') goto yy252; goto yy231; yy301: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy288; goto yy231; yy302: yych = *++p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy301; goto yy231; yy303: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy301; goto yy231; yy304: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy301; goto yy231; yy305: yych = *++p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy303; goto yy231; yy306: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy303; goto yy231; yy307: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy303; goto yy231; yy308: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy290; goto yy231; yy309: yych = *++p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy308; goto yy231; yy310: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy308; goto yy231; yy311: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy308; goto yy231; yy312: yych = *++p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy310; goto yy231; yy313: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy310; goto yy231; yy314: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy310; goto yy231; yy315: yych = *++p; if (yych != '[') goto yy231; yy316: yych = *++p; if (yybm[0 + yych] & 128) { goto yy316; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych >= '^') goto yy231; } else { if (yych <= 0xDF) goto yy319; if (yych <= 0xE0) goto yy320; goto yy321; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy322; if (yych <= 0xEF) goto yy321; goto yy323; } else { if (yych <= 0xF3) goto yy324; if (yych <= 0xF4) goto yy325; goto yy231; } } yych = *++p; if (yybm[0 + yych] & 128) { goto yy316; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy231; if (yych <= ']') goto yy326; goto yy231; } else { if (yych <= 0xDF) goto yy319; if (yych <= 0xE0) goto yy320; goto yy321; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy322; if (yych <= 0xEF) goto yy321; goto yy323; } else { if (yych <= 0xF3) goto yy324; if (yych <= 0xF4) goto yy325; goto yy231; } } yy319: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy316; goto yy231; yy320: yych = *++p; if (yych <= 0x9F) goto yy231; if (yych <= 0xBF) goto yy319; goto yy231; yy321: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy319; goto yy231; yy322: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0x9F) goto yy319; goto yy231; yy323: yych = *++p; if (yych <= 0x8F) goto yy231; if (yych <= 0xBF) goto yy321; goto yy231; yy324: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0xBF) goto yy321; goto yy231; yy325: yych = *++p; if (yych <= 0x7F) goto yy231; if (yych <= 0x8F) goto yy321; goto yy231; yy326: yych = *++p; if (yych <= 0xE0) { if (yych <= '>') { if (yych <= 0x00) goto yy231; if (yych <= '=') goto yy316; goto yy252; } else { if (yych <= 0x7F) goto yy316; if (yych <= 0xC1) goto yy231; if (yych <= 0xDF) goto yy319; goto yy320; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy322; goto yy321; } else { if (yych <= 0xF0) goto yy323; if (yych <= 0xF3) goto yy324; if (yych <= 0xF4) goto yy325; 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 yy331; ++p; yy330 : { return 0; } yy331: yych = *(marker = ++p); switch (yych) { case '!': goto yy332; case '/': goto yy334; case '?': goto yy335; case 'A': case 'a': goto yy337; case 'B': case 'b': goto yy338; case 'C': case 'c': goto yy339; case 'D': case 'd': goto yy340; case 'F': case 'f': goto yy341; case 'H': case 'h': goto yy342; case 'I': case 'i': goto yy343; case 'L': case 'l': goto yy344; case 'M': case 'm': goto yy345; case 'N': case 'n': goto yy346; case 'O': case 'o': goto yy347; case 'P': case 'p': goto yy348; case 'S': case 's': goto yy349; case 'T': case 't': goto yy350; case 'U': case 'u': goto yy351; default: goto yy330; } yy332: yych = *++p; if (yych <= '@') { if (yych == '-') goto yy352; } else { if (yych <= 'Z') goto yy353; if (yych <= '[') goto yy355; } yy333: p = marker; goto yy330; yy334: yych = *++p; switch (yych) { case 'A': case 'a': goto yy337; case 'B': case 'b': goto yy338; case 'C': case 'c': goto yy339; case 'D': case 'd': goto yy340; case 'F': case 'f': goto yy341; case 'H': case 'h': goto yy342; case 'I': case 'i': goto yy343; case 'L': case 'l': goto yy344; case 'M': case 'm': goto yy345; case 'N': case 'n': goto yy346; case 'O': case 'o': goto yy347; case 'P': case 'p': goto yy356; case 'S': case 's': goto yy357; case 'T': case 't': goto yy350; case 'U': case 'u': goto yy351; default: goto yy333; } yy335: ++p; { return 3; } yy337: yych = *++p; if (yych <= 'S') { if (yych <= 'D') { if (yych <= 'C') goto yy333; goto yy358; } else { if (yych <= 'Q') goto yy333; if (yych <= 'R') goto yy359; goto yy360; } } else { if (yych <= 'q') { if (yych == 'd') goto yy358; goto yy333; } else { if (yych <= 'r') goto yy359; if (yych <= 's') goto yy360; goto yy333; } } yy338: yych = *++p; if (yych <= 'O') { if (yych <= 'K') { if (yych == 'A') goto yy361; goto yy333; } else { if (yych <= 'L') goto yy362; if (yych <= 'N') goto yy333; goto yy363; } } else { if (yych <= 'k') { if (yych == 'a') goto yy361; goto yy333; } else { if (yych <= 'l') goto yy362; if (yych == 'o') goto yy363; goto yy333; } } yy339: yych = *++p; if (yych <= 'O') { if (yych <= 'D') { if (yych == 'A') goto yy364; goto yy333; } else { if (yych <= 'E') goto yy365; if (yych <= 'N') goto yy333; goto yy366; } } else { if (yych <= 'd') { if (yych == 'a') goto yy364; goto yy333; } else { if (yych <= 'e') goto yy365; if (yych == 'o') goto yy366; goto yy333; } } yy340: yych = *++p; switch (yych) { case 'D': case 'L': case 'T': case 'd': case 'l': case 't': goto yy367; case 'E': case 'e': goto yy368; case 'I': case 'i': goto yy369; default: goto yy333; } yy341: yych = *++p; if (yych <= 'R') { if (yych <= 'N') { if (yych == 'I') goto yy370; goto yy333; } else { if (yych <= 'O') goto yy371; if (yych <= 'Q') goto yy333; goto yy372; } } else { if (yych <= 'n') { if (yych == 'i') goto yy370; goto yy333; } else { if (yych <= 'o') goto yy371; if (yych == 'r') goto yy372; goto yy333; } } yy342: yych = *++p; if (yych <= 'S') { if (yych <= 'D') { if (yych <= '0') goto yy333; if (yych <= '6') goto yy367; goto yy333; } else { if (yych <= 'E') goto yy373; if (yych == 'R') goto yy367; goto yy333; } } else { if (yych <= 'q') { if (yych <= 'T') goto yy374; if (yych == 'e') goto yy373; goto yy333; } else { if (yych <= 'r') goto yy367; if (yych == 't') goto yy374; goto yy333; } } yy343: yych = *++p; if (yych == 'F') goto yy375; if (yych == 'f') goto yy375; goto yy333; yy344: yych = *++p; if (yych <= 'I') { if (yych == 'E') goto yy376; if (yych <= 'H') goto yy333; goto yy377; } else { if (yych <= 'e') { if (yych <= 'd') goto yy333; goto yy376; } else { if (yych == 'i') goto yy377; goto yy333; } } yy345: yych = *++p; if (yych <= 'E') { if (yych == 'A') goto yy378; if (yych <= 'D') goto yy333; goto yy379; } else { if (yych <= 'a') { if (yych <= '`') goto yy333; goto yy378; } else { if (yych == 'e') goto yy379; goto yy333; } } yy346: yych = *++p; if (yych <= 'O') { if (yych == 'A') goto yy380; if (yych <= 'N') goto yy333; goto yy381; } else { if (yych <= 'a') { if (yych <= '`') goto yy333; goto yy380; } else { if (yych == 'o') goto yy381; goto yy333; } } yy347: yych = *++p; if (yych <= 'P') { if (yych == 'L') goto yy367; if (yych <= 'O') goto yy333; goto yy382; } else { if (yych <= 'l') { if (yych <= 'k') goto yy333; goto yy367; } else { if (yych == 'p') goto yy382; goto yy333; } } yy348: yych = *++p; if (yych <= '>') { if (yych <= ' ') { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; if (yych <= 0x1F) goto yy333; goto yy383; } else { if (yych == '/') goto yy385; if (yych <= '=') goto yy333; goto yy383; } } else { if (yych <= 'R') { if (yych == 'A') goto yy386; if (yych <= 'Q') goto yy333; goto yy387; } else { if (yych <= 'a') { if (yych <= '`') goto yy333; goto yy386; } else { if (yych == 'r') goto yy387; goto yy333; } } } yy349: yych = *++p; switch (yych) { case 'C': case 'c': goto yy388; case 'E': case 'e': goto yy389; case 'O': case 'o': goto yy390; case 'T': case 't': goto yy391; case 'U': case 'u': goto yy392; default: goto yy333; } yy350: yych = *++p; switch (yych) { case 'A': case 'a': goto yy393; case 'B': case 'b': goto yy394; case 'D': case 'd': goto yy367; case 'F': case 'f': goto yy395; case 'H': case 'h': goto yy396; case 'I': case 'i': goto yy397; case 'R': case 'r': goto yy398; default: goto yy333; } yy351: yych = *++p; if (yych == 'L') goto yy367; if (yych == 'l') goto yy367; goto yy333; yy352: yych = *++p; if (yych == '-') goto yy399; goto yy333; yy353: ++p; { return 4; } yy355: yych = *++p; if (yych == 'C') goto yy401; if (yych == 'c') goto yy401; goto yy333; yy356: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= '@') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'A') goto yy386; if (yych == 'a') goto yy386; goto yy333; } } yy357: yych = *++p; if (yych <= 'U') { if (yych <= 'N') { if (yych == 'E') goto yy389; goto yy333; } else { if (yych <= 'O') goto yy390; if (yych <= 'T') goto yy333; goto yy392; } } else { if (yych <= 'n') { if (yych == 'e') goto yy389; goto yy333; } else { if (yych <= 'o') goto yy390; if (yych == 'u') goto yy392; goto yy333; } } yy358: yych = *++p; if (yych == 'D') goto yy402; if (yych == 'd') goto yy402; goto yy333; yy359: yych = *++p; if (yych == 'T') goto yy403; if (yych == 't') goto yy403; goto yy333; yy360: yych = *++p; if (yych == 'I') goto yy404; if (yych == 'i') goto yy404; goto yy333; yy361: yych = *++p; if (yych == 'S') goto yy405; if (yych == 's') goto yy405; goto yy333; yy362: yych = *++p; if (yych == 'O') goto yy406; if (yych == 'o') goto yy406; goto yy333; yy363: yych = *++p; if (yych == 'D') goto yy407; if (yych == 'd') goto yy407; goto yy333; yy364: yych = *++p; if (yych == 'P') goto yy408; if (yych == 'p') goto yy408; goto yy333; yy365: yych = *++p; if (yych == 'N') goto yy409; if (yych == 'n') goto yy409; goto yy333; yy366: yych = *++p; if (yych == 'L') goto yy410; if (yych == 'l') goto yy410; goto yy333; yy367: yych = *++p; if (yych <= ' ') { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; if (yych <= 0x1F) goto yy333; goto yy383; } else { if (yych <= '/') { if (yych <= '.') goto yy333; goto yy385; } else { if (yych == '>') goto yy383; goto yy333; } } yy368: yych = *++p; if (yych == 'T') goto yy411; if (yych == 't') goto yy411; goto yy333; yy369: yych = *++p; if (yych <= 'V') { if (yych <= 'Q') { if (yych == 'A') goto yy412; goto yy333; } else { if (yych <= 'R') goto yy367; if (yych <= 'U') goto yy333; goto yy367; } } else { if (yych <= 'q') { if (yych == 'a') goto yy412; goto yy333; } else { if (yych <= 'r') goto yy367; if (yych == 'v') goto yy367; goto yy333; } } yy370: yych = *++p; if (yych <= 'G') { if (yych == 'E') goto yy413; if (yych <= 'F') goto yy333; goto yy414; } else { if (yych <= 'e') { if (yych <= 'd') goto yy333; goto yy413; } else { if (yych == 'g') goto yy414; goto yy333; } } yy371: yych = *++p; if (yych <= 'R') { if (yych == 'O') goto yy409; if (yych <= 'Q') goto yy333; goto yy415; } else { if (yych <= 'o') { if (yych <= 'n') goto yy333; goto yy409; } else { if (yych == 'r') goto yy415; goto yy333; } } yy372: yych = *++p; if (yych == 'A') goto yy416; if (yych == 'a') goto yy416; goto yy333; yy373: yych = *++p; if (yych == 'A') goto yy417; if (yych == 'a') goto yy417; goto yy333; yy374: yych = *++p; if (yych == 'M') goto yy351; if (yych == 'm') goto yy351; goto yy333; yy375: yych = *++p; if (yych == 'R') goto yy418; if (yych == 'r') goto yy418; goto yy333; yy376: yych = *++p; if (yych == 'G') goto yy419; if (yych == 'g') goto yy419; goto yy333; yy377: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= 'M') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'N') goto yy420; if (yych == 'n') goto yy420; goto yy333; } } yy378: yych = *++p; if (yych == 'I') goto yy421; if (yych == 'i') goto yy421; goto yy333; yy379: yych = *++p; if (yych == 'N') goto yy422; if (yych == 'n') goto yy422; goto yy333; yy380: yych = *++p; if (yych == 'V') goto yy367; if (yych == 'v') goto yy367; goto yy333; yy381: yych = *++p; if (yych == 'F') goto yy423; if (yych == 'f') goto yy423; goto yy333; yy382: yych = *++p; if (yych == 'T') goto yy424; if (yych == 't') goto yy424; goto yy333; yy383: ++p; { return 6; } yy385: yych = *++p; if (yych == '>') goto yy383; goto yy333; yy386: yych = *++p; if (yych == 'R') goto yy425; if (yych == 'r') goto yy425; goto yy333; yy387: yych = *++p; if (yych == 'E') goto yy426; if (yych == 'e') goto yy426; goto yy333; yy388: yych = *++p; if (yych == 'R') goto yy427; if (yych == 'r') goto yy427; goto yy333; yy389: yych = *++p; if (yych == 'C') goto yy408; if (yych == 'c') goto yy408; goto yy333; yy390: yych = *++p; if (yych == 'U') goto yy428; if (yych == 'u') goto yy428; goto yy333; yy391: yych = *++p; if (yych == 'Y') goto yy429; if (yych == 'y') goto yy429; goto yy333; yy392: yych = *++p; if (yych == 'M') goto yy430; if (yych == 'm') goto yy430; goto yy333; yy393: yych = *++p; if (yych == 'B') goto yy431; if (yych == 'b') goto yy431; goto yy333; yy394: yych = *++p; if (yych == 'O') goto yy363; if (yych == 'o') goto yy363; goto yy333; yy395: yych = *++p; if (yych == 'O') goto yy432; if (yych == 'o') goto yy432; goto yy333; yy396: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= 'D') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'E') goto yy433; if (yych == 'e') goto yy433; goto yy333; } } yy397: yych = *++p; if (yych == 'T') goto yy431; if (yych == 't') goto yy431; goto yy333; yy398: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= '@') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'A') goto yy434; if (yych == 'a') goto yy434; goto yy333; } } yy399: ++p; { return 2; } yy401: yych = *++p; if (yych == 'D') goto yy435; if (yych == 'd') goto yy435; goto yy333; yy402: yych = *++p; if (yych == 'R') goto yy436; if (yych == 'r') goto yy436; goto yy333; yy403: yych = *++p; if (yych == 'I') goto yy437; if (yych == 'i') goto yy437; goto yy333; yy404: yych = *++p; if (yych == 'D') goto yy438; if (yych == 'd') goto yy438; goto yy333; yy405: yych = *++p; if (yych == 'E') goto yy439; if (yych == 'e') goto yy439; goto yy333; yy406: yych = *++p; if (yych == 'C') goto yy440; if (yych == 'c') goto yy440; goto yy333; yy407: yych = *++p; if (yych == 'Y') goto yy367; if (yych == 'y') goto yy367; goto yy333; yy408: yych = *++p; if (yych == 'T') goto yy441; if (yych == 't') goto yy441; goto yy333; yy409: yych = *++p; if (yych == 'T') goto yy442; if (yych == 't') goto yy442; goto yy333; yy410: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= 'F') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'G') goto yy443; if (yych == 'g') goto yy443; goto yy333; } } yy411: yych = *++p; if (yych == 'A') goto yy444; if (yych == 'a') goto yy444; goto yy333; yy412: yych = *++p; if (yych == 'L') goto yy445; if (yych == 'l') goto yy445; goto yy333; yy413: yych = *++p; if (yych == 'L') goto yy446; if (yych == 'l') goto yy446; goto yy333; yy414: yych = *++p; if (yych <= 'U') { if (yych == 'C') goto yy447; if (yych <= 'T') goto yy333; goto yy448; } else { if (yych <= 'c') { if (yych <= 'b') goto yy333; goto yy447; } else { if (yych == 'u') goto yy448; goto yy333; } } yy415: yych = *++p; if (yych == 'M') goto yy367; if (yych == 'm') goto yy367; goto yy333; yy416: yych = *++p; if (yych == 'M') goto yy449; if (yych == 'm') goto yy449; goto yy333; yy417: yych = *++p; if (yych == 'D') goto yy450; if (yych == 'd') goto yy450; goto yy333; yy418: yych = *++p; if (yych == 'A') goto yy451; if (yych == 'a') goto yy451; goto yy333; yy419: yych = *++p; if (yych == 'E') goto yy452; if (yych == 'e') goto yy452; goto yy333; yy420: yych = *++p; if (yych == 'K') goto yy367; if (yych == 'k') goto yy367; goto yy333; yy421: yych = *++p; if (yych == 'N') goto yy367; if (yych == 'n') goto yy367; goto yy333; yy422: yych = *++p; if (yych == 'U') goto yy453; if (yych == 'u') goto yy453; goto yy333; yy423: yych = *++p; if (yych == 'R') goto yy454; if (yych == 'r') goto yy454; goto yy333; yy424: yych = *++p; if (yych <= 'I') { if (yych == 'G') goto yy443; if (yych <= 'H') goto yy333; goto yy455; } else { if (yych <= 'g') { if (yych <= 'f') goto yy333; goto yy443; } else { if (yych == 'i') goto yy455; goto yy333; } } yy425: yych = *++p; if (yych == 'A') goto yy415; if (yych == 'a') goto yy415; goto yy333; yy426: yych = *++p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy456; goto yy333; } else { if (yych <= ' ') goto yy456; if (yych == '>') goto yy456; goto yy333; } yy427: yych = *++p; if (yych == 'I') goto yy458; if (yych == 'i') goto yy458; goto yy333; yy428: yych = *++p; if (yych == 'R') goto yy459; if (yych == 'r') goto yy459; goto yy333; yy429: yych = *++p; if (yych == 'L') goto yy387; if (yych == 'l') goto yy387; goto yy333; yy430: yych = *++p; if (yych == 'M') goto yy460; if (yych == 'm') goto yy460; goto yy333; yy431: yych = *++p; if (yych == 'L') goto yy438; if (yych == 'l') goto yy438; goto yy333; yy432: yych = *++p; if (yych == 'O') goto yy461; if (yych == 'o') goto yy461; goto yy333; yy433: yych = *++p; if (yych == 'A') goto yy462; if (yych == 'a') goto yy462; goto yy333; yy434: yych = *++p; if (yych == 'C') goto yy420; if (yych == 'c') goto yy420; goto yy333; yy435: yych = *++p; if (yych == 'A') goto yy463; if (yych == 'a') goto yy463; goto yy333; yy436: yych = *++p; if (yych == 'E') goto yy464; if (yych == 'e') goto yy464; goto yy333; yy437: yych = *++p; if (yych == 'C') goto yy431; if (yych == 'c') goto yy431; goto yy333; yy438: yych = *++p; if (yych == 'E') goto yy367; if (yych == 'e') goto yy367; goto yy333; yy439: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= 'E') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'F') goto yy465; if (yych == 'f') goto yy465; goto yy333; } } yy440: yych = *++p; if (yych == 'K') goto yy466; if (yych == 'k') goto yy466; goto yy333; yy441: yych = *++p; if (yych == 'I') goto yy455; if (yych == 'i') goto yy455; goto yy333; yy442: yych = *++p; if (yych == 'E') goto yy467; if (yych == 'e') goto yy467; goto yy333; yy443: yych = *++p; if (yych == 'R') goto yy468; if (yych == 'r') goto yy468; goto yy333; yy444: yych = *++p; if (yych == 'I') goto yy469; if (yych == 'i') goto yy469; goto yy333; yy445: yych = *++p; if (yych == 'O') goto yy470; if (yych == 'o') goto yy470; goto yy333; yy446: yych = *++p; if (yych == 'D') goto yy471; if (yych == 'd') goto yy471; goto yy333; yy447: yych = *++p; if (yych == 'A') goto yy364; if (yych == 'a') goto yy364; goto yy333; yy448: yych = *++p; if (yych == 'R') goto yy438; if (yych == 'r') goto yy438; goto yy333; yy449: yych = *++p; if (yych == 'E') goto yy472; if (yych == 'e') goto yy472; goto yy333; yy450: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= 'D') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'E') goto yy467; if (yych == 'e') goto yy467; goto yy333; } } yy451: yych = *++p; if (yych == 'M') goto yy438; if (yych == 'm') goto yy438; goto yy333; yy452: yych = *++p; if (yych == 'N') goto yy462; if (yych == 'n') goto yy462; goto yy333; yy453: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= 'H') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'I') goto yy473; if (yych == 'i') goto yy473; goto yy333; } } yy454: yych = *++p; if (yych == 'A') goto yy474; if (yych == 'a') goto yy474; goto yy333; yy455: yych = *++p; if (yych == 'O') goto yy421; if (yych == 'o') goto yy421; goto yy333; yy456: ++p; { return 1; } yy458: yych = *++p; if (yych == 'P') goto yy475; if (yych == 'p') goto yy475; goto yy333; yy459: yych = *++p; if (yych == 'C') goto yy438; if (yych == 'c') goto yy438; goto yy333; yy460: yych = *++p; if (yych == 'A') goto yy476; if (yych == 'a') goto yy476; goto yy333; yy461: yych = *++p; if (yych == 'T') goto yy367; if (yych == 't') goto yy367; goto yy333; yy462: yych = *++p; if (yych == 'D') goto yy367; if (yych == 'd') goto yy367; goto yy333; yy463: yych = *++p; if (yych == 'T') goto yy477; if (yych == 't') goto yy477; goto yy333; yy464: yych = *++p; if (yych == 'S') goto yy478; if (yych == 's') goto yy478; goto yy333; yy465: yych = *++p; if (yych == 'O') goto yy479; if (yych == 'o') goto yy479; goto yy333; yy466: yych = *++p; if (yych == 'Q') goto yy480; if (yych == 'q') goto yy480; goto yy333; yy467: yych = *++p; if (yych == 'R') goto yy367; if (yych == 'r') goto yy367; goto yy333; yy468: yych = *++p; if (yych == 'O') goto yy481; if (yych == 'o') goto yy481; goto yy333; yy469: yych = *++p; if (yych == 'L') goto yy478; if (yych == 'l') goto yy478; goto yy333; yy470: yych = *++p; if (yych == 'G') goto yy367; if (yych == 'g') goto yy367; goto yy333; yy471: yych = *++p; if (yych == 'S') goto yy482; if (yych == 's') goto yy482; goto yy333; yy472: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy333; if (yych <= '\r') goto yy383; goto yy333; } else { if (yych <= ' ') goto yy383; if (yych <= '.') goto yy333; goto yy385; } } else { if (yych <= 'R') { if (yych == '>') goto yy383; goto yy333; } else { if (yych <= 'S') goto yy482; if (yych == 's') goto yy482; goto yy333; } } yy473: yych = *++p; if (yych == 'T') goto yy483; if (yych == 't') goto yy483; goto yy333; yy474: yych = *++p; if (yych == 'M') goto yy484; if (yych == 'm') goto yy484; goto yy333; yy475: yych = *++p; if (yych == 'T') goto yy426; if (yych == 't') goto yy426; goto yy333; yy476: yych = *++p; if (yych == 'R') goto yy407; if (yych == 'r') goto yy407; goto yy333; yy477: yych = *++p; if (yych == 'A') goto yy485; if (yych == 'a') goto yy485; goto yy333; yy478: yych = *++p; if (yych == 'S') goto yy367; if (yych == 's') goto yy367; goto yy333; yy479: yych = *++p; if (yych == 'N') goto yy461; if (yych == 'n') goto yy461; goto yy333; yy480: yych = *++p; if (yych == 'U') goto yy486; if (yych == 'u') goto yy486; goto yy333; yy481: yych = *++p; if (yych == 'U') goto yy487; if (yych == 'u') goto yy487; goto yy333; yy482: yych = *++p; if (yych == 'E') goto yy461; if (yych == 'e') goto yy461; goto yy333; yy483: yych = *++p; if (yych == 'E') goto yy415; if (yych == 'e') goto yy415; goto yy333; yy484: yych = *++p; if (yych == 'E') goto yy478; if (yych == 'e') goto yy478; goto yy333; yy485: yych = *++p; if (yych == '[') goto yy488; goto yy333; yy486: yych = *++p; if (yych == 'O') goto yy490; if (yych == 'o') goto yy490; goto yy333; yy487: yych = *++p; if (yych == 'P') goto yy367; if (yych == 'p') goto yy367; goto yy333; yy488: ++p; { return 5; } yy490: yych = *++p; if (yych == 'T') goto yy438; if (yych == 't') goto yy438; goto yy333; } } // 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 yy495; ++p; yy494 : { return 0; } yy495: yyaccept = 0; yych = *(marker = ++p); if (yych <= '@') { if (yych != '/') goto yy494; } else { if (yych <= 'Z') goto yy498; if (yych <= '`') goto yy494; if (yych <= 'z') goto yy498; goto yy494; } yych = *++p; if (yych <= '@') goto yy497; if (yych <= 'Z') goto yy500; if (yych <= '`') goto yy497; if (yych <= 'z') goto yy500; yy497: p = marker; if (yyaccept == 0) { goto yy494; } else { goto yy513; } yy498: yych = *++p; if (yybm[0 + yych] & 2) { goto yy502; } if (yych <= '=') { if (yych <= '.') { if (yych == '-') goto yy498; goto yy497; } else { if (yych <= '/') goto yy504; if (yych <= '9') goto yy498; goto yy497; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy505; if (yych <= '@') goto yy497; goto yy498; } else { if (yych <= '`') goto yy497; if (yych <= 'z') goto yy498; goto yy497; } } yy500: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy497; if (yych <= '\r') goto yy507; goto yy497; } else { if (yych <= ' ') goto yy507; if (yych == '-') goto yy500; goto yy497; } } else { if (yych <= '@') { if (yych <= '9') goto yy500; if (yych == '>') goto yy505; goto yy497; } else { if (yych <= 'Z') goto yy500; if (yych <= '`') goto yy497; if (yych <= 'z') goto yy500; goto yy497; } } yy502: yych = *++p; if (yybm[0 + yych] & 2) { goto yy502; } if (yych <= '>') { if (yych <= '9') { if (yych != '/') goto yy497; } else { if (yych <= ':') goto yy509; if (yych <= '=') goto yy497; goto yy505; } } else { if (yych <= '^') { if (yych <= '@') goto yy497; if (yych <= 'Z') goto yy509; goto yy497; } else { if (yych == '`') goto yy497; if (yych <= 'z') goto yy509; goto yy497; } } yy504: yych = *++p; if (yych != '>') goto yy497; yy505: yych = *++p; if (yybm[0 + yych] & 4) { goto yy505; } if (yych <= 0x08) goto yy497; if (yych <= '\n') goto yy511; if (yych <= '\v') goto yy497; if (yych <= '\r') goto yy514; goto yy497; yy507: yych = *++p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy497; if (yych <= '\r') goto yy507; goto yy497; } else { if (yych <= ' ') goto yy507; if (yych == '>') goto yy505; goto yy497; } yy509: yych = *++p; if (yybm[0 + yych] & 8) { goto yy509; } if (yych <= ',') { if (yych <= '\r') { if (yych <= 0x08) goto yy497; goto yy515; } else { if (yych == ' ') goto yy515; goto yy497; } } else { if (yych <= '<') { if (yych <= '/') goto yy504; goto yy497; } else { if (yych <= '=') goto yy517; if (yych <= '>') goto yy505; goto yy497; } } yy511: yyaccept = 1; yych = *(marker = ++p); if (yybm[0 + yych] & 4) { goto yy505; } if (yych <= 0x08) goto yy513; if (yych <= '\n') goto yy511; if (yych <= '\v') goto yy513; if (yych <= '\r') goto yy514; yy513 : { return 7; } yy514: ++p; goto yy513; yy515: yych = *++p; if (yych <= '<') { if (yych <= ' ') { if (yych <= 0x08) goto yy497; if (yych <= '\r') goto yy515; if (yych <= 0x1F) goto yy497; goto yy515; } else { if (yych <= '/') { if (yych <= '.') goto yy497; goto yy504; } else { if (yych == ':') goto yy509; goto yy497; } } } else { if (yych <= 'Z') { if (yych <= '=') goto yy517; if (yych <= '>') goto yy505; if (yych <= '@') goto yy497; goto yy509; } else { if (yych <= '_') { if (yych <= '^') goto yy497; goto yy509; } else { if (yych <= '`') goto yy497; if (yych <= 'z') goto yy509; goto yy497; } } } yy517: yych = *++p; if (yybm[0 + yych] & 32) { goto yy519; } if (yych <= 0xE0) { if (yych <= '"') { if (yych <= 0x00) goto yy497; if (yych <= ' ') goto yy517; goto yy521; } else { if (yych <= '\'') goto yy523; if (yych <= 0xC1) goto yy497; if (yych <= 0xDF) goto yy525; goto yy526; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy528; goto yy527; } else { if (yych <= 0xF0) goto yy529; if (yych <= 0xF3) goto yy530; if (yych <= 0xF4) goto yy531; goto yy497; } } yy519: yych = *++p; if (yybm[0 + yych] & 32) { goto yy519; } if (yych <= 0xE0) { if (yych <= '=') { if (yych <= 0x00) goto yy497; if (yych <= ' ') goto yy502; goto yy497; } else { if (yych <= '>') goto yy505; if (yych <= 0xC1) goto yy497; if (yych <= 0xDF) goto yy525; goto yy526; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy528; goto yy527; } else { if (yych <= 0xF0) goto yy529; if (yych <= 0xF3) goto yy530; if (yych <= 0xF4) goto yy531; goto yy497; } } yy521: yych = *++p; if (yybm[0 + yych] & 64) { goto yy521; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy497; if (yych <= '"') goto yy532; goto yy497; } else { if (yych <= 0xDF) goto yy533; if (yych <= 0xE0) goto yy534; goto yy535; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy536; if (yych <= 0xEF) goto yy535; goto yy537; } else { if (yych <= 0xF3) goto yy538; if (yych <= 0xF4) goto yy539; goto yy497; } } yy523: yych = *++p; if (yybm[0 + yych] & 128) { goto yy523; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy497; if (yych <= '\'') goto yy532; goto yy497; } else { if (yych <= 0xDF) goto yy540; if (yych <= 0xE0) goto yy541; goto yy542; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy543; if (yych <= 0xEF) goto yy542; goto yy544; } else { if (yych <= 0xF3) goto yy545; if (yych <= 0xF4) goto yy546; goto yy497; } } yy525: yych = *++p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy519; goto yy497; yy526: yych = *++p; if (yych <= 0x9F) goto yy497; if (yych <= 0xBF) goto yy525; goto yy497; yy527: yych = *++p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy525; goto yy497; yy528: yych = *++p; if (yych <= 0x7F) goto yy497; if (yych <= 0x9F) goto yy525; goto yy497; yy529: yych = *++p; if (yych <= 0x8F) goto yy497; if (yych <= 0xBF) goto yy527; goto yy497; yy530: yych = *++p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy527; goto yy497; yy531: yych = *++p; if (yych <= 0x7F) goto yy497; if (yych <= 0x8F) goto yy527; goto yy497; yy532: yych = *++p; if (yybm[0 + yych] & 2) { goto yy502; } if (yych == '/') goto yy504; if (yych == '>') goto yy505; goto yy497; yy533: yych = *++p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy521; goto yy497; yy534: yych = *++p; if (yych <= 0x9F) goto yy497; if (yych <= 0xBF) goto yy533; goto yy497; yy535: yych = *++p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy533; goto yy497; yy536: yych = *++p; if (yych <= 0x7F) goto yy497; if (yych <= 0x9F) goto yy533; goto yy497; yy537: yych = *++p; if (yych <= 0x8F) goto yy497; if (yych <= 0xBF) goto yy535; goto yy497; yy538: yych = *++p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy535; goto yy497; yy539: yych = *++p; if (yych <= 0x7F) goto yy497; if (yych <= 0x8F) goto yy535; goto yy497; yy540: yych = *++p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy523; goto yy497; yy541: yych = *++p; if (yych <= 0x9F) goto yy497; if (yych <= 0xBF) goto yy540; goto yy497; yy542: yych = *++p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy540; goto yy497; yy543: yych = *++p; if (yych <= 0x7F) goto yy497; if (yych <= 0x9F) goto yy540; goto yy497; yy544: yych = *++p; if (yych <= 0x8F) goto yy497; if (yych <= 0xBF) goto yy542; goto yy497; yy545: yych = *++p; if (yych <= 0x7F) goto yy497; if (yych <= 0xBF) goto yy542; goto yy497; yy546: yych = *++p; if (yych <= 0x7F) goto yy497; if (yych <= 0x8F) goto yy542; goto yy497; } } // Try to match an HTML block end line of type 1 bufsize_t _scan_html_block_end_1(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 <= 0x00) goto yy549; if (yych != '\n') goto yy551; } else { if (yych <= '<') goto yy552; if (yych <= 0x7F) goto yy551; if (yych >= 0xC2) goto yy553; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy554; if (yych == 0xED) goto yy556; goto yy555; } else { if (yych <= 0xF0) goto yy557; if (yych <= 0xF3) goto yy558; if (yych <= 0xF4) goto yy559; } } yy549: ++p; yy550 : { return 0; } yy551: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy550; if (yych <= '\t') goto yy561; goto yy550; } else { if (yych <= 0x7F) goto yy561; if (yych <= 0xC1) goto yy550; if (yych <= 0xF4) goto yy561; goto yy550; } yy552: yyaccept = 0; yych = *(marker = ++p); if (yych <= '.') { if (yych <= 0x00) goto yy550; if (yych == '\n') goto yy550; goto yy561; } else { if (yych <= 0x7F) { if (yych <= '/') goto yy572; goto yy561; } else { if (yych <= 0xC1) goto yy550; if (yych <= 0xF4) goto yy561; goto yy550; } } yy553: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy550; if (yych <= 0xBF) goto yy560; goto yy550; yy554: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy550; if (yych <= 0xBF) goto yy565; goto yy550; yy555: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy550; if (yych <= 0xBF) goto yy565; goto yy550; yy556: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy550; if (yych <= 0x9F) goto yy565; goto yy550; yy557: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy550; if (yych <= 0xBF) goto yy567; goto yy550; yy558: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy550; if (yych <= 0xBF) goto yy567; goto yy550; yy559: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy550; if (yych <= 0x8F) goto yy567; goto yy550; yy560: yych = *++p; yy561: if (yybm[0 + yych] & 64) { goto yy560; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy562; if (yych <= '<') goto yy563; } else { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; goto yy567; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy568; if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; } } yy562: p = marker; if (yyaccept == 0) { goto yy550; } else { goto yy582; } yy563: yych = *++p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xDF) { if (yych <= '.') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= '/') goto yy572; if (yych <= 0x7F) goto yy560; if (yych <= 0xC1) goto yy562; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy566; if (yych == 0xED) goto yy568; goto yy567; } else { if (yych <= 0xF0) goto yy569; if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } yy565: yych = *++p; if (yych <= 0x7F) goto yy562; if (yych <= 0xBF) goto yy560; goto yy562; yy566: yych = *++p; if (yych <= 0x9F) goto yy562; if (yych <= 0xBF) goto yy565; goto yy562; yy567: yych = *++p; if (yych <= 0x7F) goto yy562; if (yych <= 0xBF) goto yy565; goto yy562; yy568: yych = *++p; if (yych <= 0x7F) goto yy562; if (yych <= 0x9F) goto yy565; goto yy562; yy569: yych = *++p; if (yych <= 0x8F) goto yy562; if (yych <= 0xBF) goto yy567; goto yy562; yy570: yych = *++p; if (yych <= 0x7F) goto yy562; if (yych <= 0xBF) goto yy567; goto yy562; yy571: yych = *++p; if (yych <= 0x7F) goto yy562; if (yych <= 0x8F) goto yy567; goto yy562; yy572: yych = *++p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 's') { if (yych <= 'P') { if (yych <= '\t') { if (yych <= 0x00) goto yy562; goto yy560; } else { if (yych <= '\n') goto yy562; if (yych <= 'O') goto yy560; } } else { if (yych <= 'o') { if (yych == 'S') goto yy574; goto yy560; } else { if (yych <= 'p') goto yy573; if (yych <= 'r') goto yy560; goto yy574; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x7F) goto yy560; goto yy562; } else { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; goto yy567; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy568; if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy573: yych = *++p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'Q') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 'q') { if (yych <= 'R') goto yy575; goto yy560; } else { if (yych <= 'r') goto yy575; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy574: yych = *++p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 't') { if (yych <= 'C') { if (yych <= '\t') { if (yych <= 0x00) goto yy562; goto yy560; } else { if (yych <= '\n') goto yy562; if (yych <= 'B') goto yy560; goto yy576; } } else { if (yych <= 'b') { if (yych == 'T') goto yy577; goto yy560; } else { if (yych <= 'c') goto yy576; if (yych <= 's') goto yy560; goto yy577; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x7F) goto yy560; goto yy562; } else { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; goto yy567; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy568; if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy575: yych = *++p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'D') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 'd') { if (yych <= 'E') goto yy578; goto yy560; } else { if (yych <= 'e') goto yy578; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy576: yych = *++p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'Q') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 'q') { if (yych <= 'R') goto yy579; goto yy560; } else { if (yych <= 'r') goto yy579; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy577: yych = *++p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'X') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 'x') { if (yych <= 'Y') goto yy580; goto yy560; } else { if (yych <= 'y') goto yy580; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy578: yych = *++p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= '>') goto yy581; if (yych <= 0x7F) goto yy560; if (yych <= 0xC1) goto yy562; goto yy565; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy566; if (yych == 0xED) goto yy568; goto yy567; } else { if (yych <= 0xF0) goto yy569; if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } yy579: yych = *++p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'H') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 'h') { if (yych <= 'I') goto yy583; goto yy560; } else { if (yych <= 'i') goto yy583; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy580: yych = *++p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'K') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 'k') { if (yych <= 'L') goto yy575; goto yy560; } else { if (yych <= 'l') goto yy575; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy581: yyaccept = 1; yych = *(marker = ++p); if (yybm[0 + yych] & 64) { goto yy560; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy582; if (yych <= '<') goto yy563; } else { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; goto yy567; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy568; if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; } } yy582 : { return (bufsize_t)(p - start); } yy583: yych = *++p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'O') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 'o') { if (yych >= 'Q') goto yy560; } else { if (yych <= 'p') goto yy584; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } yy584: yych = *++p; if (yybm[0 + yych] & 128) { goto yy563; } if (yych <= 0xC1) { if (yych <= 'S') { if (yych <= 0x00) goto yy562; if (yych == '\n') goto yy562; goto yy560; } else { if (yych <= 's') { if (yych <= 'T') goto yy578; goto yy560; } else { if (yych <= 't') goto yy578; if (yych <= 0x7F) goto yy560; goto yy562; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy565; if (yych <= 0xE0) goto yy566; if (yych <= 0xEC) goto yy567; goto yy568; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy567; goto yy569; } else { if (yych <= 0xF3) goto yy570; if (yych <= 0xF4) goto yy571; goto yy562; } } } } } // Try to match an HTML block end line of type 2 bufsize_t _scan_html_block_end_2(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 <= 0x00) goto yy587; if (yych != '\n') goto yy589; } else { if (yych <= '-') goto yy590; if (yych <= 0x7F) goto yy589; if (yych >= 0xC2) goto yy591; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy592; if (yych == 0xED) goto yy594; goto yy593; } else { if (yych <= 0xF0) goto yy595; if (yych <= 0xF3) goto yy596; if (yych <= 0xF4) goto yy597; } } yy587: ++p; yy588 : { return 0; } yy589: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy588; if (yych <= '\t') goto yy599; goto yy588; } else { if (yych <= 0x7F) goto yy599; if (yych <= 0xC1) goto yy588; if (yych <= 0xF4) goto yy599; goto yy588; } yy590: yyaccept = 0; yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy609; } if (yych <= '\n') { if (yych <= 0x00) goto yy588; if (yych <= '\t') goto yy599; goto yy588; } else { if (yych <= 0x7F) goto yy599; if (yych <= 0xC1) goto yy588; if (yych <= 0xF4) goto yy599; goto yy588; } yy591: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy588; if (yych <= 0xBF) goto yy598; goto yy588; yy592: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy588; if (yych <= 0xBF) goto yy602; goto yy588; yy593: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy588; if (yych <= 0xBF) goto yy602; goto yy588; yy594: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy588; if (yych <= 0x9F) goto yy602; goto yy588; yy595: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy588; if (yych <= 0xBF) goto yy604; goto yy588; yy596: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy588; if (yych <= 0xBF) goto yy604; goto yy588; yy597: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy588; if (yych <= 0x8F) goto yy604; goto yy588; yy598: yych = *++p; yy599: if (yybm[0 + yych] & 64) { goto yy598; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy600; if (yych <= '-') goto yy601; } else { if (yych <= 0xDF) goto yy602; if (yych <= 0xE0) goto yy603; goto yy604; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy605; if (yych <= 0xEF) goto yy604; goto yy606; } else { if (yych <= 0xF3) goto yy607; if (yych <= 0xF4) goto yy608; } } yy600: p = marker; if (yyaccept == 0) { goto yy588; } else { goto yy612; } yy601: yych = *++p; if (yybm[0 + yych] & 64) { goto yy598; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy600; if (yych <= '-') goto yy609; goto yy600; } else { if (yych <= 0xDF) goto yy602; if (yych <= 0xE0) goto yy603; goto yy604; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy605; if (yych <= 0xEF) goto yy604; goto yy606; } else { if (yych <= 0xF3) goto yy607; if (yych <= 0xF4) goto yy608; goto yy600; } } yy602: yych = *++p; if (yych <= 0x7F) goto yy600; if (yych <= 0xBF) goto yy598; goto yy600; yy603: yych = *++p; if (yych <= 0x9F) goto yy600; if (yych <= 0xBF) goto yy602; goto yy600; yy604: yych = *++p; if (yych <= 0x7F) goto yy600; if (yych <= 0xBF) goto yy602; goto yy600; yy605: yych = *++p; if (yych <= 0x7F) goto yy600; if (yych <= 0x9F) goto yy602; goto yy600; yy606: yych = *++p; if (yych <= 0x8F) goto yy600; if (yych <= 0xBF) goto yy604; goto yy600; yy607: yych = *++p; if (yych <= 0x7F) goto yy600; if (yych <= 0xBF) goto yy604; goto yy600; yy608: yych = *++p; if (yych <= 0x7F) goto yy600; if (yych <= 0x8F) goto yy604; goto yy600; yy609: yych = *++p; if (yybm[0 + yych] & 128) { goto yy609; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy600; if (yych == '\n') goto yy600; goto yy598; } else { if (yych <= '>') goto yy611; if (yych <= 0x7F) goto yy598; if (yych <= 0xC1) goto yy600; goto yy602; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy603; if (yych == 0xED) goto yy605; goto yy604; } else { if (yych <= 0xF0) goto yy606; if (yych <= 0xF3) goto yy607; if (yych <= 0xF4) goto yy608; goto yy600; } } yy611: yyaccept = 1; yych = *(marker = ++p); if (yybm[0 + yych] & 64) { goto yy598; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy612; if (yych <= '-') goto yy601; } else { if (yych <= 0xDF) goto yy602; if (yych <= 0xE0) goto yy603; goto yy604; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy605; if (yych <= 0xEF) goto yy604; goto yy606; } else { if (yych <= 0xF3) goto yy607; if (yych <= 0xF4) goto yy608; } } yy612 : { return (bufsize_t)(p - start); } } } // Try to match an HTML block end line of type 3 bufsize_t _scan_html_block_end_3(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 <= 0x00) goto yy615; if (yych != '\n') goto yy617; } else { if (yych <= '?') goto yy618; if (yych <= 0x7F) goto yy617; if (yych >= 0xC2) 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; } } yy615: ++p; yy616 : { return 0; } yy617: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy616; if (yych <= '\t') goto yy627; goto yy616; } else { if (yych <= 0x7F) goto yy627; if (yych <= 0xC1) goto yy616; if (yych <= 0xF4) goto yy627; goto yy616; } yy618: yyaccept = 0; yych = *(marker = ++p); if (yych <= '=') { if (yych <= 0x00) goto yy616; if (yych == '\n') goto yy616; goto yy627; } else { if (yych <= 0x7F) { if (yych <= '>') goto yy638; goto yy627; } else { if (yych <= 0xC1) goto yy616; if (yych <= 0xF4) goto yy627; goto yy616; } } yy619: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy616; if (yych <= 0xBF) goto yy626; goto yy616; yy620: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy616; if (yych <= 0xBF) goto yy631; goto yy616; yy621: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy616; if (yych <= 0xBF) goto yy631; goto yy616; yy622: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy616; if (yych <= 0x9F) goto yy631; goto yy616; yy623: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy616; if (yych <= 0xBF) goto yy633; goto yy616; yy624: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy616; if (yych <= 0xBF) goto yy633; goto yy616; yy625: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy616; if (yych <= 0x8F) goto yy633; goto yy616; yy626: yych = *++p; yy627: if (yybm[0 + yych] & 64) { goto yy626; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy628; if (yych <= '?') goto yy629; } else { if (yych <= 0xDF) goto yy631; if (yych <= 0xE0) goto yy632; goto yy633; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy634; if (yych <= 0xEF) goto yy633; goto yy635; } else { if (yych <= 0xF3) goto yy636; if (yych <= 0xF4) goto yy637; } } yy628: p = marker; if (yyaccept == 0) { goto yy616; } else { goto yy639; } yy629: yych = *++p; if (yybm[0 + yych] & 128) { goto yy629; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy628; if (yych == '\n') goto yy628; goto yy626; } else { if (yych <= '>') goto yy638; if (yych <= 0x7F) goto yy626; if (yych <= 0xC1) goto yy628; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy632; if (yych == 0xED) goto yy634; goto yy633; } else { if (yych <= 0xF0) goto yy635; if (yych <= 0xF3) goto yy636; if (yych <= 0xF4) goto yy637; goto yy628; } } yy631: yych = *++p; if (yych <= 0x7F) goto yy628; if (yych <= 0xBF) goto yy626; goto yy628; yy632: yych = *++p; if (yych <= 0x9F) goto yy628; if (yych <= 0xBF) goto yy631; goto yy628; yy633: yych = *++p; if (yych <= 0x7F) goto yy628; if (yych <= 0xBF) goto yy631; goto yy628; yy634: yych = *++p; if (yych <= 0x7F) goto yy628; if (yych <= 0x9F) goto yy631; goto yy628; yy635: yych = *++p; if (yych <= 0x8F) goto yy628; if (yych <= 0xBF) goto yy633; goto yy628; yy636: yych = *++p; if (yych <= 0x7F) goto yy628; if (yych <= 0xBF) goto yy633; goto yy628; yy637: yych = *++p; if (yych <= 0x7F) goto yy628; if (yych <= 0x8F) goto yy633; goto yy628; yy638: yyaccept = 1; yych = *(marker = ++p); if (yybm[0 + yych] & 64) { goto yy626; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy639; if (yych <= '?') goto yy629; } else { if (yych <= 0xDF) goto yy631; if (yych <= 0xE0) goto yy632; goto yy633; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy634; if (yych <= 0xEF) goto yy633; goto yy635; } else { if (yych <= 0xF3) goto yy636; if (yych <= 0xF4) goto yy637; } } yy639 : { return (bufsize_t)(p - start); } } } // Try to match an HTML block end line of type 4 bufsize_t _scan_html_block_end_4(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 64, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 yy645; } if (yych <= 0xE0) { if (yych <= '\n') { if (yych <= 0x00) goto yy642; if (yych <= '\t') goto yy644; } else { if (yych <= 0x7F) goto yy644; if (yych <= 0xC1) goto yy642; if (yych <= 0xDF) goto yy648; goto yy649; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy651; goto yy650; } else { if (yych <= 0xF0) goto yy652; if (yych <= 0xF3) goto yy653; if (yych <= 0xF4) goto yy654; } } yy642: ++p; yy643 : { return 0; } yy644: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy643; if (yych <= '\t') goto yy656; goto yy643; } else { if (yych <= 0x7F) goto yy656; if (yych <= 0xC1) goto yy643; if (yych <= 0xF4) goto yy656; goto yy643; } yy645: yyaccept = 1; yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy655; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy647; if (yych <= '>') goto yy645; } else { if (yych <= 0xDF) goto yy658; if (yych <= 0xE0) goto yy659; goto yy660; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy661; if (yych <= 0xEF) goto yy660; goto yy662; } else { if (yych <= 0xF3) goto yy663; if (yych <= 0xF4) goto yy664; } } yy647 : { return (bufsize_t)(p - start); } yy648: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy643; if (yych <= 0xBF) goto yy655; goto yy643; yy649: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy643; if (yych <= 0xBF) goto yy658; goto yy643; yy650: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy643; if (yych <= 0xBF) goto yy658; goto yy643; yy651: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy643; if (yych <= 0x9F) goto yy658; goto yy643; yy652: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy643; if (yych <= 0xBF) goto yy660; goto yy643; yy653: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy643; if (yych <= 0xBF) goto yy660; goto yy643; yy654: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy643; if (yych <= 0x8F) goto yy660; goto yy643; yy655: yych = *++p; yy656: if (yybm[0 + yych] & 128) { goto yy655; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy657; if (yych <= '>') goto yy645; } else { if (yych <= 0xDF) goto yy658; if (yych <= 0xE0) goto yy659; goto yy660; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy661; if (yych <= 0xEF) goto yy660; goto yy662; } else { if (yych <= 0xF3) goto yy663; if (yych <= 0xF4) goto yy664; } } yy657: p = marker; if (yyaccept == 0) { goto yy643; } else { goto yy647; } yy658: yych = *++p; if (yych <= 0x7F) goto yy657; if (yych <= 0xBF) goto yy655; goto yy657; yy659: yych = *++p; if (yych <= 0x9F) goto yy657; if (yych <= 0xBF) goto yy658; goto yy657; yy660: yych = *++p; if (yych <= 0x7F) goto yy657; if (yych <= 0xBF) goto yy658; goto yy657; yy661: yych = *++p; if (yych <= 0x7F) goto yy657; if (yych <= 0x9F) goto yy658; goto yy657; yy662: yych = *++p; if (yych <= 0x8F) goto yy657; if (yych <= 0xBF) goto yy660; goto yy657; yy663: yych = *++p; if (yych <= 0x7F) goto yy657; if (yych <= 0xBF) goto yy660; goto yy657; yy664: yych = *++p; if (yych <= 0x7F) goto yy657; if (yych <= 0x8F) goto yy660; goto yy657; } } // Try to match an HTML block end line of type 5 bufsize_t _scan_html_block_end_5(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 <= 0x00) goto yy667; if (yych != '\n') goto yy669; } else { if (yych <= ']') goto yy670; if (yych <= 0x7F) goto yy669; if (yych >= 0xC2) goto yy671; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy672; if (yych == 0xED) goto yy674; goto yy673; } else { if (yych <= 0xF0) goto yy675; if (yych <= 0xF3) goto yy676; if (yych <= 0xF4) goto yy677; } } yy667: ++p; yy668 : { return 0; } yy669: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy668; if (yych <= '\t') goto yy679; goto yy668; } else { if (yych <= 0x7F) goto yy679; if (yych <= 0xC1) goto yy668; if (yych <= 0xF4) goto yy679; goto yy668; } yy670: yyaccept = 0; yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy689; } if (yych <= '\n') { if (yych <= 0x00) goto yy668; if (yych <= '\t') goto yy679; goto yy668; } else { if (yych <= 0x7F) goto yy679; if (yych <= 0xC1) goto yy668; if (yych <= 0xF4) goto yy679; goto yy668; } yy671: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy668; if (yych <= 0xBF) goto yy678; goto yy668; yy672: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy668; if (yych <= 0xBF) goto yy682; goto yy668; yy673: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy668; if (yych <= 0xBF) goto yy682; goto yy668; yy674: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy668; if (yych <= 0x9F) goto yy682; goto yy668; yy675: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy668; if (yych <= 0xBF) goto yy684; goto yy668; yy676: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy668; if (yych <= 0xBF) goto yy684; goto yy668; yy677: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy668; if (yych <= 0x8F) goto yy684; goto yy668; yy678: yych = *++p; yy679: if (yybm[0 + yych] & 64) { goto yy678; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy680; if (yych <= ']') goto yy681; } else { if (yych <= 0xDF) goto yy682; if (yych <= 0xE0) goto yy683; goto yy684; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy685; if (yych <= 0xEF) goto yy684; goto yy686; } else { if (yych <= 0xF3) goto yy687; if (yych <= 0xF4) goto yy688; } } yy680: p = marker; if (yyaccept == 0) { goto yy668; } else { goto yy692; } yy681: yych = *++p; if (yybm[0 + yych] & 64) { goto yy678; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy680; if (yych <= ']') goto yy689; goto yy680; } else { if (yych <= 0xDF) goto yy682; if (yych <= 0xE0) goto yy683; goto yy684; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy685; if (yych <= 0xEF) goto yy684; goto yy686; } else { if (yych <= 0xF3) goto yy687; if (yych <= 0xF4) goto yy688; goto yy680; } } yy682: yych = *++p; if (yych <= 0x7F) goto yy680; if (yych <= 0xBF) goto yy678; goto yy680; yy683: yych = *++p; if (yych <= 0x9F) goto yy680; if (yych <= 0xBF) goto yy682; goto yy680; yy684: yych = *++p; if (yych <= 0x7F) goto yy680; if (yych <= 0xBF) goto yy682; goto yy680; yy685: yych = *++p; if (yych <= 0x7F) goto yy680; if (yych <= 0x9F) goto yy682; goto yy680; yy686: yych = *++p; if (yych <= 0x8F) goto yy680; if (yych <= 0xBF) goto yy684; goto yy680; yy687: yych = *++p; if (yych <= 0x7F) goto yy680; if (yych <= 0xBF) goto yy684; goto yy680; yy688: yych = *++p; if (yych <= 0x7F) goto yy680; if (yych <= 0x8F) goto yy684; goto yy680; yy689: yych = *++p; if (yybm[0 + yych] & 128) { goto yy689; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy680; if (yych == '\n') goto yy680; goto yy678; } else { if (yych <= '>') goto yy691; if (yych <= 0x7F) goto yy678; if (yych <= 0xC1) goto yy680; goto yy682; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy683; if (yych == 0xED) goto yy685; goto yy684; } else { if (yych <= 0xF0) goto yy686; if (yych <= 0xF3) goto yy687; if (yych <= 0xF4) goto yy688; goto yy680; } } yy691: yyaccept = 1; yych = *(marker = ++p); if (yybm[0 + yych] & 64) { goto yy678; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy692; if (yych <= ']') goto yy681; } else { if (yych <= 0xDF) goto yy682; if (yych <= 0xE0) goto yy683; goto yy684; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy685; if (yych <= 0xEF) goto yy684; goto yy686; } else { if (yych <= 0xF3) goto yy687; if (yych <= 0xF4) goto yy688; } } yy692 : { 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 yy697; } else { if (yych <= '\'') goto yy698; if (yych <= '(') goto yy699; } ++p; yy696 : { return 0; } yy697: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) goto yy696; if (yych <= 0x7F) goto yy701; if (yych <= 0xC1) goto yy696; if (yych <= 0xF4) goto yy701; goto yy696; yy698: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) goto yy696; if (yych <= 0x7F) goto yy715; if (yych <= 0xC1) goto yy696; if (yych <= 0xF4) goto yy715; goto yy696; yy699: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) goto yy696; if (yych <= 0x7F) goto yy728; if (yych <= 0xC1) goto yy696; if (yych <= 0xF4) goto yy728; goto yy696; yy700: yych = *++p; yy701: if (yybm[0 + yych] & 16) { goto yy700; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy702; if (yych <= '"') goto yy703; goto yy705; } else { if (yych <= 0xC1) goto yy702; if (yych <= 0xDF) goto yy707; goto yy708; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy710; goto yy709; } else { if (yych <= 0xF0) goto yy711; if (yych <= 0xF3) goto yy712; if (yych <= 0xF4) goto yy713; } } yy702: p = marker; if (yyaccept <= 1) { if (yyaccept == 0) { goto yy696; } else { goto yy704; } } else { if (yyaccept == 2) { goto yy717; } else { goto yy730; } } yy703: ++p; yy704 : { return (bufsize_t)(p - start); } yy705: yych = *++p; if (yybm[0 + yych] & 16) { goto yy700; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy702; if (yych <= '"') goto yy740; goto yy705; } else { if (yych <= 0xC1) goto yy702; if (yych >= 0xE0) goto yy708; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy710; goto yy709; } else { if (yych <= 0xF0) goto yy711; if (yych <= 0xF3) goto yy712; if (yych <= 0xF4) goto yy713; goto yy702; } } yy707: yych = *++p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy700; goto yy702; yy708: yych = *++p; if (yych <= 0x9F) goto yy702; if (yych <= 0xBF) goto yy707; goto yy702; yy709: yych = *++p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy707; goto yy702; yy710: yych = *++p; if (yych <= 0x7F) goto yy702; if (yych <= 0x9F) goto yy707; goto yy702; yy711: yych = *++p; if (yych <= 0x8F) goto yy702; if (yych <= 0xBF) goto yy709; goto yy702; yy712: yych = *++p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy709; goto yy702; yy713: yych = *++p; if (yych <= 0x7F) goto yy702; if (yych <= 0x8F) goto yy709; goto yy702; yy714: yych = *++p; yy715: if (yybm[0 + yych] & 64) { goto yy714; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy702; if (yych >= '(') goto yy718; } else { if (yych <= 0xC1) goto yy702; if (yych <= 0xDF) goto yy720; goto yy721; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy723; goto yy722; } else { if (yych <= 0xF0) goto yy724; if (yych <= 0xF3) goto yy725; if (yych <= 0xF4) goto yy726; goto yy702; } } yy716: ++p; yy717 : { return (bufsize_t)(p - start); } yy718: yych = *++p; if (yybm[0 + yych] & 64) { goto yy714; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy702; if (yych <= '\'') goto yy741; goto yy718; } else { if (yych <= 0xC1) goto yy702; if (yych >= 0xE0) goto yy721; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy723; goto yy722; } else { if (yych <= 0xF0) goto yy724; if (yych <= 0xF3) goto yy725; if (yych <= 0xF4) goto yy726; goto yy702; } } yy720: yych = *++p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy714; goto yy702; yy721: yych = *++p; if (yych <= 0x9F) goto yy702; if (yych <= 0xBF) goto yy720; goto yy702; yy722: yych = *++p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy720; goto yy702; yy723: yych = *++p; if (yych <= 0x7F) goto yy702; if (yych <= 0x9F) goto yy720; goto yy702; yy724: yych = *++p; if (yych <= 0x8F) goto yy702; if (yych <= 0xBF) goto yy722; goto yy702; yy725: yych = *++p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy722; goto yy702; yy726: yych = *++p; if (yych <= 0x7F) goto yy702; if (yych <= 0x8F) goto yy722; goto yy702; yy727: yych = *++p; yy728: if (yybm[0 + yych] & 128) { goto yy727; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy702; if (yych >= '*') goto yy731; } else { if (yych <= 0xC1) goto yy702; if (yych <= 0xDF) goto yy733; goto yy734; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy736; goto yy735; } else { if (yych <= 0xF0) goto yy737; if (yych <= 0xF3) goto yy738; if (yych <= 0xF4) goto yy739; goto yy702; } } yy729: ++p; yy730 : { return (bufsize_t)(p - start); } yy731: yych = *++p; if (yybm[0 + yych] & 128) { goto yy727; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy702; if (yych <= ')') goto yy742; goto yy731; } else { if (yych <= 0xC1) goto yy702; if (yych >= 0xE0) goto yy734; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy736; goto yy735; } else { if (yych <= 0xF0) goto yy737; if (yych <= 0xF3) goto yy738; if (yych <= 0xF4) goto yy739; goto yy702; } } yy733: yych = *++p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy727; goto yy702; yy734: yych = *++p; if (yych <= 0x9F) goto yy702; if (yych <= 0xBF) goto yy733; goto yy702; yy735: yych = *++p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy733; goto yy702; yy736: yych = *++p; if (yych <= 0x7F) goto yy702; if (yych <= 0x9F) goto yy733; goto yy702; yy737: yych = *++p; if (yych <= 0x8F) goto yy702; if (yych <= 0xBF) goto yy735; goto yy702; yy738: yych = *++p; if (yych <= 0x7F) goto yy702; if (yych <= 0xBF) goto yy735; goto yy702; yy739: yych = *++p; if (yych <= 0x7F) goto yy702; if (yych <= 0x8F) goto yy735; goto yy702; yy740: yyaccept = 1; yych = *(marker = ++p); if (yybm[0 + yych] & 16) { goto yy700; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy704; if (yych <= '"') goto yy703; goto yy705; } else { if (yych <= 0xC1) goto yy704; if (yych <= 0xDF) goto yy707; goto yy708; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy710; goto yy709; } else { if (yych <= 0xF0) goto yy711; if (yych <= 0xF3) goto yy712; if (yych <= 0xF4) goto yy713; goto yy704; } } yy741: yyaccept = 2; yych = *(marker = ++p); if (yybm[0 + yych] & 64) { goto yy714; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy717; if (yych <= '\'') goto yy716; goto yy718; } else { if (yych <= 0xC1) goto yy717; if (yych <= 0xDF) goto yy720; goto yy721; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy723; goto yy722; } else { if (yych <= 0xF0) goto yy724; if (yych <= 0xF3) goto yy725; if (yych <= 0xF4) goto yy726; goto yy717; } } yy742: yyaccept = 3; yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy727; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy730; if (yych <= ')') goto yy729; goto yy731; } else { if (yych <= 0xC1) goto yy730; if (yych <= 0xDF) goto yy733; goto yy734; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy736; goto yy735; } else { if (yych <= 0xF0) goto yy737; if (yych <= 0xF3) goto yy738; if (yych <= 0xF4) goto yy739; goto yy730; } } } } // 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 yy747; } ++p; { return 0; } yy747: yych = *++p; if (yybm[0 + yych] & 128) { goto yy747; } { 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 yy754; ++p; yy753 : { return 0; } yy754: yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy755; } if (yych <= '\f') { if (yych <= 0x08) goto yy753; if (yych <= '\n') goto yy758; goto yy753; } else { if (yych <= '\r') goto yy758; if (yych == '#') goto yy759; goto yy753; } yy755: yych = *++p; if (yybm[0 + yych] & 128) { goto yy755; } yy757 : { return (bufsize_t)(p - start); } yy758: ++p; goto yy757; yy759: yych = *++p; if (yybm[0 + yych] & 128) { goto yy755; } if (yych <= '\f') { if (yych <= 0x08) goto yy760; if (yych <= '\n') goto yy758; } else { if (yych <= '\r') goto yy758; if (yych == '#') goto yy761; } yy760: p = marker; goto yy753; yy761: yych = *++p; if (yybm[0 + yych] & 128) { goto yy755; } if (yych <= '\f') { if (yych <= 0x08) goto yy760; if (yych <= '\n') goto yy758; goto yy760; } else { if (yych <= '\r') goto yy758; if (yych != '#') goto yy760; } yych = *++p; if (yybm[0 + yych] & 128) { goto yy755; } if (yych <= '\f') { if (yych <= 0x08) goto yy760; if (yych <= '\n') goto yy758; goto yy760; } else { if (yych <= '\r') goto yy758; if (yych != '#') goto yy760; } yych = *++p; if (yybm[0 + yych] & 128) { goto yy755; } if (yych <= '\f') { if (yych <= 0x08) goto yy760; if (yych <= '\n') goto yy758; goto yy760; } else { if (yych <= '\r') goto yy758; if (yych != '#') goto yy760; } yych = *++p; if (yybm[0 + yych] & 128) { goto yy755; } if (yych <= 0x08) goto yy760; if (yych <= '\n') goto yy758; if (yych == '\r') goto yy758; goto yy760; } } // 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 yy769; if (yych == '=') goto yy770; ++p; yy768 : { return 0; } yy769: yych = *(marker = ++p); if (yybm[0 + yych] & 64) { goto yy776; } if (yych <= '\f') { if (yych <= 0x08) goto yy768; if (yych <= '\n') goto yy772; goto yy768; } else { if (yych <= '\r') goto yy772; if (yych == ' ') goto yy772; goto yy768; } yy770: yych = *(marker = ++p); if (yybm[0 + yych] & 128) { goto yy782; } if (yych <= '\f') { if (yych <= 0x08) goto yy768; if (yych <= '\n') goto yy779; goto yy768; } else { if (yych <= '\r') goto yy779; if (yych == ' ') goto yy779; goto yy768; } yy771: yych = *++p; yy772: if (yybm[0 + yych] & 32) { goto yy771; } if (yych <= 0x08) goto yy773; if (yych <= '\n') goto yy774; if (yych == '\r') goto yy774; yy773: p = marker; goto yy768; yy774: ++p; { return 2; } yy776: yych = *++p; if (yybm[0 + yych] & 32) { goto yy771; } if (yych <= '\f') { if (yych <= 0x08) goto yy773; if (yych <= '\n') goto yy774; goto yy773; } else { if (yych <= '\r') goto yy774; if (yych == '-') goto yy776; goto yy773; } yy778: yych = *++p; yy779: if (yych <= '\f') { if (yych <= 0x08) goto yy773; if (yych <= '\t') goto yy778; if (yych >= '\v') goto yy773; } else { if (yych <= '\r') goto yy780; if (yych == ' ') goto yy778; goto yy773; } yy780: ++p; { return 1; } yy782: yych = *++p; if (yybm[0 + yych] & 128) { goto yy782; } if (yych <= '\f') { if (yych <= 0x08) goto yy773; if (yych <= '\t') goto yy778; if (yych <= '\n') goto yy780; goto yy773; } else { if (yych <= '\r') goto yy780; if (yych == ' ') goto yy778; goto yy773; } } } // 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 yy788; } else { if (yych <= '-') goto yy789; if (yych == '_') goto yy790; } ++p; yy787 : { return 0; } yy788: yych = *(marker = ++p); if (yybm[0 + yych] & 16) { goto yy791; } if (yych == '*') goto yy794; goto yy787; yy789: yych = *(marker = ++p); if (yych <= 0x1F) { if (yych == '\t') goto yy796; goto yy787; } else { if (yych <= ' ') goto yy796; if (yych == '-') goto yy798; goto yy787; } yy790: yych = *(marker = ++p); if (yych <= 0x1F) { if (yych == '\t') goto yy800; goto yy787; } else { if (yych <= ' ') goto yy800; if (yych == '_') goto yy802; goto yy787; } yy791: yych = *++p; if (yybm[0 + yych] & 16) { goto yy791; } if (yych == '*') goto yy794; yy793: p = marker; goto yy787; yy794: yych = *++p; if (yych <= 0x1F) { if (yych == '\t') goto yy794; goto yy793; } else { if (yych <= ' ') goto yy794; if (yych == '*') goto yy804; goto yy793; } yy796: yych = *++p; if (yych <= 0x1F) { if (yych == '\t') goto yy796; goto yy793; } else { if (yych <= ' ') goto yy796; if (yych != '-') goto yy793; } yy798: yych = *++p; if (yych <= 0x1F) { if (yych == '\t') goto yy798; goto yy793; } else { if (yych <= ' ') goto yy798; if (yych == '-') goto yy806; goto yy793; } yy800: yych = *++p; if (yych <= 0x1F) { if (yych == '\t') goto yy800; goto yy793; } else { if (yych <= ' ') goto yy800; if (yych != '_') goto yy793; } yy802: yych = *++p; if (yych <= 0x1F) { if (yych == '\t') goto yy802; goto yy793; } else { if (yych <= ' ') goto yy802; if (yych == '_') goto yy808; goto yy793; } yy804: yych = *++p; if (yybm[0 + yych] & 32) { goto yy804; } if (yych <= 0x08) goto yy793; if (yych <= '\n') goto yy810; if (yych == '\r') goto yy810; goto yy793; yy806: yych = *++p; if (yybm[0 + yych] & 64) { goto yy806; } if (yych <= 0x08) goto yy793; if (yych <= '\n') goto yy812; if (yych == '\r') goto yy812; goto yy793; yy808: yych = *++p; if (yybm[0 + yych] & 128) { goto yy808; } if (yych <= 0x08) goto yy793; if (yych <= '\n') goto yy814; if (yych == '\r') goto yy814; goto yy793; yy810: ++p; { return (bufsize_t)(p - start); } yy812: ++p; { return (bufsize_t)(p - start); } yy814: ++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 yy820; if (yych == '~') goto yy821; ++p; yy819 : { return 0; } yy820: yych = *(marker = ++p); if (yych == '`') goto yy822; goto yy819; yy821: yych = *(marker = ++p); if (yych == '~') goto yy824; goto yy819; yy822: yych = *++p; if (yybm[0 + yych] & 16) { goto yy825; } yy823: p = marker; goto yy819; yy824: yych = *++p; if (yybm[0 + yych] & 32) { goto yy827; } goto yy823; yy825: yych = *++p; if (yybm[0 + yych] & 16) { goto yy825; } if (yych <= 0xDF) { if (yych <= '\f') { if (yych <= 0x00) goto yy823; if (yych == '\n') { marker = p; goto yy831; } marker = p; goto yy829; } else { if (yych <= '\r') { marker = p; goto yy831; } if (yych <= 0x7F) { marker = p; goto yy829; } if (yych <= 0xC1) goto yy823; marker = p; goto yy833; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) { marker = p; goto yy834; } if (yych == 0xED) { marker = p; goto yy836; } marker = p; goto yy835; } else { if (yych <= 0xF0) { marker = p; goto yy837; } if (yych <= 0xF3) { marker = p; goto yy838; } if (yych <= 0xF4) { marker = p; goto yy839; } goto yy823; } } yy827: yych = *++p; if (yybm[0 + yych] & 32) { goto yy827; } if (yych <= 0xDF) { if (yych <= '\f') { if (yych <= 0x00) goto yy823; if (yych == '\n') { marker = p; goto yy842; } marker = p; goto yy840; } else { if (yych <= '\r') { marker = p; goto yy842; } if (yych <= 0x7F) { marker = p; goto yy840; } if (yych <= 0xC1) goto yy823; marker = p; goto yy844; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) { marker = p; goto yy845; } if (yych == 0xED) { marker = p; goto yy847; } marker = p; goto yy846; } else { if (yych <= 0xF0) { marker = p; goto yy848; } if (yych <= 0xF3) { marker = p; goto yy849; } if (yych <= 0xF4) { marker = p; goto yy850; } goto yy823; } } yy829: yych = *++p; if (yybm[0 + yych] & 64) { goto yy829; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy823; if (yych >= 0x0E) goto yy823; } else { if (yych <= 0xDF) goto yy833; if (yych <= 0xE0) goto yy834; goto yy835; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy836; if (yych <= 0xEF) goto yy835; goto yy837; } else { if (yych <= 0xF3) goto yy838; if (yych <= 0xF4) goto yy839; goto yy823; } } yy831: ++p; p = marker; { return (bufsize_t)(p - start); } yy833: yych = *++p; if (yych <= 0x7F) goto yy823; if (yych <= 0xBF) goto yy829; goto yy823; yy834: yych = *++p; if (yych <= 0x9F) goto yy823; if (yych <= 0xBF) goto yy833; goto yy823; yy835: yych = *++p; if (yych <= 0x7F) goto yy823; if (yych <= 0xBF) goto yy833; goto yy823; yy836: yych = *++p; if (yych <= 0x7F) goto yy823; if (yych <= 0x9F) goto yy833; goto yy823; yy837: yych = *++p; if (yych <= 0x8F) goto yy823; if (yych <= 0xBF) goto yy835; goto yy823; yy838: yych = *++p; if (yych <= 0x7F) goto yy823; if (yych <= 0xBF) goto yy835; goto yy823; yy839: yych = *++p; if (yych <= 0x7F) goto yy823; if (yych <= 0x8F) goto yy835; goto yy823; yy840: yych = *++p; if (yybm[0 + yych] & 128) { goto yy840; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy823; if (yych >= 0x0E) goto yy823; } else { if (yych <= 0xDF) goto yy844; if (yych <= 0xE0) goto yy845; goto yy846; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy847; if (yych <= 0xEF) goto yy846; goto yy848; } else { if (yych <= 0xF3) goto yy849; if (yych <= 0xF4) goto yy850; goto yy823; } } yy842: ++p; p = marker; { return (bufsize_t)(p - start); } yy844: yych = *++p; if (yych <= 0x7F) goto yy823; if (yych <= 0xBF) goto yy840; goto yy823; yy845: yych = *++p; if (yych <= 0x9F) goto yy823; if (yych <= 0xBF) goto yy844; goto yy823; yy846: yych = *++p; if (yych <= 0x7F) goto yy823; if (yych <= 0xBF) goto yy844; goto yy823; yy847: yych = *++p; if (yych <= 0x7F) goto yy823; if (yych <= 0x9F) goto yy844; goto yy823; yy848: yych = *++p; if (yych <= 0x8F) goto yy823; if (yych <= 0xBF) goto yy846; goto yy823; yy849: yych = *++p; if (yych <= 0x7F) goto yy823; if (yych <= 0xBF) goto yy846; goto yy823; yy850: yych = *++p; if (yych <= 0x7F) goto yy823; if (yych <= 0x8F) goto yy846; goto yy823; } } // 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 yy855; if (yych == '~') goto yy856; ++p; yy854 : { return 0; } yy855: yych = *(marker = ++p); if (yych == '`') goto yy857; goto yy854; yy856: yych = *(marker = ++p); if (yych == '~') goto yy859; goto yy854; yy857: yych = *++p; if (yybm[0 + yych] & 32) { goto yy860; } yy858: p = marker; goto yy854; yy859: yych = *++p; if (yybm[0 + yych] & 64) { goto yy862; } goto yy858; yy860: yych = *++p; if (yybm[0 + yych] & 32) { goto yy860; } if (yych <= '\f') { if (yych <= 0x08) goto yy858; if (yych <= '\t') { marker = p; goto yy864; } if (yych <= '\n') { marker = p; goto yy866; } goto yy858; } else { if (yych <= '\r') { marker = p; goto yy866; } if (yych == ' ') { marker = p; goto yy864; } goto yy858; } yy862: yych = *++p; if (yybm[0 + yych] & 64) { goto yy862; } if (yych <= '\f') { if (yych <= 0x08) goto yy858; if (yych <= '\t') { marker = p; goto yy868; } if (yych <= '\n') { marker = p; goto yy870; } goto yy858; } else { if (yych <= '\r') { marker = p; goto yy870; } if (yych == ' ') { marker = p; goto yy868; } goto yy858; } yy864: yych = *++p; if (yybm[0 + yych] & 128) { goto yy864; } if (yych <= 0x08) goto yy858; if (yych <= '\n') goto yy866; if (yych != '\r') goto yy858; yy866: ++p; p = marker; { return (bufsize_t)(p - start); } yy868: yych = *++p; if (yych <= '\f') { if (yych <= 0x08) goto yy858; if (yych <= '\t') goto yy868; if (yych >= '\v') goto yy858; } else { if (yych <= '\r') goto yy870; if (yych == ' ') goto yy868; goto yy858; } yy870: ++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 yy876; ++p; yy875 : { return 0; } yy876: yych = *(marker = ++p); if (yych <= '@') { if (yych != '#') goto yy875; } else { if (yych <= 'Z') goto yy879; if (yych <= '`') goto yy875; if (yych <= 'z') goto yy879; goto yy875; } yych = *++p; if (yych <= 'W') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy880; } else { if (yych <= 'X') goto yy881; if (yych == 'x') goto yy881; } yy878: p = marker; goto yy875; yy879: yych = *++p; if (yych <= '@') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy882; goto yy878; } else { if (yych <= 'Z') goto yy882; if (yych <= '`') goto yy878; if (yych <= 'z') goto yy882; goto yy878; } yy880: yych = *++p; if (yych <= '/') goto yy878; if (yych <= '9') goto yy883; if (yych == ';') goto yy884; goto yy878; yy881: yych = *++p; if (yych <= '@') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy886; goto yy878; } else { if (yych <= 'F') goto yy886; if (yych <= '`') goto yy878; if (yych <= 'f') goto yy886; goto yy878; } yy882: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy887; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; goto yy887; } else { if (yych <= '`') goto yy878; if (yych <= 'z') goto yy887; goto yy878; } } yy883: yych = *++p; if (yych <= '/') goto yy878; if (yych <= '9') goto yy888; if (yych != ';') goto yy878; yy884: ++p; { return (bufsize_t)(p - start); } yy886: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy889; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'F') { if (yych <= '@') goto yy878; goto yy889; } else { if (yych <= '`') goto yy878; if (yych <= 'f') goto yy889; goto yy878; } } yy887: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy890; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; goto yy890; } else { if (yych <= '`') goto yy878; if (yych <= 'z') goto yy890; goto yy878; } } yy888: yych = *++p; if (yych <= '/') goto yy878; if (yych <= '9') goto yy891; if (yych == ';') goto yy884; goto yy878; yy889: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy892; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'F') { if (yych <= '@') goto yy878; goto yy892; } else { if (yych <= '`') goto yy878; if (yych <= 'f') goto yy892; goto yy878; } } yy890: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy893; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; goto yy893; } else { if (yych <= '`') goto yy878; if (yych <= 'z') goto yy893; goto yy878; } } yy891: yych = *++p; if (yych <= '/') goto yy878; if (yych <= '9') goto yy894; if (yych == ';') goto yy884; goto yy878; yy892: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy895; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'F') { if (yych <= '@') goto yy878; goto yy895; } else { if (yych <= '`') goto yy878; if (yych <= 'f') goto yy895; goto yy878; } } yy893: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy896; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; goto yy896; } else { if (yych <= '`') goto yy878; if (yych <= 'z') goto yy896; goto yy878; } } yy894: yych = *++p; if (yych <= '/') goto yy878; if (yych <= '9') goto yy897; if (yych == ';') goto yy884; goto yy878; yy895: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy898; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'F') { if (yych <= '@') goto yy878; goto yy898; } else { if (yych <= '`') goto yy878; if (yych <= 'f') goto yy898; goto yy878; } } yy896: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy899; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; goto yy899; } else { if (yych <= '`') goto yy878; if (yych <= 'z') goto yy899; goto yy878; } } yy897: yych = *++p; if (yych <= '/') goto yy878; if (yych <= '9') goto yy900; if (yych == ';') goto yy884; goto yy878; yy898: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy900; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'F') { if (yych <= '@') goto yy878; goto yy900; } else { if (yych <= '`') goto yy878; if (yych <= 'f') goto yy900; goto yy878; } } yy899: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy901; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; goto yy901; } else { if (yych <= '`') goto yy878; if (yych <= 'z') goto yy901; goto yy878; } } yy900: yych = *++p; if (yych == ';') goto yy884; goto yy878; yy901: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy902; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy902: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy903; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy903: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy904; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy904: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy905; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy905: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy906; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy906: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy907; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy907: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy908; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy908: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy909; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy909: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy910; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy910: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy911; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy911: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy912; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy912: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy913; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy913: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy914; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy914: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy915; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy915: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy916; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy916: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy917; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy917: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy918; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy918: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy919; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy919: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy920; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy920: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy921; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy921: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy922; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy922: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy923; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy923: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy924; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; } else { if (yych <= '`') goto yy878; if (yych >= '{') goto yy878; } } yy924: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy878; if (yych <= '9') goto yy900; if (yych <= ':') goto yy878; goto yy884; } else { if (yych <= 'Z') { if (yych <= '@') goto yy878; goto yy900; } else { if (yych <= '`') goto yy878; if (yych <= 'z') goto yy900; goto yy878; } } } } // 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 yy929; if (yych >= 'F') goto yy930; } else { if (yych == 'J') goto yy931; if (yych >= 'V') goto yy932; } } else { if (yych <= 'f') { if (yych == 'd') goto yy929; if (yych >= 'f') goto yy930; } else { if (yych <= 'j') { if (yych >= 'j') goto yy931; } else { if (yych == 'v') goto yy932; } } } ++p; yy928 : { return 0; } yy929: yyaccept = 0; yych = *(marker = ++p); if (yych == 'A') goto yy933; if (yych == 'a') goto yy933; goto yy928; yy930: yyaccept = 0; yych = *(marker = ++p); if (yych == 'I') goto yy935; if (yych == 'i') goto yy935; goto yy928; yy931: yyaccept = 0; yych = *(marker = ++p); if (yych == 'A') goto yy936; if (yych == 'a') goto yy936; goto yy928; yy932: yyaccept = 0; yych = *(marker = ++p); if (yych == 'B') goto yy937; if (yych == 'b') goto yy937; goto yy928; yy933: yych = *++p; if (yych == 'T') goto yy938; if (yych == 't') goto yy938; yy934: p = marker; if (yyaccept == 0) { goto yy928; } else { goto yy946; } yy935: yych = *++p; if (yych == 'L') goto yy939; if (yych == 'l') goto yy939; goto yy934; yy936: yych = *++p; if (yych == 'V') goto yy940; if (yych == 'v') goto yy940; goto yy934; yy937: yych = *++p; if (yych == 'S') goto yy941; if (yych == 's') goto yy941; goto yy934; yy938: yych = *++p; if (yych == 'A') goto yy942; if (yych == 'a') goto yy942; goto yy934; yy939: yych = *++p; if (yych == 'E') goto yy943; if (yych == 'e') goto yy943; goto yy934; yy940: yych = *++p; if (yych == 'A') goto yy937; if (yych == 'a') goto yy937; goto yy934; yy941: yych = *++p; if (yych == 'C') goto yy944; if (yych == 'c') goto yy944; goto yy934; yy942: yych = *++p; if (yych == ':') goto yy945; goto yy934; yy943: yych = *++p; if (yych == ':') goto yy947; goto yy934; yy944: yych = *++p; if (yych == 'R') goto yy948; if (yych == 'r') goto yy948; goto yy934; yy945: yyaccept = 1; yych = *(marker = ++p); if (yych == 'I') goto yy949; if (yych == 'i') goto yy949; yy946 : { return (bufsize_t)(p - start); } yy947: ++p; goto yy946; yy948: yych = *++p; if (yych == 'I') goto yy950; if (yych == 'i') goto yy950; goto yy934; yy949: yych = *++p; if (yych == 'M') goto yy951; if (yych == 'm') goto yy951; goto yy934; yy950: yych = *++p; if (yych == 'P') goto yy952; if (yych == 'p') goto yy952; goto yy934; yy951: yych = *++p; if (yych == 'A') goto yy953; if (yych == 'a') goto yy953; goto yy934; yy952: yych = *++p; if (yych == 'T') goto yy943; if (yych == 't') goto yy943; goto yy934; yy953: yych = *++p; if (yych == 'G') goto yy954; if (yych != 'g') goto yy934; yy954: yych = *++p; if (yych == 'E') goto yy955; if (yych != 'e') goto yy934; yy955: yych = *++p; if (yych != '/') goto yy934; yych = *++p; if (yych <= 'W') { if (yych <= 'J') { if (yych == 'G') goto yy957; if (yych <= 'I') goto yy934; goto yy958; } else { if (yych == 'P') goto yy959; if (yych <= 'V') goto yy934; goto yy960; } } else { if (yych <= 'j') { if (yych == 'g') goto yy957; if (yych <= 'i') goto yy934; goto yy958; } else { if (yych <= 'p') { if (yych <= 'o') goto yy934; goto yy959; } else { if (yych == 'w') goto yy960; goto yy934; } } } yy957: yych = *++p; if (yych == 'I') goto yy961; if (yych == 'i') goto yy961; goto yy934; yy958: yych = *++p; if (yych == 'P') goto yy962; if (yych == 'p') goto yy962; goto yy934; yy959: yych = *++p; if (yych == 'N') goto yy963; if (yych == 'n') goto yy963; goto yy934; yy960: yych = *++p; if (yych == 'E') goto yy964; if (yych == 'e') goto yy964; goto yy934; yy961: yych = *++p; if (yych == 'F') goto yy965; if (yych == 'f') goto yy965; goto yy934; yy962: yych = *++p; if (yych == 'E') goto yy963; if (yych != 'e') goto yy934; yy963: yych = *++p; if (yych == 'G') goto yy965; if (yych == 'g') goto yy965; goto yy934; yy964: yych = *++p; if (yych == 'B') goto yy967; if (yych == 'b') goto yy967; goto yy934; yy965: ++p; { return 0; } yy967: yych = *++p; if (yych == 'P') goto yy965; if (yych == 'p') goto yy965; goto yy934; } }