ctai/3rdparty/cmark-gfm/src/scanners.c
2025-03-07 22:11:10 +08:00

14057 lines
282 KiB
C

/* Generated by re2c 3.0 */
#include "scanners.h"
#include "chunk.h"
#include <stdlib.h>
bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c,
bufsize_t offset) {
bufsize_t res;
unsigned char *ptr = (unsigned char *)c->data;
if (ptr == NULL || offset > c->len) {
return 0;
} else {
unsigned char lim = ptr[c->len];
ptr[c->len] = '\0';
res = scanner(ptr + offset);
ptr[c->len] = lim;
}
return res;
}
// Try to match a scheme including colon.
bufsize_t _scan_scheme(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
{
unsigned char yych;
yych = *p;
if (yych <= '@')
goto yy1;
if (yych <= 'Z')
goto yy3;
if (yych <= '`')
goto yy1;
if (yych <= 'z')
goto yy3;
yy1:
++p;
yy2 : { return 0; }
yy3:
yych = *(marker = ++p);
if (yych <= '/') {
if (yych <= '+') {
if (yych <= '*')
goto yy2;
} else {
if (yych <= ',')
goto yy2;
if (yych >= '/')
goto yy2;
}
} else {
if (yych <= 'Z') {
if (yych <= '9')
goto yy4;
if (yych <= '@')
goto yy2;
} else {
if (yych <= '`')
goto yy2;
if (yych >= '{')
goto yy2;
}
}
yy4:
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych == '+')
goto yy6;
} else {
if (yych != '/')
goto yy6;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych >= 'A')
goto yy6;
} else {
if (yych <= '`')
goto yy5;
if (yych <= 'z')
goto yy6;
}
}
yy5:
p = marker;
goto yy2;
yy6:
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych == '+')
goto yy8;
goto yy5;
} else {
if (yych == '/')
goto yy5;
goto yy8;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
goto yy8;
} else {
if (yych <= '`')
goto yy5;
if (yych <= 'z')
goto yy8;
goto yy5;
}
}
yy7:
++p;
{ return (bufsize_t)(p - start); }
yy8:
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy5;
} else {
if (yych == '/')
goto yy5;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy7;
if (yych <= '@')
goto yy5;
} else {
if (yych <= '`')
goto yy5;
if (yych >= '{')
goto yy5;
}
}
yych = *++p;
if (yych == ':')
goto yy7;
goto yy5;
}
}
// Try to match URI autolink after first <, returning number of chars matched.
bufsize_t _scan_autolink_uri(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
{
unsigned char yych;
static const unsigned char yybm[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 0, 128, 0, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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 yy10;
if (yych <= 'Z')
goto yy12;
if (yych <= '`')
goto yy10;
if (yych <= 'z')
goto yy12;
yy10:
++p;
yy11 : { return 0; }
yy12:
yych = *(marker = ++p);
if (yych <= '/') {
if (yych <= '+') {
if (yych <= '*')
goto yy11;
} else {
if (yych <= ',')
goto yy11;
if (yych >= '/')
goto yy11;
}
} else {
if (yych <= 'Z') {
if (yych <= '9')
goto yy13;
if (yych <= '@')
goto yy11;
} else {
if (yych <= '`')
goto yy11;
if (yych >= '{')
goto yy11;
}
}
yy13:
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych == '+')
goto yy15;
} else {
if (yych != '/')
goto yy15;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych >= 'A')
goto yy15;
} else {
if (yych <= '`')
goto yy14;
if (yych <= 'z')
goto yy15;
}
}
yy14:
p = marker;
goto yy11;
yy15:
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych == '+')
goto yy17;
goto yy14;
} else {
if (yych == '/')
goto yy14;
goto yy17;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
goto yy17;
} else {
if (yych <= '`')
goto yy14;
if (yych <= 'z')
goto yy17;
goto yy14;
}
}
yy16:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy16;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= '<')
goto yy14;
if (yych <= '>')
goto yy18;
goto yy14;
} else {
if (yych <= 0xDF)
goto yy19;
if (yych <= 0xE0)
goto yy20;
goto yy21;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy22;
if (yych <= 0xEF)
goto yy21;
goto yy23;
} else {
if (yych <= 0xF3)
goto yy24;
if (yych <= 0xF4)
goto yy25;
goto yy14;
}
}
yy17:
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych == '+')
goto yy26;
goto yy14;
} else {
if (yych == '/')
goto yy14;
goto yy26;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
goto yy26;
} else {
if (yych <= '`')
goto yy14;
if (yych <= 'z')
goto yy26;
goto yy14;
}
}
yy18:
++p;
{ return (bufsize_t)(p - start); }
yy19:
yych = *++p;
if (yych <= 0x7F)
goto yy14;
if (yych <= 0xBF)
goto yy16;
goto yy14;
yy20:
yych = *++p;
if (yych <= 0x9F)
goto yy14;
if (yych <= 0xBF)
goto yy19;
goto yy14;
yy21:
yych = *++p;
if (yych <= 0x7F)
goto yy14;
if (yych <= 0xBF)
goto yy19;
goto yy14;
yy22:
yych = *++p;
if (yych <= 0x7F)
goto yy14;
if (yych <= 0x9F)
goto yy19;
goto yy14;
yy23:
yych = *++p;
if (yych <= 0x8F)
goto yy14;
if (yych <= 0xBF)
goto yy21;
goto yy14;
yy24:
yych = *++p;
if (yych <= 0x7F)
goto yy14;
if (yych <= 0xBF)
goto yy21;
goto yy14;
yy25:
yych = *++p;
if (yych <= 0x7F)
goto yy14;
if (yych <= 0x8F)
goto yy21;
goto yy14;
yy26:
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych <= '9') {
if (yych <= ',') {
if (yych != '+')
goto yy14;
} else {
if (yych == '/')
goto yy14;
}
} else {
if (yych <= 'Z') {
if (yych <= ':')
goto yy16;
if (yych <= '@')
goto yy14;
} else {
if (yych <= '`')
goto yy14;
if (yych >= '{')
goto yy14;
}
}
yych = *++p;
if (yych == ':')
goto yy16;
goto yy14;
}
}
// Try to match email autolink after first <, returning num of chars matched.
bufsize_t _scan_autolink_email(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
{
unsigned char yych;
static const unsigned char yybm[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 128, 0, 128, 128, 128, 128, 128, 0, 0,
128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 0, 0, 0, 128, 0, 128, 0, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
};
yych = *p;
if (yych <= '9') {
if (yych <= '\'') {
if (yych == '!')
goto yy30;
if (yych >= '#')
goto yy30;
} else {
if (yych <= ')')
goto yy28;
if (yych != ',')
goto yy30;
}
} else {
if (yych <= '?') {
if (yych == '=')
goto yy30;
if (yych >= '?')
goto yy30;
} else {
if (yych <= 'Z') {
if (yych >= 'A')
goto yy30;
} else {
if (yych <= ']')
goto yy28;
if (yych <= '~')
goto yy30;
}
}
}
yy28:
++p;
yy29 : { return 0; }
yy30:
yych = *(marker = ++p);
if (yych <= ',') {
if (yych <= '"') {
if (yych == '!')
goto yy32;
goto yy29;
} else {
if (yych <= '\'')
goto yy32;
if (yych <= ')')
goto yy29;
if (yych <= '+')
goto yy32;
goto yy29;
}
} else {
if (yych <= '>') {
if (yych <= '9')
goto yy32;
if (yych == '=')
goto yy32;
goto yy29;
} else {
if (yych <= 'Z')
goto yy32;
if (yych <= ']')
goto yy29;
if (yych <= '~')
goto yy32;
goto yy29;
}
}
yy31:
yych = *++p;
yy32:
if (yybm[0 + yych] & 128) {
goto yy31;
}
if (yych <= '>')
goto yy33;
if (yych <= '@')
goto yy34;
yy33:
p = marker;
goto yy29;
yy34:
yych = *++p;
if (yych <= '@') {
if (yych <= '/')
goto yy33;
if (yych >= ':')
goto yy33;
} else {
if (yych <= 'Z')
goto yy35;
if (yych <= '`')
goto yy33;
if (yych >= '{')
goto yy33;
}
yy35:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy36;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy36;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy36;
goto yy33;
}
}
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy38;
if (yych <= '/')
goto yy33;
goto yy39;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy39;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy39;
goto yy33;
}
}
yy36:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych <= '-')
goto yy38;
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy39;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy39;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy39;
goto yy33;
}
}
yy37:
++p;
{ return (bufsize_t)(p - start); }
yy38:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy40;
if (yych <= '/')
goto yy33;
goto yy41;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy41;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy41;
goto yy33;
}
}
yy39:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy41;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy41;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy41;
goto yy33;
}
}
yy40:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy42;
if (yych <= '/')
goto yy33;
goto yy43;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy43;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy43;
goto yy33;
}
}
yy41:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy43;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy43;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy43;
goto yy33;
}
}
yy42:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy44;
if (yych <= '/')
goto yy33;
goto yy45;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy45;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy45;
goto yy33;
}
}
yy43:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy45;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy45;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy45;
goto yy33;
}
}
yy44:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy46;
if (yych <= '/')
goto yy33;
goto yy47;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy47;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy47;
goto yy33;
}
}
yy45:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy47;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy47;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy47;
goto yy33;
}
}
yy46:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy48;
if (yych <= '/')
goto yy33;
goto yy49;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy49;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy49;
goto yy33;
}
}
yy47:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy49;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy49;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy49;
goto yy33;
}
}
yy48:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy50;
if (yych <= '/')
goto yy33;
goto yy51;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy51;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy51;
goto yy33;
}
}
yy49:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy51;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy51;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy51;
goto yy33;
}
}
yy50:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy52;
if (yych <= '/')
goto yy33;
goto yy53;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy53;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy53;
goto yy33;
}
}
yy51:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy53;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy53;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy53;
goto yy33;
}
}
yy52:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy54;
if (yych <= '/')
goto yy33;
goto yy55;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy55;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy55;
goto yy33;
}
}
yy53:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy55;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy55;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy55;
goto yy33;
}
}
yy54:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy56;
if (yych <= '/')
goto yy33;
goto yy57;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy57;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy57;
goto yy33;
}
}
yy55:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy57;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy57;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy57;
goto yy33;
}
}
yy56:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy58;
if (yych <= '/')
goto yy33;
goto yy59;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy59;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy59;
goto yy33;
}
}
yy57:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy59;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy59;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy59;
goto yy33;
}
}
yy58:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy60;
if (yych <= '/')
goto yy33;
goto yy61;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy61;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy61;
goto yy33;
}
}
yy59:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy61;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy61;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy61;
goto yy33;
}
}
yy60:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy62;
if (yych <= '/')
goto yy33;
goto yy63;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy63;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy63;
goto yy33;
}
}
yy61:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy63;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy63;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy63;
goto yy33;
}
}
yy62:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy64;
if (yych <= '/')
goto yy33;
goto yy65;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy65;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy65;
goto yy33;
}
}
yy63:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy65;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy65;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy65;
goto yy33;
}
}
yy64:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy66;
if (yych <= '/')
goto yy33;
goto yy67;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy67;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy67;
goto yy33;
}
}
yy65:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy67;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy67;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy67;
goto yy33;
}
}
yy66:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy68;
if (yych <= '/')
goto yy33;
goto yy69;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy69;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy69;
goto yy33;
}
}
yy67:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy69;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy69;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy69;
goto yy33;
}
}
yy68:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy70;
if (yych <= '/')
goto yy33;
goto yy71;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy71;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy71;
goto yy33;
}
}
yy69:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy71;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy71;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy71;
goto yy33;
}
}
yy70:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy72;
if (yych <= '/')
goto yy33;
goto yy73;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy73;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy73;
goto yy33;
}
}
yy71:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy73;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy73;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy73;
goto yy33;
}
}
yy72:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy74;
if (yych <= '/')
goto yy33;
goto yy75;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy75;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy75;
goto yy33;
}
}
yy73:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy75;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy75;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy75;
goto yy33;
}
}
yy74:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy76;
if (yych <= '/')
goto yy33;
goto yy77;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy77;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy77;
goto yy33;
}
}
yy75:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy77;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy77;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy77;
goto yy33;
}
}
yy76:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy78;
if (yych <= '/')
goto yy33;
goto yy79;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy79;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy79;
goto yy33;
}
}
yy77:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy79;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy79;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy79;
goto yy33;
}
}
yy78:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy80;
if (yych <= '/')
goto yy33;
goto yy81;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy81;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy81;
goto yy33;
}
}
yy79:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy81;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy81;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy81;
goto yy33;
}
}
yy80:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy82;
if (yych <= '/')
goto yy33;
goto yy83;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy83;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy83;
goto yy33;
}
}
yy81:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy83;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy83;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy83;
goto yy33;
}
}
yy82:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy84;
if (yych <= '/')
goto yy33;
goto yy85;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy85;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy85;
goto yy33;
}
}
yy83:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy85;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy85;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy85;
goto yy33;
}
}
yy84:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy86;
if (yych <= '/')
goto yy33;
goto yy87;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy87;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy87;
goto yy33;
}
}
yy85:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy87;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy87;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy87;
goto yy33;
}
}
yy86:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy88;
if (yych <= '/')
goto yy33;
goto yy89;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy89;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy89;
goto yy33;
}
}
yy87:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy89;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy89;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy89;
goto yy33;
}
}
yy88:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy90;
if (yych <= '/')
goto yy33;
goto yy91;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy91;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy91;
goto yy33;
}
}
yy89:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy91;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy91;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy91;
goto yy33;
}
}
yy90:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy92;
if (yych <= '/')
goto yy33;
goto yy93;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy93;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy93;
goto yy33;
}
}
yy91:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy93;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy93;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy93;
goto yy33;
}
}
yy92:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy94;
if (yych <= '/')
goto yy33;
goto yy95;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy95;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy95;
goto yy33;
}
}
yy93:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy95;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy95;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy95;
goto yy33;
}
}
yy94:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy96;
if (yych <= '/')
goto yy33;
goto yy97;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy97;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy97;
goto yy33;
}
}
yy95:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy97;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy97;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy97;
goto yy33;
}
}
yy96:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy98;
if (yych <= '/')
goto yy33;
goto yy99;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy99;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy99;
goto yy33;
}
}
yy97:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy99;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy99;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy99;
goto yy33;
}
}
yy98:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy100;
if (yych <= '/')
goto yy33;
goto yy101;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy101;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy101;
goto yy33;
}
}
yy99:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy101;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy101;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy101;
goto yy33;
}
}
yy100:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy102;
if (yych <= '/')
goto yy33;
goto yy103;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy103;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy103;
goto yy33;
}
}
yy101:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy103;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy103;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy103;
goto yy33;
}
}
yy102:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy104;
if (yych <= '/')
goto yy33;
goto yy105;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy105;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy105;
goto yy33;
}
}
yy103:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy105;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy105;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy105;
goto yy33;
}
}
yy104:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy106;
if (yych <= '/')
goto yy33;
goto yy107;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy107;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy107;
goto yy33;
}
}
yy105:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy107;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy107;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy107;
goto yy33;
}
}
yy106:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy108;
if (yych <= '/')
goto yy33;
goto yy109;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy109;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy109;
goto yy33;
}
}
yy107:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy109;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy109;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy109;
goto yy33;
}
}
yy108:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy110;
if (yych <= '/')
goto yy33;
goto yy111;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy111;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy111;
goto yy33;
}
}
yy109:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy111;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy111;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy111;
goto yy33;
}
}
yy110:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy112;
if (yych <= '/')
goto yy33;
goto yy113;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy113;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy113;
goto yy33;
}
}
yy111:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy113;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy113;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy113;
goto yy33;
}
}
yy112:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy114;
if (yych <= '/')
goto yy33;
goto yy115;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy115;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy115;
goto yy33;
}
}
yy113:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy115;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy115;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy115;
goto yy33;
}
}
yy114:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy116;
if (yych <= '/')
goto yy33;
goto yy117;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy117;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy117;
goto yy33;
}
}
yy115:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy117;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy117;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy117;
goto yy33;
}
}
yy116:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy118;
if (yych <= '/')
goto yy33;
goto yy119;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy119;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy119;
goto yy33;
}
}
yy117:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy119;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy119;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy119;
goto yy33;
}
}
yy118:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy120;
if (yych <= '/')
goto yy33;
goto yy121;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy121;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy121;
goto yy33;
}
}
yy119:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy121;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy121;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy121;
goto yy33;
}
}
yy120:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy122;
if (yych <= '/')
goto yy33;
goto yy123;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy123;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy123;
goto yy33;
}
}
yy121:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy123;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy123;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy123;
goto yy33;
}
}
yy122:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy124;
if (yych <= '/')
goto yy33;
goto yy125;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy125;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy125;
goto yy33;
}
}
yy123:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy125;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy125;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy125;
goto yy33;
}
}
yy124:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy126;
if (yych <= '/')
goto yy33;
goto yy127;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy127;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy127;
goto yy33;
}
}
yy125:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy127;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy127;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy127;
goto yy33;
}
}
yy126:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy128;
if (yych <= '/')
goto yy33;
goto yy129;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy129;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy129;
goto yy33;
}
}
yy127:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy129;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy129;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy129;
goto yy33;
}
}
yy128:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy130;
if (yych <= '/')
goto yy33;
goto yy131;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy131;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy131;
goto yy33;
}
}
yy129:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy131;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy131;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy131;
goto yy33;
}
}
yy130:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy132;
if (yych <= '/')
goto yy33;
goto yy133;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy133;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy133;
goto yy33;
}
}
yy131:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy133;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy133;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy133;
goto yy33;
}
}
yy132:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy134;
if (yych <= '/')
goto yy33;
goto yy135;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy135;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy135;
goto yy33;
}
}
yy133:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy135;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy135;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy135;
goto yy33;
}
}
yy134:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy136;
if (yych <= '/')
goto yy33;
goto yy137;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy137;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy137;
goto yy33;
}
}
yy135:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy137;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy137;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy137;
goto yy33;
}
}
yy136:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy138;
if (yych <= '/')
goto yy33;
goto yy139;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy139;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy139;
goto yy33;
}
}
yy137:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy139;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy139;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy139;
goto yy33;
}
}
yy138:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy140;
if (yych <= '/')
goto yy33;
goto yy141;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy141;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy141;
goto yy33;
}
}
yy139:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy141;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy141;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy141;
goto yy33;
}
}
yy140:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy142;
if (yych <= '/')
goto yy33;
goto yy143;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy143;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy143;
goto yy33;
}
}
yy141:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy143;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy143;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy143;
goto yy33;
}
}
yy142:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy144;
if (yych <= '/')
goto yy33;
goto yy145;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy145;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy145;
goto yy33;
}
}
yy143:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy145;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy145;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy145;
goto yy33;
}
}
yy144:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy146;
if (yych <= '/')
goto yy33;
goto yy147;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy147;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy147;
goto yy33;
}
}
yy145:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy147;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy147;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy147;
goto yy33;
}
}
yy146:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy148;
if (yych <= '/')
goto yy33;
goto yy149;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy149;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy149;
goto yy33;
}
}
yy147:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy149;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy149;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy149;
goto yy33;
}
}
yy148:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy150;
if (yych <= '/')
goto yy33;
goto yy151;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy151;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy151;
goto yy33;
}
}
yy149:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy151;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy151;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy151;
goto yy33;
}
}
yy150:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy152;
if (yych <= '/')
goto yy33;
goto yy153;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy153;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy153;
goto yy33;
}
}
yy151:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy153;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy153;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy153;
goto yy33;
}
}
yy152:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy154;
if (yych <= '/')
goto yy33;
goto yy155;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy155;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy155;
goto yy33;
}
}
yy153:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy155;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy155;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy155;
goto yy33;
}
}
yy154:
yych = *++p;
if (yych <= '9') {
if (yych == '-')
goto yy156;
if (yych <= '/')
goto yy33;
goto yy157;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy33;
goto yy157;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy157;
goto yy33;
}
}
yy155:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',')
goto yy33;
if (yych >= '.')
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy157;
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
goto yy157;
} else {
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy157;
goto yy33;
}
}
yy156:
yych = *++p;
if (yych <= '@') {
if (yych <= '/')
goto yy33;
if (yych <= '9')
goto yy158;
goto yy33;
} else {
if (yych <= 'Z')
goto yy158;
if (yych <= '`')
goto yy33;
if (yych <= 'z')
goto yy158;
goto yy33;
}
yy157:
yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= '-')
goto yy33;
goto yy34;
} else {
if (yych <= '/')
goto yy33;
if (yych >= ':')
goto yy33;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy37;
if (yych <= '@')
goto yy33;
} else {
if (yych <= '`')
goto yy33;
if (yych >= '{')
goto yy33;
}
}
yy158:
yych = *++p;
if (yych == '.')
goto yy34;
if (yych == '>')
goto yy37;
goto yy33;
}
}
// Try to match an HTML tag after first <, returning num of chars matched.
bufsize_t _scan_html_tag(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
{
unsigned char yych;
static const unsigned char yybm[] = {
0, 224, 224, 224, 224, 224, 224, 224, 224, 200, 200, 200, 200, 200,
224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
224, 224, 224, 224, 200, 224, 128, 224, 224, 224, 224, 64, 224, 224,
224, 224, 224, 244, 240, 224, 244, 244, 244, 244, 244, 244, 244, 244,
244, 244, 240, 224, 192, 192, 192, 224, 224, 244, 244, 244, 244, 244,
244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
244, 244, 244, 244, 244, 244, 244, 224, 224, 224, 224, 240, 192, 244,
244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 224, 224, 224,
224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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 yy162;
} else {
if (yych <= 'Z')
goto yy163;
if (yych <= '`')
goto yy160;
if (yych <= 'z')
goto yy163;
}
yy160:
++p;
yy161 : { return 0; }
yy162:
yych = *(marker = ++p);
if (yych <= '@')
goto yy161;
if (yych <= 'Z')
goto yy164;
if (yych <= '`')
goto yy161;
if (yych <= 'z')
goto yy164;
goto yy161;
yy163:
yych = *(marker = ++p);
if (yych <= '.') {
if (yych <= 0x1F) {
if (yych <= 0x08)
goto yy161;
if (yych <= '\r')
goto yy168;
goto yy161;
} else {
if (yych <= ' ')
goto yy168;
if (yych == '-')
goto yy168;
goto yy161;
}
} else {
if (yych <= '@') {
if (yych <= '9')
goto yy168;
if (yych == '>')
goto yy168;
goto yy161;
} else {
if (yych <= 'Z')
goto yy168;
if (yych <= '`')
goto yy161;
if (yych <= 'z')
goto yy168;
goto yy161;
}
}
yy164:
yych = *++p;
if (yybm[0 + yych] & 4) {
goto yy164;
}
if (yych <= 0x1F) {
if (yych <= 0x08)
goto yy165;
if (yych <= '\r')
goto yy171;
} else {
if (yych <= ' ')
goto yy171;
if (yych == '>')
goto yy170;
}
yy165:
p = marker;
goto yy161;
yy166:
yych = *++p;
if (yybm[0 + yych] & 8) {
goto yy166;
}
if (yych <= '>') {
if (yych <= '9') {
if (yych == '/')
goto yy169;
goto yy165;
} else {
if (yych <= ':')
goto yy172;
if (yych <= '=')
goto yy165;
goto yy170;
}
} else {
if (yych <= '^') {
if (yych <= '@')
goto yy165;
if (yych <= 'Z')
goto yy172;
goto yy165;
} else {
if (yych == '`')
goto yy165;
if (yych <= 'z')
goto yy172;
goto yy165;
}
}
yy167:
yych = *++p;
yy168:
if (yybm[0 + yych] & 8) {
goto yy166;
}
if (yych <= '=') {
if (yych <= '.') {
if (yych == '-')
goto yy167;
goto yy165;
} else {
if (yych <= '/')
goto yy169;
if (yych <= '9')
goto yy167;
goto yy165;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy170;
if (yych <= '@')
goto yy165;
goto yy167;
} else {
if (yych <= '`')
goto yy165;
if (yych <= 'z')
goto yy167;
goto yy165;
}
}
yy169:
yych = *++p;
if (yych != '>')
goto yy165;
yy170:
++p;
{ return (bufsize_t)(p - start); }
yy171:
yych = *++p;
if (yych <= 0x1F) {
if (yych <= 0x08)
goto yy165;
if (yych <= '\r')
goto yy171;
goto yy165;
} else {
if (yych <= ' ')
goto yy171;
if (yych == '>')
goto yy170;
goto yy165;
}
yy172:
yych = *++p;
if (yybm[0 + yych] & 16) {
goto yy172;
}
if (yych <= ',') {
if (yych <= '\r') {
if (yych <= 0x08)
goto yy165;
} else {
if (yych != ' ')
goto yy165;
}
} else {
if (yych <= '<') {
if (yych <= '/')
goto yy169;
goto yy165;
} else {
if (yych <= '=')
goto yy174;
if (yych <= '>')
goto yy170;
goto yy165;
}
}
yy173:
yych = *++p;
if (yych <= '<') {
if (yych <= ' ') {
if (yych <= 0x08)
goto yy165;
if (yych <= '\r')
goto yy173;
if (yych <= 0x1F)
goto yy165;
goto yy173;
} else {
if (yych <= '/') {
if (yych <= '.')
goto yy165;
goto yy169;
} else {
if (yych == ':')
goto yy172;
goto yy165;
}
}
} else {
if (yych <= 'Z') {
if (yych <= '=')
goto yy174;
if (yych <= '>')
goto yy170;
if (yych <= '@')
goto yy165;
goto yy172;
} else {
if (yych <= '_') {
if (yych <= '^')
goto yy165;
goto yy172;
} else {
if (yych <= '`')
goto yy165;
if (yych <= 'z')
goto yy172;
goto yy165;
}
}
}
yy174:
yych = *++p;
if (yybm[0 + yych] & 32) {
goto yy175;
}
if (yych <= 0xE0) {
if (yych <= '"') {
if (yych <= 0x00)
goto yy165;
if (yych <= ' ')
goto yy174;
goto yy176;
} else {
if (yych <= '\'')
goto yy177;
if (yych <= 0xC1)
goto yy165;
if (yych <= 0xDF)
goto yy178;
goto yy179;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy181;
goto yy180;
} else {
if (yych <= 0xF0)
goto yy182;
if (yych <= 0xF3)
goto yy183;
if (yych <= 0xF4)
goto yy184;
goto yy165;
}
}
yy175:
yych = *++p;
if (yybm[0 + yych] & 32) {
goto yy175;
}
if (yych <= 0xE0) {
if (yych <= '=') {
if (yych <= 0x00)
goto yy165;
if (yych <= ' ')
goto yy166;
goto yy165;
} else {
if (yych <= '>')
goto yy170;
if (yych <= 0xC1)
goto yy165;
if (yych <= 0xDF)
goto yy178;
goto yy179;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy181;
goto yy180;
} else {
if (yych <= 0xF0)
goto yy182;
if (yych <= 0xF3)
goto yy183;
if (yych <= 0xF4)
goto yy184;
goto yy165;
}
}
yy176:
yych = *++p;
if (yybm[0 + yych] & 64) {
goto yy176;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
goto yy165;
if (yych <= '"')
goto yy185;
goto yy165;
} else {
if (yych <= 0xDF)
goto yy186;
if (yych <= 0xE0)
goto yy187;
goto yy188;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy189;
if (yych <= 0xEF)
goto yy188;
goto yy190;
} else {
if (yych <= 0xF3)
goto yy191;
if (yych <= 0xF4)
goto yy192;
goto yy165;
}
}
yy177:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy177;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
goto yy165;
if (yych <= '\'')
goto yy185;
goto yy165;
} else {
if (yych <= 0xDF)
goto yy193;
if (yych <= 0xE0)
goto yy194;
goto yy195;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy196;
if (yych <= 0xEF)
goto yy195;
goto yy197;
} else {
if (yych <= 0xF3)
goto yy198;
if (yych <= 0xF4)
goto yy199;
goto yy165;
}
}
yy178:
yych = *++p;
if (yych <= 0x7F)
goto yy165;
if (yych <= 0xBF)
goto yy175;
goto yy165;
yy179:
yych = *++p;
if (yych <= 0x9F)
goto yy165;
if (yych <= 0xBF)
goto yy178;
goto yy165;
yy180:
yych = *++p;
if (yych <= 0x7F)
goto yy165;
if (yych <= 0xBF)
goto yy178;
goto yy165;
yy181:
yych = *++p;
if (yych <= 0x7F)
goto yy165;
if (yych <= 0x9F)
goto yy178;
goto yy165;
yy182:
yych = *++p;
if (yych <= 0x8F)
goto yy165;
if (yych <= 0xBF)
goto yy180;
goto yy165;
yy183:
yych = *++p;
if (yych <= 0x7F)
goto yy165;
if (yych <= 0xBF)
goto yy180;
goto yy165;
yy184:
yych = *++p;
if (yych <= 0x7F)
goto yy165;
if (yych <= 0x8F)
goto yy180;
goto yy165;
yy185:
yych = *++p;
if (yybm[0 + yych] & 8) {
goto yy166;
}
if (yych == '/')
goto yy169;
if (yych == '>')
goto yy170;
goto yy165;
yy186:
yych = *++p;
if (yych <= 0x7F)
goto yy165;
if (yych <= 0xBF)
goto yy176;
goto yy165;
yy187:
yych = *++p;
if (yych <= 0x9F)
goto yy165;
if (yych <= 0xBF)
goto yy186;
goto yy165;
yy188:
yych = *++p;
if (yych <= 0x7F)
goto yy165;
if (yych <= 0xBF)
goto yy186;
goto yy165;
yy189:
yych = *++p;
if (yych <= 0x7F)
goto yy165;
if (yych <= 0x9F)
goto yy186;
goto yy165;
yy190:
yych = *++p;
if (yych <= 0x8F)
goto yy165;
if (yych <= 0xBF)
goto yy188;
goto yy165;
yy191:
yych = *++p;
if (yych <= 0x7F)
goto yy165;
if (yych <= 0xBF)
goto yy188;
goto yy165;
yy192:
yych = *++p;
if (yych <= 0x7F)
goto yy165;
if (yych <= 0x8F)
goto yy188;
goto yy165;
yy193:
yych = *++p;
if (yych <= 0x7F)
goto yy165;
if (yych <= 0xBF)
goto yy177;
goto yy165;
yy194:
yych = *++p;
if (yych <= 0x9F)
goto yy165;
if (yych <= 0xBF)
goto yy193;
goto yy165;
yy195:
yych = *++p;
if (yych <= 0x7F)
goto yy165;
if (yych <= 0xBF)
goto yy193;
goto yy165;
yy196:
yych = *++p;
if (yych <= 0x7F)
goto yy165;
if (yych <= 0x9F)
goto yy193;
goto yy165;
yy197:
yych = *++p;
if (yych <= 0x8F)
goto yy165;
if (yych <= 0xBF)
goto yy195;
goto yy165;
yy198:
yych = *++p;
if (yych <= 0x7F)
goto yy165;
if (yych <= 0xBF)
goto yy195;
goto yy165;
yy199:
yych = *++p;
if (yych <= 0x7F)
goto yy165;
if (yych <= 0x8F)
goto yy195;
goto yy165;
}
}
// 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 yy201;
if (yych <= '\t')
goto yy203;
} else {
if (yych <= 0x7F)
goto yy203;
if (yych <= 0xC1)
goto yy201;
if (yych <= 0xDF)
goto yy204;
goto yy205;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy207;
goto yy206;
} else {
if (yych <= 0xF0)
goto yy208;
if (yych <= 0xF3)
goto yy209;
if (yych <= 0xF4)
goto yy210;
}
}
yy201:
++p;
yy202 : { return 0; }
yy203:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= '\n') {
if (yych <= 0x00)
goto yy202;
if (yych <= '\t')
goto yy212;
goto yy202;
} else {
if (yych <= 0x7F)
goto yy212;
if (yych <= 0xC1)
goto yy202;
if (yych <= 0xF4)
goto yy212;
goto yy202;
}
yy204:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy202;
if (yych <= 0xBF)
goto yy211;
goto yy202;
yy205:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x9F)
goto yy202;
if (yych <= 0xBF)
goto yy216;
goto yy202;
yy206:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy202;
if (yych <= 0xBF)
goto yy216;
goto yy202;
yy207:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy202;
if (yych <= 0x9F)
goto yy216;
goto yy202;
yy208:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x8F)
goto yy202;
if (yych <= 0xBF)
goto yy218;
goto yy202;
yy209:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy202;
if (yych <= 0xBF)
goto yy218;
goto yy202;
yy210:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy202;
if (yych <= 0x8F)
goto yy218;
goto yy202;
yy211:
yych = *++p;
yy212:
if (yybm[0 + yych] & 64) {
goto yy211;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= '\n')
goto yy213;
if (yych <= '>')
goto yy214;
} else {
if (yych <= 0xDF)
goto yy216;
if (yych <= 0xE0)
goto yy217;
goto yy218;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy219;
if (yych <= 0xEF)
goto yy218;
goto yy220;
} else {
if (yych <= 0xF3)
goto yy221;
if (yych <= 0xF4)
goto yy222;
}
}
yy213:
p = marker;
if (yyaccept == 0) {
goto yy202;
} else {
goto yy215;
}
yy214:
yyaccept = 1;
yych = *(marker = ++p);
if (yybm[0 + yych] & 64) {
goto yy211;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= '\n')
goto yy215;
if (yych <= '>')
goto yy214;
} else {
if (yych <= 0xDF)
goto yy216;
if (yych <= 0xE0)
goto yy217;
goto yy218;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy219;
if (yych <= 0xEF)
goto yy218;
goto yy220;
} else {
if (yych <= 0xF3)
goto yy221;
if (yych <= 0xF4)
goto yy222;
}
}
yy215 : { return (bufsize_t)(p - start); }
yy216:
yych = *++p;
if (yych <= 0x7F)
goto yy213;
if (yych <= 0xBF)
goto yy211;
goto yy213;
yy217:
yych = *++p;
if (yych <= 0x9F)
goto yy213;
if (yych <= 0xBF)
goto yy216;
goto yy213;
yy218:
yych = *++p;
if (yych <= 0x7F)
goto yy213;
if (yych <= 0xBF)
goto yy216;
goto yy213;
yy219:
yych = *++p;
if (yych <= 0x7F)
goto yy213;
if (yych <= 0x9F)
goto yy216;
goto yy213;
yy220:
yych = *++p;
if (yych <= 0x8F)
goto yy213;
if (yych <= 0xBF)
goto yy218;
goto yy213;
yy221:
yych = *++p;
if (yych <= 0x7F)
goto yy213;
if (yych <= 0xBF)
goto yy218;
goto yy213;
yy222:
yych = *++p;
if (yych <= 0x7F)
goto yy213;
if (yych <= 0x8F)
goto yy218;
goto yy213;
}
}
bufsize_t _scan_html_comment(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
{
unsigned char yych;
static const unsigned char yybm[] = {
0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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 yy225;
++p;
yy224 : { return 0; }
yy225:
yych = *(marker = ++p);
if (yych != '-')
goto yy224;
yy226:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy226;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
goto yy227;
if (yych <= '-')
goto yy228;
} else {
if (yych <= 0xDF)
goto yy229;
if (yych <= 0xE0)
goto yy230;
goto yy231;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy232;
if (yych <= 0xEF)
goto yy231;
goto yy233;
} else {
if (yych <= 0xF3)
goto yy234;
if (yych <= 0xF4)
goto yy235;
}
}
yy227:
p = marker;
goto yy224;
yy228:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy226;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
goto yy227;
if (yych <= '-')
goto yy236;
goto yy227;
} else {
if (yych <= 0xDF)
goto yy229;
if (yych <= 0xE0)
goto yy230;
goto yy231;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy232;
if (yych <= 0xEF)
goto yy231;
goto yy233;
} else {
if (yych <= 0xF3)
goto yy234;
if (yych <= 0xF4)
goto yy235;
goto yy227;
}
}
yy229:
yych = *++p;
if (yych <= 0x7F)
goto yy227;
if (yych <= 0xBF)
goto yy226;
goto yy227;
yy230:
yych = *++p;
if (yych <= 0x9F)
goto yy227;
if (yych <= 0xBF)
goto yy229;
goto yy227;
yy231:
yych = *++p;
if (yych <= 0x7F)
goto yy227;
if (yych <= 0xBF)
goto yy229;
goto yy227;
yy232:
yych = *++p;
if (yych <= 0x7F)
goto yy227;
if (yych <= 0x9F)
goto yy229;
goto yy227;
yy233:
yych = *++p;
if (yych <= 0x8F)
goto yy227;
if (yych <= 0xBF)
goto yy231;
goto yy227;
yy234:
yych = *++p;
if (yych <= 0x7F)
goto yy227;
if (yych <= 0xBF)
goto yy231;
goto yy227;
yy235:
yych = *++p;
if (yych <= 0x7F)
goto yy227;
if (yych <= 0x8F)
goto yy231;
goto yy227;
yy236:
yych = *++p;
if (yych <= 0xE0) {
if (yych <= '>') {
if (yych <= 0x00)
goto yy227;
if (yych <= '=')
goto yy226;
} else {
if (yych <= 0x7F)
goto yy226;
if (yych <= 0xC1)
goto yy227;
if (yych <= 0xDF)
goto yy229;
goto yy230;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy232;
goto yy231;
} else {
if (yych <= 0xF0)
goto yy233;
if (yych <= 0xF3)
goto yy234;
if (yych <= 0xF4)
goto yy235;
goto yy227;
}
}
++p;
{ return (bufsize_t)(p - start); }
}
}
bufsize_t _scan_html_pi(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
{
unsigned char yych;
unsigned int yyaccept = 0;
static const unsigned char yybm[] = {
0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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 yy240;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
goto yy238;
if (yych <= '?')
goto yy243;
} else {
if (yych <= 0xDF)
goto yy244;
if (yych <= 0xE0)
goto yy245;
goto yy246;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy247;
if (yych <= 0xEF)
goto yy246;
goto yy248;
} else {
if (yych <= 0xF3)
goto yy249;
if (yych <= 0xF4)
goto yy250;
}
}
yy238:
++p;
yy239 : { return 0; }
yy240:
yyaccept = 0;
yych = *(marker = ++p);
yy241:
if (yybm[0 + yych] & 128) {
goto yy240;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
goto yy242;
if (yych <= '?')
goto yy251;
} else {
if (yych <= 0xDF)
goto yy253;
if (yych <= 0xE0)
goto yy254;
goto yy255;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy256;
if (yych <= 0xEF)
goto yy255;
goto yy257;
} else {
if (yych <= 0xF3)
goto yy258;
if (yych <= 0xF4)
goto yy259;
}
}
yy242 : { return (bufsize_t)(p - start); }
yy243:
yyaccept = 1;
yych = *(marker = ++p);
if (yych <= '?') {
if (yych <= 0x00)
goto yy239;
if (yych <= '=')
goto yy241;
if (yych <= '>')
goto yy239;
goto yy240;
} else {
if (yych <= 0x7F)
goto yy241;
if (yych <= 0xC1)
goto yy239;
if (yych <= 0xF4)
goto yy241;
goto yy239;
}
yy244:
yych = *++p;
if (yych <= 0x7F)
goto yy239;
if (yych <= 0xBF)
goto yy240;
goto yy239;
yy245:
yyaccept = 1;
yych = *(marker = ++p);
if (yych <= 0x9F)
goto yy239;
if (yych <= 0xBF)
goto yy253;
goto yy239;
yy246:
yyaccept = 1;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy239;
if (yych <= 0xBF)
goto yy253;
goto yy239;
yy247:
yyaccept = 1;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy239;
if (yych <= 0x9F)
goto yy253;
goto yy239;
yy248:
yyaccept = 1;
yych = *(marker = ++p);
if (yych <= 0x8F)
goto yy239;
if (yych <= 0xBF)
goto yy255;
goto yy239;
yy249:
yyaccept = 1;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy239;
if (yych <= 0xBF)
goto yy255;
goto yy239;
yy250:
yyaccept = 1;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy239;
if (yych <= 0x8F)
goto yy255;
goto yy239;
yy251:
yych = *++p;
if (yych <= 0xE0) {
if (yych <= '>') {
if (yych <= 0x00)
goto yy252;
if (yych <= '=')
goto yy240;
} else {
if (yych <= 0x7F)
goto yy240;
if (yych <= 0xC1)
goto yy252;
if (yych <= 0xDF)
goto yy253;
goto yy254;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy256;
goto yy255;
} else {
if (yych <= 0xF0)
goto yy257;
if (yych <= 0xF3)
goto yy258;
if (yych <= 0xF4)
goto yy259;
}
}
yy252:
p = marker;
if (yyaccept == 0) {
goto yy242;
} else {
goto yy239;
}
yy253:
yych = *++p;
if (yych <= 0x7F)
goto yy252;
if (yych <= 0xBF)
goto yy240;
goto yy252;
yy254:
yych = *++p;
if (yych <= 0x9F)
goto yy252;
if (yych <= 0xBF)
goto yy253;
goto yy252;
yy255:
yych = *++p;
if (yych <= 0x7F)
goto yy252;
if (yych <= 0xBF)
goto yy253;
goto yy252;
yy256:
yych = *++p;
if (yych <= 0x7F)
goto yy252;
if (yych <= 0x9F)
goto yy253;
goto yy252;
yy257:
yych = *++p;
if (yych <= 0x8F)
goto yy252;
if (yych <= 0xBF)
goto yy255;
goto yy252;
yy258:
yych = *++p;
if (yych <= 0x7F)
goto yy252;
if (yych <= 0xBF)
goto yy255;
goto yy252;
yy259:
yych = *++p;
if (yych <= 0x7F)
goto yy252;
if (yych <= 0x8F)
goto yy255;
goto yy252;
}
}
bufsize_t _scan_html_declaration(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, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 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, 192, 192, 192, 192, 192,
192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
192, 192, 192, 192, 192, 192, 192, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 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 yy261;
if (yych <= 'Z')
goto yy263;
yy261:
++p;
yy262 : { return 0; }
yy263:
yyaccept = 0;
yych = *(marker = ++p);
if (yybm[0 + yych] & 128) {
goto yy266;
}
if (yych <= 0x08)
goto yy262;
if (yych <= '\r')
goto yy264;
if (yych != ' ')
goto yy262;
yy264:
yyaccept = 1;
yych = *(marker = ++p);
if (yybm[0 + yych] & 64) {
goto yy264;
}
if (yych <= 0xED) {
if (yych <= 0xDF) {
if (yych >= 0xC2)
goto yy268;
} else {
if (yych <= 0xE0)
goto yy269;
if (yych <= 0xEC)
goto yy270;
goto yy271;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy270;
goto yy272;
} else {
if (yych <= 0xF3)
goto yy273;
if (yych <= 0xF4)
goto yy274;
}
}
yy265 : { return (bufsize_t)(p - start); }
yy266:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy266;
}
if (yych <= 0x08)
goto yy267;
if (yych <= '\r')
goto yy264;
if (yych == ' ')
goto yy264;
yy267:
p = marker;
if (yyaccept == 0) {
goto yy262;
} else {
goto yy265;
}
yy268:
yych = *++p;
if (yych <= 0x7F)
goto yy267;
if (yych <= 0xBF)
goto yy264;
goto yy267;
yy269:
yych = *++p;
if (yych <= 0x9F)
goto yy267;
if (yych <= 0xBF)
goto yy268;
goto yy267;
yy270:
yych = *++p;
if (yych <= 0x7F)
goto yy267;
if (yych <= 0xBF)
goto yy268;
goto yy267;
yy271:
yych = *++p;
if (yych <= 0x7F)
goto yy267;
if (yych <= 0x9F)
goto yy268;
goto yy267;
yy272:
yych = *++p;
if (yych <= 0x8F)
goto yy267;
if (yych <= 0xBF)
goto yy270;
goto yy267;
yy273:
yych = *++p;
if (yych <= 0x7F)
goto yy267;
if (yych <= 0xBF)
goto yy270;
goto yy267;
yy274:
yych = *++p;
if (yych <= 0x7F)
goto yy267;
if (yych <= 0x8F)
goto yy270;
goto yy267;
}
}
bufsize_t _scan_html_cdata(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
{
unsigned char yych;
unsigned int yyaccept = 0;
static const unsigned char yybm[] = {
0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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 == 'C')
goto yy277;
if (yych == 'c')
goto yy277;
++p;
yy276 : { return 0; }
yy277:
yyaccept = 0;
yych = *(marker = ++p);
if (yych == 'D')
goto yy278;
if (yych != 'd')
goto yy276;
yy278:
yych = *++p;
if (yych == 'A')
goto yy280;
if (yych == 'a')
goto yy280;
yy279:
p = marker;
if (yyaccept == 0) {
goto yy276;
} else {
goto yy284;
}
yy280:
yych = *++p;
if (yych == 'T')
goto yy281;
if (yych != 't')
goto yy279;
yy281:
yych = *++p;
if (yych == 'A')
goto yy282;
if (yych != 'a')
goto yy279;
yy282:
yych = *++p;
if (yych != '[')
goto yy279;
yy283:
yyaccept = 1;
yych = *(marker = ++p);
if (yybm[0 + yych] & 128) {
goto yy283;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
goto yy284;
if (yych <= ']')
goto yy285;
} else {
if (yych <= 0xDF)
goto yy286;
if (yych <= 0xE0)
goto yy287;
goto yy288;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy289;
if (yych <= 0xEF)
goto yy288;
goto yy290;
} else {
if (yych <= 0xF3)
goto yy291;
if (yych <= 0xF4)
goto yy292;
}
}
yy284 : { return (bufsize_t)(p - start); }
yy285:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy283;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
goto yy279;
if (yych <= ']')
goto yy293;
goto yy279;
} else {
if (yych <= 0xDF)
goto yy286;
if (yych <= 0xE0)
goto yy287;
goto yy288;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy289;
if (yych <= 0xEF)
goto yy288;
goto yy290;
} else {
if (yych <= 0xF3)
goto yy291;
if (yych <= 0xF4)
goto yy292;
goto yy279;
}
}
yy286:
yych = *++p;
if (yych <= 0x7F)
goto yy279;
if (yych <= 0xBF)
goto yy283;
goto yy279;
yy287:
yych = *++p;
if (yych <= 0x9F)
goto yy279;
if (yych <= 0xBF)
goto yy286;
goto yy279;
yy288:
yych = *++p;
if (yych <= 0x7F)
goto yy279;
if (yych <= 0xBF)
goto yy286;
goto yy279;
yy289:
yych = *++p;
if (yych <= 0x7F)
goto yy279;
if (yych <= 0x9F)
goto yy286;
goto yy279;
yy290:
yych = *++p;
if (yych <= 0x8F)
goto yy279;
if (yych <= 0xBF)
goto yy288;
goto yy279;
yy291:
yych = *++p;
if (yych <= 0x7F)
goto yy279;
if (yych <= 0xBF)
goto yy288;
goto yy279;
yy292:
yych = *++p;
if (yych <= 0x7F)
goto yy279;
if (yych <= 0x8F)
goto yy288;
goto yy279;
yy293:
yych = *++p;
if (yych <= 0xE0) {
if (yych <= '>') {
if (yych <= 0x00)
goto yy279;
if (yych <= '=')
goto yy283;
goto yy279;
} else {
if (yych <= 0x7F)
goto yy283;
if (yych <= 0xC1)
goto yy279;
if (yych <= 0xDF)
goto yy286;
goto yy287;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy289;
goto yy288;
} else {
if (yych <= 0xF0)
goto yy290;
if (yych <= 0xF3)
goto yy291;
if (yych <= 0xF4)
goto yy292;
goto yy279;
}
}
}
}
// 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 yy296;
++p;
yy295 : { return 0; }
yy296:
yych = *(marker = ++p);
switch (yych) {
case '!':
goto yy297;
case '/':
goto yy299;
case '?':
goto yy300;
case 'A':
case 'a':
goto yy301;
case 'B':
case 'b':
goto yy302;
case 'C':
case 'c':
goto yy303;
case 'D':
case 'd':
goto yy304;
case 'F':
case 'f':
goto yy305;
case 'H':
case 'h':
goto yy306;
case 'I':
case 'i':
goto yy307;
case 'L':
case 'l':
goto yy308;
case 'M':
case 'm':
goto yy309;
case 'N':
case 'n':
goto yy310;
case 'O':
case 'o':
goto yy311;
case 'P':
case 'p':
goto yy312;
case 'S':
case 's':
goto yy313;
case 'T':
case 't':
goto yy314;
case 'U':
case 'u':
goto yy315;
default:
goto yy295;
}
yy297:
yych = *++p;
if (yych <= '@') {
if (yych == '-')
goto yy316;
} else {
if (yych <= 'Z')
goto yy317;
if (yych <= '[')
goto yy318;
}
yy298:
p = marker;
goto yy295;
yy299:
yych = *++p;
switch (yych) {
case 'A':
case 'a':
goto yy301;
case 'B':
case 'b':
goto yy302;
case 'C':
case 'c':
goto yy303;
case 'D':
case 'd':
goto yy304;
case 'F':
case 'f':
goto yy305;
case 'H':
case 'h':
goto yy306;
case 'I':
case 'i':
goto yy307;
case 'L':
case 'l':
goto yy308;
case 'M':
case 'm':
goto yy309;
case 'N':
case 'n':
goto yy310;
case 'O':
case 'o':
goto yy311;
case 'P':
case 'p':
goto yy319;
case 'S':
case 's':
goto yy320;
case 'T':
case 't':
goto yy321;
case 'U':
case 'u':
goto yy315;
default:
goto yy298;
}
yy300:
++p;
{ return 3; }
yy301:
yych = *++p;
if (yych <= 'S') {
if (yych <= 'D') {
if (yych <= 'C')
goto yy298;
goto yy322;
} else {
if (yych <= 'Q')
goto yy298;
if (yych <= 'R')
goto yy323;
goto yy324;
}
} else {
if (yych <= 'q') {
if (yych == 'd')
goto yy322;
goto yy298;
} else {
if (yych <= 'r')
goto yy323;
if (yych <= 's')
goto yy324;
goto yy298;
}
}
yy302:
yych = *++p;
if (yych <= 'O') {
if (yych <= 'K') {
if (yych == 'A')
goto yy325;
goto yy298;
} else {
if (yych <= 'L')
goto yy326;
if (yych <= 'N')
goto yy298;
goto yy327;
}
} else {
if (yych <= 'k') {
if (yych == 'a')
goto yy325;
goto yy298;
} else {
if (yych <= 'l')
goto yy326;
if (yych == 'o')
goto yy327;
goto yy298;
}
}
yy303:
yych = *++p;
if (yych <= 'O') {
if (yych <= 'D') {
if (yych == 'A')
goto yy328;
goto yy298;
} else {
if (yych <= 'E')
goto yy329;
if (yych <= 'N')
goto yy298;
goto yy330;
}
} else {
if (yych <= 'd') {
if (yych == 'a')
goto yy328;
goto yy298;
} else {
if (yych <= 'e')
goto yy329;
if (yych == 'o')
goto yy330;
goto yy298;
}
}
yy304:
yych = *++p;
switch (yych) {
case 'D':
case 'L':
case 'T':
case 'd':
case 'l':
case 't':
goto yy331;
case 'E':
case 'e':
goto yy332;
case 'I':
case 'i':
goto yy333;
default:
goto yy298;
}
yy305:
yych = *++p;
if (yych <= 'R') {
if (yych <= 'N') {
if (yych == 'I')
goto yy334;
goto yy298;
} else {
if (yych <= 'O')
goto yy335;
if (yych <= 'Q')
goto yy298;
goto yy336;
}
} else {
if (yych <= 'n') {
if (yych == 'i')
goto yy334;
goto yy298;
} else {
if (yych <= 'o')
goto yy335;
if (yych == 'r')
goto yy336;
goto yy298;
}
}
yy306:
yych = *++p;
if (yych <= 'S') {
if (yych <= 'D') {
if (yych <= '0')
goto yy298;
if (yych <= '6')
goto yy331;
goto yy298;
} else {
if (yych <= 'E')
goto yy337;
if (yych == 'R')
goto yy331;
goto yy298;
}
} else {
if (yych <= 'q') {
if (yych <= 'T')
goto yy338;
if (yych == 'e')
goto yy337;
goto yy298;
} else {
if (yych <= 'r')
goto yy331;
if (yych == 't')
goto yy338;
goto yy298;
}
}
yy307:
yych = *++p;
if (yych == 'F')
goto yy339;
if (yych == 'f')
goto yy339;
goto yy298;
yy308:
yych = *++p;
if (yych <= 'I') {
if (yych == 'E')
goto yy340;
if (yych <= 'H')
goto yy298;
goto yy341;
} else {
if (yych <= 'e') {
if (yych <= 'd')
goto yy298;
goto yy340;
} else {
if (yych == 'i')
goto yy341;
goto yy298;
}
}
yy309:
yych = *++p;
if (yych <= 'E') {
if (yych == 'A')
goto yy342;
if (yych <= 'D')
goto yy298;
goto yy343;
} else {
if (yych <= 'a') {
if (yych <= '`')
goto yy298;
goto yy342;
} else {
if (yych == 'e')
goto yy343;
goto yy298;
}
}
yy310:
yych = *++p;
if (yych <= 'O') {
if (yych == 'A')
goto yy344;
if (yych <= 'N')
goto yy298;
goto yy345;
} else {
if (yych <= 'a') {
if (yych <= '`')
goto yy298;
goto yy344;
} else {
if (yych == 'o')
goto yy345;
goto yy298;
}
}
yy311:
yych = *++p;
if (yych <= 'P') {
if (yych == 'L')
goto yy331;
if (yych <= 'O')
goto yy298;
goto yy346;
} else {
if (yych <= 'l') {
if (yych <= 'k')
goto yy298;
goto yy331;
} else {
if (yych == 'p')
goto yy346;
goto yy298;
}
}
yy312:
yych = *++p;
if (yych <= '>') {
if (yych <= ' ') {
if (yych <= 0x08)
goto yy298;
if (yych <= '\r')
goto yy347;
if (yych <= 0x1F)
goto yy298;
goto yy347;
} else {
if (yych == '/')
goto yy348;
if (yych <= '=')
goto yy298;
goto yy347;
}
} else {
if (yych <= 'R') {
if (yych == 'A')
goto yy349;
if (yych <= 'Q')
goto yy298;
goto yy350;
} else {
if (yych <= 'a') {
if (yych <= '`')
goto yy298;
goto yy349;
} else {
if (yych == 'r')
goto yy350;
goto yy298;
}
}
}
yy313:
yych = *++p;
switch (yych) {
case 'C':
case 'c':
goto yy351;
case 'E':
case 'e':
goto yy352;
case 'O':
case 'o':
goto yy353;
case 'T':
case 't':
goto yy354;
case 'U':
case 'u':
goto yy355;
default:
goto yy298;
}
yy314:
yych = *++p;
switch (yych) {
case 'A':
case 'a':
goto yy356;
case 'B':
case 'b':
goto yy357;
case 'D':
case 'd':
goto yy331;
case 'E':
case 'e':
goto yy358;
case 'F':
case 'f':
goto yy359;
case 'H':
case 'h':
goto yy360;
case 'I':
case 'i':
goto yy361;
case 'R':
case 'r':
goto yy362;
default:
goto yy298;
}
yy315:
yych = *++p;
if (yych == 'L')
goto yy331;
if (yych == 'l')
goto yy331;
goto yy298;
yy316:
yych = *++p;
if (yych == '-')
goto yy363;
goto yy298;
yy317:
++p;
{ return 4; }
yy318:
yych = *++p;
if (yych == 'C')
goto yy364;
if (yych == 'c')
goto yy364;
goto yy298;
yy319:
yych = *++p;
if (yych <= '/') {
if (yych <= 0x1F) {
if (yych <= 0x08)
goto yy298;
if (yych <= '\r')
goto yy347;
goto yy298;
} else {
if (yych <= ' ')
goto yy347;
if (yych <= '.')
goto yy298;
goto yy348;
}
} else {
if (yych <= '@') {
if (yych == '>')
goto yy347;
goto yy298;
} else {
if (yych <= 'A')
goto yy349;
if (yych == 'a')
goto yy349;
goto yy298;
}
}
yy320:
yych = *++p;
if (yych <= 'U') {
if (yych <= 'N') {
if (yych == 'E')
goto yy352;
goto yy298;
} else {
if (yych <= 'O')
goto yy353;
if (yych <= 'T')
goto yy298;
goto yy355;
}
} else {
if (yych <= 'n') {
if (yych == 'e')
goto yy352;
goto yy298;
} else {
if (yych <= 'o')
goto yy353;
if (yych == 'u')
goto yy355;
goto yy298;
}
}
yy321:
yych = *++p;
switch (yych) {
case 'A':
case 'a':
goto yy356;
case 'B':
case 'b':
goto yy357;
case 'D':
case 'd':
goto yy331;
case 'F':
case 'f':
goto yy359;
case 'H':
case 'h':
goto yy360;
case 'I':
case 'i':
goto yy361;
case 'R':
case 'r':
goto yy362;
default:
goto yy298;
}
yy322:
yych = *++p;
if (yych == 'D')
goto yy365;
if (yych == 'd')
goto yy365;
goto yy298;
yy323:
yych = *++p;
if (yych == 'T')
goto yy366;
if (yych == 't')
goto yy366;
goto yy298;
yy324:
yych = *++p;
if (yych == 'I')
goto yy367;
if (yych == 'i')
goto yy367;
goto yy298;
yy325:
yych = *++p;
if (yych == 'S')
goto yy368;
if (yych == 's')
goto yy368;
goto yy298;
yy326:
yych = *++p;
if (yych == 'O')
goto yy369;
if (yych == 'o')
goto yy369;
goto yy298;
yy327:
yych = *++p;
if (yych == 'D')
goto yy370;
if (yych == 'd')
goto yy370;
goto yy298;
yy328:
yych = *++p;
if (yych == 'P')
goto yy371;
if (yych == 'p')
goto yy371;
goto yy298;
yy329:
yych = *++p;
if (yych == 'N')
goto yy372;
if (yych == 'n')
goto yy372;
goto yy298;
yy330:
yych = *++p;
if (yych == 'L')
goto yy373;
if (yych == 'l')
goto yy373;
goto yy298;
yy331:
yych = *++p;
if (yych <= ' ') {
if (yych <= 0x08)
goto yy298;
if (yych <= '\r')
goto yy347;
if (yych <= 0x1F)
goto yy298;
goto yy347;
} else {
if (yych <= '/') {
if (yych <= '.')
goto yy298;
goto yy348;
} else {
if (yych == '>')
goto yy347;
goto yy298;
}
}
yy332:
yych = *++p;
if (yych == 'T')
goto yy374;
if (yych == 't')
goto yy374;
goto yy298;
yy333:
yych = *++p;
if (yych <= 'V') {
if (yych <= 'Q') {
if (yych == 'A')
goto yy375;
goto yy298;
} else {
if (yych <= 'R')
goto yy331;
if (yych <= 'U')
goto yy298;
goto yy331;
}
} else {
if (yych <= 'q') {
if (yych == 'a')
goto yy375;
goto yy298;
} else {
if (yych <= 'r')
goto yy331;
if (yych == 'v')
goto yy331;
goto yy298;
}
}
yy334:
yych = *++p;
if (yych <= 'G') {
if (yych == 'E')
goto yy376;
if (yych <= 'F')
goto yy298;
goto yy377;
} else {
if (yych <= 'e') {
if (yych <= 'd')
goto yy298;
goto yy376;
} else {
if (yych == 'g')
goto yy377;
goto yy298;
}
}
yy335:
yych = *++p;
if (yych <= 'R') {
if (yych == 'O')
goto yy372;
if (yych <= 'Q')
goto yy298;
goto yy378;
} else {
if (yych <= 'o') {
if (yych <= 'n')
goto yy298;
goto yy372;
} else {
if (yych == 'r')
goto yy378;
goto yy298;
}
}
yy336:
yych = *++p;
if (yych == 'A')
goto yy379;
if (yych == 'a')
goto yy379;
goto yy298;
yy337:
yych = *++p;
if (yych == 'A')
goto yy380;
if (yych == 'a')
goto yy380;
goto yy298;
yy338:
yych = *++p;
if (yych == 'M')
goto yy315;
if (yych == 'm')
goto yy315;
goto yy298;
yy339:
yych = *++p;
if (yych == 'R')
goto yy381;
if (yych == 'r')
goto yy381;
goto yy298;
yy340:
yych = *++p;
if (yych == 'G')
goto yy382;
if (yych == 'g')
goto yy382;
goto yy298;
yy341:
yych = *++p;
if (yych <= '/') {
if (yych <= 0x1F) {
if (yych <= 0x08)
goto yy298;
if (yych <= '\r')
goto yy347;
goto yy298;
} else {
if (yych <= ' ')
goto yy347;
if (yych <= '.')
goto yy298;
goto yy348;
}
} else {
if (yych <= 'M') {
if (yych == '>')
goto yy347;
goto yy298;
} else {
if (yych <= 'N')
goto yy383;
if (yych == 'n')
goto yy383;
goto yy298;
}
}
yy342:
yych = *++p;
if (yych == 'I')
goto yy384;
if (yych == 'i')
goto yy384;
goto yy298;
yy343:
yych = *++p;
if (yych == 'N')
goto yy385;
if (yych == 'n')
goto yy385;
goto yy298;
yy344:
yych = *++p;
if (yych == 'V')
goto yy331;
if (yych == 'v')
goto yy331;
goto yy298;
yy345:
yych = *++p;
if (yych == 'F')
goto yy386;
if (yych == 'f')
goto yy386;
goto yy298;
yy346:
yych = *++p;
if (yych == 'T')
goto yy387;
if (yych == 't')
goto yy387;
goto yy298;
yy347:
++p;
{ return 6; }
yy348:
yych = *++p;
if (yych == '>')
goto yy347;
goto yy298;
yy349:
yych = *++p;
if (yych == 'R')
goto yy388;
if (yych == 'r')
goto yy388;
goto yy298;
yy350:
yych = *++p;
if (yych == 'E')
goto yy389;
if (yych == 'e')
goto yy389;
goto yy298;
yy351:
yych = *++p;
if (yych == 'R')
goto yy390;
if (yych == 'r')
goto yy390;
goto yy298;
yy352:
yych = *++p;
if (yych == 'C')
goto yy371;
if (yych == 'c')
goto yy371;
goto yy298;
yy353:
yych = *++p;
if (yych == 'U')
goto yy391;
if (yych == 'u')
goto yy391;
goto yy298;
yy354:
yych = *++p;
if (yych == 'Y')
goto yy392;
if (yych == 'y')
goto yy392;
goto yy298;
yy355:
yych = *++p;
if (yych == 'M')
goto yy393;
if (yych == 'm')
goto yy393;
goto yy298;
yy356:
yych = *++p;
if (yych == 'B')
goto yy394;
if (yych == 'b')
goto yy394;
goto yy298;
yy357:
yych = *++p;
if (yych == 'O')
goto yy327;
if (yych == 'o')
goto yy327;
goto yy298;
yy358:
yych = *++p;
if (yych == 'X')
goto yy395;
if (yych == 'x')
goto yy395;
goto yy298;
yy359:
yych = *++p;
if (yych == 'O')
goto yy396;
if (yych == 'o')
goto yy396;
goto yy298;
yy360:
yych = *++p;
if (yych <= '/') {
if (yych <= 0x1F) {
if (yych <= 0x08)
goto yy298;
if (yych <= '\r')
goto yy347;
goto yy298;
} else {
if (yych <= ' ')
goto yy347;
if (yych <= '.')
goto yy298;
goto yy348;
}
} else {
if (yych <= 'D') {
if (yych == '>')
goto yy347;
goto yy298;
} else {
if (yych <= 'E')
goto yy397;
if (yych == 'e')
goto yy397;
goto yy298;
}
}
yy361:
yych = *++p;
if (yych == 'T')
goto yy394;
if (yych == 't')
goto yy394;
goto yy298;
yy362:
yych = *++p;
if (yych <= '/') {
if (yych <= 0x1F) {
if (yych <= 0x08)
goto yy298;
if (yych <= '\r')
goto yy347;
goto yy298;
} else {
if (yych <= ' ')
goto yy347;
if (yych <= '.')
goto yy298;
goto yy348;
}
} else {
if (yych <= '@') {
if (yych == '>')
goto yy347;
goto yy298;
} else {
if (yych <= 'A')
goto yy398;
if (yych == 'a')
goto yy398;
goto yy298;
}
}
yy363:
++p;
{ return 2; }
yy364:
yych = *++p;
if (yych == 'D')
goto yy399;
if (yych == 'd')
goto yy399;
goto yy298;
yy365:
yych = *++p;
if (yych == 'R')
goto yy400;
if (yych == 'r')
goto yy400;
goto yy298;
yy366:
yych = *++p;
if (yych == 'I')
goto yy401;
if (yych == 'i')
goto yy401;
goto yy298;
yy367:
yych = *++p;
if (yych == 'D')
goto yy402;
if (yych == 'd')
goto yy402;
goto yy298;
yy368:
yych = *++p;
if (yych == 'E')
goto yy403;
if (yych == 'e')
goto yy403;
goto yy298;
yy369:
yych = *++p;
if (yych == 'C')
goto yy404;
if (yych == 'c')
goto yy404;
goto yy298;
yy370:
yych = *++p;
if (yych == 'Y')
goto yy331;
if (yych == 'y')
goto yy331;
goto yy298;
yy371:
yych = *++p;
if (yych == 'T')
goto yy405;
if (yych == 't')
goto yy405;
goto yy298;
yy372:
yych = *++p;
if (yych == 'T')
goto yy406;
if (yych == 't')
goto yy406;
goto yy298;
yy373:
yych = *++p;
if (yych <= '/') {
if (yych <= 0x1F) {
if (yych <= 0x08)
goto yy298;
if (yych <= '\r')
goto yy347;
goto yy298;
} else {
if (yych <= ' ')
goto yy347;
if (yych <= '.')
goto yy298;
goto yy348;
}
} else {
if (yych <= 'F') {
if (yych == '>')
goto yy347;
goto yy298;
} else {
if (yych <= 'G')
goto yy407;
if (yych == 'g')
goto yy407;
goto yy298;
}
}
yy374:
yych = *++p;
if (yych == 'A')
goto yy408;
if (yych == 'a')
goto yy408;
goto yy298;
yy375:
yych = *++p;
if (yych == 'L')
goto yy409;
if (yych == 'l')
goto yy409;
goto yy298;
yy376:
yych = *++p;
if (yych == 'L')
goto yy410;
if (yych == 'l')
goto yy410;
goto yy298;
yy377:
yych = *++p;
if (yych <= 'U') {
if (yych == 'C')
goto yy411;
if (yych <= 'T')
goto yy298;
goto yy412;
} else {
if (yych <= 'c') {
if (yych <= 'b')
goto yy298;
goto yy411;
} else {
if (yych == 'u')
goto yy412;
goto yy298;
}
}
yy378:
yych = *++p;
if (yych == 'M')
goto yy331;
if (yych == 'm')
goto yy331;
goto yy298;
yy379:
yych = *++p;
if (yych == 'M')
goto yy413;
if (yych == 'm')
goto yy413;
goto yy298;
yy380:
yych = *++p;
if (yych == 'D')
goto yy414;
if (yych == 'd')
goto yy414;
goto yy298;
yy381:
yych = *++p;
if (yych == 'A')
goto yy415;
if (yych == 'a')
goto yy415;
goto yy298;
yy382:
yych = *++p;
if (yych == 'E')
goto yy416;
if (yych == 'e')
goto yy416;
goto yy298;
yy383:
yych = *++p;
if (yych == 'K')
goto yy331;
if (yych == 'k')
goto yy331;
goto yy298;
yy384:
yych = *++p;
if (yych == 'N')
goto yy331;
if (yych == 'n')
goto yy331;
goto yy298;
yy385:
yych = *++p;
if (yych == 'U')
goto yy417;
if (yych == 'u')
goto yy417;
goto yy298;
yy386:
yych = *++p;
if (yych == 'R')
goto yy418;
if (yych == 'r')
goto yy418;
goto yy298;
yy387:
yych = *++p;
if (yych <= 'I') {
if (yych == 'G')
goto yy407;
if (yych <= 'H')
goto yy298;
goto yy419;
} else {
if (yych <= 'g') {
if (yych <= 'f')
goto yy298;
goto yy407;
} else {
if (yych == 'i')
goto yy419;
goto yy298;
}
}
yy388:
yych = *++p;
if (yych == 'A')
goto yy378;
if (yych == 'a')
goto yy378;
goto yy298;
yy389:
yych = *++p;
if (yych <= 0x1F) {
if (yych <= 0x08)
goto yy298;
if (yych <= '\r')
goto yy420;
goto yy298;
} else {
if (yych <= ' ')
goto yy420;
if (yych == '>')
goto yy420;
goto yy298;
}
yy390:
yych = *++p;
if (yych == 'I')
goto yy421;
if (yych == 'i')
goto yy421;
goto yy298;
yy391:
yych = *++p;
if (yych == 'R')
goto yy422;
if (yych == 'r')
goto yy422;
goto yy298;
yy392:
yych = *++p;
if (yych == 'L')
goto yy350;
if (yych == 'l')
goto yy350;
goto yy298;
yy393:
yych = *++p;
if (yych == 'M')
goto yy423;
if (yych == 'm')
goto yy423;
goto yy298;
yy394:
yych = *++p;
if (yych == 'L')
goto yy402;
if (yych == 'l')
goto yy402;
goto yy298;
yy395:
yych = *++p;
if (yych == 'T')
goto yy424;
if (yych == 't')
goto yy424;
goto yy298;
yy396:
yych = *++p;
if (yych == 'O')
goto yy425;
if (yych == 'o')
goto yy425;
goto yy298;
yy397:
yych = *++p;
if (yych == 'A')
goto yy426;
if (yych == 'a')
goto yy426;
goto yy298;
yy398:
yych = *++p;
if (yych == 'C')
goto yy383;
if (yych == 'c')
goto yy383;
goto yy298;
yy399:
yych = *++p;
if (yych == 'A')
goto yy427;
if (yych == 'a')
goto yy427;
goto yy298;
yy400:
yych = *++p;
if (yych == 'E')
goto yy428;
if (yych == 'e')
goto yy428;
goto yy298;
yy401:
yych = *++p;
if (yych == 'C')
goto yy394;
if (yych == 'c')
goto yy394;
goto yy298;
yy402:
yych = *++p;
if (yych == 'E')
goto yy331;
if (yych == 'e')
goto yy331;
goto yy298;
yy403:
yych = *++p;
if (yych <= '/') {
if (yych <= 0x1F) {
if (yych <= 0x08)
goto yy298;
if (yych <= '\r')
goto yy347;
goto yy298;
} else {
if (yych <= ' ')
goto yy347;
if (yych <= '.')
goto yy298;
goto yy348;
}
} else {
if (yych <= 'E') {
if (yych == '>')
goto yy347;
goto yy298;
} else {
if (yych <= 'F')
goto yy429;
if (yych == 'f')
goto yy429;
goto yy298;
}
}
yy404:
yych = *++p;
if (yych == 'K')
goto yy430;
if (yych == 'k')
goto yy430;
goto yy298;
yy405:
yych = *++p;
if (yych == 'I')
goto yy419;
if (yych == 'i')
goto yy419;
goto yy298;
yy406:
yych = *++p;
if (yych == 'E')
goto yy431;
if (yych == 'e')
goto yy431;
goto yy298;
yy407:
yych = *++p;
if (yych == 'R')
goto yy432;
if (yych == 'r')
goto yy432;
goto yy298;
yy408:
yych = *++p;
if (yych == 'I')
goto yy433;
if (yych == 'i')
goto yy433;
goto yy298;
yy409:
yych = *++p;
if (yych == 'O')
goto yy434;
if (yych == 'o')
goto yy434;
goto yy298;
yy410:
yych = *++p;
if (yych == 'D')
goto yy435;
if (yych == 'd')
goto yy435;
goto yy298;
yy411:
yych = *++p;
if (yych == 'A')
goto yy328;
if (yych == 'a')
goto yy328;
goto yy298;
yy412:
yych = *++p;
if (yych == 'R')
goto yy402;
if (yych == 'r')
goto yy402;
goto yy298;
yy413:
yych = *++p;
if (yych == 'E')
goto yy436;
if (yych == 'e')
goto yy436;
goto yy298;
yy414:
yych = *++p;
if (yych <= '/') {
if (yych <= 0x1F) {
if (yych <= 0x08)
goto yy298;
if (yych <= '\r')
goto yy347;
goto yy298;
} else {
if (yych <= ' ')
goto yy347;
if (yych <= '.')
goto yy298;
goto yy348;
}
} else {
if (yych <= 'D') {
if (yych == '>')
goto yy347;
goto yy298;
} else {
if (yych <= 'E')
goto yy431;
if (yych == 'e')
goto yy431;
goto yy298;
}
}
yy415:
yych = *++p;
if (yych == 'M')
goto yy402;
if (yych == 'm')
goto yy402;
goto yy298;
yy416:
yych = *++p;
if (yych == 'N')
goto yy426;
if (yych == 'n')
goto yy426;
goto yy298;
yy417:
yych = *++p;
if (yych <= '/') {
if (yych <= 0x1F) {
if (yych <= 0x08)
goto yy298;
if (yych <= '\r')
goto yy347;
goto yy298;
} else {
if (yych <= ' ')
goto yy347;
if (yych <= '.')
goto yy298;
goto yy348;
}
} else {
if (yych <= 'H') {
if (yych == '>')
goto yy347;
goto yy298;
} else {
if (yych <= 'I')
goto yy437;
if (yych == 'i')
goto yy437;
goto yy298;
}
}
yy418:
yych = *++p;
if (yych == 'A')
goto yy438;
if (yych == 'a')
goto yy438;
goto yy298;
yy419:
yych = *++p;
if (yych == 'O')
goto yy384;
if (yych == 'o')
goto yy384;
goto yy298;
yy420:
++p;
{ return 1; }
yy421:
yych = *++p;
if (yych == 'P')
goto yy439;
if (yych == 'p')
goto yy439;
goto yy298;
yy422:
yych = *++p;
if (yych == 'C')
goto yy402;
if (yych == 'c')
goto yy402;
goto yy298;
yy423:
yych = *++p;
if (yych == 'A')
goto yy440;
if (yych == 'a')
goto yy440;
goto yy298;
yy424:
yych = *++p;
if (yych == 'A')
goto yy441;
if (yych == 'a')
goto yy441;
goto yy298;
yy425:
yych = *++p;
if (yych == 'T')
goto yy331;
if (yych == 't')
goto yy331;
goto yy298;
yy426:
yych = *++p;
if (yych == 'D')
goto yy331;
if (yych == 'd')
goto yy331;
goto yy298;
yy427:
yych = *++p;
if (yych == 'T')
goto yy442;
if (yych == 't')
goto yy442;
goto yy298;
yy428:
yych = *++p;
if (yych == 'S')
goto yy443;
if (yych == 's')
goto yy443;
goto yy298;
yy429:
yych = *++p;
if (yych == 'O')
goto yy444;
if (yych == 'o')
goto yy444;
goto yy298;
yy430:
yych = *++p;
if (yych == 'Q')
goto yy445;
if (yych == 'q')
goto yy445;
goto yy298;
yy431:
yych = *++p;
if (yych == 'R')
goto yy331;
if (yych == 'r')
goto yy331;
goto yy298;
yy432:
yych = *++p;
if (yych == 'O')
goto yy446;
if (yych == 'o')
goto yy446;
goto yy298;
yy433:
yych = *++p;
if (yych == 'L')
goto yy443;
if (yych == 'l')
goto yy443;
goto yy298;
yy434:
yych = *++p;
if (yych == 'G')
goto yy331;
if (yych == 'g')
goto yy331;
goto yy298;
yy435:
yych = *++p;
if (yych == 'S')
goto yy447;
if (yych == 's')
goto yy447;
goto yy298;
yy436:
yych = *++p;
if (yych <= '/') {
if (yych <= 0x1F) {
if (yych <= 0x08)
goto yy298;
if (yych <= '\r')
goto yy347;
goto yy298;
} else {
if (yych <= ' ')
goto yy347;
if (yych <= '.')
goto yy298;
goto yy348;
}
} else {
if (yych <= 'R') {
if (yych == '>')
goto yy347;
goto yy298;
} else {
if (yych <= 'S')
goto yy447;
if (yych == 's')
goto yy447;
goto yy298;
}
}
yy437:
yych = *++p;
if (yych == 'T')
goto yy448;
if (yych == 't')
goto yy448;
goto yy298;
yy438:
yych = *++p;
if (yych == 'M')
goto yy449;
if (yych == 'm')
goto yy449;
goto yy298;
yy439:
yych = *++p;
if (yych == 'T')
goto yy389;
if (yych == 't')
goto yy389;
goto yy298;
yy440:
yych = *++p;
if (yych == 'R')
goto yy370;
if (yych == 'r')
goto yy370;
goto yy298;
yy441:
yych = *++p;
if (yych == 'R')
goto yy450;
if (yych == 'r')
goto yy450;
goto yy298;
yy442:
yych = *++p;
if (yych == 'A')
goto yy451;
if (yych == 'a')
goto yy451;
goto yy298;
yy443:
yych = *++p;
if (yych == 'S')
goto yy331;
if (yych == 's')
goto yy331;
goto yy298;
yy444:
yych = *++p;
if (yych == 'N')
goto yy425;
if (yych == 'n')
goto yy425;
goto yy298;
yy445:
yych = *++p;
if (yych == 'U')
goto yy452;
if (yych == 'u')
goto yy452;
goto yy298;
yy446:
yych = *++p;
if (yych == 'U')
goto yy453;
if (yych == 'u')
goto yy453;
goto yy298;
yy447:
yych = *++p;
if (yych == 'E')
goto yy425;
if (yych == 'e')
goto yy425;
goto yy298;
yy448:
yych = *++p;
if (yych == 'E')
goto yy378;
if (yych == 'e')
goto yy378;
goto yy298;
yy449:
yych = *++p;
if (yych == 'E')
goto yy443;
if (yych == 'e')
goto yy443;
goto yy298;
yy450:
yych = *++p;
if (yych == 'E')
goto yy454;
if (yych == 'e')
goto yy454;
goto yy298;
yy451:
yych = *++p;
if (yych == '[')
goto yy455;
goto yy298;
yy452:
yych = *++p;
if (yych == 'O')
goto yy456;
if (yych == 'o')
goto yy456;
goto yy298;
yy453:
yych = *++p;
if (yych == 'P')
goto yy331;
if (yych == 'p')
goto yy331;
goto yy298;
yy454:
yych = *++p;
if (yych == 'A')
goto yy389;
if (yych == 'a')
goto yy389;
goto yy298;
yy455:
++p;
{ return 5; }
yy456:
yych = *++p;
if (yych == 'T')
goto yy402;
if (yych == 't')
goto yy402;
goto yy298;
}
}
// 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 yy459;
++p;
yy458 : { return 0; }
yy459:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= '@') {
if (yych != '/')
goto yy458;
} else {
if (yych <= 'Z')
goto yy461;
if (yych <= '`')
goto yy458;
if (yych <= 'z')
goto yy461;
goto yy458;
}
yych = *++p;
if (yych <= '@')
goto yy460;
if (yych <= 'Z')
goto yy462;
if (yych <= '`')
goto yy460;
if (yych <= 'z')
goto yy462;
yy460:
p = marker;
if (yyaccept == 0) {
goto yy458;
} else {
goto yy469;
}
yy461:
yych = *++p;
if (yybm[0 + yych] & 2) {
goto yy463;
}
if (yych <= '=') {
if (yych <= '.') {
if (yych == '-')
goto yy461;
goto yy460;
} else {
if (yych <= '/')
goto yy464;
if (yych <= '9')
goto yy461;
goto yy460;
}
} else {
if (yych <= 'Z') {
if (yych <= '>')
goto yy465;
if (yych <= '@')
goto yy460;
goto yy461;
} else {
if (yych <= '`')
goto yy460;
if (yych <= 'z')
goto yy461;
goto yy460;
}
}
yy462:
yych = *++p;
if (yych <= '/') {
if (yych <= 0x1F) {
if (yych <= 0x08)
goto yy460;
if (yych <= '\r')
goto yy466;
goto yy460;
} else {
if (yych <= ' ')
goto yy466;
if (yych == '-')
goto yy462;
goto yy460;
}
} else {
if (yych <= '@') {
if (yych <= '9')
goto yy462;
if (yych == '>')
goto yy465;
goto yy460;
} else {
if (yych <= 'Z')
goto yy462;
if (yych <= '`')
goto yy460;
if (yych <= 'z')
goto yy462;
goto yy460;
}
}
yy463:
yych = *++p;
if (yybm[0 + yych] & 2) {
goto yy463;
}
if (yych <= '>') {
if (yych <= '9') {
if (yych != '/')
goto yy460;
} else {
if (yych <= ':')
goto yy467;
if (yych <= '=')
goto yy460;
goto yy465;
}
} else {
if (yych <= '^') {
if (yych <= '@')
goto yy460;
if (yych <= 'Z')
goto yy467;
goto yy460;
} else {
if (yych == '`')
goto yy460;
if (yych <= 'z')
goto yy467;
goto yy460;
}
}
yy464:
yych = *++p;
if (yych != '>')
goto yy460;
yy465:
yych = *++p;
if (yybm[0 + yych] & 4) {
goto yy465;
}
if (yych <= 0x08)
goto yy460;
if (yych <= '\n')
goto yy468;
if (yych <= '\v')
goto yy460;
if (yych <= '\r')
goto yy470;
goto yy460;
yy466:
yych = *++p;
if (yych <= 0x1F) {
if (yych <= 0x08)
goto yy460;
if (yych <= '\r')
goto yy466;
goto yy460;
} else {
if (yych <= ' ')
goto yy466;
if (yych == '>')
goto yy465;
goto yy460;
}
yy467:
yych = *++p;
if (yybm[0 + yych] & 8) {
goto yy467;
}
if (yych <= ',') {
if (yych <= '\r') {
if (yych <= 0x08)
goto yy460;
goto yy471;
} else {
if (yych == ' ')
goto yy471;
goto yy460;
}
} else {
if (yych <= '<') {
if (yych <= '/')
goto yy464;
goto yy460;
} else {
if (yych <= '=')
goto yy472;
if (yych <= '>')
goto yy465;
goto yy460;
}
}
yy468:
yyaccept = 1;
yych = *(marker = ++p);
if (yybm[0 + yych] & 4) {
goto yy465;
}
if (yych <= 0x08)
goto yy469;
if (yych <= '\n')
goto yy468;
if (yych <= '\v')
goto yy469;
if (yych <= '\r')
goto yy470;
yy469 : { return 7; }
yy470:
++p;
goto yy469;
yy471:
yych = *++p;
if (yych <= '<') {
if (yych <= ' ') {
if (yych <= 0x08)
goto yy460;
if (yych <= '\r')
goto yy471;
if (yych <= 0x1F)
goto yy460;
goto yy471;
} else {
if (yych <= '/') {
if (yych <= '.')
goto yy460;
goto yy464;
} else {
if (yych == ':')
goto yy467;
goto yy460;
}
}
} else {
if (yych <= 'Z') {
if (yych <= '=')
goto yy472;
if (yych <= '>')
goto yy465;
if (yych <= '@')
goto yy460;
goto yy467;
} else {
if (yych <= '_') {
if (yych <= '^')
goto yy460;
goto yy467;
} else {
if (yych <= '`')
goto yy460;
if (yych <= 'z')
goto yy467;
goto yy460;
}
}
}
yy472:
yych = *++p;
if (yybm[0 + yych] & 32) {
goto yy473;
}
if (yych <= 0xE0) {
if (yych <= '"') {
if (yych <= 0x00)
goto yy460;
if (yych <= ' ')
goto yy472;
goto yy474;
} else {
if (yych <= '\'')
goto yy475;
if (yych <= 0xC1)
goto yy460;
if (yych <= 0xDF)
goto yy476;
goto yy477;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy479;
goto yy478;
} else {
if (yych <= 0xF0)
goto yy480;
if (yych <= 0xF3)
goto yy481;
if (yych <= 0xF4)
goto yy482;
goto yy460;
}
}
yy473:
yych = *++p;
if (yybm[0 + yych] & 32) {
goto yy473;
}
if (yych <= 0xE0) {
if (yych <= '=') {
if (yych <= 0x00)
goto yy460;
if (yych <= ' ')
goto yy463;
goto yy460;
} else {
if (yych <= '>')
goto yy465;
if (yych <= 0xC1)
goto yy460;
if (yych <= 0xDF)
goto yy476;
goto yy477;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy479;
goto yy478;
} else {
if (yych <= 0xF0)
goto yy480;
if (yych <= 0xF3)
goto yy481;
if (yych <= 0xF4)
goto yy482;
goto yy460;
}
}
yy474:
yych = *++p;
if (yybm[0 + yych] & 64) {
goto yy474;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
goto yy460;
if (yych <= '"')
goto yy483;
goto yy460;
} else {
if (yych <= 0xDF)
goto yy484;
if (yych <= 0xE0)
goto yy485;
goto yy486;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy487;
if (yych <= 0xEF)
goto yy486;
goto yy488;
} else {
if (yych <= 0xF3)
goto yy489;
if (yych <= 0xF4)
goto yy490;
goto yy460;
}
}
yy475:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy475;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
goto yy460;
if (yych <= '\'')
goto yy483;
goto yy460;
} else {
if (yych <= 0xDF)
goto yy491;
if (yych <= 0xE0)
goto yy492;
goto yy493;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy494;
if (yych <= 0xEF)
goto yy493;
goto yy495;
} else {
if (yych <= 0xF3)
goto yy496;
if (yych <= 0xF4)
goto yy497;
goto yy460;
}
}
yy476:
yych = *++p;
if (yych <= 0x7F)
goto yy460;
if (yych <= 0xBF)
goto yy473;
goto yy460;
yy477:
yych = *++p;
if (yych <= 0x9F)
goto yy460;
if (yych <= 0xBF)
goto yy476;
goto yy460;
yy478:
yych = *++p;
if (yych <= 0x7F)
goto yy460;
if (yych <= 0xBF)
goto yy476;
goto yy460;
yy479:
yych = *++p;
if (yych <= 0x7F)
goto yy460;
if (yych <= 0x9F)
goto yy476;
goto yy460;
yy480:
yych = *++p;
if (yych <= 0x8F)
goto yy460;
if (yych <= 0xBF)
goto yy478;
goto yy460;
yy481:
yych = *++p;
if (yych <= 0x7F)
goto yy460;
if (yych <= 0xBF)
goto yy478;
goto yy460;
yy482:
yych = *++p;
if (yych <= 0x7F)
goto yy460;
if (yych <= 0x8F)
goto yy478;
goto yy460;
yy483:
yych = *++p;
if (yybm[0 + yych] & 2) {
goto yy463;
}
if (yych == '/')
goto yy464;
if (yych == '>')
goto yy465;
goto yy460;
yy484:
yych = *++p;
if (yych <= 0x7F)
goto yy460;
if (yych <= 0xBF)
goto yy474;
goto yy460;
yy485:
yych = *++p;
if (yych <= 0x9F)
goto yy460;
if (yych <= 0xBF)
goto yy484;
goto yy460;
yy486:
yych = *++p;
if (yych <= 0x7F)
goto yy460;
if (yych <= 0xBF)
goto yy484;
goto yy460;
yy487:
yych = *++p;
if (yych <= 0x7F)
goto yy460;
if (yych <= 0x9F)
goto yy484;
goto yy460;
yy488:
yych = *++p;
if (yych <= 0x8F)
goto yy460;
if (yych <= 0xBF)
goto yy486;
goto yy460;
yy489:
yych = *++p;
if (yych <= 0x7F)
goto yy460;
if (yych <= 0xBF)
goto yy486;
goto yy460;
yy490:
yych = *++p;
if (yych <= 0x7F)
goto yy460;
if (yych <= 0x8F)
goto yy486;
goto yy460;
yy491:
yych = *++p;
if (yych <= 0x7F)
goto yy460;
if (yych <= 0xBF)
goto yy475;
goto yy460;
yy492:
yych = *++p;
if (yych <= 0x9F)
goto yy460;
if (yych <= 0xBF)
goto yy491;
goto yy460;
yy493:
yych = *++p;
if (yych <= 0x7F)
goto yy460;
if (yych <= 0xBF)
goto yy491;
goto yy460;
yy494:
yych = *++p;
if (yych <= 0x7F)
goto yy460;
if (yych <= 0x9F)
goto yy491;
goto yy460;
yy495:
yych = *++p;
if (yych <= 0x8F)
goto yy460;
if (yych <= 0xBF)
goto yy493;
goto yy460;
yy496:
yych = *++p;
if (yych <= 0x7F)
goto yy460;
if (yych <= 0xBF)
goto yy493;
goto yy460;
yy497:
yych = *++p;
if (yych <= 0x7F)
goto yy460;
if (yych <= 0x8F)
goto yy493;
goto yy460;
}
}
// 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 yy499;
if (yych != '\n')
goto yy501;
} else {
if (yych <= '<')
goto yy502;
if (yych <= 0x7F)
goto yy501;
if (yych >= 0xC2)
goto yy503;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0)
goto yy504;
if (yych == 0xED)
goto yy506;
goto yy505;
} else {
if (yych <= 0xF0)
goto yy507;
if (yych <= 0xF3)
goto yy508;
if (yych <= 0xF4)
goto yy509;
}
}
yy499:
++p;
yy500 : { return 0; }
yy501:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= '\n') {
if (yych <= 0x00)
goto yy500;
if (yych <= '\t')
goto yy511;
goto yy500;
} else {
if (yych <= 0x7F)
goto yy511;
if (yych <= 0xC1)
goto yy500;
if (yych <= 0xF4)
goto yy511;
goto yy500;
}
yy502:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= '.') {
if (yych <= 0x00)
goto yy500;
if (yych == '\n')
goto yy500;
goto yy511;
} else {
if (yych <= 0x7F) {
if (yych <= '/')
goto yy521;
goto yy511;
} else {
if (yych <= 0xC1)
goto yy500;
if (yych <= 0xF4)
goto yy511;
goto yy500;
}
}
yy503:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy500;
if (yych <= 0xBF)
goto yy510;
goto yy500;
yy504:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x9F)
goto yy500;
if (yych <= 0xBF)
goto yy514;
goto yy500;
yy505:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy500;
if (yych <= 0xBF)
goto yy514;
goto yy500;
yy506:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy500;
if (yych <= 0x9F)
goto yy514;
goto yy500;
yy507:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x8F)
goto yy500;
if (yych <= 0xBF)
goto yy516;
goto yy500;
yy508:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy500;
if (yych <= 0xBF)
goto yy516;
goto yy500;
yy509:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy500;
if (yych <= 0x8F)
goto yy516;
goto yy500;
yy510:
yych = *++p;
yy511:
if (yybm[0 + yych] & 64) {
goto yy510;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= '\n')
goto yy512;
if (yych <= '<')
goto yy513;
} else {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
goto yy516;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy517;
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
}
}
yy512:
p = marker;
if (yyaccept == 0) {
goto yy500;
} else {
goto yy534;
}
yy513:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xDF) {
if (yych <= '.') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= '/')
goto yy521;
if (yych <= 0x7F)
goto yy510;
if (yych <= 0xC1)
goto yy512;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0)
goto yy515;
if (yych == 0xED)
goto yy517;
goto yy516;
} else {
if (yych <= 0xF0)
goto yy518;
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
yy514:
yych = *++p;
if (yych <= 0x7F)
goto yy512;
if (yych <= 0xBF)
goto yy510;
goto yy512;
yy515:
yych = *++p;
if (yych <= 0x9F)
goto yy512;
if (yych <= 0xBF)
goto yy514;
goto yy512;
yy516:
yych = *++p;
if (yych <= 0x7F)
goto yy512;
if (yych <= 0xBF)
goto yy514;
goto yy512;
yy517:
yych = *++p;
if (yych <= 0x7F)
goto yy512;
if (yych <= 0x9F)
goto yy514;
goto yy512;
yy518:
yych = *++p;
if (yych <= 0x8F)
goto yy512;
if (yych <= 0xBF)
goto yy516;
goto yy512;
yy519:
yych = *++p;
if (yych <= 0x7F)
goto yy512;
if (yych <= 0xBF)
goto yy516;
goto yy512;
yy520:
yych = *++p;
if (yych <= 0x7F)
goto yy512;
if (yych <= 0x8F)
goto yy516;
goto yy512;
yy521:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 's') {
if (yych <= 'R') {
if (yych <= '\n') {
if (yych <= 0x00)
goto yy512;
if (yych <= '\t')
goto yy510;
goto yy512;
} else {
if (yych != 'P')
goto yy510;
}
} else {
if (yych <= 'o') {
if (yych <= 'S')
goto yy523;
if (yych <= 'T')
goto yy524;
goto yy510;
} else {
if (yych <= 'p')
goto yy522;
if (yych <= 'r')
goto yy510;
goto yy523;
}
}
} else {
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 't')
goto yy524;
if (yych <= 0x7F)
goto yy510;
goto yy512;
} else {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
goto yy516;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy517;
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy522:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xC1) {
if (yych <= 'Q') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= 'q') {
if (yych <= 'R')
goto yy525;
goto yy510;
} else {
if (yych <= 'r')
goto yy525;
if (yych <= 0x7F)
goto yy510;
goto yy512;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
if (yych <= 0xEC)
goto yy516;
goto yy517;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy523:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 't') {
if (yych <= 'C') {
if (yych <= '\t') {
if (yych <= 0x00)
goto yy512;
goto yy510;
} else {
if (yych <= '\n')
goto yy512;
if (yych <= 'B')
goto yy510;
goto yy526;
}
} else {
if (yych <= 'b') {
if (yych == 'T')
goto yy527;
goto yy510;
} else {
if (yych <= 'c')
goto yy526;
if (yych <= 's')
goto yy510;
goto yy527;
}
}
} else {
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x7F)
goto yy510;
goto yy512;
} else {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
goto yy516;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy517;
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy524:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xC1) {
if (yych <= 'D') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= 'd') {
if (yych <= 'E')
goto yy528;
goto yy510;
} else {
if (yych <= 'e')
goto yy528;
if (yych <= 0x7F)
goto yy510;
goto yy512;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
if (yych <= 0xEC)
goto yy516;
goto yy517;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy525:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xC1) {
if (yych <= 'D') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= 'd') {
if (yych <= 'E')
goto yy529;
goto yy510;
} else {
if (yych <= 'e')
goto yy529;
if (yych <= 0x7F)
goto yy510;
goto yy512;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
if (yych <= 0xEC)
goto yy516;
goto yy517;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy526:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xC1) {
if (yych <= 'Q') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= 'q') {
if (yych <= 'R')
goto yy530;
goto yy510;
} else {
if (yych <= 'r')
goto yy530;
if (yych <= 0x7F)
goto yy510;
goto yy512;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
if (yych <= 0xEC)
goto yy516;
goto yy517;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy527:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xC1) {
if (yych <= 'X') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= 'x') {
if (yych <= 'Y')
goto yy531;
goto yy510;
} else {
if (yych <= 'y')
goto yy531;
if (yych <= 0x7F)
goto yy510;
goto yy512;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
if (yych <= 0xEC)
goto yy516;
goto yy517;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy528:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xC1) {
if (yych <= 'W') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= 'w') {
if (yych <= 'X')
goto yy532;
goto yy510;
} else {
if (yych <= 'x')
goto yy532;
if (yych <= 0x7F)
goto yy510;
goto yy512;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
if (yych <= 0xEC)
goto yy516;
goto yy517;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy529:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xDF) {
if (yych <= '=') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= '>')
goto yy533;
if (yych <= 0x7F)
goto yy510;
if (yych <= 0xC1)
goto yy512;
goto yy514;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0)
goto yy515;
if (yych == 0xED)
goto yy517;
goto yy516;
} else {
if (yych <= 0xF0)
goto yy518;
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
yy530:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xC1) {
if (yych <= 'H') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= 'h') {
if (yych <= 'I')
goto yy535;
goto yy510;
} else {
if (yych <= 'i')
goto yy535;
if (yych <= 0x7F)
goto yy510;
goto yy512;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
if (yych <= 0xEC)
goto yy516;
goto yy517;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy531:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xC1) {
if (yych <= 'K') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= 'k') {
if (yych <= 'L')
goto yy525;
goto yy510;
} else {
if (yych <= 'l')
goto yy525;
if (yych <= 0x7F)
goto yy510;
goto yy512;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
if (yych <= 0xEC)
goto yy516;
goto yy517;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy532:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xC1) {
if (yych <= 'S') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= 's') {
if (yych <= 'T')
goto yy536;
goto yy510;
} else {
if (yych <= 't')
goto yy536;
if (yych <= 0x7F)
goto yy510;
goto yy512;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
if (yych <= 0xEC)
goto yy516;
goto yy517;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy533:
yyaccept = 1;
yych = *(marker = ++p);
if (yybm[0 + yych] & 64) {
goto yy510;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= '\n')
goto yy534;
if (yych <= '<')
goto yy513;
} else {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
goto yy516;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy517;
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
}
}
yy534 : { return (bufsize_t)(p - start); }
yy535:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xC1) {
if (yych <= 'O') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= 'o') {
if (yych <= 'P')
goto yy537;
goto yy510;
} else {
if (yych <= 'p')
goto yy537;
if (yych <= 0x7F)
goto yy510;
goto yy512;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
if (yych <= 0xEC)
goto yy516;
goto yy517;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy536:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xC1) {
if (yych <= '@') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= '`') {
if (yych <= 'A')
goto yy538;
goto yy510;
} else {
if (yych <= 'a')
goto yy538;
if (yych <= 0x7F)
goto yy510;
goto yy512;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
if (yych <= 0xEC)
goto yy516;
goto yy517;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy537:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xC1) {
if (yych <= 'S') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= 's') {
if (yych <= 'T')
goto yy529;
goto yy510;
} else {
if (yych <= 't')
goto yy529;
if (yych <= 0x7F)
goto yy510;
goto yy512;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
if (yych <= 0xEC)
goto yy516;
goto yy517;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy538:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xC1) {
if (yych <= 'Q') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= 'q') {
if (yych >= 'S')
goto yy510;
} else {
if (yych <= 'r')
goto yy539;
if (yych <= 0x7F)
goto yy510;
goto yy512;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
if (yych <= 0xEC)
goto yy516;
goto yy517;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy539:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xC1) {
if (yych <= 'D') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= 'd') {
if (yych >= 'F')
goto yy510;
} else {
if (yych <= 'e')
goto yy540;
if (yych <= 0x7F)
goto yy510;
goto yy512;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
if (yych <= 0xEC)
goto yy516;
goto yy517;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
yy540:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy513;
}
if (yych <= 0xC1) {
if (yych <= '@') {
if (yych <= 0x00)
goto yy512;
if (yych == '\n')
goto yy512;
goto yy510;
} else {
if (yych <= '`') {
if (yych <= 'A')
goto yy529;
goto yy510;
} else {
if (yych <= 'a')
goto yy529;
if (yych <= 0x7F)
goto yy510;
goto yy512;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
goto yy514;
if (yych <= 0xE0)
goto yy515;
if (yych <= 0xEC)
goto yy516;
goto yy517;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
goto yy516;
goto yy518;
} else {
if (yych <= 0xF3)
goto yy519;
if (yych <= 0xF4)
goto yy520;
goto yy512;
}
}
}
}
}
// 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 yy542;
if (yych != '\n')
goto yy544;
} else {
if (yych <= '-')
goto yy545;
if (yych <= 0x7F)
goto yy544;
if (yych >= 0xC2)
goto yy546;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0)
goto yy547;
if (yych == 0xED)
goto yy549;
goto yy548;
} else {
if (yych <= 0xF0)
goto yy550;
if (yych <= 0xF3)
goto yy551;
if (yych <= 0xF4)
goto yy552;
}
}
yy542:
++p;
yy543 : { return 0; }
yy544:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= '\n') {
if (yych <= 0x00)
goto yy543;
if (yych <= '\t')
goto yy554;
goto yy543;
} else {
if (yych <= 0x7F)
goto yy554;
if (yych <= 0xC1)
goto yy543;
if (yych <= 0xF4)
goto yy554;
goto yy543;
}
yy545:
yyaccept = 0;
yych = *(marker = ++p);
if (yybm[0 + yych] & 128) {
goto yy564;
}
if (yych <= '\n') {
if (yych <= 0x00)
goto yy543;
if (yych <= '\t')
goto yy554;
goto yy543;
} else {
if (yych <= 0x7F)
goto yy554;
if (yych <= 0xC1)
goto yy543;
if (yych <= 0xF4)
goto yy554;
goto yy543;
}
yy546:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy543;
if (yych <= 0xBF)
goto yy553;
goto yy543;
yy547:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x9F)
goto yy543;
if (yych <= 0xBF)
goto yy557;
goto yy543;
yy548:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy543;
if (yych <= 0xBF)
goto yy557;
goto yy543;
yy549:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy543;
if (yych <= 0x9F)
goto yy557;
goto yy543;
yy550:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x8F)
goto yy543;
if (yych <= 0xBF)
goto yy559;
goto yy543;
yy551:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy543;
if (yych <= 0xBF)
goto yy559;
goto yy543;
yy552:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy543;
if (yych <= 0x8F)
goto yy559;
goto yy543;
yy553:
yych = *++p;
yy554:
if (yybm[0 + yych] & 64) {
goto yy553;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= '\n')
goto yy555;
if (yych <= '-')
goto yy556;
} else {
if (yych <= 0xDF)
goto yy557;
if (yych <= 0xE0)
goto yy558;
goto yy559;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy560;
if (yych <= 0xEF)
goto yy559;
goto yy561;
} else {
if (yych <= 0xF3)
goto yy562;
if (yych <= 0xF4)
goto yy563;
}
}
yy555:
p = marker;
if (yyaccept == 0) {
goto yy543;
} else {
goto yy566;
}
yy556:
yych = *++p;
if (yybm[0 + yych] & 64) {
goto yy553;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= '\n')
goto yy555;
if (yych <= '-')
goto yy564;
goto yy555;
} else {
if (yych <= 0xDF)
goto yy557;
if (yych <= 0xE0)
goto yy558;
goto yy559;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy560;
if (yych <= 0xEF)
goto yy559;
goto yy561;
} else {
if (yych <= 0xF3)
goto yy562;
if (yych <= 0xF4)
goto yy563;
goto yy555;
}
}
yy557:
yych = *++p;
if (yych <= 0x7F)
goto yy555;
if (yych <= 0xBF)
goto yy553;
goto yy555;
yy558:
yych = *++p;
if (yych <= 0x9F)
goto yy555;
if (yych <= 0xBF)
goto yy557;
goto yy555;
yy559:
yych = *++p;
if (yych <= 0x7F)
goto yy555;
if (yych <= 0xBF)
goto yy557;
goto yy555;
yy560:
yych = *++p;
if (yych <= 0x7F)
goto yy555;
if (yych <= 0x9F)
goto yy557;
goto yy555;
yy561:
yych = *++p;
if (yych <= 0x8F)
goto yy555;
if (yych <= 0xBF)
goto yy559;
goto yy555;
yy562:
yych = *++p;
if (yych <= 0x7F)
goto yy555;
if (yych <= 0xBF)
goto yy559;
goto yy555;
yy563:
yych = *++p;
if (yych <= 0x7F)
goto yy555;
if (yych <= 0x8F)
goto yy559;
goto yy555;
yy564:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy564;
}
if (yych <= 0xDF) {
if (yych <= '=') {
if (yych <= 0x00)
goto yy555;
if (yych == '\n')
goto yy555;
goto yy553;
} else {
if (yych <= '>')
goto yy565;
if (yych <= 0x7F)
goto yy553;
if (yych <= 0xC1)
goto yy555;
goto yy557;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0)
goto yy558;
if (yych == 0xED)
goto yy560;
goto yy559;
} else {
if (yych <= 0xF0)
goto yy561;
if (yych <= 0xF3)
goto yy562;
if (yych <= 0xF4)
goto yy563;
goto yy555;
}
}
yy565:
yyaccept = 1;
yych = *(marker = ++p);
if (yybm[0 + yych] & 64) {
goto yy553;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= '\n')
goto yy566;
if (yych <= '-')
goto yy556;
} else {
if (yych <= 0xDF)
goto yy557;
if (yych <= 0xE0)
goto yy558;
goto yy559;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy560;
if (yych <= 0xEF)
goto yy559;
goto yy561;
} else {
if (yych <= 0xF3)
goto yy562;
if (yych <= 0xF4)
goto yy563;
}
}
yy566 : { 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 yy568;
if (yych != '\n')
goto yy570;
} else {
if (yych <= '?')
goto yy571;
if (yych <= 0x7F)
goto yy570;
if (yych >= 0xC2)
goto yy572;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0)
goto yy573;
if (yych == 0xED)
goto yy575;
goto yy574;
} else {
if (yych <= 0xF0)
goto yy576;
if (yych <= 0xF3)
goto yy577;
if (yych <= 0xF4)
goto yy578;
}
}
yy568:
++p;
yy569 : { return 0; }
yy570:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= '\n') {
if (yych <= 0x00)
goto yy569;
if (yych <= '\t')
goto yy580;
goto yy569;
} else {
if (yych <= 0x7F)
goto yy580;
if (yych <= 0xC1)
goto yy569;
if (yych <= 0xF4)
goto yy580;
goto yy569;
}
yy571:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= '=') {
if (yych <= 0x00)
goto yy569;
if (yych == '\n')
goto yy569;
goto yy580;
} else {
if (yych <= 0x7F) {
if (yych <= '>')
goto yy590;
goto yy580;
} else {
if (yych <= 0xC1)
goto yy569;
if (yych <= 0xF4)
goto yy580;
goto yy569;
}
}
yy572:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy569;
if (yych <= 0xBF)
goto yy579;
goto yy569;
yy573:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x9F)
goto yy569;
if (yych <= 0xBF)
goto yy583;
goto yy569;
yy574:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy569;
if (yych <= 0xBF)
goto yy583;
goto yy569;
yy575:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy569;
if (yych <= 0x9F)
goto yy583;
goto yy569;
yy576:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x8F)
goto yy569;
if (yych <= 0xBF)
goto yy585;
goto yy569;
yy577:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy569;
if (yych <= 0xBF)
goto yy585;
goto yy569;
yy578:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy569;
if (yych <= 0x8F)
goto yy585;
goto yy569;
yy579:
yych = *++p;
yy580:
if (yybm[0 + yych] & 64) {
goto yy579;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= '\n')
goto yy581;
if (yych <= '?')
goto yy582;
} else {
if (yych <= 0xDF)
goto yy583;
if (yych <= 0xE0)
goto yy584;
goto yy585;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy586;
if (yych <= 0xEF)
goto yy585;
goto yy587;
} else {
if (yych <= 0xF3)
goto yy588;
if (yych <= 0xF4)
goto yy589;
}
}
yy581:
p = marker;
if (yyaccept == 0) {
goto yy569;
} else {
goto yy591;
}
yy582:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy582;
}
if (yych <= 0xDF) {
if (yych <= '=') {
if (yych <= 0x00)
goto yy581;
if (yych == '\n')
goto yy581;
goto yy579;
} else {
if (yych <= '>')
goto yy590;
if (yych <= 0x7F)
goto yy579;
if (yych <= 0xC1)
goto yy581;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0)
goto yy584;
if (yych == 0xED)
goto yy586;
goto yy585;
} else {
if (yych <= 0xF0)
goto yy587;
if (yych <= 0xF3)
goto yy588;
if (yych <= 0xF4)
goto yy589;
goto yy581;
}
}
yy583:
yych = *++p;
if (yych <= 0x7F)
goto yy581;
if (yych <= 0xBF)
goto yy579;
goto yy581;
yy584:
yych = *++p;
if (yych <= 0x9F)
goto yy581;
if (yych <= 0xBF)
goto yy583;
goto yy581;
yy585:
yych = *++p;
if (yych <= 0x7F)
goto yy581;
if (yych <= 0xBF)
goto yy583;
goto yy581;
yy586:
yych = *++p;
if (yych <= 0x7F)
goto yy581;
if (yych <= 0x9F)
goto yy583;
goto yy581;
yy587:
yych = *++p;
if (yych <= 0x8F)
goto yy581;
if (yych <= 0xBF)
goto yy585;
goto yy581;
yy588:
yych = *++p;
if (yych <= 0x7F)
goto yy581;
if (yych <= 0xBF)
goto yy585;
goto yy581;
yy589:
yych = *++p;
if (yych <= 0x7F)
goto yy581;
if (yych <= 0x8F)
goto yy585;
goto yy581;
yy590:
yyaccept = 1;
yych = *(marker = ++p);
if (yybm[0 + yych] & 64) {
goto yy579;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= '\n')
goto yy591;
if (yych <= '?')
goto yy582;
} else {
if (yych <= 0xDF)
goto yy583;
if (yych <= 0xE0)
goto yy584;
goto yy585;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy586;
if (yych <= 0xEF)
goto yy585;
goto yy587;
} else {
if (yych <= 0xF3)
goto yy588;
if (yych <= 0xF4)
goto yy589;
}
}
yy591 : { 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 yy596;
}
if (yych <= 0xE0) {
if (yych <= '\n') {
if (yych <= 0x00)
goto yy593;
if (yych <= '\t')
goto yy595;
} else {
if (yych <= 0x7F)
goto yy595;
if (yych <= 0xC1)
goto yy593;
if (yych <= 0xDF)
goto yy598;
goto yy599;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy601;
goto yy600;
} else {
if (yych <= 0xF0)
goto yy602;
if (yych <= 0xF3)
goto yy603;
if (yych <= 0xF4)
goto yy604;
}
}
yy593:
++p;
yy594 : { return 0; }
yy595:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= '\n') {
if (yych <= 0x00)
goto yy594;
if (yych <= '\t')
goto yy606;
goto yy594;
} else {
if (yych <= 0x7F)
goto yy606;
if (yych <= 0xC1)
goto yy594;
if (yych <= 0xF4)
goto yy606;
goto yy594;
}
yy596:
yyaccept = 1;
yych = *(marker = ++p);
if (yybm[0 + yych] & 128) {
goto yy605;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= '\n')
goto yy597;
if (yych <= '>')
goto yy596;
} else {
if (yych <= 0xDF)
goto yy608;
if (yych <= 0xE0)
goto yy609;
goto yy610;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy611;
if (yych <= 0xEF)
goto yy610;
goto yy612;
} else {
if (yych <= 0xF3)
goto yy613;
if (yych <= 0xF4)
goto yy614;
}
}
yy597 : { return (bufsize_t)(p - start); }
yy598:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy594;
if (yych <= 0xBF)
goto yy605;
goto yy594;
yy599:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x9F)
goto yy594;
if (yych <= 0xBF)
goto yy608;
goto yy594;
yy600:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy594;
if (yych <= 0xBF)
goto yy608;
goto yy594;
yy601:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy594;
if (yych <= 0x9F)
goto yy608;
goto yy594;
yy602:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x8F)
goto yy594;
if (yych <= 0xBF)
goto yy610;
goto yy594;
yy603:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy594;
if (yych <= 0xBF)
goto yy610;
goto yy594;
yy604:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy594;
if (yych <= 0x8F)
goto yy610;
goto yy594;
yy605:
yych = *++p;
yy606:
if (yybm[0 + yych] & 128) {
goto yy605;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= '\n')
goto yy607;
if (yych <= '>')
goto yy596;
} else {
if (yych <= 0xDF)
goto yy608;
if (yych <= 0xE0)
goto yy609;
goto yy610;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy611;
if (yych <= 0xEF)
goto yy610;
goto yy612;
} else {
if (yych <= 0xF3)
goto yy613;
if (yych <= 0xF4)
goto yy614;
}
}
yy607:
p = marker;
if (yyaccept == 0) {
goto yy594;
} else {
goto yy597;
}
yy608:
yych = *++p;
if (yych <= 0x7F)
goto yy607;
if (yych <= 0xBF)
goto yy605;
goto yy607;
yy609:
yych = *++p;
if (yych <= 0x9F)
goto yy607;
if (yych <= 0xBF)
goto yy608;
goto yy607;
yy610:
yych = *++p;
if (yych <= 0x7F)
goto yy607;
if (yych <= 0xBF)
goto yy608;
goto yy607;
yy611:
yych = *++p;
if (yych <= 0x7F)
goto yy607;
if (yych <= 0x9F)
goto yy608;
goto yy607;
yy612:
yych = *++p;
if (yych <= 0x8F)
goto yy607;
if (yych <= 0xBF)
goto yy610;
goto yy607;
yy613:
yych = *++p;
if (yych <= 0x7F)
goto yy607;
if (yych <= 0xBF)
goto yy610;
goto yy607;
yy614:
yych = *++p;
if (yych <= 0x7F)
goto yy607;
if (yych <= 0x8F)
goto yy610;
goto yy607;
}
}
// 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 yy616;
if (yych != '\n')
goto yy618;
} else {
if (yych <= ']')
goto yy619;
if (yych <= 0x7F)
goto yy618;
if (yych >= 0xC2)
goto yy620;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0)
goto yy621;
if (yych == 0xED)
goto yy623;
goto yy622;
} else {
if (yych <= 0xF0)
goto yy624;
if (yych <= 0xF3)
goto yy625;
if (yych <= 0xF4)
goto yy626;
}
}
yy616:
++p;
yy617 : { return 0; }
yy618:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= '\n') {
if (yych <= 0x00)
goto yy617;
if (yych <= '\t')
goto yy628;
goto yy617;
} else {
if (yych <= 0x7F)
goto yy628;
if (yych <= 0xC1)
goto yy617;
if (yych <= 0xF4)
goto yy628;
goto yy617;
}
yy619:
yyaccept = 0;
yych = *(marker = ++p);
if (yybm[0 + yych] & 128) {
goto yy638;
}
if (yych <= '\n') {
if (yych <= 0x00)
goto yy617;
if (yych <= '\t')
goto yy628;
goto yy617;
} else {
if (yych <= 0x7F)
goto yy628;
if (yych <= 0xC1)
goto yy617;
if (yych <= 0xF4)
goto yy628;
goto yy617;
}
yy620:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy617;
if (yych <= 0xBF)
goto yy627;
goto yy617;
yy621:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x9F)
goto yy617;
if (yych <= 0xBF)
goto yy631;
goto yy617;
yy622:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy617;
if (yych <= 0xBF)
goto yy631;
goto yy617;
yy623:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy617;
if (yych <= 0x9F)
goto yy631;
goto yy617;
yy624:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x8F)
goto yy617;
if (yych <= 0xBF)
goto yy633;
goto yy617;
yy625:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy617;
if (yych <= 0xBF)
goto yy633;
goto yy617;
yy626:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x7F)
goto yy617;
if (yych <= 0x8F)
goto yy633;
goto yy617;
yy627:
yych = *++p;
yy628:
if (yybm[0 + yych] & 64) {
goto yy627;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= '\n')
goto yy629;
if (yych <= ']')
goto yy630;
} else {
if (yych <= 0xDF)
goto yy631;
if (yych <= 0xE0)
goto yy632;
goto yy633;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy634;
if (yych <= 0xEF)
goto yy633;
goto yy635;
} else {
if (yych <= 0xF3)
goto yy636;
if (yych <= 0xF4)
goto yy637;
}
}
yy629:
p = marker;
if (yyaccept == 0) {
goto yy617;
} else {
goto yy640;
}
yy630:
yych = *++p;
if (yybm[0 + yych] & 64) {
goto yy627;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= '\n')
goto yy629;
if (yych <= ']')
goto yy638;
goto yy629;
} else {
if (yych <= 0xDF)
goto yy631;
if (yych <= 0xE0)
goto yy632;
goto yy633;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy634;
if (yych <= 0xEF)
goto yy633;
goto yy635;
} else {
if (yych <= 0xF3)
goto yy636;
if (yych <= 0xF4)
goto yy637;
goto yy629;
}
}
yy631:
yych = *++p;
if (yych <= 0x7F)
goto yy629;
if (yych <= 0xBF)
goto yy627;
goto yy629;
yy632:
yych = *++p;
if (yych <= 0x9F)
goto yy629;
if (yych <= 0xBF)
goto yy631;
goto yy629;
yy633:
yych = *++p;
if (yych <= 0x7F)
goto yy629;
if (yych <= 0xBF)
goto yy631;
goto yy629;
yy634:
yych = *++p;
if (yych <= 0x7F)
goto yy629;
if (yych <= 0x9F)
goto yy631;
goto yy629;
yy635:
yych = *++p;
if (yych <= 0x8F)
goto yy629;
if (yych <= 0xBF)
goto yy633;
goto yy629;
yy636:
yych = *++p;
if (yych <= 0x7F)
goto yy629;
if (yych <= 0xBF)
goto yy633;
goto yy629;
yy637:
yych = *++p;
if (yych <= 0x7F)
goto yy629;
if (yych <= 0x8F)
goto yy633;
goto yy629;
yy638:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy638;
}
if (yych <= 0xDF) {
if (yych <= '=') {
if (yych <= 0x00)
goto yy629;
if (yych == '\n')
goto yy629;
goto yy627;
} else {
if (yych <= '>')
goto yy639;
if (yych <= 0x7F)
goto yy627;
if (yych <= 0xC1)
goto yy629;
goto yy631;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0)
goto yy632;
if (yych == 0xED)
goto yy634;
goto yy633;
} else {
if (yych <= 0xF0)
goto yy635;
if (yych <= 0xF3)
goto yy636;
if (yych <= 0xF4)
goto yy637;
goto yy629;
}
}
yy639:
yyaccept = 1;
yych = *(marker = ++p);
if (yybm[0 + yych] & 64) {
goto yy627;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= '\n')
goto yy640;
if (yych <= ']')
goto yy630;
} else {
if (yych <= 0xDF)
goto yy631;
if (yych <= 0xE0)
goto yy632;
goto yy633;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy634;
if (yych <= 0xEF)
goto yy633;
goto yy635;
} else {
if (yych <= 0xF3)
goto yy636;
if (yych <= 0xF4)
goto yy637;
}
}
yy640 : { return (bufsize_t)(p - start); }
}
}
// Try to match a link title (in single quotes, in double quotes, or
// in parentheses), returning number of chars matched. Allow one
// level of internal nesting (quotes within quotes).
bufsize_t _scan_link_title(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
{
unsigned char yych;
unsigned int yyaccept = 0;
static const unsigned char yybm[] = {
0, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 192, 208, 208, 208, 208, 144, 80, 80,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 32, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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 yy643;
} else {
if (yych <= '\'')
goto yy644;
if (yych <= '(')
goto yy645;
}
++p;
yy642 : { return 0; }
yy643:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x00)
goto yy642;
if (yych <= 0x7F)
goto yy647;
if (yych <= 0xC1)
goto yy642;
if (yych <= 0xF4)
goto yy647;
goto yy642;
yy644:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x00)
goto yy642;
if (yych <= 0x7F)
goto yy660;
if (yych <= 0xC1)
goto yy642;
if (yych <= 0xF4)
goto yy660;
goto yy642;
yy645:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= '(') {
if (yych <= 0x00)
goto yy642;
if (yych <= '\'')
goto yy672;
goto yy642;
} else {
if (yych <= 0x7F)
goto yy672;
if (yych <= 0xC1)
goto yy642;
if (yych <= 0xF4)
goto yy672;
goto yy642;
}
yy646:
yych = *++p;
yy647:
if (yybm[0 + yych] & 16) {
goto yy646;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
goto yy648;
if (yych <= '"')
goto yy649;
goto yy651;
} else {
if (yych <= 0xC1)
goto yy648;
if (yych <= 0xDF)
goto yy652;
goto yy653;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy655;
goto yy654;
} else {
if (yych <= 0xF0)
goto yy656;
if (yych <= 0xF3)
goto yy657;
if (yych <= 0xF4)
goto yy658;
}
}
yy648:
p = marker;
if (yyaccept <= 1) {
if (yyaccept == 0) {
goto yy642;
} else {
goto yy650;
}
} else {
if (yyaccept == 2) {
goto yy662;
} else {
goto yy674;
}
}
yy649:
++p;
yy650 : { return (bufsize_t)(p - start); }
yy651:
yych = *++p;
if (yybm[0 + yych] & 16) {
goto yy646;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
goto yy648;
if (yych <= '"')
goto yy683;
goto yy651;
} else {
if (yych <= 0xC1)
goto yy648;
if (yych >= 0xE0)
goto yy653;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy655;
goto yy654;
} else {
if (yych <= 0xF0)
goto yy656;
if (yych <= 0xF3)
goto yy657;
if (yych <= 0xF4)
goto yy658;
goto yy648;
}
}
yy652:
yych = *++p;
if (yych <= 0x7F)
goto yy648;
if (yych <= 0xBF)
goto yy646;
goto yy648;
yy653:
yych = *++p;
if (yych <= 0x9F)
goto yy648;
if (yych <= 0xBF)
goto yy652;
goto yy648;
yy654:
yych = *++p;
if (yych <= 0x7F)
goto yy648;
if (yych <= 0xBF)
goto yy652;
goto yy648;
yy655:
yych = *++p;
if (yych <= 0x7F)
goto yy648;
if (yych <= 0x9F)
goto yy652;
goto yy648;
yy656:
yych = *++p;
if (yych <= 0x8F)
goto yy648;
if (yych <= 0xBF)
goto yy654;
goto yy648;
yy657:
yych = *++p;
if (yych <= 0x7F)
goto yy648;
if (yych <= 0xBF)
goto yy654;
goto yy648;
yy658:
yych = *++p;
if (yych <= 0x7F)
goto yy648;
if (yych <= 0x8F)
goto yy654;
goto yy648;
yy659:
yych = *++p;
yy660:
if (yybm[0 + yych] & 64) {
goto yy659;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
goto yy648;
if (yych >= '(')
goto yy663;
} else {
if (yych <= 0xC1)
goto yy648;
if (yych <= 0xDF)
goto yy664;
goto yy665;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy667;
goto yy666;
} else {
if (yych <= 0xF0)
goto yy668;
if (yych <= 0xF3)
goto yy669;
if (yych <= 0xF4)
goto yy670;
goto yy648;
}
}
yy661:
++p;
yy662 : { return (bufsize_t)(p - start); }
yy663:
yych = *++p;
if (yybm[0 + yych] & 64) {
goto yy659;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
goto yy648;
if (yych <= '\'')
goto yy684;
goto yy663;
} else {
if (yych <= 0xC1)
goto yy648;
if (yych >= 0xE0)
goto yy665;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy667;
goto yy666;
} else {
if (yych <= 0xF0)
goto yy668;
if (yych <= 0xF3)
goto yy669;
if (yych <= 0xF4)
goto yy670;
goto yy648;
}
}
yy664:
yych = *++p;
if (yych <= 0x7F)
goto yy648;
if (yych <= 0xBF)
goto yy659;
goto yy648;
yy665:
yych = *++p;
if (yych <= 0x9F)
goto yy648;
if (yych <= 0xBF)
goto yy664;
goto yy648;
yy666:
yych = *++p;
if (yych <= 0x7F)
goto yy648;
if (yych <= 0xBF)
goto yy664;
goto yy648;
yy667:
yych = *++p;
if (yych <= 0x7F)
goto yy648;
if (yych <= 0x9F)
goto yy664;
goto yy648;
yy668:
yych = *++p;
if (yych <= 0x8F)
goto yy648;
if (yych <= 0xBF)
goto yy666;
goto yy648;
yy669:
yych = *++p;
if (yych <= 0x7F)
goto yy648;
if (yych <= 0xBF)
goto yy666;
goto yy648;
yy670:
yych = *++p;
if (yych <= 0x7F)
goto yy648;
if (yych <= 0x8F)
goto yy666;
goto yy648;
yy671:
yych = *++p;
yy672:
if (yybm[0 + yych] & 128) {
goto yy671;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= '(')
goto yy648;
if (yych >= '*')
goto yy675;
} else {
if (yych <= 0xC1)
goto yy648;
if (yych <= 0xDF)
goto yy676;
goto yy677;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy679;
goto yy678;
} else {
if (yych <= 0xF0)
goto yy680;
if (yych <= 0xF3)
goto yy681;
if (yych <= 0xF4)
goto yy682;
goto yy648;
}
}
yy673:
++p;
yy674 : { return (bufsize_t)(p - start); }
yy675:
yych = *++p;
if (yych <= 0xDF) {
if (yych <= '[') {
if (yych <= 0x00)
goto yy648;
if (yych == ')')
goto yy685;
goto yy671;
} else {
if (yych <= '\\')
goto yy675;
if (yych <= 0x7F)
goto yy671;
if (yych <= 0xC1)
goto yy648;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0)
goto yy677;
if (yych == 0xED)
goto yy679;
goto yy678;
} else {
if (yych <= 0xF0)
goto yy680;
if (yych <= 0xF3)
goto yy681;
if (yych <= 0xF4)
goto yy682;
goto yy648;
}
}
yy676:
yych = *++p;
if (yych <= 0x7F)
goto yy648;
if (yych <= 0xBF)
goto yy671;
goto yy648;
yy677:
yych = *++p;
if (yych <= 0x9F)
goto yy648;
if (yych <= 0xBF)
goto yy676;
goto yy648;
yy678:
yych = *++p;
if (yych <= 0x7F)
goto yy648;
if (yych <= 0xBF)
goto yy676;
goto yy648;
yy679:
yych = *++p;
if (yych <= 0x7F)
goto yy648;
if (yych <= 0x9F)
goto yy676;
goto yy648;
yy680:
yych = *++p;
if (yych <= 0x8F)
goto yy648;
if (yych <= 0xBF)
goto yy678;
goto yy648;
yy681:
yych = *++p;
if (yych <= 0x7F)
goto yy648;
if (yych <= 0xBF)
goto yy678;
goto yy648;
yy682:
yych = *++p;
if (yych <= 0x7F)
goto yy648;
if (yych <= 0x8F)
goto yy678;
goto yy648;
yy683:
yyaccept = 1;
yych = *(marker = ++p);
if (yybm[0 + yych] & 16) {
goto yy646;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
goto yy650;
if (yych <= '"')
goto yy649;
goto yy651;
} else {
if (yych <= 0xC1)
goto yy650;
if (yych <= 0xDF)
goto yy652;
goto yy653;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy655;
goto yy654;
} else {
if (yych <= 0xF0)
goto yy656;
if (yych <= 0xF3)
goto yy657;
if (yych <= 0xF4)
goto yy658;
goto yy650;
}
}
yy684:
yyaccept = 2;
yych = *(marker = ++p);
if (yybm[0 + yych] & 64) {
goto yy659;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
goto yy662;
if (yych <= '\'')
goto yy661;
goto yy663;
} else {
if (yych <= 0xC1)
goto yy662;
if (yych <= 0xDF)
goto yy664;
goto yy665;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy667;
goto yy666;
} else {
if (yych <= 0xF0)
goto yy668;
if (yych <= 0xF3)
goto yy669;
if (yych <= 0xF4)
goto yy670;
goto yy662;
}
}
yy685:
yyaccept = 3;
yych = *(marker = ++p);
if (yybm[0 + yych] & 128) {
goto yy671;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= '(')
goto yy674;
if (yych <= ')')
goto yy673;
goto yy675;
} else {
if (yych <= 0xC1)
goto yy674;
if (yych <= 0xDF)
goto yy676;
goto yy677;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy679;
goto yy678;
} else {
if (yych <= 0xF0)
goto yy680;
if (yych <= 0xF3)
goto yy681;
if (yych <= 0xF4)
goto yy682;
goto yy674;
}
}
}
}
// 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 yy687;
}
++p;
{ return 0; }
yy687:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy687;
}
{ 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 yy690;
++p;
yy689 : { return 0; }
yy690:
yych = *(marker = ++p);
if (yybm[0 + yych] & 128) {
goto yy691;
}
if (yych <= '\f') {
if (yych <= 0x08)
goto yy689;
if (yych <= '\n')
goto yy693;
goto yy689;
} else {
if (yych <= '\r')
goto yy693;
if (yych == '#')
goto yy694;
goto yy689;
}
yy691:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy691;
}
yy692 : { return (bufsize_t)(p - start); }
yy693:
++p;
goto yy692;
yy694:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy691;
}
if (yych <= '\f') {
if (yych <= 0x08)
goto yy695;
if (yych <= '\n')
goto yy693;
} else {
if (yych <= '\r')
goto yy693;
if (yych == '#')
goto yy696;
}
yy695:
p = marker;
goto yy689;
yy696:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy691;
}
if (yych <= '\f') {
if (yych <= 0x08)
goto yy695;
if (yych <= '\n')
goto yy693;
goto yy695;
} else {
if (yych <= '\r')
goto yy693;
if (yych != '#')
goto yy695;
}
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy691;
}
if (yych <= '\f') {
if (yych <= 0x08)
goto yy695;
if (yych <= '\n')
goto yy693;
goto yy695;
} else {
if (yych <= '\r')
goto yy693;
if (yych != '#')
goto yy695;
}
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy691;
}
if (yych <= '\f') {
if (yych <= 0x08)
goto yy695;
if (yych <= '\n')
goto yy693;
goto yy695;
} else {
if (yych <= '\r')
goto yy693;
if (yych != '#')
goto yy695;
}
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy691;
}
if (yych <= 0x08)
goto yy695;
if (yych <= '\n')
goto yy693;
if (yych == '\r')
goto yy693;
goto yy695;
}
}
// 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 yy699;
if (yych == '=')
goto yy700;
++p;
yy698 : { return 0; }
yy699:
yych = *(marker = ++p);
if (yybm[0 + yych] & 64) {
goto yy705;
}
if (yych <= '\f') {
if (yych <= 0x08)
goto yy698;
if (yych <= '\n')
goto yy702;
goto yy698;
} else {
if (yych <= '\r')
goto yy702;
if (yych == ' ')
goto yy702;
goto yy698;
}
yy700:
yych = *(marker = ++p);
if (yybm[0 + yych] & 128) {
goto yy709;
}
if (yych <= '\f') {
if (yych <= 0x08)
goto yy698;
if (yych <= '\n')
goto yy707;
goto yy698;
} else {
if (yych <= '\r')
goto yy707;
if (yych == ' ')
goto yy707;
goto yy698;
}
yy701:
yych = *++p;
yy702:
if (yybm[0 + yych] & 32) {
goto yy701;
}
if (yych <= 0x08)
goto yy703;
if (yych <= '\n')
goto yy704;
if (yych == '\r')
goto yy704;
yy703:
p = marker;
goto yy698;
yy704:
++p;
{ return 2; }
yy705:
yych = *++p;
if (yybm[0 + yych] & 32) {
goto yy701;
}
if (yych <= '\f') {
if (yych <= 0x08)
goto yy703;
if (yych <= '\n')
goto yy704;
goto yy703;
} else {
if (yych <= '\r')
goto yy704;
if (yych == '-')
goto yy705;
goto yy703;
}
yy706:
yych = *++p;
yy707:
if (yych <= '\f') {
if (yych <= 0x08)
goto yy703;
if (yych <= '\t')
goto yy706;
if (yych >= '\v')
goto yy703;
} else {
if (yych <= '\r')
goto yy708;
if (yych == ' ')
goto yy706;
goto yy703;
}
yy708:
++p;
{ return 1; }
yy709:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy709;
}
if (yych <= '\f') {
if (yych <= 0x08)
goto yy703;
if (yych <= '\t')
goto yy706;
if (yych <= '\n')
goto yy708;
goto yy703;
} else {
if (yych <= '\r')
goto yy708;
if (yych == ' ')
goto yy706;
goto yy703;
}
}
}
// 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 yy712;
if (yych == '~')
goto yy713;
++p;
yy711 : { return 0; }
yy712:
yych = *(marker = ++p);
if (yych == '`')
goto yy714;
goto yy711;
yy713:
yych = *(marker = ++p);
if (yych == '~')
goto yy716;
goto yy711;
yy714:
yych = *++p;
if (yybm[0 + yych] & 16) {
goto yy717;
}
yy715:
p = marker;
goto yy711;
yy716:
yych = *++p;
if (yybm[0 + yych] & 32) {
goto yy718;
}
goto yy715;
yy717:
yych = *++p;
if (yybm[0 + yych] & 16) {
goto yy717;
}
if (yych <= 0xDF) {
if (yych <= '\f') {
if (yych <= 0x00)
goto yy715;
if (yych == '\n') {
marker = p;
goto yy720;
}
marker = p;
goto yy719;
} else {
if (yych <= '\r') {
marker = p;
goto yy720;
}
if (yych <= 0x7F) {
marker = p;
goto yy719;
}
if (yych <= 0xC1)
goto yy715;
marker = p;
goto yy721;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0) {
marker = p;
goto yy722;
}
if (yych == 0xED) {
marker = p;
goto yy724;
}
marker = p;
goto yy723;
} else {
if (yych <= 0xF0) {
marker = p;
goto yy725;
}
if (yych <= 0xF3) {
marker = p;
goto yy726;
}
if (yych <= 0xF4) {
marker = p;
goto yy727;
}
goto yy715;
}
}
yy718:
yych = *++p;
if (yybm[0 + yych] & 32) {
goto yy718;
}
if (yych <= 0xDF) {
if (yych <= '\f') {
if (yych <= 0x00)
goto yy715;
if (yych == '\n') {
marker = p;
goto yy729;
}
marker = p;
goto yy728;
} else {
if (yych <= '\r') {
marker = p;
goto yy729;
}
if (yych <= 0x7F) {
marker = p;
goto yy728;
}
if (yych <= 0xC1)
goto yy715;
marker = p;
goto yy730;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0) {
marker = p;
goto yy731;
}
if (yych == 0xED) {
marker = p;
goto yy733;
}
marker = p;
goto yy732;
} else {
if (yych <= 0xF0) {
marker = p;
goto yy734;
}
if (yych <= 0xF3) {
marker = p;
goto yy735;
}
if (yych <= 0xF4) {
marker = p;
goto yy736;
}
goto yy715;
}
}
yy719:
yych = *++p;
if (yybm[0 + yych] & 64) {
goto yy719;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
goto yy715;
if (yych >= 0x0E)
goto yy715;
} else {
if (yych <= 0xDF)
goto yy721;
if (yych <= 0xE0)
goto yy722;
goto yy723;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy724;
if (yych <= 0xEF)
goto yy723;
goto yy725;
} else {
if (yych <= 0xF3)
goto yy726;
if (yych <= 0xF4)
goto yy727;
goto yy715;
}
}
yy720:
++p;
p = marker;
{ return (bufsize_t)(p - start); }
yy721:
yych = *++p;
if (yych <= 0x7F)
goto yy715;
if (yych <= 0xBF)
goto yy719;
goto yy715;
yy722:
yych = *++p;
if (yych <= 0x9F)
goto yy715;
if (yych <= 0xBF)
goto yy721;
goto yy715;
yy723:
yych = *++p;
if (yych <= 0x7F)
goto yy715;
if (yych <= 0xBF)
goto yy721;
goto yy715;
yy724:
yych = *++p;
if (yych <= 0x7F)
goto yy715;
if (yych <= 0x9F)
goto yy721;
goto yy715;
yy725:
yych = *++p;
if (yych <= 0x8F)
goto yy715;
if (yych <= 0xBF)
goto yy723;
goto yy715;
yy726:
yych = *++p;
if (yych <= 0x7F)
goto yy715;
if (yych <= 0xBF)
goto yy723;
goto yy715;
yy727:
yych = *++p;
if (yych <= 0x7F)
goto yy715;
if (yych <= 0x8F)
goto yy723;
goto yy715;
yy728:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy728;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
goto yy715;
if (yych >= 0x0E)
goto yy715;
} else {
if (yych <= 0xDF)
goto yy730;
if (yych <= 0xE0)
goto yy731;
goto yy732;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy733;
if (yych <= 0xEF)
goto yy732;
goto yy734;
} else {
if (yych <= 0xF3)
goto yy735;
if (yych <= 0xF4)
goto yy736;
goto yy715;
}
}
yy729:
++p;
p = marker;
{ return (bufsize_t)(p - start); }
yy730:
yych = *++p;
if (yych <= 0x7F)
goto yy715;
if (yych <= 0xBF)
goto yy728;
goto yy715;
yy731:
yych = *++p;
if (yych <= 0x9F)
goto yy715;
if (yych <= 0xBF)
goto yy730;
goto yy715;
yy732:
yych = *++p;
if (yych <= 0x7F)
goto yy715;
if (yych <= 0xBF)
goto yy730;
goto yy715;
yy733:
yych = *++p;
if (yych <= 0x7F)
goto yy715;
if (yych <= 0x9F)
goto yy730;
goto yy715;
yy734:
yych = *++p;
if (yych <= 0x8F)
goto yy715;
if (yych <= 0xBF)
goto yy732;
goto yy715;
yy735:
yych = *++p;
if (yych <= 0x7F)
goto yy715;
if (yych <= 0xBF)
goto yy732;
goto yy715;
yy736:
yych = *++p;
if (yych <= 0x7F)
goto yy715;
if (yych <= 0x8F)
goto yy732;
goto yy715;
}
}
// 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 yy739;
if (yych == '~')
goto yy740;
++p;
yy738 : { return 0; }
yy739:
yych = *(marker = ++p);
if (yych == '`')
goto yy741;
goto yy738;
yy740:
yych = *(marker = ++p);
if (yych == '~')
goto yy743;
goto yy738;
yy741:
yych = *++p;
if (yybm[0 + yych] & 32) {
goto yy744;
}
yy742:
p = marker;
goto yy738;
yy743:
yych = *++p;
if (yybm[0 + yych] & 64) {
goto yy745;
}
goto yy742;
yy744:
yych = *++p;
if (yybm[0 + yych] & 32) {
goto yy744;
}
if (yych <= '\f') {
if (yych <= 0x08)
goto yy742;
if (yych <= '\t') {
marker = p;
goto yy746;
}
if (yych <= '\n') {
marker = p;
goto yy747;
}
goto yy742;
} else {
if (yych <= '\r') {
marker = p;
goto yy747;
}
if (yych == ' ') {
marker = p;
goto yy746;
}
goto yy742;
}
yy745:
yych = *++p;
if (yybm[0 + yych] & 64) {
goto yy745;
}
if (yych <= '\f') {
if (yych <= 0x08)
goto yy742;
if (yych <= '\t') {
marker = p;
goto yy748;
}
if (yych <= '\n') {
marker = p;
goto yy749;
}
goto yy742;
} else {
if (yych <= '\r') {
marker = p;
goto yy749;
}
if (yych == ' ') {
marker = p;
goto yy748;
}
goto yy742;
}
yy746:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy746;
}
if (yych <= 0x08)
goto yy742;
if (yych <= '\n')
goto yy747;
if (yych != '\r')
goto yy742;
yy747:
++p;
p = marker;
{ return (bufsize_t)(p - start); }
yy748:
yych = *++p;
if (yych <= '\f') {
if (yych <= 0x08)
goto yy742;
if (yych <= '\t')
goto yy748;
if (yych >= '\v')
goto yy742;
} else {
if (yych <= '\r')
goto yy749;
if (yych == ' ')
goto yy748;
goto yy742;
}
yy749:
++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 yy752;
++p;
yy751 : { return 0; }
yy752:
yych = *(marker = ++p);
if (yych <= '@') {
if (yych != '#')
goto yy751;
} else {
if (yych <= 'Z')
goto yy754;
if (yych <= '`')
goto yy751;
if (yych <= 'z')
goto yy754;
goto yy751;
}
yych = *++p;
if (yych <= 'W') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy755;
} else {
if (yych <= 'X')
goto yy756;
if (yych == 'x')
goto yy756;
}
yy753:
p = marker;
goto yy751;
yy754:
yych = *++p;
if (yych <= '@') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy757;
goto yy753;
} else {
if (yych <= 'Z')
goto yy757;
if (yych <= '`')
goto yy753;
if (yych <= 'z')
goto yy757;
goto yy753;
}
yy755:
yych = *++p;
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy758;
if (yych == ';')
goto yy759;
goto yy753;
yy756:
yych = *++p;
if (yych <= '@') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy760;
goto yy753;
} else {
if (yych <= 'F')
goto yy760;
if (yych <= '`')
goto yy753;
if (yych <= 'f')
goto yy760;
goto yy753;
}
yy757:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy761;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
goto yy761;
} else {
if (yych <= '`')
goto yy753;
if (yych <= 'z')
goto yy761;
goto yy753;
}
}
yy758:
yych = *++p;
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy762;
if (yych != ';')
goto yy753;
yy759:
++p;
{ return (bufsize_t)(p - start); }
yy760:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy763;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'F') {
if (yych <= '@')
goto yy753;
goto yy763;
} else {
if (yych <= '`')
goto yy753;
if (yych <= 'f')
goto yy763;
goto yy753;
}
}
yy761:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy764;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
goto yy764;
} else {
if (yych <= '`')
goto yy753;
if (yych <= 'z')
goto yy764;
goto yy753;
}
}
yy762:
yych = *++p;
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy765;
if (yych == ';')
goto yy759;
goto yy753;
yy763:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy766;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'F') {
if (yych <= '@')
goto yy753;
goto yy766;
} else {
if (yych <= '`')
goto yy753;
if (yych <= 'f')
goto yy766;
goto yy753;
}
}
yy764:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy767;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
goto yy767;
} else {
if (yych <= '`')
goto yy753;
if (yych <= 'z')
goto yy767;
goto yy753;
}
}
yy765:
yych = *++p;
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy768;
if (yych == ';')
goto yy759;
goto yy753;
yy766:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy769;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'F') {
if (yych <= '@')
goto yy753;
goto yy769;
} else {
if (yych <= '`')
goto yy753;
if (yych <= 'f')
goto yy769;
goto yy753;
}
}
yy767:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy770;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
goto yy770;
} else {
if (yych <= '`')
goto yy753;
if (yych <= 'z')
goto yy770;
goto yy753;
}
}
yy768:
yych = *++p;
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy771;
if (yych == ';')
goto yy759;
goto yy753;
yy769:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy772;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'F') {
if (yych <= '@')
goto yy753;
goto yy772;
} else {
if (yych <= '`')
goto yy753;
if (yych <= 'f')
goto yy772;
goto yy753;
}
}
yy770:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy773;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
goto yy773;
} else {
if (yych <= '`')
goto yy753;
if (yych <= 'z')
goto yy773;
goto yy753;
}
}
yy771:
yych = *++p;
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy774;
if (yych == ';')
goto yy759;
goto yy753;
yy772:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy774;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'F') {
if (yych <= '@')
goto yy753;
goto yy774;
} else {
if (yych <= '`')
goto yy753;
if (yych <= 'f')
goto yy774;
goto yy753;
}
}
yy773:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy775;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
goto yy775;
} else {
if (yych <= '`')
goto yy753;
if (yych <= 'z')
goto yy775;
goto yy753;
}
}
yy774:
yych = *++p;
if (yych == ';')
goto yy759;
goto yy753;
yy775:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy776;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy776:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy777;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy777:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy778;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy778:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy779;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy779:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy780;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy780:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy781;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy781:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy782;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy782:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy783;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy783:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy784;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy784:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy785;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy785:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy786;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy786:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy787;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy787:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy788;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy788:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy789;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy789:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy790;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy790:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy791;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy791:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy792;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy792:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy793;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy793:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy794;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy794:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy795;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy795:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy796;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy796:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy797;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy797:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy798;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
} else {
if (yych <= '`')
goto yy753;
if (yych >= '{')
goto yy753;
}
}
yy798:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
goto yy753;
if (yych <= '9')
goto yy774;
if (yych <= ':')
goto yy753;
goto yy759;
} else {
if (yych <= 'Z') {
if (yych <= '@')
goto yy753;
goto yy774;
} else {
if (yych <= '`')
goto yy753;
if (yych <= 'z')
goto yy774;
goto yy753;
}
}
}
}
// 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 yy801;
if (yych >= 'F')
goto yy802;
} else {
if (yych == 'J')
goto yy803;
if (yych >= 'V')
goto yy804;
}
} else {
if (yych <= 'f') {
if (yych == 'd')
goto yy801;
if (yych >= 'f')
goto yy802;
} else {
if (yych <= 'j') {
if (yych >= 'j')
goto yy803;
} else {
if (yych == 'v')
goto yy804;
}
}
}
++p;
yy800 : { return 0; }
yy801:
yyaccept = 0;
yych = *(marker = ++p);
if (yych == 'A')
goto yy805;
if (yych == 'a')
goto yy805;
goto yy800;
yy802:
yyaccept = 0;
yych = *(marker = ++p);
if (yych == 'I')
goto yy807;
if (yych == 'i')
goto yy807;
goto yy800;
yy803:
yyaccept = 0;
yych = *(marker = ++p);
if (yych == 'A')
goto yy808;
if (yych == 'a')
goto yy808;
goto yy800;
yy804:
yyaccept = 0;
yych = *(marker = ++p);
if (yych == 'B')
goto yy809;
if (yych == 'b')
goto yy809;
goto yy800;
yy805:
yych = *++p;
if (yych == 'T')
goto yy810;
if (yych == 't')
goto yy810;
yy806:
p = marker;
if (yyaccept == 0) {
goto yy800;
} else {
goto yy818;
}
yy807:
yych = *++p;
if (yych == 'L')
goto yy811;
if (yych == 'l')
goto yy811;
goto yy806;
yy808:
yych = *++p;
if (yych == 'V')
goto yy812;
if (yych == 'v')
goto yy812;
goto yy806;
yy809:
yych = *++p;
if (yych == 'S')
goto yy813;
if (yych == 's')
goto yy813;
goto yy806;
yy810:
yych = *++p;
if (yych == 'A')
goto yy814;
if (yych == 'a')
goto yy814;
goto yy806;
yy811:
yych = *++p;
if (yych == 'E')
goto yy815;
if (yych == 'e')
goto yy815;
goto yy806;
yy812:
yych = *++p;
if (yych == 'A')
goto yy809;
if (yych == 'a')
goto yy809;
goto yy806;
yy813:
yych = *++p;
if (yych == 'C')
goto yy816;
if (yych == 'c')
goto yy816;
goto yy806;
yy814:
yych = *++p;
if (yych == ':')
goto yy817;
goto yy806;
yy815:
yych = *++p;
if (yych == ':')
goto yy819;
goto yy806;
yy816:
yych = *++p;
if (yych == 'R')
goto yy820;
if (yych == 'r')
goto yy820;
goto yy806;
yy817:
yyaccept = 1;
yych = *(marker = ++p);
if (yych == 'I')
goto yy821;
if (yych == 'i')
goto yy821;
yy818 : { return (bufsize_t)(p - start); }
yy819:
++p;
goto yy818;
yy820:
yych = *++p;
if (yych == 'I')
goto yy822;
if (yych == 'i')
goto yy822;
goto yy806;
yy821:
yych = *++p;
if (yych == 'M')
goto yy823;
if (yych == 'm')
goto yy823;
goto yy806;
yy822:
yych = *++p;
if (yych == 'P')
goto yy824;
if (yych == 'p')
goto yy824;
goto yy806;
yy823:
yych = *++p;
if (yych == 'A')
goto yy825;
if (yych == 'a')
goto yy825;
goto yy806;
yy824:
yych = *++p;
if (yych == 'T')
goto yy815;
if (yych == 't')
goto yy815;
goto yy806;
yy825:
yych = *++p;
if (yych == 'G')
goto yy826;
if (yych != 'g')
goto yy806;
yy826:
yych = *++p;
if (yych == 'E')
goto yy827;
if (yych != 'e')
goto yy806;
yy827:
yych = *++p;
if (yych != '/')
goto yy806;
yych = *++p;
if (yych <= 'W') {
if (yych <= 'J') {
if (yych == 'G')
goto yy828;
if (yych <= 'I')
goto yy806;
goto yy829;
} else {
if (yych == 'P')
goto yy830;
if (yych <= 'V')
goto yy806;
goto yy831;
}
} else {
if (yych <= 'j') {
if (yych == 'g')
goto yy828;
if (yych <= 'i')
goto yy806;
goto yy829;
} else {
if (yych <= 'p') {
if (yych <= 'o')
goto yy806;
goto yy830;
} else {
if (yych == 'w')
goto yy831;
goto yy806;
}
}
}
yy828:
yych = *++p;
if (yych == 'I')
goto yy832;
if (yych == 'i')
goto yy832;
goto yy806;
yy829:
yych = *++p;
if (yych == 'P')
goto yy833;
if (yych == 'p')
goto yy833;
goto yy806;
yy830:
yych = *++p;
if (yych == 'N')
goto yy834;
if (yych == 'n')
goto yy834;
goto yy806;
yy831:
yych = *++p;
if (yych == 'E')
goto yy835;
if (yych == 'e')
goto yy835;
goto yy806;
yy832:
yych = *++p;
if (yych == 'F')
goto yy836;
if (yych == 'f')
goto yy836;
goto yy806;
yy833:
yych = *++p;
if (yych == 'E')
goto yy834;
if (yych != 'e')
goto yy806;
yy834:
yych = *++p;
if (yych == 'G')
goto yy836;
if (yych == 'g')
goto yy836;
goto yy806;
yy835:
yych = *++p;
if (yych == 'B')
goto yy837;
if (yych == 'b')
goto yy837;
goto yy806;
yy836:
++p;
{ return 0; }
yy837:
yych = *++p;
if (yych == 'P')
goto yy836;
if (yych == 'p')
goto yy836;
goto yy806;
}
}
// 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 yy840;
++p;
yy839 : { return 0; }
yy840:
yych = *(marker = ++p);
if (yych != '^')
goto yy839;
yych = *++p;
if (yych != ']')
goto yy843;
yy841:
p = marker;
goto yy839;
yy842:
yych = *++p;
yy843:
if (yybm[0 + yych] & 64) {
goto yy842;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= ' ')
goto yy841;
if (yych <= ']')
goto yy851;
goto yy841;
} else {
if (yych <= 0xDF)
goto yy844;
if (yych <= 0xE0)
goto yy845;
goto yy846;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy847;
if (yych <= 0xEF)
goto yy846;
goto yy848;
} else {
if (yych <= 0xF3)
goto yy849;
if (yych <= 0xF4)
goto yy850;
goto yy841;
}
}
yy844:
yych = *++p;
if (yych <= 0x7F)
goto yy841;
if (yych <= 0xBF)
goto yy842;
goto yy841;
yy845:
yych = *++p;
if (yych <= 0x9F)
goto yy841;
if (yych <= 0xBF)
goto yy844;
goto yy841;
yy846:
yych = *++p;
if (yych <= 0x7F)
goto yy841;
if (yych <= 0xBF)
goto yy844;
goto yy841;
yy847:
yych = *++p;
if (yych <= 0x7F)
goto yy841;
if (yych <= 0x9F)
goto yy844;
goto yy841;
yy848:
yych = *++p;
if (yych <= 0x8F)
goto yy841;
if (yych <= 0xBF)
goto yy846;
goto yy841;
yy849:
yych = *++p;
if (yych <= 0x7F)
goto yy841;
if (yych <= 0xBF)
goto yy846;
goto yy841;
yy850:
yych = *++p;
if (yych <= 0x7F)
goto yy841;
if (yych <= 0x8F)
goto yy846;
goto yy841;
yy851:
yych = *++p;
if (yych != ':')
goto yy841;
yy852:
yych = *++p;
if (yybm[0 + yych] & 128) {
goto yy852;
}
{ return (bufsize_t)(p - start); }
}
}