cmark

My personal build of CMark ✏️

Commit
14ea489f5dd6e3d07e23f104d6c9ce441d05751b
Parent
0b1886ca44e0b562f9022ad95568acd6f9b4e1d2
Author
John MacFarlane <jgm@berkeley.edu>
Date

Fixed bug with unescaped left angle bracket in link destination.

Closes #193.

Diffstat

3 files changed, 10736 insertions, 7205 deletions

Status File Name N° Changes Insertions Deletions
Modified src/scanners.c 17929 10725 7204
Modified src/scanners.re 2 1 1
Modified test/regression.txt 10 10 0
diff --git a/src/scanners.c b/src/scanners.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.16 */
+/* Generated by re2c 0.15.3 */
 #include <stdlib.h>
 #include "chunk.h"
 #include "scanners.h"
@@ -70,58 +70,53 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     if (yych <= '9') {
       if (yych <= ',') {
         if (yych == '+')
-          goto yy7;
+          goto yy9;
       } else {
         if (yych != '/')
-          goto yy7;
+          goto yy9;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
-        if (yych >= 'A')
           goto yy7;
+        if (yych >= 'A')
+          goto yy9;
       } else {
         if (yych <= '`')
           goto yy6;
         if (yych <= 'z')
-          goto yy7;
+          goto yy9;
       }
     }
   yy6:
     p = marker;
     goto yy3;
   yy7:
+    ++p;
+    { return (bufsize_t)(p - start); }
+  yy9:
     yych = *++p;
     if (yych <= '9') {
       if (yych <= ',') {
-        if (yych == '+')
-          goto yy10;
-        goto yy6;
+        if (yych != '+')
+          goto yy6;
       } else {
         if (yych == '/')
           goto yy6;
-        goto yy10;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
-        goto yy10;
       } else {
         if (yych <= '`')
           goto yy6;
-        if (yych <= 'z')
-          goto yy10;
-        goto yy6;
+        if (yych >= '{')
+          goto yy6;
       }
     }
-  yy8:
-    ++p;
-    { return (bufsize_t)(p - start); }
-  yy10:
     yych = *++p;
     if (yych <= '9') {
       if (yych <= ',') {
@@ -134,7 +129,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -156,7 +151,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -178,7 +173,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -200,7 +195,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -222,7 +217,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -244,7 +239,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -266,7 +261,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -288,7 +283,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -310,7 +305,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -332,7 +327,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -354,7 +349,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -376,7 +371,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -398,7 +393,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -420,7 +415,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -442,7 +437,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -464,7 +459,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -486,7 +481,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -508,7 +503,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -530,7 +525,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -552,7 +547,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -574,7 +569,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -596,7 +591,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -618,7 +613,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -640,7 +635,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -662,7 +657,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -684,7 +679,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -706,7 +701,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -728,7 +723,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy8;
+          goto yy7;
         if (yych <= '@')
           goto yy6;
       } else {
@@ -740,7 +735,7 @@ bufsize_t _scan_scheme(const unsigned char *p) {
     }
     ++p;
     if ((yych = *p) == ':')
-      goto yy8;
+      goto yy7;
     goto yy6;
   }
 }
@@ -757,7 +752,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
         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, 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,
@@ -815,176 +810,107 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     if (yych <= '9') {
       if (yych <= ',') {
         if (yych == '+')
-          goto yy46;
+          goto yy48;
       } else {
         if (yych != '/')
-          goto yy46;
+          goto yy48;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
-        if (yych >= 'A')
           goto yy46;
+        if (yych >= 'A')
+          goto yy48;
       } else {
         if (yych <= '`')
           goto yy45;
         if (yych <= 'z')
-          goto yy46;
+          goto yy48;
       }
     }
   yy45:
     p = marker;
     goto yy42;
   yy46:
-    yych = *++p;
-    if (yych <= '9') {
-      if (yych <= ',') {
-        if (yych == '+')
-          goto yy49;
-        goto yy45;
-      } else {
-        if (yych == '/')
-          goto yy45;
-        goto yy49;
-      }
-    } else {
-      if (yych <= 'Z') {
-        if (yych <= ':')
-          goto yy47;
-        if (yych <= '@')
-          goto yy45;
-        goto yy49;
-      } else {
-        if (yych <= '`')
-          goto yy45;
-        if (yych <= 'z')
-          goto yy49;
-        goto yy45;
-      }
-    }
-  yy47:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy47;
+      goto yy46;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
-        if (yych <= '<')
+        if (yych <= ' ')
           goto yy45;
         if (yych <= '>')
-          goto yy50;
+          goto yy85;
         goto yy45;
       } else {
         if (yych <= 0xDF)
-          goto yy52;
+          goto yy78;
         if (yych <= 0xE0)
-          goto yy53;
-        goto yy54;
+          goto yy79;
+        goto yy80;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy55;
+          goto yy84;
         if (yych <= 0xEF)
-          goto yy54;
-        goto yy56;
+          goto yy80;
+        goto yy81;
       } else {
         if (yych <= 0xF3)
-          goto yy57;
+          goto yy82;
         if (yych <= 0xF4)
-          goto yy58;
+          goto yy83;
         goto yy45;
       }
     }
-  yy49:
+  yy48:
     yych = *++p;
     if (yych <= '9') {
       if (yych <= ',') {
-        if (yych == '+')
-          goto yy59;
-        goto yy45;
+        if (yych != '+')
+          goto yy45;
       } else {
         if (yych == '/')
           goto yy45;
-        goto yy59;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
-        goto yy59;
       } else {
         if (yych <= '`')
           goto yy45;
-        if (yych <= 'z')
-          goto yy59;
-        goto yy45;
+        if (yych >= '{')
+          goto yy45;
+      }
+    }
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych <= ',') {
+        if (yych != '+')
+          goto yy45;
+      } else {
+        if (yych == '/')
+          goto yy45;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= ':')
+          goto yy46;
+        if (yych <= '@')
+          goto yy45;
+      } else {
+        if (yych <= '`')
+          goto yy45;
+        if (yych >= '{')
+          goto yy45;
       }
     }
-  yy50:
-    ++p;
-    { return (bufsize_t)(p - start); }
-  yy52:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy45;
-    if (yych <= 0xBF)
-      goto yy47;
-    goto yy45;
-  yy53:
-    ++p;
-    yych = *p;
-    if (yych <= 0x9F)
-      goto yy45;
-    if (yych <= 0xBF)
-      goto yy52;
-    goto yy45;
-  yy54:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy45;
-    if (yych <= 0xBF)
-      goto yy52;
-    goto yy45;
-  yy55:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy45;
-    if (yych <= 0x9F)
-      goto yy52;
-    goto yy45;
-  yy56:
-    ++p;
-    yych = *p;
-    if (yych <= 0x8F)
-      goto yy45;
-    if (yych <= 0xBF)
-      goto yy54;
-    goto yy45;
-  yy57:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy45;
-    if (yych <= 0xBF)
-      goto yy54;
-    goto yy45;
-  yy58:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy45;
-    if (yych <= 0x8F)
-      goto yy54;
-    goto yy45;
-  yy59:
     yych = *++p;
     if (yych <= '9') {
       if (yych <= ',') {
@@ -997,7 +923,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1019,7 +945,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1041,7 +967,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1063,7 +989,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1085,7 +1011,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1107,7 +1033,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1129,7 +1055,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1151,7 +1077,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1173,7 +1099,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1195,7 +1121,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1217,7 +1143,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1239,7 +1165,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1261,7 +1187,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1283,7 +1209,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1305,7 +1231,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1327,7 +1253,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1349,7 +1275,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1371,7 +1297,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1393,7 +1319,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1415,7 +1341,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1437,7 +1363,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1459,7 +1385,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1481,7 +1407,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1503,7 +1429,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1525,7 +1451,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1547,7 +1473,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1569,7 +1495,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
     } else {
       if (yych <= 'Z') {
         if (yych <= ':')
-          goto yy47;
+          goto yy46;
         if (yych <= '@')
           goto yy45;
       } else {
@@ -1579,10 +1505,69 @@ bufsize_t _scan_autolink_uri(const unsigned char *p) {
           goto yy45;
       }
     }
+    yych = *++p;
+    if (yych == ':')
+      goto yy46;
+    goto yy45;
+  yy78:
     ++p;
-    if ((yych = *p) == ':')
-      goto yy47;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy45;
+    if (yych <= 0xBF)
+      goto yy46;
+    goto yy45;
+  yy79:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy45;
+    if (yych <= 0xBF)
+      goto yy78;
+    goto yy45;
+  yy80:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy45;
+    if (yych <= 0xBF)
+      goto yy78;
+    goto yy45;
+  yy81:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy45;
+    if (yych <= 0xBF)
+      goto yy80;
+    goto yy45;
+  yy82:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy45;
+    if (yych <= 0xBF)
+      goto yy80;
+    goto yy45;
+  yy83:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy45;
+    if (yych <= 0x8F)
+      goto yy80;
+    goto yy45;
+  yy84:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy45;
+    if (yych <= 0x9F)
+      goto yy78;
     goto yy45;
+  yy85:
+    ++p;
+    { return (bufsize_t)(p - start); }
   }
 }
 
@@ -1653,4889 +1638,8109 @@ bufsize_t _scan_autolink_email(const unsigned char *p) {
     if (yych <= ',') {
       if (yych <= '"') {
         if (yych == '!')
-          goto yy93;
+          goto yy95;
         goto yy90;
       } else {
         if (yych <= '\'')
-          goto yy93;
+          goto yy95;
         if (yych <= ')')
           goto yy90;
         if (yych <= '+')
-          goto yy93;
+          goto yy95;
         goto yy90;
       }
     } else {
       if (yych <= '>') {
         if (yych <= '9')
-          goto yy93;
+          goto yy95;
         if (yych == '=')
-          goto yy93;
+          goto yy95;
         goto yy90;
       } else {
         if (yych <= 'Z')
-          goto yy93;
+          goto yy95;
         if (yych <= ']')
           goto yy90;
         if (yych <= '~')
-          goto yy93;
+          goto yy95;
         goto yy90;
       }
     }
   yy92:
-    ++p;
-    yych = *p;
-  yy93:
-    if (yybm[0 + yych] & 128) {
-      goto yy92;
-    }
-    if (yych <= '>')
-      goto yy94;
-    if (yych <= '@')
-      goto yy95;
-  yy94:
-    p = marker;
-    goto yy90;
-  yy95:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '@') {
       if (yych <= '/')
-        goto yy94;
-      if (yych >= ':')
-        goto yy94;
+        goto yy93;
+      if (yych <= '9')
+        goto yy96;
     } else {
       if (yych <= 'Z')
         goto yy96;
       if (yych <= '`')
-        goto yy94;
-      if (yych >= '{')
-        goto yy94;
+        goto yy93;
+      if (yych <= 'z')
+        goto yy96;
     }
-  yy96:
+  yy93:
+    p = marker;
+    goto yy90;
+  yy94:
     ++p;
     yych = *p;
+  yy95:
+    if (yybm[0 + yych] & 128) {
+      goto yy94;
+    }
+    if (yych <= '>')
+      goto yy93;
+    if (yych <= '@')
+      goto yy92;
+    goto yy93;
+  yy96:
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy98;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
-        if (yych <= '9')
-          goto yy98;
-        goto yy94;
+          goto yy93;
+        if (yych >= ':')
+          goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
-        if (yych <= '@')
-          goto yy94;
-        goto yy98;
-      } else {
-        if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy98;
-        goto yy94;
-      }
-    }
-    ++p;
-    yych = *p;
-    if (yych <= '9') {
-      if (yych == '-')
-        goto yy101;
-      if (yych <= '/')
-        goto yy94;
-      goto yy102;
-    } else {
-      if (yych <= 'Z') {
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy102;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy102;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy98:
-    ++p;
-    yych = *p;
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
+          goto yy93;
         if (yych <= '-')
-          goto yy101;
-        goto yy95;
+          goto yy227;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy102;
-        goto yy94;
+          goto yy226;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy102;
+          goto yy93;
+        goto yy226;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy102;
-        goto yy94;
+          goto yy226;
+        goto yy93;
       }
     }
-  yy99:
-    ++p;
-    { return (bufsize_t)(p - start); }
-  yy101:
-    ++p;
-    yych = *p;
+  yy98:
+    yych = *++p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy103;
+        goto yy227;
       if (yych <= '/')
-        goto yy94;
-      goto yy104;
+        goto yy93;
+      goto yy226;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy104;
+          goto yy93;
+        goto yy226;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy104;
-        goto yy94;
+          goto yy226;
+        goto yy93;
       }
     }
+  yy99:
+    ++p;
+    yych = *p;
+    if (yych <= '@') {
+      if (yych <= '/')
+        goto yy93;
+      if (yych <= '9')
+        goto yy102;
+      goto yy93;
+    } else {
+      if (yych <= 'Z')
+        goto yy102;
+      if (yych <= '`')
+        goto yy93;
+      if (yych <= 'z')
+        goto yy102;
+      goto yy93;
+    }
+  yy100:
+    ++p;
+    { return (bufsize_t)(p - start); }
   yy102:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy104;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
-        if (yych <= '9')
-          goto yy104;
-        goto yy94;
+          goto yy93;
+        if (yych >= ':')
+          goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
-        if (yych <= '@')
-          goto yy94;
-        goto yy104;
-      } else {
-        if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy104;
-        goto yy94;
-      }
-    }
-  yy103:
-    ++p;
-    yych = *p;
-    if (yych <= '9') {
-      if (yych == '-')
-        goto yy105;
-      if (yych <= '/')
-        goto yy94;
-      goto yy106;
-    } else {
-      if (yych <= 'Z') {
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy106;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy106;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy104:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy106;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy106;
-        goto yy94;
+          goto yy105;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy106;
+          goto yy93;
+        goto yy105;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy106;
-        goto yy94;
+          goto yy105;
+        goto yy93;
       }
     }
-  yy105:
+  yy104:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy107;
+        goto yy106;
       if (yych <= '/')
-        goto yy94;
-      goto yy108;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy108;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy108;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy106:
+  yy105:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy108;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy108;
-        goto yy94;
+          goto yy107;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy108;
+          goto yy93;
+        goto yy107;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy108;
-        goto yy94;
+          goto yy107;
+        goto yy93;
       }
     }
-  yy107:
+  yy106:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy109;
+        goto yy108;
       if (yych <= '/')
-        goto yy94;
-      goto yy110;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy110;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy110;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy108:
+  yy107:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy110;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy110;
-        goto yy94;
+          goto yy109;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy110;
+          goto yy93;
+        goto yy109;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy110;
-        goto yy94;
+          goto yy109;
+        goto yy93;
       }
     }
-  yy109:
+  yy108:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy111;
+        goto yy110;
       if (yych <= '/')
-        goto yy94;
-      goto yy112;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy112;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy112;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy110:
+  yy109:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy112;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy112;
-        goto yy94;
+          goto yy111;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy112;
+          goto yy93;
+        goto yy111;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy112;
-        goto yy94;
+          goto yy111;
+        goto yy93;
       }
     }
-  yy111:
+  yy110:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy113;
+        goto yy112;
       if (yych <= '/')
-        goto yy94;
-      goto yy114;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy114;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy114;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy112:
+  yy111:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy114;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy114;
-        goto yy94;
+          goto yy113;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy114;
+          goto yy93;
+        goto yy113;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy114;
-        goto yy94;
+          goto yy113;
+        goto yy93;
       }
     }
-  yy113:
+  yy112:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy115;
+        goto yy114;
       if (yych <= '/')
-        goto yy94;
-      goto yy116;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy116;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy116;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy114:
+  yy113:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy116;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy116;
-        goto yy94;
+          goto yy115;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy116;
+          goto yy93;
+        goto yy115;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy116;
-        goto yy94;
+          goto yy115;
+        goto yy93;
       }
     }
-  yy115:
+  yy114:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy117;
+        goto yy116;
       if (yych <= '/')
-        goto yy94;
-      goto yy118;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy118;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy118;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy116:
+  yy115:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy118;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy118;
-        goto yy94;
+          goto yy117;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy118;
+          goto yy93;
+        goto yy117;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy118;
-        goto yy94;
+          goto yy117;
+        goto yy93;
       }
     }
-  yy117:
+  yy116:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy119;
+        goto yy118;
       if (yych <= '/')
-        goto yy94;
-      goto yy120;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy120;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy120;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy118:
+  yy117:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy120;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy120;
-        goto yy94;
+          goto yy119;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy120;
+          goto yy93;
+        goto yy119;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy120;
-        goto yy94;
+          goto yy119;
+        goto yy93;
       }
     }
-  yy119:
+  yy118:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy121;
+        goto yy120;
       if (yych <= '/')
-        goto yy94;
-      goto yy122;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy122;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy122;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy120:
+  yy119:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy122;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy122;
-        goto yy94;
+          goto yy121;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy122;
+          goto yy93;
+        goto yy121;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy122;
-        goto yy94;
+          goto yy121;
+        goto yy93;
       }
     }
-  yy121:
+  yy120:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy123;
+        goto yy122;
       if (yych <= '/')
-        goto yy94;
-      goto yy124;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy124;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy124;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy122:
+  yy121:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy124;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy124;
-        goto yy94;
+          goto yy123;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy124;
+          goto yy93;
+        goto yy123;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy124;
-        goto yy94;
+          goto yy123;
+        goto yy93;
       }
     }
-  yy123:
+  yy122:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy125;
+        goto yy124;
       if (yych <= '/')
-        goto yy94;
-      goto yy126;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy126;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy126;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy124:
+  yy123:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy126;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy126;
-        goto yy94;
+          goto yy125;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy126;
+          goto yy93;
+        goto yy125;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy126;
-        goto yy94;
+          goto yy125;
+        goto yy93;
       }
     }
-  yy125:
+  yy124:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy127;
+        goto yy126;
       if (yych <= '/')
-        goto yy94;
-      goto yy128;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy128;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy128;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy126:
+  yy125:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy128;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy128;
-        goto yy94;
+          goto yy127;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy128;
+          goto yy93;
+        goto yy127;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy128;
-        goto yy94;
+          goto yy127;
+        goto yy93;
       }
     }
-  yy127:
+  yy126:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy129;
+        goto yy128;
       if (yych <= '/')
-        goto yy94;
-      goto yy130;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy130;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy130;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy128:
+  yy127:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy130;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy130;
-        goto yy94;
+          goto yy129;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy130;
+          goto yy93;
+        goto yy129;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy130;
-        goto yy94;
+          goto yy129;
+        goto yy93;
       }
     }
-  yy129:
+  yy128:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy131;
+        goto yy130;
       if (yych <= '/')
-        goto yy94;
-      goto yy132;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy132;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy132;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy130:
+  yy129:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy132;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy132;
-        goto yy94;
+          goto yy131;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy132;
+          goto yy93;
+        goto yy131;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy132;
-        goto yy94;
+          goto yy131;
+        goto yy93;
       }
     }
-  yy131:
+  yy130:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy133;
+        goto yy132;
       if (yych <= '/')
-        goto yy94;
-      goto yy134;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy134;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy134;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy132:
+  yy131:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy134;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy134;
-        goto yy94;
+          goto yy133;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy134;
+          goto yy93;
+        goto yy133;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy134;
-        goto yy94;
+          goto yy133;
+        goto yy93;
       }
     }
-  yy133:
+  yy132:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy135;
+        goto yy134;
       if (yych <= '/')
-        goto yy94;
-      goto yy136;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy136;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy136;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy134:
+  yy133:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy136;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy136;
-        goto yy94;
+          goto yy135;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy136;
+          goto yy93;
+        goto yy135;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy136;
-        goto yy94;
+          goto yy135;
+        goto yy93;
       }
     }
-  yy135:
+  yy134:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy137;
+        goto yy136;
       if (yych <= '/')
-        goto yy94;
-      goto yy138;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy138;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy138;
-        goto yy94;
-      }
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
     }
-  yy136:
+  yy135:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy138;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy138;
-        goto yy94;
+          goto yy137;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy138;
+          goto yy93;
+        goto yy137;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy138;
-        goto yy94;
+          goto yy137;
+        goto yy93;
       }
     }
-  yy137:
+  yy136:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy139;
+        goto yy138;
       if (yych <= '/')
-        goto yy94;
-      goto yy140;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy140;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy140;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy138:
+  yy137:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy140;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy140;
-        goto yy94;
+          goto yy139;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy140;
+          goto yy93;
+        goto yy139;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy140;
-        goto yy94;
+          goto yy139;
+        goto yy93;
       }
     }
-  yy139:
+  yy138:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy141;
+        goto yy140;
       if (yych <= '/')
-        goto yy94;
-      goto yy142;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy142;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy142;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy140:
+  yy139:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy142;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy142;
-        goto yy94;
+          goto yy141;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy142;
+          goto yy93;
+        goto yy141;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy142;
-        goto yy94;
+          goto yy141;
+        goto yy93;
       }
     }
-  yy141:
+  yy140:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy143;
+        goto yy142;
       if (yych <= '/')
-        goto yy94;
-      goto yy144;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy144;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy144;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy142:
+  yy141:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy144;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy144;
-        goto yy94;
+          goto yy143;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy144;
+          goto yy93;
+        goto yy143;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy144;
-        goto yy94;
+          goto yy143;
+        goto yy93;
       }
     }
-  yy143:
+  yy142:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy145;
+        goto yy144;
       if (yych <= '/')
-        goto yy94;
-      goto yy146;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy146;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy146;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy144:
+  yy143:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy146;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy146;
-        goto yy94;
+          goto yy145;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy146;
+          goto yy93;
+        goto yy145;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy146;
-        goto yy94;
+          goto yy145;
+        goto yy93;
       }
     }
-  yy145:
+  yy144:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy147;
+        goto yy146;
       if (yych <= '/')
-        goto yy94;
-      goto yy148;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy148;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy148;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy146:
+  yy145:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy148;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy148;
-        goto yy94;
+          goto yy147;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy148;
+          goto yy93;
+        goto yy147;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy148;
-        goto yy94;
+          goto yy147;
+        goto yy93;
       }
     }
-  yy147:
+  yy146:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy149;
+        goto yy148;
       if (yych <= '/')
-        goto yy94;
-      goto yy150;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy150;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy150;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy148:
+  yy147:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy150;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy150;
-        goto yy94;
+          goto yy149;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy150;
+          goto yy93;
+        goto yy149;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy150;
-        goto yy94;
+          goto yy149;
+        goto yy93;
       }
     }
-  yy149:
+  yy148:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy151;
+        goto yy150;
       if (yych <= '/')
-        goto yy94;
-      goto yy152;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy152;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy152;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy150:
+  yy149:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy152;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy152;
-        goto yy94;
+          goto yy151;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy152;
+          goto yy93;
+        goto yy151;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy152;
-        goto yy94;
+          goto yy151;
+        goto yy93;
       }
     }
-  yy151:
+  yy150:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy153;
+        goto yy152;
       if (yych <= '/')
-        goto yy94;
-      goto yy154;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy154;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy154;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy152:
+  yy151:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy154;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy154;
-        goto yy94;
+          goto yy153;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy154;
+          goto yy93;
+        goto yy153;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy154;
-        goto yy94;
+          goto yy153;
+        goto yy93;
       }
     }
-  yy153:
+  yy152:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy155;
+        goto yy154;
       if (yych <= '/')
-        goto yy94;
-      goto yy156;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy156;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy156;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy154:
+  yy153:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy156;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy156;
-        goto yy94;
+          goto yy155;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy156;
+          goto yy93;
+        goto yy155;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy156;
-        goto yy94;
+          goto yy155;
+        goto yy93;
       }
     }
-  yy155:
+  yy154:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy157;
+        goto yy156;
       if (yych <= '/')
-        goto yy94;
-      goto yy158;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy158;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy158;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy156:
+  yy155:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy158;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy158;
-        goto yy94;
+          goto yy157;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy158;
+          goto yy93;
+        goto yy157;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy158;
-        goto yy94;
+          goto yy157;
+        goto yy93;
       }
     }
-  yy157:
+  yy156:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy159;
+        goto yy158;
       if (yych <= '/')
-        goto yy94;
-      goto yy160;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy160;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy160;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy158:
+  yy157:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy160;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy160;
-        goto yy94;
+          goto yy159;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy160;
+          goto yy93;
+        goto yy159;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy160;
-        goto yy94;
+          goto yy159;
+        goto yy93;
       }
     }
-  yy159:
+  yy158:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy161;
+        goto yy160;
       if (yych <= '/')
-        goto yy94;
-      goto yy162;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy162;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy162;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy160:
+  yy159:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy162;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy162;
-        goto yy94;
+          goto yy161;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy162;
+          goto yy93;
+        goto yy161;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy162;
-        goto yy94;
+          goto yy161;
+        goto yy93;
       }
     }
-  yy161:
+  yy160:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy163;
+        goto yy162;
       if (yych <= '/')
-        goto yy94;
-      goto yy164;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy164;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy164;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy162:
+  yy161:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy164;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy164;
-        goto yy94;
+          goto yy163;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy164;
+          goto yy93;
+        goto yy163;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy164;
-        goto yy94;
+          goto yy163;
+        goto yy93;
       }
     }
-  yy163:
+  yy162:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy165;
+        goto yy164;
       if (yych <= '/')
-        goto yy94;
-      goto yy166;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy166;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy166;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy164:
+  yy163:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy166;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy166;
-        goto yy94;
+          goto yy165;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy166;
+          goto yy93;
+        goto yy165;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy166;
-        goto yy94;
+          goto yy165;
+        goto yy93;
       }
     }
-  yy165:
+  yy164:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy167;
+        goto yy166;
       if (yych <= '/')
-        goto yy94;
-      goto yy168;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy168;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy168;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy166:
+  yy165:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy168;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy168;
-        goto yy94;
+          goto yy167;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy168;
+          goto yy93;
+        goto yy167;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy168;
-        goto yy94;
+          goto yy167;
+        goto yy93;
       }
     }
-  yy167:
+  yy166:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy169;
+        goto yy168;
       if (yych <= '/')
-        goto yy94;
-      goto yy170;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy170;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy170;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy168:
+  yy167:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy170;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy170;
-        goto yy94;
+          goto yy169;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy170;
+          goto yy93;
+        goto yy169;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy170;
-        goto yy94;
+          goto yy169;
+        goto yy93;
       }
     }
-  yy169:
+  yy168:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy171;
+        goto yy170;
       if (yych <= '/')
-        goto yy94;
-      goto yy172;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy172;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy172;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy170:
+  yy169:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy172;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy172;
-        goto yy94;
+          goto yy171;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy172;
+          goto yy93;
+        goto yy171;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy172;
-        goto yy94;
+          goto yy171;
+        goto yy93;
       }
     }
-  yy171:
+  yy170:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy173;
+        goto yy172;
       if (yych <= '/')
-        goto yy94;
-      goto yy174;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy174;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy174;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy172:
+  yy171:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy174;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy174;
-        goto yy94;
+          goto yy173;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy174;
+          goto yy93;
+        goto yy173;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy174;
-        goto yy94;
+          goto yy173;
+        goto yy93;
       }
     }
-  yy173:
+  yy172:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy175;
+        goto yy174;
       if (yych <= '/')
-        goto yy94;
-      goto yy176;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy176;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy176;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy174:
+  yy173:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy176;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy176;
-        goto yy94;
+          goto yy175;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy176;
+          goto yy93;
+        goto yy175;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy176;
-        goto yy94;
+          goto yy175;
+        goto yy93;
       }
     }
-  yy175:
+  yy174:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy177;
+        goto yy176;
       if (yych <= '/')
-        goto yy94;
-      goto yy178;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy178;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy178;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy176:
+  yy175:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy178;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy178;
-        goto yy94;
+          goto yy177;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy178;
+          goto yy93;
+        goto yy177;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy178;
-        goto yy94;
+          goto yy177;
+        goto yy93;
       }
     }
-  yy177:
+  yy176:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy179;
+        goto yy178;
       if (yych <= '/')
-        goto yy94;
-      goto yy180;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy180;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy180;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy178:
+  yy177:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy180;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy180;
-        goto yy94;
+          goto yy179;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy180;
+          goto yy93;
+        goto yy179;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy180;
-        goto yy94;
+          goto yy179;
+        goto yy93;
       }
     }
-  yy179:
+  yy178:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy181;
+        goto yy180;
       if (yych <= '/')
-        goto yy94;
-      goto yy182;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy182;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy182;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy180:
+  yy179:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy182;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy182;
-        goto yy94;
+          goto yy181;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy182;
+          goto yy93;
+        goto yy181;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy182;
-        goto yy94;
+          goto yy181;
+        goto yy93;
       }
     }
-  yy181:
+  yy180:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy183;
+        goto yy182;
       if (yych <= '/')
-        goto yy94;
-      goto yy184;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy184;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy184;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy182:
+  yy181:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy184;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy184;
-        goto yy94;
+          goto yy183;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy184;
+          goto yy93;
+        goto yy183;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy184;
-        goto yy94;
+          goto yy183;
+        goto yy93;
       }
     }
-  yy183:
+  yy182:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy185;
+        goto yy184;
       if (yych <= '/')
-        goto yy94;
-      goto yy186;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy186;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy186;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy184:
+  yy183:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy186;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy186;
-        goto yy94;
+          goto yy185;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy186;
+          goto yy93;
+        goto yy185;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy186;
-        goto yy94;
+          goto yy185;
+        goto yy93;
       }
     }
-  yy185:
+  yy184:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy187;
+        goto yy186;
       if (yych <= '/')
-        goto yy94;
-      goto yy188;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy188;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy188;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy186:
+  yy185:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy188;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy188;
-        goto yy94;
+          goto yy187;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy188;
+          goto yy93;
+        goto yy187;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy188;
-        goto yy94;
+          goto yy187;
+        goto yy93;
       }
     }
-  yy187:
+  yy186:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy189;
+        goto yy188;
       if (yych <= '/')
-        goto yy94;
-      goto yy190;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy190;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy190;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy188:
+  yy187:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy190;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy190;
-        goto yy94;
+          goto yy189;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy190;
+          goto yy93;
+        goto yy189;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy190;
-        goto yy94;
+          goto yy189;
+        goto yy93;
       }
     }
-  yy189:
+  yy188:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy191;
+        goto yy190;
       if (yych <= '/')
-        goto yy94;
-      goto yy192;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy192;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy192;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy190:
+  yy189:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy192;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy192;
-        goto yy94;
+          goto yy191;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy192;
+          goto yy93;
+        goto yy191;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy192;
-        goto yy94;
+          goto yy191;
+        goto yy93;
       }
     }
-  yy191:
+  yy190:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy193;
+        goto yy192;
       if (yych <= '/')
-        goto yy94;
-      goto yy194;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy194;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy194;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy192:
+  yy191:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy194;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy194;
-        goto yy94;
+          goto yy193;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy194;
+          goto yy93;
+        goto yy193;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy194;
-        goto yy94;
+          goto yy193;
+        goto yy93;
       }
     }
-  yy193:
+  yy192:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy195;
+        goto yy194;
       if (yych <= '/')
-        goto yy94;
-      goto yy196;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy196;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy196;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy194:
+  yy193:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy196;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy196;
-        goto yy94;
+          goto yy195;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy196;
+          goto yy93;
+        goto yy195;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy196;
-        goto yy94;
+          goto yy195;
+        goto yy93;
       }
     }
-  yy195:
+  yy194:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy197;
+        goto yy196;
       if (yych <= '/')
-        goto yy94;
-      goto yy198;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy198;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy198;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy196:
+  yy195:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy198;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy198;
-        goto yy94;
+          goto yy197;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy198;
+          goto yy93;
+        goto yy197;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy198;
-        goto yy94;
+          goto yy197;
+        goto yy93;
       }
     }
-  yy197:
+  yy196:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy199;
+        goto yy198;
       if (yych <= '/')
-        goto yy94;
-      goto yy200;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy200;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy200;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy198:
+  yy197:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy200;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy200;
-        goto yy94;
+          goto yy199;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy200;
+          goto yy93;
+        goto yy199;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy200;
-        goto yy94;
+          goto yy199;
+        goto yy93;
       }
     }
-  yy199:
+  yy198:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy201;
+        goto yy200;
       if (yych <= '/')
-        goto yy94;
-      goto yy202;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy202;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy202;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy200:
+  yy199:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy202;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy202;
-        goto yy94;
+          goto yy201;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy202;
+          goto yy93;
+        goto yy201;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy202;
-        goto yy94;
+          goto yy201;
+        goto yy93;
       }
     }
-  yy201:
+  yy200:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy203;
+        goto yy202;
       if (yych <= '/')
-        goto yy94;
-      goto yy204;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy204;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy204;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy202:
+  yy201:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy204;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy204;
-        goto yy94;
+          goto yy203;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy204;
+          goto yy93;
+        goto yy203;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy204;
-        goto yy94;
+          goto yy203;
+        goto yy93;
       }
     }
-  yy203:
+  yy202:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy205;
+        goto yy204;
       if (yych <= '/')
-        goto yy94;
-      goto yy206;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy206;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy206;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy204:
+  yy203:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy206;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy206;
-        goto yy94;
+          goto yy205;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy206;
+          goto yy93;
+        goto yy205;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy206;
-        goto yy94;
+          goto yy205;
+        goto yy93;
       }
     }
-  yy205:
+  yy204:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy207;
+        goto yy206;
       if (yych <= '/')
-        goto yy94;
-      goto yy208;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy208;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy208;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy206:
+  yy205:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy208;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy208;
-        goto yy94;
+          goto yy207;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy208;
+          goto yy93;
+        goto yy207;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy208;
-        goto yy94;
+          goto yy207;
+        goto yy93;
       }
     }
-  yy207:
+  yy206:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy209;
+        goto yy208;
       if (yych <= '/')
-        goto yy94;
-      goto yy210;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy210;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy210;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy208:
+  yy207:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy210;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy210;
-        goto yy94;
+          goto yy209;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy210;
+          goto yy93;
+        goto yy209;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy210;
-        goto yy94;
+          goto yy209;
+        goto yy93;
       }
     }
-  yy209:
+  yy208:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy211;
+        goto yy210;
       if (yych <= '/')
-        goto yy94;
-      goto yy212;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy212;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy212;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy210:
+  yy209:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy212;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy212;
-        goto yy94;
+          goto yy211;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy212;
+          goto yy93;
+        goto yy211;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy212;
-        goto yy94;
+          goto yy211;
+        goto yy93;
       }
     }
-  yy211:
+  yy210:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy213;
+        goto yy212;
       if (yych <= '/')
-        goto yy94;
-      goto yy214;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy214;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy214;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy212:
+  yy211:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy214;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy214;
-        goto yy94;
+          goto yy213;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy214;
+          goto yy93;
+        goto yy213;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy214;
-        goto yy94;
+          goto yy213;
+        goto yy93;
       }
     }
-  yy213:
+  yy212:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy215;
+        goto yy214;
       if (yych <= '/')
-        goto yy94;
-      goto yy216;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy216;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy216;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy214:
+  yy213:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy216;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy216;
-        goto yy94;
+          goto yy215;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy216;
+          goto yy93;
+        goto yy215;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy216;
-        goto yy94;
+          goto yy215;
+        goto yy93;
       }
     }
-  yy215:
+  yy214:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy217;
+        goto yy216;
       if (yych <= '/')
-        goto yy94;
-      goto yy218;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy218;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy218;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy216:
+  yy215:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy218;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy218;
-        goto yy94;
+          goto yy217;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy218;
+          goto yy93;
+        goto yy217;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy218;
-        goto yy94;
+          goto yy217;
+        goto yy93;
       }
     }
-  yy217:
+  yy216:
     ++p;
     yych = *p;
     if (yych <= '9') {
       if (yych == '-')
-        goto yy219;
+        goto yy218;
       if (yych <= '/')
-        goto yy94;
-      goto yy220;
+        goto yy93;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
-        goto yy220;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
-        if (yych <= 'z')
-          goto yy220;
-        goto yy94;
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy218:
+  yy217:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
         if (yych <= ',')
-          goto yy94;
-        if (yych >= '.')
-          goto yy95;
+          goto yy93;
+        if (yych <= '-')
+          goto yy220;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
+          goto yy93;
         if (yych <= '9')
-          goto yy220;
-        goto yy94;
+          goto yy219;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
         if (yych <= '@')
-          goto yy94;
-        goto yy220;
+          goto yy93;
+        goto yy219;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych <= 'z')
-          goto yy220;
-        goto yy94;
+          goto yy219;
+        goto yy93;
       }
     }
-  yy219:
+  yy218:
     ++p;
     yych = *p;
-    if (yych <= '@') {
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy220;
       if (yych <= '/')
-        goto yy94;
-      if (yych <= '9')
-        goto yy221;
-      goto yy94;
+        goto yy93;
     } else {
-      if (yych <= 'Z')
-        goto yy221;
-      if (yych <= '`')
-        goto yy94;
-      if (yych <= 'z')
-        goto yy221;
-      goto yy94;
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
     }
-  yy220:
+  yy219:
     ++p;
     yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
         if (yych <= '-')
-          goto yy94;
-        goto yy95;
+          goto yy222;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy94;
-        if (yych >= ':')
-          goto yy94;
+          goto yy93;
+        if (yych <= '9')
+          goto yy221;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy99;
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy221;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy221;
+        goto yy93;
+      }
+    }
+  yy220:
+    ++p;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy222;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy94;
+          goto yy93;
       } else {
         if (yych <= '`')
-          goto yy94;
+          goto yy93;
         if (yych >= '{')
-          goto yy94;
+          goto yy93;
       }
     }
   yy221:
     ++p;
     yych = *p;
-    if (yych == '.')
-      goto yy95;
-    if (yych == '>')
-      goto yy99;
-    goto yy94;
-  }
-}
-
-// Try to match an HTML tag after first <, returning num of chars matched.
-bufsize_t _scan_html_tag(const unsigned char *p) {
-  const unsigned char *marker = NULL;
-  const unsigned char *start = p;
-
-  {
-    unsigned char yych;
-    static const unsigned char yybm[] = {
-        /* table 1 .. 8: 0 */
-        0, 250, 250, 250, 250, 250, 250, 250, 250, 235, 235, 235, 235, 235, 250,
-        250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
-        250, 250, 250, 235, 250, 202, 250, 250, 250, 250, 170, 250, 250, 250,
-        250, 250, 246, 254, 250, 254, 254, 254, 254, 254, 254, 254, 254, 254,
-        254, 254, 250, 234, 234, 232, 250, 250, 254, 254, 254, 254, 254, 254,
-        254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
-        254, 254, 254, 254, 254, 254, 250, 250, 122, 250, 254, 234, 254, 254,
-        254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
-        254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 250, 250, 250, 250,
-        250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        /* table 9 .. 11: 256 */
-        0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-        128, 128, 192, 128, 128, 192, 192, 192, 192, 192, 192, 192, 192, 192,
-        192, 128, 128, 128, 128, 128, 0, 128, 224, 224, 224, 224, 224, 224, 224,
-        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
-        224, 224, 224, 224, 224, 128, 128, 128, 128, 128, 128, 192, 192, 192,
-        192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
-        192, 192, 192, 192, 192, 192, 192, 192, 192, 128, 128, 128, 128, 128, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0,
-    };
-    yych = *p;
-    if (yych <= '>') {
-      if (yych <= '!') {
-        if (yych >= '!')
-          goto yy226;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy224;
+        goto yy99;
       } else {
-        if (yych == '/')
-          goto yy227;
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy223;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
-        if (yych <= '?')
-          goto yy228;
-        if (yych >= 'A')
-          goto yy229;
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy223;
       } else {
         if (yych <= '`')
-          goto yy224;
+          goto yy93;
         if (yych <= 'z')
-          goto yy229;
+          goto yy223;
+        goto yy93;
       }
     }
-  yy224:
+  yy222:
     ++p;
-  yy225 : { return 0; }
-  yy226:
-    yych = *(marker = ++p);
-    if (yybm[256 + yych] & 32) {
-      goto yy232;
-    }
-    if (yych == '-')
-      goto yy230;
-    if (yych <= '@')
-      goto yy225;
-    if (yych <= '[')
-      goto yy234;
-    goto yy225;
-  yy227:
-    yych = *(marker = ++p);
-    if (yych <= '@')
-      goto yy225;
-    if (yych <= 'Z')
-      goto yy235;
-    if (yych <= '`')
-      goto yy225;
-    if (yych <= 'z')
-      goto yy235;
-    goto yy225;
-  yy228:
-    yych = *(marker = ++p);
-    if (yych <= 0x00)
-      goto yy225;
-    if (yych <= 0x7F)
-      goto yy238;
-    if (yych <= 0xC1)
-      goto yy225;
-    if (yych <= 0xF4)
-      goto yy238;
-    goto yy225;
-  yy229:
-    yych = *(marker = ++p);
-    if (yybm[0 + yych] & 1) {
-      goto yy247;
+    yych = *p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy224;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
     }
+  yy223:
+    ++p;
+    yych = *p;
     if (yych <= '=') {
       if (yych <= '.') {
-        if (yych == '-')
-          goto yy249;
-        goto yy225;
+        if (yych <= '-')
+          goto yy93;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy251;
+          goto yy93;
         if (yych <= '9')
-          goto yy249;
-        goto yy225;
+          goto yy225;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy252;
+          goto yy100;
         if (yych <= '@')
-          goto yy225;
-        goto yy249;
+          goto yy93;
+        goto yy225;
       } else {
         if (yych <= '`')
-          goto yy225;
+          goto yy93;
         if (yych <= 'z')
-          goto yy249;
-        goto yy225;
+          goto yy225;
+        goto yy93;
       }
     }
-  yy230:
-    yych = *++p;
-    if (yych == '-')
-      goto yy254;
-  yy231:
-    p = marker;
-    goto yy225;
-  yy232:
-    ++p;
-    yych = *p;
-    if (yybm[256 + yych] & 32) {
-      goto yy232;
-    }
-    if (yych <= 0x08)
-      goto yy231;
-    if (yych <= '\r')
-      goto yy255;
-    if (yych == ' ')
-      goto yy255;
-    goto yy231;
-  yy234:
-    yych = *++p;
-    if (yych == 'C')
-      goto yy257;
-    if (yych == 'c')
-      goto yy257;
-    goto yy231;
-  yy235:
+  yy224:
     ++p;
     yych = *p;
-    if (yybm[256 + yych] & 64) {
-      goto yy235;
-    }
-    if (yych <= 0x1F) {
-      if (yych <= 0x08)
-        goto yy231;
-      if (yych <= '\r')
-        goto yy258;
-      goto yy231;
+    if (yych <= '@') {
+      if (yych <= '/')
+        goto yy93;
+      if (yych >= ':')
+        goto yy93;
     } else {
-      if (yych <= ' ')
-        goto yy258;
-      if (yych == '>')
-        goto yy252;
-      goto yy231;
+      if (yych <= 'Z')
+        goto yy225;
+      if (yych <= '`')
+        goto yy93;
+      if (yych >= '{')
+        goto yy93;
     }
-  yy237:
+  yy225:
     ++p;
     yych = *p;
-  yy238:
-    if (yybm[256 + yych] & 128) {
-      goto yy237;
-    }
-    if (yych <= 0xEC) {
-      if (yych <= 0xC1) {
-        if (yych <= 0x00)
-          goto yy231;
-        if (yych >= '@')
-          goto yy231;
+    if (yych == '.')
+      goto yy99;
+    if (yych == '>')
+      goto yy100;
+    goto yy93;
+  yy226:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy229;
+        goto yy99;
       } else {
-        if (yych <= 0xDF)
-          goto yy240;
-        if (yych <= 0xE0)
-          goto yy241;
-        goto yy242;
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy228;
+        goto yy93;
       }
     } else {
-      if (yych <= 0xF0) {
-        if (yych <= 0xED)
-          goto yy243;
-        if (yych <= 0xEF)
-          goto yy242;
-        goto yy244;
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy228;
       } else {
-        if (yych <= 0xF3)
-          goto yy245;
-        if (yych <= 0xF4)
-          goto yy246;
-        goto yy231;
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy228;
+        goto yy93;
       }
     }
-    ++p;
-    yych = *p;
-    if (yych <= 0xE0) {
-      if (yych <= '>') {
-        if (yych <= 0x00)
-          goto yy231;
-        if (yych <= '=')
-          goto yy237;
-        goto yy252;
-      } else {
-        if (yych <= 0x7F)
-          goto yy237;
-        if (yych <= 0xC1)
-          goto yy231;
-        if (yych >= 0xE0)
-          goto yy241;
-      }
+  yy227:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy229;
+      if (yych <= '/')
+        goto yy93;
     } else {
-      if (yych <= 0xEF) {
-        if (yych == 0xED)
-          goto yy243;
-        goto yy242;
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
       } else {
-        if (yych <= 0xF0)
-          goto yy244;
-        if (yych <= 0xF3)
-          goto yy245;
-        if (yych <= 0xF4)
-          goto yy246;
-        goto yy231;
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
       }
     }
-  yy240:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0xBF)
-      goto yy237;
-    goto yy231;
-  yy241:
-    ++p;
-    yych = *p;
-    if (yych <= 0x9F)
-      goto yy231;
-    if (yych <= 0xBF)
-      goto yy240;
-    goto yy231;
-  yy242:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0xBF)
-      goto yy240;
-    goto yy231;
-  yy243:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0x9F)
-      goto yy240;
-    goto yy231;
-  yy244:
-    ++p;
-    yych = *p;
-    if (yych <= 0x8F)
-      goto yy231;
-    if (yych <= 0xBF)
-      goto yy242;
-    goto yy231;
-  yy245:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0xBF)
-      goto yy242;
-    goto yy231;
-  yy246:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0x8F)
-      goto yy242;
-    goto yy231;
-  yy247:
-    ++p;
-    yych = *p;
-    if (yybm[0 + yych] & 1) {
-      goto yy247;
-    }
-    if (yych <= '>') {
-      if (yych <= '9') {
-        if (yych == '/')
-          goto yy251;
-        goto yy231;
-      } else {
-        if (yych <= ':')
-          goto yy260;
-        if (yych <= '=')
+  yy228:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
           goto yy231;
-        goto yy252;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy230;
+        goto yy93;
       }
     } else {
-      if (yych <= '^') {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
         if (yych <= '@')
-          goto yy231;
-        if (yych <= 'Z')
-          goto yy260;
-        goto yy231;
+          goto yy93;
+        goto yy230;
       } else {
-        if (yych == '`')
-          goto yy231;
+        if (yych <= '`')
+          goto yy93;
         if (yych <= 'z')
-          goto yy260;
-        goto yy231;
+          goto yy230;
+        goto yy93;
       }
     }
-  yy249:
-    ++p;
-    yych = *p;
-    if (yybm[0 + yych] & 1) {
-      goto yy247;
+  yy229:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy231;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
     }
+  yy230:
+    yych = *++p;
     if (yych <= '=') {
       if (yych <= '.') {
-        if (yych == '-')
-          goto yy249;
-        goto yy231;
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy233;
+        goto yy99;
       } else {
         if (yych <= '/')
-          goto yy251;
+          goto yy93;
         if (yych <= '9')
-          goto yy249;
-        goto yy231;
+          goto yy232;
+        goto yy93;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy252;
+          goto yy100;
         if (yych <= '@')
-          goto yy231;
-        goto yy249;
+          goto yy93;
+        goto yy232;
       } else {
         if (yych <= '`')
-          goto yy231;
+          goto yy93;
         if (yych <= 'z')
-          goto yy249;
-        goto yy231;
+          goto yy232;
+        goto yy93;
       }
     }
-  yy251:
-    yych = *++p;
-    if (yych != '>')
-      goto yy231;
-  yy252:
-    ++p;
-    { return (bufsize_t)(p - start); }
-  yy254:
+  yy231:
     yych = *++p;
-    if (yych == '-')
-      goto yy264;
-    if (yych == '>')
-      goto yy231;
-    goto yy263;
-  yy255:
-    ++p;
-    yych = *p;
-    if (yybm[0 + yych] & 2) {
-      goto yy255;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy233;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
     }
-    if (yych <= 0xEC) {
-      if (yych <= 0xC1) {
-        if (yych <= 0x00)
-          goto yy231;
-        if (yych <= '>')
-          goto yy252;
-        goto yy231;
+  yy232:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy235;
+        goto yy99;
       } else {
-        if (yych <= 0xDF)
-          goto yy272;
-        if (yych <= 0xE0)
-          goto yy273;
-        goto yy274;
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy234;
+        goto yy93;
       }
     } else {
-      if (yych <= 0xF0) {
-        if (yych <= 0xED)
-          goto yy275;
-        if (yych <= 0xEF)
-          goto yy274;
-        goto yy276;
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy234;
       } else {
-        if (yych <= 0xF3)
-          goto yy277;
-        if (yych <= 0xF4)
-          goto yy278;
-        goto yy231;
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy234;
+        goto yy93;
       }
     }
-  yy257:
+  yy233:
     yych = *++p;
-    if (yych == 'D')
-      goto yy279;
-    if (yych == 'd')
-      goto yy279;
-    goto yy231;
-  yy258:
-    ++p;
-    yych = *p;
-    if (yych <= 0x1F) {
-      if (yych <= 0x08)
-        goto yy231;
-      if (yych <= '\r')
-        goto yy258;
-      goto yy231;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy235;
+      if (yych <= '/')
+        goto yy93;
     } else {
-      if (yych <= ' ')
-        goto yy258;
-      if (yych == '>')
-        goto yy252;
-      goto yy231;
-    }
-  yy260:
-    ++p;
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy234:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy237;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy236;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy236;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy236;
+        goto yy93;
+      }
+    }
+  yy235:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy237;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy236:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy239;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy238;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy238;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy238;
+        goto yy93;
+      }
+    }
+  yy237:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy239;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy238:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy241;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy240;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy240;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy240;
+        goto yy93;
+      }
+    }
+  yy239:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy241;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy240:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy243;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy242;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy242;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy242;
+        goto yy93;
+      }
+    }
+  yy241:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy243;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy242:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy245;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy244;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy244;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy244;
+        goto yy93;
+      }
+    }
+  yy243:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy245;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy244:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy247;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy246;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy246;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy246;
+        goto yy93;
+      }
+    }
+  yy245:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy247;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy246:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy249;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy248;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy248;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy248;
+        goto yy93;
+      }
+    }
+  yy247:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy249;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy248:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy251;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy250;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy250;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy250;
+        goto yy93;
+      }
+    }
+  yy249:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy251;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy250:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy253;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy252;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy252;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy252;
+        goto yy93;
+      }
+    }
+  yy251:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy253;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy252:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy255;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy254;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy254;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy254;
+        goto yy93;
+      }
+    }
+  yy253:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy255;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy254:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy257;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy256;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy256;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy256;
+        goto yy93;
+      }
+    }
+  yy255:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy257;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy256:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy259;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy258;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy258;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy258;
+        goto yy93;
+      }
+    }
+  yy257:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy259;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy258:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy261;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy260;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy260;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy260;
+        goto yy93;
+      }
+    }
+  yy259:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy261;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy260:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy263;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy262;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy262;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy262;
+        goto yy93;
+      }
+    }
+  yy261:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy263;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy262:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy265;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy264;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy264;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy264;
+        goto yy93;
+      }
+    }
+  yy263:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy265;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy264:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy267;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy266;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy266;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy266;
+        goto yy93;
+      }
+    }
+  yy265:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy267;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy266:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy269;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy268;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy268;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy268;
+        goto yy93;
+      }
+    }
+  yy267:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy269;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy268:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy271;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy270;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy270;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy270;
+        goto yy93;
+      }
+    }
+  yy269:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy271;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy270:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy273;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy272;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy272;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy272;
+        goto yy93;
+      }
+    }
+  yy271:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy273;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy272:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy275;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy274;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy274;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy274;
+        goto yy93;
+      }
+    }
+  yy273:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy275;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy274:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy277;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy276;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy276;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy276;
+        goto yy93;
+      }
+    }
+  yy275:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy277;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy276:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy279;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy278;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy278;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy278;
+        goto yy93;
+      }
+    }
+  yy277:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy279;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy278:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy281;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy280;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy280;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy280;
+        goto yy93;
+      }
+    }
+  yy279:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy281;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy280:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy283;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy282;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy282;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy282;
+        goto yy93;
+      }
+    }
+  yy281:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy283;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy282:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy285;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy284;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy284;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy284;
+        goto yy93;
+      }
+    }
+  yy283:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy285;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy284:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy287;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy286;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy286;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy286;
+        goto yy93;
+      }
+    }
+  yy285:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy287;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy286:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy289;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy288;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy288;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy288;
+        goto yy93;
+      }
+    }
+  yy287:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy289;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy288:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy291;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy290;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy290;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy290;
+        goto yy93;
+      }
+    }
+  yy289:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy291;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy290:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy293;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy292;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy292;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy292;
+        goto yy93;
+      }
+    }
+  yy291:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy293;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy292:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy295;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy294;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy294;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy294;
+        goto yy93;
+      }
+    }
+  yy293:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy295;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy294:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy297;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy296;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy296;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy296;
+        goto yy93;
+      }
+    }
+  yy295:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy297;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy296:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy299;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy298;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy298;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy298;
+        goto yy93;
+      }
+    }
+  yy297:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy299;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy298:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy301;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy300;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy300;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy300;
+        goto yy93;
+      }
+    }
+  yy299:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy301;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy300:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy303;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy302;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy302;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy302;
+        goto yy93;
+      }
+    }
+  yy301:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy303;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy302:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy305;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy304;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy304;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy304;
+        goto yy93;
+      }
+    }
+  yy303:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy305;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy304:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy307;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy306;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy306;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy306;
+        goto yy93;
+      }
+    }
+  yy305:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy307;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy306:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy309;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy308;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy308;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy308;
+        goto yy93;
+      }
+    }
+  yy307:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy309;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy308:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy311;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy310;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy310;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy310;
+        goto yy93;
+      }
+    }
+  yy309:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy311;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy310:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy313;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy312;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy312;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy312;
+        goto yy93;
+      }
+    }
+  yy311:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy313;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy312:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy315;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy314;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy314;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy314;
+        goto yy93;
+      }
+    }
+  yy313:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy315;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy314:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy317;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy316;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy316;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy316;
+        goto yy93;
+      }
+    }
+  yy315:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy317;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy316:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy319;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy318;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy318;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy318;
+        goto yy93;
+      }
+    }
+  yy317:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy319;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy318:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy321;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy320;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy320;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy320;
+        goto yy93;
+      }
+    }
+  yy319:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy321;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy320:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy323;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy322;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy322;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy322;
+        goto yy93;
+      }
+    }
+  yy321:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy323;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy322:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy325;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy324;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy324;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy324;
+        goto yy93;
+      }
+    }
+  yy323:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy325;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy324:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy327;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy326;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy326;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy326;
+        goto yy93;
+      }
+    }
+  yy325:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy327;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy326:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy329;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy328;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy328;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy328;
+        goto yy93;
+      }
+    }
+  yy327:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy329;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy328:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy331;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy330;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy330;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy330;
+        goto yy93;
+      }
+    }
+  yy329:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy331;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy330:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy333;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy332;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy332;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy332;
+        goto yy93;
+      }
+    }
+  yy331:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy333;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy332:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy335;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy334;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy334;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy334;
+        goto yy93;
+      }
+    }
+  yy333:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy335;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy334:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy337;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy336;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy336;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy336;
+        goto yy93;
+      }
+    }
+  yy335:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy337;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy336:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy339;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy338;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy338;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy338;
+        goto yy93;
+      }
+    }
+  yy337:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy339;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy338:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy341;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy340;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy340;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy340;
+        goto yy93;
+      }
+    }
+  yy339:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy341;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy340:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy343;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy342;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy342;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy342;
+        goto yy93;
+      }
+    }
+  yy341:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy343;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy342:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= ',')
+          goto yy93;
+        if (yych <= '-')
+          goto yy345;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy344;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy344;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy344;
+        goto yy93;
+      }
+    }
+  yy343:
+    yych = *++p;
+    if (yych <= '9') {
+      if (yych == '-')
+        goto yy345;
+      if (yych <= '/')
+        goto yy93;
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '@')
+          goto yy93;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych >= '{')
+          goto yy93;
+      }
+    }
+  yy344:
+    yych = *++p;
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych <= '-')
+          goto yy93;
+        goto yy99;
+      } else {
+        if (yych <= '/')
+          goto yy93;
+        if (yych <= '9')
+          goto yy225;
+        goto yy93;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy100;
+        if (yych <= '@')
+          goto yy93;
+        goto yy225;
+      } else {
+        if (yych <= '`')
+          goto yy93;
+        if (yych <= 'z')
+          goto yy225;
+        goto yy93;
+      }
+    }
+  yy345:
+    ++p;
+    if ((yych = *p) <= '@') {
+      if (yych <= '/')
+        goto yy93;
+      if (yych <= '9')
+        goto yy225;
+      goto yy93;
+    } else {
+      if (yych <= 'Z')
+        goto yy225;
+      if (yych <= '`')
+        goto yy93;
+      if (yych <= 'z')
+        goto yy225;
+      goto yy93;
+    }
+  }
+}
+
+// Try to match an HTML tag after first <, returning num of chars matched.
+bufsize_t _scan_html_tag(const unsigned char *p) {
+  const unsigned char *marker = NULL;
+  const unsigned char *start = p;
+
+  {
+    unsigned char yych;
+    static const unsigned char yybm[] = {
+        /* table 1 .. 8: 0 */
+        0, 239, 239, 239, 239, 239, 239, 239, 239, 238, 238, 238, 238, 238, 239,
+        239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+        239, 239, 239, 238, 239, 234, 239, 239, 239, 239, 236, 239, 239, 239,
+        239, 239, 207, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+        239, 239, 239, 238, 238, 174, 231, 239, 255, 255, 255, 255, 255, 255,
+        255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+        255, 255, 255, 255, 255, 255, 239, 239, 111, 239, 239, 238, 239, 239,
+        239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+        239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+        239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        /* table 9 .. 11: 256 */
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64, 64, 64, 64, 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,
+        160, 128, 0, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 128, 0,
+        0, 0, 0, 0, 0, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 0, 0, 0, 0, 128, 0, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    };
+    yych = *p;
+    if (yych <= '>') {
+      if (yych <= '!') {
+        if (yych >= '!')
+          goto yy350;
+      } else {
+        if (yych == '/')
+          goto yy351;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '?')
+          goto yy352;
+        if (yych >= 'A')
+          goto yy353;
+      } else {
+        if (yych <= '`')
+          goto yy348;
+        if (yych <= 'z')
+          goto yy353;
+      }
+    }
+  yy348:
+    ++p;
+  yy349 : { return 0; }
+  yy350:
+    yych = *(marker = ++p);
+    if (yybm[0 + yych] & 16) {
+      goto yy426;
+    }
+    if (yych == '-')
+      goto yy428;
+    if (yych <= '@')
+      goto yy349;
+    if (yych <= '[')
+      goto yy425;
+    goto yy349;
+  yy351:
+    yych = *(marker = ++p);
+    if (yych <= '@')
+      goto yy349;
+    if (yych <= 'Z')
+      goto yy421;
+    if (yych <= '`')
+      goto yy349;
+    if (yych <= 'z')
+      goto yy421;
+    goto yy349;
+  yy352:
+    yych = *(marker = ++p);
+    if (yych <= 0x00)
+      goto yy349;
+    if (yych <= 0x7F)
+      goto yy405;
+    if (yych <= 0xC1)
+      goto yy349;
+    if (yych <= 0xF4)
+      goto yy405;
+    goto yy349;
+  yy353:
+    yych = *(marker = ++p);
+    if (yybm[256 + yych] & 64) {
+      goto yy357;
+    }
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych != '-')
+          goto yy349;
+      } else {
+        if (yych <= '/')
+          goto yy359;
+        if (yych >= ':')
+          goto yy349;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy360;
+        if (yych <= '@')
+          goto yy349;
+      } else {
+        if (yych <= '`')
+          goto yy349;
+        if (yych >= '{')
+          goto yy349;
+      }
+    }
+  yy354:
+    ++p;
+    yych = *p;
+    if (yybm[256 + yych] & 64) {
+      goto yy357;
+    }
+    if (yych <= '=') {
+      if (yych <= '.') {
+        if (yych == '-')
+          goto yy354;
+      } else {
+        if (yych <= '/')
+          goto yy359;
+        if (yych <= '9')
+          goto yy354;
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '>')
+          goto yy360;
+        if (yych >= 'A')
+          goto yy354;
+      } else {
+        if (yych <= '`')
+          goto yy356;
+        if (yych <= 'z')
+          goto yy354;
+      }
+    }
+  yy356:
+    p = marker;
+    goto yy349;
+  yy357:
+    ++p;
+    yych = *p;
+    if (yybm[256 + yych] & 64) {
+      goto yy357;
+    }
+    if (yych <= '>') {
+      if (yych <= '9') {
+        if (yych != '/')
+          goto yy356;
+      } else {
+        if (yych <= ':')
+          goto yy362;
+        if (yych <= '=')
+          goto yy356;
+        goto yy360;
+      }
+    } else {
+      if (yych <= '^') {
+        if (yych <= '@')
+          goto yy356;
+        if (yych <= 'Z')
+          goto yy362;
+        goto yy356;
+      } else {
+        if (yych == '`')
+          goto yy356;
+        if (yych <= 'z')
+          goto yy362;
+        goto yy356;
+      }
+    }
+  yy359:
+    yych = *++p;
+    if (yych != '>')
+      goto yy356;
+  yy360:
+    ++p;
+    { return (bufsize_t)(p - start); }
+  yy362:
+    ++p;
+    yych = *p;
+    if (yybm[256 + yych] & 128) {
+      goto yy362;
+    }
+    if (yych <= ',') {
+      if (yych <= '\r') {
+        if (yych <= 0x08)
+          goto yy356;
+      } else {
+        if (yych != ' ')
+          goto yy356;
+      }
+    } else {
+      if (yych <= '<') {
+        if (yych <= '/')
+          goto yy359;
+        goto yy356;
+      } else {
+        if (yych <= '=')
+          goto yy366;
+        if (yych <= '>')
+          goto yy360;
+        goto yy356;
+      }
+    }
+  yy364:
+    ++p;
+    yych = *p;
+    if (yych <= '<') {
+      if (yych <= ' ') {
+        if (yych <= 0x08)
+          goto yy356;
+        if (yych <= '\r')
+          goto yy364;
+        if (yych <= 0x1F)
+          goto yy356;
+        goto yy364;
+      } else {
+        if (yych <= '/') {
+          if (yych <= '.')
+            goto yy356;
+          goto yy359;
+        } else {
+          if (yych == ':')
+            goto yy362;
+          goto yy356;
+        }
+      }
+    } else {
+      if (yych <= 'Z') {
+        if (yych <= '=')
+          goto yy366;
+        if (yych <= '>')
+          goto yy360;
+        if (yych <= '@')
+          goto yy356;
+        goto yy362;
+      } else {
+        if (yych <= '_') {
+          if (yych <= '^')
+            goto yy356;
+          goto yy362;
+        } else {
+          if (yych <= '`')
+            goto yy356;
+          if (yych <= 'z')
+            goto yy362;
+          goto yy356;
+        }
+      }
+    }
+  yy366:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 1) {
+      goto yy368;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '"') {
+        if (yych <= 0x00)
+          goto yy356;
+        if (yych >= '!')
+          goto yy379;
+      } else {
+        if (yych <= '\'')
+          goto yy377;
+        if (yych <= 0xC1)
+          goto yy356;
+        if (yych <= 0xDF)
+          goto yy370;
+        goto yy371;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy376;
+        goto yy372;
+      } else {
+        if (yych <= 0xF0)
+          goto yy373;
+        if (yych <= 0xF3)
+          goto yy374;
+        if (yych <= 0xF4)
+          goto yy375;
+        goto yy356;
+      }
+    }
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 1) {
+      goto yy368;
+    }
+    if (yych <= 0xDF) {
+      if (yych <= '\'') {
+        if (yych <= 0x00)
+          goto yy356;
+        if (yych <= ' ')
+          goto yy402;
+        if (yych <= '"')
+          goto yy379;
+        goto yy377;
+      } else {
+        if (yych == '>')
+          goto yy360;
+        if (yych <= 0xC1)
+          goto yy356;
+        goto yy370;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy371;
+        if (yych == 0xED)
+          goto yy376;
+        goto yy372;
+      } else {
+        if (yych <= 0xF0)
+          goto yy373;
+        if (yych <= 0xF3)
+          goto yy374;
+        if (yych <= 0xF4)
+          goto yy375;
+        goto yy356;
+      }
+    }
+  yy368:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 1) {
+      goto yy368;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '=') {
+        if (yych <= 0x00)
+          goto yy356;
+        if (yych <= ' ')
+          goto yy396;
+        goto yy356;
+      } else {
+        if (yych <= '>')
+          goto yy360;
+        if (yych <= 0xC1)
+          goto yy356;
+        if (yych >= 0xE0)
+          goto yy371;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy376;
+        goto yy372;
+      } else {
+        if (yych <= 0xF0)
+          goto yy373;
+        if (yych <= 0xF3)
+          goto yy374;
+        if (yych <= 0xF4)
+          goto yy375;
+        goto yy356;
+      }
+    }
+  yy370:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy368;
+    goto yy356;
+  yy371:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy370;
+    goto yy356;
+  yy372:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy370;
+    goto yy356;
+  yy373:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy372;
+    goto yy356;
+  yy374:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy372;
+    goto yy356;
+  yy375:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0x8F)
+      goto yy372;
+    goto yy356;
+  yy376:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0x9F)
+      goto yy370;
+    goto yy356;
+  yy377:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 2) {
+      goto yy377;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy356;
+        if (yych <= '\'')
+          goto yy388;
+        goto yy356;
+      } else {
+        if (yych <= 0xDF)
+          goto yy389;
+        if (yych <= 0xE0)
+          goto yy390;
+        goto yy391;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy395;
+        if (yych <= 0xEF)
+          goto yy391;
+        goto yy392;
+      } else {
+        if (yych <= 0xF3)
+          goto yy393;
+        if (yych <= 0xF4)
+          goto yy394;
+        goto yy356;
+      }
+    }
+  yy379:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 4) {
+      goto yy379;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy356;
+        if (yych <= '"')
+          goto yy388;
+        goto yy356;
+      } else {
+        if (yych <= 0xDF)
+          goto yy381;
+        if (yych <= 0xE0)
+          goto yy382;
+        goto yy383;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy387;
+        if (yych <= 0xEF)
+          goto yy383;
+        goto yy384;
+      } else {
+        if (yych <= 0xF3)
+          goto yy385;
+        if (yych <= 0xF4)
+          goto yy386;
+        goto yy356;
+      }
+    }
+  yy381:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy379;
+    goto yy356;
+  yy382:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy381;
+    goto yy356;
+  yy383:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy381;
+    goto yy356;
+  yy384:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy383;
+    goto yy356;
+  yy385:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy383;
+    goto yy356;
+  yy386:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0x8F)
+      goto yy383;
+    goto yy356;
+  yy387:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0x9F)
+      goto yy381;
+    goto yy356;
+  yy388:
+    ++p;
+    yych = *p;
+    if (yybm[256 + yych] & 64) {
+      goto yy357;
+    }
+    if (yych == '/')
+      goto yy359;
+    if (yych == '>')
+      goto yy360;
+    goto yy356;
+  yy389:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy377;
+    goto yy356;
+  yy390:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy389;
+    goto yy356;
+  yy391:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy389;
+    goto yy356;
+  yy392:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy391;
+    goto yy356;
+  yy393:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy391;
+    goto yy356;
+  yy394:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0x8F)
+      goto yy391;
+    goto yy356;
+  yy395:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0x9F)
+      goto yy389;
+    goto yy356;
+  yy396:
+    ++p;
+    yych = *p;
+    if (yych <= '@') {
+      if (yych <= '"') {
+        if (yych <= '\r') {
+          if (yych <= 0x00)
+            goto yy356;
+          if (yych <= 0x08)
+            goto yy368;
+          goto yy396;
+        } else {
+          if (yych == ' ')
+            goto yy396;
+          if (yych <= '!')
+            goto yy368;
+          goto yy356;
+        }
+      } else {
+        if (yych <= ':') {
+          if (yych == '\'')
+            goto yy356;
+          if (yych <= '9')
+            goto yy368;
+        } else {
+          if (yych <= ';')
+            goto yy368;
+          if (yych <= '=')
+            goto yy356;
+          if (yych <= '>')
+            goto yy360;
+          goto yy368;
+        }
+      }
+    } else {
+      if (yych <= 0xDF) {
+        if (yych <= '`') {
+          if (yych <= 'Z')
+            goto yy398;
+          if (yych <= '^')
+            goto yy368;
+          if (yych >= '`')
+            goto yy356;
+        } else {
+          if (yych <= 'z')
+            goto yy398;
+          if (yych <= 0x7F)
+            goto yy368;
+          if (yych <= 0xC1)
+            goto yy356;
+          goto yy370;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych <= 0xE0)
+            goto yy371;
+          if (yych == 0xED)
+            goto yy376;
+          goto yy372;
+        } else {
+          if (yych <= 0xF0)
+            goto yy373;
+          if (yych <= 0xF3)
+            goto yy374;
+          if (yych <= 0xF4)
+            goto yy375;
+          goto yy356;
+        }
+      }
+    }
+  yy398:
+    ++p;
     yych = *p;
-    if (yybm[0 + yych] & 4) {
-      goto yy260;
+    if (yych <= '>') {
+      if (yych <= '&') {
+        if (yych <= 0x1F) {
+          if (yych <= 0x00)
+            goto yy356;
+          if (yych <= 0x08)
+            goto yy368;
+          if (yych >= 0x0E)
+            goto yy368;
+        } else {
+          if (yych <= ' ')
+            goto yy400;
+          if (yych == '"')
+            goto yy356;
+          goto yy368;
+        }
+      } else {
+        if (yych <= '/') {
+          if (yych <= '\'')
+            goto yy356;
+          if (yych <= ',')
+            goto yy368;
+          if (yych <= '.')
+            goto yy398;
+          goto yy368;
+        } else {
+          if (yych <= ';') {
+            if (yych <= ':')
+              goto yy398;
+            goto yy368;
+          } else {
+            if (yych <= '<')
+              goto yy356;
+            if (yych <= '=')
+              goto yy366;
+            goto yy360;
+          }
+        }
+      }
+    } else {
+      if (yych <= 0xC1) {
+        if (yych <= '_') {
+          if (yych <= '@')
+            goto yy368;
+          if (yych <= 'Z')
+            goto yy398;
+          if (yych <= '^')
+            goto yy368;
+          goto yy398;
+        } else {
+          if (yych <= '`')
+            goto yy356;
+          if (yych <= 'z')
+            goto yy398;
+          if (yych <= 0x7F)
+            goto yy368;
+          goto yy356;
+        }
+      } else {
+        if (yych <= 0xED) {
+          if (yych <= 0xDF)
+            goto yy370;
+          if (yych <= 0xE0)
+            goto yy371;
+          if (yych <= 0xEC)
+            goto yy372;
+          goto yy376;
+        } else {
+          if (yych <= 0xF0) {
+            if (yych <= 0xEF)
+              goto yy372;
+            goto yy373;
+          } else {
+            if (yych <= 0xF3)
+              goto yy374;
+            if (yych <= 0xF4)
+              goto yy375;
+            goto yy356;
+          }
+        }
+      }
     }
-    if (yych <= ',') {
-      if (yych <= '\r') {
-        if (yych <= 0x08)
-          goto yy231;
-        goto yy280;
+  yy400:
+    ++p;
+    yych = *p;
+    if (yych <= '@') {
+      if (yych <= '&') {
+        if (yych <= 0x1F) {
+          if (yych <= 0x00)
+            goto yy356;
+          if (yych <= 0x08)
+            goto yy368;
+          if (yych <= '\r')
+            goto yy400;
+          goto yy368;
+        } else {
+          if (yych <= ' ')
+            goto yy400;
+          if (yych == '"')
+            goto yy356;
+          goto yy368;
+        }
       } else {
-        if (yych == ' ')
-          goto yy280;
-        goto yy231;
+        if (yych <= ';') {
+          if (yych <= '\'')
+            goto yy356;
+          if (yych == ':')
+            goto yy398;
+          goto yy368;
+        } else {
+          if (yych <= '<')
+            goto yy356;
+          if (yych <= '=')
+            goto yy366;
+          if (yych <= '>')
+            goto yy360;
+          goto yy368;
+        }
       }
     } else {
-      if (yych <= '<') {
-        if (yych <= '/')
-          goto yy251;
-        goto yy231;
+      if (yych <= 0xDF) {
+        if (yych <= '`') {
+          if (yych <= 'Z')
+            goto yy398;
+          if (yych <= '^')
+            goto yy368;
+          if (yych <= '_')
+            goto yy398;
+          goto yy356;
+        } else {
+          if (yych <= 'z')
+            goto yy398;
+          if (yych <= 0x7F)
+            goto yy368;
+          if (yych <= 0xC1)
+            goto yy356;
+          goto yy370;
+        }
       } else {
-        if (yych <= '=')
-          goto yy282;
-        if (yych <= '>')
-          goto yy252;
-        goto yy231;
+        if (yych <= 0xEF) {
+          if (yych <= 0xE0)
+            goto yy371;
+          if (yych == 0xED)
+            goto yy376;
+          goto yy372;
+        } else {
+          if (yych <= 0xF0)
+            goto yy373;
+          if (yych <= 0xF3)
+            goto yy374;
+          if (yych <= 0xF4)
+            goto yy375;
+          goto yy356;
+        }
       }
     }
-  yy262:
+  yy402:
     ++p;
     yych = *p;
-  yy263:
+    if (yych <= '@') {
+      if (yych <= '"') {
+        if (yych <= '\r') {
+          if (yych <= 0x00)
+            goto yy356;
+          if (yych <= 0x08)
+            goto yy368;
+          goto yy402;
+        } else {
+          if (yych == ' ')
+            goto yy402;
+          if (yych <= '!')
+            goto yy368;
+          goto yy379;
+        }
+      } else {
+        if (yych <= ':') {
+          if (yych == '\'')
+            goto yy377;
+          if (yych <= '9')
+            goto yy368;
+          goto yy398;
+        } else {
+          if (yych <= ';')
+            goto yy368;
+          if (yych <= '=')
+            goto yy356;
+          if (yych <= '>')
+            goto yy360;
+          goto yy368;
+        }
+      }
+    } else {
+      if (yych <= 0xDF) {
+        if (yych <= '`') {
+          if (yych <= 'Z')
+            goto yy398;
+          if (yych <= '^')
+            goto yy368;
+          if (yych <= '_')
+            goto yy398;
+          goto yy356;
+        } else {
+          if (yych <= 'z')
+            goto yy398;
+          if (yych <= 0x7F)
+            goto yy368;
+          if (yych <= 0xC1)
+            goto yy356;
+          goto yy370;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych <= 0xE0)
+            goto yy371;
+          if (yych == 0xED)
+            goto yy376;
+          goto yy372;
+        } else {
+          if (yych <= 0xF0)
+            goto yy373;
+          if (yych <= 0xF3)
+            goto yy374;
+          if (yych <= 0xF4)
+            goto yy375;
+          goto yy356;
+        }
+      }
+    }
+  yy404:
+    ++p;
+    yych = *p;
+  yy405:
     if (yybm[0 + yych] & 8) {
-      goto yy262;
+      goto yy404;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= 0x00)
-          goto yy231;
-        if (yych <= '-')
-          goto yy283;
-        goto yy231;
+          goto yy356;
+        if (yych <= '?')
+          goto yy413;
+        goto yy356;
       } else {
         if (yych <= 0xDF)
-          goto yy265;
+          goto yy406;
         if (yych <= 0xE0)
-          goto yy266;
-        goto yy267;
+          goto yy407;
+        goto yy408;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy268;
+          goto yy412;
         if (yych <= 0xEF)
-          goto yy267;
-        goto yy269;
+          goto yy408;
+        goto yy409;
       } else {
         if (yych <= 0xF3)
-          goto yy270;
+          goto yy410;
         if (yych <= 0xF4)
-          goto yy271;
-        goto yy231;
+          goto yy411;
+        goto yy356;
       }
     }
-  yy264:
-    yych = *++p;
-    if (yych == '-')
-      goto yy251;
-    if (yych == '>')
-      goto yy231;
-    goto yy263;
-  yy265:
+  yy406:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy262;
-    goto yy231;
-  yy266:
+      goto yy404;
+    goto yy356;
+  yy407:
     ++p;
     yych = *p;
     if (yych <= 0x9F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy265;
-    goto yy231;
-  yy267:
+      goto yy406;
+    goto yy356;
+  yy408:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy265;
-    goto yy231;
-  yy268:
+      goto yy406;
+    goto yy356;
+  yy409:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy408;
+    goto yy356;
+  yy410:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0x9F)
-      goto yy265;
-    goto yy231;
-  yy269:
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy408;
+    goto yy356;
+  yy411:
     ++p;
     yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
     if (yych <= 0x8F)
-      goto yy231;
-    if (yych <= 0xBF)
-      goto yy267;
-    goto yy231;
-  yy270:
+      goto yy408;
+    goto yy356;
+  yy412:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0xBF)
-      goto yy267;
-    goto yy231;
-  yy271:
+      goto yy356;
+    if (yych <= 0x9F)
+      goto yy406;
+    goto yy356;
+  yy413:
     ++p;
     yych = *p;
-    if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0x8F)
-      goto yy267;
-    goto yy231;
-  yy272:
+    if (yych <= 0xE0) {
+      if (yych <= '>') {
+        if (yych <= 0x00)
+          goto yy356;
+        if (yych <= '=')
+          goto yy404;
+        goto yy360;
+      } else {
+        if (yych <= 0x7F)
+          goto yy404;
+        if (yych <= 0xC1)
+          goto yy356;
+        if (yych >= 0xE0)
+          goto yy415;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy420;
+        goto yy416;
+      } else {
+        if (yych <= 0xF0)
+          goto yy417;
+        if (yych <= 0xF3)
+          goto yy418;
+        if (yych <= 0xF4)
+          goto yy419;
+        goto yy356;
+      }
+    }
+  yy414:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy255;
-    goto yy231;
-  yy273:
+      goto yy404;
+    goto yy356;
+  yy415:
     ++p;
     yych = *p;
     if (yych <= 0x9F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy272;
-    goto yy231;
-  yy274:
+      goto yy414;
+    goto yy356;
+  yy416:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy272;
-    goto yy231;
-  yy275:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0x9F)
-      goto yy272;
-    goto yy231;
-  yy276:
+      goto yy414;
+    goto yy356;
+  yy417:
     ++p;
     yych = *p;
     if (yych <= 0x8F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy274;
-    goto yy231;
-  yy277:
+      goto yy416;
+    goto yy356;
+  yy418:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy274;
-    goto yy231;
-  yy278:
+      goto yy416;
+    goto yy356;
+  yy419:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0x8F)
-      goto yy274;
-    goto yy231;
-  yy279:
-    yych = *++p;
-    if (yych == 'A')
-      goto yy284;
-    if (yych == 'a')
-      goto yy284;
-    goto yy231;
-  yy280:
+      goto yy416;
+    goto yy356;
+  yy420:
     ++p;
     yych = *p;
-    if (yych <= '<') {
-      if (yych <= ' ') {
-        if (yych <= 0x08)
-          goto yy231;
-        if (yych <= '\r')
-          goto yy280;
-        if (yych <= 0x1F)
-          goto yy231;
-        goto yy280;
-      } else {
-        if (yych <= '/') {
-          if (yych <= '.')
-            goto yy231;
-          goto yy251;
-        } else {
-          if (yych == ':')
-            goto yy260;
-          goto yy231;
-        }
-      }
-    } else {
-      if (yych <= 'Z') {
-        if (yych <= '=')
-          goto yy282;
-        if (yych <= '>')
-          goto yy252;
-        if (yych <= '@')
-          goto yy231;
-        goto yy260;
-      } else {
-        if (yych <= '_') {
-          if (yych <= '^')
-            goto yy231;
-          goto yy260;
-        } else {
-          if (yych <= '`')
-            goto yy231;
-          if (yych <= 'z')
-            goto yy260;
-          goto yy231;
-        }
-      }
-    }
-  yy282:
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0x9F)
+      goto yy414;
+    goto yy356;
+  yy421:
     ++p;
     yych = *p;
-    if (yybm[0 + yych] & 16) {
-      goto yy285;
-    }
-    if (yych <= 0xE0) {
-      if (yych <= '"') {
-        if (yych <= 0x00)
-          goto yy231;
-        if (yych <= ' ')
-          goto yy287;
-        goto yy288;
+    if (yych <= '/') {
+      if (yych <= 0x1F) {
+        if (yych <= 0x08)
+          goto yy356;
+        if (yych >= 0x0E)
+          goto yy356;
       } else {
-        if (yych <= '\'')
-          goto yy290;
-        if (yych <= 0xC1)
-          goto yy231;
-        if (yych <= 0xDF)
-          goto yy292;
-        goto yy293;
+        if (yych <= ' ')
+          goto yy423;
+        if (yych == '-')
+          goto yy421;
+        goto yy356;
       }
     } else {
-      if (yych <= 0xEF) {
-        if (yych == 0xED)
-          goto yy295;
-        goto yy294;
+      if (yych <= '@') {
+        if (yych <= '9')
+          goto yy421;
+        if (yych == '>')
+          goto yy360;
+        goto yy356;
       } else {
-        if (yych <= 0xF0)
-          goto yy296;
-        if (yych <= 0xF3)
-          goto yy297;
-        if (yych <= 0xF4)
-          goto yy298;
-        goto yy231;
+        if (yych <= 'Z')
+          goto yy421;
+        if (yych <= '`')
+          goto yy356;
+        if (yych <= 'z')
+          goto yy421;
+        goto yy356;
       }
     }
-  yy283:
+  yy423:
     ++p;
     yych = *p;
-    if (yybm[0 + yych] & 8) {
-      goto yy262;
-    }
-    if (yych <= 0xEC) {
-      if (yych <= 0xC1) {
-        if (yych <= 0x00)
-          goto yy231;
-        if (yych <= '-')
-          goto yy251;
-        goto yy231;
-      } else {
-        if (yych <= 0xDF)
-          goto yy265;
-        if (yych <= 0xE0)
-          goto yy266;
-        goto yy267;
-      }
+    if (yych <= 0x1F) {
+      if (yych <= 0x08)
+        goto yy356;
+      if (yych <= '\r')
+        goto yy423;
+      goto yy356;
     } else {
-      if (yych <= 0xF0) {
-        if (yych <= 0xED)
-          goto yy268;
-        if (yych <= 0xEF)
-          goto yy267;
-        goto yy269;
-      } else {
-        if (yych <= 0xF3)
-          goto yy270;
-        if (yych <= 0xF4)
-          goto yy271;
-        goto yy231;
-      }
+      if (yych <= ' ')
+        goto yy423;
+      if (yych == '>')
+        goto yy360;
+      goto yy356;
     }
-  yy284:
+  yy425:
     yych = *++p;
-    if (yych == 'T')
-      goto yy299;
-    if (yych == 't')
-      goto yy299;
-    goto yy231;
-  yy285:
+    if (yych == 'C')
+      goto yy461;
+    if (yych == 'c')
+      goto yy461;
+    goto yy356;
+  yy426:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 16) {
-      goto yy285;
+      goto yy426;
     }
+    if (yych <= 0x08)
+      goto yy356;
+    if (yych <= '\r')
+      goto yy450;
+    if (yych == ' ')
+      goto yy450;
+    goto yy356;
+  yy428:
+    yych = *++p;
+    if (yych != '-')
+      goto yy356;
+    yych = *++p;
     if (yych <= 0xE0) {
       if (yych <= '=') {
-        if (yych <= 0x00)
-          goto yy231;
-        if (yych <= ' ')
-          goto yy300;
-        goto yy231;
+        if (yych != '-')
+          goto yy432;
       } else {
         if (yych <= '>')
-          goto yy252;
-        if (yych <= 0xC1)
-          goto yy231;
-        if (yych <= 0xDF)
-          goto yy292;
-        goto yy293;
-      }
-    } else {
-      if (yych <= 0xEF) {
-        if (yych == 0xED)
-          goto yy295;
-        goto yy294;
-      } else {
-        if (yych <= 0xF0)
-          goto yy296;
-        if (yych <= 0xF3)
-          goto yy297;
-        if (yych <= 0xF4)
-          goto yy298;
-        goto yy231;
-      }
-    }
-  yy287:
-    ++p;
-    yych = *p;
-    if (yybm[0 + yych] & 16) {
-      goto yy285;
-    }
-    if (yych <= 0xDF) {
-      if (yych <= '\'') {
-        if (yych <= 0x00)
-          goto yy231;
-        if (yych <= ' ')
-          goto yy302;
-        if (yych >= '#')
-          goto yy290;
-      } else {
-        if (yych == '>')
-          goto yy252;
-        if (yych <= 0xC1)
-          goto yy231;
-        goto yy292;
+          goto yy356;
+        if (yych <= 0xC1)
+          goto yy432;
+        if (yych <= 0xDF)
+          goto yy433;
+        goto yy434;
       }
     } else {
       if (yych <= 0xEF) {
-        if (yych <= 0xE0)
-          goto yy293;
         if (yych == 0xED)
-          goto yy295;
-        goto yy294;
+          goto yy439;
+        goto yy435;
       } else {
         if (yych <= 0xF0)
-          goto yy296;
+          goto yy436;
         if (yych <= 0xF3)
-          goto yy297;
+          goto yy437;
         if (yych <= 0xF4)
-          goto yy298;
-        goto yy231;
+          goto yy438;
+        goto yy432;
       }
     }
-  yy288:
-    ++p;
-    yych = *p;
-    if (yybm[0 + yych] & 32) {
-      goto yy288;
-    }
-    if (yych <= 0xEC) {
-      if (yych <= 0xC1) {
-        if (yych <= 0x00)
-          goto yy231;
-        if (yych <= '"')
-          goto yy304;
-        goto yy231;
+    yych = *++p;
+    if (yych <= 0xE0) {
+      if (yych <= '=') {
+        if (yych == '-')
+          goto yy449;
+        goto yy432;
       } else {
+        if (yych <= '>')
+          goto yy356;
+        if (yych <= 0xC1)
+          goto yy432;
         if (yych <= 0xDF)
-          goto yy305;
-        if (yych <= 0xE0)
-          goto yy306;
-        goto yy307;
+          goto yy433;
+        goto yy434;
       }
     } else {
-      if (yych <= 0xF0) {
-        if (yych <= 0xED)
-          goto yy308;
-        if (yych <= 0xEF)
-          goto yy307;
-        goto yy309;
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy439;
+        goto yy435;
       } else {
+        if (yych <= 0xF0)
+          goto yy436;
         if (yych <= 0xF3)
-          goto yy310;
+          goto yy437;
         if (yych <= 0xF4)
-          goto yy311;
-        goto yy231;
+          goto yy438;
+        goto yy432;
       }
     }
-  yy290:
+  yy431:
     ++p;
     yych = *p;
-    if (yybm[0 + yych] & 64) {
-      goto yy290;
+  yy432:
+    if (yybm[0 + yych] & 32) {
+      goto yy431;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= 0x00)
-          goto yy231;
-        if (yych <= '\'')
-          goto yy304;
-        goto yy231;
+          goto yy356;
+        if (yych <= '-')
+          goto yy440;
+        goto yy356;
       } else {
         if (yych <= 0xDF)
-          goto yy312;
+          goto yy441;
         if (yych <= 0xE0)
-          goto yy313;
-        goto yy314;
+          goto yy442;
+        goto yy443;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy315;
+          goto yy447;
         if (yych <= 0xEF)
-          goto yy314;
-        goto yy316;
+          goto yy443;
+        goto yy444;
       } else {
         if (yych <= 0xF3)
-          goto yy317;
+          goto yy445;
         if (yych <= 0xF4)
-          goto yy318;
-        goto yy231;
+          goto yy446;
+        goto yy356;
       }
     }
-  yy292:
-    ++p;
-    yych = *p;
+  yy433:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy285;
-    goto yy231;
-  yy293:
-    ++p;
-    yych = *p;
+      goto yy431;
+    goto yy356;
+  yy434:
+    yych = *++p;
     if (yych <= 0x9F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy292;
-    goto yy231;
-  yy294:
-    ++p;
-    yych = *p;
+      goto yy433;
+    goto yy356;
+  yy435:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy292;
-    goto yy231;
-  yy295:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0x9F)
-      goto yy292;
-    goto yy231;
-  yy296:
-    ++p;
-    yych = *p;
+      goto yy433;
+    goto yy356;
+  yy436:
+    yych = *++p;
     if (yych <= 0x8F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy294;
-    goto yy231;
-  yy297:
-    ++p;
-    yych = *p;
+      goto yy435;
+    goto yy356;
+  yy437:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy294;
-    goto yy231;
-  yy298:
-    ++p;
-    yych = *p;
+      goto yy435;
+    goto yy356;
+  yy438:
+    yych = *++p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0x8F)
-      goto yy294;
-    goto yy231;
-  yy299:
+      goto yy435;
+    goto yy356;
+  yy439:
     yych = *++p;
-    if (yych == 'A')
-      goto yy319;
-    if (yych == 'a')
-      goto yy319;
-    goto yy231;
-  yy300:
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0x9F)
+      goto yy433;
+    goto yy356;
+  yy440:
     ++p;
     yych = *p;
-    if (yych <= '@') {
-      if (yych <= '"') {
-        if (yych <= '\r') {
-          if (yych <= 0x00)
-            goto yy231;
-          if (yych <= 0x08)
-            goto yy285;
-          goto yy300;
-        } else {
-          if (yych == ' ')
-            goto yy300;
-          if (yych <= '!')
-            goto yy285;
-          goto yy231;
-        }
-      } else {
-        if (yych <= ':') {
-          if (yych == '\'')
-            goto yy231;
-          if (yych <= '9')
-            goto yy285;
-          goto yy320;
-        } else {
-          if (yych <= ';')
-            goto yy285;
-          if (yych <= '=')
-            goto yy231;
-          if (yych <= '>')
-            goto yy252;
-          goto yy285;
-        }
-      }
-    } else {
-      if (yych <= 0xDF) {
-        if (yych <= '`') {
-          if (yych <= 'Z')
-            goto yy320;
-          if (yych <= '^')
-            goto yy285;
-          if (yych <= '_')
-            goto yy320;
-          goto yy231;
-        } else {
-          if (yych <= 'z')
-            goto yy320;
-          if (yych <= 0x7F)
-            goto yy285;
-          if (yych <= 0xC1)
-            goto yy231;
-          goto yy292;
-        }
-      } else {
-        if (yych <= 0xEF) {
-          if (yych <= 0xE0)
-            goto yy293;
-          if (yych == 0xED)
-            goto yy295;
-          goto yy294;
-        } else {
-          if (yych <= 0xF0)
-            goto yy296;
-          if (yych <= 0xF3)
-            goto yy297;
-          if (yych <= 0xF4)
-            goto yy298;
-          goto yy231;
-        }
-      }
+    if (yybm[0 + yych] & 32) {
+      goto yy431;
     }
-  yy302:
-    ++p;
-    yych = *p;
-    if (yych <= '@') {
-      if (yych <= '"') {
-        if (yych <= '\r') {
-          if (yych <= 0x00)
-            goto yy231;
-          if (yych <= 0x08)
-            goto yy285;
-          goto yy302;
-        } else {
-          if (yych == ' ')
-            goto yy302;
-          if (yych <= '!')
-            goto yy285;
-          goto yy288;
-        }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy356;
+        if (yych <= '-')
+          goto yy448;
+        goto yy356;
       } else {
-        if (yych <= ':') {
-          if (yych == '\'')
-            goto yy290;
-          if (yych <= '9')
-            goto yy285;
-          goto yy320;
-        } else {
-          if (yych <= ';')
-            goto yy285;
-          if (yych <= '=')
-            goto yy231;
-          if (yych <= '>')
-            goto yy252;
-          goto yy285;
-        }
+        if (yych <= 0xDF)
+          goto yy441;
+        if (yych <= 0xE0)
+          goto yy442;
+        goto yy443;
       }
     } else {
-      if (yych <= 0xDF) {
-        if (yych <= '`') {
-          if (yych <= 'Z')
-            goto yy320;
-          if (yych <= '^')
-            goto yy285;
-          if (yych <= '_')
-            goto yy320;
-          goto yy231;
-        } else {
-          if (yych <= 'z')
-            goto yy320;
-          if (yych <= 0x7F)
-            goto yy285;
-          if (yych <= 0xC1)
-            goto yy231;
-          goto yy292;
-        }
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy447;
+        if (yych <= 0xEF)
+          goto yy443;
+        goto yy444;
       } else {
-        if (yych <= 0xEF) {
-          if (yych <= 0xE0)
-            goto yy293;
-          if (yych == 0xED)
-            goto yy295;
-          goto yy294;
-        } else {
-          if (yych <= 0xF0)
-            goto yy296;
-          if (yych <= 0xF3)
-            goto yy297;
-          if (yych <= 0xF4)
-            goto yy298;
-          goto yy231;
-        }
+        if (yych <= 0xF3)
+          goto yy445;
+        if (yych <= 0xF4)
+          goto yy446;
+        goto yy356;
       }
     }
-  yy304:
-    ++p;
-    yych = *p;
-    if (yybm[0 + yych] & 1) {
-      goto yy247;
-    }
-    if (yych == '/')
-      goto yy251;
-    if (yych == '>')
-      goto yy252;
-    goto yy231;
-  yy305:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0xBF)
-      goto yy288;
-    goto yy231;
-  yy306:
-    ++p;
-    yych = *p;
-    if (yych <= 0x9F)
-      goto yy231;
-    if (yych <= 0xBF)
-      goto yy305;
-    goto yy231;
-  yy307:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0xBF)
-      goto yy305;
-    goto yy231;
-  yy308:
+  yy441:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0x9F)
-      goto yy305;
-    goto yy231;
-  yy309:
-    ++p;
-    yych = *p;
-    if (yych <= 0x8F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy307;
-    goto yy231;
-  yy310:
+      goto yy431;
+    goto yy356;
+  yy442:
     ++p;
     yych = *p;
-    if (yych <= 0x7F)
-      goto yy231;
+    if (yych <= 0x9F)
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy307;
-    goto yy231;
-  yy311:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0x8F)
-      goto yy307;
-    goto yy231;
-  yy312:
+      goto yy441;
+    goto yy356;
+  yy443:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy290;
-    goto yy231;
-  yy313:
+      goto yy441;
+    goto yy356;
+  yy444:
     ++p;
     yych = *p;
-    if (yych <= 0x9F)
-      goto yy231;
+    if (yych <= 0x8F)
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy312;
-    goto yy231;
-  yy314:
+      goto yy443;
+    goto yy356;
+  yy445:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy312;
-    goto yy231;
-  yy315:
+      goto yy443;
+    goto yy356;
+  yy446:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0x9F)
-      goto yy312;
-    goto yy231;
-  yy316:
-    ++p;
-    yych = *p;
+      goto yy356;
     if (yych <= 0x8F)
-      goto yy231;
-    if (yych <= 0xBF)
-      goto yy314;
-    goto yy231;
-  yy317:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0xBF)
-      goto yy314;
-    goto yy231;
-  yy318:
+      goto yy443;
+    goto yy356;
+  yy447:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0x8F)
-      goto yy314;
-    goto yy231;
-  yy319:
+      goto yy356;
+    if (yych <= 0x9F)
+      goto yy441;
+    goto yy356;
+  yy448:
     yych = *++p;
-    if (yych == '[')
-      goto yy322;
-    goto yy231;
-  yy320:
+    if (yych == '>')
+      goto yy360;
+    goto yy356;
+  yy449:
+    yych = *++p;
+    if (yych == '>')
+      goto yy360;
+    goto yy356;
+  yy450:
     ++p;
     yych = *p;
-    if (yych <= '>') {
-      if (yych <= '&') {
-        if (yych <= 0x1F) {
-          if (yych <= 0x00)
-            goto yy231;
-          if (yych <= 0x08)
-            goto yy285;
-          if (yych <= '\r')
-            goto yy324;
-          goto yy285;
-        } else {
-          if (yych <= ' ')
-            goto yy324;
-          if (yych == '"')
-            goto yy231;
-          goto yy285;
-        }
+    if (yych <= 0xC1) {
+      if (yych <= 0x1F) {
+        if (yych <= 0x00)
+          goto yy356;
+        if (yych <= 0x08)
+          goto yy452;
+        if (yych <= '\r')
+          goto yy450;
       } else {
-        if (yych <= '/') {
-          if (yych <= '\'')
-            goto yy231;
-          if (yych <= ',')
-            goto yy285;
-          if (yych <= '.')
-            goto yy320;
-          goto yy285;
+        if (yych <= '=') {
+          if (yych <= ' ')
+            goto yy450;
         } else {
-          if (yych <= ';') {
-            if (yych <= ':')
-              goto yy320;
-            goto yy285;
-          } else {
-            if (yych <= '<')
-              goto yy231;
-            if (yych <= '=')
-              goto yy282;
-            goto yy252;
-          }
+          if (yych <= '>')
+            goto yy360;
+          if (yych >= 0x80)
+            goto yy356;
         }
       }
     } else {
-      if (yych <= 0xC1) {
-        if (yych <= '_') {
-          if (yych <= '@')
-            goto yy285;
-          if (yych <= 'Z')
-            goto yy320;
-          if (yych <= '^')
-            goto yy285;
-          goto yy320;
-        } else {
-          if (yych <= '`')
-            goto yy231;
-          if (yych <= 'z')
-            goto yy320;
-          if (yych <= 0x7F)
-            goto yy285;
-          goto yy231;
-        }
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy454;
+        if (yych <= 0xE0)
+          goto yy455;
+        if (yych <= 0xEC)
+          goto yy456;
+        goto yy460;
       } else {
-        if (yych <= 0xED) {
-          if (yych <= 0xDF)
-            goto yy292;
-          if (yych <= 0xE0)
-            goto yy293;
-          if (yych <= 0xEC)
-            goto yy294;
-          goto yy295;
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy456;
+          goto yy457;
         } else {
-          if (yych <= 0xF0) {
-            if (yych <= 0xEF)
-              goto yy294;
-            goto yy296;
-          } else {
-            if (yych <= 0xF3)
-              goto yy297;
-            if (yych <= 0xF4)
-              goto yy298;
-            goto yy231;
-          }
+          if (yych <= 0xF3)
+            goto yy458;
+          if (yych <= 0xF4)
+            goto yy459;
+          goto yy356;
         }
       }
     }
-  yy322:
+  yy452:
     ++p;
     yych = *p;
-    if (yybm[0 + yych] & 128) {
-      goto yy322;
+    if (yybm[0 + yych] & 64) {
+      goto yy452;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= 0x00)
-          goto yy231;
-        if (yych <= ']')
-          goto yy326;
-        goto yy231;
+          goto yy356;
+        if (yych <= '>')
+          goto yy360;
+        goto yy356;
       } else {
         if (yych <= 0xDF)
-          goto yy327;
+          goto yy454;
         if (yych <= 0xE0)
-          goto yy328;
-        goto yy329;
+          goto yy455;
+        goto yy456;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy330;
+          goto yy460;
         if (yych <= 0xEF)
-          goto yy329;
-        goto yy331;
+          goto yy456;
+        goto yy457;
       } else {
         if (yych <= 0xF3)
-          goto yy332;
+          goto yy458;
         if (yych <= 0xF4)
-          goto yy333;
-        goto yy231;
+          goto yy459;
+        goto yy356;
       }
     }
-  yy324:
+  yy454:
     ++p;
     yych = *p;
-    if (yych <= '@') {
-      if (yych <= '&') {
-        if (yych <= 0x1F) {
-          if (yych <= 0x00)
-            goto yy231;
-          if (yych <= 0x08)
-            goto yy285;
-          if (yych <= '\r')
-            goto yy324;
-          goto yy285;
-        } else {
-          if (yych <= ' ')
-            goto yy324;
-          if (yych == '"')
-            goto yy231;
-          goto yy285;
-        }
-      } else {
-        if (yych <= ';') {
-          if (yych <= '\'')
-            goto yy231;
-          if (yych == ':')
-            goto yy320;
-          goto yy285;
-        } else {
-          if (yych <= '<')
-            goto yy231;
-          if (yych <= '=')
-            goto yy282;
-          if (yych <= '>')
-            goto yy252;
-          goto yy285;
-        }
-      }
-    } else {
-      if (yych <= 0xDF) {
-        if (yych <= '`') {
-          if (yych <= 'Z')
-            goto yy320;
-          if (yych <= '^')
-            goto yy285;
-          if (yych <= '_')
-            goto yy320;
-          goto yy231;
-        } else {
-          if (yych <= 'z')
-            goto yy320;
-          if (yych <= 0x7F)
-            goto yy285;
-          if (yych <= 0xC1)
-            goto yy231;
-          goto yy292;
-        }
-      } else {
-        if (yych <= 0xEF) {
-          if (yych <= 0xE0)
-            goto yy293;
-          if (yych == 0xED)
-            goto yy295;
-          goto yy294;
-        } else {
-          if (yych <= 0xF0)
-            goto yy296;
-          if (yych <= 0xF3)
-            goto yy297;
-          if (yych <= 0xF4)
-            goto yy298;
-          goto yy231;
-        }
-      }
-    }
-  yy326:
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy452;
+    goto yy356;
+  yy455:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy454;
+    goto yy356;
+  yy456:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy454;
+    goto yy356;
+  yy457:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy456;
+    goto yy356;
+  yy458:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy456;
+    goto yy356;
+  yy459:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0x8F)
+      goto yy456;
+    goto yy356;
+  yy460:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0x9F)
+      goto yy454;
+    goto yy356;
+  yy461:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy462;
+    if (yych != 'd')
+      goto yy356;
+  yy462:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy463;
+    if (yych != 'a')
+      goto yy356;
+  yy463:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy464;
+    if (yych != 't')
+      goto yy356;
+  yy464:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy465;
+    if (yych != 'a')
+      goto yy356;
+  yy465:
+    yych = *++p;
+    if (yych != '[')
+      goto yy356;
+  yy466:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy322;
+      goto yy466;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= 0x00)
-          goto yy231;
+          goto yy356;
         if (yych <= ']')
-          goto yy334;
-        goto yy231;
+          goto yy475;
+        goto yy356;
       } else {
         if (yych <= 0xDF)
-          goto yy327;
+          goto yy468;
         if (yych <= 0xE0)
-          goto yy328;
-        goto yy329;
+          goto yy469;
+        goto yy470;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy330;
+          goto yy474;
         if (yych <= 0xEF)
-          goto yy329;
-        goto yy331;
+          goto yy470;
+        goto yy471;
       } else {
         if (yych <= 0xF3)
-          goto yy332;
+          goto yy472;
         if (yych <= 0xF4)
-          goto yy333;
-        goto yy231;
+          goto yy473;
+        goto yy356;
       }
     }
-  yy327:
+  yy468:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy322;
-    goto yy231;
-  yy328:
+      goto yy466;
+    goto yy356;
+  yy469:
     ++p;
     yych = *p;
     if (yych <= 0x9F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy327;
-    goto yy231;
-  yy329:
+      goto yy468;
+    goto yy356;
+  yy470:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy327;
-    goto yy231;
-  yy330:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy231;
-    if (yych <= 0x9F)
-      goto yy327;
-    goto yy231;
-  yy331:
+      goto yy468;
+    goto yy356;
+  yy471:
     ++p;
     yych = *p;
     if (yych <= 0x8F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy329;
-    goto yy231;
-  yy332:
+      goto yy470;
+    goto yy356;
+  yy472:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0xBF)
-      goto yy329;
-    goto yy231;
-  yy333:
+      goto yy470;
+    goto yy356;
+  yy473:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy231;
+      goto yy356;
     if (yych <= 0x8F)
-      goto yy329;
-    goto yy231;
-  yy334:
+      goto yy470;
+    goto yy356;
+  yy474:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0x9F)
+      goto yy468;
+    goto yy356;
+  yy475:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy466;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy356;
+        if (yych >= '^')
+          goto yy356;
+      } else {
+        if (yych <= 0xDF)
+          goto yy477;
+        if (yych <= 0xE0)
+          goto yy478;
+        goto yy479;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy483;
+        if (yych <= 0xEF)
+          goto yy479;
+        goto yy480;
+      } else {
+        if (yych <= 0xF3)
+          goto yy481;
+        if (yych <= 0xF4)
+          goto yy482;
+        goto yy356;
+      }
+    }
     ++p;
     yych = *p;
     if (yych <= 0xE0) {
       if (yych <= '>') {
         if (yych <= 0x00)
-          goto yy231;
+          goto yy356;
         if (yych <= '=')
-          goto yy322;
-        goto yy252;
+          goto yy466;
+        goto yy360;
       } else {
         if (yych <= 0x7F)
-          goto yy322;
+          goto yy466;
         if (yych <= 0xC1)
-          goto yy231;
+          goto yy356;
         if (yych <= 0xDF)
-          goto yy327;
-        goto yy328;
+          goto yy484;
+        goto yy485;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy330;
-        goto yy329;
+          goto yy490;
+        goto yy486;
       } else {
         if (yych <= 0xF0)
-          goto yy331;
+          goto yy487;
         if (yych <= 0xF3)
-          goto yy332;
+          goto yy488;
         if (yych <= 0xF4)
-          goto yy333;
-        goto yy231;
+          goto yy489;
+        goto yy356;
       }
     }
+  yy477:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy466;
+    goto yy356;
+  yy478:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy477;
+    goto yy356;
+  yy479:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy477;
+    goto yy356;
+  yy480:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy479;
+    goto yy356;
+  yy481:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy479;
+    goto yy356;
+  yy482:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0x8F)
+      goto yy479;
+    goto yy356;
+  yy483:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0x9F)
+      goto yy477;
+    goto yy356;
+  yy484:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy466;
+    goto yy356;
+  yy485:
+    ++p;
+    yych = *p;
+    if (yych <= 0x9F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy484;
+    goto yy356;
+  yy486:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy484;
+    goto yy356;
+  yy487:
+    ++p;
+    yych = *p;
+    if (yych <= 0x8F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy486;
+    goto yy356;
+  yy488:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0xBF)
+      goto yy486;
+    goto yy356;
+  yy489:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0x8F)
+      goto yy486;
+    goto yy356;
+  yy490:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy356;
+    if (yych <= 0x9F)
+      goto yy484;
+    goto yy356;
   }
 }
 
@@ -6549,216 +9754,239 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
     unsigned char yych;
     yych = *p;
     if (yych == '<')
-      goto yy339;
+      goto yy495;
     ++p;
-  yy338 : { return 0; }
-  yy339:
+  yy494 : { return 0; }
+  yy495:
     yych = *(marker = ++p);
     switch (yych) {
     case '!':
-      goto yy340;
+      goto yy513;
     case '/':
-      goto yy342;
+      goto yy496;
     case '?':
-      goto yy343;
+      goto yy514;
     case 'A':
     case 'a':
-      goto yy345;
+      goto yy499;
     case 'B':
     case 'b':
-      goto yy346;
+      goto yy500;
     case 'C':
     case 'c':
-      goto yy347;
+      goto yy501;
     case 'D':
     case 'd':
-      goto yy348;
+      goto yy502;
     case 'F':
     case 'f':
-      goto yy349;
+      goto yy503;
     case 'H':
     case 'h':
-      goto yy350;
+      goto yy504;
     case 'I':
     case 'i':
-      goto yy351;
+      goto yy505;
     case 'L':
     case 'l':
-      goto yy352;
+      goto yy506;
     case 'M':
     case 'm':
-      goto yy353;
+      goto yy507;
     case 'N':
     case 'n':
-      goto yy354;
+      goto yy508;
     case 'O':
     case 'o':
-      goto yy355;
+      goto yy509;
     case 'P':
     case 'p':
-      goto yy356;
+      goto yy498;
     case 'S':
     case 's':
-      goto yy357;
+      goto yy510;
     case 'T':
     case 't':
-      goto yy358;
+      goto yy511;
     case 'U':
     case 'u':
-      goto yy359;
+      goto yy512;
     default:
-      goto yy338;
-    }
-  yy340:
-    yych = *++p;
-    if (yych <= '@') {
-      if (yych == '-')
-        goto yy360;
-    } else {
-      if (yych <= 'Z')
-        goto yy361;
-      if (yych <= '[')
-        goto yy363;
+      goto yy494;
     }
-  yy341:
-    p = marker;
-    goto yy338;
-  yy342:
+  yy496:
     yych = *++p;
     switch (yych) {
     case 'A':
     case 'a':
-      goto yy345;
+      goto yy499;
     case 'B':
     case 'b':
-      goto yy346;
+      goto yy500;
     case 'C':
     case 'c':
-      goto yy347;
+      goto yy501;
     case 'D':
     case 'd':
-      goto yy348;
+      goto yy502;
     case 'F':
     case 'f':
-      goto yy349;
+      goto yy503;
     case 'H':
     case 'h':
-      goto yy350;
+      goto yy504;
     case 'I':
     case 'i':
-      goto yy351;
+      goto yy505;
     case 'L':
     case 'l':
-      goto yy352;
+      goto yy506;
     case 'M':
     case 'm':
-      goto yy353;
+      goto yy507;
     case 'N':
     case 'n':
-      goto yy354;
+      goto yy508;
     case 'O':
     case 'o':
-      goto yy355;
+      goto yy509;
     case 'P':
     case 'p':
-      goto yy364;
+      goto yy698;
     case 'S':
     case 's':
-      goto yy365;
+      goto yy699;
     case 'T':
     case 't':
-      goto yy358;
+      goto yy511;
     case 'U':
     case 'u':
-      goto yy359;
+      goto yy512;
     default:
-      goto yy341;
+      goto yy497;
     }
-  yy343:
-    ++p;
-    { return 3; }
-  yy345:
+  yy497:
+    p = marker;
+    goto yy494;
+  yy498:
+    yych = *++p;
+    if (yych <= '>') {
+      if (yych <= ' ') {
+        if (yych <= 0x08)
+          goto yy497;
+        if (yych <= '\r')
+          goto yy530;
+        if (yych <= 0x1F)
+          goto yy497;
+        goto yy530;
+      } else {
+        if (yych == '/')
+          goto yy532;
+        if (yych <= '=')
+          goto yy497;
+        goto yy530;
+      }
+    } else {
+      if (yych <= 'R') {
+        if (yych == 'A')
+          goto yy695;
+        if (yych <= 'Q')
+          goto yy497;
+        goto yy694;
+      } else {
+        if (yych <= 'a') {
+          if (yych <= '`')
+            goto yy497;
+          goto yy695;
+        } else {
+          if (yych == 'r')
+            goto yy694;
+          goto yy497;
+        }
+      }
+    }
+  yy499:
     yych = *++p;
     if (yych <= 'S') {
       if (yych <= 'D') {
         if (yych <= 'C')
-          goto yy341;
-        goto yy366;
+          goto yy497;
+        goto yy683;
       } else {
         if (yych <= 'Q')
-          goto yy341;
+          goto yy497;
         if (yych <= 'R')
-          goto yy367;
-        goto yy368;
+          goto yy682;
+        goto yy681;
       }
     } else {
       if (yych <= 'q') {
         if (yych == 'd')
-          goto yy366;
-        goto yy341;
+          goto yy683;
+        goto yy497;
       } else {
         if (yych <= 'r')
-          goto yy367;
+          goto yy682;
         if (yych <= 's')
-          goto yy368;
-        goto yy341;
+          goto yy681;
+        goto yy497;
       }
     }
-  yy346:
+  yy500:
     yych = *++p;
     if (yych <= 'O') {
       if (yych <= 'K') {
         if (yych == 'A')
-          goto yy369;
-        goto yy341;
+          goto yy667;
+        goto yy497;
       } else {
         if (yych <= 'L')
-          goto yy370;
+          goto yy666;
         if (yych <= 'N')
-          goto yy341;
-        goto yy371;
+          goto yy497;
+        goto yy665;
       }
     } else {
       if (yych <= 'k') {
         if (yych == 'a')
-          goto yy369;
-        goto yy341;
+          goto yy667;
+        goto yy497;
       } else {
         if (yych <= 'l')
-          goto yy370;
+          goto yy666;
         if (yych == 'o')
-          goto yy371;
-        goto yy341;
+          goto yy665;
+        goto yy497;
       }
     }
-  yy347:
+  yy501:
     yych = *++p;
     if (yych <= 'O') {
       if (yych <= 'D') {
         if (yych == 'A')
-          goto yy372;
-        goto yy341;
+          goto yy652;
+        goto yy497;
       } else {
         if (yych <= 'E')
-          goto yy373;
+          goto yy651;
         if (yych <= 'N')
-          goto yy341;
-        goto yy374;
+          goto yy497;
+        goto yy650;
       }
     } else {
       if (yych <= 'd') {
         if (yych == 'a')
-          goto yy372;
-        goto yy341;
+          goto yy652;
+        goto yy497;
       } else {
         if (yych <= 'e')
-          goto yy373;
+          goto yy651;
         if (yych == 'o')
-          goto yy374;
-        goto yy341;
+          goto yy650;
+        goto yy497;
       }
     }
-  yy348:
+  yy502:
     yych = *++p;
     switch (yych) {
     case 'D':
@@ -6767,1488 +9995,1666 @@ bufsize_t _scan_html_block_start(const unsigned char *p) {
     case 'd':
     case 'l':
     case 't':
-      goto yy375;
+      goto yy529;
     case 'E':
     case 'e':
-      goto yy376;
+      goto yy642;
     case 'I':
     case 'i':
-      goto yy377;
+      goto yy641;
     default:
-      goto yy341;
+      goto yy497;
     }
-  yy349:
+  yy503:
     yych = *++p;
     if (yych <= 'R') {
       if (yych <= 'N') {
         if (yych == 'I')
-          goto yy378;
-        goto yy341;
+          goto yy617;
+        goto yy497;
       } else {
         if (yych <= 'O')
-          goto yy379;
+          goto yy616;
         if (yych <= 'Q')
-          goto yy341;
-        goto yy380;
+          goto yy497;
+        goto yy615;
       }
     } else {
       if (yych <= 'n') {
         if (yych == 'i')
-          goto yy378;
-        goto yy341;
+          goto yy617;
+        goto yy497;
       } else {
         if (yych <= 'o')
-          goto yy379;
+          goto yy616;
         if (yych == 'r')
-          goto yy380;
-        goto yy341;
+          goto yy615;
+        goto yy497;
       }
     }
-  yy350:
+  yy504:
     yych = *++p;
     if (yych <= 'S') {
       if (yych <= 'D') {
         if (yych <= '0')
-          goto yy341;
+          goto yy497;
         if (yych <= '6')
-          goto yy375;
-        goto yy341;
+          goto yy529;
+        goto yy497;
       } else {
         if (yych <= 'E')
-          goto yy381;
+          goto yy610;
         if (yych == 'R')
-          goto yy375;
-        goto yy341;
+          goto yy529;
+        goto yy497;
       }
     } else {
       if (yych <= 'q') {
         if (yych <= 'T')
-          goto yy382;
+          goto yy609;
         if (yych == 'e')
-          goto yy381;
-        goto yy341;
+          goto yy610;
+        goto yy497;
       } else {
         if (yych <= 'r')
-          goto yy375;
+          goto yy529;
         if (yych == 't')
-          goto yy382;
-        goto yy341;
+          goto yy609;
+        goto yy497;
       }
     }
-  yy351:
+  yy505:
     yych = *++p;
     if (yych == 'F')
-      goto yy383;
+      goto yy605;
     if (yych == 'f')
-      goto yy383;
-    goto yy341;
-  yy352:
+      goto yy605;
+    goto yy497;
+  yy506:
     yych = *++p;
     if (yych <= 'I') {
       if (yych == 'E')
-        goto yy384;
+        goto yy600;
       if (yych <= 'H')
-        goto yy341;
-      goto yy385;
+        goto yy497;
+      goto yy599;
     } else {
       if (yych <= 'e') {
         if (yych <= 'd')
-          goto yy341;
-        goto yy384;
+          goto yy497;
+        goto yy600;
       } else {
         if (yych == 'i')
-          goto yy385;
-        goto yy341;
+          goto yy599;
+        goto yy497;
       }
     }
-  yy353:
+  yy507:
     yych = *++p;
     if (yych <= 'E') {
       if (yych == 'A')
-        goto yy386;
+        goto yy591;
       if (yych <= 'D')
-        goto yy341;
-      goto yy387;
+        goto yy497;
+      goto yy590;
     } else {
       if (yych <= 'a') {
         if (yych <= '`')
-          goto yy341;
-        goto yy386;
+          goto yy497;
+        goto yy591;
       } else {
         if (yych == 'e')
-          goto yy387;
-        goto yy341;
+          goto yy590;
+        goto yy497;
       }
     }
-  yy354:
+  yy508:
     yych = *++p;
     if (yych <= 'O') {
       if (yych == 'A')
-        goto yy388;
+        goto yy584;
       if (yych <= 'N')
-        goto yy341;
-      goto yy389;
+        goto yy497;
+      goto yy583;
     } else {
       if (yych <= 'a') {
         if (yych <= '`')
-          goto yy341;
-        goto yy388;
+          goto yy497;
+        goto yy584;
       } else {
         if (yych == 'o')
-          goto yy389;
-        goto yy341;
+          goto yy583;
+        goto yy497;
       }
     }
-  yy355:
+  yy509:
     yych = *++p;
     if (yych <= 'P') {
       if (yych == 'L')
-        goto yy375;
+        goto yy529;
       if (yych <= 'O')
-        goto yy341;
-      goto yy390;
+        goto yy497;
+      goto yy575;
     } else {
       if (yych <= 'l') {
         if (yych <= 'k')
-          goto yy341;
-        goto yy375;
+          goto yy497;
+        goto yy529;
       } else {
         if (yych == 'p')
-          goto yy390;
-        goto yy341;
-      }
-    }
-  yy356:
-    yych = *++p;
-    if (yych <= '>') {
-      if (yych <= ' ') {
-        if (yych <= 0x08)
-          goto yy341;
-        if (yych <= '\r')
-          goto yy391;
-        if (yych <= 0x1F)
-          goto yy341;
-        goto yy391;
-      } else {
-        if (yych == '/')
-          goto yy393;
-        if (yych <= '=')
-          goto yy341;
-        goto yy391;
-      }
-    } else {
-      if (yych <= 'R') {
-        if (yych == 'A')
-          goto yy394;
-        if (yych <= 'Q')
-          goto yy341;
-        goto yy395;
-      } else {
-        if (yych <= 'a') {
-          if (yych <= '`')
-            goto yy341;
-          goto yy394;
-        } else {
-          if (yych == 'r')
-            goto yy395;
-          goto yy341;
-        }
+          goto yy575;
+        goto yy497;
       }
     }
-  yy357:
+  yy510:
     yych = *++p;
     switch (yych) {
     case 'C':
     case 'c':
-      goto yy396;
+      goto yy552;
     case 'E':
     case 'e':
-      goto yy397;
+      goto yy555;
     case 'O':
     case 'o':
-      goto yy398;
+      goto yy554;
     case 'T':
     case 't':
-      goto yy399;
+      goto yy551;
     case 'U':
     case 'u':
-      goto yy400;
+      goto yy553;
     default:
-      goto yy341;
+      goto yy497;
     }
-  yy358:
+  yy511:
     yych = *++p;
     switch (yych) {
     case 'A':
     case 'a':
-      goto yy401;
+      goto yy538;
     case 'B':
     case 'b':
-      goto yy402;
+      goto yy537;
     case 'D':
     case 'd':
-      goto yy375;
+      goto yy529;
     case 'F':
     case 'f':
-      goto yy403;
+      goto yy536;
     case 'H':
     case 'h':
-      goto yy404;
+      goto yy535;
     case 'I':
     case 'i':
-      goto yy405;
+      goto yy534;
     case 'R':
     case 'r':
-      goto yy406;
+      goto yy533;
     default:
-      goto yy341;
+      goto yy497;
     }
-  yy359:
+  yy512:
     yych = *++p;
     if (yych == 'L')
-      goto yy375;
+      goto yy529;
     if (yych == 'l')
-      goto yy375;
-    goto yy341;
-  yy360:
+      goto yy529;
+    goto yy497;
+  yy513:
+    yych = *++p;
+    if (yych <= '@') {
+      if (yych == '-')
+        goto yy516;
+      goto yy497;
+    } else {
+      if (yych <= 'Z')
+        goto yy517;
+      if (yych <= '[')
+        goto yy519;
+      goto yy497;
+    }
+  yy514:
+    ++p;
+    { return 3; }
+  yy516:
     yych = *++p;
     if (yych == '-')
-      goto yy407;
-    goto yy341;
-  yy361:
+      goto yy527;
+    goto yy497;
+  yy517:
     ++p;
     { return 4; }
-  yy363:
+  yy519:
     yych = *++p;
     if (yych == 'C')
-      goto yy409;
-    if (yych == 'c')
-      goto yy409;
-    goto yy341;
-  yy364:
-    yych = *++p;
-    if (yych <= '/') {
-      if (yych <= 0x1F) {
-        if (yych <= 0x08)
-          goto yy341;
-        if (yych <= '\r')
-          goto yy391;
-        goto yy341;
-      } else {
-        if (yych <= ' ')
-          goto yy391;
-        if (yych <= '.')
-          goto yy341;
-        goto yy393;
-      }
-    } else {
-      if (yych <= '@') {
-        if (yych == '>')
-          goto yy391;
-        goto yy341;
-      } else {
-        if (yych <= 'A')
-          goto yy394;
-        if (yych == 'a')
-          goto yy394;
-        goto yy341;
-      }
-    }
-  yy365:
-    yych = *++p;
-    if (yych <= 'U') {
-      if (yych <= 'N') {
-        if (yych == 'E')
-          goto yy397;
-        goto yy341;
-      } else {
-        if (yych <= 'O')
-          goto yy398;
-        if (yych <= 'T')
-          goto yy341;
-        goto yy400;
-      }
-    } else {
-      if (yych <= 'n') {
-        if (yych == 'e')
-          goto yy397;
-        goto yy341;
-      } else {
-        if (yych <= 'o')
-          goto yy398;
-        if (yych == 'u')
-          goto yy400;
-        goto yy341;
-      }
-    }
-  yy366:
+      goto yy520;
+    if (yych != 'c')
+      goto yy497;
+  yy520:
     yych = *++p;
     if (yych == 'D')
-      goto yy410;
-    if (yych == 'd')
-      goto yy410;
-    goto yy341;
-  yy367:
-    yych = *++p;
-    if (yych == 'T')
-      goto yy411;
-    if (yych == 't')
-      goto yy411;
-    goto yy341;
-  yy368:
-    yych = *++p;
-    if (yych == 'I')
-      goto yy412;
-    if (yych == 'i')
-      goto yy412;
-    goto yy341;
-  yy369:
-    yych = *++p;
-    if (yych == 'S')
-      goto yy413;
-    if (yych == 's')
-      goto yy413;
-    goto yy341;
-  yy370:
-    yych = *++p;
-    if (yych == 'O')
-      goto yy414;
-    if (yych == 'o')
-      goto yy414;
-    goto yy341;
-  yy371:
+      goto yy521;
+    if (yych != 'd')
+      goto yy497;
+  yy521:
     yych = *++p;
-    if (yych == 'D')
-      goto yy415;
-    if (yych == 'd')
-      goto yy415;
-    goto yy341;
-  yy372:
+    if (yych == 'A')
+      goto yy522;
+    if (yych != 'a')
+      goto yy497;
+  yy522:
     yych = *++p;
-    if (yych == 'P')
-      goto yy416;
-    if (yych == 'p')
-      goto yy416;
-    goto yy341;
-  yy373:
+    if (yych == 'T')
+      goto yy523;
+    if (yych != 't')
+      goto yy497;
+  yy523:
     yych = *++p;
-    if (yych == 'N')
-      goto yy417;
-    if (yych == 'n')
-      goto yy417;
-    goto yy341;
-  yy374:
+    if (yych == 'A')
+      goto yy524;
+    if (yych != 'a')
+      goto yy497;
+  yy524:
     yych = *++p;
-    if (yych == 'L')
-      goto yy418;
-    if (yych == 'l')
-      goto yy418;
-    goto yy341;
-  yy375:
+    if (yych != '[')
+      goto yy497;
+    ++p;
+    { return 5; }
+  yy527:
+    ++p;
+    { return 2; }
+  yy529:
     yych = *++p;
     if (yych <= ' ') {
       if (yych <= 0x08)
-        goto yy341;
+        goto yy497;
       if (yych <= '\r')
-        goto yy391;
+        goto yy530;
       if (yych <= 0x1F)
-        goto yy341;
-      goto yy391;
+        goto yy497;
     } else {
       if (yych <= '/') {
         if (yych <= '.')
-          goto yy341;
-        goto yy393;
+          goto yy497;
+        goto yy532;
       } else {
-        if (yych == '>')
-          goto yy391;
-        goto yy341;
+        if (yych != '>')
+          goto yy497;
       }
     }
-  yy376:
+  yy530:
+    ++p;
+    { return 6; }
+  yy532:
     yych = *++p;
-    if (yych == 'T')
-      goto yy419;
-    if (yych == 't')
-      goto yy419;
-    goto yy341;
-  yy377:
+    if (yych == '>')
+      goto yy530;
+    goto yy497;
+  yy533:
     yych = *++p;
-    if (yych <= 'V') {
-      if (yych <= 'Q') {
-        if (yych == 'A')
-          goto yy420;
-        goto yy341;
+    if (yych <= '/') {
+      if (yych <= 0x1F) {
+        if (yych <= 0x08)
+          goto yy497;
+        if (yych <= '\r')
+          goto yy530;
+        goto yy497;
       } else {
-        if (yych <= 'R')
-          goto yy375;
-        if (yych <= 'U')
-          goto yy341;
-        goto yy375;
+        if (yych <= ' ')
+          goto yy530;
+        if (yych <= '.')
+          goto yy497;
+        goto yy532;
       }
     } else {
-      if (yych <= 'q') {
-        if (yych == 'a')
-          goto yy420;
-        goto yy341;
+      if (yych <= '@') {
+        if (yych == '>')
+          goto yy530;
+        goto yy497;
       } else {
-        if (yych <= 'r')
-          goto yy375;
-        if (yych == 'v')
-          goto yy375;
-        goto yy341;
+        if (yych <= 'A')
+          goto yy549;
+        if (yych == 'a')
+          goto yy549;
+        goto yy497;
       }
     }
-  yy378:
+  yy534:
     yych = *++p;
-    if (yych <= 'G') {
-      if (yych == 'E')
-        goto yy421;
-      if (yych <= 'F')
-        goto yy341;
-      goto yy422;
-    } else {
-      if (yych <= 'e') {
-        if (yych <= 'd')
-          goto yy341;
-        goto yy421;
+    if (yych == 'T')
+      goto yy547;
+    if (yych == 't')
+      goto yy547;
+    goto yy497;
+  yy535:
+    yych = *++p;
+    if (yych <= '/') {
+      if (yych <= 0x1F) {
+        if (yych <= 0x08)
+          goto yy497;
+        if (yych <= '\r')
+          goto yy530;
+        goto yy497;
       } else {
-        if (yych == 'g')
-          goto yy422;
-        goto yy341;
+        if (yych <= ' ')
+          goto yy530;
+        if (yych <= '.')
+          goto yy497;
+        goto yy532;
       }
-    }
-  yy379:
-    yych = *++p;
-    if (yych <= 'R') {
-      if (yych == 'O')
-        goto yy417;
-      if (yych <= 'Q')
-        goto yy341;
-      goto yy423;
     } else {
-      if (yych <= 'o') {
-        if (yych <= 'n')
-          goto yy341;
-        goto yy417;
+      if (yych <= 'D') {
+        if (yych == '>')
+          goto yy530;
+        goto yy497;
       } else {
-        if (yych == 'r')
-          goto yy423;
-        goto yy341;
+        if (yych <= 'E')
+          goto yy545;
+        if (yych == 'e')
+          goto yy545;
+        goto yy497;
       }
     }
-  yy380:
+  yy536:
     yych = *++p;
-    if (yych == 'A')
-      goto yy424;
-    if (yych == 'a')
-      goto yy424;
-    goto yy341;
-  yy381:
+    if (yych == 'O')
+      goto yy543;
+    if (yych == 'o')
+      goto yy543;
+    goto yy497;
+  yy537:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy541;
+    if (yych == 'o')
+      goto yy541;
+    goto yy497;
+  yy538:
+    yych = *++p;
+    if (yych == 'B')
+      goto yy539;
+    if (yych != 'b')
+      goto yy497;
+  yy539:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy540;
+    if (yych != 'l')
+      goto yy497;
+  yy540:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy529;
+    if (yych == 'e')
+      goto yy529;
+    goto yy497;
+  yy541:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy542;
+    if (yych != 'd')
+      goto yy497;
+  yy542:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy529;
+    if (yych == 'y')
+      goto yy529;
+    goto yy497;
+  yy543:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy544;
+    if (yych != 'o')
+      goto yy497;
+  yy544:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy529;
+    if (yych == 't')
+      goto yy529;
+    goto yy497;
+  yy545:
     yych = *++p;
     if (yych == 'A')
-      goto yy425;
-    if (yych == 'a')
-      goto yy425;
-    goto yy341;
-  yy382:
+      goto yy546;
+    if (yych != 'a')
+      goto yy497;
+  yy546:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy529;
+    if (yych == 'd')
+      goto yy529;
+    goto yy497;
+  yy547:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy548;
+    if (yych != 'l')
+      goto yy497;
+  yy548:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy529;
+    if (yych == 'e')
+      goto yy529;
+    goto yy497;
+  yy549:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy550;
+    if (yych != 'c')
+      goto yy497;
+  yy550:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy529;
+    if (yych == 'k')
+      goto yy529;
+    goto yy497;
+  yy551:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy573;
+    if (yych == 'y')
+      goto yy573;
+    goto yy497;
+  yy552:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy567;
+    if (yych == 'r')
+      goto yy567;
+    goto yy497;
+  yy553:
     yych = *++p;
     if (yych == 'M')
-      goto yy359;
+      goto yy563;
     if (yych == 'm')
-      goto yy359;
-    goto yy341;
-  yy383:
+      goto yy563;
+    goto yy497;
+  yy554:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy560;
+    if (yych == 'u')
+      goto yy560;
+    goto yy497;
+  yy555:
+    yych = *++p;
+    if (yych == 'C')
+      goto yy556;
+    if (yych != 'c')
+      goto yy497;
+  yy556:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy557;
+    if (yych != 't')
+      goto yy497;
+  yy557:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy558;
+    if (yych != 'i')
+      goto yy497;
+  yy558:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy559;
+    if (yych != 'o')
+      goto yy497;
+  yy559:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy529;
+    if (yych == 'n')
+      goto yy529;
+    goto yy497;
+  yy560:
     yych = *++p;
     if (yych == 'R')
-      goto yy426;
-    if (yych == 'r')
-      goto yy426;
-    goto yy341;
-  yy384:
+      goto yy561;
+    if (yych != 'r')
+      goto yy497;
+  yy561:
     yych = *++p;
-    if (yych == 'G')
-      goto yy427;
-    if (yych == 'g')
-      goto yy427;
-    goto yy341;
-  yy385:
+    if (yych == 'C')
+      goto yy562;
+    if (yych != 'c')
+      goto yy497;
+  yy562:
     yych = *++p;
-    if (yych <= '/') {
-      if (yych <= 0x1F) {
-        if (yych <= 0x08)
-          goto yy341;
-        if (yych <= '\r')
-          goto yy391;
-        goto yy341;
-      } else {
-        if (yych <= ' ')
-          goto yy391;
-        if (yych <= '.')
-          goto yy341;
-        goto yy393;
-      }
+    if (yych == 'E')
+      goto yy529;
+    if (yych == 'e')
+      goto yy529;
+    goto yy497;
+  yy563:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy564;
+    if (yych != 'm')
+      goto yy497;
+  yy564:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy565;
+    if (yych != 'a')
+      goto yy497;
+  yy565:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy566;
+    if (yych != 'r')
+      goto yy497;
+  yy566:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy529;
+    if (yych == 'y')
+      goto yy529;
+    goto yy497;
+  yy567:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy568;
+    if (yych != 'i')
+      goto yy497;
+  yy568:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy569;
+    if (yych != 'p')
+      goto yy497;
+  yy569:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy570;
+    if (yych != 't')
+      goto yy497;
+  yy570:
+    yych = *++p;
+    if (yych <= 0x1F) {
+      if (yych <= 0x08)
+        goto yy497;
+      if (yych >= 0x0E)
+        goto yy497;
     } else {
-      if (yych <= 'M') {
-        if (yych == '>')
-          goto yy391;
-        goto yy341;
-      } else {
-        if (yych <= 'N')
-          goto yy428;
-        if (yych == 'n')
-          goto yy428;
-        goto yy341;
-      }
+      if (yych <= ' ')
+        goto yy571;
+      if (yych != '>')
+        goto yy497;
     }
-  yy386:
+  yy571:
+    ++p;
+    { return 1; }
+  yy573:
     yych = *++p;
-    if (yych == 'I')
-      goto yy429;
-    if (yych == 'i')
-      goto yy429;
-    goto yy341;
-  yy387:
+    if (yych == 'L')
+      goto yy574;
+    if (yych != 'l')
+      goto yy497;
+  yy574:
     yych = *++p;
-    if (yych <= 'T') {
-      if (yych == 'N')
-        goto yy430;
-      if (yych <= 'S')
-        goto yy341;
-      goto yy431;
+    if (yych == 'E')
+      goto yy570;
+    if (yych == 'e')
+      goto yy570;
+    goto yy497;
+  yy575:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy576;
+    if (yych != 't')
+      goto yy497;
+  yy576:
+    yych = *++p;
+    if (yych <= 'I') {
+      if (yych == 'G')
+        goto yy578;
+      if (yych <= 'H')
+        goto yy497;
     } else {
-      if (yych <= 'n') {
-        if (yych <= 'm')
-          goto yy341;
-        goto yy430;
+      if (yych <= 'g') {
+        if (yych <= 'f')
+          goto yy497;
+        goto yy578;
       } else {
-        if (yych == 't')
-          goto yy431;
-        goto yy341;
+        if (yych != 'i')
+          goto yy497;
       }
     }
-  yy388:
     yych = *++p;
-    if (yych == 'V')
-      goto yy375;
-    if (yych == 'v')
-      goto yy375;
-    goto yy341;
-  yy389:
+    if (yych == 'O')
+      goto yy582;
+    if (yych == 'o')
+      goto yy582;
+    goto yy497;
+  yy578:
     yych = *++p;
-    if (yych == 'F')
-      goto yy432;
-    if (yych == 'f')
-      goto yy432;
-    goto yy341;
-  yy390:
+    if (yych == 'R')
+      goto yy579;
+    if (yych != 'r')
+      goto yy497;
+  yy579:
     yych = *++p;
-    if (yych == 'T')
-      goto yy433;
-    if (yych == 't')
-      goto yy433;
-    goto yy341;
-  yy391:
-    ++p;
-    { return 6; }
-  yy393:
+    if (yych == 'O')
+      goto yy580;
+    if (yych != 'o')
+      goto yy497;
+  yy580:
     yych = *++p;
-    if (yych == '>')
-      goto yy391;
-    goto yy341;
-  yy394:
+    if (yych == 'U')
+      goto yy581;
+    if (yych != 'u')
+      goto yy497;
+  yy581:
     yych = *++p;
-    if (yych == 'R')
-      goto yy434;
-    if (yych == 'r')
-      goto yy434;
-    goto yy341;
-  yy395:
+    if (yych == 'P')
+      goto yy529;
+    if (yych == 'p')
+      goto yy529;
+    goto yy497;
+  yy582:
     yych = *++p;
-    if (yych == 'E')
-      goto yy435;
-    if (yych == 'e')
-      goto yy435;
-    goto yy341;
-  yy396:
+    if (yych == 'N')
+      goto yy529;
+    if (yych == 'n')
+      goto yy529;
+    goto yy497;
+  yy583:
     yych = *++p;
-    if (yych == 'R')
-      goto yy436;
-    if (yych == 'r')
-      goto yy436;
-    goto yy341;
-  yy397:
+    if (yych == 'F')
+      goto yy585;
+    if (yych == 'f')
+      goto yy585;
+    goto yy497;
+  yy584:
     yych = *++p;
-    if (yych == 'C')
-      goto yy416;
-    if (yych == 'c')
-      goto yy416;
-    goto yy341;
-  yy398:
+    if (yych == 'V')
+      goto yy529;
+    if (yych == 'v')
+      goto yy529;
+    goto yy497;
+  yy585:
     yych = *++p;
-    if (yych == 'U')
-      goto yy437;
-    if (yych == 'u')
-      goto yy437;
-    goto yy341;
-  yy399:
+    if (yych == 'R')
+      goto yy586;
+    if (yych != 'r')
+      goto yy497;
+  yy586:
     yych = *++p;
-    if (yych == 'Y')
-      goto yy438;
-    if (yych == 'y')
-      goto yy438;
-    goto yy341;
-  yy400:
+    if (yych == 'A')
+      goto yy587;
+    if (yych != 'a')
+      goto yy497;
+  yy587:
     yych = *++p;
     if (yych == 'M')
-      goto yy439;
-    if (yych == 'm')
-      goto yy439;
-    goto yy341;
-  yy401:
-    yych = *++p;
-    if (yych == 'B')
-      goto yy440;
-    if (yych == 'b')
-      goto yy440;
-    goto yy341;
-  yy402:
+      goto yy588;
+    if (yych != 'm')
+      goto yy497;
+  yy588:
     yych = *++p;
-    if (yych == 'O')
-      goto yy371;
-    if (yych == 'o')
-      goto yy371;
-    goto yy341;
-  yy403:
+    if (yych == 'E')
+      goto yy589;
+    if (yych != 'e')
+      goto yy497;
+  yy589:
     yych = *++p;
-    if (yych == 'O')
-      goto yy441;
-    if (yych == 'o')
-      goto yy441;
-    goto yy341;
-  yy404:
+    if (yych == 'S')
+      goto yy529;
+    if (yych == 's')
+      goto yy529;
+    goto yy497;
+  yy590:
     yych = *++p;
-    if (yych <= '/') {
-      if (yych <= 0x1F) {
-        if (yych <= 0x08)
-          goto yy341;
-        if (yych <= '\r')
-          goto yy391;
-        goto yy341;
-      } else {
-        if (yych <= ' ')
-          goto yy391;
-        if (yych <= '.')
-          goto yy341;
-        goto yy393;
-      }
+    if (yych <= 'T') {
+      if (yych == 'N')
+        goto yy593;
+      if (yych <= 'S')
+        goto yy497;
+      goto yy594;
     } else {
-      if (yych <= 'D') {
-        if (yych == '>')
-          goto yy391;
-        goto yy341;
+      if (yych <= 'n') {
+        if (yych <= 'm')
+          goto yy497;
+        goto yy593;
       } else {
-        if (yych <= 'E')
-          goto yy442;
-        if (yych == 'e')
-          goto yy442;
-        goto yy341;
+        if (yych == 't')
+          goto yy594;
+        goto yy497;
       }
     }
-  yy405:
+  yy591:
     yych = *++p;
-    if (yych == 'T')
-      goto yy440;
-    if (yych == 't')
-      goto yy440;
-    goto yy341;
-  yy406:
+    if (yych == 'I')
+      goto yy592;
+    if (yych != 'i')
+      goto yy497;
+  yy592:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy529;
+    if (yych == 'n')
+      goto yy529;
+    goto yy497;
+  yy593:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy595;
+    if (yych == 'u')
+      goto yy595;
+    goto yy497;
+  yy594:
+    yych = *++p;
+    if (yych == 'A')
+      goto yy529;
+    if (yych == 'a')
+      goto yy529;
+    goto yy497;
+  yy595:
     yych = *++p;
     if (yych <= '/') {
       if (yych <= 0x1F) {
         if (yych <= 0x08)
-          goto yy341;
+          goto yy497;
         if (yych <= '\r')
-          goto yy391;
-        goto yy341;
+          goto yy530;
+        goto yy497;
       } else {
         if (yych <= ' ')
-          goto yy391;
+          goto yy530;
         if (yych <= '.')
-          goto yy341;
-        goto yy393;
+          goto yy497;
+        goto yy532;
       }
     } else {
-      if (yych <= '@') {
+      if (yych <= 'H') {
         if (yych == '>')
-          goto yy391;
-        goto yy341;
+          goto yy530;
+        goto yy497;
       } else {
-        if (yych <= 'A')
-          goto yy443;
-        if (yych == 'a')
-          goto yy443;
-        goto yy341;
+        if (yych <= 'I')
+          goto yy596;
+        if (yych != 'i')
+          goto yy497;
       }
     }
-  yy407:
-    ++p;
-    { return 2; }
-  yy409:
-    yych = *++p;
-    if (yych == 'D')
-      goto yy444;
-    if (yych == 'd')
-      goto yy444;
-    goto yy341;
-  yy410:
-    yych = *++p;
-    if (yych == 'R')
-      goto yy445;
-    if (yych == 'r')
-      goto yy445;
-    goto yy341;
-  yy411:
-    yych = *++p;
-    if (yych == 'I')
-      goto yy446;
-    if (yych == 'i')
-      goto yy446;
-    goto yy341;
-  yy412:
+  yy596:
     yych = *++p;
-    if (yych == 'D')
-      goto yy447;
-    if (yych == 'd')
-      goto yy447;
-    goto yy341;
-  yy413:
+    if (yych == 'T')
+      goto yy597;
+    if (yych != 't')
+      goto yy497;
+  yy597:
     yych = *++p;
     if (yych == 'E')
-      goto yy448;
-    if (yych == 'e')
-      goto yy448;
-    goto yy341;
-  yy414:
-    yych = *++p;
-    if (yych == 'C')
-      goto yy449;
-    if (yych == 'c')
-      goto yy449;
-    goto yy341;
-  yy415:
-    yych = *++p;
-    if (yych == 'Y')
-      goto yy375;
-    if (yych == 'y')
-      goto yy375;
-    goto yy341;
-  yy416:
-    yych = *++p;
-    if (yych == 'T')
-      goto yy450;
-    if (yych == 't')
-      goto yy450;
-    goto yy341;
-  yy417:
+      goto yy598;
+    if (yych != 'e')
+      goto yy497;
+  yy598:
     yych = *++p;
-    if (yych == 'T')
-      goto yy451;
-    if (yych == 't')
-      goto yy451;
-    goto yy341;
-  yy418:
+    if (yych == 'M')
+      goto yy529;
+    if (yych == 'm')
+      goto yy529;
+    goto yy497;
+  yy599:
     yych = *++p;
     if (yych <= '/') {
       if (yych <= 0x1F) {
         if (yych <= 0x08)
-          goto yy341;
+          goto yy497;
         if (yych <= '\r')
-          goto yy391;
-        goto yy341;
+          goto yy530;
+        goto yy497;
       } else {
         if (yych <= ' ')
-          goto yy391;
+          goto yy530;
         if (yych <= '.')
-          goto yy341;
-        goto yy393;
+          goto yy497;
+        goto yy532;
       }
     } else {
-      if (yych <= 'F') {
+      if (yych <= 'M') {
         if (yych == '>')
-          goto yy391;
-        goto yy341;
+          goto yy530;
+        goto yy497;
       } else {
-        if (yych <= 'G')
-          goto yy452;
-        if (yych == 'g')
-          goto yy452;
-        goto yy341;
+        if (yych <= 'N')
+          goto yy604;
+        if (yych == 'n')
+          goto yy604;
+        goto yy497;
       }
     }
-  yy419:
-    yych = *++p;
-    if (yych == 'A')
-      goto yy453;
-    if (yych == 'a')
-      goto yy453;
-    goto yy341;
-  yy420:
-    yych = *++p;
-    if (yych == 'L')
-      goto yy454;
-    if (yych == 'l')
-      goto yy454;
-    goto yy341;
-  yy421:
-    yych = *++p;
-    if (yych == 'L')
-      goto yy455;
-    if (yych == 'l')
-      goto yy455;
-    goto yy341;
-  yy422:
+  yy600:
     yych = *++p;
-    if (yych <= 'U') {
-      if (yych == 'C')
-        goto yy456;
-      if (yych <= 'T')
-        goto yy341;
-      goto yy457;
-    } else {
-      if (yych <= 'c') {
-        if (yych <= 'b')
-          goto yy341;
-        goto yy456;
-      } else {
-        if (yych == 'u')
-          goto yy457;
-        goto yy341;
-      }
-    }
-  yy423:
+    if (yych == 'G')
+      goto yy601;
+    if (yych != 'g')
+      goto yy497;
+  yy601:
     yych = *++p;
-    if (yych == 'M')
-      goto yy375;
-    if (yych == 'm')
-      goto yy375;
-    goto yy341;
-  yy424:
+    if (yych == 'E')
+      goto yy602;
+    if (yych != 'e')
+      goto yy497;
+  yy602:
     yych = *++p;
-    if (yych == 'M')
-      goto yy458;
-    if (yych == 'm')
-      goto yy458;
-    goto yy341;
-  yy425:
+    if (yych == 'N')
+      goto yy603;
+    if (yych != 'n')
+      goto yy497;
+  yy603:
     yych = *++p;
     if (yych == 'D')
-      goto yy459;
+      goto yy529;
     if (yych == 'd')
-      goto yy459;
-    goto yy341;
-  yy426:
+      goto yy529;
+    goto yy497;
+  yy604:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy529;
+    if (yych == 'k')
+      goto yy529;
+    goto yy497;
+  yy605:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy606;
+    if (yych != 'r')
+      goto yy497;
+  yy606:
     yych = *++p;
     if (yych == 'A')
-      goto yy460;
-    if (yych == 'a')
-      goto yy460;
-    goto yy341;
-  yy427:
+      goto yy607;
+    if (yych != 'a')
+      goto yy497;
+  yy607:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy608;
+    if (yych != 'm')
+      goto yy497;
+  yy608:
     yych = *++p;
     if (yych == 'E')
-      goto yy461;
+      goto yy529;
     if (yych == 'e')
-      goto yy461;
-    goto yy341;
-  yy428:
-    yych = *++p;
-    if (yych == 'K')
-      goto yy375;
-    if (yych == 'k')
-      goto yy375;
-    goto yy341;
-  yy429:
-    yych = *++p;
-    if (yych == 'N')
-      goto yy375;
-    if (yych == 'n')
-      goto yy375;
-    goto yy341;
-  yy430:
+      goto yy529;
+    goto yy497;
+  yy609:
     yych = *++p;
-    if (yych == 'U')
-      goto yy462;
-    if (yych == 'u')
-      goto yy462;
-    goto yy341;
-  yy431:
+    if (yych == 'M')
+      goto yy614;
+    if (yych == 'm')
+      goto yy614;
+    goto yy497;
+  yy610:
     yych = *++p;
     if (yych == 'A')
-      goto yy375;
-    if (yych == 'a')
-      goto yy375;
-    goto yy341;
-  yy432:
+      goto yy611;
+    if (yych != 'a')
+      goto yy497;
+  yy611:
     yych = *++p;
-    if (yych == 'R')
-      goto yy463;
-    if (yych == 'r')
-      goto yy463;
-    goto yy341;
-  yy433:
+    if (yych == 'D')
+      goto yy612;
+    if (yych != 'd')
+      goto yy497;
+  yy612:
     yych = *++p;
-    if (yych <= 'I') {
-      if (yych == 'G')
-        goto yy452;
-      if (yych <= 'H')
-        goto yy341;
-      goto yy464;
-    } else {
-      if (yych <= 'g') {
-        if (yych <= 'f')
-          goto yy341;
-        goto yy452;
+    if (yych <= '/') {
+      if (yych <= 0x1F) {
+        if (yych <= 0x08)
+          goto yy497;
+        if (yych <= '\r')
+          goto yy530;
+        goto yy497;
       } else {
-        if (yych == 'i')
-          goto yy464;
-        goto yy341;
+        if (yych <= ' ')
+          goto yy530;
+        if (yych <= '.')
+          goto yy497;
+        goto yy532;
       }
-    }
-  yy434:
-    yych = *++p;
-    if (yych == 'A')
-      goto yy423;
-    if (yych == 'a')
-      goto yy423;
-    goto yy341;
-  yy435:
-    yych = *++p;
-    if (yych <= 0x1F) {
-      if (yych <= 0x08)
-        goto yy341;
-      if (yych <= '\r')
-        goto yy465;
-      goto yy341;
     } else {
-      if (yych <= ' ')
-        goto yy465;
-      if (yych == '>')
-        goto yy465;
-      goto yy341;
+      if (yych <= 'D') {
+        if (yych == '>')
+          goto yy530;
+        goto yy497;
+      } else {
+        if (yych <= 'E')
+          goto yy613;
+        if (yych != 'e')
+          goto yy497;
+      }
     }
-  yy436:
-    yych = *++p;
-    if (yych == 'I')
-      goto yy467;
-    if (yych == 'i')
-      goto yy467;
-    goto yy341;
-  yy437:
+  yy613:
     yych = *++p;
     if (yych == 'R')
-      goto yy468;
+      goto yy529;
     if (yych == 'r')
-      goto yy468;
-    goto yy341;
-  yy438:
-    yych = *++p;
-    if (yych == 'L')
-      goto yy395;
-    if (yych == 'l')
-      goto yy395;
-    goto yy341;
-  yy439:
-    yych = *++p;
-    if (yych == 'M')
-      goto yy469;
-    if (yych == 'm')
-      goto yy469;
-    goto yy341;
-  yy440:
+      goto yy529;
+    goto yy497;
+  yy614:
     yych = *++p;
     if (yych == 'L')
-      goto yy447;
+      goto yy529;
     if (yych == 'l')
-      goto yy447;
-    goto yy341;
-  yy441:
-    yych = *++p;
-    if (yych == 'O')
-      goto yy470;
-    if (yych == 'o')
-      goto yy470;
-    goto yy341;
-  yy442:
-    yych = *++p;
-    if (yych == 'A')
-      goto yy471;
-    if (yych == 'a')
-      goto yy471;
-    goto yy341;
-  yy443:
-    yych = *++p;
-    if (yych == 'C')
-      goto yy428;
-    if (yych == 'c')
-      goto yy428;
-    goto yy341;
-  yy444:
+      goto yy529;
+    goto yy497;
+  yy615:
     yych = *++p;
     if (yych == 'A')
-      goto yy472;
+      goto yy636;
     if (yych == 'a')
-      goto yy472;
-    goto yy341;
-  yy445:
-    yych = *++p;
-    if (yych == 'E')
-      goto yy473;
-    if (yych == 'e')
-      goto yy473;
-    goto yy341;
-  yy446:
-    yych = *++p;
-    if (yych == 'C')
-      goto yy440;
-    if (yych == 'c')
-      goto yy440;
-    goto yy341;
-  yy447:
+      goto yy636;
+    goto yy497;
+  yy616:
     yych = *++p;
-    if (yych == 'E')
-      goto yy375;
-    if (yych == 'e')
-      goto yy375;
-    goto yy341;
-  yy448:
+    if (yych <= 'R') {
+      if (yych == 'O')
+        goto yy632;
+      if (yych <= 'Q')
+        goto yy497;
+      goto yy633;
+    } else {
+      if (yych <= 'o') {
+        if (yych <= 'n')
+          goto yy497;
+        goto yy632;
+      } else {
+        if (yych == 'r')
+          goto yy633;
+        goto yy497;
+      }
+    }
+  yy617:
     yych = *++p;
-    if (yych <= '/') {
-      if (yych <= 0x1F) {
-        if (yych <= 0x08)
-          goto yy341;
-        if (yych <= '\r')
-          goto yy391;
-        goto yy341;
+    if (yych <= 'G') {
+      if (yych == 'E')
+        goto yy618;
+      if (yych <= 'F')
+        goto yy497;
+      goto yy619;
+    } else {
+      if (yych <= 'e') {
+        if (yych <= 'd')
+          goto yy497;
       } else {
-        if (yych <= ' ')
-          goto yy391;
-        if (yych <= '.')
-          goto yy341;
-        goto yy393;
+        if (yych == 'g')
+          goto yy619;
+        goto yy497;
       }
+    }
+  yy618:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy628;
+    if (yych == 'l')
+      goto yy628;
+    goto yy497;
+  yy619:
+    yych = *++p;
+    if (yych <= 'U') {
+      if (yych == 'C')
+        goto yy621;
+      if (yych <= 'T')
+        goto yy497;
     } else {
-      if (yych <= 'E') {
-        if (yych == '>')
-          goto yy391;
-        goto yy341;
+      if (yych <= 'c') {
+        if (yych <= 'b')
+          goto yy497;
+        goto yy621;
       } else {
-        if (yych <= 'F')
-          goto yy474;
-        if (yych == 'f')
-          goto yy474;
-        goto yy341;
+        if (yych != 'u')
+          goto yy497;
       }
     }
-  yy449:
     yych = *++p;
-    if (yych == 'K')
-      goto yy475;
-    if (yych == 'k')
-      goto yy475;
-    goto yy341;
-  yy450:
+    if (yych == 'R')
+      goto yy627;
+    if (yych == 'r')
+      goto yy627;
+    goto yy497;
+  yy621:
     yych = *++p;
-    if (yych == 'I')
-      goto yy464;
-    if (yych == 'i')
-      goto yy464;
-    goto yy341;
-  yy451:
+    if (yych == 'A')
+      goto yy622;
+    if (yych != 'a')
+      goto yy497;
+  yy622:
     yych = *++p;
-    if (yych == 'E')
-      goto yy476;
-    if (yych == 'e')
-      goto yy476;
-    goto yy341;
-  yy452:
+    if (yych == 'P')
+      goto yy623;
+    if (yych != 'p')
+      goto yy497;
+  yy623:
     yych = *++p;
-    if (yych == 'R')
-      goto yy477;
-    if (yych == 'r')
-      goto yy477;
-    goto yy341;
-  yy453:
+    if (yych == 'T')
+      goto yy624;
+    if (yych != 't')
+      goto yy497;
+  yy624:
     yych = *++p;
     if (yych == 'I')
-      goto yy478;
-    if (yych == 'i')
-      goto yy478;
-    goto yy341;
-  yy454:
+      goto yy625;
+    if (yych != 'i')
+      goto yy497;
+  yy625:
     yych = *++p;
     if (yych == 'O')
-      goto yy479;
-    if (yych == 'o')
-      goto yy479;
-    goto yy341;
-  yy455:
+      goto yy626;
+    if (yych != 'o')
+      goto yy497;
+  yy626:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy529;
+    if (yych == 'n')
+      goto yy529;
+    goto yy497;
+  yy627:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy529;
+    if (yych == 'e')
+      goto yy529;
+    goto yy497;
+  yy628:
     yych = *++p;
     if (yych == 'D')
-      goto yy480;
-    if (yych == 'd')
-      goto yy480;
-    goto yy341;
-  yy456:
+      goto yy629;
+    if (yych != 'd')
+      goto yy497;
+  yy629:
     yych = *++p;
-    if (yych == 'A')
-      goto yy372;
-    if (yych == 'a')
-      goto yy372;
-    goto yy341;
-  yy457:
+    if (yych == 'S')
+      goto yy630;
+    if (yych != 's')
+      goto yy497;
+  yy630:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy631;
+    if (yych != 'e')
+      goto yy497;
+  yy631:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy529;
+    if (yych == 't')
+      goto yy529;
+    goto yy497;
+  yy632:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy634;
+    if (yych == 't')
+      goto yy634;
+    goto yy497;
+  yy633:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy529;
+    if (yych == 'm')
+      goto yy529;
+    goto yy497;
+  yy634:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy635;
+    if (yych != 'e')
+      goto yy497;
+  yy635:
     yych = *++p;
     if (yych == 'R')
-      goto yy447;
+      goto yy529;
     if (yych == 'r')
-      goto yy447;
-    goto yy341;
-  yy458:
+      goto yy529;
+    goto yy497;
+  yy636:
+    yych = *++p;
+    if (yych == 'M')
+      goto yy637;
+    if (yych != 'm')
+      goto yy497;
+  yy637:
     yych = *++p;
     if (yych == 'E')
-      goto yy481;
-    if (yych == 'e')
-      goto yy481;
-    goto yy341;
-  yy459:
+      goto yy638;
+    if (yych != 'e')
+      goto yy497;
+  yy638:
     yych = *++p;
     if (yych <= '/') {
       if (yych <= 0x1F) {
         if (yych <= 0x08)
-          goto yy341;
+          goto yy497;
         if (yych <= '\r')
-          goto yy391;
-        goto yy341;
+          goto yy530;
+        goto yy497;
       } else {
         if (yych <= ' ')
-          goto yy391;
+          goto yy530;
         if (yych <= '.')
-          goto yy341;
-        goto yy393;
+          goto yy497;
+        goto yy532;
       }
     } else {
-      if (yych <= 'D') {
+      if (yych <= 'R') {
         if (yych == '>')
-          goto yy391;
-        goto yy341;
+          goto yy530;
+        goto yy497;
       } else {
-        if (yych <= 'E')
-          goto yy476;
-        if (yych == 'e')
-          goto yy476;
-        goto yy341;
+        if (yych <= 'S')
+          goto yy639;
+        if (yych != 's')
+          goto yy497;
       }
     }
-  yy460:
+  yy639:
     yych = *++p;
-    if (yych == 'M')
-      goto yy447;
-    if (yych == 'm')
-      goto yy447;
-    goto yy341;
-  yy461:
+    if (yych == 'E')
+      goto yy640;
+    if (yych != 'e')
+      goto yy497;
+  yy640:
     yych = *++p;
-    if (yych == 'N')
-      goto yy471;
-    if (yych == 'n')
-      goto yy471;
-    goto yy341;
-  yy462:
+    if (yych == 'T')
+      goto yy529;
+    if (yych == 't')
+      goto yy529;
+    goto yy497;
+  yy641:
     yych = *++p;
-    if (yych <= '/') {
-      if (yych <= 0x1F) {
-        if (yych <= 0x08)
-          goto yy341;
-        if (yych <= '\r')
-          goto yy391;
-        goto yy341;
+    if (yych <= 'V') {
+      if (yych <= 'Q') {
+        if (yych == 'A')
+          goto yy647;
+        goto yy497;
       } else {
-        if (yych <= ' ')
-          goto yy391;
-        if (yych <= '.')
-          goto yy341;
-        goto yy393;
+        if (yych <= 'R')
+          goto yy529;
+        if (yych <= 'U')
+          goto yy497;
+        goto yy529;
       }
     } else {
-      if (yych <= 'H') {
-        if (yych == '>')
-          goto yy391;
-        goto yy341;
+      if (yych <= 'q') {
+        if (yych == 'a')
+          goto yy647;
+        goto yy497;
       } else {
-        if (yych <= 'I')
-          goto yy482;
-        if (yych == 'i')
-          goto yy482;
-        goto yy341;
+        if (yych <= 'r')
+          goto yy529;
+        if (yych == 'v')
+          goto yy529;
+        goto yy497;
       }
     }
-  yy463:
+  yy642:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy643;
+    if (yych != 't')
+      goto yy497;
+  yy643:
     yych = *++p;
     if (yych == 'A')
-      goto yy483;
-    if (yych == 'a')
-      goto yy483;
-    goto yy341;
-  yy464:
+      goto yy644;
+    if (yych != 'a')
+      goto yy497;
+  yy644:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy645;
+    if (yych != 'i')
+      goto yy497;
+  yy645:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy646;
+    if (yych != 'l')
+      goto yy497;
+  yy646:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy529;
+    if (yych == 's')
+      goto yy529;
+    goto yy497;
+  yy647:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy648;
+    if (yych != 'l')
+      goto yy497;
+  yy648:
     yych = *++p;
     if (yych == 'O')
-      goto yy429;
-    if (yych == 'o')
-      goto yy429;
-    goto yy341;
-  yy465:
-    ++p;
-    { return 1; }
-  yy467:
+      goto yy649;
+    if (yych != 'o')
+      goto yy497;
+  yy649:
     yych = *++p;
-    if (yych == 'P')
-      goto yy484;
-    if (yych == 'p')
-      goto yy484;
-    goto yy341;
-  yy468:
+    if (yych == 'G')
+      goto yy529;
+    if (yych == 'g')
+      goto yy529;
+    goto yy497;
+  yy650:
     yych = *++p;
-    if (yych == 'C')
-      goto yy447;
-    if (yych == 'c')
-      goto yy447;
-    goto yy341;
-  yy469:
+    if (yych == 'L')
+      goto yy660;
+    if (yych == 'l')
+      goto yy660;
+    goto yy497;
+  yy651:
     yych = *++p;
-    if (yych == 'A')
-      goto yy485;
-    if (yych == 'a')
-      goto yy485;
-    goto yy341;
-  yy470:
+    if (yych == 'N')
+      goto yy657;
+    if (yych == 'n')
+      goto yy657;
+    goto yy497;
+  yy652:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy653;
+    if (yych != 'p')
+      goto yy497;
+  yy653:
     yych = *++p;
     if (yych == 'T')
-      goto yy375;
-    if (yych == 't')
-      goto yy375;
-    goto yy341;
-  yy471:
+      goto yy654;
+    if (yych != 't')
+      goto yy497;
+  yy654:
     yych = *++p;
-    if (yych == 'D')
-      goto yy375;
-    if (yych == 'd')
-      goto yy375;
-    goto yy341;
-  yy472:
+    if (yych == 'I')
+      goto yy655;
+    if (yych != 'i')
+      goto yy497;
+  yy655:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy656;
+    if (yych != 'o')
+      goto yy497;
+  yy656:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy529;
+    if (yych == 'n')
+      goto yy529;
+    goto yy497;
+  yy657:
     yych = *++p;
     if (yych == 'T')
-      goto yy486;
-    if (yych == 't')
-      goto yy486;
-    goto yy341;
-  yy473:
+      goto yy658;
+    if (yych != 't')
+      goto yy497;
+  yy658:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy659;
+    if (yych != 'e')
+      goto yy497;
+  yy659:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy529;
+    if (yych == 'r')
+      goto yy529;
+    goto yy497;
+  yy660:
+    yych = *++p;
+    if (yych <= '/') {
+      if (yych <= 0x1F) {
+        if (yych <= 0x08)
+          goto yy497;
+        if (yych <= '\r')
+          goto yy530;
+        goto yy497;
+      } else {
+        if (yych <= ' ')
+          goto yy530;
+        if (yych <= '.')
+          goto yy497;
+        goto yy532;
+      }
+    } else {
+      if (yych <= 'F') {
+        if (yych == '>')
+          goto yy530;
+        goto yy497;
+      } else {
+        if (yych <= 'G')
+          goto yy661;
+        if (yych != 'g')
+          goto yy497;
+      }
+    }
+  yy661:
     yych = *++p;
-    if (yych == 'S')
-      goto yy487;
-    if (yych == 's')
-      goto yy487;
-    goto yy341;
-  yy474:
+    if (yych == 'R')
+      goto yy662;
+    if (yych != 'r')
+      goto yy497;
+  yy662:
     yych = *++p;
     if (yych == 'O')
-      goto yy488;
-    if (yych == 'o')
-      goto yy488;
-    goto yy341;
-  yy475:
+      goto yy663;
+    if (yych != 'o')
+      goto yy497;
+  yy663:
     yych = *++p;
-    if (yych == 'Q')
-      goto yy489;
-    if (yych == 'q')
-      goto yy489;
-    goto yy341;
-  yy476:
+    if (yych == 'U')
+      goto yy664;
+    if (yych != 'u')
+      goto yy497;
+  yy664:
     yych = *++p;
-    if (yych == 'R')
-      goto yy375;
-    if (yych == 'r')
-      goto yy375;
-    goto yy341;
-  yy477:
+    if (yych == 'P')
+      goto yy529;
+    if (yych == 'p')
+      goto yy529;
+    goto yy497;
+  yy665:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy680;
+    if (yych == 'd')
+      goto yy680;
+    goto yy497;
+  yy666:
     yych = *++p;
     if (yych == 'O')
-      goto yy490;
+      goto yy673;
     if (yych == 'o')
-      goto yy490;
-    goto yy341;
-  yy478:
-    yych = *++p;
-    if (yych == 'L')
-      goto yy487;
-    if (yych == 'l')
-      goto yy487;
-    goto yy341;
-  yy479:
-    yych = *++p;
-    if (yych == 'G')
-      goto yy375;
-    if (yych == 'g')
-      goto yy375;
-    goto yy341;
-  yy480:
+      goto yy673;
+    goto yy497;
+  yy667:
     yych = *++p;
     if (yych == 'S')
-      goto yy491;
-    if (yych == 's')
-      goto yy491;
-    goto yy341;
-  yy481:
+      goto yy668;
+    if (yych != 's')
+      goto yy497;
+  yy668:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy669;
+    if (yych != 'e')
+      goto yy497;
+  yy669:
     yych = *++p;
     if (yych <= '/') {
       if (yych <= 0x1F) {
         if (yych <= 0x08)
-          goto yy341;
+          goto yy497;
         if (yych <= '\r')
-          goto yy391;
-        goto yy341;
+          goto yy530;
+        goto yy497;
       } else {
         if (yych <= ' ')
-          goto yy391;
+          goto yy530;
         if (yych <= '.')
-          goto yy341;
-        goto yy393;
+          goto yy497;
+        goto yy532;
       }
     } else {
-      if (yych <= 'R') {
+      if (yych <= 'E') {
         if (yych == '>')
-          goto yy391;
-        goto yy341;
+          goto yy530;
+        goto yy497;
       } else {
-        if (yych <= 'S')
-          goto yy491;
-        if (yych == 's')
-          goto yy491;
-        goto yy341;
+        if (yych <= 'F')
+          goto yy670;
+        if (yych != 'f')
+          goto yy497;
       }
     }
-  yy482:
+  yy670:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy671;
+    if (yych != 'o')
+      goto yy497;
+  yy671:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy672;
+    if (yych != 'n')
+      goto yy497;
+  yy672:
     yych = *++p;
     if (yych == 'T')
-      goto yy492;
+      goto yy529;
     if (yych == 't')
-      goto yy492;
-    goto yy341;
-  yy483:
+      goto yy529;
+    goto yy497;
+  yy673:
     yych = *++p;
-    if (yych == 'M')
-      goto yy493;
-    if (yych == 'm')
-      goto yy493;
-    goto yy341;
-  yy484:
+    if (yych == 'C')
+      goto yy674;
+    if (yych != 'c')
+      goto yy497;
+  yy674:
+    yych = *++p;
+    if (yych == 'K')
+      goto yy675;
+    if (yych != 'k')
+      goto yy497;
+  yy675:
+    yych = *++p;
+    if (yych == 'Q')
+      goto yy676;
+    if (yych != 'q')
+      goto yy497;
+  yy676:
+    yych = *++p;
+    if (yych == 'U')
+      goto yy677;
+    if (yych != 'u')
+      goto yy497;
+  yy677:
+    yych = *++p;
+    if (yych == 'O')
+      goto yy678;
+    if (yych != 'o')
+      goto yy497;
+  yy678:
     yych = *++p;
     if (yych == 'T')
-      goto yy435;
+      goto yy679;
+    if (yych != 't')
+      goto yy497;
+  yy679:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy529;
+    if (yych == 'e')
+      goto yy529;
+    goto yy497;
+  yy680:
+    yych = *++p;
+    if (yych == 'Y')
+      goto yy529;
+    if (yych == 'y')
+      goto yy529;
+    goto yy497;
+  yy681:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy692;
+    if (yych == 'i')
+      goto yy692;
+    goto yy497;
+  yy682:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy688;
     if (yych == 't')
-      goto yy435;
-    goto yy341;
-  yy485:
+      goto yy688;
+    goto yy497;
+  yy683:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy684;
+    if (yych != 'd')
+      goto yy497;
+  yy684:
     yych = *++p;
     if (yych == 'R')
-      goto yy415;
-    if (yych == 'r')
-      goto yy415;
-    goto yy341;
-  yy486:
+      goto yy685;
+    if (yych != 'r')
+      goto yy497;
+  yy685:
     yych = *++p;
-    if (yych == 'A')
-      goto yy494;
-    if (yych == 'a')
-      goto yy494;
-    goto yy341;
-  yy487:
+    if (yych == 'E')
+      goto yy686;
+    if (yych != 'e')
+      goto yy497;
+  yy686:
     yych = *++p;
     if (yych == 'S')
-      goto yy375;
+      goto yy687;
+    if (yych != 's')
+      goto yy497;
+  yy687:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy529;
     if (yych == 's')
-      goto yy375;
-    goto yy341;
-  yy488:
+      goto yy529;
+    goto yy497;
+  yy688:
     yych = *++p;
-    if (yych == 'N')
-      goto yy470;
-    if (yych == 'n')
-      goto yy470;
-    goto yy341;
-  yy489:
+    if (yych == 'I')
+      goto yy689;
+    if (yych != 'i')
+      goto yy497;
+  yy689:
     yych = *++p;
-    if (yych == 'U')
-      goto yy495;
-    if (yych == 'u')
-      goto yy495;
-    goto yy341;
-  yy490:
+    if (yych == 'C')
+      goto yy690;
+    if (yych != 'c')
+      goto yy497;
+  yy690:
     yych = *++p;
-    if (yych == 'U')
-      goto yy496;
-    if (yych == 'u')
-      goto yy496;
-    goto yy341;
-  yy491:
+    if (yych == 'L')
+      goto yy691;
+    if (yych != 'l')
+      goto yy497;
+  yy691:
     yych = *++p;
     if (yych == 'E')
-      goto yy470;
+      goto yy529;
     if (yych == 'e')
-      goto yy470;
-    goto yy341;
-  yy492:
+      goto yy529;
+    goto yy497;
+  yy692:
+    yych = *++p;
+    if (yych == 'D')
+      goto yy693;
+    if (yych != 'd')
+      goto yy497;
+  yy693:
     yych = *++p;
     if (yych == 'E')
-      goto yy423;
+      goto yy529;
     if (yych == 'e')
-      goto yy423;
-    goto yy341;
-  yy493:
+      goto yy529;
+    goto yy497;
+  yy694:
     yych = *++p;
     if (yych == 'E')
-      goto yy487;
+      goto yy570;
     if (yych == 'e')
-      goto yy487;
-    goto yy341;
-  yy494:
+      goto yy570;
+    goto yy497;
+  yy695:
     yych = *++p;
-    if (yych == '[')
+    if (yych == 'R')
+      goto yy696;
+    if (yych != 'r')
       goto yy497;
-    goto yy341;
-  yy495:
+  yy696:
     yych = *++p;
-    if (yych == 'O')
-      goto yy499;
-    if (yych == 'o')
-      goto yy499;
-    goto yy341;
-  yy496:
+    if (yych == 'A')
+      goto yy697;
+    if (yych != 'a')
+      goto yy497;
+  yy697:
     yych = *++p;
-    if (yych == 'P')
-      goto yy375;
-    if (yych == 'p')
-      goto yy375;
-    goto yy341;
-  yy497:
-    ++p;
-    { return 5; }
-  yy499:
+    if (yych == 'M')
+      goto yy529;
+    if (yych == 'm')
+      goto yy529;
+    goto yy497;
+  yy698:
+    yych = *++p;
+    if (yych <= '/') {
+      if (yych <= 0x1F) {
+        if (yych <= 0x08)
+          goto yy497;
+        if (yych <= '\r')
+          goto yy530;
+        goto yy497;
+      } else {
+        if (yych <= ' ')
+          goto yy530;
+        if (yych <= '.')
+          goto yy497;
+        goto yy532;
+      }
+    } else {
+      if (yych <= '@') {
+        if (yych == '>')
+          goto yy530;
+        goto yy497;
+      } else {
+        if (yych <= 'A')
+          goto yy695;
+        if (yych == 'a')
+          goto yy695;
+        goto yy497;
+      }
+    }
+  yy699:
     ++p;
-    if ((yych = *p) == 'T')
-      goto yy447;
-    if (yych == 't')
-      goto yy447;
-    goto yy341;
+    if ((yych = *p) <= 'U') {
+      if (yych <= 'N') {
+        if (yych == 'E')
+          goto yy555;
+        goto yy497;
+      } else {
+        if (yych <= 'O')
+          goto yy554;
+        if (yych <= 'T')
+          goto yy497;
+        goto yy553;
+      }
+    } else {
+      if (yych <= 'n') {
+        if (yych == 'e')
+          goto yy555;
+        goto yy497;
+      } else {
+        if (yych <= 'o')
+          goto yy554;
+        if (yych == 'u')
+          goto yy553;
+        goto yy497;
+      }
+    }
   }
 }
 
@@ -8261,15 +11667,15 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) {
     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,
+        0,   224, 224, 224, 224, 224, 224, 224, 224, 198, 202, 194, 198, 194,
         224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
-        224, 224, 224, 224, 198, 224, 128, 224, 224, 224, 224, 64,  224, 224,
-        224, 224, 224, 233, 232, 224, 233, 233, 233, 233, 233, 233, 233, 233,
-        233, 233, 232, 224, 192, 192, 192, 224, 224, 233, 233, 233, 233, 233,
-        233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
-        233, 233, 233, 233, 233, 233, 233, 224, 224, 224, 224, 232, 192, 233,
-        233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
-        233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 224, 224, 224,
+        224, 224, 224, 224, 198, 224, 64,  224, 224, 224, 224, 128, 224, 224,
+        224, 224, 224, 241, 240, 224, 241, 241, 241, 241, 241, 241, 241, 241,
+        241, 241, 240, 224, 192, 192, 192, 224, 224, 241, 241, 241, 241, 241,
+        241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+        241, 241, 241, 241, 241, 241, 241, 224, 224, 224, 224, 240, 192, 241,
+        241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+        241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 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,
@@ -8283,812 +11689,735 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) {
     };
     yych = *p;
     if (yych == '<')
-      goto yy504;
+      goto yy704;
     ++p;
-  yy503 : { return 0; }
-  yy504:
+  yy703 : { return 0; }
+  yy704:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= '@') {
-      if (yych != '/')
-        goto yy503;
+      if (yych == '/')
+        goto yy708;
+      goto yy703;
+    } else {
+      if (yych <= 'Z')
+        goto yy705;
+      if (yych <= '`')
+        goto yy703;
+      if (yych >= '{')
+        goto yy703;
+    }
+  yy705:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 1) {
+      goto yy705;
+    }
+    if (yych <= ' ') {
+      if (yych <= 0x08)
+        goto yy707;
+      if (yych <= '\r')
+        goto yy719;
+      if (yych >= ' ')
+        goto yy719;
     } else {
-      if (yych <= 'Z')
-        goto yy507;
-      if (yych <= '`')
-        goto yy503;
-      if (yych <= 'z')
-        goto yy507;
-      goto yy503;
+      if (yych <= '/') {
+        if (yych >= '/')
+          goto yy721;
+      } else {
+        if (yych == '>')
+          goto yy713;
+      }
     }
-    yych = *++p;
-    if (yych <= '@')
-      goto yy506;
-    if (yych <= 'Z')
-      goto yy509;
-    if (yych <= '`')
-      goto yy506;
-    if (yych <= 'z')
-      goto yy509;
-  yy506:
+  yy707:
     p = marker;
     if (yyaccept == 0) {
-      goto yy503;
+      goto yy703;
     } else {
-      goto yy522;
+      goto yy717;
     }
-  yy507:
+  yy708:
+    yych = *++p;
+    if (yych <= '@')
+      goto yy707;
+    if (yych <= 'Z')
+      goto yy709;
+    if (yych <= '`')
+      goto yy707;
+    if (yych >= '{')
+      goto yy707;
+  yy709:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 2) {
-      goto yy511;
+      goto yy711;
     }
     if (yych <= '=') {
-      if (yych <= '.') {
-        if (yych == '-')
-          goto yy507;
-        goto yy506;
+      if (yych <= '-') {
+        if (yych <= ',')
+          goto yy707;
+        goto yy709;
       } else {
         if (yych <= '/')
-          goto yy513;
+          goto yy707;
         if (yych <= '9')
-          goto yy507;
-        goto yy506;
+          goto yy709;
+        goto yy707;
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '>')
-          goto yy514;
+          goto yy713;
         if (yych <= '@')
-          goto yy506;
-        goto yy507;
-      } else {
-        if (yych <= '`')
-          goto yy506;
-        if (yych <= 'z')
-          goto yy507;
-        goto yy506;
-      }
-    }
-  yy509:
-    ++p;
-    yych = *p;
-    if (yych <= '/') {
-      if (yych <= 0x1F) {
-        if (yych <= 0x08)
-          goto yy506;
-        if (yych <= '\r')
-          goto yy516;
-        goto yy506;
-      } else {
-        if (yych <= ' ')
-          goto yy516;
-        if (yych == '-')
-          goto yy509;
-        goto yy506;
-      }
-    } else {
-      if (yych <= '@') {
-        if (yych <= '9')
-          goto yy509;
-        if (yych == '>')
-          goto yy514;
-        goto yy506;
+          goto yy707;
+        goto yy709;
       } else {
-        if (yych <= 'Z')
-          goto yy509;
         if (yych <= '`')
-          goto yy506;
+          goto yy707;
         if (yych <= 'z')
-          goto yy509;
-        goto yy506;
+          goto yy709;
+        goto yy707;
       }
     }
-  yy511:
+  yy711:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 2) {
-      goto yy511;
-    }
-    if (yych <= '>') {
-      if (yych <= '9') {
-        if (yych != '/')
-          goto yy506;
-      } else {
-        if (yych <= ':')
-          goto yy518;
-        if (yych <= '=')
-          goto yy506;
-        goto yy514;
-      }
-    } else {
-      if (yych <= '^') {
-        if (yych <= '@')
-          goto yy506;
-        if (yych <= 'Z')
-          goto yy518;
-        goto yy506;
-      } else {
-        if (yych == '`')
-          goto yy506;
-        if (yych <= 'z')
-          goto yy518;
-        goto yy506;
-      }
+      goto yy711;
     }
-  yy513:
-    yych = *++p;
     if (yych != '>')
-      goto yy506;
-  yy514:
+      goto yy707;
+  yy713:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 4) {
-      goto yy514;
+      goto yy713;
     }
     if (yych <= 0x08)
-      goto yy506;
+      goto yy707;
     if (yych <= '\n')
-      goto yy520;
+      goto yy715;
     if (yych <= '\v')
-      goto yy506;
+      goto yy707;
     if (yych <= '\r')
-      goto yy523;
-    goto yy506;
-  yy516:
+      goto yy718;
+    goto yy707;
+  yy715:
+    yyaccept = 1;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 4) {
+      goto yy713;
+    }
+    if (yych <= 0x08)
+      goto yy717;
+    if (yych <= '\n')
+      goto yy715;
+    if (yych <= '\v')
+      goto yy717;
+    if (yych <= '\r')
+      goto yy718;
+  yy717 : { return 7; }
+  yy718:
+    yych = *++p;
+    goto yy717;
+  yy719:
     ++p;
     yych = *p;
-    if (yych <= 0x1F) {
-      if (yych <= 0x08)
-        goto yy506;
-      if (yych <= '\r')
-        goto yy516;
-      goto yy506;
+    if (yych <= ':') {
+      if (yych <= ' ') {
+        if (yych <= 0x08)
+          goto yy707;
+        if (yych <= '\r')
+          goto yy719;
+        if (yych <= 0x1F)
+          goto yy707;
+        goto yy719;
+      } else {
+        if (yych == '/')
+          goto yy721;
+        if (yych <= '9')
+          goto yy707;
+        goto yy722;
+      }
     } else {
-      if (yych <= ' ')
-        goto yy516;
-      if (yych == '>')
-        goto yy514;
-      goto yy506;
+      if (yych <= 'Z') {
+        if (yych == '>')
+          goto yy713;
+        if (yych <= '@')
+          goto yy707;
+        goto yy722;
+      } else {
+        if (yych <= '_') {
+          if (yych <= '^')
+            goto yy707;
+          goto yy722;
+        } else {
+          if (yych <= '`')
+            goto yy707;
+          if (yych <= 'z')
+            goto yy722;
+          goto yy707;
+        }
+      }
     }
-  yy518:
+  yy721:
+    yych = *++p;
+    if (yych == '>')
+      goto yy713;
+    goto yy707;
+  yy722:
     ++p;
     yych = *p;
-    if (yybm[0 + yych] & 8) {
-      goto yy518;
+    if (yybm[0 + yych] & 16) {
+      goto yy722;
     }
     if (yych <= ',') {
       if (yych <= '\r') {
         if (yych <= 0x08)
-          goto yy506;
-        goto yy524;
+          goto yy707;
       } else {
-        if (yych == ' ')
-          goto yy524;
-        goto yy506;
+        if (yych != ' ')
+          goto yy707;
       }
     } else {
       if (yych <= '<') {
         if (yych <= '/')
-          goto yy513;
-        goto yy506;
+          goto yy721;
+        goto yy707;
       } else {
         if (yych <= '=')
-          goto yy526;
+          goto yy726;
         if (yych <= '>')
-          goto yy514;
-        goto yy506;
+          goto yy713;
+        goto yy707;
       }
     }
-  yy520:
-    yyaccept = 1;
-    marker = ++p;
-    yych = *p;
-    if (yybm[0 + yych] & 4) {
-      goto yy514;
-    }
-    if (yych <= 0x08)
-      goto yy522;
-    if (yych <= '\n')
-      goto yy520;
-    if (yych <= '\v')
-      goto yy522;
-    if (yych <= '\r')
-      goto yy523;
-  yy522 : { return 7; }
-  yy523:
-    yych = *++p;
-    goto yy522;
-  yy524:
+  yy724:
     ++p;
     yych = *p;
     if (yych <= '<') {
       if (yych <= ' ') {
         if (yych <= 0x08)
-          goto yy506;
+          goto yy707;
         if (yych <= '\r')
-          goto yy524;
+          goto yy724;
         if (yych <= 0x1F)
-          goto yy506;
-        goto yy524;
+          goto yy707;
+        goto yy724;
       } else {
         if (yych <= '/') {
           if (yych <= '.')
-            goto yy506;
-          goto yy513;
+            goto yy707;
+          goto yy721;
         } else {
           if (yych == ':')
-            goto yy518;
-          goto yy506;
+            goto yy722;
+          goto yy707;
         }
       }
     } else {
       if (yych <= 'Z') {
         if (yych <= '=')
-          goto yy526;
+          goto yy726;
         if (yych <= '>')
-          goto yy514;
+          goto yy713;
         if (yych <= '@')
-          goto yy506;
-        goto yy518;
+          goto yy707;
+        goto yy722;
       } else {
         if (yych <= '_') {
           if (yych <= '^')
-            goto yy506;
-          goto yy518;
+            goto yy707;
+          goto yy722;
         } else {
           if (yych <= '`')
-            goto yy506;
+            goto yy707;
           if (yych <= 'z')
-            goto yy518;
-          goto yy506;
+            goto yy722;
+          goto yy707;
         }
       }
     }
-  yy526:
+  yy726:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 32) {
-      goto yy527;
+      goto yy728;
     }
     if (yych <= 0xE0) {
       if (yych <= '"') {
         if (yych <= 0x00)
-          goto yy506;
-        if (yych <= ' ')
-          goto yy529;
-        goto yy530;
+          goto yy707;
+        if (yych >= '!')
+          goto yy739;
       } else {
         if (yych <= '\'')
-          goto yy532;
-        if (yych <= 0xC1)
-          goto yy506;
-        if (yych <= 0xDF)
-          goto yy534;
-        goto yy535;
-      }
-    } else {
-      if (yych <= 0xEF) {
-        if (yych == 0xED)
-          goto yy537;
-        goto yy536;
-      } else {
-        if (yych <= 0xF0)
-          goto yy538;
-        if (yych <= 0xF3)
-          goto yy539;
-        if (yych <= 0xF4)
-          goto yy540;
-        goto yy506;
-      }
-    }
-  yy527:
-    ++p;
-    yych = *p;
-    if (yybm[0 + yych] & 32) {
-      goto yy527;
-    }
-    if (yych <= 0xE0) {
-      if (yych <= '=') {
-        if (yych <= 0x00)
-          goto yy506;
-        if (yych <= ' ')
-          goto yy541;
-        goto yy506;
-      } else {
-        if (yych <= '>')
-          goto yy514;
+          goto yy737;
         if (yych <= 0xC1)
-          goto yy506;
+          goto yy707;
         if (yych <= 0xDF)
-          goto yy534;
-        goto yy535;
+          goto yy730;
+        goto yy731;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy537;
-        goto yy536;
+          goto yy736;
+        goto yy732;
       } else {
         if (yych <= 0xF0)
-          goto yy538;
+          goto yy733;
         if (yych <= 0xF3)
-          goto yy539;
+          goto yy734;
         if (yych <= 0xF4)
-          goto yy540;
-        goto yy506;
+          goto yy735;
+        goto yy707;
       }
     }
-  yy529:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 32) {
-      goto yy527;
+      goto yy728;
     }
     if (yych <= 0xDF) {
       if (yych <= '\'') {
         if (yych <= 0x00)
-          goto yy506;
+          goto yy707;
         if (yych <= ' ')
-          goto yy543;
-        if (yych >= '#')
-          goto yy532;
+          goto yy762;
+        if (yych <= '"')
+          goto yy739;
+        goto yy737;
       } else {
         if (yych == '>')
-          goto yy514;
+          goto yy713;
         if (yych <= 0xC1)
-          goto yy506;
-        goto yy534;
+          goto yy707;
+        goto yy730;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy535;
+          goto yy731;
         if (yych == 0xED)
-          goto yy537;
-        goto yy536;
+          goto yy736;
+        goto yy732;
       } else {
         if (yych <= 0xF0)
-          goto yy538;
-        if (yych <= 0xF3)
-          goto yy539;
-        if (yych <= 0xF4)
-          goto yy540;
-        goto yy506;
-      }
-    }
-  yy530:
-    ++p;
-    yych = *p;
-    if (yybm[0 + yych] & 64) {
-      goto yy530;
-    }
-    if (yych <= 0xEC) {
-      if (yych <= 0xC1) {
-        if (yych <= 0x00)
-          goto yy506;
-        if (yych <= '"')
-          goto yy545;
-        goto yy506;
-      } else {
-        if (yych <= 0xDF)
-          goto yy546;
-        if (yych <= 0xE0)
-          goto yy547;
-        goto yy548;
-      }
-    } else {
-      if (yych <= 0xF0) {
-        if (yych <= 0xED)
-          goto yy549;
-        if (yych <= 0xEF)
-          goto yy548;
-        goto yy550;
-      } else {
+          goto yy733;
         if (yych <= 0xF3)
-          goto yy551;
+          goto yy734;
         if (yych <= 0xF4)
-          goto yy552;
-        goto yy506;
+          goto yy735;
+        goto yy707;
       }
     }
-  yy532:
+  yy728:
     ++p;
     yych = *p;
-    if (yybm[0 + yych] & 128) {
-      goto yy532;
+    if (yybm[0 + yych] & 32) {
+      goto yy728;
     }
-    if (yych <= 0xEC) {
-      if (yych <= 0xC1) {
+    if (yych <= 0xE0) {
+      if (yych <= '=') {
         if (yych <= 0x00)
-          goto yy506;
-        if (yych <= '\'')
-          goto yy545;
-        goto yy506;
+          goto yy707;
+        if (yych <= ' ')
+          goto yy756;
+        goto yy707;
       } else {
-        if (yych <= 0xDF)
-          goto yy553;
-        if (yych <= 0xE0)
-          goto yy554;
-        goto yy555;
+        if (yych <= '>')
+          goto yy713;
+        if (yych <= 0xC1)
+          goto yy707;
+        if (yych >= 0xE0)
+          goto yy731;
       }
     } else {
-      if (yych <= 0xF0) {
-        if (yych <= 0xED)
-          goto yy556;
-        if (yych <= 0xEF)
-          goto yy555;
-        goto yy557;
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy736;
+        goto yy732;
       } else {
+        if (yych <= 0xF0)
+          goto yy733;
         if (yych <= 0xF3)
-          goto yy558;
+          goto yy734;
         if (yych <= 0xF4)
-          goto yy559;
-        goto yy506;
+          goto yy735;
+        goto yy707;
       }
     }
-  yy534:
+  yy730:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0xBF)
-      goto yy527;
-    goto yy506;
-  yy535:
+      goto yy728;
+    goto yy707;
+  yy731:
     ++p;
     yych = *p;
     if (yych <= 0x9F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0xBF)
-      goto yy534;
-    goto yy506;
-  yy536:
+      goto yy730;
+    goto yy707;
+  yy732:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0xBF)
-      goto yy534;
-    goto yy506;
-  yy537:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy506;
-    if (yych <= 0x9F)
-      goto yy534;
-    goto yy506;
-  yy538:
+      goto yy730;
+    goto yy707;
+  yy733:
     ++p;
     yych = *p;
     if (yych <= 0x8F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0xBF)
-      goto yy536;
-    goto yy506;
-  yy539:
+      goto yy732;
+    goto yy707;
+  yy734:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0xBF)
-      goto yy536;
-    goto yy506;
-  yy540:
+      goto yy732;
+    goto yy707;
+  yy735:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0x8F)
-      goto yy536;
-    goto yy506;
-  yy541:
+      goto yy732;
+    goto yy707;
+  yy736:
     ++p;
     yych = *p;
-    if (yych <= '@') {
-      if (yych <= '"') {
-        if (yych <= '\r') {
-          if (yych <= 0x00)
-            goto yy506;
-          if (yych <= 0x08)
-            goto yy527;
-          goto yy541;
-        } else {
-          if (yych == ' ')
-            goto yy541;
-          if (yych <= '!')
-            goto yy527;
-          goto yy506;
-        }
+    if (yych <= 0x7F)
+      goto yy707;
+    if (yych <= 0x9F)
+      goto yy730;
+    goto yy707;
+  yy737:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy737;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy707;
+        if (yych <= '\'')
+          goto yy748;
+        goto yy707;
       } else {
-        if (yych <= ':') {
-          if (yych == '\'')
-            goto yy506;
-          if (yych <= '9')
-            goto yy527;
-          goto yy560;
-        } else {
-          if (yych <= ';')
-            goto yy527;
-          if (yych <= '=')
-            goto yy506;
-          if (yych <= '>')
-            goto yy514;
-          goto yy527;
-        }
+        if (yych <= 0xDF)
+          goto yy749;
+        if (yych <= 0xE0)
+          goto yy750;
+        goto yy751;
       }
     } else {
-      if (yych <= 0xDF) {
-        if (yych <= '`') {
-          if (yych <= 'Z')
-            goto yy560;
-          if (yych <= '^')
-            goto yy527;
-          if (yych <= '_')
-            goto yy560;
-          goto yy506;
-        } else {
-          if (yych <= 'z')
-            goto yy560;
-          if (yych <= 0x7F)
-            goto yy527;
-          if (yych <= 0xC1)
-            goto yy506;
-          goto yy534;
-        }
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy755;
+        if (yych <= 0xEF)
+          goto yy751;
+        goto yy752;
       } else {
-        if (yych <= 0xEF) {
-          if (yych <= 0xE0)
-            goto yy535;
-          if (yych == 0xED)
-            goto yy537;
-          goto yy536;
-        } else {
-          if (yych <= 0xF0)
-            goto yy538;
-          if (yych <= 0xF3)
-            goto yy539;
-          if (yych <= 0xF4)
-            goto yy540;
-          goto yy506;
-        }
+        if (yych <= 0xF3)
+          goto yy753;
+        if (yych <= 0xF4)
+          goto yy754;
+        goto yy707;
       }
     }
-  yy543:
+  yy739:
     ++p;
     yych = *p;
-    if (yych <= '@') {
-      if (yych <= '"') {
-        if (yych <= '\r') {
-          if (yych <= 0x00)
-            goto yy506;
-          if (yych <= 0x08)
-            goto yy527;
-          goto yy543;
-        } else {
-          if (yych == ' ')
-            goto yy543;
-          if (yych <= '!')
-            goto yy527;
-          goto yy530;
-        }
+    if (yybm[0 + yych] & 128) {
+      goto yy739;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= 0x00)
+          goto yy707;
+        if (yych <= '"')
+          goto yy748;
+        goto yy707;
       } else {
-        if (yych <= ':') {
-          if (yych == '\'')
-            goto yy532;
-          if (yych <= '9')
-            goto yy527;
-          goto yy560;
-        } else {
-          if (yych <= ';')
-            goto yy527;
-          if (yych <= '=')
-            goto yy506;
-          if (yych <= '>')
-            goto yy514;
-          goto yy527;
-        }
+        if (yych <= 0xDF)
+          goto yy741;
+        if (yych <= 0xE0)
+          goto yy742;
+        goto yy743;
       }
     } else {
-      if (yych <= 0xDF) {
-        if (yych <= '`') {
-          if (yych <= 'Z')
-            goto yy560;
-          if (yych <= '^')
-            goto yy527;
-          if (yych <= '_')
-            goto yy560;
-          goto yy506;
-        } else {
-          if (yych <= 'z')
-            goto yy560;
-          if (yych <= 0x7F)
-            goto yy527;
-          if (yych <= 0xC1)
-            goto yy506;
-          goto yy534;
-        }
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy747;
+        if (yych <= 0xEF)
+          goto yy743;
+        goto yy744;
       } else {
-        if (yych <= 0xEF) {
-          if (yych <= 0xE0)
-            goto yy535;
-          if (yych == 0xED)
-            goto yy537;
-          goto yy536;
-        } else {
-          if (yych <= 0xF0)
-            goto yy538;
-          if (yych <= 0xF3)
-            goto yy539;
-          if (yych <= 0xF4)
-            goto yy540;
-          goto yy506;
-        }
+        if (yych <= 0xF3)
+          goto yy745;
+        if (yych <= 0xF4)
+          goto yy746;
+        goto yy707;
       }
     }
-  yy545:
-    ++p;
-    yych = *p;
-    if (yybm[0 + yych] & 2) {
-      goto yy511;
-    }
-    if (yych == '/')
-      goto yy513;
-    if (yych == '>')
-      goto yy514;
-    goto yy506;
-  yy546:
+  yy741:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0xBF)
-      goto yy530;
-    goto yy506;
-  yy547:
+      goto yy739;
+    goto yy707;
+  yy742:
     ++p;
     yych = *p;
     if (yych <= 0x9F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0xBF)
-      goto yy546;
-    goto yy506;
-  yy548:
+      goto yy741;
+    goto yy707;
+  yy743:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0xBF)
-      goto yy546;
-    goto yy506;
-  yy549:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy506;
-    if (yych <= 0x9F)
-      goto yy546;
-    goto yy506;
-  yy550:
+      goto yy741;
+    goto yy707;
+  yy744:
     ++p;
     yych = *p;
     if (yych <= 0x8F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0xBF)
-      goto yy548;
-    goto yy506;
-  yy551:
+      goto yy743;
+    goto yy707;
+  yy745:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0xBF)
-      goto yy548;
-    goto yy506;
-  yy552:
+      goto yy743;
+    goto yy707;
+  yy746:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0x8F)
-      goto yy548;
-    goto yy506;
-  yy553:
+      goto yy743;
+    goto yy707;
+  yy747:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy506;
-    if (yych <= 0xBF)
-      goto yy532;
-    goto yy506;
-  yy554:
+      goto yy707;
+    if (yych <= 0x9F)
+      goto yy741;
+    goto yy707;
+  yy748:
     ++p;
     yych = *p;
-    if (yych <= 0x9F)
-      goto yy506;
-    if (yych <= 0xBF)
-      goto yy553;
-    goto yy506;
-  yy555:
+    if (yych <= ' ') {
+      if (yych <= 0x08)
+        goto yy707;
+      if (yych <= '\r')
+        goto yy719;
+      if (yych <= 0x1F)
+        goto yy707;
+      goto yy719;
+    } else {
+      if (yych <= '/') {
+        if (yych <= '.')
+          goto yy707;
+        goto yy721;
+      } else {
+        if (yych == '>')
+          goto yy713;
+        goto yy707;
+      }
+    }
+  yy749:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0xBF)
-      goto yy553;
-    goto yy506;
-  yy556:
+      goto yy737;
+    goto yy707;
+  yy750:
     ++p;
     yych = *p;
-    if (yych <= 0x7F)
-      goto yy506;
     if (yych <= 0x9F)
-      goto yy553;
-    goto yy506;
-  yy557:
+      goto yy707;
+    if (yych <= 0xBF)
+      goto yy749;
+    goto yy707;
+  yy751:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy707;
+    if (yych <= 0xBF)
+      goto yy749;
+    goto yy707;
+  yy752:
     ++p;
     yych = *p;
     if (yych <= 0x8F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0xBF)
-      goto yy555;
-    goto yy506;
-  yy558:
+      goto yy751;
+    goto yy707;
+  yy753:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0xBF)
-      goto yy555;
-    goto yy506;
-  yy559:
+      goto yy751;
+    goto yy707;
+  yy754:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy506;
+      goto yy707;
     if (yych <= 0x8F)
-      goto yy555;
-    goto yy506;
-  yy560:
+      goto yy751;
+    goto yy707;
+  yy755:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy707;
+    if (yych <= 0x9F)
+      goto yy749;
+    goto yy707;
+  yy756:
+    ++p;
+    yych = *p;
+    if (yych <= '@') {
+      if (yych <= '"') {
+        if (yych <= '\r') {
+          if (yych <= 0x00)
+            goto yy707;
+          if (yych <= 0x08)
+            goto yy728;
+          goto yy756;
+        } else {
+          if (yych == ' ')
+            goto yy756;
+          if (yych <= '!')
+            goto yy728;
+          goto yy707;
+        }
+      } else {
+        if (yych <= ':') {
+          if (yych == '\'')
+            goto yy707;
+          if (yych <= '9')
+            goto yy728;
+        } else {
+          if (yych <= ';')
+            goto yy728;
+          if (yych <= '=')
+            goto yy707;
+          if (yych <= '>')
+            goto yy713;
+          goto yy728;
+        }
+      }
+    } else {
+      if (yych <= 0xDF) {
+        if (yych <= '`') {
+          if (yych <= 'Z')
+            goto yy758;
+          if (yych <= '^')
+            goto yy728;
+          if (yych >= '`')
+            goto yy707;
+        } else {
+          if (yych <= 'z')
+            goto yy758;
+          if (yych <= 0x7F)
+            goto yy728;
+          if (yych <= 0xC1)
+            goto yy707;
+          goto yy730;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych <= 0xE0)
+            goto yy731;
+          if (yych == 0xED)
+            goto yy736;
+          goto yy732;
+        } else {
+          if (yych <= 0xF0)
+            goto yy733;
+          if (yych <= 0xF3)
+            goto yy734;
+          if (yych <= 0xF4)
+            goto yy735;
+          goto yy707;
+        }
+      }
+    }
+  yy758:
     ++p;
     yych = *p;
     if (yych <= '>') {
       if (yych <= '&') {
         if (yych <= 0x1F) {
           if (yych <= 0x00)
-            goto yy506;
+            goto yy707;
           if (yych <= 0x08)
-            goto yy527;
+            goto yy728;
           if (yych >= 0x0E)
-            goto yy527;
+            goto yy728;
         } else {
           if (yych <= ' ')
-            goto yy562;
+            goto yy760;
           if (yych == '"')
-            goto yy506;
-          goto yy527;
+            goto yy707;
+          goto yy728;
         }
       } else {
         if (yych <= '/') {
           if (yych <= '\'')
-            goto yy506;
+            goto yy707;
           if (yych <= ',')
-            goto yy527;
+            goto yy728;
           if (yych <= '.')
-            goto yy560;
-          goto yy527;
+            goto yy758;
+          goto yy728;
         } else {
           if (yych <= ';') {
             if (yych <= ':')
-              goto yy560;
-            goto yy527;
+              goto yy758;
+            goto yy728;
           } else {
             if (yych <= '<')
-              goto yy506;
+              goto yy707;
             if (yych <= '=')
-              goto yy526;
-            goto yy514;
+              goto yy726;
+            goto yy713;
           }
         }
       }
@@ -9096,116 +12425,188 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) {
       if (yych <= 0xC1) {
         if (yych <= '_') {
           if (yych <= '@')
-            goto yy527;
+            goto yy728;
           if (yych <= 'Z')
-            goto yy560;
+            goto yy758;
           if (yych <= '^')
-            goto yy527;
-          goto yy560;
+            goto yy728;
+          goto yy758;
         } else {
           if (yych <= '`')
-            goto yy506;
+            goto yy707;
           if (yych <= 'z')
-            goto yy560;
+            goto yy758;
           if (yych <= 0x7F)
-            goto yy527;
-          goto yy506;
+            goto yy728;
+          goto yy707;
         }
       } else {
         if (yych <= 0xED) {
           if (yych <= 0xDF)
-            goto yy534;
+            goto yy730;
           if (yych <= 0xE0)
-            goto yy535;
+            goto yy731;
           if (yych <= 0xEC)
-            goto yy536;
-          goto yy537;
+            goto yy732;
+          goto yy736;
         } else {
           if (yych <= 0xF0) {
             if (yych <= 0xEF)
-              goto yy536;
-            goto yy538;
+              goto yy732;
+            goto yy733;
           } else {
             if (yych <= 0xF3)
-              goto yy539;
+              goto yy734;
             if (yych <= 0xF4)
-              goto yy540;
-            goto yy506;
+              goto yy735;
+            goto yy707;
           }
         }
       }
     }
-  yy562:
+  yy760:
     ++p;
     yych = *p;
     if (yych <= '@') {
       if (yych <= '&') {
         if (yych <= 0x1F) {
           if (yych <= 0x00)
-            goto yy506;
+            goto yy707;
           if (yych <= 0x08)
-            goto yy527;
+            goto yy728;
           if (yych <= '\r')
-            goto yy562;
-          goto yy527;
+            goto yy760;
+          goto yy728;
         } else {
           if (yych <= ' ')
-            goto yy562;
+            goto yy760;
           if (yych == '"')
-            goto yy506;
-          goto yy527;
+            goto yy707;
+          goto yy728;
         }
       } else {
         if (yych <= ';') {
           if (yych <= '\'')
-            goto yy506;
+            goto yy707;
           if (yych == ':')
-            goto yy560;
-          goto yy527;
+            goto yy758;
+          goto yy728;
         } else {
           if (yych <= '<')
-            goto yy506;
+            goto yy707;
+          if (yych <= '=')
+            goto yy726;
+          if (yych <= '>')
+            goto yy713;
+          goto yy728;
+        }
+      }
+    } else {
+      if (yych <= 0xDF) {
+        if (yych <= '`') {
+          if (yych <= 'Z')
+            goto yy758;
+          if (yych <= '^')
+            goto yy728;
+          if (yych <= '_')
+            goto yy758;
+          goto yy707;
+        } else {
+          if (yych <= 'z')
+            goto yy758;
+          if (yych <= 0x7F)
+            goto yy728;
+          if (yych <= 0xC1)
+            goto yy707;
+          goto yy730;
+        }
+      } else {
+        if (yych <= 0xEF) {
+          if (yych <= 0xE0)
+            goto yy731;
+          if (yych == 0xED)
+            goto yy736;
+          goto yy732;
+        } else {
+          if (yych <= 0xF0)
+            goto yy733;
+          if (yych <= 0xF3)
+            goto yy734;
+          if (yych <= 0xF4)
+            goto yy735;
+          goto yy707;
+        }
+      }
+    }
+  yy762:
+    ++p;
+    yych = *p;
+    if (yych <= '@') {
+      if (yych <= '"') {
+        if (yych <= '\r') {
+          if (yych <= 0x00)
+            goto yy707;
+          if (yych <= 0x08)
+            goto yy728;
+          goto yy762;
+        } else {
+          if (yych == ' ')
+            goto yy762;
+          if (yych <= '!')
+            goto yy728;
+          goto yy739;
+        }
+      } else {
+        if (yych <= ':') {
+          if (yych == '\'')
+            goto yy737;
+          if (yych <= '9')
+            goto yy728;
+          goto yy758;
+        } else {
+          if (yych <= ';')
+            goto yy728;
           if (yych <= '=')
-            goto yy526;
+            goto yy707;
           if (yych <= '>')
-            goto yy514;
-          goto yy527;
+            goto yy713;
+          goto yy728;
         }
       }
     } else {
       if (yych <= 0xDF) {
         if (yych <= '`') {
           if (yych <= 'Z')
-            goto yy560;
+            goto yy758;
           if (yych <= '^')
-            goto yy527;
+            goto yy728;
           if (yych <= '_')
-            goto yy560;
-          goto yy506;
+            goto yy758;
+          goto yy707;
         } else {
           if (yych <= 'z')
-            goto yy560;
+            goto yy758;
           if (yych <= 0x7F)
-            goto yy527;
+            goto yy728;
           if (yych <= 0xC1)
-            goto yy506;
-          goto yy534;
+            goto yy707;
+          goto yy730;
         }
       } else {
         if (yych <= 0xEF) {
           if (yych <= 0xE0)
-            goto yy535;
+            goto yy731;
           if (yych == 0xED)
-            goto yy537;
-          goto yy536;
+            goto yy736;
+          goto yy732;
         } else {
           if (yych <= 0xF0)
-            goto yy538;
+            goto yy733;
           if (yych <= 0xF3)
-            goto yy539;
+            goto yy734;
           if (yych <= 0xF4)
-            goto yy540;
-          goto yy506;
+            goto yy735;
+          goto yy707;
         }
       }
     }
@@ -9241,785 +12642,820 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) {
     if (yych <= 0xDF) {
       if (yych <= ';') {
         if (yych == '\n')
-          goto yy568;
+          goto yy768;
       } else {
         if (yych <= '<')
-          goto yy569;
+          goto yy769;
         if (yych <= 0x7F)
-          goto yy566;
+          goto yy766;
         if (yych <= 0xC1)
-          goto yy568;
-        goto yy570;
+          goto yy768;
+        goto yy770;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy571;
+          goto yy771;
         if (yych == 0xED)
-          goto yy573;
-        goto yy572;
+          goto yy773;
+        goto yy772;
       } else {
         if (yych <= 0xF0)
-          goto yy574;
+          goto yy774;
         if (yych <= 0xF3)
-          goto yy575;
+          goto yy775;
         if (yych <= 0xF4)
-          goto yy576;
-        goto yy568;
+          goto yy776;
+        goto yy768;
       }
     }
-  yy566:
+  yy766:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F) {
       if (yych != '\n')
-        goto yy578;
+        goto yy781;
     } else {
       if (yych <= 0xC1)
-        goto yy567;
+        goto yy767;
       if (yych <= 0xF4)
-        goto yy578;
+        goto yy781;
     }
-  yy567 : { return 0; }
-  yy568:
+  yy767 : { return 0; }
+  yy768:
     yych = *++p;
-    goto yy567;
-  yy569:
+    goto yy767;
+  yy769:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= '/') {
       if (yych == '\n')
-        goto yy567;
+        goto yy767;
       if (yych <= '.')
-        goto yy578;
-      goto yy589;
+        goto yy781;
+      goto yy789;
     } else {
       if (yych <= 0x7F)
-        goto yy578;
+        goto yy781;
       if (yych <= 0xC1)
-        goto yy567;
+        goto yy767;
       if (yych <= 0xF4)
-        goto yy578;
-      goto yy567;
+        goto yy781;
+      goto yy767;
     }
-  yy570:
+  yy770:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy567;
+      goto yy767;
     if (yych <= 0xBF)
-      goto yy577;
-    goto yy567;
-  yy571:
+      goto yy780;
+    goto yy767;
+  yy771:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x9F)
-      goto yy567;
+      goto yy767;
     if (yych <= 0xBF)
-      goto yy582;
-    goto yy567;
-  yy572:
+      goto yy779;
+    goto yy767;
+  yy772:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy567;
+      goto yy767;
     if (yych <= 0xBF)
-      goto yy582;
-    goto yy567;
-  yy573:
+      goto yy779;
+    goto yy767;
+  yy773:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy567;
+      goto yy767;
     if (yych <= 0x9F)
-      goto yy582;
-    goto yy567;
-  yy574:
+      goto yy779;
+    goto yy767;
+  yy774:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x8F)
-      goto yy567;
+      goto yy767;
     if (yych <= 0xBF)
-      goto yy584;
-    goto yy567;
-  yy575:
+      goto yy777;
+    goto yy767;
+  yy775:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy567;
+      goto yy767;
     if (yych <= 0xBF)
-      goto yy584;
-    goto yy567;
-  yy576:
+      goto yy777;
+    goto yy767;
+  yy776:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy567;
-    if (yych <= 0x8F)
-      goto yy584;
-    goto yy567;
-  yy577:
+      goto yy767;
+    if (yych >= 0x90)
+      goto yy767;
+  yy777:
     ++p;
     yych = *p;
-  yy578:
+    if (yych <= 0x7F)
+      goto yy778;
+    if (yych <= 0xBF)
+      goto yy779;
+  yy778:
+    p = marker;
+    if (yyaccept == 0) {
+      goto yy767;
+    } else {
+      goto yy795;
+    }
+  yy779:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy778;
+    if (yych >= 0xC0)
+      goto yy778;
+  yy780:
+    ++p;
+    yych = *p;
+  yy781:
     if (yybm[0 + yych] & 64) {
-      goto yy577;
+      goto yy780;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy579;
-        if (yych <= '<')
-          goto yy580;
+          goto yy778;
+        if (yych >= '=')
+          goto yy778;
       } else {
         if (yych <= 0xDF)
-          goto yy582;
+          goto yy779;
         if (yych <= 0xE0)
-          goto yy583;
-        goto yy584;
+          goto yy784;
+        goto yy777;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy585;
+          goto yy788;
         if (yych <= 0xEF)
-          goto yy584;
-        goto yy586;
+          goto yy777;
+        goto yy785;
       } else {
         if (yych <= 0xF3)
-          goto yy587;
+          goto yy786;
         if (yych <= 0xF4)
-          goto yy588;
+          goto yy787;
+        goto yy778;
       }
     }
-  yy579:
-    p = marker;
-    if (yyaccept == 0) {
-      goto yy567;
-    } else {
-      goto yy599;
-    }
-  yy580:
+  yy782:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy580;
+      goto yy782;
     }
     if (yych <= 0xDF) {
       if (yych <= '.') {
         if (yych == '\n')
-          goto yy579;
-        goto yy577;
+          goto yy778;
+        goto yy780;
       } else {
         if (yych <= '/')
-          goto yy589;
+          goto yy789;
         if (yych <= 0x7F)
-          goto yy577;
+          goto yy780;
         if (yych <= 0xC1)
-          goto yy579;
+          goto yy778;
+        goto yy779;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy583;
+          goto yy784;
         if (yych == 0xED)
-          goto yy585;
-        goto yy584;
+          goto yy788;
+        goto yy777;
       } else {
         if (yych <= 0xF0)
-          goto yy586;
+          goto yy785;
         if (yych <= 0xF3)
-          goto yy587;
+          goto yy786;
         if (yych <= 0xF4)
-          goto yy588;
-        goto yy579;
+          goto yy787;
+        goto yy778;
       }
     }
-  yy582:
+  yy784:
     ++p;
     yych = *p;
-    if (yych <= 0x7F)
-      goto yy579;
+    if (yych <= 0x9F)
+      goto yy778;
     if (yych <= 0xBF)
-      goto yy577;
-    goto yy579;
-  yy583:
+      goto yy779;
+    goto yy778;
+  yy785:
     ++p;
     yych = *p;
-    if (yych <= 0x9F)
-      goto yy579;
+    if (yych <= 0x8F)
+      goto yy778;
     if (yych <= 0xBF)
-      goto yy582;
-    goto yy579;
-  yy584:
+      goto yy777;
+    goto yy778;
+  yy786:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy579;
+      goto yy778;
     if (yych <= 0xBF)
-      goto yy582;
-    goto yy579;
-  yy585:
+      goto yy777;
+    goto yy778;
+  yy787:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy579;
-    if (yych <= 0x9F)
-      goto yy582;
-    goto yy579;
-  yy586:
-    ++p;
-    yych = *p;
+      goto yy778;
     if (yych <= 0x8F)
-      goto yy579;
-    if (yych <= 0xBF)
-      goto yy584;
-    goto yy579;
-  yy587:
+      goto yy777;
+    goto yy778;
+  yy788:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy579;
-    if (yych <= 0xBF)
-      goto yy584;
-    goto yy579;
-  yy588:
+      goto yy778;
+    if (yych <= 0x9F)
+      goto yy779;
+    goto yy778;
+  yy789:
     ++p;
     yych = *p;
-    if (yych <= 0x7F)
-      goto yy579;
-    if (yych <= 0x8F)
-      goto yy584;
-    goto yy579;
-  yy589:
+    if (yybm[0 + yych] & 128) {
+      goto yy782;
+    }
+    if (yych <= 's') {
+      if (yych <= 'R') {
+        if (yych <= '\n') {
+          if (yych <= '\t')
+            goto yy780;
+          goto yy778;
+        } else {
+          if (yych == 'P')
+            goto yy791;
+          goto yy780;
+        }
+      } else {
+        if (yych <= 'o') {
+          if (yych >= 'T')
+            goto yy780;
+        } else {
+          if (yych <= 'p')
+            goto yy791;
+          if (yych <= 'r')
+            goto yy780;
+        }
+      }
+    } else {
+      if (yych <= 0xEC) {
+        if (yych <= 0xC1) {
+          if (yych <= 0x7F)
+            goto yy780;
+          goto yy778;
+        } else {
+          if (yych <= 0xDF)
+            goto yy779;
+          if (yych <= 0xE0)
+            goto yy784;
+          goto yy777;
+        }
+      } else {
+        if (yych <= 0xF0) {
+          if (yych <= 0xED)
+            goto yy788;
+          if (yych <= 0xEF)
+            goto yy777;
+          goto yy785;
+        } else {
+          if (yych <= 0xF3)
+            goto yy786;
+          if (yych <= 0xF4)
+            goto yy787;
+          goto yy778;
+        }
+      }
+    }
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy580;
+      goto yy782;
     }
-    if (yych <= 's') {
-      if (yych <= 'R') {
+    if (yych <= 't') {
+      if (yych <= 'S') {
         if (yych <= '\n') {
           if (yych <= '\t')
-            goto yy577;
-          goto yy579;
+            goto yy780;
+          goto yy778;
         } else {
-          if (yych != 'P')
-            goto yy577;
+          if (yych == 'C')
+            goto yy796;
+          goto yy780;
         }
       } else {
-        if (yych <= 'o') {
-          if (yych <= 'S')
-            goto yy591;
-          goto yy577;
+        if (yych <= 'b') {
+          if (yych <= 'T')
+            goto yy797;
+          goto yy780;
         } else {
-          if (yych <= 'p')
-            goto yy590;
-          if (yych <= 'r')
-            goto yy577;
-          goto yy591;
+          if (yych <= 'c')
+            goto yy796;
+          if (yych <= 's')
+            goto yy780;
+          goto yy797;
         }
       }
     } else {
       if (yych <= 0xEC) {
         if (yych <= 0xC1) {
           if (yych <= 0x7F)
-            goto yy577;
-          goto yy579;
+            goto yy780;
+          goto yy778;
         } else {
           if (yych <= 0xDF)
-            goto yy582;
+            goto yy779;
           if (yych <= 0xE0)
-            goto yy583;
-          goto yy584;
+            goto yy784;
+          goto yy777;
         }
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xED)
-            goto yy585;
+            goto yy788;
           if (yych <= 0xEF)
-            goto yy584;
-          goto yy586;
+            goto yy777;
+          goto yy785;
         } else {
           if (yych <= 0xF3)
-            goto yy587;
+            goto yy786;
           if (yych <= 0xF4)
-            goto yy588;
-          goto yy579;
+            goto yy787;
+          goto yy778;
         }
       }
     }
-  yy590:
+  yy791:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy580;
+      goto yy782;
     }
     if (yych <= 0xC1) {
       if (yych <= 'R') {
         if (yych == '\n')
-          goto yy579;
+          goto yy778;
         if (yych <= 'Q')
-          goto yy577;
-        goto yy592;
+          goto yy780;
       } else {
         if (yych == 'r')
-          goto yy592;
+          goto yy792;
         if (yych <= 0x7F)
-          goto yy577;
-        goto yy579;
+          goto yy780;
+        goto yy778;
       }
     } else {
       if (yych <= 0xED) {
         if (yych <= 0xDF)
-          goto yy582;
+          goto yy779;
         if (yych <= 0xE0)
-          goto yy583;
+          goto yy784;
         if (yych <= 0xEC)
-          goto yy584;
-        goto yy585;
+          goto yy777;
+        goto yy788;
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xEF)
-            goto yy584;
-          goto yy586;
+            goto yy777;
+          goto yy785;
         } else {
           if (yych <= 0xF3)
-            goto yy587;
+            goto yy786;
           if (yych <= 0xF4)
-            goto yy588;
-          goto yy579;
+            goto yy787;
+          goto yy778;
         }
       }
     }
-  yy591:
+  yy792:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy580;
+      goto yy782;
     }
-    if (yych <= 't') {
-      if (yych <= 'S') {
-        if (yych <= '\n') {
-          if (yych <= '\t')
-            goto yy577;
-          goto yy579;
-        } else {
-          if (yych == 'C')
-            goto yy593;
-          goto yy577;
-        }
+    if (yych <= 0xC1) {
+      if (yych <= 'E') {
+        if (yych == '\n')
+          goto yy778;
+        if (yych <= 'D')
+          goto yy780;
       } else {
-        if (yych <= 'b') {
-          if (yych <= 'T')
-            goto yy594;
-          goto yy577;
-        } else {
-          if (yych <= 'c')
-            goto yy593;
-          if (yych <= 's')
-            goto yy577;
-          goto yy594;
-        }
+        if (yych == 'e')
+          goto yy793;
+        if (yych <= 0x7F)
+          goto yy780;
+        goto yy778;
       }
     } else {
-      if (yych <= 0xEC) {
-        if (yych <= 0xC1) {
-          if (yych <= 0x7F)
-            goto yy577;
-          goto yy579;
-        } else {
-          if (yych <= 0xDF)
-            goto yy582;
-          if (yych <= 0xE0)
-            goto yy583;
-          goto yy584;
-        }
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy779;
+        if (yych <= 0xE0)
+          goto yy784;
+        if (yych <= 0xEC)
+          goto yy777;
+        goto yy788;
       } else {
         if (yych <= 0xF0) {
-          if (yych <= 0xED)
-            goto yy585;
           if (yych <= 0xEF)
-            goto yy584;
-          goto yy586;
+            goto yy777;
+          goto yy785;
         } else {
           if (yych <= 0xF3)
-            goto yy587;
+            goto yy786;
           if (yych <= 0xF4)
-            goto yy588;
-          goto yy579;
+            goto yy787;
+          goto yy778;
         }
       }
     }
-  yy592:
+  yy793:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy580;
+      goto yy782;
     }
-    if (yych <= 0xC1) {
-      if (yych <= 'E') {
+    if (yych <= 0xDF) {
+      if (yych <= '=') {
         if (yych == '\n')
-          goto yy579;
-        if (yych <= 'D')
-          goto yy577;
-        goto yy595;
+          goto yy778;
+        goto yy780;
       } else {
-        if (yych == 'e')
-          goto yy595;
+        if (yych <= '>')
+          goto yy794;
         if (yych <= 0x7F)
-          goto yy577;
-        goto yy579;
+          goto yy780;
+        if (yych <= 0xC1)
+          goto yy778;
+        goto yy779;
       }
     } else {
-      if (yych <= 0xED) {
+      if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy784;
+        if (yych == 0xED)
+          goto yy788;
+        goto yy777;
+      } else {
+        if (yych <= 0xF0)
+          goto yy785;
+        if (yych <= 0xF3)
+          goto yy786;
+        if (yych <= 0xF4)
+          goto yy787;
+        goto yy778;
+      }
+    }
+  yy794:
+    yyaccept = 1;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy780;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= '\n')
+          goto yy795;
+        if (yych <= '<')
+          goto yy782;
+      } else {
         if (yych <= 0xDF)
-          goto yy582;
+          goto yy779;
         if (yych <= 0xE0)
-          goto yy583;
-        if (yych <= 0xEC)
-          goto yy584;
-        goto yy585;
+          goto yy784;
+        goto yy777;
+      }
+    } else {
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy788;
+        if (yych <= 0xEF)
+          goto yy777;
+        goto yy785;
       } else {
-        if (yych <= 0xF0) {
-          if (yych <= 0xEF)
-            goto yy584;
-          goto yy586;
-        } else {
-          if (yych <= 0xF3)
-            goto yy587;
-          if (yych <= 0xF4)
-            goto yy588;
-          goto yy579;
-        }
+        if (yych <= 0xF3)
+          goto yy786;
+        if (yych <= 0xF4)
+          goto yy787;
       }
     }
-  yy593:
+  yy795 : { return (bufsize_t)(p - start); }
+  yy796:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy580;
+      goto yy782;
     }
     if (yych <= 0xC1) {
       if (yych <= 'R') {
         if (yych == '\n')
-          goto yy579;
+          goto yy778;
         if (yych <= 'Q')
-          goto yy577;
-        goto yy596;
+          goto yy780;
+        goto yy800;
       } else {
         if (yych == 'r')
-          goto yy596;
+          goto yy800;
         if (yych <= 0x7F)
-          goto yy577;
-        goto yy579;
+          goto yy780;
+        goto yy778;
       }
     } else {
       if (yych <= 0xED) {
         if (yych <= 0xDF)
-          goto yy582;
+          goto yy779;
         if (yych <= 0xE0)
-          goto yy583;
+          goto yy784;
         if (yych <= 0xEC)
-          goto yy584;
-        goto yy585;
+          goto yy777;
+        goto yy788;
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xEF)
-            goto yy584;
-          goto yy586;
+            goto yy777;
+          goto yy785;
         } else {
           if (yych <= 0xF3)
-            goto yy587;
+            goto yy786;
           if (yych <= 0xF4)
-            goto yy588;
-          goto yy579;
+            goto yy787;
+          goto yy778;
         }
       }
     }
-  yy594:
+  yy797:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy580;
+      goto yy782;
     }
     if (yych <= 0xC1) {
       if (yych <= 'Y') {
         if (yych == '\n')
-          goto yy579;
+          goto yy778;
         if (yych <= 'X')
-          goto yy577;
-        goto yy597;
+          goto yy780;
       } else {
         if (yych == 'y')
-          goto yy597;
+          goto yy798;
         if (yych <= 0x7F)
-          goto yy577;
-        goto yy579;
+          goto yy780;
+        goto yy778;
       }
     } else {
       if (yych <= 0xED) {
         if (yych <= 0xDF)
-          goto yy582;
+          goto yy779;
         if (yych <= 0xE0)
-          goto yy583;
+          goto yy784;
         if (yych <= 0xEC)
-          goto yy584;
-        goto yy585;
+          goto yy777;
+        goto yy788;
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xEF)
-            goto yy584;
-          goto yy586;
+            goto yy777;
+          goto yy785;
         } else {
           if (yych <= 0xF3)
-            goto yy587;
+            goto yy786;
           if (yych <= 0xF4)
-            goto yy588;
-          goto yy579;
+            goto yy787;
+          goto yy778;
         }
       }
     }
-  yy595:
+  yy798:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy580;
+      goto yy782;
     }
-    if (yych <= 0xDF) {
-      if (yych <= '=') {
+    if (yych <= 0xC1) {
+      if (yych <= 'L') {
         if (yych == '\n')
-          goto yy579;
-        goto yy577;
+          goto yy778;
+        if (yych <= 'K')
+          goto yy780;
       } else {
-        if (yych <= '>')
-          goto yy598;
+        if (yych == 'l')
+          goto yy799;
         if (yych <= 0x7F)
-          goto yy577;
-        if (yych <= 0xC1)
-          goto yy579;
-        goto yy582;
+          goto yy780;
+        goto yy778;
       }
     } else {
-      if (yych <= 0xEF) {
+      if (yych <= 0xED) {
+        if (yych <= 0xDF)
+          goto yy779;
         if (yych <= 0xE0)
-          goto yy583;
-        if (yych == 0xED)
-          goto yy585;
-        goto yy584;
+          goto yy784;
+        if (yych <= 0xEC)
+          goto yy777;
+        goto yy788;
       } else {
-        if (yych <= 0xF0)
-          goto yy586;
-        if (yych <= 0xF3)
-          goto yy587;
-        if (yych <= 0xF4)
-          goto yy588;
-        goto yy579;
+        if (yych <= 0xF0) {
+          if (yych <= 0xEF)
+            goto yy777;
+          goto yy785;
+        } else {
+          if (yych <= 0xF3)
+            goto yy786;
+          if (yych <= 0xF4)
+            goto yy787;
+          goto yy778;
+        }
       }
     }
-  yy596:
+  yy799:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy580;
+      goto yy782;
     }
     if (yych <= 0xC1) {
-      if (yych <= 'I') {
+      if (yych <= 'E') {
         if (yych == '\n')
-          goto yy579;
-        if (yych <= 'H')
-          goto yy577;
-        goto yy600;
+          goto yy778;
+        if (yych <= 'D')
+          goto yy780;
+        goto yy793;
       } else {
-        if (yych == 'i')
-          goto yy600;
+        if (yych == 'e')
+          goto yy793;
         if (yych <= 0x7F)
-          goto yy577;
-        goto yy579;
+          goto yy780;
+        goto yy778;
       }
     } else {
       if (yych <= 0xED) {
         if (yych <= 0xDF)
-          goto yy582;
+          goto yy779;
         if (yych <= 0xE0)
-          goto yy583;
+          goto yy784;
         if (yych <= 0xEC)
-          goto yy584;
-        goto yy585;
+          goto yy777;
+        goto yy788;
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xEF)
-            goto yy584;
-          goto yy586;
+            goto yy777;
+          goto yy785;
         } else {
           if (yych <= 0xF3)
-            goto yy587;
+            goto yy786;
           if (yych <= 0xF4)
-            goto yy588;
-          goto yy579;
+            goto yy787;
+          goto yy778;
         }
       }
     }
-  yy597:
+  yy800:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy580;
+      goto yy782;
     }
     if (yych <= 0xC1) {
-      if (yych <= 'L') {
+      if (yych <= 'I') {
         if (yych == '\n')
-          goto yy579;
-        if (yych <= 'K')
-          goto yy577;
-        goto yy592;
+          goto yy778;
+        if (yych <= 'H')
+          goto yy780;
       } else {
-        if (yych == 'l')
-          goto yy592;
+        if (yych == 'i')
+          goto yy801;
         if (yych <= 0x7F)
-          goto yy577;
-        goto yy579;
+          goto yy780;
+        goto yy778;
       }
     } else {
       if (yych <= 0xED) {
         if (yych <= 0xDF)
-          goto yy582;
+          goto yy779;
         if (yych <= 0xE0)
-          goto yy583;
+          goto yy784;
         if (yych <= 0xEC)
-          goto yy584;
-        goto yy585;
+          goto yy777;
+        goto yy788;
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xEF)
-            goto yy584;
-          goto yy586;
+            goto yy777;
+          goto yy785;
         } else {
           if (yych <= 0xF3)
-            goto yy587;
+            goto yy786;
           if (yych <= 0xF4)
-            goto yy588;
-          goto yy579;
+            goto yy787;
+          goto yy778;
         }
       }
     }
-  yy598:
-    yyaccept = 1;
-    marker = ++p;
-    yych = *p;
-    if (yybm[0 + yych] & 64) {
-      goto yy577;
-    }
-    if (yych <= 0xEC) {
-      if (yych <= 0xC1) {
-        if (yych <= '\n')
-          goto yy599;
-        if (yych <= '<')
-          goto yy580;
-      } else {
-        if (yych <= 0xDF)
-          goto yy582;
-        if (yych <= 0xE0)
-          goto yy583;
-        goto yy584;
-      }
-    } else {
-      if (yych <= 0xF0) {
-        if (yych <= 0xED)
-          goto yy585;
-        if (yych <= 0xEF)
-          goto yy584;
-        goto yy586;
-      } else {
-        if (yych <= 0xF3)
-          goto yy587;
-        if (yych <= 0xF4)
-          goto yy588;
-      }
-    }
-  yy599 : { return (bufsize_t)(p - start); }
-  yy600:
+  yy801:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy580;
+      goto yy782;
     }
     if (yych <= 0xC1) {
       if (yych <= 'P') {
         if (yych == '\n')
-          goto yy579;
+          goto yy778;
         if (yych <= 'O')
-          goto yy577;
+          goto yy780;
       } else {
         if (yych == 'p')
-          goto yy601;
+          goto yy802;
         if (yych <= 0x7F)
-          goto yy577;
-        goto yy579;
+          goto yy780;
+        goto yy778;
       }
     } else {
       if (yych <= 0xED) {
         if (yych <= 0xDF)
-          goto yy582;
+          goto yy779;
         if (yych <= 0xE0)
-          goto yy583;
+          goto yy784;
         if (yych <= 0xEC)
-          goto yy584;
-        goto yy585;
+          goto yy777;
+        goto yy788;
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xEF)
-            goto yy584;
-          goto yy586;
+            goto yy777;
+          goto yy785;
         } else {
           if (yych <= 0xF3)
-            goto yy587;
+            goto yy786;
           if (yych <= 0xF4)
-            goto yy588;
-          goto yy579;
+            goto yy787;
+          goto yy778;
         }
       }
     }
-  yy601:
+  yy802:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy580;
+      goto yy782;
     }
     if (yych <= 0xC1) {
       if (yych <= 'T') {
         if (yych == '\n')
-          goto yy579;
+          goto yy778;
         if (yych <= 'S')
-          goto yy577;
-        goto yy595;
+          goto yy780;
+        goto yy793;
       } else {
         if (yych == 't')
-          goto yy595;
+          goto yy793;
         if (yych <= 0x7F)
-          goto yy577;
-        goto yy579;
+          goto yy780;
+        goto yy778;
       }
     } else {
       if (yych <= 0xED) {
         if (yych <= 0xDF)
-          goto yy582;
+          goto yy779;
         if (yych <= 0xE0)
-          goto yy583;
+          goto yy784;
         if (yych <= 0xEC)
-          goto yy584;
-        goto yy585;
+          goto yy777;
+        goto yy788;
       } else {
         if (yych <= 0xF0) {
           if (yych <= 0xEF)
-            goto yy584;
-          goto yy586;
+            goto yy777;
+          goto yy785;
         } else {
           if (yych <= 0xF3)
-            goto yy587;
+            goto yy786;
           if (yych <= 0xF4)
-            goto yy588;
-          goto yy579;
+            goto yy787;
+          goto yy778;
         }
       }
     }
@@ -10055,326 +13491,323 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) {
     if (yych <= 0xDF) {
       if (yych <= ',') {
         if (yych == '\n')
-          goto yy606;
+          goto yy807;
       } else {
         if (yych <= '-')
-          goto yy607;
+          goto yy808;
         if (yych <= 0x7F)
-          goto yy604;
+          goto yy805;
         if (yych <= 0xC1)
-          goto yy606;
-        goto yy608;
+          goto yy807;
+        goto yy809;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy609;
+          goto yy810;
         if (yych == 0xED)
-          goto yy611;
-        goto yy610;
+          goto yy812;
+        goto yy811;
       } else {
         if (yych <= 0xF0)
-          goto yy612;
+          goto yy813;
         if (yych <= 0xF3)
-          goto yy613;
+          goto yy814;
         if (yych <= 0xF4)
-          goto yy614;
-        goto yy606;
+          goto yy815;
+        goto yy807;
       }
     }
-  yy604:
+  yy805:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F) {
       if (yych != '\n')
-        goto yy616;
+        goto yy820;
     } else {
       if (yych <= 0xC1)
-        goto yy605;
+        goto yy806;
       if (yych <= 0xF4)
-        goto yy616;
+        goto yy820;
     }
-  yy605 : { return 0; }
-  yy606:
+  yy806 : { return 0; }
+  yy807:
     yych = *++p;
-    goto yy605;
-  yy607:
+    goto yy806;
+  yy808:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yybm[0 + yych] & 128) {
-      goto yy626;
+      goto yy827;
     }
     if (yych <= 0x7F) {
       if (yych == '\n')
-        goto yy605;
-      goto yy616;
+        goto yy806;
+      goto yy820;
     } else {
       if (yych <= 0xC1)
-        goto yy605;
+        goto yy806;
       if (yych <= 0xF4)
-        goto yy616;
-      goto yy605;
+        goto yy820;
+      goto yy806;
     }
-  yy608:
+  yy809:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy605;
+      goto yy806;
     if (yych <= 0xBF)
-      goto yy615;
-    goto yy605;
-  yy609:
+      goto yy819;
+    goto yy806;
+  yy810:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x9F)
-      goto yy605;
+      goto yy806;
     if (yych <= 0xBF)
-      goto yy619;
-    goto yy605;
-  yy610:
+      goto yy818;
+    goto yy806;
+  yy811:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy605;
+      goto yy806;
     if (yych <= 0xBF)
-      goto yy619;
-    goto yy605;
-  yy611:
+      goto yy818;
+    goto yy806;
+  yy812:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy605;
+      goto yy806;
     if (yych <= 0x9F)
-      goto yy619;
-    goto yy605;
-  yy612:
+      goto yy818;
+    goto yy806;
+  yy813:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x8F)
-      goto yy605;
+      goto yy806;
     if (yych <= 0xBF)
-      goto yy621;
-    goto yy605;
-  yy613:
+      goto yy816;
+    goto yy806;
+  yy814:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy605;
+      goto yy806;
     if (yych <= 0xBF)
-      goto yy621;
-    goto yy605;
-  yy614:
+      goto yy816;
+    goto yy806;
+  yy815:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy605;
-    if (yych <= 0x8F)
-      goto yy621;
-    goto yy605;
-  yy615:
+      goto yy806;
+    if (yych >= 0x90)
+      goto yy806;
+  yy816:
     ++p;
     yych = *p;
-  yy616:
+    if (yych <= 0x7F)
+      goto yy817;
+    if (yych <= 0xBF)
+      goto yy818;
+  yy817:
+    p = marker;
+    if (yyaccept == 0) {
+      goto yy806;
+    } else {
+      goto yy830;
+    }
+  yy818:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy817;
+    if (yych >= 0xC0)
+      goto yy817;
+  yy819:
+    ++p;
+    yych = *p;
+  yy820:
     if (yybm[0 + yych] & 64) {
-      goto yy615;
+      goto yy819;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy617;
-        if (yych <= '-')
-          goto yy618;
+          goto yy817;
+        if (yych >= '.')
+          goto yy817;
       } else {
         if (yych <= 0xDF)
-          goto yy619;
+          goto yy818;
         if (yych <= 0xE0)
-          goto yy620;
-        goto yy621;
+          goto yy822;
+        goto yy816;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy622;
+          goto yy826;
         if (yych <= 0xEF)
-          goto yy621;
-        goto yy623;
+          goto yy816;
+        goto yy823;
       } else {
         if (yych <= 0xF3)
-          goto yy624;
+          goto yy824;
         if (yych <= 0xF4)
-          goto yy625;
+          goto yy825;
+        goto yy817;
       }
     }
-  yy617:
-    p = marker;
-    if (yyaccept == 0) {
-      goto yy605;
-    } else {
-      goto yy629;
-    }
-  yy618:
+  yy821:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 64) {
-      goto yy615;
+      goto yy819;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy617;
+          goto yy817;
         if (yych <= '-')
-          goto yy626;
-        goto yy617;
+          goto yy827;
+        goto yy817;
       } else {
         if (yych <= 0xDF)
-          goto yy619;
-        if (yych <= 0xE0)
-          goto yy620;
-        goto yy621;
+          goto yy818;
+        if (yych >= 0xE1)
+          goto yy816;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy622;
+          goto yy826;
         if (yych <= 0xEF)
-          goto yy621;
-        goto yy623;
+          goto yy816;
+        goto yy823;
       } else {
         if (yych <= 0xF3)
-          goto yy624;
+          goto yy824;
         if (yych <= 0xF4)
-          goto yy625;
-        goto yy617;
+          goto yy825;
+        goto yy817;
       }
     }
-  yy619:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy617;
-    if (yych <= 0xBF)
-      goto yy615;
-    goto yy617;
-  yy620:
+  yy822:
     ++p;
     yych = *p;
     if (yych <= 0x9F)
-      goto yy617;
+      goto yy817;
     if (yych <= 0xBF)
-      goto yy619;
-    goto yy617;
-  yy621:
+      goto yy818;
+    goto yy817;
+  yy823:
     ++p;
     yych = *p;
-    if (yych <= 0x7F)
-      goto yy617;
+    if (yych <= 0x8F)
+      goto yy817;
     if (yych <= 0xBF)
-      goto yy619;
-    goto yy617;
-  yy622:
+      goto yy816;
+    goto yy817;
+  yy824:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy617;
-    if (yych <= 0x9F)
-      goto yy619;
-    goto yy617;
-  yy623:
-    ++p;
-    yych = *p;
-    if (yych <= 0x8F)
-      goto yy617;
+      goto yy817;
     if (yych <= 0xBF)
-      goto yy621;
-    goto yy617;
-  yy624:
+      goto yy816;
+    goto yy817;
+  yy825:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy617;
-    if (yych <= 0xBF)
-      goto yy621;
-    goto yy617;
-  yy625:
+      goto yy817;
+    if (yych <= 0x8F)
+      goto yy816;
+    goto yy817;
+  yy826:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy617;
-    if (yych <= 0x8F)
-      goto yy621;
-    goto yy617;
-  yy626:
+      goto yy817;
+    if (yych <= 0x9F)
+      goto yy818;
+    goto yy817;
+  yy827:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy626;
+      goto yy827;
     }
     if (yych <= 0xDF) {
       if (yych <= '=') {
         if (yych == '\n')
-          goto yy617;
-        goto yy615;
+          goto yy817;
+        goto yy819;
       } else {
         if (yych <= '>')
-          goto yy628;
+          goto yy829;
         if (yych <= 0x7F)
-          goto yy615;
+          goto yy819;
         if (yych <= 0xC1)
-          goto yy617;
-        goto yy619;
+          goto yy817;
+        goto yy818;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy620;
+          goto yy822;
         if (yych == 0xED)
-          goto yy622;
-        goto yy621;
+          goto yy826;
+        goto yy816;
       } else {
         if (yych <= 0xF0)
-          goto yy623;
+          goto yy823;
         if (yych <= 0xF3)
-          goto yy624;
+          goto yy824;
         if (yych <= 0xF4)
-          goto yy625;
-        goto yy617;
+          goto yy825;
+        goto yy817;
       }
     }
-  yy628:
+  yy829:
     yyaccept = 1;
     marker = ++p;
     yych = *p;
     if (yybm[0 + yych] & 64) {
-      goto yy615;
+      goto yy819;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy629;
+          goto yy830;
         if (yych <= '-')
-          goto yy618;
+          goto yy821;
       } else {
         if (yych <= 0xDF)
-          goto yy619;
+          goto yy818;
         if (yych <= 0xE0)
-          goto yy620;
-        goto yy621;
+          goto yy822;
+        goto yy816;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy622;
+          goto yy826;
         if (yych <= 0xEF)
-          goto yy621;
-        goto yy623;
+          goto yy816;
+        goto yy823;
       } else {
         if (yych <= 0xF3)
-          goto yy624;
+          goto yy824;
         if (yych <= 0xF4)
-          goto yy625;
+          goto yy825;
       }
     }
-  yy629 : { return (bufsize_t)(p - start); }
+  yy830 : { return (bufsize_t)(p - start); }
   }
 }
 
@@ -10407,291 +13840,290 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) {
     if (yych <= 0xDF) {
       if (yych <= '>') {
         if (yych == '\n')
-          goto yy634;
+          goto yy835;
       } else {
         if (yych <= '?')
-          goto yy635;
+          goto yy836;
         if (yych <= 0x7F)
-          goto yy632;
+          goto yy833;
         if (yych <= 0xC1)
-          goto yy634;
-        goto yy636;
+          goto yy835;
+        goto yy837;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy637;
+          goto yy838;
         if (yych == 0xED)
-          goto yy639;
-        goto yy638;
+          goto yy840;
+        goto yy839;
       } else {
         if (yych <= 0xF0)
-          goto yy640;
+          goto yy841;
         if (yych <= 0xF3)
-          goto yy641;
+          goto yy842;
         if (yych <= 0xF4)
-          goto yy642;
-        goto yy634;
+          goto yy843;
+        goto yy835;
       }
     }
-  yy632:
+  yy833:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F) {
       if (yych != '\n')
-        goto yy644;
+        goto yy848;
     } else {
       if (yych <= 0xC1)
-        goto yy633;
+        goto yy834;
       if (yych <= 0xF4)
-        goto yy644;
+        goto yy848;
     }
-  yy633 : { return 0; }
-  yy634:
+  yy834 : { return 0; }
+  yy835:
     yych = *++p;
-    goto yy633;
-  yy635:
+    goto yy834;
+  yy836:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= '>') {
       if (yych == '\n')
-        goto yy633;
+        goto yy834;
       if (yych <= '=')
-        goto yy644;
-      goto yy655;
+        goto yy848;
+      goto yy856;
     } else {
       if (yych <= 0x7F)
-        goto yy644;
+        goto yy848;
       if (yych <= 0xC1)
-        goto yy633;
+        goto yy834;
       if (yych <= 0xF4)
-        goto yy644;
-      goto yy633;
+        goto yy848;
+      goto yy834;
     }
-  yy636:
+  yy837:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy633;
+      goto yy834;
     if (yych <= 0xBF)
-      goto yy643;
-    goto yy633;
-  yy637:
+      goto yy847;
+    goto yy834;
+  yy838:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x9F)
-      goto yy633;
+      goto yy834;
     if (yych <= 0xBF)
-      goto yy648;
-    goto yy633;
-  yy638:
+      goto yy846;
+    goto yy834;
+  yy839:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy633;
+      goto yy834;
     if (yych <= 0xBF)
-      goto yy648;
-    goto yy633;
-  yy639:
+      goto yy846;
+    goto yy834;
+  yy840:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy633;
+      goto yy834;
     if (yych <= 0x9F)
-      goto yy648;
-    goto yy633;
-  yy640:
+      goto yy846;
+    goto yy834;
+  yy841:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x8F)
-      goto yy633;
+      goto yy834;
     if (yych <= 0xBF)
-      goto yy650;
-    goto yy633;
-  yy641:
+      goto yy844;
+    goto yy834;
+  yy842:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy633;
+      goto yy834;
     if (yych <= 0xBF)
-      goto yy650;
-    goto yy633;
-  yy642:
+      goto yy844;
+    goto yy834;
+  yy843:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy633;
-    if (yych <= 0x8F)
-      goto yy650;
-    goto yy633;
-  yy643:
+      goto yy834;
+    if (yych >= 0x90)
+      goto yy834;
+  yy844:
     ++p;
     yych = *p;
-  yy644:
+    if (yych <= 0x7F)
+      goto yy845;
+    if (yych <= 0xBF)
+      goto yy846;
+  yy845:
+    p = marker;
+    if (yyaccept == 0) {
+      goto yy834;
+    } else {
+      goto yy857;
+    }
+  yy846:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy845;
+    if (yych >= 0xC0)
+      goto yy845;
+  yy847:
+    ++p;
+    yych = *p;
+  yy848:
     if (yybm[0 + yych] & 64) {
-      goto yy643;
+      goto yy847;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy645;
-        if (yych <= '?')
-          goto yy646;
+          goto yy845;
+        if (yych >= '@')
+          goto yy845;
       } else {
         if (yych <= 0xDF)
-          goto yy648;
+          goto yy846;
         if (yych <= 0xE0)
-          goto yy649;
-        goto yy650;
+          goto yy851;
+        goto yy844;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy651;
+          goto yy855;
         if (yych <= 0xEF)
-          goto yy650;
-        goto yy652;
+          goto yy844;
+        goto yy852;
       } else {
         if (yych <= 0xF3)
-          goto yy653;
+          goto yy853;
         if (yych <= 0xF4)
-          goto yy654;
+          goto yy854;
+        goto yy845;
       }
     }
-  yy645:
-    p = marker;
-    if (yyaccept == 0) {
-      goto yy633;
-    } else {
-      goto yy656;
-    }
-  yy646:
+  yy849:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy646;
+      goto yy849;
     }
     if (yych <= 0xDF) {
       if (yych <= '=') {
         if (yych == '\n')
-          goto yy645;
-        goto yy643;
+          goto yy845;
+        goto yy847;
       } else {
         if (yych <= '>')
-          goto yy655;
+          goto yy856;
         if (yych <= 0x7F)
-          goto yy643;
+          goto yy847;
         if (yych <= 0xC1)
-          goto yy645;
+          goto yy845;
+        goto yy846;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy649;
+          goto yy851;
         if (yych == 0xED)
-          goto yy651;
-        goto yy650;
+          goto yy855;
+        goto yy844;
       } else {
         if (yych <= 0xF0)
-          goto yy652;
+          goto yy852;
         if (yych <= 0xF3)
-          goto yy653;
+          goto yy853;
         if (yych <= 0xF4)
-          goto yy654;
-        goto yy645;
+          goto yy854;
+        goto yy845;
       }
     }
-  yy648:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy645;
-    if (yych <= 0xBF)
-      goto yy643;
-    goto yy645;
-  yy649:
+  yy851:
     ++p;
     yych = *p;
     if (yych <= 0x9F)
-      goto yy645;
+      goto yy845;
     if (yych <= 0xBF)
-      goto yy648;
-    goto yy645;
-  yy650:
+      goto yy846;
+    goto yy845;
+  yy852:
     ++p;
     yych = *p;
-    if (yych <= 0x7F)
-      goto yy645;
+    if (yych <= 0x8F)
+      goto yy845;
     if (yych <= 0xBF)
-      goto yy648;
-    goto yy645;
-  yy651:
+      goto yy844;
+    goto yy845;
+  yy853:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy645;
-    if (yych <= 0x9F)
-      goto yy648;
-    goto yy645;
-  yy652:
-    ++p;
-    yych = *p;
-    if (yych <= 0x8F)
-      goto yy645;
+      goto yy845;
     if (yych <= 0xBF)
-      goto yy650;
-    goto yy645;
-  yy653:
+      goto yy844;
+    goto yy845;
+  yy854:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy645;
-    if (yych <= 0xBF)
-      goto yy650;
-    goto yy645;
-  yy654:
+      goto yy845;
+    if (yych <= 0x8F)
+      goto yy844;
+    goto yy845;
+  yy855:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy645;
-    if (yych <= 0x8F)
-      goto yy650;
-    goto yy645;
-  yy655:
+      goto yy845;
+    if (yych <= 0x9F)
+      goto yy846;
+    goto yy845;
+  yy856:
     yyaccept = 1;
     marker = ++p;
     yych = *p;
     if (yybm[0 + yych] & 64) {
-      goto yy643;
+      goto yy847;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy656;
+          goto yy857;
         if (yych <= '?')
-          goto yy646;
+          goto yy849;
       } else {
         if (yych <= 0xDF)
-          goto yy648;
+          goto yy846;
         if (yych <= 0xE0)
-          goto yy649;
-        goto yy650;
+          goto yy851;
+        goto yy844;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy651;
+          goto yy855;
         if (yych <= 0xEF)
-          goto yy650;
-        goto yy652;
+          goto yy844;
+        goto yy852;
       } else {
         if (yych <= 0xF3)
-          goto yy653;
+          goto yy853;
         if (yych <= 0xF4)
-          goto yy654;
+          goto yy854;
       }
     }
-  yy656 : { return (bufsize_t)(p - start); }
+  yy857 : { return (bufsize_t)(p - start); }
   }
 }
 
@@ -10704,259 +14136,268 @@ bufsize_t _scan_html_block_end_4(const unsigned char *p) {
     unsigned char yych;
     unsigned int yyaccept = 0;
     static const unsigned char yybm[] = {
-        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0,   128, 128, 128,
-        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-        128, 128, 128, 128, 128, 128, 64,  128, 128, 128, 128, 128, 128, 128,
-        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-        128, 128, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-        0,   0,   0,   0,
+        64, 64, 64, 64, 64, 64, 64, 64, 64,  64, 0,  64, 64, 64, 64, 64, 64, 64,
+        64, 64, 64, 64, 64, 64, 64, 64, 64,  64, 64, 64, 64, 64, 64, 64, 64, 64,
+        64, 64, 64, 64, 64, 64, 64, 64, 64,  64, 64, 64, 64, 64, 64, 64, 64, 64,
+        64, 64, 64, 64, 64, 64, 64, 64, 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 (yybm[0 + yych] & 64) {
-      goto yy662;
-    }
-    if (yych <= 0xE0) {
-      if (yych <= 0x7F) {
+    if (yych <= 0xDF) {
+      if (yych <= '=') {
         if (yych == '\n')
-          goto yy661;
+          goto yy862;
       } else {
+        if (yych <= '>')
+          goto yy863;
+        if (yych <= 0x7F)
+          goto yy860;
         if (yych <= 0xC1)
-          goto yy661;
-        if (yych <= 0xDF)
-          goto yy665;
-        goto yy666;
+          goto yy862;
+        goto yy865;
       }
     } else {
       if (yych <= 0xEF) {
+        if (yych <= 0xE0)
+          goto yy866;
         if (yych == 0xED)
-          goto yy668;
-        goto yy667;
+          goto yy868;
+        goto yy867;
       } else {
         if (yych <= 0xF0)
-          goto yy669;
+          goto yy869;
         if (yych <= 0xF3)
-          goto yy670;
+          goto yy870;
         if (yych <= 0xF4)
-          goto yy671;
-        goto yy661;
+          goto yy871;
+        goto yy862;
       }
     }
+  yy860:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F) {
       if (yych != '\n')
-        goto yy673;
+        goto yy876;
     } else {
       if (yych <= 0xC1)
-        goto yy660;
+        goto yy861;
       if (yych <= 0xF4)
-        goto yy673;
+        goto yy876;
     }
-  yy660 : { return 0; }
-  yy661:
+  yy861 : { return 0; }
+  yy862:
     yych = *++p;
-    goto yy660;
-  yy662:
+    goto yy861;
+  yy863:
     yyaccept = 1;
-    marker = ++p;
-    yych = *p;
-    if (yybm[0 + yych] & 128) {
-      goto yy672;
-    }
-    if (yych <= 0xEC) {
-      if (yych <= 0xC1) {
-        if (yych <= '\n')
-          goto yy664;
-        if (yych <= '>')
-          goto yy662;
-      } else {
-        if (yych <= 0xDF)
-          goto yy675;
-        if (yych <= 0xE0)
-          goto yy676;
-        goto yy677;
-      }
+    yych = *(marker = ++p);
+    if (yych <= 0x7F) {
+      if (yych != '\n')
+        goto yy876;
     } else {
-      if (yych <= 0xF0) {
-        if (yych <= 0xED)
-          goto yy678;
-        if (yych <= 0xEF)
-          goto yy677;
-        goto yy679;
-      } else {
-        if (yych <= 0xF3)
-          goto yy680;
-        if (yych <= 0xF4)
-          goto yy681;
-      }
+      if (yych <= 0xC1)
+        goto yy864;
+      if (yych <= 0xF4)
+        goto yy876;
     }
-  yy664 : { return (bufsize_t)(p - start); }
-  yy665:
+  yy864 : { return (bufsize_t)(p - start); }
+  yy865:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy660;
+      goto yy861;
     if (yych <= 0xBF)
-      goto yy672;
-    goto yy660;
-  yy666:
+      goto yy875;
+    goto yy861;
+  yy866:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x9F)
-      goto yy660;
+      goto yy861;
     if (yych <= 0xBF)
-      goto yy675;
-    goto yy660;
-  yy667:
+      goto yy874;
+    goto yy861;
+  yy867:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy660;
+      goto yy861;
     if (yych <= 0xBF)
-      goto yy675;
-    goto yy660;
-  yy668:
+      goto yy874;
+    goto yy861;
+  yy868:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy660;
+      goto yy861;
     if (yych <= 0x9F)
-      goto yy675;
-    goto yy660;
-  yy669:
+      goto yy874;
+    goto yy861;
+  yy869:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x8F)
-      goto yy660;
+      goto yy861;
     if (yych <= 0xBF)
-      goto yy677;
-    goto yy660;
-  yy670:
+      goto yy872;
+    goto yy861;
+  yy870:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy660;
+      goto yy861;
     if (yych <= 0xBF)
-      goto yy677;
-    goto yy660;
-  yy671:
+      goto yy872;
+    goto yy861;
+  yy871:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy660;
-    if (yych <= 0x8F)
-      goto yy677;
-    goto yy660;
-  yy672:
+      goto yy861;
+    if (yych >= 0x90)
+      goto yy861;
+  yy872:
     ++p;
     yych = *p;
-  yy673:
-    if (yybm[0 + yych] & 128) {
-      goto yy672;
+    if (yych <= 0x7F)
+      goto yy873;
+    if (yych <= 0xBF)
+      goto yy874;
+  yy873:
+    p = marker;
+    if (yyaccept == 0) {
+      goto yy861;
+    } else {
+      goto yy864;
+    }
+  yy874:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy873;
+    if (yych >= 0xC0)
+      goto yy873;
+  yy875:
+    ++p;
+    yych = *p;
+  yy876:
+    if (yybm[0 + yych] & 64) {
+      goto yy875;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy674;
-        if (yych <= '>')
-          goto yy662;
+          goto yy873;
+        if (yych >= '?')
+          goto yy873;
       } else {
         if (yych <= 0xDF)
-          goto yy675;
+          goto yy874;
         if (yych <= 0xE0)
-          goto yy676;
-        goto yy677;
+          goto yy879;
+        goto yy872;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy678;
+          goto yy883;
         if (yych <= 0xEF)
-          goto yy677;
-        goto yy679;
+          goto yy872;
+        goto yy880;
       } else {
         if (yych <= 0xF3)
-          goto yy680;
+          goto yy881;
         if (yych <= 0xF4)
-          goto yy681;
+          goto yy882;
+        goto yy873;
       }
     }
-  yy674:
-    p = marker;
-    if (yyaccept == 0) {
-      goto yy660;
+  yy877:
+    yyaccept = 1;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy875;
+    }
+    if (yych <= 0xEC) {
+      if (yych <= 0xC1) {
+        if (yych <= '\n')
+          goto yy864;
+        if (yych <= '>')
+          goto yy877;
+        goto yy864;
+      } else {
+        if (yych <= 0xDF)
+          goto yy874;
+        if (yych >= 0xE1)
+          goto yy872;
+      }
     } else {
-      goto yy664;
+      if (yych <= 0xF0) {
+        if (yych <= 0xED)
+          goto yy883;
+        if (yych <= 0xEF)
+          goto yy872;
+        goto yy880;
+      } else {
+        if (yych <= 0xF3)
+          goto yy881;
+        if (yych <= 0xF4)
+          goto yy882;
+        goto yy864;
+      }
     }
-  yy675:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy674;
-    if (yych <= 0xBF)
-      goto yy672;
-    goto yy674;
-  yy676:
+  yy879:
     ++p;
     yych = *p;
     if (yych <= 0x9F)
-      goto yy674;
+      goto yy873;
     if (yych <= 0xBF)
-      goto yy675;
-    goto yy674;
-  yy677:
+      goto yy874;
+    goto yy873;
+  yy880:
     ++p;
     yych = *p;
-    if (yych <= 0x7F)
-      goto yy674;
+    if (yych <= 0x8F)
+      goto yy873;
     if (yych <= 0xBF)
-      goto yy675;
-    goto yy674;
-  yy678:
+      goto yy872;
+    goto yy873;
+  yy881:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy674;
-    if (yych <= 0x9F)
-      goto yy675;
-    goto yy674;
-  yy679:
-    ++p;
-    yych = *p;
-    if (yych <= 0x8F)
-      goto yy674;
+      goto yy873;
     if (yych <= 0xBF)
-      goto yy677;
-    goto yy674;
-  yy680:
+      goto yy872;
+    goto yy873;
+  yy882:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy674;
-    if (yych <= 0xBF)
-      goto yy677;
-    goto yy674;
-  yy681:
+      goto yy873;
+    if (yych <= 0x8F)
+      goto yy872;
+    goto yy873;
+  yy883:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy674;
-    if (yych <= 0x8F)
-      goto yy677;
-    goto yy674;
+      goto yy873;
+    if (yych <= 0x9F)
+      goto yy874;
+    goto yy873;
   }
 }
 
@@ -10989,326 +14430,323 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) {
     if (yych <= 0xDF) {
       if (yych <= '\\') {
         if (yych == '\n')
-          goto yy686;
+          goto yy888;
       } else {
         if (yych <= ']')
-          goto yy687;
+          goto yy889;
         if (yych <= 0x7F)
-          goto yy684;
+          goto yy886;
         if (yych <= 0xC1)
-          goto yy686;
-        goto yy688;
+          goto yy888;
+        goto yy890;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy689;
+          goto yy891;
         if (yych == 0xED)
-          goto yy691;
-        goto yy690;
+          goto yy893;
+        goto yy892;
       } else {
         if (yych <= 0xF0)
-          goto yy692;
+          goto yy894;
         if (yych <= 0xF3)
-          goto yy693;
+          goto yy895;
         if (yych <= 0xF4)
-          goto yy694;
-        goto yy686;
+          goto yy896;
+        goto yy888;
       }
     }
-  yy684:
+  yy886:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F) {
       if (yych != '\n')
-        goto yy696;
+        goto yy901;
     } else {
       if (yych <= 0xC1)
-        goto yy685;
+        goto yy887;
       if (yych <= 0xF4)
-        goto yy696;
+        goto yy901;
     }
-  yy685 : { return 0; }
-  yy686:
+  yy887 : { return 0; }
+  yy888:
     yych = *++p;
-    goto yy685;
-  yy687:
+    goto yy887;
+  yy889:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yybm[0 + yych] & 128) {
-      goto yy706;
+      goto yy908;
     }
     if (yych <= 0x7F) {
       if (yych == '\n')
-        goto yy685;
-      goto yy696;
+        goto yy887;
+      goto yy901;
     } else {
       if (yych <= 0xC1)
-        goto yy685;
+        goto yy887;
       if (yych <= 0xF4)
-        goto yy696;
-      goto yy685;
+        goto yy901;
+      goto yy887;
     }
-  yy688:
+  yy890:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy685;
+      goto yy887;
     if (yych <= 0xBF)
-      goto yy695;
-    goto yy685;
-  yy689:
+      goto yy900;
+    goto yy887;
+  yy891:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x9F)
-      goto yy685;
+      goto yy887;
     if (yych <= 0xBF)
-      goto yy699;
-    goto yy685;
-  yy690:
+      goto yy899;
+    goto yy887;
+  yy892:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy685;
+      goto yy887;
     if (yych <= 0xBF)
-      goto yy699;
-    goto yy685;
-  yy691:
+      goto yy899;
+    goto yy887;
+  yy893:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy685;
+      goto yy887;
     if (yych <= 0x9F)
-      goto yy699;
-    goto yy685;
-  yy692:
+      goto yy899;
+    goto yy887;
+  yy894:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x8F)
-      goto yy685;
+      goto yy887;
     if (yych <= 0xBF)
-      goto yy701;
-    goto yy685;
-  yy693:
+      goto yy897;
+    goto yy887;
+  yy895:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy685;
+      goto yy887;
     if (yych <= 0xBF)
-      goto yy701;
-    goto yy685;
-  yy694:
+      goto yy897;
+    goto yy887;
+  yy896:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x7F)
-      goto yy685;
-    if (yych <= 0x8F)
-      goto yy701;
-    goto yy685;
-  yy695:
+      goto yy887;
+    if (yych >= 0x90)
+      goto yy887;
+  yy897:
     ++p;
     yych = *p;
-  yy696:
+    if (yych <= 0x7F)
+      goto yy898;
+    if (yych <= 0xBF)
+      goto yy899;
+  yy898:
+    p = marker;
+    if (yyaccept == 0) {
+      goto yy887;
+    } else {
+      goto yy911;
+    }
+  yy899:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy898;
+    if (yych >= 0xC0)
+      goto yy898;
+  yy900:
+    ++p;
+    yych = *p;
+  yy901:
     if (yybm[0 + yych] & 64) {
-      goto yy695;
+      goto yy900;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy697;
-        if (yych <= ']')
-          goto yy698;
+          goto yy898;
+        if (yych >= '^')
+          goto yy898;
       } else {
         if (yych <= 0xDF)
-          goto yy699;
+          goto yy899;
         if (yych <= 0xE0)
-          goto yy700;
-        goto yy701;
+          goto yy903;
+        goto yy897;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy702;
+          goto yy907;
         if (yych <= 0xEF)
-          goto yy701;
-        goto yy703;
+          goto yy897;
+        goto yy904;
       } else {
         if (yych <= 0xF3)
-          goto yy704;
+          goto yy905;
         if (yych <= 0xF4)
-          goto yy705;
+          goto yy906;
+        goto yy898;
       }
     }
-  yy697:
-    p = marker;
-    if (yyaccept == 0) {
-      goto yy685;
-    } else {
-      goto yy709;
-    }
-  yy698:
+  yy902:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 64) {
-      goto yy695;
+      goto yy900;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy697;
+          goto yy898;
         if (yych <= ']')
-          goto yy706;
-        goto yy697;
+          goto yy908;
+        goto yy898;
       } else {
         if (yych <= 0xDF)
-          goto yy699;
-        if (yych <= 0xE0)
-          goto yy700;
-        goto yy701;
+          goto yy899;
+        if (yych >= 0xE1)
+          goto yy897;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy702;
+          goto yy907;
         if (yych <= 0xEF)
-          goto yy701;
-        goto yy703;
+          goto yy897;
+        goto yy904;
       } else {
         if (yych <= 0xF3)
-          goto yy704;
+          goto yy905;
         if (yych <= 0xF4)
-          goto yy705;
-        goto yy697;
+          goto yy906;
+        goto yy898;
       }
     }
-  yy699:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy697;
-    if (yych <= 0xBF)
-      goto yy695;
-    goto yy697;
-  yy700:
-    ++p;
-    yych = *p;
-    if (yych <= 0x9F)
-      goto yy697;
-    if (yych <= 0xBF)
-      goto yy699;
-    goto yy697;
-  yy701:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy697;
-    if (yych <= 0xBF)
-      goto yy699;
-    goto yy697;
-  yy702:
+  yy903:
     ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy697;
+    yych = *p;
     if (yych <= 0x9F)
-      goto yy699;
-    goto yy697;
-  yy703:
+      goto yy898;
+    if (yych <= 0xBF)
+      goto yy899;
+    goto yy898;
+  yy904:
     ++p;
     yych = *p;
     if (yych <= 0x8F)
-      goto yy697;
+      goto yy898;
     if (yych <= 0xBF)
-      goto yy701;
-    goto yy697;
-  yy704:
+      goto yy897;
+    goto yy898;
+  yy905:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy697;
+      goto yy898;
     if (yych <= 0xBF)
-      goto yy701;
-    goto yy697;
-  yy705:
+      goto yy897;
+    goto yy898;
+  yy906:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy697;
+      goto yy898;
     if (yych <= 0x8F)
-      goto yy701;
-    goto yy697;
-  yy706:
+      goto yy897;
+    goto yy898;
+  yy907:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy898;
+    if (yych <= 0x9F)
+      goto yy899;
+    goto yy898;
+  yy908:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy706;
+      goto yy908;
     }
     if (yych <= 0xDF) {
       if (yych <= '=') {
         if (yych == '\n')
-          goto yy697;
-        goto yy695;
+          goto yy898;
+        goto yy900;
       } else {
         if (yych <= '>')
-          goto yy708;
+          goto yy910;
         if (yych <= 0x7F)
-          goto yy695;
+          goto yy900;
         if (yych <= 0xC1)
-          goto yy697;
-        goto yy699;
+          goto yy898;
+        goto yy899;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych <= 0xE0)
-          goto yy700;
+          goto yy903;
         if (yych == 0xED)
-          goto yy702;
-        goto yy701;
+          goto yy907;
+        goto yy897;
       } else {
         if (yych <= 0xF0)
-          goto yy703;
+          goto yy904;
         if (yych <= 0xF3)
-          goto yy704;
+          goto yy905;
         if (yych <= 0xF4)
-          goto yy705;
-        goto yy697;
+          goto yy906;
+        goto yy898;
       }
     }
-  yy708:
+  yy910:
     yyaccept = 1;
     marker = ++p;
     yych = *p;
     if (yybm[0 + yych] & 64) {
-      goto yy695;
+      goto yy900;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= '\n')
-          goto yy709;
+          goto yy911;
         if (yych <= ']')
-          goto yy698;
+          goto yy902;
       } else {
         if (yych <= 0xDF)
-          goto yy699;
+          goto yy899;
         if (yych <= 0xE0)
-          goto yy700;
-        goto yy701;
+          goto yy903;
+        goto yy897;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy702;
+          goto yy907;
         if (yych <= 0xEF)
-          goto yy701;
-        goto yy703;
+          goto yy897;
+        goto yy904;
       } else {
         if (yych <= 0xF3)
-          goto yy704;
+          goto yy905;
         if (yych <= 0xF4)
-          goto yy705;
+          goto yy906;
       }
     }
-  yy709 : { return (bufsize_t)(p - start); }
+  yy911 : { return (bufsize_t)(p - start); }
   }
 }
 
@@ -11323,16 +14761,16 @@ bufsize_t _scan_link_title(const unsigned char *p) {
     unsigned char yych;
     unsigned int yyaccept = 0;
     static const unsigned char yybm[] = {
-        0,   208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
-        208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
-        208, 208, 208, 208, 208, 208, 192, 208, 208, 208, 208, 144, 208, 80,
-        208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
-        208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
-        208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
-        208, 208, 208, 208, 208, 208, 208, 208, 32,  208, 208, 208, 208, 208,
-        208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
-        208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
-        208, 208, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+        224, 224, 224, 224, 224, 224, 96,  224, 224, 224, 224, 160, 224, 192,
+        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+        224, 224, 224, 224, 224, 224, 224, 224, 16,  224, 224, 224, 224, 224,
+        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+        224, 224, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
         0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
         0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
         0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
@@ -11346,556 +14784,558 @@ bufsize_t _scan_link_title(const unsigned char *p) {
     yych = *p;
     if (yych <= '&') {
       if (yych == '"')
-        goto yy714;
+        goto yy916;
     } else {
       if (yych <= '\'')
-        goto yy715;
+        goto yy917;
       if (yych <= '(')
-        goto yy716;
+        goto yy918;
     }
     ++p;
-  yy713 : { return 0; }
-  yy714:
+  yy915 : { return 0; }
+  yy916:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x00)
-      goto yy713;
+      goto yy915;
     if (yych <= 0x7F)
-      goto yy718;
+      goto yy951;
     if (yych <= 0xC1)
-      goto yy713;
+      goto yy915;
     if (yych <= 0xF4)
-      goto yy718;
-    goto yy713;
-  yy715:
+      goto yy951;
+    goto yy915;
+  yy917:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x00)
-      goto yy713;
+      goto yy915;
     if (yych <= 0x7F)
-      goto yy732;
+      goto yy937;
     if (yych <= 0xC1)
-      goto yy713;
+      goto yy915;
     if (yych <= 0xF4)
-      goto yy732;
-    goto yy713;
-  yy716:
+      goto yy937;
+    goto yy915;
+  yy918:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych <= 0x00)
-      goto yy713;
+      goto yy915;
     if (yych <= 0x7F)
-      goto yy745;
+      goto yy923;
     if (yych <= 0xC1)
-      goto yy713;
+      goto yy915;
     if (yych <= 0xF4)
-      goto yy745;
-    goto yy713;
-  yy717:
+      goto yy923;
+    goto yy915;
+  yy919:
     ++p;
     yych = *p;
-  yy718:
-    if (yybm[0 + yych] & 16) {
-      goto yy717;
+    if (yybm[0 + yych] & 32) {
+      goto yy922;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy719;
-        if (yych <= '"')
-          goto yy720;
-        goto yy722;
+          goto yy921;
+        if (yych <= ')')
+          goto yy933;
+        goto yy919;
       } else {
         if (yych <= 0xC1)
-          goto yy719;
+          goto yy921;
         if (yych <= 0xDF)
-          goto yy724;
-        goto yy725;
+          goto yy924;
+        goto yy925;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy727;
-        goto yy726;
+          goto yy930;
+        goto yy926;
       } else {
         if (yych <= 0xF0)
-          goto yy728;
+          goto yy927;
         if (yych <= 0xF3)
-          goto yy729;
+          goto yy928;
         if (yych <= 0xF4)
-          goto yy730;
+          goto yy929;
       }
     }
-  yy719:
+  yy921:
     p = marker;
     if (yyaccept <= 1) {
       if (yyaccept == 0) {
-        goto yy713;
+        goto yy915;
       } else {
-        goto yy721;
+        goto yy932;
       }
     } else {
       if (yyaccept == 2) {
-        goto yy734;
+        goto yy946;
       } else {
-        goto yy747;
+        goto yy960;
       }
     }
-  yy720:
-    ++p;
-  yy721 : { return (bufsize_t)(p - start); }
-  yy722:
+  yy922:
     ++p;
     yych = *p;
-    if (yybm[0 + yych] & 16) {
-      goto yy717;
+  yy923:
+    if (yybm[0 + yych] & 32) {
+      goto yy922;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy719;
-        if (yych <= '"')
-          goto yy757;
-        goto yy722;
+          goto yy921;
+        if (yych <= ')')
+          goto yy931;
+        goto yy919;
       } else {
         if (yych <= 0xC1)
-          goto yy719;
+          goto yy921;
         if (yych >= 0xE0)
-          goto yy725;
+          goto yy925;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy727;
-        goto yy726;
+          goto yy930;
+        goto yy926;
       } else {
         if (yych <= 0xF0)
-          goto yy728;
+          goto yy927;
         if (yych <= 0xF3)
-          goto yy729;
+          goto yy928;
         if (yych <= 0xF4)
-          goto yy730;
-        goto yy719;
+          goto yy929;
+        goto yy921;
       }
     }
-  yy724:
+  yy924:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0xBF)
-      goto yy717;
-    goto yy719;
-  yy725:
+      goto yy922;
+    goto yy921;
+  yy925:
     ++p;
     yych = *p;
     if (yych <= 0x9F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0xBF)
-      goto yy724;
-    goto yy719;
-  yy726:
+      goto yy924;
+    goto yy921;
+  yy926:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0xBF)
-      goto yy724;
-    goto yy719;
-  yy727:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy719;
-    if (yych <= 0x9F)
-      goto yy724;
-    goto yy719;
-  yy728:
+      goto yy924;
+    goto yy921;
+  yy927:
     ++p;
     yych = *p;
     if (yych <= 0x8F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0xBF)
-      goto yy726;
-    goto yy719;
-  yy729:
+      goto yy926;
+    goto yy921;
+  yy928:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0xBF)
-      goto yy726;
-    goto yy719;
-  yy730:
+      goto yy926;
+    goto yy921;
+  yy929:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0x8F)
-      goto yy726;
-    goto yy719;
-  yy731:
+      goto yy926;
+    goto yy921;
+  yy930:
     ++p;
     yych = *p;
-  yy732:
-    if (yybm[0 + yych] & 64) {
-      goto yy731;
+    if (yych <= 0x7F)
+      goto yy921;
+    if (yych <= 0x9F)
+      goto yy924;
+    goto yy921;
+  yy931:
+    ++p;
+  yy932 : { return (bufsize_t)(p - start); }
+  yy933:
+    yyaccept = 1;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 32) {
+      goto yy922;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy719;
-        if (yych >= '(')
-          goto yy735;
+          goto yy932;
+        if (yych <= ')')
+          goto yy931;
+        goto yy919;
       } else {
         if (yych <= 0xC1)
-          goto yy719;
+          goto yy932;
         if (yych <= 0xDF)
-          goto yy737;
-        goto yy738;
+          goto yy924;
+        goto yy925;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy740;
-        goto yy739;
+          goto yy930;
+        goto yy926;
       } else {
         if (yych <= 0xF0)
-          goto yy741;
+          goto yy927;
         if (yych <= 0xF3)
-          goto yy742;
+          goto yy928;
         if (yych <= 0xF4)
-          goto yy743;
-        goto yy719;
+          goto yy929;
+        goto yy932;
       }
     }
-  yy733:
+  yy934:
     ++p;
-  yy734 : { return (bufsize_t)(p - start); }
-  yy735:
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy936;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '\\') {
+        if (yych <= 0x00)
+          goto yy921;
+        if (yych <= '\'')
+          goto yy947;
+        goto yy934;
+      } else {
+        if (yych <= 0xC1)
+          goto yy921;
+        if (yych <= 0xDF)
+          goto yy938;
+        goto yy939;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy944;
+        goto yy940;
+      } else {
+        if (yych <= 0xF0)
+          goto yy941;
+        if (yych <= 0xF3)
+          goto yy942;
+        if (yych <= 0xF4)
+          goto yy943;
+        goto yy921;
+      }
+    }
+  yy936:
     ++p;
     yych = *p;
+  yy937:
     if (yybm[0 + yych] & 64) {
-      goto yy731;
+      goto yy936;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy719;
+          goto yy921;
         if (yych <= '\'')
-          goto yy758;
-        goto yy735;
+          goto yy945;
+        goto yy934;
       } else {
         if (yych <= 0xC1)
-          goto yy719;
+          goto yy921;
         if (yych >= 0xE0)
-          goto yy738;
+          goto yy939;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy740;
-        goto yy739;
+          goto yy944;
+        goto yy940;
       } else {
         if (yych <= 0xF0)
-          goto yy741;
+          goto yy941;
         if (yych <= 0xF3)
-          goto yy742;
+          goto yy942;
         if (yych <= 0xF4)
-          goto yy743;
-        goto yy719;
+          goto yy943;
+        goto yy921;
       }
     }
-  yy737:
+  yy938:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0xBF)
-      goto yy731;
-    goto yy719;
-  yy738:
+      goto yy936;
+    goto yy921;
+  yy939:
     ++p;
     yych = *p;
     if (yych <= 0x9F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0xBF)
-      goto yy737;
-    goto yy719;
-  yy739:
+      goto yy938;
+    goto yy921;
+  yy940:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0xBF)
-      goto yy737;
-    goto yy719;
-  yy740:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy719;
-    if (yych <= 0x9F)
-      goto yy737;
-    goto yy719;
-  yy741:
+      goto yy938;
+    goto yy921;
+  yy941:
     ++p;
     yych = *p;
     if (yych <= 0x8F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0xBF)
-      goto yy739;
-    goto yy719;
-  yy742:
+      goto yy940;
+    goto yy921;
+  yy942:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0xBF)
-      goto yy739;
-    goto yy719;
-  yy743:
+      goto yy940;
+    goto yy921;
+  yy943:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0x8F)
-      goto yy739;
-    goto yy719;
-  yy744:
+      goto yy940;
+    goto yy921;
+  yy944:
     ++p;
     yych = *p;
-  yy745:
-    if (yybm[0 + yych] & 128) {
-      goto yy744;
+    if (yych <= 0x7F)
+      goto yy921;
+    if (yych <= 0x9F)
+      goto yy938;
+    goto yy921;
+  yy945:
+    ++p;
+  yy946 : { return (bufsize_t)(p - start); }
+  yy947:
+    yyaccept = 2;
+    marker = ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy936;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy719;
-        if (yych >= '*')
-          goto yy748;
+          goto yy946;
+        if (yych <= '\'')
+          goto yy945;
+        goto yy934;
+      } else {
+        if (yych <= 0xC1)
+          goto yy946;
+        if (yych <= 0xDF)
+          goto yy938;
+        goto yy939;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy944;
+        goto yy940;
+      } else {
+        if (yych <= 0xF0)
+          goto yy941;
+        if (yych <= 0xF3)
+          goto yy942;
+        if (yych <= 0xF4)
+          goto yy943;
+        goto yy946;
+      }
+    }
+  yy948:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy950;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '\\') {
+        if (yych <= 0x00)
+          goto yy921;
+        if (yych <= '"')
+          goto yy961;
+        goto yy948;
       } else {
         if (yych <= 0xC1)
-          goto yy719;
+          goto yy921;
         if (yych <= 0xDF)
-          goto yy750;
-        goto yy751;
+          goto yy952;
+        goto yy953;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy753;
-        goto yy752;
+          goto yy958;
+        goto yy954;
       } else {
         if (yych <= 0xF0)
-          goto yy754;
+          goto yy955;
         if (yych <= 0xF3)
-          goto yy755;
+          goto yy956;
         if (yych <= 0xF4)
-          goto yy756;
-        goto yy719;
+          goto yy957;
+        goto yy921;
       }
     }
-  yy746:
-    ++p;
-  yy747 : { return (bufsize_t)(p - start); }
-  yy748:
+  yy950:
     ++p;
     yych = *p;
+  yy951:
     if (yybm[0 + yych] & 128) {
-      goto yy744;
+      goto yy950;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy719;
-        if (yych <= ')')
-          goto yy759;
-        goto yy748;
+          goto yy921;
+        if (yych <= '"')
+          goto yy959;
+        goto yy948;
       } else {
         if (yych <= 0xC1)
-          goto yy719;
+          goto yy921;
         if (yych >= 0xE0)
-          goto yy751;
+          goto yy953;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy753;
-        goto yy752;
+          goto yy958;
+        goto yy954;
       } else {
         if (yych <= 0xF0)
-          goto yy754;
+          goto yy955;
         if (yych <= 0xF3)
-          goto yy755;
+          goto yy956;
         if (yych <= 0xF4)
-          goto yy756;
-        goto yy719;
+          goto yy957;
+        goto yy921;
       }
     }
-  yy750:
+  yy952:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0xBF)
-      goto yy744;
-    goto yy719;
-  yy751:
+      goto yy950;
+    goto yy921;
+  yy953:
     ++p;
     yych = *p;
     if (yych <= 0x9F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0xBF)
-      goto yy750;
-    goto yy719;
-  yy752:
+      goto yy952;
+    goto yy921;
+  yy954:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0xBF)
-      goto yy750;
-    goto yy719;
-  yy753:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy719;
-    if (yych <= 0x9F)
-      goto yy750;
-    goto yy719;
-  yy754:
+      goto yy952;
+    goto yy921;
+  yy955:
     ++p;
     yych = *p;
     if (yych <= 0x8F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0xBF)
-      goto yy752;
-    goto yy719;
-  yy755:
+      goto yy954;
+    goto yy921;
+  yy956:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0xBF)
-      goto yy752;
-    goto yy719;
-  yy756:
+      goto yy954;
+    goto yy921;
+  yy957:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy719;
+      goto yy921;
     if (yych <= 0x8F)
-      goto yy752;
-    goto yy719;
-  yy757:
-    yyaccept = 1;
-    marker = ++p;
-    yych = *p;
-    if (yybm[0 + yych] & 16) {
-      goto yy717;
-    }
-    if (yych <= 0xE0) {
-      if (yych <= '\\') {
-        if (yych <= 0x00)
-          goto yy721;
-        if (yych <= '"')
-          goto yy720;
-        goto yy722;
-      } else {
-        if (yych <= 0xC1)
-          goto yy721;
-        if (yych <= 0xDF)
-          goto yy724;
-        goto yy725;
-      }
-    } else {
-      if (yych <= 0xEF) {
-        if (yych == 0xED)
-          goto yy727;
-        goto yy726;
-      } else {
-        if (yych <= 0xF0)
-          goto yy728;
-        if (yych <= 0xF3)
-          goto yy729;
-        if (yych <= 0xF4)
-          goto yy730;
-        goto yy721;
-      }
-    }
-  yy758:
-    yyaccept = 2;
-    marker = ++p;
+      goto yy954;
+    goto yy921;
+  yy958:
+    ++p;
     yych = *p;
-    if (yybm[0 + yych] & 64) {
-      goto yy731;
-    }
-    if (yych <= 0xE0) {
-      if (yych <= '\\') {
-        if (yych <= 0x00)
-          goto yy734;
-        if (yych <= '\'')
-          goto yy733;
-        goto yy735;
-      } else {
-        if (yych <= 0xC1)
-          goto yy734;
-        if (yych <= 0xDF)
-          goto yy737;
-        goto yy738;
-      }
-    } else {
-      if (yych <= 0xEF) {
-        if (yych == 0xED)
-          goto yy740;
-        goto yy739;
-      } else {
-        if (yych <= 0xF0)
-          goto yy741;
-        if (yych <= 0xF3)
-          goto yy742;
-        if (yych <= 0xF4)
-          goto yy743;
-        goto yy734;
-      }
-    }
-  yy759:
+    if (yych <= 0x7F)
+      goto yy921;
+    if (yych <= 0x9F)
+      goto yy952;
+    goto yy921;
+  yy959:
+    ++p;
+  yy960 : { return (bufsize_t)(p - start); }
+  yy961:
     yyaccept = 3;
     marker = ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy744;
+      goto yy950;
     }
     if (yych <= 0xE0) {
       if (yych <= '\\') {
         if (yych <= 0x00)
-          goto yy747;
-        if (yych <= ')')
-          goto yy746;
-        goto yy748;
+          goto yy960;
+        if (yych <= '"')
+          goto yy959;
+        goto yy948;
       } else {
         if (yych <= 0xC1)
-          goto yy747;
+          goto yy960;
         if (yych <= 0xDF)
-          goto yy750;
-        goto yy751;
+          goto yy952;
+        goto yy953;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy753;
-        goto yy752;
+          goto yy958;
+        goto yy954;
       } else {
         if (yych <= 0xF0)
-          goto yy754;
+          goto yy955;
         if (yych <= 0xF3)
-          goto yy755;
+          goto yy956;
         if (yych <= 0xF4)
-          goto yy756;
-        goto yy747;
+          goto yy957;
+        goto yy960;
       }
     }
   }
@@ -11923,18 +15363,28 @@ bufsize_t _scan_spacechars(const unsigned char *p) {
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0,   0,   0,   0,   0, 0,
     };
     yych = *p;
-    if (yybm[0 + yych] & 128) {
-      goto yy764;
-    }
+    if (yych <= 0x08)
+      goto yy964;
+    if (yych <= '\r')
+      goto yy966;
+    if (yych == ' ')
+      goto yy966;
+  yy964:
     ++p;
     { return 0; }
-  yy764:
+  yy966:
+    ++p;
+    yych = *p;
+    goto yy969;
+  yy967 : { return (bufsize_t)(p - start); }
+  yy968:
     ++p;
     yych = *p;
+  yy969:
     if (yybm[0 + yych] & 128) {
-      goto yy764;
+      goto yy968;
     }
-    { return (bufsize_t)(p - start); }
+    goto yy967;
   }
 }
 
@@ -11961,116 +15411,115 @@ bufsize_t _scan_atx_heading_start(const unsigned char *p) {
     };
     yych = *p;
     if (yych == '#')
-      goto yy771;
+      goto yy974;
     ++p;
-  yy770 : { return 0; }
-  yy771:
+  yy973 : { return 0; }
+  yy974:
     yych = *(marker = ++p);
     if (yybm[0 + yych] & 128) {
-      goto yy772;
+      goto yy977;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy770;
-      if (yych <= '\n')
-        goto yy775;
-      goto yy770;
+        goto yy973;
+      if (yych >= '\v')
+        goto yy973;
     } else {
       if (yych <= '\r')
-        goto yy775;
+        goto yy975;
       if (yych == '#')
-        goto yy776;
-      goto yy770;
+        goto yy979;
+      goto yy973;
     }
-  yy772:
+  yy975:
+    ++p;
+  yy976 : { return (bufsize_t)(p - start); }
+  yy977:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy772;
+      goto yy977;
     }
-  yy774 : { return (bufsize_t)(p - start); }
-  yy775:
-    yych = *++p;
-    goto yy774;
-  yy776:
+    goto yy976;
+  yy979:
     yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy772;
+      goto yy977;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy777;
+        goto yy980;
       if (yych <= '\n')
-        goto yy775;
+        goto yy975;
     } else {
       if (yych <= '\r')
-        goto yy775;
+        goto yy975;
       if (yych == '#')
-        goto yy778;
+        goto yy981;
     }
-  yy777:
+  yy980:
     p = marker;
-    goto yy770;
-  yy778:
+    goto yy973;
+  yy981:
     yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy772;
+      goto yy977;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy777;
+        goto yy980;
       if (yych <= '\n')
-        goto yy775;
-      goto yy777;
+        goto yy975;
+      goto yy980;
     } else {
       if (yych <= '\r')
-        goto yy775;
+        goto yy975;
       if (yych != '#')
-        goto yy777;
+        goto yy980;
     }
     yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy772;
+      goto yy977;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy777;
+        goto yy980;
       if (yych <= '\n')
-        goto yy775;
-      goto yy777;
+        goto yy975;
+      goto yy980;
     } else {
       if (yych <= '\r')
-        goto yy775;
+        goto yy975;
       if (yych != '#')
-        goto yy777;
+        goto yy980;
     }
     yych = *++p;
     if (yybm[0 + yych] & 128) {
-      goto yy772;
+      goto yy977;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy777;
+        goto yy980;
       if (yych <= '\n')
-        goto yy775;
-      goto yy777;
+        goto yy975;
+      goto yy980;
     } else {
       if (yych <= '\r')
-        goto yy775;
+        goto yy975;
       if (yych != '#')
-        goto yy777;
+        goto yy980;
     }
     ++p;
     if (yybm[0 + (yych = *p)] & 128) {
-      goto yy772;
+      goto yy977;
     }
     if (yych <= 0x08)
-      goto yy777;
+      goto yy980;
     if (yych <= '\n')
-      goto yy775;
+      goto yy975;
     if (yych == '\r')
-      goto yy775;
-    goto yy777;
+      goto yy975;
+    goto yy980;
   }
 }
 
@@ -12082,141 +15531,141 @@ bufsize_t _scan_setext_heading_line(const unsigned char *p) {
   {
     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,
+        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, 128, 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, 0, 0, 0,  0, 0, 0, 0,
+        0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0,
+        0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0,
+        0, 0,   0, 0, 0, 0, 0, 0, 0, 0,  0,  0, 0, 0,
     };
     yych = *p;
     if (yych == '-')
-      goto yy786;
+      goto yy989;
     if (yych == '=')
-      goto yy787;
+      goto yy990;
     ++p;
-  yy785 : { return 0; }
-  yy786:
+  yy988 : { return 0; }
+  yy989:
     yych = *(marker = ++p);
-    if (yybm[0 + yych] & 64) {
-      goto yy793;
+    if (yybm[0 + yych] & 128) {
+      goto yy1002;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy785;
+        goto yy988;
       if (yych <= '\n')
-        goto yy789;
-      goto yy785;
+        goto yy999;
+      goto yy988;
     } else {
       if (yych <= '\r')
-        goto yy789;
+        goto yy999;
       if (yych == ' ')
-        goto yy789;
-      goto yy785;
+        goto yy999;
+      goto yy988;
     }
-  yy787:
+  yy990:
     yych = *(marker = ++p);
-    if (yybm[0 + yych] & 128) {
-      goto yy799;
+    if (yybm[0 + yych] & 64) {
+      goto yy996;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy785;
+        goto yy988;
       if (yych <= '\n')
-        goto yy796;
-      goto yy785;
+        goto yy992;
+      goto yy988;
     } else {
       if (yych <= '\r')
-        goto yy796;
+        goto yy992;
       if (yych == ' ')
-        goto yy796;
-      goto yy785;
+        goto yy992;
+      goto yy988;
     }
-  yy788:
+  yy991:
     ++p;
     yych = *p;
-  yy789:
+  yy992:
     if (yybm[0 + yych] & 32) {
-      goto yy788;
+      goto yy991;
     }
     if (yych <= 0x08)
-      goto yy790;
+      goto yy993;
     if (yych <= '\n')
-      goto yy791;
+      goto yy994;
     if (yych == '\r')
-      goto yy791;
-  yy790:
+      goto yy994;
+  yy993:
     p = marker;
-    goto yy785;
-  yy791:
+    goto yy988;
+  yy994:
     ++p;
-    { return 2; }
-  yy793:
+    { return 1; }
+  yy996:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 32) {
-      goto yy788;
+      goto yy991;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy790;
+        goto yy993;
       if (yych <= '\n')
-        goto yy791;
-      goto yy790;
+        goto yy994;
+      goto yy993;
     } else {
       if (yych <= '\r')
-        goto yy791;
-      if (yych == '-')
-        goto yy793;
-      goto yy790;
+        goto yy994;
+      if (yych == '=')
+        goto yy996;
+      goto yy993;
     }
-  yy795:
+  yy998:
     ++p;
     yych = *p;
-  yy796:
+  yy999:
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy790;
+        goto yy993;
       if (yych <= '\t')
-        goto yy795;
+        goto yy998;
       if (yych >= '\v')
-        goto yy790;
+        goto yy993;
     } else {
       if (yych <= '\r')
-        goto yy797;
+        goto yy1000;
       if (yych == ' ')
-        goto yy795;
-      goto yy790;
+        goto yy998;
+      goto yy993;
     }
-  yy797:
+  yy1000:
     ++p;
-    { return 1; }
-  yy799:
+    { return 2; }
+  yy1002:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy799;
+      goto yy1002;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy790;
+        goto yy993;
       if (yych <= '\t')
-        goto yy795;
+        goto yy998;
       if (yych <= '\n')
-        goto yy797;
-      goto yy790;
+        goto yy1000;
+      goto yy993;
     } else {
       if (yych <= '\r')
-        goto yy797;
+        goto yy1000;
       if (yych == ' ')
-        goto yy795;
-      goto yy790;
+        goto yy998;
+      goto yy993;
     }
   }
 }
@@ -12231,193 +15680,265 @@ bufsize_t _scan_thematic_break(const unsigned char *p) {
   {
     unsigned char yych;
     static const unsigned char yybm[] = {
-        0, 0, 0,  0, 0, 0,  0, 0, 0, 240, 0, 0, 0,   0, 0, 0,   0, 0, 0, 0,
-        0, 0, 0,  0, 0, 0,  0, 0, 0, 0,   0, 0, 240, 0, 0, 0,   0, 0, 0, 0,
-        0, 0, 32, 0, 0, 64, 0, 0, 0, 0,   0, 0, 0,   0, 0, 0,   0, 0, 0, 0,
-        0, 0, 0,  0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,   0, 0, 0, 0,
-        0, 0, 0,  0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 128, 0, 0, 0, 0,
-        0, 0, 0,  0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,   0, 0, 0, 0,
-        0, 0, 0,  0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,   0, 0, 0, 0,
-        0, 0, 0,  0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,   0, 0, 0, 0,
-        0, 0, 0,  0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,   0, 0, 0, 0,
-        0, 0, 0,  0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,   0, 0, 0, 0,
-        0, 0, 0,  0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,   0, 0, 0, 0,
-        0, 0, 0,  0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,   0, 0, 0, 0,
-        0, 0, 0,  0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,
+        0, 0, 0,   0, 0, 0,  0, 0, 0, 240, 0, 0, 0,   0, 0, 0,  0, 0, 0, 0,
+        0, 0, 0,   0, 0, 0,  0, 0, 0, 0,   0, 0, 240, 0, 0, 0,  0, 0, 0, 0,
+        0, 0, 128, 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, 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, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,  0, 0, 0, 0,
+        0, 0, 0,   0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,  0, 0, 0, 0,
+        0, 0, 0,   0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,  0, 0, 0, 0,
+        0, 0, 0,   0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,  0, 0, 0, 0,
+        0, 0, 0,   0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,  0, 0, 0, 0,
+        0, 0, 0,   0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,  0, 0, 0, 0,
+        0, 0, 0,   0, 0, 0,  0, 0, 0, 0,   0, 0, 0,   0, 0, 0,
     };
     yych = *p;
     if (yych <= ',') {
       if (yych == '*')
-        goto yy805;
+        goto yy1008;
     } else {
       if (yych <= '-')
-        goto yy806;
+        goto yy1009;
       if (yych == '_')
-        goto yy807;
+        goto yy1010;
     }
     ++p;
-  yy804 : { return 0; }
-  yy805:
+  yy1007 : { return 0; }
+  yy1008:
     yych = *(marker = ++p);
-    if (yybm[0 + yych] & 16) {
-      goto yy808;
+    if (yych <= 0x1F) {
+      if (yych == '\t')
+        goto yy1032;
+      goto yy1007;
+    } else {
+      if (yych <= ' ')
+        goto yy1032;
+      if (yych == '*')
+        goto yy1034;
+      goto yy1007;
     }
-    if (yych == '*')
-      goto yy811;
-    goto yy804;
-  yy806:
+  yy1009:
     yych = *(marker = ++p);
     if (yych <= 0x1F) {
       if (yych == '\t')
-        goto yy813;
-      goto yy804;
+        goto yy1022;
+      goto yy1007;
     } else {
       if (yych <= ' ')
-        goto yy813;
+        goto yy1022;
       if (yych == '-')
-        goto yy815;
-      goto yy804;
+        goto yy1024;
+      goto yy1007;
     }
-  yy807:
+  yy1010:
     yych = *(marker = ++p);
+    if (yybm[0 + yych] & 16) {
+      goto yy1011;
+    }
+    if (yych == '_')
+      goto yy1014;
+    goto yy1007;
+  yy1011:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 16) {
+      goto yy1011;
+    }
+    if (yych == '_')
+      goto yy1014;
+  yy1013:
+    p = marker;
+    goto yy1007;
+  yy1014:
+    ++p;
+    yych = *p;
     if (yych <= 0x1F) {
       if (yych == '\t')
-        goto yy817;
-      goto yy804;
+        goto yy1014;
+      goto yy1013;
     } else {
       if (yych <= ' ')
-        goto yy817;
-      if (yych == '_')
-        goto yy819;
-      goto yy804;
+        goto yy1014;
+      if (yych != '_')
+        goto yy1013;
     }
-  yy808:
+  yy1016:
     ++p;
     yych = *p;
-    if (yybm[0 + yych] & 16) {
-      goto yy808;
+    if (yych <= '\r') {
+      if (yych <= '\t') {
+        if (yych <= 0x08)
+          goto yy1013;
+        goto yy1016;
+      } else {
+        if (yych <= '\n')
+          goto yy1018;
+        if (yych <= '\f')
+          goto yy1013;
+      }
+    } else {
+      if (yych <= ' ') {
+        if (yych <= 0x1F)
+          goto yy1013;
+        goto yy1016;
+      } else {
+        if (yych == '_')
+          goto yy1020;
+        goto yy1013;
+      }
+    }
+  yy1018:
+    ++p;
+    { return (bufsize_t)(p - start); }
+  yy1020:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 32) {
+      goto yy1020;
     }
-    if (yych == '*')
-      goto yy811;
-  yy810:
-    p = marker;
-    goto yy804;
-  yy811:
+    if (yych <= 0x08)
+      goto yy1013;
+    if (yych <= '\n')
+      goto yy1018;
+    if (yych == '\r')
+      goto yy1018;
+    goto yy1013;
+  yy1022:
     ++p;
     yych = *p;
     if (yych <= 0x1F) {
       if (yych == '\t')
-        goto yy811;
-      goto yy810;
+        goto yy1022;
+      goto yy1013;
     } else {
       if (yych <= ' ')
-        goto yy811;
-      if (yych == '*')
-        goto yy821;
-      goto yy810;
+        goto yy1022;
+      if (yych != '-')
+        goto yy1013;
     }
-  yy813:
+  yy1024:
     ++p;
     yych = *p;
     if (yych <= 0x1F) {
       if (yych == '\t')
-        goto yy813;
-      goto yy810;
+        goto yy1024;
+      goto yy1013;
     } else {
       if (yych <= ' ')
-        goto yy813;
+        goto yy1024;
       if (yych != '-')
-        goto yy810;
+        goto yy1013;
     }
-  yy815:
+  yy1026:
     ++p;
     yych = *p;
-    if (yych <= 0x1F) {
-      if (yych == '\t')
-        goto yy815;
-      goto yy810;
+    if (yych <= '\r') {
+      if (yych <= '\t') {
+        if (yych <= 0x08)
+          goto yy1013;
+        goto yy1026;
+      } else {
+        if (yych <= '\n')
+          goto yy1028;
+        if (yych <= '\f')
+          goto yy1013;
+      }
     } else {
-      if (yych <= ' ')
-        goto yy815;
-      if (yych == '-')
-        goto yy823;
-      goto yy810;
+      if (yych <= ' ') {
+        if (yych <= 0x1F)
+          goto yy1013;
+        goto yy1026;
+      } else {
+        if (yych == '-')
+          goto yy1030;
+        goto yy1013;
+      }
     }
-  yy817:
+  yy1028:
+    ++p;
+    { return (bufsize_t)(p - start); }
+  yy1030:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1030;
+    }
+    if (yych <= 0x08)
+      goto yy1013;
+    if (yych <= '\n')
+      goto yy1028;
+    if (yych == '\r')
+      goto yy1028;
+    goto yy1013;
+  yy1032:
     ++p;
     yych = *p;
     if (yych <= 0x1F) {
       if (yych == '\t')
-        goto yy817;
-      goto yy810;
+        goto yy1032;
+      goto yy1013;
     } else {
       if (yych <= ' ')
-        goto yy817;
-      if (yych != '_')
-        goto yy810;
+        goto yy1032;
+      if (yych != '*')
+        goto yy1013;
     }
-  yy819:
+  yy1034:
     ++p;
     yych = *p;
     if (yych <= 0x1F) {
       if (yych == '\t')
-        goto yy819;
-      goto yy810;
+        goto yy1034;
+      goto yy1013;
     } else {
       if (yych <= ' ')
-        goto yy819;
-      if (yych == '_')
-        goto yy825;
-      goto yy810;
+        goto yy1034;
+      if (yych != '*')
+        goto yy1013;
     }
-  yy821:
+  yy1036:
     ++p;
     yych = *p;
-    if (yybm[0 + yych] & 32) {
-      goto yy821;
+    if (yych <= '\r') {
+      if (yych <= '\t') {
+        if (yych <= 0x08)
+          goto yy1013;
+        goto yy1036;
+      } else {
+        if (yych <= '\n')
+          goto yy1038;
+        if (yych <= '\f')
+          goto yy1013;
+      }
+    } else {
+      if (yych <= ' ') {
+        if (yych <= 0x1F)
+          goto yy1013;
+        goto yy1036;
+      } else {
+        if (yych == '*')
+          goto yy1040;
+        goto yy1013;
+      }
     }
-    if (yych <= 0x08)
-      goto yy810;
-    if (yych <= '\n')
-      goto yy827;
-    if (yych == '\r')
-      goto yy827;
-    goto yy810;
-  yy823:
+  yy1038:
     ++p;
-    yych = *p;
-    if (yybm[0 + yych] & 64) {
-      goto yy823;
-    }
-    if (yych <= 0x08)
-      goto yy810;
-    if (yych <= '\n')
-      goto yy829;
-    if (yych == '\r')
-      goto yy829;
-    goto yy810;
-  yy825:
+    { return (bufsize_t)(p - start); }
+  yy1040:
     ++p;
     yych = *p;
     if (yybm[0 + yych] & 128) {
-      goto yy825;
+      goto yy1040;
     }
     if (yych <= 0x08)
-      goto yy810;
+      goto yy1013;
     if (yych <= '\n')
-      goto yy831;
+      goto yy1038;
     if (yych == '\r')
-      goto yy831;
-    goto yy810;
-  yy827:
-    ++p;
-    { return (bufsize_t)(p - start); }
-  yy829:
-    ++p;
-    { return (bufsize_t)(p - start); }
-  yy831:
-    ++p;
-    { return (bufsize_t)(p - start); }
+      goto yy1038;
+    goto yy1013;
   }
 }
 
@@ -12429,16 +15950,16 @@ bufsize_t _scan_open_code_fence(const unsigned char *p) {
   {
     unsigned char yych;
     static const unsigned char yybm[] = {
-        0,   192, 192, 192, 192, 192, 192, 192, 192, 192, 0,   192, 192, 0,
-        192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
-        192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
-        192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
-        192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
-        192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
-        192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 144, 192,
-        192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
-        192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
-        96,  192, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+        0,   160, 160, 160, 160, 160, 160, 160, 160, 160, 0,   160, 160, 0,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 96,  160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+        144, 160, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
         0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
         0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
         0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
@@ -12451,295 +15972,295 @@ bufsize_t _scan_open_code_fence(const unsigned char *p) {
     };
     yych = *p;
     if (yych == '`')
-      goto yy837;
+      goto yy1046;
     if (yych == '~')
-      goto yy838;
+      goto yy1047;
     ++p;
-  yy836 : { return 0; }
-  yy837:
+  yy1045 : { return 0; }
+  yy1046:
     yych = *(marker = ++p);
     if (yych == '`')
-      goto yy839;
-    goto yy836;
-  yy838:
+      goto yy1063;
+    goto yy1045;
+  yy1047:
     yych = *(marker = ++p);
-    if (yych == '~')
-      goto yy841;
-    goto yy836;
-  yy839:
+    if (yych != '~')
+      goto yy1045;
     yych = *++p;
     if (yybm[0 + yych] & 16) {
-      goto yy842;
+      goto yy1050;
     }
-  yy840:
+  yy1049:
     p = marker;
-    goto yy836;
-  yy841:
-    yych = *++p;
-    if (yybm[0 + yych] & 32) {
-      goto yy844;
-    }
-    goto yy840;
-  yy842:
-    ++p;
-    yych = *p;
-    marker = p;
-    if (yybm[0 + yych] & 64) {
-      goto yy846;
-    }
-    if (yych <= 0xE0) {
-      if (yych <= '`') {
-        if (yych <= 0x00)
-          goto yy840;
-        if (yych <= '\r')
-          goto yy848;
-        goto yy842;
-      } else {
-        if (yych <= 0xC1)
-          goto yy840;
-        if (yych <= 0xDF)
-          goto yy850;
-        goto yy851;
-      }
-    } else {
-      if (yych <= 0xEF) {
-        if (yych == 0xED)
-          goto yy853;
-        goto yy852;
-      } else {
-        if (yych <= 0xF0)
-          goto yy854;
-        if (yych <= 0xF3)
-          goto yy855;
-        if (yych <= 0xF4)
-          goto yy856;
-        goto yy840;
-      }
-    }
-  yy844:
+    goto yy1045;
+  yy1050:
     ++p;
     yych = *p;
     marker = p;
-    if (yybm[0 + yych] & 128) {
-      goto yy857;
+    if (yybm[0 + yych] & 32) {
+      goto yy1052;
     }
     if (yych <= 0xE0) {
       if (yych <= '~') {
         if (yych <= 0x00)
-          goto yy840;
+          goto yy1049;
         if (yych <= '\r')
-          goto yy859;
-        goto yy844;
+          goto yy1061;
+        goto yy1050;
       } else {
         if (yych <= 0xC1)
-          goto yy840;
+          goto yy1049;
         if (yych <= 0xDF)
-          goto yy861;
-        goto yy862;
+          goto yy1054;
+        goto yy1055;
       }
     } else {
       if (yych <= 0xEF) {
         if (yych == 0xED)
-          goto yy864;
-        goto yy863;
+          goto yy1060;
+        goto yy1056;
       } else {
         if (yych <= 0xF0)
-          goto yy865;
+          goto yy1057;
         if (yych <= 0xF3)
-          goto yy866;
+          goto yy1058;
         if (yych <= 0xF4)
-          goto yy867;
-        goto yy840;
+          goto yy1059;
+        goto yy1049;
       }
     }
-  yy846:
+  yy1052:
     ++p;
     yych = *p;
-    if (yybm[0 + yych] & 64) {
-      goto yy846;
+    if (yybm[0 + yych] & 32) {
+      goto yy1052;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= 0x00)
-          goto yy840;
-        if (yych >= 0x0E)
-          goto yy840;
+          goto yy1049;
+        if (yych <= '\r')
+          goto yy1061;
+        goto yy1049;
       } else {
         if (yych <= 0xDF)
-          goto yy850;
+          goto yy1054;
         if (yych <= 0xE0)
-          goto yy851;
-        goto yy852;
+          goto yy1055;
+        goto yy1056;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy853;
+          goto yy1060;
         if (yych <= 0xEF)
-          goto yy852;
-        goto yy854;
+          goto yy1056;
+        goto yy1057;
       } else {
         if (yych <= 0xF3)
-          goto yy855;
+          goto yy1058;
         if (yych <= 0xF4)
-          goto yy856;
-        goto yy840;
+          goto yy1059;
+        goto yy1049;
       }
     }
-  yy848:
-    ++p;
-    p = marker;
-    { return (bufsize_t)(p - start); }
-  yy850:
+  yy1054:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy840;
+      goto yy1049;
     if (yych <= 0xBF)
-      goto yy846;
-    goto yy840;
-  yy851:
+      goto yy1052;
+    goto yy1049;
+  yy1055:
     ++p;
     yych = *p;
     if (yych <= 0x9F)
-      goto yy840;
+      goto yy1049;
     if (yych <= 0xBF)
-      goto yy850;
-    goto yy840;
-  yy852:
+      goto yy1054;
+    goto yy1049;
+  yy1056:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy840;
+      goto yy1049;
     if (yych <= 0xBF)
-      goto yy850;
-    goto yy840;
-  yy853:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy840;
-    if (yych <= 0x9F)
-      goto yy850;
-    goto yy840;
-  yy854:
+      goto yy1054;
+    goto yy1049;
+  yy1057:
     ++p;
     yych = *p;
     if (yych <= 0x8F)
-      goto yy840;
+      goto yy1049;
     if (yych <= 0xBF)
-      goto yy852;
-    goto yy840;
-  yy855:
+      goto yy1056;
+    goto yy1049;
+  yy1058:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy840;
+      goto yy1049;
     if (yych <= 0xBF)
-      goto yy852;
-    goto yy840;
-  yy856:
+      goto yy1056;
+    goto yy1049;
+  yy1059:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy840;
+      goto yy1049;
     if (yych <= 0x8F)
-      goto yy852;
-    goto yy840;
-  yy857:
+      goto yy1056;
+    goto yy1049;
+  yy1060:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1049;
+    if (yych <= 0x9F)
+      goto yy1054;
+    goto yy1049;
+  yy1061:
+    ++p;
+    p = marker;
+    { return (bufsize_t)(p - start); }
+  yy1063:
+    yych = *++p;
+    if (yybm[0 + yych] & 64) {
+      goto yy1064;
+    }
+    goto yy1049;
+  yy1064:
     ++p;
     yych = *p;
+    marker = p;
     if (yybm[0 + yych] & 128) {
-      goto yy857;
+      goto yy1066;
+    }
+    if (yych <= 0xE0) {
+      if (yych <= '`') {
+        if (yych <= 0x00)
+          goto yy1049;
+        if (yych <= '\r')
+          goto yy1075;
+        goto yy1064;
+      } else {
+        if (yych <= 0xC1)
+          goto yy1049;
+        if (yych <= 0xDF)
+          goto yy1068;
+        goto yy1069;
+      }
+    } else {
+      if (yych <= 0xEF) {
+        if (yych == 0xED)
+          goto yy1074;
+        goto yy1070;
+      } else {
+        if (yych <= 0xF0)
+          goto yy1071;
+        if (yych <= 0xF3)
+          goto yy1072;
+        if (yych <= 0xF4)
+          goto yy1073;
+        goto yy1049;
+      }
+    }
+  yy1066:
+    ++p;
+    yych = *p;
+    if (yybm[0 + yych] & 128) {
+      goto yy1066;
     }
     if (yych <= 0xEC) {
       if (yych <= 0xC1) {
         if (yych <= 0x00)
-          goto yy840;
-        if (yych >= 0x0E)
-          goto yy840;
+          goto yy1049;
+        if (yych <= '\r')
+          goto yy1075;
+        goto yy1049;
       } else {
         if (yych <= 0xDF)
-          goto yy861;
+          goto yy1068;
         if (yych <= 0xE0)
-          goto yy862;
-        goto yy863;
+          goto yy1069;
+        goto yy1070;
       }
     } else {
       if (yych <= 0xF0) {
         if (yych <= 0xED)
-          goto yy864;
+          goto yy1074;
         if (yych <= 0xEF)
-          goto yy863;
-        goto yy865;
+          goto yy1070;
+        goto yy1071;
       } else {
         if (yych <= 0xF3)
-          goto yy866;
+          goto yy1072;
         if (yych <= 0xF4)
-          goto yy867;
-        goto yy840;
+          goto yy1073;
+        goto yy1049;
       }
     }
-  yy859:
-    ++p;
-    p = marker;
-    { return (bufsize_t)(p - start); }
-  yy861:
+  yy1068:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy840;
+      goto yy1049;
     if (yych <= 0xBF)
-      goto yy857;
-    goto yy840;
-  yy862:
+      goto yy1066;
+    goto yy1049;
+  yy1069:
     ++p;
     yych = *p;
     if (yych <= 0x9F)
-      goto yy840;
+      goto yy1049;
     if (yych <= 0xBF)
-      goto yy861;
-    goto yy840;
-  yy863:
+      goto yy1068;
+    goto yy1049;
+  yy1070:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy840;
+      goto yy1049;
     if (yych <= 0xBF)
-      goto yy861;
-    goto yy840;
-  yy864:
-    ++p;
-    yych = *p;
-    if (yych <= 0x7F)
-      goto yy840;
-    if (yych <= 0x9F)
-      goto yy861;
-    goto yy840;
-  yy865:
+      goto yy1068;
+    goto yy1049;
+  yy1071:
     ++p;
     yych = *p;
     if (yych <= 0x8F)
-      goto yy840;
+      goto yy1049;
     if (yych <= 0xBF)
-      goto yy863;
-    goto yy840;
-  yy866:
+      goto yy1070;
+    goto yy1049;
+  yy1072:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy840;
+      goto yy1049;
     if (yych <= 0xBF)
-      goto yy863;
-    goto yy840;
-  yy867:
+      goto yy1070;
+    goto yy1049;
+  yy1073:
     ++p;
     yych = *p;
     if (yych <= 0x7F)
-      goto yy840;
+      goto yy1049;
     if (yych <= 0x8F)
-      goto yy863;
-    goto yy840;
+      goto yy1070;
+    goto yy1049;
+  yy1074:
+    ++p;
+    yych = *p;
+    if (yych <= 0x7F)
+      goto yy1049;
+    if (yych <= 0x9F)
+      goto yy1068;
+    goto yy1049;
+  yy1075:
+    ++p;
+    p = marker;
+    { return (bufsize_t)(p - start); }
   }
 }
 
@@ -12751,126 +16272,123 @@ bufsize_t _scan_close_code_fence(const unsigned char *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,
+        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,  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, 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, 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, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 0, 0,
     };
     yych = *p;
     if (yych == '`')
-      goto yy872;
-    if (yych == '~')
-      goto yy873;
-    ++p;
-  yy871 : { return 0; }
-  yy872:
-    yych = *(marker = ++p);
-    if (yych == '`')
-      goto yy874;
-    goto yy871;
-  yy873:
-    yych = *(marker = ++p);
-    if (yych == '~')
-      goto yy876;
-    goto yy871;
-  yy874:
-    yych = *++p;
-    if (yybm[0 + yych] & 32) {
-      goto yy877;
-    }
-  yy875:
-    p = marker;
-    goto yy871;
-  yy876:
-    yych = *++p;
-    if (yybm[0 + yych] & 64) {
-      goto yy879;
-    }
-    goto yy875;
-  yy877:
-    ++p;
-    yych = *p;
-    marker = p;
-    if (yybm[0 + yych] & 128) {
-      goto yy881;
-    }
-    if (yych <= '\f') {
-      if (yych <= 0x08)
-        goto yy875;
-      if (yych <= '\n')
-        goto yy883;
-      goto yy875;
-    } else {
-      if (yych <= '\r')
-        goto yy883;
-      if (yych == '`')
-        goto yy877;
-      goto yy875;
+      goto yy1081;
+    if (yych == '~')
+      goto yy1082;
+    ++p;
+  yy1080 : { return 0; }
+  yy1081:
+    yych = *(marker = ++p);
+    if (yych == '`')
+      goto yy1091;
+    goto yy1080;
+  yy1082:
+    yych = *(marker = ++p);
+    if (yych != '~')
+      goto yy1080;
+    yych = *++p;
+    if (yybm[0 + yych] & 32) {
+      goto yy1085;
     }
-  yy879:
+  yy1084:
+    p = marker;
+    goto yy1080;
+  yy1085:
     ++p;
     yych = *p;
     marker = p;
     if (yybm[0 + yych] & 64) {
-      goto yy879;
+      goto yy1087;
     }
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy875;
-      if (yych <= '\t')
-        goto yy885;
+        goto yy1084;
       if (yych <= '\n')
-        goto yy887;
-      goto yy875;
+        goto yy1089;
+      goto yy1084;
     } else {
       if (yych <= '\r')
-        goto yy887;
-      if (yych == ' ')
-        goto yy885;
-      goto yy875;
+        goto yy1089;
+      if (yych == '~')
+        goto yy1085;
+      goto yy1084;
     }
-  yy881:
+  yy1087:
     ++p;
     yych = *p;
-    if (yybm[0 + yych] & 128) {
-      goto yy881;
+    if (yybm[0 + yych] & 64) {
+      goto yy1087;
     }
     if (yych <= 0x08)
-      goto yy875;
+      goto yy1084;
     if (yych <= '\n')
-      goto yy883;
+      goto yy1089;
     if (yych != '\r')
-      goto yy875;
-  yy883:
+      goto yy1084;
+  yy1089:
     ++p;
     p = marker;
     { return (bufsize_t)(p - start); }
-  yy885:
+  yy1091:
+    yych = *++p;
+    if (yybm[0 + yych] & 128) {
+      goto yy1092;
+    }
+    goto yy1084;
+  yy1092:
+    ++p;
+    yych = *p;
+    marker = p;
+    if (yybm[0 + yych] & 128) {
+      goto yy1092;
+    }
+    if (yych <= '\f') {
+      if (yych <= 0x08)
+        goto yy1084;
+      if (yych <= '\t')
+        goto yy1094;
+      if (yych <= '\n')
+        goto yy1096;
+      goto yy1084;
+    } else {
+      if (yych <= '\r')
+        goto yy1096;
+      if (yych != ' ')
+        goto yy1084;
+    }
+  yy1094:
     ++p;
     yych = *p;
     if (yych <= '\f') {
       if (yych <= 0x08)
-        goto yy875;
+        goto yy1084;
       if (yych <= '\t')
-        goto yy885;
+        goto yy1094;
       if (yych >= '\v')
-        goto yy875;
+        goto yy1084;
     } else {
       if (yych <= '\r')
-        goto yy887;
+        goto yy1096;
       if (yych == ' ')
-        goto yy885;
-      goto yy875;
+        goto yy1094;
+      goto yy1084;
     }
-  yy887:
+  yy1096:
     ++p;
     p = marker;
     { return (bufsize_t)(p - start); }
@@ -12887,947 +16405,919 @@ bufsize_t _scan_entity(const unsigned char *p) {
     unsigned char yych;
     yych = *p;
     if (yych == '&')
-      goto yy893;
+      goto yy1102;
     ++p;
-  yy892 : { return 0; }
-  yy893:
+  yy1101 : { return 0; }
+  yy1102:
     yych = *(marker = ++p);
     if (yych <= '@') {
       if (yych != '#')
-        goto yy892;
+        goto yy1101;
     } else {
       if (yych <= 'Z')
-        goto yy896;
+        goto yy1105;
       if (yych <= '`')
-        goto yy892;
+        goto yy1101;
       if (yych <= 'z')
-        goto yy896;
-      goto yy892;
+        goto yy1105;
+      goto yy1101;
     }
     yych = *++p;
     if (yych <= 'W') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy897;
+        goto yy1140;
     } else {
       if (yych <= 'X')
-        goto yy898;
+        goto yy1139;
       if (yych == 'x')
-        goto yy898;
+        goto yy1139;
     }
-  yy895:
+  yy1104:
     p = marker;
-    goto yy892;
-  yy896:
+    goto yy1101;
+  yy1105:
     yych = *++p;
     if (yych <= '@') {
       if (yych <= '/')
-        goto yy895;
-      if (yych <= '9')
-        goto yy899;
-      goto yy895;
+        goto yy1104;
+      if (yych >= ':')
+        goto yy1104;
     } else {
       if (yych <= 'Z')
-        goto yy899;
-      if (yych <= '`')
-        goto yy895;
-      if (yych <= 'z')
-        goto yy899;
-      goto yy895;
-    }
-  yy897:
-    yych = *++p;
-    if (yych <= '/')
-      goto yy895;
-    if (yych <= '9')
-      goto yy900;
-    if (yych == ';')
-      goto yy901;
-    goto yy895;
-  yy898:
-    yych = *++p;
-    if (yych <= '@') {
-      if (yych <= '/')
-        goto yy895;
-      if (yych <= '9')
-        goto yy903;
-      goto yy895;
-    } else {
-      if (yych <= 'F')
-        goto yy903;
+        goto yy1106;
       if (yych <= '`')
-        goto yy895;
-      if (yych <= 'f')
-        goto yy903;
-      goto yy895;
+        goto yy1104;
+      if (yych >= '{')
+        goto yy1104;
     }
-  yy899:
+  yy1106:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy904;
+        goto yy1109;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
-        goto yy904;
+          goto yy1104;
+        goto yy1109;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych <= 'z')
-          goto yy904;
-        goto yy895;
+          goto yy1109;
+        goto yy1104;
       }
     }
-  yy900:
-    yych = *++p;
-    if (yych <= '/')
-      goto yy895;
-    if (yych <= '9')
-      goto yy905;
-    if (yych != ';')
-      goto yy895;
-  yy901:
+  yy1107:
     ++p;
     { return (bufsize_t)(p - start); }
-  yy903:
+  yy1109:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy906;
+        goto yy1110;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
-      if (yych <= 'F') {
+      if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
-        goto yy906;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych <= 'f')
-          goto yy906;
-        goto yy895;
+          goto yy1104;
+        if (yych >= '{')
+          goto yy1104;
       }
     }
-  yy904:
+  yy1110:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy907;
+        goto yy1111;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
-        goto yy907;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych <= 'z')
-          goto yy907;
-        goto yy895;
+          goto yy1104;
+        if (yych >= '{')
+          goto yy1104;
       }
     }
-  yy905:
-    yych = *++p;
-    if (yych <= '/')
-      goto yy895;
-    if (yych <= '9')
-      goto yy908;
-    if (yych == ';')
-      goto yy901;
-    goto yy895;
-  yy906:
+  yy1111:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy909;
+        goto yy1112;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
-      if (yych <= 'F') {
+      if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
-        goto yy909;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych <= 'f')
-          goto yy909;
-        goto yy895;
+          goto yy1104;
+        if (yych >= '{')
+          goto yy1104;
       }
     }
-  yy907:
+  yy1112:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy910;
+        goto yy1113;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
-        goto yy910;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych <= 'z')
-          goto yy910;
-        goto yy895;
+          goto yy1104;
+        if (yych >= '{')
+          goto yy1104;
       }
     }
-  yy908:
-    yych = *++p;
-    if (yych <= '/')
-      goto yy895;
-    if (yych <= '9')
-      goto yy911;
-    if (yych == ';')
-      goto yy901;
-    goto yy895;
-  yy909:
+  yy1113:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy912;
+        goto yy1114;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
-      if (yych <= 'F') {
+      if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
-        goto yy912;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych <= 'f')
-          goto yy912;
-        goto yy895;
+          goto yy1104;
+        if (yych >= '{')
+          goto yy1104;
       }
     }
-  yy910:
+  yy1114:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy913;
+        goto yy1115;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
-        goto yy913;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych <= 'z')
-          goto yy913;
-        goto yy895;
+          goto yy1104;
+        if (yych >= '{')
+          goto yy1104;
       }
     }
-  yy911:
-    yych = *++p;
-    if (yych <= '/')
-      goto yy895;
-    if (yych <= '9')
-      goto yy914;
-    if (yych == ';')
-      goto yy901;
-    goto yy895;
-  yy912:
+  yy1115:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy915;
+        goto yy1116;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
-      if (yych <= 'F') {
+      if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
-        goto yy915;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych <= 'f')
-          goto yy915;
-        goto yy895;
+          goto yy1104;
+        if (yych >= '{')
+          goto yy1104;
       }
     }
-  yy913:
+  yy1116:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy916;
+        goto yy1117;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
-        goto yy916;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych <= 'z')
-          goto yy916;
-        goto yy895;
+          goto yy1104;
+        if (yych >= '{')
+          goto yy1104;
       }
     }
-  yy914:
-    yych = *++p;
-    if (yych <= '/')
-      goto yy895;
-    if (yych <= '9')
-      goto yy917;
-    if (yych == ';')
-      goto yy901;
-    goto yy895;
-  yy915:
+  yy1117:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy918;
+        goto yy1118;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
-      if (yych <= 'F') {
+      if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
-        goto yy918;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych <= 'f')
-          goto yy918;
-        goto yy895;
+          goto yy1104;
+        if (yych >= '{')
+          goto yy1104;
       }
     }
-  yy916:
+  yy1118:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy919;
+        goto yy1119;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
-        goto yy919;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych <= 'z')
-          goto yy919;
-        goto yy895;
+          goto yy1104;
+        if (yych >= '{')
+          goto yy1104;
       }
     }
-  yy917:
-    yych = *++p;
-    if (yych <= '/')
-      goto yy895;
-    if (yych <= '9')
-      goto yy920;
-    if (yych == ';')
-      goto yy901;
-    goto yy895;
-  yy918:
+  yy1119:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy921;
+        goto yy1120;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
-      if (yych <= 'F') {
+      if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
-        goto yy921;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych <= 'f')
-          goto yy921;
-        goto yy895;
+          goto yy1104;
+        if (yych >= '{')
+          goto yy1104;
       }
     }
-  yy919:
+  yy1120:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy922;
+        goto yy1121;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
-        goto yy922;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych <= 'z')
-          goto yy922;
-        goto yy895;
+          goto yy1104;
+        if (yych >= '{')
+          goto yy1104;
       }
     }
-  yy920:
-    yych = *++p;
-    if (yych == ';')
-      goto yy901;
-    goto yy895;
-  yy921:
+  yy1121:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy920;
+        goto yy1122;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
-      if (yych <= 'F') {
+      if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
-        goto yy920;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych <= 'f')
-          goto yy920;
-        goto yy895;
+          goto yy1104;
+        if (yych >= '{')
+          goto yy1104;
       }
     }
-  yy922:
+  yy1122:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy923;
+        goto yy1123;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy923:
+  yy1123:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy924;
+        goto yy1124;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy924:
+  yy1124:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy925;
+        goto yy1125;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy925:
+  yy1125:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy926;
+        goto yy1126;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy926:
+  yy1126:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy927;
+        goto yy1127;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy927:
+  yy1127:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy928;
+        goto yy1128;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy928:
+  yy1128:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy929;
+        goto yy1129;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy929:
+  yy1129:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy930;
+        goto yy1130;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy930:
+  yy1130:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy931;
+        goto yy1131;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy931:
+  yy1131:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy932;
+        goto yy1132;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy932:
+  yy1132:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy933;
+        goto yy1133;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy933:
+  yy1133:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy934;
+        goto yy1134;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy934:
+  yy1134:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy935;
+        goto yy1135;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy935:
+  yy1135:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy936;
+        goto yy1136;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy936:
+  yy1136:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy937;
+        goto yy1137;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy937:
+  yy1137:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy938;
+        goto yy1138;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
       if (yych <= 'Z') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
+          goto yy1104;
         if (yych >= '{')
-          goto yy895;
+          goto yy1104;
       }
     }
-  yy938:
+  yy1138:
+    yych = *++p;
+    if (yych == ';')
+      goto yy1107;
+    goto yy1104;
+  yy1139:
+    yych = *++p;
+    if (yych <= '@') {
+      if (yych <= '/')
+        goto yy1104;
+      if (yych <= '9')
+        goto yy1147;
+      goto yy1104;
+    } else {
+      if (yych <= 'F')
+        goto yy1147;
+      if (yych <= '`')
+        goto yy1104;
+      if (yych <= 'f')
+        goto yy1147;
+      goto yy1104;
+    }
+  yy1140:
+    yych = *++p;
+    if (yych <= '/')
+      goto yy1104;
+    if (yych <= '9')
+      goto yy1141;
+    if (yych == ';')
+      goto yy1107;
+    goto yy1104;
+  yy1141:
+    yych = *++p;
+    if (yych <= '/')
+      goto yy1104;
+    if (yych <= '9')
+      goto yy1142;
+    if (yych == ';')
+      goto yy1107;
+    goto yy1104;
+  yy1142:
+    yych = *++p;
+    if (yych <= '/')
+      goto yy1104;
+    if (yych <= '9')
+      goto yy1143;
+    if (yych == ';')
+      goto yy1107;
+    goto yy1104;
+  yy1143:
+    yych = *++p;
+    if (yych <= '/')
+      goto yy1104;
+    if (yych <= '9')
+      goto yy1144;
+    if (yych == ';')
+      goto yy1107;
+    goto yy1104;
+  yy1144:
+    yych = *++p;
+    if (yych <= '/')
+      goto yy1104;
+    if (yych <= '9')
+      goto yy1145;
+    if (yych == ';')
+      goto yy1107;
+    goto yy1104;
+  yy1145:
+    yych = *++p;
+    if (yych <= '/')
+      goto yy1104;
+    if (yych <= '9')
+      goto yy1146;
+    if (yych == ';')
+      goto yy1107;
+    goto yy1104;
+  yy1146:
+    yych = *++p;
+    if (yych <= '/')
+      goto yy1104;
+    if (yych <= '9')
+      goto yy1138;
+    if (yych == ';')
+      goto yy1107;
+    goto yy1104;
+  yy1147:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy939;
+        goto yy1148;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
-      if (yych <= 'Z') {
+      if (yych <= 'F') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych >= '{')
-          goto yy895;
+          goto yy1104;
+        if (yych >= 'g')
+          goto yy1104;
       }
     }
-  yy939:
+  yy1148:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy940;
+        goto yy1149;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
-      if (yych <= 'Z') {
+      if (yych <= 'F') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych >= '{')
-          goto yy895;
+          goto yy1104;
+        if (yych >= 'g')
+          goto yy1104;
       }
     }
-  yy940:
+  yy1149:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy941;
+        goto yy1150;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
-      if (yych <= 'Z') {
+      if (yych <= 'F') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych >= '{')
-          goto yy895;
+          goto yy1104;
+        if (yych >= 'g')
+          goto yy1104;
       }
     }
-  yy941:
+  yy1150:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy942;
+        goto yy1151;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
-      if (yych <= 'Z') {
+      if (yych <= 'F') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych >= '{')
-          goto yy895;
+          goto yy1104;
+        if (yych >= 'g')
+          goto yy1104;
       }
     }
-  yy942:
+  yy1151:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy943;
+        goto yy1152;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
-      if (yych <= 'Z') {
+      if (yych <= 'F') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych >= '{')
-          goto yy895;
+          goto yy1104;
+        if (yych >= 'g')
+          goto yy1104;
       }
     }
-  yy943:
+  yy1152:
     yych = *++p;
     if (yych <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy944;
+        goto yy1153;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
-      if (yych <= 'Z') {
+      if (yych <= 'F') {
         if (yych <= '@')
-          goto yy895;
+          goto yy1104;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych >= '{')
-          goto yy895;
+          goto yy1104;
+        if (yych >= 'g')
+          goto yy1104;
       }
     }
-  yy944:
+  yy1153:
     ++p;
     if ((yych = *p) <= ';') {
       if (yych <= '/')
-        goto yy895;
+        goto yy1104;
       if (yych <= '9')
-        goto yy920;
+        goto yy1138;
       if (yych <= ':')
-        goto yy895;
-      goto yy901;
+        goto yy1104;
+      goto yy1107;
     } else {
-      if (yych <= 'Z') {
+      if (yych <= 'F') {
         if (yych <= '@')
-          goto yy895;
-        goto yy920;
+          goto yy1104;
+        goto yy1138;
       } else {
         if (yych <= '`')
-          goto yy895;
-        if (yych <= 'z')
-          goto yy920;
-        goto yy895;
+          goto yy1104;
+        if (yych <= 'f')
+          goto yy1138;
+        goto yy1104;
       }
     }
   }
@@ -13846,304 +17336,335 @@ bufsize_t _scan_dangerous_url(const unsigned char *p) {
     if (yych <= 'V') {
       if (yych <= 'F') {
         if (yych == 'D')
-          goto yy949;
+          goto yy1158;
         if (yych >= 'F')
-          goto yy950;
+          goto yy1159;
       } else {
         if (yych == 'J')
-          goto yy951;
+          goto yy1160;
         if (yych >= 'V')
-          goto yy952;
+          goto yy1161;
       }
     } else {
       if (yych <= 'f') {
         if (yych == 'd')
-          goto yy949;
+          goto yy1158;
         if (yych >= 'f')
-          goto yy950;
+          goto yy1159;
       } else {
         if (yych <= 'j') {
           if (yych >= 'j')
-            goto yy951;
+            goto yy1160;
         } else {
           if (yych == 'v')
-            goto yy952;
+            goto yy1161;
         }
       }
     }
     ++p;
-  yy948 : { return 0; }
-  yy949:
+  yy1157 : { return 0; }
+  yy1158:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych == 'A')
-      goto yy953;
+      goto yy1184;
     if (yych == 'a')
-      goto yy953;
-    goto yy948;
-  yy950:
+      goto yy1184;
+    goto yy1157;
+  yy1159:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych == 'I')
-      goto yy955;
+      goto yy1181;
     if (yych == 'i')
-      goto yy955;
-    goto yy948;
-  yy951:
+      goto yy1181;
+    goto yy1157;
+  yy1160:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych == 'A')
-      goto yy956;
+      goto yy1172;
     if (yych == 'a')
-      goto yy956;
-    goto yy948;
-  yy952:
+      goto yy1172;
+    goto yy1157;
+  yy1161:
     yyaccept = 0;
     yych = *(marker = ++p);
     if (yych == 'B')
-      goto yy957;
-    if (yych == 'b')
-      goto yy957;
-    goto yy948;
-  yy953:
+      goto yy1162;
+    if (yych != 'b')
+      goto yy1157;
+  yy1162:
     yych = *++p;
-    if (yych == 'T')
-      goto yy958;
-    if (yych == 't')
-      goto yy958;
-  yy954:
+    if (yych == 'S')
+      goto yy1164;
+    if (yych == 's')
+      goto yy1164;
+  yy1163:
     p = marker;
     if (yyaccept == 0) {
-      goto yy948;
+      goto yy1157;
     } else {
-      goto yy966;
+      goto yy1171;
     }
-  yy955:
+  yy1164:
     yych = *++p;
-    if (yych == 'L')
-      goto yy959;
-    if (yych == 'l')
-      goto yy959;
-    goto yy954;
-  yy956:
+    if (yych == 'C')
+      goto yy1165;
+    if (yych != 'c')
+      goto yy1163;
+  yy1165:
     yych = *++p;
-    if (yych == 'V')
-      goto yy960;
-    if (yych == 'v')
-      goto yy960;
-    goto yy954;
-  yy957:
+    if (yych == 'R')
+      goto yy1166;
+    if (yych != 'r')
+      goto yy1163;
+  yy1166:
     yych = *++p;
-    if (yych == 'S')
-      goto yy961;
-    if (yych == 's')
-      goto yy961;
-    goto yy954;
-  yy958:
+    if (yych == 'I')
+      goto yy1167;
+    if (yych != 'i')
+      goto yy1163;
+  yy1167:
     yych = *++p;
-    if (yych == 'A')
-      goto yy962;
-    if (yych == 'a')
-      goto yy962;
-    goto yy954;
-  yy959:
+    if (yych == 'P')
+      goto yy1168;
+    if (yych != 'p')
+      goto yy1163;
+  yy1168:
     yych = *++p;
-    if (yych == 'E')
-      goto yy963;
-    if (yych == 'e')
-      goto yy963;
-    goto yy954;
-  yy960:
+    if (yych == 'T')
+      goto yy1169;
+    if (yych != 't')
+      goto yy1163;
+  yy1169:
+    yych = *++p;
+    if (yych != ':')
+      goto yy1163;
+  yy1170:
+    ++p;
+  yy1171 : { return (bufsize_t)(p - start); }
+  yy1172:
+    yych = *++p;
+    if (yych == 'V')
+      goto yy1173;
+    if (yych != 'v')
+      goto yy1163;
+  yy1173:
     yych = *++p;
     if (yych == 'A')
-      goto yy957;
-    if (yych == 'a')
-      goto yy957;
-    goto yy954;
-  yy961:
+      goto yy1174;
+    if (yych != 'a')
+      goto yy1163;
+  yy1174:
+    yych = *++p;
+    if (yych == 'S')
+      goto yy1175;
+    if (yych != 's')
+      goto yy1163;
+  yy1175:
     yych = *++p;
     if (yych == 'C')
-      goto yy964;
-    if (yych == 'c')
-      goto yy964;
-    goto yy954;
-  yy962:
+      goto yy1176;
+    if (yych != 'c')
+      goto yy1163;
+  yy1176:
+    yych = *++p;
+    if (yych == 'R')
+      goto yy1177;
+    if (yych != 'r')
+      goto yy1163;
+  yy1177:
+    yych = *++p;
+    if (yych == 'I')
+      goto yy1178;
+    if (yych != 'i')
+      goto yy1163;
+  yy1178:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy1179;
+    if (yych != 'p')
+      goto yy1163;
+  yy1179:
+    yych = *++p;
+    if (yych == 'T')
+      goto yy1180;
+    if (yych != 't')
+      goto yy1163;
+  yy1180:
     yych = *++p;
     if (yych == ':')
-      goto yy965;
-    goto yy954;
-  yy963:
+      goto yy1170;
+    goto yy1163;
+  yy1181:
+    yych = *++p;
+    if (yych == 'L')
+      goto yy1182;
+    if (yych != 'l')
+      goto yy1163;
+  yy1182:
+    yych = *++p;
+    if (yych == 'E')
+      goto yy1183;
+    if (yych != 'e')
+      goto yy1163;
+  yy1183:
     yych = *++p;
     if (yych == ':')
-      goto yy967;
-    goto yy954;
-  yy964:
+      goto yy1170;
+    goto yy1163;
+  yy1184:
     yych = *++p;
-    if (yych == 'R')
-      goto yy968;
-    if (yych == 'r')
-      goto yy968;
-    goto yy954;
-  yy965:
-    yyaccept = 1;
-    yych = *(marker = ++p);
-    if (yych == 'I')
-      goto yy969;
-    if (yych == 'i')
-      goto yy969;
-  yy966 : { return (bufsize_t)(p - start); }
-  yy967:
+    if (yych == 'T')
+      goto yy1185;
+    if (yych != 't')
+      goto yy1163;
+  yy1185:
     yych = *++p;
-    goto yy966;
-  yy968:
+    if (yych == 'A')
+      goto yy1186;
+    if (yych != 'a')
+      goto yy1163;
+  yy1186:
     yych = *++p;
+    if (yych != ':')
+      goto yy1163;
+    yyaccept = 1;
+    yych = *(marker = ++p);
     if (yych == 'I')
-      goto yy970;
-    if (yych == 'i')
-      goto yy970;
-    goto yy954;
-  yy969:
+      goto yy1188;
+    if (yych != 'i')
+      goto yy1171;
+  yy1188:
     yych = *++p;
     if (yych == 'M')
-      goto yy971;
-    if (yych == 'm')
-      goto yy971;
-    goto yy954;
-  yy970:
-    yych = *++p;
-    if (yych == 'P')
-      goto yy972;
-    if (yych == 'p')
-      goto yy972;
-    goto yy954;
-  yy971:
+      goto yy1189;
+    if (yych != 'm')
+      goto yy1163;
+  yy1189:
     yych = *++p;
     if (yych == 'A')
-      goto yy973;
-    if (yych == 'a')
-      goto yy973;
-    goto yy954;
-  yy972:
-    yych = *++p;
-    if (yych == 'T')
-      goto yy963;
-    if (yych == 't')
-      goto yy963;
-    goto yy954;
-  yy973:
+      goto yy1190;
+    if (yych != 'a')
+      goto yy1163;
+  yy1190:
     yych = *++p;
     if (yych == 'G')
-      goto yy974;
+      goto yy1191;
     if (yych != 'g')
-      goto yy954;
-  yy974:
+      goto yy1163;
+  yy1191:
     yych = *++p;
     if (yych == 'E')
-      goto yy975;
+      goto yy1192;
     if (yych != 'e')
-      goto yy954;
-  yy975:
+      goto yy1163;
+  yy1192:
     yych = *++p;
     if (yych != '/')
-      goto yy954;
+      goto yy1163;
     yych = *++p;
     if (yych <= 'W') {
       if (yych <= 'J') {
         if (yych == 'G')
-          goto yy977;
+          goto yy1195;
         if (yych <= 'I')
-          goto yy954;
-        goto yy978;
+          goto yy1163;
+        goto yy1196;
       } else {
         if (yych == 'P')
-          goto yy979;
+          goto yy1194;
         if (yych <= 'V')
-          goto yy954;
-        goto yy980;
+          goto yy1163;
+        goto yy1197;
       }
     } else {
       if (yych <= 'j') {
         if (yych == 'g')
-          goto yy977;
+          goto yy1195;
         if (yych <= 'i')
-          goto yy954;
-        goto yy978;
+          goto yy1163;
+        goto yy1196;
       } else {
         if (yych <= 'p') {
           if (yych <= 'o')
-            goto yy954;
-          goto yy979;
+            goto yy1163;
         } else {
           if (yych == 'w')
-            goto yy980;
-          goto yy954;
+            goto yy1197;
+          goto yy1163;
         }
       }
     }
-  yy977:
+  yy1194:
+    yych = *++p;
+    if (yych == 'N')
+      goto yy1205;
+    if (yych == 'n')
+      goto yy1205;
+    goto yy1163;
+  yy1195:
     yych = *++p;
     if (yych == 'I')
-      goto yy981;
+      goto yy1204;
     if (yych == 'i')
-      goto yy981;
-    goto yy954;
-  yy978:
+      goto yy1204;
+    goto yy1163;
+  yy1196:
     yych = *++p;
     if (yych == 'P')
-      goto yy982;
+      goto yy1202;
     if (yych == 'p')
-      goto yy982;
-    goto yy954;
-  yy979:
-    yych = *++p;
-    if (yych == 'N')
-      goto yy983;
-    if (yych == 'n')
-      goto yy983;
-    goto yy954;
-  yy980:
+      goto yy1202;
+    goto yy1163;
+  yy1197:
     yych = *++p;
     if (yych == 'E')
-      goto yy984;
-    if (yych == 'e')
-      goto yy984;
-    goto yy954;
-  yy981:
+      goto yy1198;
+    if (yych != 'e')
+      goto yy1163;
+  yy1198:
     yych = *++p;
-    if (yych == 'F')
-      goto yy985;
-    if (yych == 'f')
-      goto yy985;
-    goto yy954;
-  yy982:
+    if (yych == 'B')
+      goto yy1199;
+    if (yych != 'b')
+      goto yy1163;
+  yy1199:
+    yych = *++p;
+    if (yych == 'P')
+      goto yy1200;
+    if (yych != 'p')
+      goto yy1163;
+  yy1200:
+    ++p;
+    { return 0; }
+  yy1202:
     yych = *++p;
     if (yych == 'E')
-      goto yy983;
+      goto yy1203;
     if (yych != 'e')
-      goto yy954;
-  yy983:
+      goto yy1163;
+  yy1203:
     yych = *++p;
     if (yych == 'G')
-      goto yy985;
+      goto yy1200;
     if (yych == 'g')
-      goto yy985;
-    goto yy954;
-  yy984:
+      goto yy1200;
+    goto yy1163;
+  yy1204:
     yych = *++p;
-    if (yych == 'B')
-      goto yy987;
-    if (yych == 'b')
-      goto yy987;
-    goto yy954;
-  yy985:
-    ++p;
-    { return 0; }
-  yy987:
+    if (yych == 'F')
+      goto yy1200;
+    if (yych == 'f')
+      goto yy1200;
+    goto yy1163;
+  yy1205:
     ++p;
-    if ((yych = *p) == 'P')
-      goto yy985;
-    if (yych == 'p')
-      goto yy985;
-    goto yy954;
+    if ((yych = *p) == 'G')
+      goto yy1200;
+    if (yych == 'g')
+      goto yy1200;
+    goto yy1163;
   }
 }
diff --git a/src/scanners.re b/src/scanners.re
@@ -91,7 +91,7 @@ bufsize_t _scan_autolink_uri(const unsigned char *p)
   const unsigned char *marker = NULL;
   const unsigned char *start = p;
 /*!re2c
-  scheme [:][^\x00-\x20<>]*[>]  { return (bufsize_t)(p - start); }
+  scheme [:][^\x00-\x20>]*[>]  { return (bufsize_t)(p - start); }
   * { return 0; }
 */
 }
diff --git a/test/regression.txt b/test/regression.txt
@@ -74,3 +74,13 @@ a***b* c*
 <p>a*<em><em>b</em> c</em></p>
 ````````````````````````````````
 
+Issue #193 - unescaped left angle brackets in link destination
+
+```````````````````````````````` example
+[a]
+
+[a]: <te<st>
+.
+<p><a href="te%3Cst">a</a></p>
+````````````````````````````````
+