/* Generated by re2c 1.1.1 */ #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 (liberally) match an HTML tag after first <, returning num of chars matched. bufsize_t _scan_liberal_html_tag(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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 <= 0xE0) { if (yych <= '\n') { if (yych <= 0x00) goto yy329; if (yych <= '\t') goto yy331; } else { if (yych <= 0x7F) goto yy331; if (yych <= 0xC1) goto yy329; if (yych <= 0xDF) goto yy332; goto yy333; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy335; goto yy334; } else { if (yych <= 0xF0) goto yy336; if (yych <= 0xF3) goto yy337; if (yych <= 0xF4) goto yy338; } } yy329: ++p; yy330: { return 0; } yy331: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy330; if (yych <= '\t') goto yy340; goto yy330; } else { if (yych <= 0x7F) goto yy340; if (yych <= 0xC1) goto yy330; if (yych <= 0xF4) goto yy340; goto yy330; } yy332: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy330; if (yych <= 0xBF) goto yy339; goto yy330; yy333: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy330; if (yych <= 0xBF) goto yy345; goto yy330; yy334: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy330; if (yych <= 0xBF) goto yy345; goto yy330; yy335: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy330; if (yych <= 0x9F) goto yy345; goto yy330; yy336: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy330; if (yych <= 0xBF) goto yy347; goto yy330; yy337: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy330; if (yych <= 0xBF) goto yy347; goto yy330; yy338: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy330; if (yych <= 0x8F) goto yy347; goto yy330; yy339: yych = *++p; yy340: if (yybm[0+yych] & 64) { goto yy339; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy341; if (yych <= '>') goto yy342; } else { if (yych <= 0xDF) goto yy345; if (yych <= 0xE0) goto yy346; goto yy347; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy348; if (yych <= 0xEF) goto yy347; goto yy349; } else { if (yych <= 0xF3) goto yy350; if (yych <= 0xF4) goto yy351; } } yy341: p = marker; if (yyaccept == 0) { goto yy330; } else { goto yy344; } yy342: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { goto yy339; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy344; if (yych <= '>') goto yy342; } else { if (yych <= 0xDF) goto yy345; if (yych <= 0xE0) goto yy346; goto yy347; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy348; if (yych <= 0xEF) goto yy347; goto yy349; } else { if (yych <= 0xF3) goto yy350; if (yych <= 0xF4) goto yy351; } } yy344: { return (bufsize_t)(p - start); } yy345: yych = *++p; if (yych <= 0x7F) goto yy341; if (yych <= 0xBF) goto yy339; goto yy341; yy346: yych = *++p; if (yych <= 0x9F) goto yy341; if (yych <= 0xBF) goto yy345; goto yy341; yy347: yych = *++p; if (yych <= 0x7F) goto yy341; if (yych <= 0xBF) goto yy345; goto yy341; yy348: yych = *++p; if (yych <= 0x7F) goto yy341; if (yych <= 0x9F) goto yy345; goto yy341; yy349: yych = *++p; if (yych <= 0x8F) goto yy341; if (yych <= 0xBF) goto yy347; goto yy341; yy350: yych = *++p; if (yych <= 0x7F) goto yy341; if (yych <= 0xBF) goto yy347; goto yy341; yy351: yych = *++p; if (yych <= 0x7F) goto yy341; if (yych <= 0x8F) goto yy347; goto yy341; } } // 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 yy356; ++p; yy355: { return 0; } yy356: yych = *(marker = ++p); switch (yych) { case '!': goto yy357; case '/': goto yy359; case '?': goto yy360; case 'A': case 'a': goto yy362; case 'B': case 'b': goto yy363; case 'C': case 'c': goto yy364; case 'D': case 'd': goto yy365; case 'F': case 'f': goto yy366; case 'H': case 'h': goto yy367; case 'I': case 'i': goto yy368; case 'L': case 'l': goto yy369; case 'M': case 'm': goto yy370; case 'N': case 'n': goto yy371; case 'O': case 'o': goto yy372; case 'P': case 'p': goto yy373; case 'S': case 's': goto yy374; case 'T': case 't': goto yy375; case 'U': case 'u': goto yy376; default: goto yy355; } yy357: yych = *++p; if (yych <= '@') { if (yych == '-') goto yy377; } else { if (yych <= 'Z') goto yy378; if (yych <= '[') goto yy380; } yy358: p = marker; goto yy355; yy359: yych = *++p; switch (yych) { case 'A': case 'a': goto yy362; case 'B': case 'b': goto yy363; case 'C': case 'c': goto yy364; case 'D': case 'd': goto yy365; case 'F': case 'f': goto yy366; case 'H': case 'h': goto yy367; case 'I': case 'i': goto yy368; case 'L': case 'l': goto yy369; case 'M': case 'm': goto yy370; case 'N': case 'n': goto yy371; case 'O': case 'o': goto yy372; case 'P': case 'p': goto yy381; case 'S': case 's': goto yy382; case 'T': case 't': goto yy375; case 'U': case 'u': goto yy376; default: goto yy358; } yy360: ++p; { return 3; } yy362: yych = *++p; if (yych <= 'S') { if (yych <= 'D') { if (yych <= 'C') goto yy358; goto yy383; } else { if (yych <= 'Q') goto yy358; if (yych <= 'R') goto yy384; goto yy385; } } else { if (yych <= 'q') { if (yych == 'd') goto yy383; goto yy358; } else { if (yych <= 'r') goto yy384; if (yych <= 's') goto yy385; goto yy358; } } yy363: yych = *++p; if (yych <= 'O') { if (yych <= 'K') { if (yych == 'A') goto yy386; goto yy358; } else { if (yych <= 'L') goto yy387; if (yych <= 'N') goto yy358; goto yy388; } } else { if (yych <= 'k') { if (yych == 'a') goto yy386; goto yy358; } else { if (yych <= 'l') goto yy387; if (yych == 'o') goto yy388; goto yy358; } } yy364: yych = *++p; if (yych <= 'O') { if (yych <= 'D') { if (yych == 'A') goto yy389; goto yy358; } else { if (yych <= 'E') goto yy390; if (yych <= 'N') goto yy358; goto yy391; } } else { if (yych <= 'd') { if (yych == 'a') goto yy389; goto yy358; } else { if (yych <= 'e') goto yy390; if (yych == 'o') goto yy391; goto yy358; } } yy365: yych = *++p; switch (yych) { case 'D': case 'L': case 'T': case 'd': case 'l': case 't': goto yy392; case 'E': case 'e': goto yy393; case 'I': case 'i': goto yy394; default: goto yy358; } yy366: yych = *++p; if (yych <= 'R') { if (yych <= 'N') { if (yych == 'I') goto yy395; goto yy358; } else { if (yych <= 'O') goto yy396; if (yych <= 'Q') goto yy358; goto yy397; } } else { if (yych <= 'n') { if (yych == 'i') goto yy395; goto yy358; } else { if (yych <= 'o') goto yy396; if (yych == 'r') goto yy397; goto yy358; } } yy367: yych = *++p; if (yych <= 'S') { if (yych <= 'D') { if (yych <= '0') goto yy358; if (yych <= '6') goto yy392; goto yy358; } else { if (yych <= 'E') goto yy398; if (yych == 'R') goto yy392; goto yy358; } } else { if (yych <= 'q') { if (yych <= 'T') goto yy399; if (yych == 'e') goto yy398; goto yy358; } else { if (yych <= 'r') goto yy392; if (yych == 't') goto yy399; goto yy358; } } yy368: yych = *++p; if (yych == 'F') goto yy400; if (yych == 'f') goto yy400; goto yy358; yy369: yych = *++p; if (yych <= 'I') { if (yych == 'E') goto yy401; if (yych <= 'H') goto yy358; goto yy402; } else { if (yych <= 'e') { if (yych <= 'd') goto yy358; goto yy401; } else { if (yych == 'i') goto yy402; goto yy358; } } yy370: yych = *++p; if (yych <= 'E') { if (yych == 'A') goto yy403; if (yych <= 'D') goto yy358; goto yy404; } else { if (yych <= 'a') { if (yych <= '`') goto yy358; goto yy403; } else { if (yych == 'e') goto yy404; goto yy358; } } yy371: yych = *++p; if (yych <= 'O') { if (yych == 'A') goto yy405; if (yych <= 'N') goto yy358; goto yy406; } else { if (yych <= 'a') { if (yych <= '`') goto yy358; goto yy405; } else { if (yych == 'o') goto yy406; goto yy358; } } yy372: yych = *++p; if (yych <= 'P') { if (yych == 'L') goto yy392; if (yych <= 'O') goto yy358; goto yy407; } else { if (yych <= 'l') { if (yych <= 'k') goto yy358; goto yy392; } else { if (yych == 'p') goto yy407; goto yy358; } } yy373: yych = *++p; if (yych <= '>') { if (yych <= ' ') { if (yych <= 0x08) goto yy358; if (yych <= '\r') goto yy408; if (yych <= 0x1F) goto yy358; goto yy408; } else { if (yych == '/') goto yy410; if (yych <= '=') goto yy358; goto yy408; } } else { if (yych <= 'R') { if (yych == 'A') goto yy411; if (yych <= 'Q') goto yy358; goto yy412; } else { if (yych <= 'a') { if (yych <= '`') goto yy358; goto yy411; } else { if (yych == 'r') goto yy412; goto yy358; } } } yy374: yych = *++p; switch (yych) { case 'C': case 'c': goto yy413; case 'E': case 'e': goto yy414; case 'O': case 'o': goto yy415; case 'T': case 't': goto yy416; case 'U': case 'u': goto yy417; default: goto yy358; } yy375: yych = *++p; switch (yych) { case 'A': case 'a': goto yy418; case 'B': case 'b': goto yy419; case 'D': case 'd': goto yy392; case 'F': case 'f': goto yy420; case 'H': case 'h': goto yy421; case 'I': case 'i': goto yy422; case 'R': case 'r': goto yy423; default: goto yy358; } yy376: yych = *++p; if (yych == 'L') goto yy392; if (yych == 'l') goto yy392; goto yy358; yy377: yych = *++p; if (yych == '-') goto yy424; goto yy358; yy378: ++p; { return 4; } yy380: yych = *++p; if (yych == 'C') goto yy426; if (yych == 'c') goto yy426; goto yy358; yy381: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy358; if (yych <= '\r') goto yy408; goto yy358; } else { if (yych <= ' ') goto yy408; if (yych <= '.') goto yy358; goto yy410; } } else { if (yych <= '@') { if (yych == '>') goto yy408; goto yy358; } else { if (yych <= 'A') goto yy411; if (yych == 'a') goto yy411; goto yy358; } } yy382: yych = *++p; if (yych <= 'U') { if (yych <= 'N') { if (yych == 'E') goto yy414; goto yy358; } else { if (yych <= 'O') goto yy415; if (yych <= 'T') goto yy358; goto yy417; } } else { if (yych <= 'n') { if (yych == 'e') goto yy414; goto yy358; } else { if (yych <= 'o') goto yy415; if (yych == 'u') goto yy417; goto yy358; } } yy383: yych = *++p; if (yych == 'D') goto yy427; if (yych == 'd') goto yy427; goto yy358; yy384: yych = *++p; if (yych == 'T') goto yy428; if (yych == 't') goto yy428; goto yy358; yy385: yych = *++p; if (yych == 'I') goto yy429; if (yych == 'i') goto yy429; goto yy358; yy386: yych = *++p; if (yych == 'S') goto yy430; if (yych == 's') goto yy430; goto yy358; yy387: yych = *++p; if (yych == 'O') goto yy431; if (yych == 'o') goto yy431; goto yy358; yy388: yych = *++p; if (yych == 'D') goto yy432; if (yych == 'd') goto yy432; goto yy358; yy389: yych = *++p; if (yych == 'P') goto yy433; if (yych == 'p') goto yy433; goto yy358; yy390: yych = *++p; if (yych == 'N') goto yy434; if (yych == 'n') goto yy434; goto yy358; yy391: yych = *++p; if (yych == 'L') goto yy435; if (yych == 'l') goto yy435; goto yy358; yy392: yych = *++p; if (yych <= ' ') { if (yych <= 0x08) goto yy358; if (yych <= '\r') goto yy408; if (yych <= 0x1F) goto yy358; goto yy408; } else { if (yych <= '/') { if (yych <= '.') goto yy358; goto yy410; } else { if (yych == '>') goto yy408; goto yy358; } } yy393: yych = *++p; if (yych == 'T') goto yy436; if (yych == 't') goto yy436; goto yy358; yy394: yych = *++p; if (yych <= 'V') { if (yych <= 'Q') { if (yych == 'A') goto yy437; goto yy358; } else { if (yych <= 'R') goto yy392; if (yych <= 'U') goto yy358; goto yy392; } } else { if (yych <= 'q') { if (yych == 'a') goto yy437; goto yy358; } else { if (yych <= 'r') goto yy392; if (yych == 'v') goto yy392; goto yy358; } } yy395: yych = *++p; if (yych <= 'G') { if (yych == 'E') goto yy438; if (yych <= 'F') goto yy358; goto yy439; } else { if (yych <= 'e') { if (yych <= 'd') goto yy358; goto yy438; } else { if (yych == 'g') goto yy439; goto yy358; } } yy396: yych = *++p; if (yych <= 'R') { if (yych == 'O') goto yy434; if (yych <= 'Q') goto yy358; goto yy440; } else { if (yych <= 'o') { if (yych <= 'n') goto yy358; goto yy434; } else { if (yych == 'r') goto yy440; goto yy358; } } yy397: yych = *++p; if (yych == 'A') goto yy441; if (yych == 'a') goto yy441; goto yy358; yy398: yych = *++p; if (yych == 'A') goto yy442; if (yych == 'a') goto yy442; goto yy358; yy399: yych = *++p; if (yych == 'M') goto yy376; if (yych == 'm') goto yy376; goto yy358; yy400: yych = *++p; if (yych == 'R') goto yy443; if (yych == 'r') goto yy443; goto yy358; yy401: yych = *++p; if (yych == 'G') goto yy444; if (yych == 'g') goto yy444; goto yy358; yy402: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy358; if (yych <= '\r') goto yy408; goto yy358; } else { if (yych <= ' ') goto yy408; if (yych <= '.') goto yy358; goto yy410; } } else { if (yych <= 'M') { if (yych == '>') goto yy408; goto yy358; } else { if (yych <= 'N') goto yy445; if (yych == 'n') goto yy445; goto yy358; } } yy403: yych = *++p; if (yych == 'I') goto yy446; if (yych == 'i') goto yy446; goto yy358; yy404: yych = *++p; if (yych == 'N') goto yy447; if (yych == 'n') goto yy447; goto yy358; yy405: yych = *++p; if (yych == 'V') goto yy392; if (yych == 'v') goto yy392; goto yy358; yy406: yych = *++p; if (yych == 'F') goto yy448; if (yych == 'f') goto yy448; goto yy358; yy407: yych = *++p; if (yych == 'T') goto yy449; if (yych == 't') goto yy449; goto yy358; yy408: ++p; { return 6; } yy410: yych = *++p; if (yych == '>') goto yy408; goto yy358; yy411: yych = *++p; if (yych == 'R') goto yy450; if (yych == 'r') goto yy450; goto yy358; yy412: yych = *++p; if (yych == 'E') goto yy451; if (yych == 'e') goto yy451; goto yy358; yy413: yych = *++p; if (yych == 'R') goto yy452; if (yych == 'r') goto yy452; goto yy358; yy414: yych = *++p; if (yych == 'C') goto yy433; if (yych == 'c') goto yy433; goto yy358; yy415: yych = *++p; if (yych == 'U') goto yy453; if (yych == 'u') goto yy453; goto yy358; yy416: yych = *++p; if (yych == 'Y') goto yy454; if (yych == 'y') goto yy454; goto yy358; yy417: yych = *++p; if (yych == 'M') goto yy455; if (yych == 'm') goto yy455; goto yy358; yy418: yych = *++p; if (yych == 'B') goto yy456; if (yych == 'b') goto yy456; goto yy358; yy419: yych = *++p; if (yych == 'O') goto yy388; if (yych == 'o') goto yy388; goto yy358; yy420: yych = *++p; if (yych == 'O') goto yy457; if (yych == 'o') goto yy457; goto yy358; yy421: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy358; if (yych <= '\r') goto yy408; goto yy358; } else { if (yych <= ' ') goto yy408; if (yych <= '.') goto yy358; goto yy410; } } else { if (yych <= 'D') { if (yych == '>') goto yy408; goto yy358; } else { if (yych <= 'E') goto yy458; if (yych == 'e') goto yy458; goto yy358; } } yy422: yych = *++p; if (yych == 'T') goto yy456; if (yych == 't') goto yy456; goto yy358; yy423: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy358; if (yych <= '\r') goto yy408; goto yy358; } else { if (yych <= ' ') goto yy408; if (yych <= '.') goto yy358; goto yy410; } } else { if (yych <= '@') { if (yych == '>') goto yy408; goto yy358; } else { if (yych <= 'A') goto yy459; if (yych == 'a') goto yy459; goto yy358; } } yy424: ++p; { return 2; } yy426: yych = *++p; if (yych == 'D') goto yy460; if (yych == 'd') goto yy460; goto yy358; yy427: yych = *++p; if (yych == 'R') goto yy461; if (yych == 'r') goto yy461; goto yy358; yy428: yych = *++p; if (yych == 'I') goto yy462; if (yych == 'i') goto yy462; goto yy358; yy429: yych = *++p; if (yych == 'D') goto yy463; if (yych == 'd') goto yy463; goto yy358; yy430: yych = *++p; if (yych == 'E') goto yy464; if (yych == 'e') goto yy464; goto yy358; yy431: yych = *++p; if (yych == 'C') goto yy465; if (yych == 'c') goto yy465; goto yy358; yy432: yych = *++p; if (yych == 'Y') goto yy392; if (yych == 'y') goto yy392; goto yy358; yy433: yych = *++p; if (yych == 'T') goto yy466; if (yych == 't') goto yy466; goto yy358; yy434: yych = *++p; if (yych == 'T') goto yy467; if (yych == 't') goto yy467; goto yy358; yy435: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy358; if (yych <= '\r') goto yy408; goto yy358; } else { if (yych <= ' ') goto yy408; if (yych <= '.') goto yy358; goto yy410; } } else { if (yych <= 'F') { if (yych == '>') goto yy408; goto yy358; } else { if (yych <= 'G') goto yy468; if (yych == 'g') goto yy468; goto yy358; } } yy436: yych = *++p; if (yych == 'A') goto yy469; if (yych == 'a') goto yy469; goto yy358; yy437: yych = *++p; if (yych == 'L') goto yy470; if (yych == 'l') goto yy470; goto yy358; yy438: yych = *++p; if (yych == 'L') goto yy471; if (yych == 'l') goto yy471; goto yy358; yy439: yych = *++p; if (yych <= 'U') { if (yych == 'C') goto yy472; if (yych <= 'T') goto yy358; goto yy473; } else { if (yych <= 'c') { if (yych <= 'b') goto yy358; goto yy472; } else { if (yych == 'u') goto yy473; goto yy358; } } yy440: yych = *++p; if (yych == 'M') goto yy392; if (yych == 'm') goto yy392; goto yy358; yy441: yych = *++p; if (yych == 'M') goto yy474; if (yych == 'm') goto yy474; goto yy358; yy442: yych = *++p; if (yych == 'D') goto yy475; if (yych == 'd') goto yy475; goto yy358; yy443: yych = *++p; if (yych == 'A') goto yy476; if (yych == 'a') goto yy476; goto yy358; yy444: yych = *++p; if (yych == 'E') goto yy477; if (yych == 'e') goto yy477; goto yy358; yy445: yych = *++p; if (yych == 'K') goto yy392; if (yych == 'k') goto yy392; goto yy358; yy446: yych = *++p; if (yych == 'N') goto yy392; if (yych == 'n') goto yy392; goto yy358; yy447: yych = *++p; if (yych == 'U') goto yy478; if (yych == 'u') goto yy478; goto yy358; yy448: yych = *++p; if (yych == 'R') goto yy479; if (yych == 'r') goto yy479; goto yy358; yy449: yych = *++p; if (yych <= 'I') { if (yych == 'G') goto yy468; if (yych <= 'H') goto yy358; goto yy480; } else { if (yych <= 'g') { if (yych <= 'f') goto yy358; goto yy468; } else { if (yych == 'i') goto yy480; goto yy358; } } yy450: yych = *++p; if (yych == 'A') goto yy440; if (yych == 'a') goto yy440; goto yy358; yy451: yych = *++p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy358; if (yych <= '\r') goto yy481; goto yy358; } else { if (yych <= ' ') goto yy481; if (yych == '>') goto yy481; goto yy358; } yy452: yych = *++p; if (yych == 'I') goto yy483; if (yych == 'i') goto yy483; goto yy358; yy453: yych = *++p; if (yych == 'R') goto yy484; if (yych == 'r') goto yy484; goto yy358; yy454: yych = *++p; if (yych == 'L') goto yy412; if (yych == 'l') goto yy412; goto yy358; yy455: yych = *++p; if (yych == 'M') goto yy485; if (yych == 'm') goto yy485; goto yy358; yy456: yych = *++p; if (yych == 'L') goto yy463; if (yych == 'l') goto yy463; goto yy358; yy457: yych = *++p; if (yych == 'O') goto yy486; if (yych == 'o') goto yy486; goto yy358; yy458: yych = *++p; if (yych == 'A') goto yy487; if (yych == 'a') goto yy487; goto yy358; yy459: yych = *++p; if (yych == 'C') goto yy445; if (yych == 'c') goto yy445; goto yy358; yy460: yych = *++p; if (yych == 'A') goto yy488; if (yych == 'a') goto yy488; goto yy358; yy461: yych = *++p; if (yych == 'E') goto yy489; if (yych == 'e') goto yy489; goto yy358; yy462: yych = *++p; if (yych == 'C') goto yy456; if (yych == 'c') goto yy456; goto yy358; yy463: yych = *++p; if (yych == 'E') goto yy392; if (yych == 'e') goto yy392; goto yy358; yy464: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy358; if (yych <= '\r') goto yy408; goto yy358; } else { if (yych <= ' ') goto yy408; if (yych <= '.') goto yy358; goto yy410; } } else { if (yych <= 'E') { if (yych == '>') goto yy408; goto yy358; } else { if (yych <= 'F') goto yy490; if (yych == 'f') goto yy490; goto yy358; } } yy465: yych = *++p; if (yych == 'K') goto yy491; if (yych == 'k') goto yy491; goto yy358; yy466: yych = *++p; if (yych == 'I') goto yy480; if (yych == 'i') goto yy480; goto yy358; yy467: yych = *++p; if (yych == 'E') goto yy492; if (yych == 'e') goto yy492; goto yy358; yy468: yych = *++p; if (yych == 'R') goto yy493; if (yych == 'r') goto yy493; goto yy358; yy469: yych = *++p; if (yych == 'I') goto yy494; if (yych == 'i') goto yy494; goto yy358; yy470: yych = *++p; if (yych == 'O') goto yy495; if (yych == 'o') goto yy495; goto yy358; yy471: yych = *++p; if (yych == 'D') goto yy496; if (yych == 'd') goto yy496; goto yy358; yy472: yych = *++p; if (yych == 'A') goto yy389; if (yych == 'a') goto yy389; goto yy358; yy473: yych = *++p; if (yych == 'R') goto yy463; if (yych == 'r') goto yy463; goto yy358; yy474: yych = *++p; if (yych == 'E') goto yy497; if (yych == 'e') goto yy497; goto yy358; yy475: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy358; if (yych <= '\r') goto yy408; goto yy358; } else { if (yych <= ' ') goto yy408; if (yych <= '.') goto yy358; goto yy410; } } else { if (yych <= 'D') { if (yych == '>') goto yy408; goto yy358; } else { if (yych <= 'E') goto yy492; if (yych == 'e') goto yy492; goto yy358; } } yy476: yych = *++p; if (yych == 'M') goto yy463; if (yych == 'm') goto yy463; goto yy358; yy477: yych = *++p; if (yych == 'N') goto yy487; if (yych == 'n') goto yy487; goto yy358; yy478: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy358; if (yych <= '\r') goto yy408; goto yy358; } else { if (yych <= ' ') goto yy408; if (yych <= '.') goto yy358; goto yy410; } } else { if (yych <= 'H') { if (yych == '>') goto yy408; goto yy358; } else { if (yych <= 'I') goto yy498; if (yych == 'i') goto yy498; goto yy358; } } yy479: yych = *++p; if (yych == 'A') goto yy499; if (yych == 'a') goto yy499; goto yy358; yy480: yych = *++p; if (yych == 'O') goto yy446; if (yych == 'o') goto yy446; goto yy358; yy481: ++p; { return 1; } yy483: yych = *++p; if (yych == 'P') goto yy500; if (yych == 'p') goto yy500; goto yy358; yy484: yych = *++p; if (yych == 'C') goto yy463; if (yych == 'c') goto yy463; goto yy358; yy485: yych = *++p; if (yych == 'A') goto yy501; if (yych == 'a') goto yy501; goto yy358; yy486: yych = *++p; if (yych == 'T') goto yy392; if (yych == 't') goto yy392; goto yy358; yy487: yych = *++p; if (yych == 'D') goto yy392; if (yych == 'd') goto yy392; goto yy358; yy488: yych = *++p; if (yych == 'T') goto yy502; if (yych == 't') goto yy502; goto yy358; yy489: yych = *++p; if (yych == 'S') goto yy503; if (yych == 's') goto yy503; goto yy358; yy490: yych = *++p; if (yych == 'O') goto yy504; if (yych == 'o') goto yy504; goto yy358; yy491: yych = *++p; if (yych == 'Q') goto yy505; if (yych == 'q') goto yy505; goto yy358; yy492: yych = *++p; if (yych == 'R') goto yy392; if (yych == 'r') goto yy392; goto yy358; yy493: yych = *++p; if (yych == 'O') goto yy506; if (yych == 'o') goto yy506; goto yy358; yy494: yych = *++p; if (yych == 'L') goto yy503; if (yych == 'l') goto yy503; goto yy358; yy495: yych = *++p; if (yych == 'G') goto yy392; if (yych == 'g') goto yy392; goto yy358; yy496: yych = *++p; if (yych == 'S') goto yy507; if (yych == 's') goto yy507; goto yy358; yy497: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy358; if (yych <= '\r') goto yy408; goto yy358; } else { if (yych <= ' ') goto yy408; if (yych <= '.') goto yy358; goto yy410; } } else { if (yych <= 'R') { if (yych == '>') goto yy408; goto yy358; } else { if (yych <= 'S') goto yy507; if (yych == 's') goto yy507; goto yy358; } } yy498: yych = *++p; if (yych == 'T') goto yy508; if (yych == 't') goto yy508; goto yy358; yy499: yych = *++p; if (yych == 'M') goto yy509; if (yych == 'm') goto yy509; goto yy358; yy500: yych = *++p; if (yych == 'T') goto yy451; if (yych == 't') goto yy451; goto yy358; yy501: yych = *++p; if (yych == 'R') goto yy432; if (yych == 'r') goto yy432; goto yy358; yy502: yych = *++p; if (yych == 'A') goto yy510; if (yych == 'a') goto yy510; goto yy358; yy503: yych = *++p; if (yych == 'S') goto yy392; if (yych == 's') goto yy392; goto yy358; yy504: yych = *++p; if (yych == 'N') goto yy486; if (yych == 'n') goto yy486; goto yy358; yy505: yych = *++p; if (yych == 'U') goto yy511; if (yych == 'u') goto yy511; goto yy358; yy506: yych = *++p; if (yych == 'U') goto yy512; if (yych == 'u') goto yy512; goto yy358; yy507: yych = *++p; if (yych == 'E') goto yy486; if (yych == 'e') goto yy486; goto yy358; yy508: yych = *++p; if (yych == 'E') goto yy440; if (yych == 'e') goto yy440; goto yy358; yy509: yych = *++p; if (yych == 'E') goto yy503; if (yych == 'e') goto yy503; goto yy358; yy510: yych = *++p; if (yych == '[') goto yy513; goto yy358; yy511: yych = *++p; if (yych == 'O') goto yy515; if (yych == 'o') goto yy515; goto yy358; yy512: yych = *++p; if (yych == 'P') goto yy392; if (yych == 'p') goto yy392; goto yy358; yy513: ++p; { return 5; } yy515: yych = *++p; if (yych == 'T') goto yy463; if (yych == 't') goto yy463; goto yy358; } } // 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 yy520; ++p; yy519: { return 0; } yy520: yyaccept = 0; yych = *(marker = ++p); if (yych <= '@') { if (yych != '/') goto yy519; } else { if (yych <= 'Z') goto yy523; if (yych <= '`') goto yy519; if (yych <= 'z') goto yy523; goto yy519; } yych = *++p; if (yych <= '@') goto yy522; if (yych <= 'Z') goto yy525; if (yych <= '`') goto yy522; if (yych <= 'z') goto yy525; yy522: p = marker; if (yyaccept == 0) { goto yy519; } else { goto yy538; } yy523: yych = *++p; if (yybm[0+yych] & 2) { goto yy527; } if (yych <= '=') { if (yych <= '.') { if (yych == '-') goto yy523; goto yy522; } else { if (yych <= '/') goto yy529; if (yych <= '9') goto yy523; goto yy522; } } else { if (yych <= 'Z') { if (yych <= '>') goto yy530; if (yych <= '@') goto yy522; goto yy523; } else { if (yych <= '`') goto yy522; if (yych <= 'z') goto yy523; goto yy522; } } yy525: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy522; if (yych <= '\r') goto yy532; goto yy522; } else { if (yych <= ' ') goto yy532; if (yych == '-') goto yy525; goto yy522; } } else { if (yych <= '@') { if (yych <= '9') goto yy525; if (yych == '>') goto yy530; goto yy522; } else { if (yych <= 'Z') goto yy525; if (yych <= '`') goto yy522; if (yych <= 'z') goto yy525; goto yy522; } } yy527: yych = *++p; if (yybm[0+yych] & 2) { goto yy527; } if (yych <= '>') { if (yych <= '9') { if (yych != '/') goto yy522; } else { if (yych <= ':') goto yy534; if (yych <= '=') goto yy522; goto yy530; } } else { if (yych <= '^') { if (yych <= '@') goto yy522; if (yych <= 'Z') goto yy534; goto yy522; } else { if (yych == '`') goto yy522; if (yych <= 'z') goto yy534; goto yy522; } } yy529: yych = *++p; if (yych != '>') goto yy522; yy530: yych = *++p; if (yybm[0+yych] & 4) { goto yy530; } if (yych <= 0x08) goto yy522; if (yych <= '\n') goto yy536; if (yych <= '\v') goto yy522; if (yych <= '\r') goto yy539; goto yy522; yy532: yych = *++p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy522; if (yych <= '\r') goto yy532; goto yy522; } else { if (yych <= ' ') goto yy532; if (yych == '>') goto yy530; goto yy522; } yy534: yych = *++p; if (yybm[0+yych] & 8) { goto yy534; } if (yych <= ',') { if (yych <= '\r') { if (yych <= 0x08) goto yy522; goto yy540; } else { if (yych == ' ') goto yy540; goto yy522; } } else { if (yych <= '<') { if (yych <= '/') goto yy529; goto yy522; } else { if (yych <= '=') goto yy542; if (yych <= '>') goto yy530; goto yy522; } } yy536: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 4) { goto yy530; } if (yych <= 0x08) goto yy538; if (yych <= '\n') goto yy536; if (yych <= '\v') goto yy538; if (yych <= '\r') goto yy539; yy538: { return 7; } yy539: ++p; goto yy538; yy540: yych = *++p; if (yych <= '<') { if (yych <= ' ') { if (yych <= 0x08) goto yy522; if (yych <= '\r') goto yy540; if (yych <= 0x1F) goto yy522; goto yy540; } else { if (yych <= '/') { if (yych <= '.') goto yy522; goto yy529; } else { if (yych == ':') goto yy534; goto yy522; } } } else { if (yych <= 'Z') { if (yych <= '=') goto yy542; if (yych <= '>') goto yy530; if (yych <= '@') goto yy522; goto yy534; } else { if (yych <= '_') { if (yych <= '^') goto yy522; goto yy534; } else { if (yych <= '`') goto yy522; if (yych <= 'z') goto yy534; goto yy522; } } } yy542: yych = *++p; if (yybm[0+yych] & 32) { goto yy544; } if (yych <= 0xE0) { if (yych <= '"') { if (yych <= 0x00) goto yy522; if (yych <= ' ') goto yy542; goto yy546; } else { if (yych <= '\'') goto yy548; if (yych <= 0xC1) goto yy522; if (yych <= 0xDF) goto yy550; goto yy551; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy553; goto yy552; } else { if (yych <= 0xF0) goto yy554; if (yych <= 0xF3) goto yy555; if (yych <= 0xF4) goto yy556; goto yy522; } } yy544: yych = *++p; if (yybm[0+yych] & 32) { goto yy544; } if (yych <= 0xE0) { if (yych <= '=') { if (yych <= 0x00) goto yy522; if (yych <= ' ') goto yy527; goto yy522; } else { if (yych <= '>') goto yy530; if (yych <= 0xC1) goto yy522; if (yych <= 0xDF) goto yy550; goto yy551; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy553; goto yy552; } else { if (yych <= 0xF0) goto yy554; if (yych <= 0xF3) goto yy555; if (yych <= 0xF4) goto yy556; goto yy522; } } yy546: yych = *++p; if (yybm[0+yych] & 64) { goto yy546; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy522; if (yych <= '"') goto yy557; goto yy522; } else { if (yych <= 0xDF) goto yy558; if (yych <= 0xE0) goto yy559; goto yy560; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy561; if (yych <= 0xEF) goto yy560; goto yy562; } else { if (yych <= 0xF3) goto yy563; if (yych <= 0xF4) goto yy564; goto yy522; } } yy548: yych = *++p; if (yybm[0+yych] & 128) { goto yy548; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy522; if (yych <= '\'') goto yy557; goto yy522; } 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 yy522; } } yy550: yych = *++p; if (yych <= 0x7F) goto yy522; if (yych <= 0xBF) goto yy544; goto yy522; yy551: yych = *++p; if (yych <= 0x9F) goto yy522; if (yych <= 0xBF) goto yy550; goto yy522; yy552: yych = *++p; if (yych <= 0x7F) goto yy522; if (yych <= 0xBF) goto yy550; goto yy522; yy553: yych = *++p; if (yych <= 0x7F) goto yy522; if (yych <= 0x9F) goto yy550; goto yy522; yy554: yych = *++p; if (yych <= 0x8F) goto yy522; if (yych <= 0xBF) goto yy552; goto yy522; yy555: yych = *++p; if (yych <= 0x7F) goto yy522; if (yych <= 0xBF) goto yy552; goto yy522; yy556: yych = *++p; if (yych <= 0x7F) goto yy522; if (yych <= 0x8F) goto yy552; goto yy522; yy557: yych = *++p; if (yybm[0+yych] & 2) { goto yy527; } if (yych == '/') goto yy529; if (yych == '>') goto yy530; goto yy522; yy558: yych = *++p; if (yych <= 0x7F) goto yy522; if (yych <= 0xBF) goto yy546; goto yy522; yy559: yych = *++p; if (yych <= 0x9F) goto yy522; if (yych <= 0xBF) goto yy558; goto yy522; yy560: yych = *++p; if (yych <= 0x7F) goto yy522; if (yych <= 0xBF) goto yy558; goto yy522; yy561: yych = *++p; if (yych <= 0x7F) goto yy522; if (yych <= 0x9F) goto yy558; goto yy522; yy562: yych = *++p; if (yych <= 0x8F) goto yy522; if (yych <= 0xBF) goto yy560; goto yy522; yy563: yych = *++p; if (yych <= 0x7F) goto yy522; if (yych <= 0xBF) goto yy560; goto yy522; yy564: yych = *++p; if (yych <= 0x7F) goto yy522; if (yych <= 0x8F) goto yy560; goto yy522; yy565: yych = *++p; if (yych <= 0x7F) goto yy522; if (yych <= 0xBF) goto yy548; goto yy522; yy566: yych = *++p; if (yych <= 0x9F) goto yy522; if (yych <= 0xBF) goto yy565; goto yy522; yy567: yych = *++p; if (yych <= 0x7F) goto yy522; if (yych <= 0xBF) goto yy565; goto yy522; yy568: yych = *++p; if (yych <= 0x7F) goto yy522; if (yych <= 0x9F) goto yy565; goto yy522; yy569: yych = *++p; if (yych <= 0x8F) goto yy522; if (yych <= 0xBF) goto yy567; goto yy522; yy570: yych = *++p; if (yych <= 0x7F) goto yy522; if (yych <= 0xBF) goto yy567; goto yy522; yy571: yych = *++p; if (yych <= 0x7F) goto yy522; if (yych <= 0x8F) goto yy567; goto yy522; } } // 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 yy574; if (yych != '\n') goto yy576; } else { if (yych <= '<') goto yy577; if (yych <= 0x7F) goto yy576; if (yych >= 0xC2) goto yy578; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy579; if (yych == 0xED) goto yy581; goto yy580; } else { if (yych <= 0xF0) goto yy582; if (yych <= 0xF3) goto yy583; if (yych <= 0xF4) goto yy584; } } yy574: ++p; yy575: { return 0; } yy576: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy575; if (yych <= '\t') goto yy586; goto yy575; } else { if (yych <= 0x7F) goto yy586; if (yych <= 0xC1) goto yy575; if (yych <= 0xF4) goto yy586; goto yy575; } yy577: yyaccept = 0; yych = *(marker = ++p); if (yych <= '.') { if (yych <= 0x00) goto yy575; if (yych == '\n') goto yy575; goto yy586; } else { if (yych <= 0x7F) { if (yych <= '/') goto yy597; goto yy586; } else { if (yych <= 0xC1) goto yy575; if (yych <= 0xF4) goto yy586; goto yy575; } } yy578: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy575; if (yych <= 0xBF) goto yy585; goto yy575; yy579: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy575; if (yych <= 0xBF) goto yy590; goto yy575; yy580: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy575; if (yych <= 0xBF) goto yy590; goto yy575; yy581: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy575; if (yych <= 0x9F) goto yy590; goto yy575; yy582: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy575; if (yych <= 0xBF) goto yy592; goto yy575; yy583: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy575; if (yych <= 0xBF) goto yy592; goto yy575; yy584: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy575; if (yych <= 0x8F) goto yy592; goto yy575; yy585: yych = *++p; yy586: if (yybm[0+yych] & 64) { goto yy585; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy587; if (yych <= '<') goto yy588; } else { if (yych <= 0xDF) goto yy590; if (yych <= 0xE0) goto yy591; goto yy592; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy593; if (yych <= 0xEF) goto yy592; goto yy594; } else { if (yych <= 0xF3) goto yy595; if (yych <= 0xF4) goto yy596; } } yy587: p = marker; if (yyaccept == 0) { goto yy575; } else { goto yy607; } yy588: yych = *++p; if (yybm[0+yych] & 128) { goto yy588; } if (yych <= 0xDF) { if (yych <= '.') { if (yych <= 0x00) goto yy587; if (yych == '\n') goto yy587; goto yy585; } else { if (yych <= '/') goto yy597; if (yych <= 0x7F) goto yy585; if (yych <= 0xC1) goto yy587; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy591; if (yych == 0xED) goto yy593; goto yy592; } else { if (yych <= 0xF0) goto yy594; if (yych <= 0xF3) goto yy595; if (yych <= 0xF4) goto yy596; goto yy587; } } yy590: yych = *++p; if (yych <= 0x7F) goto yy587; if (yych <= 0xBF) goto yy585; goto yy587; yy591: yych = *++p; if (yych <= 0x9F) goto yy587; if (yych <= 0xBF) goto yy590; goto yy587; yy592: yych = *++p; if (yych <= 0x7F) goto yy587; if (yych <= 0xBF) goto yy590; goto yy587; yy593: yych = *++p; if (yych <= 0x7F) goto yy587; if (yych <= 0x9F) goto yy590; goto yy587; yy594: yych = *++p; if (yych <= 0x8F) goto yy587; if (yych <= 0xBF) goto yy592; goto yy587; yy595: yych = *++p; if (yych <= 0x7F) goto yy587; if (yych <= 0xBF) goto yy592; goto yy587; yy596: yych = *++p; if (yych <= 0x7F) goto yy587; if (yych <= 0x8F) goto yy592; goto yy587; yy597: yych = *++p; if (yybm[0+yych] & 128) { goto yy588; } if (yych <= 's') { if (yych <= 'P') { if (yych <= '\t') { if (yych <= 0x00) goto yy587; goto yy585; } else { if (yych <= '\n') goto yy587; if (yych <= 'O') goto yy585; } } else { if (yych <= 'o') { if (yych == 'S') goto yy599; goto yy585; } else { if (yych <= 'p') goto yy598; if (yych <= 'r') goto yy585; goto yy599; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x7F) goto yy585; goto yy587; } else { if (yych <= 0xDF) goto yy590; if (yych <= 0xE0) goto yy591; goto yy592; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy593; if (yych <= 0xEF) goto yy592; goto yy594; } else { if (yych <= 0xF3) goto yy595; if (yych <= 0xF4) goto yy596; goto yy587; } } } yy598: yych = *++p; if (yybm[0+yych] & 128) { goto yy588; } if (yych <= 0xC1) { if (yych <= 'Q') { if (yych <= 0x00) goto yy587; if (yych == '\n') goto yy587; goto yy585; } else { if (yych <= 'q') { if (yych <= 'R') goto yy600; goto yy585; } else { if (yych <= 'r') goto yy600; if (yych <= 0x7F) goto yy585; goto yy587; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy590; if (yych <= 0xE0) goto yy591; if (yych <= 0xEC) goto yy592; goto yy593; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy592; goto yy594; } else { if (yych <= 0xF3) goto yy595; if (yych <= 0xF4) goto yy596; goto yy587; } } } yy599: yych = *++p; if (yybm[0+yych] & 128) { goto yy588; } if (yych <= 't') { if (yych <= 'C') { if (yych <= '\t') { if (yych <= 0x00) goto yy587; goto yy585; } else { if (yych <= '\n') goto yy587; if (yych <= 'B') goto yy585; goto yy601; } } else { if (yych <= 'b') { if (yych == 'T') goto yy602; goto yy585; } else { if (yych <= 'c') goto yy601; if (yych <= 's') goto yy585; goto yy602; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x7F) goto yy585; goto yy587; } else { if (yych <= 0xDF) goto yy590; if (yych <= 0xE0) goto yy591; goto yy592; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy593; if (yych <= 0xEF) goto yy592; goto yy594; } else { if (yych <= 0xF3) goto yy595; if (yych <= 0xF4) goto yy596; goto yy587; } } } yy600: yych = *++p; if (yybm[0+yych] & 128) { goto yy588; } if (yych <= 0xC1) { if (yych <= 'D') { if (yych <= 0x00) goto yy587; if (yych == '\n') goto yy587; goto yy585; } else { if (yych <= 'd') { if (yych <= 'E') goto yy603; goto yy585; } else { if (yych <= 'e') goto yy603; if (yych <= 0x7F) goto yy585; goto yy587; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy590; if (yych <= 0xE0) goto yy591; if (yych <= 0xEC) goto yy592; goto yy593; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy592; goto yy594; } else { if (yych <= 0xF3) goto yy595; if (yych <= 0xF4) goto yy596; goto yy587; } } } yy601: yych = *++p; if (yybm[0+yych] & 128) { goto yy588; } if (yych <= 0xC1) { if (yych <= 'Q') { if (yych <= 0x00) goto yy587; if (yych == '\n') goto yy587; goto yy585; } else { if (yych <= 'q') { if (yych <= 'R') goto yy604; goto yy585; } else { if (yych <= 'r') goto yy604; if (yych <= 0x7F) goto yy585; goto yy587; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy590; if (yych <= 0xE0) goto yy591; if (yych <= 0xEC) goto yy592; goto yy593; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy592; goto yy594; } else { if (yych <= 0xF3) goto yy595; if (yych <= 0xF4) goto yy596; goto yy587; } } } yy602: yych = *++p; if (yybm[0+yych] & 128) { goto yy588; } if (yych <= 0xC1) { if (yych <= 'X') { if (yych <= 0x00) goto yy587; if (yych == '\n') goto yy587; goto yy585; } else { if (yych <= 'x') { if (yych <= 'Y') goto yy605; goto yy585; } else { if (yych <= 'y') goto yy605; if (yych <= 0x7F) goto yy585; goto yy587; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy590; if (yych <= 0xE0) goto yy591; if (yych <= 0xEC) goto yy592; goto yy593; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy592; goto yy594; } else { if (yych <= 0xF3) goto yy595; if (yych <= 0xF4) goto yy596; goto yy587; } } } yy603: yych = *++p; if (yybm[0+yych] & 128) { goto yy588; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy587; if (yych == '\n') goto yy587; goto yy585; } else { if (yych <= '>') goto yy606; if (yych <= 0x7F) goto yy585; if (yych <= 0xC1) goto yy587; goto yy590; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy591; if (yych == 0xED) goto yy593; goto yy592; } else { if (yych <= 0xF0) goto yy594; if (yych <= 0xF3) goto yy595; if (yych <= 0xF4) goto yy596; goto yy587; } } yy604: yych = *++p; if (yybm[0+yych] & 128) { goto yy588; } if (yych <= 0xC1) { if (yych <= 'H') { if (yych <= 0x00) goto yy587; if (yych == '\n') goto yy587; goto yy585; } else { if (yych <= 'h') { if (yych <= 'I') goto yy608; goto yy585; } else { if (yych <= 'i') goto yy608; if (yych <= 0x7F) goto yy585; goto yy587; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy590; if (yych <= 0xE0) goto yy591; if (yych <= 0xEC) goto yy592; goto yy593; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy592; goto yy594; } else { if (yych <= 0xF3) goto yy595; if (yych <= 0xF4) goto yy596; goto yy587; } } } yy605: yych = *++p; if (yybm[0+yych] & 128) { goto yy588; } if (yych <= 0xC1) { if (yych <= 'K') { if (yych <= 0x00) goto yy587; if (yych == '\n') goto yy587; goto yy585; } else { if (yych <= 'k') { if (yych <= 'L') goto yy600; goto yy585; } else { if (yych <= 'l') goto yy600; if (yych <= 0x7F) goto yy585; goto yy587; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy590; if (yych <= 0xE0) goto yy591; if (yych <= 0xEC) goto yy592; goto yy593; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy592; goto yy594; } else { if (yych <= 0xF3) goto yy595; if (yych <= 0xF4) goto yy596; goto yy587; } } } yy606: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { goto yy585; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy607; if (yych <= '<') goto yy588; } else { if (yych <= 0xDF) goto yy590; if (yych <= 0xE0) goto yy591; goto yy592; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy593; if (yych <= 0xEF) goto yy592; goto yy594; } else { if (yych <= 0xF3) goto yy595; if (yych <= 0xF4) goto yy596; } } yy607: { return (bufsize_t)(p - start); } yy608: yych = *++p; if (yybm[0+yych] & 128) { goto yy588; } if (yych <= 0xC1) { if (yych <= 'O') { if (yych <= 0x00) goto yy587; if (yych == '\n') goto yy587; goto yy585; } else { if (yych <= 'o') { if (yych >= 'Q') goto yy585; } else { if (yych <= 'p') goto yy609; if (yych <= 0x7F) goto yy585; goto yy587; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy590; if (yych <= 0xE0) goto yy591; if (yych <= 0xEC) goto yy592; goto yy593; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy592; goto yy594; } else { if (yych <= 0xF3) goto yy595; if (yych <= 0xF4) goto yy596; goto yy587; } } } yy609: yych = *++p; if (yybm[0+yych] & 128) { goto yy588; } if (yych <= 0xC1) { if (yych <= 'S') { if (yych <= 0x00) goto yy587; if (yych == '\n') goto yy587; goto yy585; } else { if (yych <= 's') { if (yych <= 'T') goto yy603; goto yy585; } else { if (yych <= 't') goto yy603; if (yych <= 0x7F) goto yy585; goto yy587; } } } else { if (yych <= 0xED) { if (yych <= 0xDF) goto yy590; if (yych <= 0xE0) goto yy591; if (yych <= 0xEC) goto yy592; goto yy593; } else { if (yych <= 0xF0) { if (yych <= 0xEF) goto yy592; goto yy594; } else { if (yych <= 0xF3) goto yy595; if (yych <= 0xF4) goto yy596; goto yy587; } } } } } // 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 yy612; if (yych != '\n') goto yy614; } else { if (yych <= '-') goto yy615; if (yych <= 0x7F) goto yy614; if (yych >= 0xC2) goto yy616; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy617; if (yych == 0xED) goto yy619; goto yy618; } else { if (yych <= 0xF0) goto yy620; if (yych <= 0xF3) goto yy621; if (yych <= 0xF4) goto yy622; } } yy612: ++p; yy613: { return 0; } yy614: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy613; if (yych <= '\t') goto yy624; goto yy613; } else { if (yych <= 0x7F) goto yy624; if (yych <= 0xC1) goto yy613; if (yych <= 0xF4) goto yy624; goto yy613; } yy615: yyaccept = 0; yych = *(marker = ++p); if (yybm[0+yych] & 128) { goto yy634; } if (yych <= '\n') { if (yych <= 0x00) goto yy613; if (yych <= '\t') goto yy624; goto yy613; } else { if (yych <= 0x7F) goto yy624; if (yych <= 0xC1) goto yy613; if (yych <= 0xF4) goto yy624; goto yy613; } yy616: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy613; if (yych <= 0xBF) goto yy623; goto yy613; yy617: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy613; if (yych <= 0xBF) goto yy627; goto yy613; yy618: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy613; if (yych <= 0xBF) goto yy627; goto yy613; yy619: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy613; if (yych <= 0x9F) goto yy627; goto yy613; yy620: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy613; if (yych <= 0xBF) goto yy629; goto yy613; yy621: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy613; if (yych <= 0xBF) goto yy629; goto yy613; yy622: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy613; if (yych <= 0x8F) goto yy629; goto yy613; yy623: yych = *++p; yy624: if (yybm[0+yych] & 64) { goto yy623; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy625; if (yych <= '-') goto yy626; } else { if (yych <= 0xDF) goto yy627; if (yych <= 0xE0) goto yy628; goto yy629; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy630; if (yych <= 0xEF) goto yy629; goto yy631; } else { if (yych <= 0xF3) goto yy632; if (yych <= 0xF4) goto yy633; } } yy625: p = marker; if (yyaccept == 0) { goto yy613; } else { goto yy637; } yy626: yych = *++p; if (yybm[0+yych] & 64) { goto yy623; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy625; if (yych <= '-') goto yy634; goto yy625; } else { if (yych <= 0xDF) goto yy627; if (yych <= 0xE0) goto yy628; goto yy629; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy630; if (yych <= 0xEF) goto yy629; goto yy631; } else { if (yych <= 0xF3) goto yy632; if (yych <= 0xF4) goto yy633; goto yy625; } } yy627: yych = *++p; if (yych <= 0x7F) goto yy625; if (yych <= 0xBF) goto yy623; goto yy625; yy628: yych = *++p; if (yych <= 0x9F) goto yy625; if (yych <= 0xBF) goto yy627; goto yy625; yy629: yych = *++p; if (yych <= 0x7F) goto yy625; if (yych <= 0xBF) goto yy627; goto yy625; yy630: yych = *++p; if (yych <= 0x7F) goto yy625; if (yych <= 0x9F) goto yy627; goto yy625; yy631: yych = *++p; if (yych <= 0x8F) goto yy625; if (yych <= 0xBF) goto yy629; goto yy625; yy632: yych = *++p; if (yych <= 0x7F) goto yy625; if (yych <= 0xBF) goto yy629; goto yy625; yy633: yych = *++p; if (yych <= 0x7F) goto yy625; if (yych <= 0x8F) goto yy629; goto yy625; yy634: yych = *++p; if (yybm[0+yych] & 128) { goto yy634; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy625; if (yych == '\n') goto yy625; goto yy623; } else { if (yych <= '>') goto yy636; if (yych <= 0x7F) goto yy623; if (yych <= 0xC1) goto yy625; goto yy627; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy628; if (yych == 0xED) goto yy630; goto yy629; } else { if (yych <= 0xF0) goto yy631; if (yych <= 0xF3) goto yy632; if (yych <= 0xF4) goto yy633; goto yy625; } } yy636: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { goto yy623; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy637; if (yych <= '-') goto yy626; } else { if (yych <= 0xDF) goto yy627; if (yych <= 0xE0) goto yy628; goto yy629; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy630; if (yych <= 0xEF) goto yy629; goto yy631; } else { if (yych <= 0xF3) goto yy632; if (yych <= 0xF4) goto yy633; } } yy637: { 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 yy640; if (yych != '\n') goto yy642; } else { if (yych <= '?') goto yy643; if (yych <= 0x7F) goto yy642; if (yych >= 0xC2) goto yy644; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy645; if (yych == 0xED) goto yy647; goto yy646; } else { if (yych <= 0xF0) goto yy648; if (yych <= 0xF3) goto yy649; if (yych <= 0xF4) goto yy650; } } yy640: ++p; yy641: { return 0; } yy642: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy641; if (yych <= '\t') goto yy652; goto yy641; } else { if (yych <= 0x7F) goto yy652; if (yych <= 0xC1) goto yy641; if (yych <= 0xF4) goto yy652; goto yy641; } yy643: yyaccept = 0; yych = *(marker = ++p); if (yych <= '=') { if (yych <= 0x00) goto yy641; if (yych == '\n') goto yy641; goto yy652; } else { if (yych <= 0x7F) { if (yych <= '>') goto yy663; goto yy652; } else { if (yych <= 0xC1) goto yy641; if (yych <= 0xF4) goto yy652; goto yy641; } } yy644: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy641; if (yych <= 0xBF) goto yy651; goto yy641; yy645: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy641; if (yych <= 0xBF) goto yy656; goto yy641; yy646: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy641; if (yych <= 0xBF) goto yy656; goto yy641; yy647: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy641; if (yych <= 0x9F) goto yy656; goto yy641; yy648: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy641; if (yych <= 0xBF) goto yy658; goto yy641; yy649: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy641; if (yych <= 0xBF) goto yy658; goto yy641; yy650: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy641; if (yych <= 0x8F) goto yy658; goto yy641; yy651: yych = *++p; yy652: if (yybm[0+yych] & 64) { goto yy651; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy653; if (yych <= '?') goto yy654; } else { if (yych <= 0xDF) goto yy656; if (yych <= 0xE0) goto yy657; goto yy658; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy659; if (yych <= 0xEF) goto yy658; goto yy660; } else { if (yych <= 0xF3) goto yy661; if (yych <= 0xF4) goto yy662; } } yy653: p = marker; if (yyaccept == 0) { goto yy641; } else { goto yy664; } yy654: yych = *++p; if (yybm[0+yych] & 128) { goto yy654; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy653; if (yych == '\n') goto yy653; goto yy651; } else { if (yych <= '>') goto yy663; if (yych <= 0x7F) goto yy651; if (yych <= 0xC1) goto yy653; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy657; if (yych == 0xED) goto yy659; goto yy658; } else { if (yych <= 0xF0) goto yy660; if (yych <= 0xF3) goto yy661; if (yych <= 0xF4) goto yy662; goto yy653; } } yy656: yych = *++p; if (yych <= 0x7F) goto yy653; if (yych <= 0xBF) goto yy651; goto yy653; yy657: yych = *++p; if (yych <= 0x9F) goto yy653; if (yych <= 0xBF) goto yy656; goto yy653; yy658: yych = *++p; if (yych <= 0x7F) goto yy653; if (yych <= 0xBF) goto yy656; goto yy653; yy659: yych = *++p; if (yych <= 0x7F) goto yy653; if (yych <= 0x9F) goto yy656; goto yy653; yy660: yych = *++p; if (yych <= 0x8F) goto yy653; if (yych <= 0xBF) goto yy658; goto yy653; yy661: yych = *++p; if (yych <= 0x7F) goto yy653; if (yych <= 0xBF) goto yy658; goto yy653; yy662: yych = *++p; if (yych <= 0x7F) goto yy653; if (yych <= 0x8F) goto yy658; goto yy653; yy663: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { goto yy651; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy664; if (yych <= '?') goto yy654; } else { if (yych <= 0xDF) goto yy656; if (yych <= 0xE0) goto yy657; goto yy658; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy659; if (yych <= 0xEF) goto yy658; goto yy660; } else { if (yych <= 0xF3) goto yy661; if (yych <= 0xF4) goto yy662; } } yy664: { 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 yy670; } if (yych <= 0xE0) { if (yych <= '\n') { if (yych <= 0x00) goto yy667; if (yych <= '\t') goto yy669; } else { if (yych <= 0x7F) goto yy669; if (yych <= 0xC1) goto yy667; if (yych <= 0xDF) goto yy673; goto yy674; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy676; goto yy675; } else { if (yych <= 0xF0) goto yy677; if (yych <= 0xF3) goto yy678; if (yych <= 0xF4) goto yy679; } } yy667: ++p; yy668: { return 0; } yy669: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy668; if (yych <= '\t') goto yy681; goto yy668; } else { if (yych <= 0x7F) goto yy681; if (yych <= 0xC1) goto yy668; if (yych <= 0xF4) goto yy681; goto yy668; } yy670: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 128) { goto yy680; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy672; if (yych <= '>') goto yy670; } else { if (yych <= 0xDF) goto yy683; if (yych <= 0xE0) goto yy684; goto yy685; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy686; if (yych <= 0xEF) goto yy685; goto yy687; } else { if (yych <= 0xF3) goto yy688; if (yych <= 0xF4) goto yy689; } } yy672: { return (bufsize_t)(p - start); } yy673: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy668; if (yych <= 0xBF) goto yy680; goto yy668; yy674: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy668; if (yych <= 0xBF) goto yy683; goto yy668; yy675: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy668; if (yych <= 0xBF) goto yy683; goto yy668; yy676: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy668; if (yych <= 0x9F) goto yy683; goto yy668; yy677: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy668; if (yych <= 0xBF) goto yy685; goto yy668; yy678: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy668; if (yych <= 0xBF) goto yy685; goto yy668; yy679: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy668; if (yych <= 0x8F) goto yy685; goto yy668; yy680: yych = *++p; yy681: if (yybm[0+yych] & 128) { goto yy680; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy682; if (yych <= '>') goto yy670; } else { if (yych <= 0xDF) goto yy683; if (yych <= 0xE0) goto yy684; goto yy685; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy686; if (yych <= 0xEF) goto yy685; goto yy687; } else { if (yych <= 0xF3) goto yy688; if (yych <= 0xF4) goto yy689; } } yy682: p = marker; if (yyaccept == 0) { goto yy668; } else { goto yy672; } yy683: yych = *++p; if (yych <= 0x7F) goto yy682; if (yych <= 0xBF) goto yy680; goto yy682; yy684: yych = *++p; if (yych <= 0x9F) goto yy682; if (yych <= 0xBF) goto yy683; goto yy682; yy685: yych = *++p; if (yych <= 0x7F) goto yy682; if (yych <= 0xBF) goto yy683; goto yy682; yy686: yych = *++p; if (yych <= 0x7F) goto yy682; if (yych <= 0x9F) goto yy683; goto yy682; yy687: yych = *++p; if (yych <= 0x8F) goto yy682; if (yych <= 0xBF) goto yy685; goto yy682; yy688: yych = *++p; if (yych <= 0x7F) goto yy682; if (yych <= 0xBF) goto yy685; goto yy682; yy689: yych = *++p; if (yych <= 0x7F) goto yy682; if (yych <= 0x8F) goto yy685; goto yy682; } } // 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 yy692; if (yych != '\n') goto yy694; } else { if (yych <= ']') goto yy695; if (yych <= 0x7F) goto yy694; if (yych >= 0xC2) goto yy696; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy697; if (yych == 0xED) goto yy699; goto yy698; } else { if (yych <= 0xF0) goto yy700; if (yych <= 0xF3) goto yy701; if (yych <= 0xF4) goto yy702; } } yy692: ++p; yy693: { return 0; } yy694: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { if (yych <= 0x00) goto yy693; if (yych <= '\t') goto yy704; goto yy693; } else { if (yych <= 0x7F) goto yy704; if (yych <= 0xC1) goto yy693; if (yych <= 0xF4) goto yy704; goto yy693; } yy695: yyaccept = 0; yych = *(marker = ++p); if (yybm[0+yych] & 128) { goto yy714; } if (yych <= '\n') { if (yych <= 0x00) goto yy693; if (yych <= '\t') goto yy704; goto yy693; } else { if (yych <= 0x7F) goto yy704; if (yych <= 0xC1) goto yy693; if (yych <= 0xF4) goto yy704; goto yy693; } yy696: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy693; if (yych <= 0xBF) goto yy703; goto yy693; yy697: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x9F) goto yy693; if (yych <= 0xBF) goto yy707; goto yy693; yy698: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy693; if (yych <= 0xBF) goto yy707; goto yy693; yy699: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy693; if (yych <= 0x9F) goto yy707; goto yy693; yy700: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x8F) goto yy693; if (yych <= 0xBF) goto yy709; goto yy693; yy701: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy693; if (yych <= 0xBF) goto yy709; goto yy693; yy702: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x7F) goto yy693; if (yych <= 0x8F) goto yy709; goto yy693; yy703: yych = *++p; yy704: if (yybm[0+yych] & 64) { goto yy703; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy705; if (yych <= ']') goto yy706; } else { if (yych <= 0xDF) goto yy707; if (yych <= 0xE0) goto yy708; goto yy709; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy710; if (yych <= 0xEF) goto yy709; goto yy711; } else { if (yych <= 0xF3) goto yy712; if (yych <= 0xF4) goto yy713; } } yy705: p = marker; if (yyaccept == 0) { goto yy693; } else { goto yy717; } yy706: yych = *++p; if (yybm[0+yych] & 64) { goto yy703; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy705; if (yych <= ']') goto yy714; goto yy705; } else { if (yych <= 0xDF) goto yy707; if (yych <= 0xE0) goto yy708; goto yy709; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy710; if (yych <= 0xEF) goto yy709; goto yy711; } else { if (yych <= 0xF3) goto yy712; if (yych <= 0xF4) goto yy713; goto yy705; } } yy707: yych = *++p; if (yych <= 0x7F) goto yy705; if (yych <= 0xBF) goto yy703; goto yy705; yy708: yych = *++p; if (yych <= 0x9F) goto yy705; if (yych <= 0xBF) goto yy707; goto yy705; yy709: yych = *++p; if (yych <= 0x7F) goto yy705; if (yych <= 0xBF) goto yy707; goto yy705; yy710: yych = *++p; if (yych <= 0x7F) goto yy705; if (yych <= 0x9F) goto yy707; goto yy705; yy711: yych = *++p; if (yych <= 0x8F) goto yy705; if (yych <= 0xBF) goto yy709; goto yy705; yy712: yych = *++p; if (yych <= 0x7F) goto yy705; if (yych <= 0xBF) goto yy709; goto yy705; yy713: yych = *++p; if (yych <= 0x7F) goto yy705; if (yych <= 0x8F) goto yy709; goto yy705; yy714: yych = *++p; if (yybm[0+yych] & 128) { goto yy714; } if (yych <= 0xDF) { if (yych <= '=') { if (yych <= 0x00) goto yy705; if (yych == '\n') goto yy705; goto yy703; } else { if (yych <= '>') goto yy716; if (yych <= 0x7F) goto yy703; if (yych <= 0xC1) goto yy705; goto yy707; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) goto yy708; if (yych == 0xED) goto yy710; goto yy709; } else { if (yych <= 0xF0) goto yy711; if (yych <= 0xF3) goto yy712; if (yych <= 0xF4) goto yy713; goto yy705; } } yy716: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { goto yy703; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= '\n') goto yy717; if (yych <= ']') goto yy706; } else { if (yych <= 0xDF) goto yy707; if (yych <= 0xE0) goto yy708; goto yy709; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy710; if (yych <= 0xEF) goto yy709; goto yy711; } else { if (yych <= 0xF3) goto yy712; if (yych <= 0xF4) goto yy713; } } yy717: { 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 yy722; } else { if (yych <= '\'') goto yy723; if (yych <= '(') goto yy724; } ++p; yy721: { return 0; } yy722: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) goto yy721; if (yych <= 0x7F) goto yy726; if (yych <= 0xC1) goto yy721; if (yych <= 0xF4) goto yy726; goto yy721; yy723: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) goto yy721; if (yych <= 0x7F) goto yy740; if (yych <= 0xC1) goto yy721; if (yych <= 0xF4) goto yy740; goto yy721; yy724: yyaccept = 0; yych = *(marker = ++p); if (yych <= 0x00) goto yy721; if (yych <= 0x7F) goto yy753; if (yych <= 0xC1) goto yy721; if (yych <= 0xF4) goto yy753; goto yy721; yy725: yych = *++p; yy726: if (yybm[0+yych] & 16) { goto yy725; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy727; if (yych <= '"') goto yy728; goto yy730; } else { if (yych <= 0xC1) goto yy727; if (yych <= 0xDF) goto yy732; goto yy733; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy735; goto yy734; } else { if (yych <= 0xF0) goto yy736; if (yych <= 0xF3) goto yy737; if (yych <= 0xF4) goto yy738; } } yy727: p = marker; if (yyaccept <= 1) { if (yyaccept == 0) { goto yy721; } else { goto yy729; } } else { if (yyaccept == 2) { goto yy742; } else { goto yy755; } } yy728: ++p; yy729: { return (bufsize_t)(p - start); } yy730: yych = *++p; if (yybm[0+yych] & 16) { goto yy725; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy727; if (yych <= '"') goto yy765; goto yy730; } else { if (yych <= 0xC1) goto yy727; if (yych >= 0xE0) goto yy733; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy735; goto yy734; } else { if (yych <= 0xF0) goto yy736; if (yych <= 0xF3) goto yy737; if (yych <= 0xF4) goto yy738; goto yy727; } } yy732: yych = *++p; if (yych <= 0x7F) goto yy727; if (yych <= 0xBF) goto yy725; goto yy727; yy733: yych = *++p; if (yych <= 0x9F) goto yy727; if (yych <= 0xBF) goto yy732; goto yy727; yy734: yych = *++p; if (yych <= 0x7F) goto yy727; if (yych <= 0xBF) goto yy732; goto yy727; yy735: yych = *++p; if (yych <= 0x7F) goto yy727; if (yych <= 0x9F) goto yy732; goto yy727; yy736: yych = *++p; if (yych <= 0x8F) goto yy727; if (yych <= 0xBF) goto yy734; goto yy727; yy737: yych = *++p; if (yych <= 0x7F) goto yy727; if (yych <= 0xBF) goto yy734; goto yy727; yy738: yych = *++p; if (yych <= 0x7F) goto yy727; if (yych <= 0x8F) goto yy734; goto yy727; yy739: yych = *++p; yy740: if (yybm[0+yych] & 64) { goto yy739; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy727; if (yych >= '(') goto yy743; } else { if (yych <= 0xC1) goto yy727; if (yych <= 0xDF) goto yy745; goto yy746; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy748; goto yy747; } else { if (yych <= 0xF0) goto yy749; if (yych <= 0xF3) goto yy750; if (yych <= 0xF4) goto yy751; goto yy727; } } yy741: ++p; yy742: { return (bufsize_t)(p - start); } yy743: yych = *++p; if (yybm[0+yych] & 64) { goto yy739; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy727; if (yych <= '\'') goto yy766; goto yy743; } else { if (yych <= 0xC1) goto yy727; if (yych >= 0xE0) goto yy746; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy748; goto yy747; } else { if (yych <= 0xF0) goto yy749; if (yych <= 0xF3) goto yy750; if (yych <= 0xF4) goto yy751; goto yy727; } } yy745: yych = *++p; if (yych <= 0x7F) goto yy727; if (yych <= 0xBF) goto yy739; goto yy727; yy746: yych = *++p; if (yych <= 0x9F) goto yy727; if (yych <= 0xBF) goto yy745; goto yy727; yy747: yych = *++p; if (yych <= 0x7F) goto yy727; if (yych <= 0xBF) goto yy745; goto yy727; yy748: yych = *++p; if (yych <= 0x7F) goto yy727; if (yych <= 0x9F) goto yy745; goto yy727; yy749: yych = *++p; if (yych <= 0x8F) goto yy727; if (yych <= 0xBF) goto yy747; goto yy727; yy750: yych = *++p; if (yych <= 0x7F) goto yy727; if (yych <= 0xBF) goto yy747; goto yy727; yy751: yych = *++p; if (yych <= 0x7F) goto yy727; if (yych <= 0x8F) goto yy747; goto yy727; yy752: yych = *++p; yy753: if (yybm[0+yych] & 128) { goto yy752; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy727; if (yych >= '*') goto yy756; } else { if (yych <= 0xC1) goto yy727; if (yych <= 0xDF) goto yy758; goto yy759; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy761; goto yy760; } else { if (yych <= 0xF0) goto yy762; if (yych <= 0xF3) goto yy763; if (yych <= 0xF4) goto yy764; goto yy727; } } yy754: ++p; yy755: { return (bufsize_t)(p - start); } yy756: yych = *++p; if (yybm[0+yych] & 128) { goto yy752; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy727; if (yych <= ')') goto yy767; goto yy756; } else { if (yych <= 0xC1) goto yy727; if (yych >= 0xE0) goto yy759; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy761; goto yy760; } else { if (yych <= 0xF0) goto yy762; if (yych <= 0xF3) goto yy763; if (yych <= 0xF4) goto yy764; goto yy727; } } yy758: yych = *++p; if (yych <= 0x7F) goto yy727; if (yych <= 0xBF) goto yy752; goto yy727; yy759: yych = *++p; if (yych <= 0x9F) goto yy727; if (yych <= 0xBF) goto yy758; goto yy727; yy760: yych = *++p; if (yych <= 0x7F) goto yy727; if (yych <= 0xBF) goto yy758; goto yy727; yy761: yych = *++p; if (yych <= 0x7F) goto yy727; if (yych <= 0x9F) goto yy758; goto yy727; yy762: yych = *++p; if (yych <= 0x8F) goto yy727; if (yych <= 0xBF) goto yy760; goto yy727; yy763: yych = *++p; if (yych <= 0x7F) goto yy727; if (yych <= 0xBF) goto yy760; goto yy727; yy764: yych = *++p; if (yych <= 0x7F) goto yy727; if (yych <= 0x8F) goto yy760; goto yy727; yy765: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 16) { goto yy725; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy729; if (yych <= '"') goto yy728; goto yy730; } else { if (yych <= 0xC1) goto yy729; if (yych <= 0xDF) goto yy732; goto yy733; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy735; goto yy734; } else { if (yych <= 0xF0) goto yy736; if (yych <= 0xF3) goto yy737; if (yych <= 0xF4) goto yy738; goto yy729; } } yy766: yyaccept = 2; yych = *(marker = ++p); if (yybm[0+yych] & 64) { goto yy739; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy742; if (yych <= '\'') goto yy741; goto yy743; } else { if (yych <= 0xC1) goto yy742; if (yych <= 0xDF) goto yy745; goto yy746; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy748; goto yy747; } else { if (yych <= 0xF0) goto yy749; if (yych <= 0xF3) goto yy750; if (yych <= 0xF4) goto yy751; goto yy742; } } yy767: yyaccept = 3; yych = *(marker = ++p); if (yybm[0+yych] & 128) { goto yy752; } if (yych <= 0xE0) { if (yych <= '\\') { if (yych <= 0x00) goto yy755; if (yych <= ')') goto yy754; goto yy756; } else { if (yych <= 0xC1) goto yy755; if (yych <= 0xDF) goto yy758; goto yy759; } } else { if (yych <= 0xEF) { if (yych == 0xED) goto yy761; goto yy760; } else { if (yych <= 0xF0) goto yy762; if (yych <= 0xF3) goto yy763; if (yych <= 0xF4) goto yy764; goto yy755; } } } } // 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 yy772; } ++p; { return 0; } yy772: yych = *++p; if (yybm[0+yych] & 128) { goto yy772; } { 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 yy779; ++p; yy778: { return 0; } yy779: yych = *(marker = ++p); if (yybm[0+yych] & 128) { goto yy780; } if (yych <= '\f') { if (yych <= 0x08) goto yy778; if (yych <= '\n') goto yy783; goto yy778; } else { if (yych <= '\r') goto yy783; if (yych == '#') goto yy784; goto yy778; } yy780: yych = *++p; if (yybm[0+yych] & 128) { goto yy780; } yy782: { return (bufsize_t)(p - start); } yy783: ++p; goto yy782; yy784: yych = *++p; if (yybm[0+yych] & 128) { goto yy780; } if (yych <= '\f') { if (yych <= 0x08) goto yy785; if (yych <= '\n') goto yy783; } else { if (yych <= '\r') goto yy783; if (yych == '#') goto yy786; } yy785: p = marker; goto yy778; yy786: yych = *++p; if (yybm[0+yych] & 128) { goto yy780; } if (yych <= '\f') { if (yych <= 0x08) goto yy785; if (yych <= '\n') goto yy783; goto yy785; } else { if (yych <= '\r') goto yy783; if (yych != '#') goto yy785; } yych = *++p; if (yybm[0+yych] & 128) { goto yy780; } if (yych <= '\f') { if (yych <= 0x08) goto yy785; if (yych <= '\n') goto yy783; goto yy785; } else { if (yych <= '\r') goto yy783; if (yych != '#') goto yy785; } yych = *++p; if (yybm[0+yych] & 128) { goto yy780; } if (yych <= '\f') { if (yych <= 0x08) goto yy785; if (yych <= '\n') goto yy783; goto yy785; } else { if (yych <= '\r') goto yy783; if (yych != '#') goto yy785; } yych = *++p; if (yybm[0+yych] & 128) { goto yy780; } if (yych <= 0x08) goto yy785; if (yych <= '\n') goto yy783; if (yych == '\r') goto yy783; goto yy785; } } // 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 yy794; if (yych == '=') goto yy795; ++p; yy793: { return 0; } yy794: yych = *(marker = ++p); if (yybm[0+yych] & 64) { goto yy801; } if (yych <= '\f') { if (yych <= 0x08) goto yy793; if (yych <= '\n') goto yy797; goto yy793; } else { if (yych <= '\r') goto yy797; if (yych == ' ') goto yy797; goto yy793; } yy795: yych = *(marker = ++p); if (yybm[0+yych] & 128) { goto yy807; } if (yych <= '\f') { if (yych <= 0x08) goto yy793; if (yych <= '\n') goto yy804; goto yy793; } else { if (yych <= '\r') goto yy804; if (yych == ' ') goto yy804; goto yy793; } yy796: yych = *++p; yy797: if (yybm[0+yych] & 32) { goto yy796; } if (yych <= 0x08) goto yy798; if (yych <= '\n') goto yy799; if (yych == '\r') goto yy799; yy798: p = marker; goto yy793; yy799: ++p; { return 2; } yy801: yych = *++p; if (yybm[0+yych] & 32) { goto yy796; } if (yych <= '\f') { if (yych <= 0x08) goto yy798; if (yych <= '\n') goto yy799; goto yy798; } else { if (yych <= '\r') goto yy799; if (yych == '-') goto yy801; goto yy798; } yy803: yych = *++p; yy804: if (yych <= '\f') { if (yych <= 0x08) goto yy798; if (yych <= '\t') goto yy803; if (yych >= '\v') goto yy798; } else { if (yych <= '\r') goto yy805; if (yych == ' ') goto yy803; goto yy798; } yy805: ++p; { return 1; } yy807: yych = *++p; if (yybm[0+yych] & 128) { goto yy807; } if (yych <= '\f') { if (yych <= 0x08) goto yy798; if (yych <= '\t') goto yy803; if (yych <= '\n') goto yy805; goto yy798; } else { if (yych <= '\r') goto yy805; if (yych == ' ') goto yy803; goto yy798; } } } // 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 yy813; } else { if (yych <= '-') goto yy814; if (yych == '_') goto yy815; } ++p; yy812: { return 0; } yy813: yych = *(marker = ++p); if (yybm[0+yych] & 16) { goto yy816; } if (yych == '*') goto yy819; goto yy812; yy814: yych = *(marker = ++p); if (yych <= 0x1F) { if (yych == '\t') goto yy821; goto yy812; } else { if (yych <= ' ') goto yy821; if (yych == '-') goto yy823; goto yy812; } yy815: yych = *(marker = ++p); if (yych <= 0x1F) { if (yych == '\t') goto yy825; goto yy812; } else { if (yych <= ' ') goto yy825; if (yych == '_') goto yy827; goto yy812; } yy816: yych = *++p; if (yybm[0+yych] & 16) { goto yy816; } if (yych == '*') goto yy819; yy818: p = marker; goto yy812; yy819: yych = *++p; if (yych <= 0x1F) { if (yych == '\t') goto yy819; goto yy818; } else { if (yych <= ' ') goto yy819; if (yych == '*') goto yy829; goto yy818; } yy821: yych = *++p; if (yych <= 0x1F) { if (yych == '\t') goto yy821; goto yy818; } else { if (yych <= ' ') goto yy821; if (yych != '-') goto yy818; } yy823: yych = *++p; if (yych <= 0x1F) { if (yych == '\t') goto yy823; goto yy818; } else { if (yych <= ' ') goto yy823; if (yych == '-') goto yy831; goto yy818; } yy825: yych = *++p; if (yych <= 0x1F) { if (yych == '\t') goto yy825; goto yy818; } else { if (yych <= ' ') goto yy825; if (yych != '_') goto yy818; } yy827: yych = *++p; if (yych <= 0x1F) { if (yych == '\t') goto yy827; goto yy818; } else { if (yych <= ' ') goto yy827; if (yych == '_') goto yy833; goto yy818; } yy829: yych = *++p; if (yybm[0+yych] & 32) { goto yy829; } if (yych <= 0x08) goto yy818; if (yych <= '\n') goto yy835; if (yych == '\r') goto yy835; goto yy818; yy831: yych = *++p; if (yybm[0+yych] & 64) { goto yy831; } if (yych <= 0x08) goto yy818; if (yych <= '\n') goto yy837; if (yych == '\r') goto yy837; goto yy818; yy833: yych = *++p; if (yybm[0+yych] & 128) { goto yy833; } if (yych <= 0x08) goto yy818; if (yych <= '\n') goto yy839; if (yych == '\r') goto yy839; goto yy818; yy835: ++p; { return (bufsize_t)(p - start); } yy837: ++p; { return (bufsize_t)(p - start); } yy839: ++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, 224, 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 yy845; if (yych == '~') goto yy846; ++p; yy844: { return 0; } yy845: yych = *(marker = ++p); if (yych == '`') goto yy847; goto yy844; yy846: yych = *(marker = ++p); if (yych == '~') goto yy849; goto yy844; yy847: yych = *++p; if (yybm[0+yych] & 16) { goto yy850; } yy848: p = marker; goto yy844; yy849: yych = *++p; if (yybm[0+yych] & 32) { goto yy852; } goto yy848; yy850: yych = *++p; if (yybm[0+yych] & 16) { goto yy850; } if (yych <= 0xDF) { if (yych <= '\f') { if (yych <= 0x00) goto yy848; if (yych == '\n') { marker = p; goto yy856; } marker = p; goto yy854; } else { if (yych <= '\r') { marker = p; goto yy856; } if (yych <= 0x7F) { marker = p; goto yy854; } if (yych <= 0xC1) goto yy848; marker = p; goto yy858; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) { marker = p; goto yy859; } if (yych == 0xED) { marker = p; goto yy861; } marker = p; goto yy860; } else { if (yych <= 0xF0) { marker = p; goto yy862; } if (yych <= 0xF3) { marker = p; goto yy863; } if (yych <= 0xF4) { marker = p; goto yy864; } goto yy848; } } yy852: yych = *++p; if (yybm[0+yych] & 32) { goto yy852; } if (yych <= 0xDF) { if (yych <= '\f') { if (yych <= 0x00) goto yy848; if (yych == '\n') { marker = p; goto yy867; } marker = p; goto yy865; } else { if (yych <= '\r') { marker = p; goto yy867; } if (yych <= 0x7F) { marker = p; goto yy865; } if (yych <= 0xC1) goto yy848; marker = p; goto yy869; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) { marker = p; goto yy870; } if (yych == 0xED) { marker = p; goto yy872; } marker = p; goto yy871; } else { if (yych <= 0xF0) { marker = p; goto yy873; } if (yych <= 0xF3) { marker = p; goto yy874; } if (yych <= 0xF4) { marker = p; goto yy875; } goto yy848; } } yy854: yych = *++p; if (yybm[0+yych] & 64) { goto yy854; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy848; if (yych >= 0x0E) goto yy848; } else { if (yych <= 0xDF) goto yy858; if (yych <= 0xE0) goto yy859; goto yy860; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy861; if (yych <= 0xEF) goto yy860; goto yy862; } else { if (yych <= 0xF3) goto yy863; if (yych <= 0xF4) goto yy864; goto yy848; } } yy856: ++p; p = marker; { return (bufsize_t)(p - start); } yy858: yych = *++p; if (yych <= 0x7F) goto yy848; if (yych <= 0xBF) goto yy854; goto yy848; yy859: yych = *++p; if (yych <= 0x9F) goto yy848; if (yych <= 0xBF) goto yy858; goto yy848; yy860: yych = *++p; if (yych <= 0x7F) goto yy848; if (yych <= 0xBF) goto yy858; goto yy848; yy861: yych = *++p; if (yych <= 0x7F) goto yy848; if (yych <= 0x9F) goto yy858; goto yy848; yy862: yych = *++p; if (yych <= 0x8F) goto yy848; if (yych <= 0xBF) goto yy860; goto yy848; yy863: yych = *++p; if (yych <= 0x7F) goto yy848; if (yych <= 0xBF) goto yy860; goto yy848; yy864: yych = *++p; if (yych <= 0x7F) goto yy848; if (yych <= 0x8F) goto yy860; goto yy848; yy865: yych = *++p; if (yybm[0+yych] & 128) { goto yy865; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= 0x00) goto yy848; if (yych >= 0x0E) goto yy848; } else { if (yych <= 0xDF) goto yy869; if (yych <= 0xE0) goto yy870; goto yy871; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy872; if (yych <= 0xEF) goto yy871; goto yy873; } else { if (yych <= 0xF3) goto yy874; if (yych <= 0xF4) goto yy875; goto yy848; } } yy867: ++p; p = marker; { return (bufsize_t)(p - start); } yy869: yych = *++p; if (yych <= 0x7F) goto yy848; if (yych <= 0xBF) goto yy865; goto yy848; yy870: yych = *++p; if (yych <= 0x9F) goto yy848; if (yych <= 0xBF) goto yy869; goto yy848; yy871: yych = *++p; if (yych <= 0x7F) goto yy848; if (yych <= 0xBF) goto yy869; goto yy848; yy872: yych = *++p; if (yych <= 0x7F) goto yy848; if (yych <= 0x9F) goto yy869; goto yy848; yy873: yych = *++p; if (yych <= 0x8F) goto yy848; if (yych <= 0xBF) goto yy871; goto yy848; yy874: yych = *++p; if (yych <= 0x7F) goto yy848; if (yych <= 0xBF) goto yy871; goto yy848; yy875: yych = *++p; if (yych <= 0x7F) goto yy848; if (yych <= 0x8F) goto yy871; goto yy848; } } // 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 yy880; if (yych == '~') goto yy881; ++p; yy879: { return 0; } yy880: yych = *(marker = ++p); if (yych == '`') goto yy882; goto yy879; yy881: yych = *(marker = ++p); if (yych == '~') goto yy884; goto yy879; yy882: yych = *++p; if (yybm[0+yych] & 32) { goto yy885; } yy883: p = marker; goto yy879; yy884: yych = *++p; if (yybm[0+yych] & 64) { goto yy887; } goto yy883; yy885: yych = *++p; if (yybm[0+yych] & 32) { goto yy885; } if (yych <= '\f') { if (yych <= 0x08) goto yy883; if (yych <= '\t') { marker = p; goto yy889; } if (yych <= '\n') { marker = p; goto yy891; } goto yy883; } else { if (yych <= '\r') { marker = p; goto yy891; } if (yych == ' ') { marker = p; goto yy889; } goto yy883; } yy887: yych = *++p; if (yybm[0+yych] & 64) { goto yy887; } if (yych <= '\f') { if (yych <= 0x08) goto yy883; if (yych <= '\t') { marker = p; goto yy893; } if (yych <= '\n') { marker = p; goto yy895; } goto yy883; } else { if (yych <= '\r') { marker = p; goto yy895; } if (yych == ' ') { marker = p; goto yy893; } goto yy883; } yy889: yych = *++p; if (yybm[0+yych] & 128) { goto yy889; } if (yych <= 0x08) goto yy883; if (yych <= '\n') goto yy891; if (yych != '\r') goto yy883; yy891: ++p; p = marker; { return (bufsize_t)(p - start); } yy893: yych = *++p; if (yych <= '\f') { if (yych <= 0x08) goto yy883; if (yych <= '\t') goto yy893; if (yych >= '\v') goto yy883; } else { if (yych <= '\r') goto yy895; if (yych == ' ') goto yy893; goto yy883; } yy895: ++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 yy901; ++p; yy900: { return 0; } yy901: yych = *(marker = ++p); if (yych <= '@') { if (yych != '#') goto yy900; } else { if (yych <= 'Z') goto yy904; if (yych <= '`') goto yy900; if (yych <= 'z') goto yy904; goto yy900; } yych = *++p; if (yych <= 'W') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy905; } else { if (yych <= 'X') goto yy906; if (yych == 'x') goto yy906; } yy903: p = marker; goto yy900; yy904: yych = *++p; if (yych <= '@') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy907; goto yy903; } else { if (yych <= 'Z') goto yy907; if (yych <= '`') goto yy903; if (yych <= 'z') goto yy907; goto yy903; } yy905: yych = *++p; if (yych <= '/') goto yy903; if (yych <= '9') goto yy908; if (yych == ';') goto yy909; goto yy903; yy906: yych = *++p; if (yych <= '@') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy911; goto yy903; } else { if (yych <= 'F') goto yy911; if (yych <= '`') goto yy903; if (yych <= 'f') goto yy911; goto yy903; } yy907: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy912; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; goto yy912; } else { if (yych <= '`') goto yy903; if (yych <= 'z') goto yy912; goto yy903; } } yy908: yych = *++p; if (yych <= '/') goto yy903; if (yych <= '9') goto yy913; if (yych != ';') goto yy903; yy909: ++p; { return (bufsize_t)(p - start); } yy911: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy914; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'F') { if (yych <= '@') goto yy903; goto yy914; } else { if (yych <= '`') goto yy903; if (yych <= 'f') goto yy914; goto yy903; } } yy912: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy915; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; goto yy915; } else { if (yych <= '`') goto yy903; if (yych <= 'z') goto yy915; goto yy903; } } yy913: yych = *++p; if (yych <= '/') goto yy903; if (yych <= '9') goto yy916; if (yych == ';') goto yy909; goto yy903; yy914: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy917; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'F') { if (yych <= '@') goto yy903; goto yy917; } else { if (yych <= '`') goto yy903; if (yych <= 'f') goto yy917; goto yy903; } } yy915: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy918; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; goto yy918; } else { if (yych <= '`') goto yy903; if (yych <= 'z') goto yy918; goto yy903; } } yy916: yych = *++p; if (yych <= '/') goto yy903; if (yych <= '9') goto yy919; if (yych == ';') goto yy909; goto yy903; yy917: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy920; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'F') { if (yych <= '@') goto yy903; goto yy920; } else { if (yych <= '`') goto yy903; if (yych <= 'f') goto yy920; goto yy903; } } yy918: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy921; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; goto yy921; } else { if (yych <= '`') goto yy903; if (yych <= 'z') goto yy921; goto yy903; } } yy919: yych = *++p; if (yych <= '/') goto yy903; if (yych <= '9') goto yy922; if (yych == ';') goto yy909; goto yy903; yy920: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy923; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'F') { if (yych <= '@') goto yy903; goto yy923; } else { if (yych <= '`') goto yy903; if (yych <= 'f') goto yy923; goto yy903; } } yy921: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy924; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; goto yy924; } else { if (yych <= '`') goto yy903; if (yych <= 'z') goto yy924; goto yy903; } } yy922: yych = *++p; if (yych <= '/') goto yy903; if (yych <= '9') goto yy925; if (yych == ';') goto yy909; goto yy903; yy923: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy925; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'F') { if (yych <= '@') goto yy903; goto yy925; } else { if (yych <= '`') goto yy903; if (yych <= 'f') goto yy925; goto yy903; } } yy924: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy926; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; goto yy926; } else { if (yych <= '`') goto yy903; if (yych <= 'z') goto yy926; goto yy903; } } yy925: yych = *++p; if (yych == ';') goto yy909; goto yy903; yy926: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy927; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy927: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy928; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy928: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy929; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy929: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy930; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy930: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy931; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy931: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy932; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy932: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy933; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy933: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy934; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy934: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy935; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy935: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy936; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy936: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy937; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy937: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy938; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy938: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy939; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy939: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy940; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy940: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy941; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy941: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy942; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy942: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy943; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy943: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy944; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy944: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy945; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy945: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy946; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy946: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy947; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy947: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy948; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy948: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy949; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; } else { if (yych <= '`') goto yy903; if (yych >= '{') goto yy903; } } yy949: yych = *++p; if (yych <= ';') { if (yych <= '/') goto yy903; if (yych <= '9') goto yy925; if (yych <= ':') goto yy903; goto yy909; } else { if (yych <= 'Z') { if (yych <= '@') goto yy903; goto yy925; } else { if (yych <= '`') goto yy903; if (yych <= 'z') goto yy925; goto yy903; } } } } // 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 yy954; if (yych >= 'F') goto yy955; } else { if (yych == 'J') goto yy956; if (yych >= 'V') goto yy957; } } else { if (yych <= 'f') { if (yych == 'd') goto yy954; if (yych >= 'f') goto yy955; } else { if (yych <= 'j') { if (yych >= 'j') goto yy956; } else { if (yych == 'v') goto yy957; } } } ++p; yy953: { return 0; } yy954: yyaccept = 0; yych = *(marker = ++p); if (yych == 'A') goto yy958; if (yych == 'a') goto yy958; goto yy953; yy955: yyaccept = 0; yych = *(marker = ++p); if (yych == 'I') goto yy960; if (yych == 'i') goto yy960; goto yy953; yy956: yyaccept = 0; yych = *(marker = ++p); if (yych == 'A') goto yy961; if (yych == 'a') goto yy961; goto yy953; yy957: yyaccept = 0; yych = *(marker = ++p); if (yych == 'B') goto yy962; if (yych == 'b') goto yy962; goto yy953; yy958: yych = *++p; if (yych == 'T') goto yy963; if (yych == 't') goto yy963; yy959: p = marker; if (yyaccept == 0) { goto yy953; } else { goto yy971; } yy960: yych = *++p; if (yych == 'L') goto yy964; if (yych == 'l') goto yy964; goto yy959; yy961: yych = *++p; if (yych == 'V') goto yy965; if (yych == 'v') goto yy965; goto yy959; yy962: yych = *++p; if (yych == 'S') goto yy966; if (yych == 's') goto yy966; goto yy959; yy963: yych = *++p; if (yych == 'A') goto yy967; if (yych == 'a') goto yy967; goto yy959; yy964: yych = *++p; if (yych == 'E') goto yy968; if (yych == 'e') goto yy968; goto yy959; yy965: yych = *++p; if (yych == 'A') goto yy962; if (yych == 'a') goto yy962; goto yy959; yy966: yych = *++p; if (yych == 'C') goto yy969; if (yych == 'c') goto yy969; goto yy959; yy967: yych = *++p; if (yych == ':') goto yy970; goto yy959; yy968: yych = *++p; if (yych == ':') goto yy972; goto yy959; yy969: yych = *++p; if (yych == 'R') goto yy973; if (yych == 'r') goto yy973; goto yy959; yy970: yyaccept = 1; yych = *(marker = ++p); if (yych == 'I') goto yy974; if (yych == 'i') goto yy974; yy971: { return (bufsize_t)(p - start); } yy972: ++p; goto yy971; yy973: yych = *++p; if (yych == 'I') goto yy975; if (yych == 'i') goto yy975; goto yy959; yy974: yych = *++p; if (yych == 'M') goto yy976; if (yych == 'm') goto yy976; goto yy959; yy975: yych = *++p; if (yych == 'P') goto yy977; if (yych == 'p') goto yy977; goto yy959; yy976: yych = *++p; if (yych == 'A') goto yy978; if (yych == 'a') goto yy978; goto yy959; yy977: yych = *++p; if (yych == 'T') goto yy968; if (yych == 't') goto yy968; goto yy959; yy978: yych = *++p; if (yych == 'G') goto yy979; if (yych != 'g') goto yy959; yy979: yych = *++p; if (yych == 'E') goto yy980; if (yych != 'e') goto yy959; yy980: yych = *++p; if (yych != '/') goto yy959; yych = *++p; if (yych <= 'W') { if (yych <= 'J') { if (yych == 'G') goto yy982; if (yych <= 'I') goto yy959; goto yy983; } else { if (yych == 'P') goto yy984; if (yych <= 'V') goto yy959; goto yy985; } } else { if (yych <= 'j') { if (yych == 'g') goto yy982; if (yych <= 'i') goto yy959; goto yy983; } else { if (yych <= 'p') { if (yych <= 'o') goto yy959; goto yy984; } else { if (yych == 'w') goto yy985; goto yy959; } } } yy982: yych = *++p; if (yych == 'I') goto yy986; if (yych == 'i') goto yy986; goto yy959; yy983: yych = *++p; if (yych == 'P') goto yy987; if (yych == 'p') goto yy987; goto yy959; yy984: yych = *++p; if (yych == 'N') goto yy988; if (yych == 'n') goto yy988; goto yy959; yy985: yych = *++p; if (yych == 'E') goto yy989; if (yych == 'e') goto yy989; goto yy959; yy986: yych = *++p; if (yych == 'F') goto yy990; if (yych == 'f') goto yy990; goto yy959; yy987: yych = *++p; if (yych == 'E') goto yy988; if (yych != 'e') goto yy959; yy988: yych = *++p; if (yych == 'G') goto yy990; if (yych == 'g') goto yy990; goto yy959; yy989: yych = *++p; if (yych == 'B') goto yy992; if (yych == 'b') goto yy992; goto yy959; yy990: ++p; { return 0; } yy992: yych = *++p; if (yych == 'P') goto yy990; if (yych == 'p') goto yy990; goto yy959; } } // Scans a footnote definition opening. bufsize_t _scan_footnote_definition(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; { unsigned char yych; static const unsigned char yybm[] = { 0, 64, 64, 64, 64, 64, 64, 64, 64, 128, 0, 64, 64, 0, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 yy997; ++p; yy996: { return 0; } yy997: yych = *(marker = ++p); if (yych != '^') goto yy996; yych = *++p; if (yych != ']') goto yy1001; yy999: p = marker; goto yy996; yy1000: yych = *++p; yy1001: if (yybm[0+yych] & 64) { goto yy1000; } if (yych <= 0xEC) { if (yych <= 0xC1) { if (yych <= ' ') goto yy999; if (yych <= ']') goto yy1009; goto yy999; } else { if (yych <= 0xDF) goto yy1002; if (yych <= 0xE0) goto yy1003; goto yy1004; } } else { if (yych <= 0xF0) { if (yych <= 0xED) goto yy1005; if (yych <= 0xEF) goto yy1004; goto yy1006; } else { if (yych <= 0xF3) goto yy1007; if (yych <= 0xF4) goto yy1008; goto yy999; } } yy1002: yych = *++p; if (yych <= 0x7F) goto yy999; if (yych <= 0xBF) goto yy1000; goto yy999; yy1003: yych = *++p; if (yych <= 0x9F) goto yy999; if (yych <= 0xBF) goto yy1002; goto yy999; yy1004: yych = *++p; if (yych <= 0x7F) goto yy999; if (yych <= 0xBF) goto yy1002; goto yy999; yy1005: yych = *++p; if (yych <= 0x7F) goto yy999; if (yych <= 0x9F) goto yy1002; goto yy999; yy1006: yych = *++p; if (yych <= 0x8F) goto yy999; if (yych <= 0xBF) goto yy1004; goto yy999; yy1007: yych = *++p; if (yych <= 0x7F) goto yy999; if (yych <= 0xBF) goto yy1004; goto yy999; yy1008: yych = *++p; if (yych <= 0x7F) goto yy999; if (yych <= 0x8F) goto yy1004; goto yy999; yy1009: yych = *++p; if (yych != ':') goto yy999; yy1010: yych = *++p; if (yybm[0+yych] & 128) { goto yy1010; } { return (bufsize_t)(p - start); } } }