]> granicus.if.org Git - multimarkdown/commitdiff
CHANGED: Improve flexibility of HTML Comment parsing (Addresses #25)
authorFletcher T. Penney <fletcher@fletcherpenney.net>
Tue, 2 May 2017 01:06:11 +0000 (21:06 -0400)
committerFletcher T. Penney <fletcher@fletcherpenney.net>
Tue, 2 May 2017 01:07:07 +0000 (21:07 -0400)
29 files changed:
Sources/libMultiMarkdown/html.c
Sources/libMultiMarkdown/include/libMultiMarkdown.h
Sources/libMultiMarkdown/latex.c
Sources/libMultiMarkdown/lexer.c
Sources/libMultiMarkdown/lexer.re
Sources/libMultiMarkdown/mmd.c
Sources/libMultiMarkdown/mmd.h
Sources/libMultiMarkdown/odf.c
Sources/libMultiMarkdown/parser.c
Sources/libMultiMarkdown/parser.h
Sources/libMultiMarkdown/parser.out
Sources/libMultiMarkdown/parser.y
Sources/libMultiMarkdown/scanners.c
Sources/libMultiMarkdown/scanners.re
tests/MMD6Tests/HTML Blocks.fodt
tests/MMD6Tests/HTML Blocks.html
tests/MMD6Tests/HTML Blocks.htmlc
tests/MMD6Tests/HTML Blocks.tex
tests/MMD6Tests/HTML Blocks.text
tests/MMD6Tests/HTML Comments.fodt [new file with mode: 0644]
tests/MMD6Tests/HTML Comments.html [new file with mode: 0644]
tests/MMD6Tests/HTML Comments.htmlc [new file with mode: 0644]
tests/MMD6Tests/HTML Comments.tex [new file with mode: 0644]
tests/MMD6Tests/HTML Comments.text [new file with mode: 0644]
tests/MMD6Tests/HTML Inline.fodt
tests/MMD6Tests/HTML Inline.html
tests/MMD6Tests/HTML Inline.htmlc
tests/MMD6Tests/HTML Inline.tex
tests/MMD6Tests/HTML Inline.text

index 69c0be5a077647f85b2889bae9ee571bae90948f..c967d54dc41073142ad07d055a5db7a6722dba29 100644 (file)
@@ -945,6 +945,22 @@ void mmd_export_token_html(DString * out, const char * source, token * t, scratc
                case HASH6:
                        print_token(t);
                        break;
+               case HTML_COMMENT_START:
+                       if (!(scratch->extensions & EXT_SMART)) {
+                               print_const("&lt;!--");
+                       } else {
+                               print_const("&lt;!");
+                               print_localized(DASH_N);
+                       }
+                       break;
+               case HTML_COMMENT_STOP:
+                       if (!(scratch->extensions & EXT_SMART)) {
+                               print_const("--&gt;");
+                       } else {
+                               print_localized(DASH_N);
+                               print_const("&gt;");
+                       }
+                       break;
                case INDENT_SPACE:
                        print_char(' ');
                        break;
@@ -1489,6 +1505,9 @@ void mmd_export_token_html(DString * out, const char * source, token * t, scratc
                                mmd_export_token_tree_html(out, source, t->child, scratch);
                        }
                        break;
+               case PAIR_HTML_COMMENT:
+                       print_token(t);
+                       break;
                case PAIR_MATH:
                case PAIR_PAREN:
                case PAIR_QUOTE_DOUBLE:
index 0892aa3f6495d2836cb8baeb3d6b142a797858b4..2950a1aaab96ea97cde2631528443648c5d834e5 100644 (file)
@@ -256,6 +256,10 @@ enum token_types {
 
        ESCAPED_CHARACTER,
 
+       HTML_COMMENT_START,
+       HTML_COMMENT_STOP,
+       PAIR_HTML_COMMENT,
+       
        MATH_PAREN_OPEN,
        MATH_PAREN_CLOSE,
        MATH_BRACKET_OPEN,
index ce547a7228fc35b1826ccaa49f08d64beb8785e6..d223df6b9034fca75a42aa2af3a3955ba9e9de84 100644 (file)
@@ -877,6 +877,22 @@ void mmd_export_token_latex(DString * out, const char * source, token * t, scrat
                                }
                        }
                        break;
+               case HTML_COMMENT_START:
+                       if (!(scratch->extensions & EXT_SMART)) {
+                               print_const("<!--");
+                       } else {
+                               print_const("<!");
+                               print_localized(DASH_N);
+                       }
+                       break;
+               case HTML_COMMENT_STOP:
+                       if (!(scratch->extensions & EXT_SMART)) {
+                               print_const("-->");
+                       } else {
+                               print_localized(DASH_N);
+                               print_const(">");
+                       }
+                       break;
                case INDENT_SPACE:
                        print_char(' ');
                        break;
@@ -1414,6 +1430,8 @@ void mmd_export_token_latex(DString * out, const char * source, token * t, scrat
                                mmd_export_token_tree_latex(out, source, t->child, scratch);
                        }
                        break;
+               case PAIR_HTML_COMMENT:
+                       break;
                case PAIR_MATH:
                        if (strncmp(&source[t->child->start + t->child->len], "\\begin", 6) != 0)
                                mmd_export_token_latex(out, source, t->child, scratch);
index c4122ef0afe398a610b69bc641506bdd234ef051..31657277c6edda65dee65038cd9ae74a7482d13c 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.14.3 on Wed Mar 29 19:16:39 2017 */
+/* Generated by re2c 0.14.3 on Mon May  1 09:51:46 2017 */
 /**
 
        MultiMarkdown 6 -- Lightweight markup processor to produce HTML, LaTeX, and more.
@@ -284,18 +284,18 @@ yy2:
        case 14:        goto yy128;
        case 15:        goto yy135;
        case 16:        goto yy145;
-       default:        goto yy280;
+       default:        goto yy286;
        }
 yy3:
        yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case '+':       goto yy285;
-       case '-':       goto yy284;
-       case '=':       goto yy281;
-       case '>':       goto yy283;
-       case '{':       goto yy279;
-       case '~':       goto yy282;
+       case '+':       goto yy291;
+       case '-':       goto yy290;
+       case '=':       goto yy287;
+       case '>':       goto yy289;
+       case '{':       goto yy285;
+       case '~':       goto yy288;
        default:        goto yy4;
        }
 yy4:
@@ -304,7 +304,7 @@ yy5:
        yyaccept = 1;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case '+':       goto yy276;
+       case '+':       goto yy282;
        default:        goto yy6;
        }
 yy6:
@@ -312,7 +312,7 @@ yy6:
 yy7:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '-':       goto yy270;
+       case '-':       goto yy274;
        default:        goto yy8;
        }
 yy8:
@@ -321,7 +321,8 @@ yy9:
        yyaccept = 2;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case '<':       goto yy267;
+       case '!':       goto yy267;
+       case '<':       goto yy268;
        default:        goto yy10;
        }
 yy10:
@@ -1602,115 +1603,134 @@ yy265:
 yy267:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '}':       goto yy268;
+       case '-':       goto yy271;
        default:        goto yy2;
        }
 yy268:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '}':       goto yy269;
+       default:        goto yy2;
+       }
+yy269:
        ++YYCURSOR;
        { return CRITIC_COM_CLOSE; }
-yy270:
+yy271:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '-':       goto yy272;
+       default:        goto yy2;
+       }
+yy272:
+       ++YYCURSOR;
+       { return HTML_COMMENT_START; }
+yy274:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '-':       goto yy274;
-       case '}':       goto yy272;
-       default:        goto yy271;
+       case '-':       goto yy280;
+       case '>':       goto yy278;
+       case '}':       goto yy276;
+       default:        goto yy275;
        }
-yy271:
+yy275:
        { return DASH_N; }
-yy272:
+yy276:
        ++YYCURSOR;
        { return CRITIC_DEL_CLOSE; }
-yy274:
+yy278:
+       ++YYCURSOR;
+       { return HTML_COMMENT_STOP; }
+yy280:
        ++YYCURSOR;
        { return DASH_M; }
-yy276:
+yy282:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '}':       goto yy277;
+       case '}':       goto yy283;
        default:        goto yy2;
        }
-yy277:
+yy283:
        ++YYCURSOR;
        { return CRITIC_ADD_CLOSE; }
-yy279:
+yy285:
        yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case 'T':       goto yy296;
-       default:        goto yy280;
+       case 'T':       goto yy302;
+       default:        goto yy286;
        }
-yy280:
+yy286:
        { return BRACE_DOUBLE_LEFT; }
-yy281:
+yy287:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '=':       goto yy294;
+       case '=':       goto yy300;
        default:        goto yy2;
        }
-yy282:
+yy288:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '~':       goto yy292;
+       case '~':       goto yy298;
        default:        goto yy2;
        }
-yy283:
+yy289:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '>':       goto yy290;
+       case '>':       goto yy296;
        default:        goto yy2;
        }
-yy284:
+yy290:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '-':       goto yy288;
+       case '-':       goto yy294;
        default:        goto yy2;
        }
-yy285:
+yy291:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '+':       goto yy286;
+       case '+':       goto yy292;
        default:        goto yy2;
        }
-yy286:
+yy292:
        ++YYCURSOR;
        { return CRITIC_ADD_OPEN; }
-yy288:
+yy294:
        ++YYCURSOR;
        { return CRITIC_DEL_OPEN; }
-yy290:
+yy296:
        ++YYCURSOR;
        { return CRITIC_COM_OPEN; }
-yy292:
+yy298:
        ++YYCURSOR;
        { return CRITIC_SUB_OPEN; }
-yy294:
+yy300:
        ++YYCURSOR;
        { return CRITIC_HI_OPEN; }
-yy296:
+yy302:
        yych = *++YYCURSOR;
        switch (yych) {
-       case 'O':       goto yy297;
+       case 'O':       goto yy303;
        default:        goto yy2;
        }
-yy297:
+yy303:
        yych = *++YYCURSOR;
        switch (yych) {
-       case 'C':       goto yy298;
+       case 'C':       goto yy304;
        default:        goto yy2;
        }
-yy298:
+yy304:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '}':       goto yy299;
+       case '}':       goto yy305;
        default:        goto yy2;
        }
-yy299:
+yy305:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '}':       goto yy300;
+       case '}':       goto yy306;
        default:        goto yy2;
        }
-yy300:
+yy306:
        ++YYCURSOR;
        { return TOC; }
 }
index b8c31018a35eee876b92ac2eeb5c483a99f8f3e7..ff9292218014cf3a654a83a78d49aeac87f8fcb1 100644 (file)
@@ -126,6 +126,9 @@ int scan(Scanner * s, const char * stop) {
                "("                                                             { return PAREN_LEFT; }
                ")"                                                             { return PAREN_RIGHT; }
 
+               "<!--"                                                  { return HTML_COMMENT_START; }
+               "-->"                                                   { return HTML_COMMENT_STOP; }
+
                "<"                                                             { return ANGLE_LEFT; }
                ">"                                                             { return ANGLE_RIGHT; }
 
index a3ec204714a3c569b38cd447835e5277814dc115..399d0c209ccebb6d35cb407576328234cb15628e 100644 (file)
@@ -114,6 +114,7 @@ mmd_engine * mmd_engine_create(DString * d, unsigned long extensions) {
                e->pairings1 = token_pair_engine_new();
                e->pairings2 = token_pair_engine_new();
                e->pairings3 = token_pair_engine_new();
+               e->pairings4 = token_pair_engine_new();
 
                // CriticMarkup
                if (extensions & EXT_CRITIC) {
@@ -125,51 +126,54 @@ mmd_engine * mmd_engine_create(DString * d, unsigned long extensions) {
                        token_pair_engine_add_pairing(e->pairings1, CRITIC_HI_OPEN, CRITIC_HI_CLOSE, PAIR_CRITIC_HI, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
                }
 
+               // HTML Comments
+               token_pair_engine_add_pairing(e->pairings2, HTML_COMMENT_START, HTML_COMMENT_STOP, PAIR_HTML_COMMENT, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+
                // Brackets, Parentheses, Angles
-               token_pair_engine_add_pairing(e->pairings2, BRACKET_LEFT, BRACKET_RIGHT, PAIR_BRACKET, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+               token_pair_engine_add_pairing(e->pairings3, BRACKET_LEFT, BRACKET_RIGHT, PAIR_BRACKET, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
 
                if (extensions & EXT_NOTES) {
-                       token_pair_engine_add_pairing(e->pairings2, BRACKET_CITATION_LEFT, BRACKET_RIGHT, PAIR_BRACKET_CITATION, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
-                       token_pair_engine_add_pairing(e->pairings2, BRACKET_FOOTNOTE_LEFT, BRACKET_RIGHT, PAIR_BRACKET_FOOTNOTE, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
-                       token_pair_engine_add_pairing(e->pairings2, BRACKET_GLOSSARY_LEFT, BRACKET_RIGHT, PAIR_BRACKET_GLOSSARY, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
-                       token_pair_engine_add_pairing(e->pairings2, BRACKET_ABBREVIATION_LEFT, BRACKET_RIGHT, PAIR_BRACKET_ABBREVIATION, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+                       token_pair_engine_add_pairing(e->pairings3, BRACKET_CITATION_LEFT, BRACKET_RIGHT, PAIR_BRACKET_CITATION, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+                       token_pair_engine_add_pairing(e->pairings3, BRACKET_FOOTNOTE_LEFT, BRACKET_RIGHT, PAIR_BRACKET_FOOTNOTE, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+                       token_pair_engine_add_pairing(e->pairings3, BRACKET_GLOSSARY_LEFT, BRACKET_RIGHT, PAIR_BRACKET_GLOSSARY, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+                       token_pair_engine_add_pairing(e->pairings3, BRACKET_ABBREVIATION_LEFT, BRACKET_RIGHT, PAIR_BRACKET_ABBREVIATION, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
                } else {
-                       token_pair_engine_add_pairing(e->pairings2, BRACKET_CITATION_LEFT, BRACKET_RIGHT, PAIR_BRACKET, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
-                       token_pair_engine_add_pairing(e->pairings2, BRACKET_FOOTNOTE_LEFT, BRACKET_RIGHT, PAIR_BRACKET, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
-                       token_pair_engine_add_pairing(e->pairings2, BRACKET_GLOSSARY_LEFT, BRACKET_RIGHT, PAIR_BRACKET, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
-                       token_pair_engine_add_pairing(e->pairings2, BRACKET_ABBREVIATION_LEFT, BRACKET_RIGHT, PAIR_BRACKET, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+                       token_pair_engine_add_pairing(e->pairings3, BRACKET_CITATION_LEFT, BRACKET_RIGHT, PAIR_BRACKET, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+                       token_pair_engine_add_pairing(e->pairings3, BRACKET_FOOTNOTE_LEFT, BRACKET_RIGHT, PAIR_BRACKET, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+                       token_pair_engine_add_pairing(e->pairings3, BRACKET_GLOSSARY_LEFT, BRACKET_RIGHT, PAIR_BRACKET, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+                       token_pair_engine_add_pairing(e->pairings3, BRACKET_ABBREVIATION_LEFT, BRACKET_RIGHT, PAIR_BRACKET, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
                }
                
-               token_pair_engine_add_pairing(e->pairings2, BRACKET_VARIABLE_LEFT, BRACKET_RIGHT, PAIR_BRACKET_VARIABLE, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+               token_pair_engine_add_pairing(e->pairings3, BRACKET_VARIABLE_LEFT, BRACKET_RIGHT, PAIR_BRACKET_VARIABLE, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
 
-               token_pair_engine_add_pairing(e->pairings2, BRACKET_IMAGE_LEFT, BRACKET_RIGHT, PAIR_BRACKET_IMAGE, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
-               token_pair_engine_add_pairing(e->pairings2, PAREN_LEFT, PAREN_RIGHT, PAIR_PAREN, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
-               token_pair_engine_add_pairing(e->pairings2, ANGLE_LEFT, ANGLE_RIGHT, PAIR_ANGLE, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
-               token_pair_engine_add_pairing(e->pairings2, BRACE_DOUBLE_LEFT, BRACE_DOUBLE_RIGHT, PAIR_BRACES, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+               token_pair_engine_add_pairing(e->pairings3, BRACKET_IMAGE_LEFT, BRACKET_RIGHT, PAIR_BRACKET_IMAGE, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+               token_pair_engine_add_pairing(e->pairings3, PAREN_LEFT, PAREN_RIGHT, PAIR_PAREN, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+               token_pair_engine_add_pairing(e->pairings3, ANGLE_LEFT, ANGLE_RIGHT, PAIR_ANGLE, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+               token_pair_engine_add_pairing(e->pairings3, BRACE_DOUBLE_LEFT, BRACE_DOUBLE_RIGHT, PAIR_BRACES, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
 
                // Strong/Emph
-               token_pair_engine_add_pairing(e->pairings3, STAR, STAR, PAIR_STAR, 0);
-               token_pair_engine_add_pairing(e->pairings3, UL, UL, PAIR_UL, 0);
+               token_pair_engine_add_pairing(e->pairings4, STAR, STAR, PAIR_STAR, 0);
+               token_pair_engine_add_pairing(e->pairings4, UL, UL, PAIR_UL, 0);
 
                // Quotes and Backticks
-               token_pair_engine_add_pairing(e->pairings2, BACKTICK, BACKTICK, PAIR_BACKTICK, PAIRING_PRUNE_MATCH | PAIRING_MATCH_LENGTH);
+               token_pair_engine_add_pairing(e->pairings3, BACKTICK, BACKTICK, PAIR_BACKTICK, PAIRING_PRUNE_MATCH | PAIRING_MATCH_LENGTH);
 
-               token_pair_engine_add_pairing(e->pairings3, BACKTICK,   QUOTE_RIGHT_ALT,   PAIR_QUOTE_ALT, PAIRING_ALLOW_EMPTY | PAIRING_MATCH_LENGTH);
-               token_pair_engine_add_pairing(e->pairings3, QUOTE_SINGLE, QUOTE_SINGLE, PAIR_QUOTE_SINGLE, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
-               token_pair_engine_add_pairing(e->pairings3, QUOTE_DOUBLE, QUOTE_DOUBLE, PAIR_QUOTE_DOUBLE, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+               token_pair_engine_add_pairing(e->pairings4, BACKTICK,   QUOTE_RIGHT_ALT,   PAIR_QUOTE_ALT, PAIRING_ALLOW_EMPTY | PAIRING_MATCH_LENGTH);
+               token_pair_engine_add_pairing(e->pairings4, QUOTE_SINGLE, QUOTE_SINGLE, PAIR_QUOTE_SINGLE, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+               token_pair_engine_add_pairing(e->pairings4, QUOTE_DOUBLE, QUOTE_DOUBLE, PAIR_QUOTE_DOUBLE, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
 
                // Math
                if (!(extensions & EXT_COMPATIBILITY)) {
-                       token_pair_engine_add_pairing(e->pairings2, MATH_PAREN_OPEN, MATH_PAREN_CLOSE, PAIR_MATH, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
-                       token_pair_engine_add_pairing(e->pairings2, MATH_BRACKET_OPEN, MATH_BRACKET_CLOSE, PAIR_MATH, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
-                       token_pair_engine_add_pairing(e->pairings2, MATH_DOLLAR_SINGLE, MATH_DOLLAR_SINGLE, PAIR_MATH, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
-                       token_pair_engine_add_pairing(e->pairings2, MATH_DOLLAR_DOUBLE, MATH_DOLLAR_DOUBLE, PAIR_MATH, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+                       token_pair_engine_add_pairing(e->pairings3, MATH_PAREN_OPEN, MATH_PAREN_CLOSE, PAIR_MATH, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+                       token_pair_engine_add_pairing(e->pairings3, MATH_BRACKET_OPEN, MATH_BRACKET_CLOSE, PAIR_MATH, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+                       token_pair_engine_add_pairing(e->pairings3, MATH_DOLLAR_SINGLE, MATH_DOLLAR_SINGLE, PAIR_MATH, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
+                       token_pair_engine_add_pairing(e->pairings3, MATH_DOLLAR_DOUBLE, MATH_DOLLAR_DOUBLE, PAIR_MATH, PAIRING_ALLOW_EMPTY | PAIRING_PRUNE_MATCH);
                }
        
                // Superscript/Subscript
                if (!(extensions & EXT_COMPATIBILITY)) {
-                       token_pair_engine_add_pairing(e->pairings3, SUPERSCRIPT, SUPERSCRIPT, PAIR_SUPERSCRIPT, 0);
-                       token_pair_engine_add_pairing(e->pairings3, SUBSCRIPT, SUBSCRIPT, PAIR_SUPERSCRIPT, 0);
+                       token_pair_engine_add_pairing(e->pairings4, SUPERSCRIPT, SUPERSCRIPT, PAIR_SUPERSCRIPT, 0);
+                       token_pair_engine_add_pairing(e->pairings4, SUBSCRIPT, SUBSCRIPT, PAIR_SUPERSCRIPT, 0);
                }
 
        }
@@ -282,9 +286,9 @@ void mmd_engine_free(mmd_engine * e, bool freeDString) {
                d_string_free(e->dstr, true);
 
        token_pair_engine_free(e->pairings1);
-       
        token_pair_engine_free(e->pairings2);
        token_pair_engine_free(e->pairings3);
+       token_pair_engine_free(e->pairings4);
 
        // Pointers to blocks that are freed elsewhere
        stack_free(e->definition_stack);
@@ -452,6 +456,18 @@ void mmd_assign_line_type(mmd_engine * e, token * line) {
                                line->type = LINE_PLAIN;
                        }
                        break;
+               case HTML_COMMENT_START:
+                       if (!line->child->next || !line->child->next->next)
+                               line->type = LINE_START_COMMENT;
+                       else
+                               line->type = LINE_PLAIN;
+                       break;
+               case HTML_COMMENT_STOP:
+                       if (!line->child->next || !line->child->next->next)
+                               line->type = LINE_STOP_COMMENT;
+                       else
+                               line->type = LINE_PLAIN;
+                       break;
                case TEXT_NUMBER_POSS_LIST:
                        switch(source[line->child->next->start]) {
                                case ' ':
@@ -1504,17 +1520,16 @@ void is_para_html(mmd_engine * e, token * block) {
                return;
        token * t = block->child->child;
 
-       if (t->type != ANGLE_LEFT)
-               return;
-
-       if (scan_html_block(&(e->dstr->str[t->start]))) {
-               block->type = BLOCK_HTML;
-               return;
-       }       
+       if (t->type == ANGLE_LEFT || t->type == HTML_COMMENT_START) {
+               if (scan_html_block(&(e->dstr->str[t->start]))) {
+                       block->type = BLOCK_HTML;
+                       return;
+               }       
 
-       if (scan_html_line(&(e->dstr->str[t->start]))) {
-               block->type = BLOCK_HTML;
-               return;
+               if (scan_html_line(&(e->dstr->str[t->start]))) {
+                       block->type = BLOCK_HTML;
+                       return;
+               }
        }
 }
 
@@ -1759,6 +1774,8 @@ void strip_line_tokens_from_block(mmd_engine * e, token * block) {
                        case LINE_LIST_ENUMERATED:
                        case LINE_META:
                        case LINE_PLAIN:
+                       case LINE_START_COMMENT:
+                       case LINE_STOP_COMMENT:
                                handle_line:
                                // Remove leading non-indent space from line
                                if (l->child && l->child->type == NON_INDENT_SPACE)
@@ -1865,6 +1882,7 @@ token * mmd_engine_parse_substring(mmd_engine * e, size_t byte_start, size_t byt
                mmd_pair_tokens_in_block(doc, e->pairings1, pair_stack);
                mmd_pair_tokens_in_block(doc, e->pairings2, pair_stack);
                mmd_pair_tokens_in_block(doc, e->pairings3, pair_stack);
+               mmd_pair_tokens_in_block(doc, e->pairings4, pair_stack);
 
                // Free stack
                stack_free(pair_stack);
index 03ac7f7a9c575e49b7ce6000822579075a14fa6c..8ba2ff13516d960c9f1fccaa6b69011e90b9b9cf 100644 (file)
@@ -78,6 +78,7 @@ struct mmd_engine {
        token_pair_engine *             pairings1;
        token_pair_engine *             pairings2;
        token_pair_engine *             pairings3;
+       token_pair_engine *             pairings4;
 
        stack *                                 abbreviation_stack;
        stack *                                 citation_stack;
index 881bbe188c5b0e381145ed9b86a350b336c8bef2..132efd0b8eb19d5106edeecfba53fe413b79e899 100644 (file)
@@ -803,6 +803,22 @@ void mmd_export_token_odf(DString * out, const char * source, token * t, scratch
                case HASH6:
                        print_token(t);
                        break;
+               case HTML_COMMENT_START:
+                       if (!(scratch->extensions & EXT_SMART)) {
+                               print_const("&lt;!--");
+                       } else {
+                               print_const("&lt;!");
+                               print_localized(DASH_N);
+                       }
+                       break;
+               case HTML_COMMENT_STOP:
+                       if (!(scratch->extensions & EXT_SMART)) {
+                               print_const("--&gt;");
+                       } else {
+                               print_localized(DASH_N);
+                               print_const("&gt;");
+                       }
+                       break;
                case INDENT_SPACE:
                        print_char(' ');
                        break;
@@ -1366,6 +1382,8 @@ void mmd_export_token_odf(DString * out, const char * source, token * t, scratch
                                mmd_export_token_tree_odf(out, source, t->child, scratch);
                        }
                        break;
+               case PAIR_HTML_COMMENT:
+                       break;
                case PAIR_MATH:
                case PAIR_PAREN:
                case PAIR_QUOTE_DOUBLE:
index c60f67df231a69154fb62106ce6c9e2d8015cd11..44ef0f45b8f11a800cd869443c295e73ed8a6b54 100644 (file)
@@ -92,7 +92,7 @@
 #endif
 /************* Begin control #defines *****************************************/
 #define YYCODETYPE unsigned char
-#define YYNOCODE 85
+#define YYNOCODE 90
 #define YYACTIONTYPE unsigned short int
 #define ParseTOKENTYPE  token * 
 typedef union {
@@ -107,16 +107,16 @@ typedef union {
 #define ParseARG_FETCH  mmd_engine * engine  = yypParser->engine 
 #define ParseARG_STORE yypParser->engine  = engine 
 #define YYFALLBACK 1
-#define YYNSTATE             44
-#define YYNRULE              138
-#define YY_MAX_SHIFT         43
-#define YY_MIN_SHIFTREDUCE   140
-#define YY_MAX_SHIFTREDUCE   277
-#define YY_MIN_REDUCE        278
-#define YY_MAX_REDUCE        415
-#define YY_ERROR_ACTION      416
-#define YY_ACCEPT_ACTION     417
-#define YY_NO_ACTION         418
+#define YYNSTATE             45
+#define YYNRULE              152
+#define YY_MAX_SHIFT         44
+#define YY_MIN_SHIFTREDUCE   154
+#define YY_MAX_SHIFTREDUCE   305
+#define YY_MIN_REDUCE        306
+#define YY_MAX_REDUCE        457
+#define YY_ERROR_ACTION      458
+#define YY_ACCEPT_ACTION     459
+#define YY_NO_ACTION         460
 /************* End control #defines *******************************************/
 
 /* Define the yytestcase() macro to be a no-op if is not already defined
@@ -188,99 +188,105 @@ typedef union {
 **  yy_default[]       Default action for each state.
 **
 *********** Begin parsing tables **********************************************/
-#define YY_ACTTAB_COUNT (295)
+#define YY_ACTTAB_COUNT (327)
 static const YYACTIONTYPE yy_action[] = {
- /*     0 */   417,    1,  142,   32,  152,  153,  154,  155,  156,  157,
- /*    10 */    43,  159,   28,   30,   40,   38,   31,   14,  166,  167,
- /*    20 */   168,   42,  221,   13,   13,   30,  272,  276,  272,  276,
- /*    30 */    34,   34,   27,  227,   26,   25,   29,   40,   38,  244,
- /*    40 */     8,  196,   41,  227,   15,   15,  278,  149,  169,   20,
- /*    50 */    20,   16,  230,  231,  272,  276,  222,  259,  143,  144,
- /*    60 */   145,  146,  147,  148,  235,    7,    6,   17,    4,    3,
- /*    70 */     2,   18,  150,    5,  267,  244,  246,  249,  252,  247,
- /*    80 */   250,  253,  244,  149,   37,   37,  192,   16,  230,  231,
- /*    90 */   272,  276,  189,  259,  143,  144,  145,  146,  147,  148,
- /*   100 */   235,    7,    6,   17,    4,    3,    2,   18,  150,    5,
- /*   110 */   267,  201,  246,  249,  252,  247,  250,  253,  244,  141,
- /*   120 */    32,  152,  153,  154,  155,  156,  157,   43,  159,   28,
- /*   130 */    30,   40,   38,   31,   14,  166,  167,  168,   42,  216,
- /*   140 */   217,  224,   30,   33,   33,   35,   35,   34,   34,   27,
- /*   150 */    23,   26,   25,   29,   40,   38,  202,    8,  214,   41,
- /*   160 */   169,   15,   15,  257,    5,  175,  254,  170,   29,    5,
- /*   170 */   230,  231,  256,  258,  257,   36,   36,  254,  269,   10,
- /*   180 */    10,   19,   19,  256,  258,  178,  178,    9,   42,    9,
- /*   190 */    13,   13,  197,  199,  195,  198,  200,  182,  255,    6,
- /*   200 */   185,   29,  268,  193,  190,  191,  194,  257,  209,  255,
- /*   210 */   254,   29,   10,   10,   19,   19,  256,  258,  177,  177,
- /*   220 */   237,    7,   10,   10,   19,   19,   39,   39,  176,  176,
- /*   230 */   262,  204,   29,  260,  236,  220,  186,  187,  188,  261,
- /*   240 */   263,   29,  255,   10,   10,   19,   19,   29,  185,  183,
- /*   250 */   183,  280,   11,   11,   21,   21,   29,  210,   12,   12,
- /*   260 */    22,   22,  280,  205,  230,  231,  280,  280,  169,   24,
- /*   270 */    24,  280,  220,  219,  280,  280,  280,  280,  280,  280,
- /*   280 */   280,  280,  280,  280,  280,  280,  280,  280,  280,  280,
- /*   290 */   280,  280,  280,  280,  203,
+ /*     0 */   459,    1,  156,   37,  166,  167,  168,  169,  170,  171,
+ /*    10 */    44,  173,   29,  175,   31,   41,   40,   35,   14,  181,
+ /*    20 */   182,  183,   43,  238,   13,   13,   31,  233,  234,  300,
+ /*    30 */   304,   38,   38,   27,   43,   26,   25,  241,   28,  255,
+ /*    40 */    41,   40,  262,    8,   30,   42,  244,   15,   15,  306,
+ /*    50 */   163,  211,    5,  254,   16,  248,  249,  300,  304,  185,
+ /*    60 */   279,  157,  158,  159,  160,  161,  162,  253,    7,    6,
+ /*    70 */    17,    4,    3,    2,   18,  164,    5,  294,  245,  264,
+ /*    80 */   267,  270,  265,  268,  271,  298,  262,  285,  163,   39,
+ /*    90 */    39,  207,   16,  248,  249,  300,  304,  204,  279,  157,
+ /*   100 */   158,  159,  160,  161,  162,  253,    7,    6,   17,    4,
+ /*   110 */     3,    2,   18,  164,    5,  294,  244,  264,  267,  270,
+ /*   120 */   265,  268,  271,  298,  262,  285,  155,   37,  166,  167,
+ /*   130 */   168,  169,  170,  171,   44,  173,   29,  175,   31,   41,
+ /*   140 */    40,   35,   14,  181,  182,  183,  300,  304,  245,  262,
+ /*   150 */    31,   32,   32,   33,   33,   38,   38,   27,  218,   26,
+ /*   160 */    25,   19,   28,  216,   41,   40,   30,    8,  219,   42,
+ /*   170 */   184,   15,   15,  275,  231,  239,  272,   30,  190,  184,
+ /*   180 */    21,   21,  274,  276,  275,   34,   34,  272,    5,    9,
+ /*   190 */     9,   20,   20,  274,  276,  193,  193,   12,   43,   12,
+ /*   200 */    13,   13,  212,  214,  210,  213,  215,  197,  278,  273,
+ /*   210 */   277,   36,   36,  208,  205,  206,  209,  248,  249,  278,
+ /*   220 */   273,  277,  275,   30,  282,  272,  296,  280,  237,  236,
+ /*   230 */    30,  274,  276,  281,  283,    9,    9,   20,   20,  248,
+ /*   240 */   249,  192,  192,  184,   24,   24,    6,  226,  200,    7,
+ /*   250 */   295,  201,  202,  203,   30,  221,  237,  278,  273,  277,
+ /*   260 */   308,  308,  200,  308,   30,  308,    9,    9,   20,   20,
+ /*   270 */   220,  308,  191,  191,   30,  308,    9,    9,   20,   20,
+ /*   280 */   308,  308,  198,  198,  308,  308,   10,   10,   22,   22,
+ /*   290 */   289,  227,   30,  286,  308,  308,  308,  308,  308,  288,
+ /*   300 */   290,  308,  308,  308,   11,   11,   23,   23,  308,  222,
+ /*   310 */   308,  308,  308,  308,  308,  308,  308,  308,  308,  308,
+ /*   320 */   308,  308,  308,  308,  308,  217,  287,
 };
 static const YYCODETYPE yy_lookahead[] = {
- /*     0 */    38,   39,   40,   41,   42,   43,   44,   45,   46,   47,
- /*    10 */    48,   49,   50,   51,   52,   53,   54,   55,   56,   57,
- /*    20 */    58,   80,   81,   82,   83,   63,    8,    9,    8,    9,
- /*    30 */    68,   69,   70,    4,   72,   73,   48,   75,   76,   36,
- /*    40 */    78,   71,   80,    4,   82,   83,    0,    1,   60,   61,
- /*    50 */    62,    5,    6,    7,    8,    9,   36,   11,   12,   13,
- /*    60 */    14,   15,   16,   17,   18,   19,   20,   21,   22,   23,
- /*    70 */    24,   25,   26,   27,   28,   36,   30,   31,   32,   33,
- /*    80 */    34,   35,   36,    1,   68,   69,   71,    5,    6,    7,
- /*    90 */     8,    9,   71,   11,   12,   13,   14,   15,   16,   17,
- /*   100 */    18,   19,   20,   21,   22,   23,   24,   25,   26,   27,
- /*   110 */    28,   74,   30,   31,   32,   33,   34,   35,   36,   40,
- /*   120 */    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
- /*   130 */    51,   52,   53,   54,   55,   56,   57,   58,   80,    2,
- /*   140 */     3,   83,   63,   59,   60,   59,   60,   68,   69,   70,
- /*   150 */    63,   72,   73,   48,   75,   76,   63,   78,   77,   80,
- /*   160 */    60,   82,   83,    1,   27,   67,    4,   62,   48,   27,
- /*   170 */     6,    7,   10,   11,    1,   59,   60,    4,    4,   59,
- /*   180 */    60,   61,   62,   10,   11,   65,   66,   79,   80,   81,
- /*   190 */    82,   83,   30,   31,   32,   33,   34,   69,   36,   20,
- /*   200 */    36,   48,   28,   30,   31,   32,   33,    1,   76,   36,
- /*   210 */     4,   48,   59,   60,   61,   62,   10,   11,   65,   66,
- /*   220 */     4,   19,   59,   60,   61,   62,   59,   60,   65,   66,
- /*   230 */     1,   75,   48,    4,   18,    8,   30,   31,   32,   10,
- /*   240 */    11,   48,   36,   59,   60,   61,   62,   48,   36,   65,
- /*   250 */    66,   84,   59,   60,   61,   62,   48,   64,   59,   60,
- /*   260 */    61,   62,   84,   64,    6,    7,   84,   84,   60,   61,
- /*   270 */    62,   84,    8,    9,   84,   84,   84,   84,   84,   84,
- /*   280 */    84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
- /*   290 */    84,   84,   84,   84,   36,
+ /*     0 */    40,   41,   42,   43,   44,   45,   46,   47,   48,   49,
+ /*    10 */    50,   51,   52,   53,   54,   55,   56,   57,   58,   59,
+ /*    20 */    60,   61,   85,   86,   87,   88,   66,    2,    3,    8,
+ /*    30 */     9,   71,   72,   73,   85,   75,   76,   88,   78,    4,
+ /*    40 */    80,   81,   37,   83,   50,   85,    4,   87,   88,    0,
+ /*    50 */     1,   74,   27,   18,    5,    6,    7,    8,    9,   65,
+ /*    60 */    11,   12,   13,   14,   15,   16,   17,   18,   19,   20,
+ /*    70 */    21,   22,   23,   24,   25,   26,   27,   28,   36,   30,
+ /*    80 */    31,   32,   33,   34,   35,   36,   37,   38,    1,   71,
+ /*    90 */    72,   74,    5,    6,    7,    8,    9,   74,   11,   12,
+ /*   100 */    13,   14,   15,   16,   17,   18,   19,   20,   21,   22,
+ /*   110 */    23,   24,   25,   26,   27,   28,    4,   30,   31,   32,
+ /*   120 */    33,   34,   35,   36,   37,   38,   42,   43,   44,   45,
+ /*   130 */    46,   47,   48,   49,   50,   51,   52,   53,   54,   55,
+ /*   140 */    56,   57,   58,   59,   60,   61,    8,    9,   36,   37,
+ /*   150 */    66,   62,   63,   62,   63,   71,   72,   73,   79,   75,
+ /*   160 */    76,   66,   78,   77,   80,   81,   50,   83,   66,   85,
+ /*   170 */    63,   87,   88,    1,   82,   37,    4,   50,   70,   63,
+ /*   180 */    64,   65,   10,   11,    1,   62,   63,    4,   27,   62,
+ /*   190 */    63,   64,   65,   10,   11,   68,   69,   84,   85,   86,
+ /*   200 */    87,   88,   30,   31,   32,   33,   34,   72,   36,   37,
+ /*   210 */    38,   62,   63,   30,   31,   32,   33,    6,    7,   36,
+ /*   220 */    37,   38,    1,   50,    1,    4,    4,    4,    8,    9,
+ /*   230 */    50,   10,   11,   10,   11,   62,   63,   64,   65,    6,
+ /*   240 */     7,   68,   69,   63,   64,   65,   20,   81,   37,   19,
+ /*   250 */    28,   30,   31,   32,   50,   80,    8,   36,   37,   38,
+ /*   260 */    89,   89,   37,   89,   50,   89,   62,   63,   64,   65,
+ /*   270 */    37,   89,   68,   69,   50,   89,   62,   63,   64,   65,
+ /*   280 */    89,   89,   68,   69,   89,   89,   62,   63,   64,   65,
+ /*   290 */     1,   67,   50,    4,   89,   89,   89,   89,   89,   10,
+ /*   300 */    11,   89,   89,   89,   62,   63,   64,   65,   89,   67,
+ /*   310 */    89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
+ /*   320 */    89,   89,   89,   89,   89,   36,   37,
 };
-#define YY_SHIFT_USE_DFLT (295)
-#define YY_SHIFT_COUNT    (43)
+#define YY_SHIFT_USE_DFLT (327)
+#define YY_SHIFT_COUNT    (44)
 #define YY_SHIFT_MIN      (0)
-#define YY_SHIFT_MAX      (264)
+#define YY_SHIFT_MAX      (289)
 static const unsigned short int yy_shift_ofst[] = {
- /*     0 */    82,   46,   39,   39,   39,   39,   39,   39,   18,   18,
- /*    10 */    39,   39,   39,   20,  137,   18,   29,   29,   29,    3,
- /*    20 */     3,    3,    3,   29,    3,  162,  173,  206,  229,  164,
- /*    30 */   258,  174,  216,   29,  142,   29,   29,  142,  179,   29,
- /*    40 */   202,  264,  227,  212,
+ /*     0 */    87,   49,  112,  112,  112,  112,  112,  112,   21,  112,
+ /*    10 */   112,  112,   21,  138,   25,   21,   42,   42,   42,   42,
+ /*    20 */     5,    5,    5,    5,    5,  172,  183,  221,  289,  223,
+ /*    30 */   211,  233,   42,   42,   42,  222,   42,   35,  161,  161,
+ /*    40 */   226,  230,  220,  248,  225,
 };
-#define YY_REDUCE_USE_DFLT (-60)
-#define YY_REDUCE_COUNT (40)
-#define YY_REDUCE_MIN   (-59)
-#define YY_REDUCE_MAX   (208)
+#define YY_REDUCE_USE_DFLT (-64)
+#define YY_REDUCE_COUNT (41)
+#define YY_REDUCE_MIN   (-63)
+#define YY_REDUCE_MAX   (242)
 static const short yy_reduce_ofst[] = {
- /*     0 */   -38,   79,  120,  153,  163,  184,  193,  199,  108,  -59,
- /*    10 */   -12,  208,  208,   58,   16,   58,   84,   86,  116,  105,
- /*    20 */   105,  105,  105,  167,  105,  -30,   15,   21,   37,   87,
- /*    30 */    93,   81,   98,  100,  128,  100,  100,  128,  132,  100,
- /*    40 */   156,
+ /*     0 */   -40,   84,  127,  173,  204,  214,  224,  242,  113,  116,
+ /*    10 */   180,  180,  -63,  -51,   18,  -51,   89,   91,  123,  149,
+ /*    20 */    -6,   -6,   -6,   -6,   -6,  -23,   17,   23,   79,   86,
+ /*    30 */    95,  102,  107,  107,  107,   92,  107,  108,  135,  135,
+ /*    40 */   166,  175,
 };
 static const YYACTIONTYPE yy_default[] = {
- /*     0 */   416,  416,  378,  377,  376,  322,  351,  346,  409,  356,
- /*    10 */   370,  349,  344,  361,  303,  363,  408,  380,  379,  372,
- /*    20 */   312,  350,  345,  310,  311,  389,  386,  383,  298,  367,
- /*    30 */   299,  302,  289,  353,  415,  318,  317,  319,  301,  309,
- /*    40 */   300,  413,  413,  296,
+ /*     0 */   458,  458,  410,  409,  408,  351,  382,  377,  451,  402,
+ /*    10 */   380,  375,  387,  392,  332,  394,  449,  412,  411,  339,
+ /*    20 */   404,  341,  381,  376,  340,  421,  418,  415,  436,  326,
+ /*    30 */   399,  328,  384,  347,  346,  331,  338,  317,  457,  348,
+ /*    40 */   330,  329,  455,  455,  324,
 };
 /********** End of lemon-generated parsing tables *****************************/
 
@@ -430,18 +436,20 @@ static const char *const yyTokenName[] = {
   "LINE_DEF_GLOSSARY",  "LINE_DEF_LINK",  "LINE_TOC",      "LINE_DEFINITION",
   "LINE_META",     "LINE_BACKTICK",  "LINE_FENCE_BACKTICK_3",  "LINE_FENCE_BACKTICK_4",
   "LINE_FENCE_BACKTICK_5",  "LINE_FENCE_BACKTICK_START_3",  "LINE_FENCE_BACKTICK_START_4",  "LINE_FENCE_BACKTICK_START_5",
-  "LINE_EMPTY",    "error",         "doc",           "blocks",      
-  "block",         "blockquote",    "def_abbreviation",  "def_citation",
-  "def_footnote",  "def_glossary",  "def_link",      "definition_block",
-  "empty",         "fenced_block",  "html_block",    "indented_code",
-  "list_bullet",   "list_enum",     "meta_block",    "para",        
-  "setext_1",      "setext_2",      "table",         "chunk",       
-  "chunk_line",    "nested_chunks",  "nested_chunk",  "indented_line",
-  "ext_chunk",     "opt_ext_chunk",  "tail",          "quote_line",  
-  "defs",          "def",           "fenced_3",      "fenced_line", 
-  "fenced_4",      "fenced_5",      "html_line",     "item_bullet", 
-  "item_enum",     "meta_line",     "table_header",  "table_body",  
-  "header_rows",   "table_section",  "all_rows",      "row",         
+  "LINE_STOP_COMMENT",  "LINE_EMPTY",    "LINE_START_COMMENT",  "error",       
+  "doc",           "blocks",        "block",         "blockquote",  
+  "def_abbreviation",  "def_citation",  "def_footnote",  "def_glossary",
+  "def_link",      "definition_block",  "empty",         "fenced_block",
+  "html_block",    "html_com_block",  "indented_code",  "list_bullet", 
+  "list_enum",     "meta_block",    "para",          "setext_1",    
+  "setext_2",      "table",         "chunk",         "chunk_line",  
+  "nested_chunks",  "nested_chunk",  "indented_line",  "ext_chunk",   
+  "opt_ext_chunk",  "tail",          "quote_line",    "defs",        
+  "def",           "fenced_3",      "fenced_line",   "fenced_4",    
+  "fenced_5",      "html_line",     "html_comment",  "comment_line",
+  "item_bullet",   "item_enum",     "meta_line",     "table_header",
+  "table_body",    "header_rows",   "table_section",  "all_rows",    
+  "row",         
 };
 #endif /* NDEBUG */
 
@@ -470,123 +478,137 @@ static const char *const yyRuleName[] = {
  /*  18 */ "block ::= empty",
  /*  19 */ "block ::= fenced_block",
  /*  20 */ "block ::= html_block",
- /*  21 */ "block ::= indented_code",
- /*  22 */ "block ::= list_bullet",
- /*  23 */ "block ::= list_enum",
- /*  24 */ "block ::= meta_block",
- /*  25 */ "block ::= para",
- /*  26 */ "block ::= setext_1",
- /*  27 */ "block ::= setext_2",
- /*  28 */ "block ::= table",
- /*  29 */ "chunk ::= chunk chunk_line",
- /*  30 */ "nested_chunks ::= nested_chunks nested_chunk",
- /*  31 */ "nested_chunk ::= empty indented_line chunk",
- /*  32 */ "nested_chunk ::= empty indented_line",
- /*  33 */ "ext_chunk ::= chunk nested_chunks",
- /*  34 */ "opt_ext_chunk ::= chunk nested_chunks",
- /*  35 */ "blockquote ::= blockquote quote_line",
- /*  36 */ "def_citation ::= LINE_DEF_CITATION tail",
- /*  37 */ "def_footnote ::= LINE_DEF_FOOTNOTE tail",
- /*  38 */ "def_glossary ::= LINE_DEF_GLOSSARY tail",
- /*  39 */ "def_link ::= LINE_DEF_LINK chunk",
- /*  40 */ "def_abbreviation ::= LINE_DEF_ABBREVIATION chunk",
- /*  41 */ "definition_block ::= para defs",
- /*  42 */ "defs ::= defs def",
- /*  43 */ "def ::= LINE_DEFINITION tail",
- /*  44 */ "def ::= LINE_DEFINITION",
- /*  45 */ "empty ::= empty LINE_EMPTY",
- /*  46 */ "fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_3",
- /*  47 */ "fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_4",
- /*  48 */ "fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_5",
- /*  49 */ "fenced_3 ::= fenced_3 fenced_line",
- /*  50 */ "fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_4",
- /*  51 */ "fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_5",
- /*  52 */ "fenced_4 ::= fenced_4 fenced_line",
- /*  53 */ "fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_3",
- /*  54 */ "fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_START_3",
- /*  55 */ "fenced_block ::= fenced_5 LINE_FENCE_BACKTICK_5",
- /*  56 */ "fenced_5 ::= fenced_5 fenced_line",
- /*  57 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_3",
- /*  58 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_3",
- /*  59 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_4",
- /*  60 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_4",
- /*  61 */ "html_block ::= html_block html_line",
- /*  62 */ "indented_code ::= indented_code indented_line",
- /*  63 */ "indented_code ::= indented_code LINE_EMPTY",
- /*  64 */ "list_bullet ::= list_bullet item_bullet",
- /*  65 */ "item_bullet ::= LINE_LIST_BULLETED ext_chunk",
- /*  66 */ "item_bullet ::= LINE_LIST_BULLETED chunk",
- /*  67 */ "item_bullet ::= LINE_LIST_BULLETED nested_chunks",
- /*  68 */ "item_bullet ::= LINE_LIST_BULLETED",
- /*  69 */ "list_enum ::= list_enum item_enum",
- /*  70 */ "item_enum ::= LINE_LIST_ENUMERATED ext_chunk",
- /*  71 */ "item_enum ::= LINE_LIST_ENUMERATED chunk",
- /*  72 */ "item_enum ::= LINE_LIST_ENUMERATED nested_chunks",
- /*  73 */ "item_enum ::= LINE_LIST_ENUMERATED",
- /*  74 */ "meta_block ::= meta_block meta_line",
- /*  75 */ "para ::= LINE_PLAIN chunk",
- /*  76 */ "setext_1 ::= para LINE_SETEXT_1",
- /*  77 */ "setext_2 ::= para LINE_SETEXT_2",
- /*  78 */ "table ::= table_header table_body",
- /*  79 */ "table_header ::= header_rows LINE_TABLE_SEPARATOR",
- /*  80 */ "header_rows ::= header_rows LINE_TABLE",
- /*  81 */ "table_body ::= table_body table_section",
- /*  82 */ "table_section ::= all_rows LINE_EMPTY",
- /*  83 */ "table_section ::= all_rows",
- /*  84 */ "all_rows ::= all_rows row",
- /*  85 */ "para ::= all_rows",
- /*  86 */ "chunk ::= chunk_line",
- /*  87 */ "chunk_line ::= LINE_CONTINUATION",
- /*  88 */ "nested_chunks ::= nested_chunk",
- /*  89 */ "nested_chunk ::= empty",
- /*  90 */ "indented_line ::= LINE_INDENTED_TAB",
- /*  91 */ "indented_line ::= LINE_INDENTED_SPACE",
- /*  92 */ "opt_ext_chunk ::= chunk",
- /*  93 */ "tail ::= opt_ext_chunk",
- /*  94 */ "tail ::= nested_chunks",
- /*  95 */ "blockquote ::= LINE_BLOCKQUOTE",
- /*  96 */ "quote_line ::= LINE_BLOCKQUOTE",
- /*  97 */ "quote_line ::= LINE_CONTINUATION",
- /*  98 */ "def_citation ::= LINE_DEF_CITATION",
- /*  99 */ "def_footnote ::= LINE_DEF_FOOTNOTE",
- /* 100 */ "def_glossary ::= LINE_DEF_GLOSSARY",
- /* 101 */ "def_link ::= LINE_DEF_LINK",
- /* 102 */ "def_abbreviation ::= LINE_DEF_ABBREVIATION",
- /* 103 */ "defs ::= def",
- /* 104 */ "empty ::= LINE_EMPTY",
- /* 105 */ "fenced_block ::= fenced_3",
- /* 106 */ "fenced_3 ::= LINE_FENCE_BACKTICK_3",
- /* 107 */ "fenced_3 ::= LINE_FENCE_BACKTICK_START_3",
- /* 108 */ "fenced_block ::= fenced_4",
- /* 109 */ "fenced_4 ::= LINE_FENCE_BACKTICK_4",
- /* 110 */ "fenced_4 ::= LINE_FENCE_BACKTICK_START_4",
- /* 111 */ "fenced_block ::= fenced_5",
- /* 112 */ "fenced_5 ::= LINE_FENCE_BACKTICK_5",
- /* 113 */ "fenced_5 ::= LINE_FENCE_BACKTICK_START_5",
- /* 114 */ "fenced_line ::= LINE_CONTINUATION",
- /* 115 */ "fenced_line ::= LINE_EMPTY",
- /* 116 */ "fenced_line ::= LINE_FALLBACK",
- /* 117 */ "fenced_line ::= LINE_HR",
- /* 118 */ "fenced_line ::= LINE_HTML",
- /* 119 */ "html_block ::= LINE_HTML",
- /* 120 */ "html_line ::= LINE_CONTINUATION",
- /* 121 */ "html_line ::= LINE_FALLBACK",
- /* 122 */ "html_line ::= LINE_HR",
- /* 123 */ "html_line ::= LINE_HTML",
- /* 124 */ "indented_code ::= indented_line",
- /* 125 */ "list_bullet ::= item_bullet",
- /* 126 */ "list_enum ::= item_enum",
- /* 127 */ "meta_block ::= LINE_META",
- /* 128 */ "meta_line ::= LINE_META",
- /* 129 */ "meta_line ::= LINE_CONTINUATION",
- /* 130 */ "para ::= LINE_PLAIN",
- /* 131 */ "table ::= table_header",
- /* 132 */ "header_rows ::= LINE_TABLE",
- /* 133 */ "table_body ::= table_section",
- /* 134 */ "all_rows ::= row",
- /* 135 */ "row ::= header_rows",
- /* 136 */ "row ::= LINE_TABLE_SEPARATOR",
- /* 137 */ "para ::= defs",
+ /*  21 */ "block ::= html_com_block",
+ /*  22 */ "block ::= indented_code",
+ /*  23 */ "block ::= list_bullet",
+ /*  24 */ "block ::= list_enum",
+ /*  25 */ "block ::= meta_block",
+ /*  26 */ "block ::= para",
+ /*  27 */ "block ::= setext_1",
+ /*  28 */ "block ::= setext_2",
+ /*  29 */ "block ::= table",
+ /*  30 */ "chunk ::= chunk chunk_line",
+ /*  31 */ "nested_chunks ::= nested_chunks nested_chunk",
+ /*  32 */ "nested_chunk ::= empty indented_line chunk",
+ /*  33 */ "nested_chunk ::= empty indented_line",
+ /*  34 */ "ext_chunk ::= chunk nested_chunks",
+ /*  35 */ "opt_ext_chunk ::= chunk nested_chunks",
+ /*  36 */ "blockquote ::= blockquote quote_line",
+ /*  37 */ "def_citation ::= LINE_DEF_CITATION tail",
+ /*  38 */ "def_footnote ::= LINE_DEF_FOOTNOTE tail",
+ /*  39 */ "def_glossary ::= LINE_DEF_GLOSSARY tail",
+ /*  40 */ "def_link ::= LINE_DEF_LINK chunk",
+ /*  41 */ "def_abbreviation ::= LINE_DEF_ABBREVIATION chunk",
+ /*  42 */ "definition_block ::= para defs",
+ /*  43 */ "defs ::= defs def",
+ /*  44 */ "def ::= LINE_DEFINITION tail",
+ /*  45 */ "def ::= LINE_DEFINITION",
+ /*  46 */ "empty ::= empty LINE_EMPTY",
+ /*  47 */ "fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_3",
+ /*  48 */ "fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_4",
+ /*  49 */ "fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_5",
+ /*  50 */ "fenced_3 ::= fenced_3 fenced_line",
+ /*  51 */ "fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_4",
+ /*  52 */ "fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_5",
+ /*  53 */ "fenced_4 ::= fenced_4 fenced_line",
+ /*  54 */ "fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_3",
+ /*  55 */ "fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_START_3",
+ /*  56 */ "fenced_block ::= fenced_5 LINE_FENCE_BACKTICK_5",
+ /*  57 */ "fenced_5 ::= fenced_5 fenced_line",
+ /*  58 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_3",
+ /*  59 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_3",
+ /*  60 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_4",
+ /*  61 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_4",
+ /*  62 */ "html_block ::= html_block html_line",
+ /*  63 */ "html_com_block ::= html_comment LINE_STOP_COMMENT",
+ /*  64 */ "html_comment ::= html_comment comment_line",
+ /*  65 */ "indented_code ::= indented_code indented_line",
+ /*  66 */ "indented_code ::= indented_code LINE_EMPTY",
+ /*  67 */ "list_bullet ::= list_bullet item_bullet",
+ /*  68 */ "item_bullet ::= LINE_LIST_BULLETED ext_chunk",
+ /*  69 */ "item_bullet ::= LINE_LIST_BULLETED chunk",
+ /*  70 */ "item_bullet ::= LINE_LIST_BULLETED nested_chunks",
+ /*  71 */ "item_bullet ::= LINE_LIST_BULLETED",
+ /*  72 */ "list_enum ::= list_enum item_enum",
+ /*  73 */ "item_enum ::= LINE_LIST_ENUMERATED ext_chunk",
+ /*  74 */ "item_enum ::= LINE_LIST_ENUMERATED chunk",
+ /*  75 */ "item_enum ::= LINE_LIST_ENUMERATED nested_chunks",
+ /*  76 */ "item_enum ::= LINE_LIST_ENUMERATED",
+ /*  77 */ "meta_block ::= meta_block meta_line",
+ /*  78 */ "para ::= LINE_PLAIN chunk",
+ /*  79 */ "setext_1 ::= para LINE_SETEXT_1",
+ /*  80 */ "setext_2 ::= para LINE_SETEXT_2",
+ /*  81 */ "table ::= table_header table_body",
+ /*  82 */ "table_header ::= header_rows LINE_TABLE_SEPARATOR",
+ /*  83 */ "header_rows ::= header_rows LINE_TABLE",
+ /*  84 */ "table_body ::= table_body table_section",
+ /*  85 */ "table_section ::= all_rows LINE_EMPTY",
+ /*  86 */ "table_section ::= all_rows",
+ /*  87 */ "all_rows ::= all_rows row",
+ /*  88 */ "para ::= all_rows",
+ /*  89 */ "chunk ::= chunk_line",
+ /*  90 */ "chunk_line ::= LINE_CONTINUATION",
+ /*  91 */ "chunk_line ::= LINE_STOP_COMMENT",
+ /*  92 */ "nested_chunks ::= nested_chunk",
+ /*  93 */ "nested_chunk ::= empty",
+ /*  94 */ "indented_line ::= LINE_INDENTED_TAB",
+ /*  95 */ "indented_line ::= LINE_INDENTED_SPACE",
+ /*  96 */ "opt_ext_chunk ::= chunk",
+ /*  97 */ "tail ::= opt_ext_chunk",
+ /*  98 */ "tail ::= nested_chunks",
+ /*  99 */ "blockquote ::= LINE_BLOCKQUOTE",
+ /* 100 */ "quote_line ::= LINE_BLOCKQUOTE",
+ /* 101 */ "quote_line ::= LINE_CONTINUATION",
+ /* 102 */ "def_citation ::= LINE_DEF_CITATION",
+ /* 103 */ "def_footnote ::= LINE_DEF_FOOTNOTE",
+ /* 104 */ "def_glossary ::= LINE_DEF_GLOSSARY",
+ /* 105 */ "def_link ::= LINE_DEF_LINK",
+ /* 106 */ "def_abbreviation ::= LINE_DEF_ABBREVIATION",
+ /* 107 */ "defs ::= def",
+ /* 108 */ "empty ::= LINE_EMPTY",
+ /* 109 */ "fenced_block ::= fenced_3",
+ /* 110 */ "fenced_3 ::= LINE_FENCE_BACKTICK_3",
+ /* 111 */ "fenced_3 ::= LINE_FENCE_BACKTICK_START_3",
+ /* 112 */ "fenced_block ::= fenced_4",
+ /* 113 */ "fenced_4 ::= LINE_FENCE_BACKTICK_4",
+ /* 114 */ "fenced_4 ::= LINE_FENCE_BACKTICK_START_4",
+ /* 115 */ "fenced_block ::= fenced_5",
+ /* 116 */ "fenced_5 ::= LINE_FENCE_BACKTICK_5",
+ /* 117 */ "fenced_5 ::= LINE_FENCE_BACKTICK_START_5",
+ /* 118 */ "fenced_line ::= LINE_CONTINUATION",
+ /* 119 */ "fenced_line ::= LINE_EMPTY",
+ /* 120 */ "fenced_line ::= LINE_FALLBACK",
+ /* 121 */ "fenced_line ::= LINE_HR",
+ /* 122 */ "fenced_line ::= LINE_HTML",
+ /* 123 */ "fenced_line ::= LINE_START_COMMENT",
+ /* 124 */ "fenced_line ::= LINE_STOP_COMMENT",
+ /* 125 */ "html_block ::= LINE_HTML",
+ /* 126 */ "html_line ::= LINE_CONTINUATION",
+ /* 127 */ "html_line ::= LINE_FALLBACK",
+ /* 128 */ "html_line ::= LINE_HR",
+ /* 129 */ "html_line ::= LINE_HTML",
+ /* 130 */ "html_com_block ::= html_comment",
+ /* 131 */ "html_comment ::= LINE_START_COMMENT",
+ /* 132 */ "comment_line ::= LINE_CONTINUATION",
+ /* 133 */ "comment_line ::= LINE_EMPTY",
+ /* 134 */ "comment_line ::= LINE_FALLBACK",
+ /* 135 */ "comment_line ::= LINE_HR",
+ /* 136 */ "comment_line ::= LINE_HTML",
+ /* 137 */ "indented_code ::= indented_line",
+ /* 138 */ "list_bullet ::= item_bullet",
+ /* 139 */ "list_enum ::= item_enum",
+ /* 140 */ "meta_block ::= LINE_META",
+ /* 141 */ "meta_line ::= LINE_META",
+ /* 142 */ "meta_line ::= LINE_CONTINUATION",
+ /* 143 */ "para ::= LINE_PLAIN",
+ /* 144 */ "para ::= LINE_STOP_COMMENT",
+ /* 145 */ "table ::= table_header",
+ /* 146 */ "header_rows ::= LINE_TABLE",
+ /* 147 */ "table_body ::= table_section",
+ /* 148 */ "all_rows ::= row",
+ /* 149 */ "row ::= header_rows",
+ /* 150 */ "row ::= LINE_TABLE_SEPARATOR",
+ /* 151 */ "para ::= defs",
 };
 #endif /* NDEBUG */
 
@@ -935,144 +957,158 @@ static const struct {
   YYCODETYPE lhs;         /* Symbol on the left-hand side of the rule */
   unsigned char nrhs;     /* Number of right-hand side symbols in the rule */
 } yyRuleInfo[] = {
-  { 38, 1 },
-  { 39, 2 },
-  { 39, 1 },
   { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 40, 1 },
-  { 59, 2 },
-  { 61, 2 },
-  { 62, 3 },
+  { 41, 2 },
+  { 41, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
+  { 42, 1 },
   { 62, 2 },
   { 64, 2 },
+  { 65, 3 },
   { 65, 2 },
-  { 41, 2 },
+  { 67, 2 },
+  { 68, 2 },
   { 43, 2 },
-  { 44, 2 },
   { 45, 2 },
   { 46, 2 },
-  { 42, 2 },
   { 47, 2 },
-  { 68, 2 },
-  { 69, 2 },
-  { 69, 1 },
   { 48, 2 },
+  { 44, 2 },
   { 49, 2 },
-  { 49, 2 },
-  { 49, 2 },
-  { 70, 2 },
-  { 49, 2 },
-  { 49, 2 },
-  { 72, 2 },
-  { 72, 2 },
+  { 71, 2 },
   { 72, 2 },
-  { 49, 2 },
-  { 73, 2 },
-  { 73, 2 },
-  { 73, 2 },
-  { 73, 2 },
-  { 73, 2 },
+  { 72, 1 },
   { 50, 2 },
   { 51, 2 },
   { 51, 2 },
-  { 52, 2 },
+  { 51, 2 },
+  { 73, 2 },
+  { 51, 2 },
+  { 51, 2 },
   { 75, 2 },
   { 75, 2 },
   { 75, 2 },
-  { 75, 1 },
-  { 53, 2 },
+  { 51, 2 },
   { 76, 2 },
   { 76, 2 },
   { 76, 2 },
-  { 76, 1 },
+  { 76, 2 },
+  { 76, 2 },
+  { 52, 2 },
+  { 53, 2 },
+  { 78, 2 },
+  { 54, 2 },
   { 54, 2 },
   { 55, 2 },
-  { 56, 2 },
-  { 57, 2 },
-  { 58, 2 },
-  { 78, 2 },
   { 80, 2 },
-  { 79, 2 },
+  { 80, 2 },
+  { 80, 2 },
+  { 80, 1 },
+  { 56, 2 },
+  { 81, 2 },
+  { 81, 2 },
   { 81, 2 },
   { 81, 1 },
-  { 82, 2 },
-  { 55, 1 },
-  { 59, 1 },
-  { 60, 1 },
-  { 61, 1 },
+  { 57, 2 },
+  { 58, 2 },
+  { 59, 2 },
+  { 60, 2 },
+  { 61, 2 },
+  { 83, 2 },
+  { 85, 2 },
+  { 84, 2 },
+  { 86, 2 },
+  { 86, 1 },
+  { 87, 2 },
+  { 58, 1 },
   { 62, 1 },
   { 63, 1 },
   { 63, 1 },
+  { 64, 1 },
   { 65, 1 },
   { 66, 1 },
   { 66, 1 },
-  { 41, 1 },
-  { 67, 1 },
-  { 67, 1 },
+  { 68, 1 },
+  { 69, 1 },
+  { 69, 1 },
   { 43, 1 },
-  { 44, 1 },
+  { 70, 1 },
+  { 70, 1 },
   { 45, 1 },
   { 46, 1 },
-  { 42, 1 },
-  { 68, 1 },
+  { 47, 1 },
   { 48, 1 },
-  { 49, 1 },
-  { 70, 1 },
-  { 70, 1 },
-  { 49, 1 },
-  { 72, 1 },
-  { 72, 1 },
-  { 49, 1 },
-  { 73, 1 },
-  { 73, 1 },
-  { 71, 1 },
-  { 71, 1 },
-  { 71, 1 },
-  { 71, 1 },
+  { 44, 1 },
   { 71, 1 },
   { 50, 1 },
+  { 51, 1 },
+  { 73, 1 },
+  { 73, 1 },
+  { 51, 1 },
+  { 75, 1 },
+  { 75, 1 },
+  { 51, 1 },
+  { 76, 1 },
+  { 76, 1 },
+  { 74, 1 },
+  { 74, 1 },
+  { 74, 1 },
   { 74, 1 },
   { 74, 1 },
   { 74, 1 },
   { 74, 1 },
-  { 51, 1 },
   { 52, 1 },
-  { 53, 1 },
-  { 54, 1 },
   { 77, 1 },
   { 77, 1 },
-  { 55, 1 },
-  { 58, 1 },
-  { 80, 1 },
+  { 77, 1 },
+  { 77, 1 },
+  { 53, 1 },
+  { 78, 1 },
   { 79, 1 },
-  { 82, 1 },
-  { 83, 1 },
-  { 83, 1 },
+  { 79, 1 },
+  { 79, 1 },
+  { 79, 1 },
+  { 79, 1 },
+  { 54, 1 },
   { 55, 1 },
+  { 56, 1 },
+  { 57, 1 },
+  { 82, 1 },
+  { 82, 1 },
+  { 58, 1 },
+  { 58, 1 },
+  { 61, 1 },
+  { 85, 1 },
+  { 84, 1 },
+  { 87, 1 },
+  { 88, 1 },
+  { 88, 1 },
+  { 58, 1 },
 };
 
 static void yy_accept(yyParser*);  /* Forward Declaration */
@@ -1231,193 +1267,207 @@ static void yy_reduce(
   yymsp[0].minor.yy0 = yylhsminor.yy0;
         break;
       case 20: /* block ::= html_block */
+      case 21: /* block ::= html_com_block */ yytestcase(yyruleno==21);
 { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_HTML); }
   yymsp[0].minor.yy0 = yylhsminor.yy0;
         break;
-      case 21: /* block ::= indented_code */
+      case 22: /* block ::= indented_code */
 { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_CODE_INDENTED); }
   yymsp[0].minor.yy0 = yylhsminor.yy0;
         break;
-      case 22: /* block ::= list_bullet */
+      case 23: /* block ::= list_bullet */
 { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_LIST_BULLETED); is_list_loose(yylhsminor.yy0); }
   yymsp[0].minor.yy0 = yylhsminor.yy0;
         break;
-      case 23: /* block ::= list_enum */
+      case 24: /* block ::= list_enum */
 { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_LIST_ENUMERATED); is_list_loose(yylhsminor.yy0); }
   yymsp[0].minor.yy0 = yylhsminor.yy0;
         break;
-      case 24: /* block ::= meta_block */
+      case 25: /* block ::= meta_block */
 { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_META); }
   yymsp[0].minor.yy0 = yylhsminor.yy0;
         break;
-      case 25: /* block ::= para */
+      case 26: /* block ::= para */
 { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_PARA); is_para_html(engine, yylhsminor.yy0); }
   yymsp[0].minor.yy0 = yylhsminor.yy0;
         break;
-      case 26: /* block ::= setext_1 */
+      case 27: /* block ::= setext_1 */
 { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_SETEXT_1); if (!(engine->extensions & EXT_NO_LABELS)) stack_push(engine->header_stack, yylhsminor.yy0); }
   yymsp[0].minor.yy0 = yylhsminor.yy0;
         break;
-      case 27: /* block ::= setext_2 */
+      case 28: /* block ::= setext_2 */
 { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_SETEXT_2); if (!(engine->extensions & EXT_NO_LABELS)) stack_push(engine->header_stack, yylhsminor.yy0); }
   yymsp[0].minor.yy0 = yylhsminor.yy0;
         break;
-      case 28: /* block ::= table */
+      case 29: /* block ::= table */
 { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_TABLE); stack_push(engine->table_stack, yylhsminor.yy0); }
   yymsp[0].minor.yy0 = yylhsminor.yy0;
         break;
-      case 29: /* chunk ::= chunk chunk_line */
-      case 30: /* nested_chunks ::= nested_chunks nested_chunk */ yytestcase(yyruleno==30);
-      case 33: /* ext_chunk ::= chunk nested_chunks */ yytestcase(yyruleno==33);
-      case 34: /* opt_ext_chunk ::= chunk nested_chunks */ yytestcase(yyruleno==34);
-      case 35: /* blockquote ::= blockquote quote_line */ yytestcase(yyruleno==35);
-      case 36: /* def_citation ::= LINE_DEF_CITATION tail */ yytestcase(yyruleno==36);
-      case 37: /* def_footnote ::= LINE_DEF_FOOTNOTE tail */ yytestcase(yyruleno==37);
-      case 38: /* def_glossary ::= LINE_DEF_GLOSSARY tail */ yytestcase(yyruleno==38);
-      case 39: /* def_link ::= LINE_DEF_LINK chunk */ yytestcase(yyruleno==39);
-      case 40: /* def_abbreviation ::= LINE_DEF_ABBREVIATION chunk */ yytestcase(yyruleno==40);
-      case 42: /* defs ::= defs def */ yytestcase(yyruleno==42);
-      case 45: /* empty ::= empty LINE_EMPTY */ yytestcase(yyruleno==45);
-      case 49: /* fenced_3 ::= fenced_3 fenced_line */ yytestcase(yyruleno==49);
-      case 52: /* fenced_4 ::= fenced_4 fenced_line */ yytestcase(yyruleno==52);
-      case 53: /* fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_3 */ yytestcase(yyruleno==53);
-      case 54: /* fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_START_3 */ yytestcase(yyruleno==54);
-      case 56: /* fenced_5 ::= fenced_5 fenced_line */ yytestcase(yyruleno==56);
-      case 57: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_3 */ yytestcase(yyruleno==57);
-      case 58: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_3 */ yytestcase(yyruleno==58);
-      case 59: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==59);
-      case 60: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_4 */ yytestcase(yyruleno==60);
-      case 61: /* html_block ::= html_block html_line */ yytestcase(yyruleno==61);
-      case 62: /* indented_code ::= indented_code indented_line */ yytestcase(yyruleno==62);
-      case 63: /* indented_code ::= indented_code LINE_EMPTY */ yytestcase(yyruleno==63);
-      case 64: /* list_bullet ::= list_bullet item_bullet */ yytestcase(yyruleno==64);
-      case 69: /* list_enum ::= list_enum item_enum */ yytestcase(yyruleno==69);
-      case 74: /* meta_block ::= meta_block meta_line */ yytestcase(yyruleno==74);
-      case 75: /* para ::= LINE_PLAIN chunk */ yytestcase(yyruleno==75);
-      case 76: /* setext_1 ::= para LINE_SETEXT_1 */ yytestcase(yyruleno==76);
-      case 77: /* setext_2 ::= para LINE_SETEXT_2 */ yytestcase(yyruleno==77);
-      case 78: /* table ::= table_header table_body */ yytestcase(yyruleno==78);
-      case 80: /* header_rows ::= header_rows LINE_TABLE */ yytestcase(yyruleno==80);
-      case 81: /* table_body ::= table_body table_section */ yytestcase(yyruleno==81);
-      case 84: /* all_rows ::= all_rows row */ yytestcase(yyruleno==84);
+      case 30: /* chunk ::= chunk chunk_line */
+      case 31: /* nested_chunks ::= nested_chunks nested_chunk */ yytestcase(yyruleno==31);
+      case 34: /* ext_chunk ::= chunk nested_chunks */ yytestcase(yyruleno==34);
+      case 35: /* opt_ext_chunk ::= chunk nested_chunks */ yytestcase(yyruleno==35);
+      case 36: /* blockquote ::= blockquote quote_line */ yytestcase(yyruleno==36);
+      case 37: /* def_citation ::= LINE_DEF_CITATION tail */ yytestcase(yyruleno==37);
+      case 38: /* def_footnote ::= LINE_DEF_FOOTNOTE tail */ yytestcase(yyruleno==38);
+      case 39: /* def_glossary ::= LINE_DEF_GLOSSARY tail */ yytestcase(yyruleno==39);
+      case 40: /* def_link ::= LINE_DEF_LINK chunk */ yytestcase(yyruleno==40);
+      case 41: /* def_abbreviation ::= LINE_DEF_ABBREVIATION chunk */ yytestcase(yyruleno==41);
+      case 43: /* defs ::= defs def */ yytestcase(yyruleno==43);
+      case 46: /* empty ::= empty LINE_EMPTY */ yytestcase(yyruleno==46);
+      case 50: /* fenced_3 ::= fenced_3 fenced_line */ yytestcase(yyruleno==50);
+      case 53: /* fenced_4 ::= fenced_4 fenced_line */ yytestcase(yyruleno==53);
+      case 54: /* fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_3 */ yytestcase(yyruleno==54);
+      case 55: /* fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_START_3 */ yytestcase(yyruleno==55);
+      case 57: /* fenced_5 ::= fenced_5 fenced_line */ yytestcase(yyruleno==57);
+      case 58: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_3 */ yytestcase(yyruleno==58);
+      case 59: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_3 */ yytestcase(yyruleno==59);
+      case 60: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==60);
+      case 61: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_4 */ yytestcase(yyruleno==61);
+      case 62: /* html_block ::= html_block html_line */ yytestcase(yyruleno==62);
+      case 63: /* html_com_block ::= html_comment LINE_STOP_COMMENT */ yytestcase(yyruleno==63);
+      case 64: /* html_comment ::= html_comment comment_line */ yytestcase(yyruleno==64);
+      case 65: /* indented_code ::= indented_code indented_line */ yytestcase(yyruleno==65);
+      case 66: /* indented_code ::= indented_code LINE_EMPTY */ yytestcase(yyruleno==66);
+      case 67: /* list_bullet ::= list_bullet item_bullet */ yytestcase(yyruleno==67);
+      case 72: /* list_enum ::= list_enum item_enum */ yytestcase(yyruleno==72);
+      case 77: /* meta_block ::= meta_block meta_line */ yytestcase(yyruleno==77);
+      case 78: /* para ::= LINE_PLAIN chunk */ yytestcase(yyruleno==78);
+      case 79: /* setext_1 ::= para LINE_SETEXT_1 */ yytestcase(yyruleno==79);
+      case 80: /* setext_2 ::= para LINE_SETEXT_2 */ yytestcase(yyruleno==80);
+      case 81: /* table ::= table_header table_body */ yytestcase(yyruleno==81);
+      case 83: /* header_rows ::= header_rows LINE_TABLE */ yytestcase(yyruleno==83);
+      case 84: /* table_body ::= table_body table_section */ yytestcase(yyruleno==84);
+      case 87: /* all_rows ::= all_rows row */ yytestcase(yyruleno==87);
 { yylhsminor.yy0 = yymsp[-1].minor.yy0; token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); }
   yymsp[-1].minor.yy0 = yylhsminor.yy0;
         break;
-      case 31: /* nested_chunk ::= empty indented_line chunk */
+      case 32: /* nested_chunk ::= empty indented_line chunk */
 { yylhsminor.yy0 = yymsp[-2].minor.yy0; token_chain_append(yymsp[-2].minor.yy0, yymsp[-1].minor.yy0); token_chain_append(yymsp[-2].minor.yy0, yymsp[0].minor.yy0); yymsp[-1].minor.yy0->type = LINE_CONTINUATION; }
   yymsp[-2].minor.yy0 = yylhsminor.yy0;
         break;
-      case 32: /* nested_chunk ::= empty indented_line */
+      case 33: /* nested_chunk ::= empty indented_line */
 { yylhsminor.yy0 = yymsp[-1].minor.yy0; token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); yymsp[0].minor.yy0->type = LINE_CONTINUATION; }
   yymsp[-1].minor.yy0 = yylhsminor.yy0;
         break;
-      case 41: /* definition_block ::= para defs */
+      case 42: /* definition_block ::= para defs */
 { yylhsminor.yy0 = yymsp[-1].minor.yy0; token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); yymsp[-1].minor.yy0->type = BLOCK_TERM; }
   yymsp[-1].minor.yy0 = yylhsminor.yy0;
         break;
-      case 43: /* def ::= LINE_DEFINITION tail */
+      case 44: /* def ::= LINE_DEFINITION tail */
 { yylhsminor.yy0 = token_new_parent(yymsp[-1].minor.yy0, BLOCK_DEFINITION); token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); recursive_parse_indent(engine, yylhsminor.yy0); }
   yymsp[-1].minor.yy0 = yylhsminor.yy0;
         break;
-      case 44: /* def ::= LINE_DEFINITION */
+      case 45: /* def ::= LINE_DEFINITION */
 { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_DEFINITION);  }
   yymsp[0].minor.yy0 = yylhsminor.yy0;
         break;
-      case 46: /* fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_3 */
-      case 47: /* fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==47);
-      case 48: /* fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==48);
-      case 50: /* fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==50);
-      case 51: /* fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==51);
-      case 55: /* fenced_block ::= fenced_5 LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==55);
+      case 47: /* fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_3 */
+      case 48: /* fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==48);
+      case 49: /* fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==49);
+      case 51: /* fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==51);
+      case 52: /* fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==52);
+      case 56: /* fenced_block ::= fenced_5 LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==56);
 { yylhsminor.yy0 = yymsp[-1].minor.yy0; token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); yymsp[0].minor.yy0->child->type = CODE_FENCE; }
   yymsp[-1].minor.yy0 = yylhsminor.yy0;
         break;
-      case 65: /* item_bullet ::= LINE_LIST_BULLETED ext_chunk */
-      case 67: /* item_bullet ::= LINE_LIST_BULLETED nested_chunks */ yytestcase(yyruleno==67);
-      case 70: /* item_enum ::= LINE_LIST_ENUMERATED ext_chunk */ yytestcase(yyruleno==70);
-      case 72: /* item_enum ::= LINE_LIST_ENUMERATED nested_chunks */ yytestcase(yyruleno==72);
+      case 68: /* item_bullet ::= LINE_LIST_BULLETED ext_chunk */
+      case 70: /* item_bullet ::= LINE_LIST_BULLETED nested_chunks */ yytestcase(yyruleno==70);
+      case 73: /* item_enum ::= LINE_LIST_ENUMERATED ext_chunk */ yytestcase(yyruleno==73);
+      case 75: /* item_enum ::= LINE_LIST_ENUMERATED nested_chunks */ yytestcase(yyruleno==75);
 { yylhsminor.yy0 = token_new_parent(yymsp[-1].minor.yy0, BLOCK_LIST_ITEM); token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); recursive_parse_list_item(engine, yylhsminor.yy0); }
   yymsp[-1].minor.yy0 = yylhsminor.yy0;
         break;
-      case 66: /* item_bullet ::= LINE_LIST_BULLETED chunk */
-      case 71: /* item_enum ::= LINE_LIST_ENUMERATED chunk */ yytestcase(yyruleno==71);
+      case 69: /* item_bullet ::= LINE_LIST_BULLETED chunk */
+      case 74: /* item_enum ::= LINE_LIST_ENUMERATED chunk */ yytestcase(yyruleno==74);
 { yylhsminor.yy0 = token_new_parent(yymsp[-1].minor.yy0, BLOCK_LIST_ITEM_TIGHT); token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); recursive_parse_list_item(engine, yylhsminor.yy0); }
   yymsp[-1].minor.yy0 = yylhsminor.yy0;
         break;
-      case 68: /* item_bullet ::= LINE_LIST_BULLETED */
-      case 73: /* item_enum ::= LINE_LIST_ENUMERATED */ yytestcase(yyruleno==73);
+      case 71: /* item_bullet ::= LINE_LIST_BULLETED */
+      case 76: /* item_enum ::= LINE_LIST_ENUMERATED */ yytestcase(yyruleno==76);
 { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_LIST_ITEM_TIGHT); }
   yymsp[0].minor.yy0 = yylhsminor.yy0;
         break;
-      case 79: /* table_header ::= header_rows LINE_TABLE_SEPARATOR */
+      case 82: /* table_header ::= header_rows LINE_TABLE_SEPARATOR */
 { yylhsminor.yy0 = token_new_parent(yymsp[-1].minor.yy0, BLOCK_TABLE_HEADER); token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); }
   yymsp[-1].minor.yy0 = yylhsminor.yy0;
         break;
-      case 82: /* table_section ::= all_rows LINE_EMPTY */
+      case 85: /* table_section ::= all_rows LINE_EMPTY */
 { yylhsminor.yy0 = token_new_parent(yymsp[-1].minor.yy0, BLOCK_TABLE_SECTION); token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); }
   yymsp[-1].minor.yy0 = yylhsminor.yy0;
         break;
-      case 83: /* table_section ::= all_rows */
+      case 86: /* table_section ::= all_rows */
 { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_TABLE_SECTION); }
   yymsp[0].minor.yy0 = yylhsminor.yy0;
         break;
-      case 85: /* para ::= all_rows */
+      case 88: /* para ::= all_rows */
 { yylhsminor.yy0 = yymsp[0].minor.yy0; }
   yymsp[0].minor.yy0 = yylhsminor.yy0;
         break;
       default:
-      /* (86) chunk ::= chunk_line (OPTIMIZED OUT) */ assert(yyruleno!=86);
-      /* (87) chunk_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==87);
-      /* (88) nested_chunks ::= nested_chunk (OPTIMIZED OUT) */ assert(yyruleno!=88);
-      /* (89) nested_chunk ::= empty */ yytestcase(yyruleno==89);
-      /* (90) indented_line ::= LINE_INDENTED_TAB */ yytestcase(yyruleno==90);
-      /* (91) indented_line ::= LINE_INDENTED_SPACE */ yytestcase(yyruleno==91);
-      /* (92) opt_ext_chunk ::= chunk */ yytestcase(yyruleno==92);
-      /* (93) tail ::= opt_ext_chunk (OPTIMIZED OUT) */ assert(yyruleno!=93);
-      /* (94) tail ::= nested_chunks */ yytestcase(yyruleno==94);
-      /* (95) blockquote ::= LINE_BLOCKQUOTE */ yytestcase(yyruleno==95);
-      /* (96) quote_line ::= LINE_BLOCKQUOTE */ yytestcase(yyruleno==96);
-      /* (97) quote_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==97);
-      /* (98) def_citation ::= LINE_DEF_CITATION */ yytestcase(yyruleno==98);
-      /* (99) def_footnote ::= LINE_DEF_FOOTNOTE */ yytestcase(yyruleno==99);
-      /* (100) def_glossary ::= LINE_DEF_GLOSSARY */ yytestcase(yyruleno==100);
-      /* (101) def_link ::= LINE_DEF_LINK */ yytestcase(yyruleno==101);
-      /* (102) def_abbreviation ::= LINE_DEF_ABBREVIATION */ yytestcase(yyruleno==102);
-      /* (103) defs ::= def (OPTIMIZED OUT) */ assert(yyruleno!=103);
-      /* (104) empty ::= LINE_EMPTY */ yytestcase(yyruleno==104);
-      /* (105) fenced_block ::= fenced_3 */ yytestcase(yyruleno==105);
-      /* (106) fenced_3 ::= LINE_FENCE_BACKTICK_3 */ yytestcase(yyruleno==106);
-      /* (107) fenced_3 ::= LINE_FENCE_BACKTICK_START_3 */ yytestcase(yyruleno==107);
-      /* (108) fenced_block ::= fenced_4 */ yytestcase(yyruleno==108);
-      /* (109) fenced_4 ::= LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==109);
-      /* (110) fenced_4 ::= LINE_FENCE_BACKTICK_START_4 */ yytestcase(yyruleno==110);
-      /* (111) fenced_block ::= fenced_5 */ yytestcase(yyruleno==111);
-      /* (112) fenced_5 ::= LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==112);
-      /* (113) fenced_5 ::= LINE_FENCE_BACKTICK_START_5 */ yytestcase(yyruleno==113);
-      /* (114) fenced_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==114);
-      /* (115) fenced_line ::= LINE_EMPTY */ yytestcase(yyruleno==115);
-      /* (116) fenced_line ::= LINE_FALLBACK */ yytestcase(yyruleno==116);
-      /* (117) fenced_line ::= LINE_HR */ yytestcase(yyruleno==117);
-      /* (118) fenced_line ::= LINE_HTML */ yytestcase(yyruleno==118);
-      /* (119) html_block ::= LINE_HTML */ yytestcase(yyruleno==119);
-      /* (120) html_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==120);
-      /* (121) html_line ::= LINE_FALLBACK */ yytestcase(yyruleno==121);
-      /* (122) html_line ::= LINE_HR */ yytestcase(yyruleno==122);
-      /* (123) html_line ::= LINE_HTML */ yytestcase(yyruleno==123);
-      /* (124) indented_code ::= indented_line (OPTIMIZED OUT) */ assert(yyruleno!=124);
-      /* (125) list_bullet ::= item_bullet (OPTIMIZED OUT) */ assert(yyruleno!=125);
-      /* (126) list_enum ::= item_enum (OPTIMIZED OUT) */ assert(yyruleno!=126);
-      /* (127) meta_block ::= LINE_META */ yytestcase(yyruleno==127);
-      /* (128) meta_line ::= LINE_META */ yytestcase(yyruleno==128);
-      /* (129) meta_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==129);
-      /* (130) para ::= LINE_PLAIN */ yytestcase(yyruleno==130);
-      /* (131) table ::= table_header */ yytestcase(yyruleno==131);
-      /* (132) header_rows ::= LINE_TABLE */ yytestcase(yyruleno==132);
-      /* (133) table_body ::= table_section (OPTIMIZED OUT) */ assert(yyruleno!=133);
-      /* (134) all_rows ::= row (OPTIMIZED OUT) */ assert(yyruleno!=134);
-      /* (135) row ::= header_rows */ yytestcase(yyruleno==135);
-      /* (136) row ::= LINE_TABLE_SEPARATOR */ yytestcase(yyruleno==136);
-      /* (137) para ::= defs */ yytestcase(yyruleno==137);
+      /* (89) chunk ::= chunk_line (OPTIMIZED OUT) */ assert(yyruleno!=89);
+      /* (90) chunk_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==90);
+      /* (91) chunk_line ::= LINE_STOP_COMMENT */ yytestcase(yyruleno==91);
+      /* (92) nested_chunks ::= nested_chunk (OPTIMIZED OUT) */ assert(yyruleno!=92);
+      /* (93) nested_chunk ::= empty */ yytestcase(yyruleno==93);
+      /* (94) indented_line ::= LINE_INDENTED_TAB */ yytestcase(yyruleno==94);
+      /* (95) indented_line ::= LINE_INDENTED_SPACE */ yytestcase(yyruleno==95);
+      /* (96) opt_ext_chunk ::= chunk */ yytestcase(yyruleno==96);
+      /* (97) tail ::= opt_ext_chunk (OPTIMIZED OUT) */ assert(yyruleno!=97);
+      /* (98) tail ::= nested_chunks */ yytestcase(yyruleno==98);
+      /* (99) blockquote ::= LINE_BLOCKQUOTE */ yytestcase(yyruleno==99);
+      /* (100) quote_line ::= LINE_BLOCKQUOTE */ yytestcase(yyruleno==100);
+      /* (101) quote_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==101);
+      /* (102) def_citation ::= LINE_DEF_CITATION */ yytestcase(yyruleno==102);
+      /* (103) def_footnote ::= LINE_DEF_FOOTNOTE */ yytestcase(yyruleno==103);
+      /* (104) def_glossary ::= LINE_DEF_GLOSSARY */ yytestcase(yyruleno==104);
+      /* (105) def_link ::= LINE_DEF_LINK */ yytestcase(yyruleno==105);
+      /* (106) def_abbreviation ::= LINE_DEF_ABBREVIATION */ yytestcase(yyruleno==106);
+      /* (107) defs ::= def (OPTIMIZED OUT) */ assert(yyruleno!=107);
+      /* (108) empty ::= LINE_EMPTY */ yytestcase(yyruleno==108);
+      /* (109) fenced_block ::= fenced_3 */ yytestcase(yyruleno==109);
+      /* (110) fenced_3 ::= LINE_FENCE_BACKTICK_3 */ yytestcase(yyruleno==110);
+      /* (111) fenced_3 ::= LINE_FENCE_BACKTICK_START_3 */ yytestcase(yyruleno==111);
+      /* (112) fenced_block ::= fenced_4 */ yytestcase(yyruleno==112);
+      /* (113) fenced_4 ::= LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==113);
+      /* (114) fenced_4 ::= LINE_FENCE_BACKTICK_START_4 */ yytestcase(yyruleno==114);
+      /* (115) fenced_block ::= fenced_5 */ yytestcase(yyruleno==115);
+      /* (116) fenced_5 ::= LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==116);
+      /* (117) fenced_5 ::= LINE_FENCE_BACKTICK_START_5 */ yytestcase(yyruleno==117);
+      /* (118) fenced_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==118);
+      /* (119) fenced_line ::= LINE_EMPTY */ yytestcase(yyruleno==119);
+      /* (120) fenced_line ::= LINE_FALLBACK */ yytestcase(yyruleno==120);
+      /* (121) fenced_line ::= LINE_HR */ yytestcase(yyruleno==121);
+      /* (122) fenced_line ::= LINE_HTML */ yytestcase(yyruleno==122);
+      /* (123) fenced_line ::= LINE_START_COMMENT */ yytestcase(yyruleno==123);
+      /* (124) fenced_line ::= LINE_STOP_COMMENT */ yytestcase(yyruleno==124);
+      /* (125) html_block ::= LINE_HTML */ yytestcase(yyruleno==125);
+      /* (126) html_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==126);
+      /* (127) html_line ::= LINE_FALLBACK */ yytestcase(yyruleno==127);
+      /* (128) html_line ::= LINE_HR */ yytestcase(yyruleno==128);
+      /* (129) html_line ::= LINE_HTML */ yytestcase(yyruleno==129);
+      /* (130) html_com_block ::= html_comment */ yytestcase(yyruleno==130);
+      /* (131) html_comment ::= LINE_START_COMMENT */ yytestcase(yyruleno==131);
+      /* (132) comment_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==132);
+      /* (133) comment_line ::= LINE_EMPTY */ yytestcase(yyruleno==133);
+      /* (134) comment_line ::= LINE_FALLBACK */ yytestcase(yyruleno==134);
+      /* (135) comment_line ::= LINE_HR */ yytestcase(yyruleno==135);
+      /* (136) comment_line ::= LINE_HTML */ yytestcase(yyruleno==136);
+      /* (137) indented_code ::= indented_line (OPTIMIZED OUT) */ assert(yyruleno!=137);
+      /* (138) list_bullet ::= item_bullet (OPTIMIZED OUT) */ assert(yyruleno!=138);
+      /* (139) list_enum ::= item_enum (OPTIMIZED OUT) */ assert(yyruleno!=139);
+      /* (140) meta_block ::= LINE_META */ yytestcase(yyruleno==140);
+      /* (141) meta_line ::= LINE_META */ yytestcase(yyruleno==141);
+      /* (142) meta_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==142);
+      /* (143) para ::= LINE_PLAIN */ yytestcase(yyruleno==143);
+      /* (144) para ::= LINE_STOP_COMMENT */ yytestcase(yyruleno==144);
+      /* (145) table ::= table_header */ yytestcase(yyruleno==145);
+      /* (146) header_rows ::= LINE_TABLE */ yytestcase(yyruleno==146);
+      /* (147) table_body ::= table_section (OPTIMIZED OUT) */ assert(yyruleno!=147);
+      /* (148) all_rows ::= row (OPTIMIZED OUT) */ assert(yyruleno!=148);
+      /* (149) row ::= header_rows */ yytestcase(yyruleno==149);
+      /* (150) row ::= LINE_TABLE_SEPARATOR */ yytestcase(yyruleno==150);
+      /* (151) para ::= defs */ yytestcase(yyruleno==151);
         break;
 /********** End reduce actions ************************************************/
   };
index 3c8791ce247d030fa0eb8a5df283f18224dca1cb..936d9833938fcf96cbe59f17093be654a87b11d8 100644 (file)
@@ -33,4 +33,6 @@
 #define LINE_FENCE_BACKTICK_START_3     33
 #define LINE_FENCE_BACKTICK_START_4     34
 #define LINE_FENCE_BACKTICK_START_5     35
-#define LINE_EMPTY                      36
+#define LINE_STOP_COMMENT               36
+#define LINE_EMPTY                      37
+#define LINE_START_COMMENT              38
index 4644b5b691b59962cff4e1e464e9af2e2d221263..543a3d41b25f89bdd9df2ecdc5d17696bd66a401 100644 (file)
@@ -20,6 +20,7 @@ State 0:
           block ::= * empty
           block ::= * fenced_block
           block ::= * html_block
+          block ::= * html_com_block
           block ::= * indented_code
           block ::= * list_bullet
           block ::= * list_enum
@@ -75,6 +76,10 @@ State 0:
           fenced_5 ::= * LINE_FENCE_BACKTICK_START_5
           html_block ::= * html_block html_line
           html_block ::= * LINE_HTML
+          html_com_block ::= * html_comment LINE_STOP_COMMENT
+          html_com_block ::= * html_comment
+          html_comment ::= * html_comment comment_line
+          html_comment ::= * LINE_START_COMMENT
           indented_code ::= * indented_code indented_line
           indented_code ::= * indented_code LINE_EMPTY
           indented_code ::= * indented_line
@@ -94,6 +99,7 @@ State 0:
           meta_block ::= * LINE_META
           para ::= * LINE_PLAIN chunk
           para ::= * LINE_PLAIN
+          para ::= * LINE_STOP_COMMENT
           setext_1 ::= * para LINE_SETEXT_1
           setext_2 ::= * para LINE_SETEXT_2
           table ::= * table_header table_body
@@ -110,18 +116,18 @@ State 0:
 
                        LINE_HR shift-reduce 9      block ::= LINE_HR
                     LINE_PLAIN shift        16     
-             LINE_INDENTED_TAB shift-reduce 90     indented_line ::= LINE_INDENTED_TAB
-           LINE_INDENTED_SPACE shift-reduce 91     indented_line ::= LINE_INDENTED_SPACE
-                    LINE_TABLE shift-reduce 132    header_rows ::= LINE_TABLE
-          LINE_TABLE_SEPARATOR shift-reduce 136    row ::= LINE_TABLE_SEPARATOR
-                     LINE_HTML shift-reduce 119    html_block ::= LINE_HTML
+             LINE_INDENTED_TAB shift-reduce 94     indented_line ::= LINE_INDENTED_TAB
+           LINE_INDENTED_SPACE shift-reduce 95     indented_line ::= LINE_INDENTED_SPACE
+                    LINE_TABLE shift-reduce 146    header_rows ::= LINE_TABLE
+          LINE_TABLE_SEPARATOR shift-reduce 150    row ::= LINE_TABLE_SEPARATOR
+                     LINE_HTML shift-reduce 125    html_block ::= LINE_HTML
                     LINE_ATX_1 shift-reduce 3      block ::= LINE_ATX_1
                     LINE_ATX_2 shift-reduce 4      block ::= LINE_ATX_2
                     LINE_ATX_3 shift-reduce 5      block ::= LINE_ATX_3
                     LINE_ATX_4 shift-reduce 6      block ::= LINE_ATX_4
                     LINE_ATX_5 shift-reduce 7      block ::= LINE_ATX_5
                     LINE_ATX_6 shift-reduce 8      block ::= LINE_ATX_6
-               LINE_BLOCKQUOTE shift-reduce 95     blockquote ::= LINE_BLOCKQUOTE
+               LINE_BLOCKQUOTE shift-reduce 99     blockquote ::= LINE_BLOCKQUOTE
             LINE_LIST_BULLETED shift        7      
           LINE_LIST_ENUMERATED shift        6      
          LINE_DEF_ABBREVIATION shift        17     
@@ -131,45 +137,49 @@ State 0:
                  LINE_DEF_LINK shift        18     
                       LINE_TOC shift-reduce 10     block ::= LINE_TOC
                LINE_DEFINITION shift        5      
-                     LINE_META shift-reduce 127    meta_block ::= LINE_META
-         LINE_FENCE_BACKTICK_3 shift-reduce 106    fenced_3 ::= LINE_FENCE_BACKTICK_3
-         LINE_FENCE_BACKTICK_4 shift-reduce 109    fenced_4 ::= LINE_FENCE_BACKTICK_4
-         LINE_FENCE_BACKTICK_5 shift-reduce 112    fenced_5 ::= LINE_FENCE_BACKTICK_5
-   LINE_FENCE_BACKTICK_START_3 shift-reduce 107    fenced_3 ::= LINE_FENCE_BACKTICK_START_3
-   LINE_FENCE_BACKTICK_START_4 shift-reduce 110    fenced_4 ::= LINE_FENCE_BACKTICK_START_4
-   LINE_FENCE_BACKTICK_START_5 shift-reduce 113    fenced_5 ::= LINE_FENCE_BACKTICK_START_5
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
+                     LINE_META shift-reduce 140    meta_block ::= LINE_META
+         LINE_FENCE_BACKTICK_3 shift-reduce 110    fenced_3 ::= LINE_FENCE_BACKTICK_3
+         LINE_FENCE_BACKTICK_4 shift-reduce 113    fenced_4 ::= LINE_FENCE_BACKTICK_4
+         LINE_FENCE_BACKTICK_5 shift-reduce 116    fenced_5 ::= LINE_FENCE_BACKTICK_5
+   LINE_FENCE_BACKTICK_START_3 shift-reduce 111    fenced_3 ::= LINE_FENCE_BACKTICK_START_3
+   LINE_FENCE_BACKTICK_START_4 shift-reduce 114    fenced_4 ::= LINE_FENCE_BACKTICK_START_4
+   LINE_FENCE_BACKTICK_START_5 shift-reduce 117    fenced_5 ::= LINE_FENCE_BACKTICK_START_5
+             LINE_STOP_COMMENT shift-reduce 144    para ::= LINE_STOP_COMMENT
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+            LINE_START_COMMENT shift-reduce 131    html_comment ::= LINE_START_COMMENT
                            doc accept
                         blocks shift        1      
                          block shift-reduce 2      blocks ::= block
-                    blockquote shift        32     
+                    blockquote shift        37     
               def_abbreviation shift-reduce 12     block ::= def_abbreviation
                   def_citation shift-reduce 13     block ::= def_citation
                   def_footnote shift-reduce 14     block ::= def_footnote
                   def_glossary shift-reduce 15     block ::= def_glossary
                       def_link shift-reduce 16     block ::= def_link
               definition_block shift-reduce 17     block ::= definition_block
-                         empty shift        43     
+                         empty shift        44     
                   fenced_block shift-reduce 19     block ::= fenced_block
-                    html_block shift        28     
-                 indented_code shift        30     
-                   list_bullet shift        40     
-                     list_enum shift        38     
-                    meta_block shift        31     
+                    html_block shift        29     
+                html_com_block shift-reduce 21     block ::= html_com_block
+                 indented_code shift        31     
+                   list_bullet shift        41     
+                     list_enum shift        40     
+                    meta_block shift        35     
                           para shift        14     
-                      setext_1 shift-reduce 26     block ::= setext_1
-                      setext_2 shift-reduce 27     block ::= setext_2
-                         table shift-reduce 28     block ::= table
-                 indented_line shift        30       /* because indented_line==indented_code */
-                          defs shift        34     
-                           def shift        34       /* because def==defs */
+                      setext_1 shift-reduce 27     block ::= setext_1
+                      setext_2 shift-reduce 28     block ::= setext_2
+                         table shift-reduce 29     block ::= table
+                 indented_line shift        31       /* because indented_line==indented_code */
+                          defs shift        38     
+                           def shift        38       /* because def==defs */
                       fenced_3 shift        27     
                       fenced_4 shift        26     
                       fenced_5 shift        25     
-                   item_bullet shift        40       /* because item_bullet==list_bullet */
-                     item_enum shift        38       /* because item_enum==list_enum */
+                  html_comment shift        28     
+                   item_bullet shift        41       /* because item_bullet==list_bullet */
+                     item_enum shift        40       /* because item_enum==list_enum */
                   table_header shift        8      
-                   header_rows shift        41     
+                   header_rows shift        42     
                       all_rows shift        15     
                            row shift        15       /* because row==all_rows */
 
@@ -194,6 +204,7 @@ State 1:
           block ::= * empty
           block ::= * fenced_block
           block ::= * html_block
+          block ::= * html_com_block
           block ::= * indented_code
           block ::= * list_bullet
           block ::= * list_enum
@@ -249,6 +260,10 @@ State 1:
           fenced_5 ::= * LINE_FENCE_BACKTICK_START_5
           html_block ::= * html_block html_line
           html_block ::= * LINE_HTML
+          html_com_block ::= * html_comment LINE_STOP_COMMENT
+          html_com_block ::= * html_comment
+          html_comment ::= * html_comment comment_line
+          html_comment ::= * LINE_START_COMMENT
           indented_code ::= * indented_code indented_line
           indented_code ::= * indented_code LINE_EMPTY
           indented_code ::= * indented_line
@@ -268,6 +283,7 @@ State 1:
           meta_block ::= * LINE_META
           para ::= * LINE_PLAIN chunk
           para ::= * LINE_PLAIN
+          para ::= * LINE_STOP_COMMENT
           setext_1 ::= * para LINE_SETEXT_1
           setext_2 ::= * para LINE_SETEXT_2
           table ::= * table_header table_body
@@ -285,18 +301,18 @@ State 1:
                              $ reduce       0      doc ::= blocks
                        LINE_HR shift-reduce 9      block ::= LINE_HR
                     LINE_PLAIN shift        16     
-             LINE_INDENTED_TAB shift-reduce 90     indented_line ::= LINE_INDENTED_TAB
-           LINE_INDENTED_SPACE shift-reduce 91     indented_line ::= LINE_INDENTED_SPACE
-                    LINE_TABLE shift-reduce 132    header_rows ::= LINE_TABLE
-          LINE_TABLE_SEPARATOR shift-reduce 136    row ::= LINE_TABLE_SEPARATOR
-                     LINE_HTML shift-reduce 119    html_block ::= LINE_HTML
+             LINE_INDENTED_TAB shift-reduce 94     indented_line ::= LINE_INDENTED_TAB
+           LINE_INDENTED_SPACE shift-reduce 95     indented_line ::= LINE_INDENTED_SPACE
+                    LINE_TABLE shift-reduce 146    header_rows ::= LINE_TABLE
+          LINE_TABLE_SEPARATOR shift-reduce 150    row ::= LINE_TABLE_SEPARATOR
+                     LINE_HTML shift-reduce 125    html_block ::= LINE_HTML
                     LINE_ATX_1 shift-reduce 3      block ::= LINE_ATX_1
                     LINE_ATX_2 shift-reduce 4      block ::= LINE_ATX_2
                     LINE_ATX_3 shift-reduce 5      block ::= LINE_ATX_3
                     LINE_ATX_4 shift-reduce 6      block ::= LINE_ATX_4
                     LINE_ATX_5 shift-reduce 7      block ::= LINE_ATX_5
                     LINE_ATX_6 shift-reduce 8      block ::= LINE_ATX_6
-               LINE_BLOCKQUOTE shift-reduce 95     blockquote ::= LINE_BLOCKQUOTE
+               LINE_BLOCKQUOTE shift-reduce 99     blockquote ::= LINE_BLOCKQUOTE
             LINE_LIST_BULLETED shift        7      
           LINE_LIST_ENUMERATED shift        6      
          LINE_DEF_ABBREVIATION shift        17     
@@ -306,43 +322,47 @@ State 1:
                  LINE_DEF_LINK shift        18     
                       LINE_TOC shift-reduce 10     block ::= LINE_TOC
                LINE_DEFINITION shift        5      
-                     LINE_META shift-reduce 127    meta_block ::= LINE_META
-         LINE_FENCE_BACKTICK_3 shift-reduce 106    fenced_3 ::= LINE_FENCE_BACKTICK_3
-         LINE_FENCE_BACKTICK_4 shift-reduce 109    fenced_4 ::= LINE_FENCE_BACKTICK_4
-         LINE_FENCE_BACKTICK_5 shift-reduce 112    fenced_5 ::= LINE_FENCE_BACKTICK_5
-   LINE_FENCE_BACKTICK_START_3 shift-reduce 107    fenced_3 ::= LINE_FENCE_BACKTICK_START_3
-   LINE_FENCE_BACKTICK_START_4 shift-reduce 110    fenced_4 ::= LINE_FENCE_BACKTICK_START_4
-   LINE_FENCE_BACKTICK_START_5 shift-reduce 113    fenced_5 ::= LINE_FENCE_BACKTICK_START_5
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
+                     LINE_META shift-reduce 140    meta_block ::= LINE_META
+         LINE_FENCE_BACKTICK_3 shift-reduce 110    fenced_3 ::= LINE_FENCE_BACKTICK_3
+         LINE_FENCE_BACKTICK_4 shift-reduce 113    fenced_4 ::= LINE_FENCE_BACKTICK_4
+         LINE_FENCE_BACKTICK_5 shift-reduce 116    fenced_5 ::= LINE_FENCE_BACKTICK_5
+   LINE_FENCE_BACKTICK_START_3 shift-reduce 111    fenced_3 ::= LINE_FENCE_BACKTICK_START_3
+   LINE_FENCE_BACKTICK_START_4 shift-reduce 114    fenced_4 ::= LINE_FENCE_BACKTICK_START_4
+   LINE_FENCE_BACKTICK_START_5 shift-reduce 117    fenced_5 ::= LINE_FENCE_BACKTICK_START_5
+             LINE_STOP_COMMENT shift-reduce 144    para ::= LINE_STOP_COMMENT
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+            LINE_START_COMMENT shift-reduce 131    html_comment ::= LINE_START_COMMENT
                          block shift-reduce 1      blocks ::= blocks block
-                    blockquote shift        32     
+                    blockquote shift        37     
               def_abbreviation shift-reduce 12     block ::= def_abbreviation
                   def_citation shift-reduce 13     block ::= def_citation
                   def_footnote shift-reduce 14     block ::= def_footnote
                   def_glossary shift-reduce 15     block ::= def_glossary
                       def_link shift-reduce 16     block ::= def_link
               definition_block shift-reduce 17     block ::= definition_block
-                         empty shift        43     
+                         empty shift        44     
                   fenced_block shift-reduce 19     block ::= fenced_block
-                    html_block shift        28     
-                 indented_code shift        30     
-                   list_bullet shift        40     
-                     list_enum shift        38     
-                    meta_block shift        31     
+                    html_block shift        29     
+                html_com_block shift-reduce 21     block ::= html_com_block
+                 indented_code shift        31     
+                   list_bullet shift        41     
+                     list_enum shift        40     
+                    meta_block shift        35     
                           para shift        14     
-                      setext_1 shift-reduce 26     block ::= setext_1
-                      setext_2 shift-reduce 27     block ::= setext_2
-                         table shift-reduce 28     block ::= table
-                 indented_line shift        30       /* because indented_line==indented_code */
-                          defs shift        34     
-                           def shift        34       /* because def==defs */
+                      setext_1 shift-reduce 27     block ::= setext_1
+                      setext_2 shift-reduce 28     block ::= setext_2
+                         table shift-reduce 29     block ::= table
+                 indented_line shift        31       /* because indented_line==indented_code */
+                          defs shift        38     
+                           def shift        38       /* because def==defs */
                       fenced_3 shift        27     
                       fenced_4 shift        26     
                       fenced_5 shift        25     
-                   item_bullet shift        40       /* because item_bullet==list_bullet */
-                     item_enum shift        38       /* because item_enum==list_enum */
+                  html_comment shift        28     
+                   item_bullet shift        41       /* because item_bullet==list_bullet */
+                     item_enum shift        40       /* because item_enum==list_enum */
                   table_header shift        8      
-                   header_rows shift        41     
+                   header_rows shift        42     
                       all_rows shift        15     
                            row shift        15       /* because row==all_rows */
 
@@ -350,6 +370,7 @@ State 2:
           chunk ::= * chunk chunk_line
           chunk ::= * chunk_line
           chunk_line ::= * LINE_CONTINUATION
+          chunk_line ::= * LINE_STOP_COMMENT
           nested_chunks ::= * nested_chunks nested_chunk
           nested_chunks ::= * nested_chunk
           nested_chunk ::= * empty indented_line chunk
@@ -360,26 +381,29 @@ State 2:
           tail ::= * opt_ext_chunk
           tail ::= * nested_chunks
           def_glossary ::= LINE_DEF_GLOSSARY * tail
-    (100) def_glossary ::= LINE_DEF_GLOSSARY *
+    (104) def_glossary ::= LINE_DEF_GLOSSARY *
           empty ::= * empty LINE_EMPTY
           empty ::= * LINE_EMPTY
 
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
-                    LINE_EMPTY reduce       100     ** Parsing conflict **
-                         empty shift        29     
-                         chunk shift        10     
-                    chunk_line shift        10       /* because chunk_line==chunk */
-                 nested_chunks shift        19     
-                  nested_chunk shift        19       /* because nested_chunk==nested_chunks */
-                 opt_ext_chunk shift-reduce 38     def_glossary ::= LINE_DEF_GLOSSARY tail  /* because opt_ext_chunk==tail */
-                          tail shift-reduce 38     def_glossary ::= LINE_DEF_GLOSSARY tail
-                     {default} reduce       100    def_glossary ::= LINE_DEF_GLOSSARY
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       104     ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+                    LINE_EMPTY reduce       104     ** Parsing conflict **
+                         empty shift        30     
+                         chunk shift        9      
+                    chunk_line shift        9        /* because chunk_line==chunk */
+                 nested_chunks shift        20     
+                  nested_chunk shift        20       /* because nested_chunk==nested_chunks */
+                 opt_ext_chunk shift-reduce 39     def_glossary ::= LINE_DEF_GLOSSARY tail  /* because opt_ext_chunk==tail */
+                          tail shift-reduce 39     def_glossary ::= LINE_DEF_GLOSSARY tail
+                     {default} reduce       104    def_glossary ::= LINE_DEF_GLOSSARY
 
 State 3:
           chunk ::= * chunk chunk_line
           chunk ::= * chunk_line
           chunk_line ::= * LINE_CONTINUATION
+          chunk_line ::= * LINE_STOP_COMMENT
           nested_chunks ::= * nested_chunks nested_chunk
           nested_chunks ::= * nested_chunk
           nested_chunk ::= * empty indented_line chunk
@@ -390,26 +414,29 @@ State 3:
           tail ::= * opt_ext_chunk
           tail ::= * nested_chunks
           def_footnote ::= LINE_DEF_FOOTNOTE * tail
-     (99) def_footnote ::= LINE_DEF_FOOTNOTE *
+    (103) def_footnote ::= LINE_DEF_FOOTNOTE *
           empty ::= * empty LINE_EMPTY
           empty ::= * LINE_EMPTY
 
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
-                    LINE_EMPTY reduce       99      ** Parsing conflict **
-                         empty shift        29     
-                         chunk shift        10     
-                    chunk_line shift        10       /* because chunk_line==chunk */
-                 nested_chunks shift        19     
-                  nested_chunk shift        19       /* because nested_chunk==nested_chunks */
-                 opt_ext_chunk shift-reduce 37     def_footnote ::= LINE_DEF_FOOTNOTE tail  /* because opt_ext_chunk==tail */
-                          tail shift-reduce 37     def_footnote ::= LINE_DEF_FOOTNOTE tail
-                     {default} reduce       99     def_footnote ::= LINE_DEF_FOOTNOTE
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       103     ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+                    LINE_EMPTY reduce       103     ** Parsing conflict **
+                         empty shift        30     
+                         chunk shift        9      
+                    chunk_line shift        9        /* because chunk_line==chunk */
+                 nested_chunks shift        20     
+                  nested_chunk shift        20       /* because nested_chunk==nested_chunks */
+                 opt_ext_chunk shift-reduce 38     def_footnote ::= LINE_DEF_FOOTNOTE tail  /* because opt_ext_chunk==tail */
+                          tail shift-reduce 38     def_footnote ::= LINE_DEF_FOOTNOTE tail
+                     {default} reduce       103    def_footnote ::= LINE_DEF_FOOTNOTE
 
 State 4:
           chunk ::= * chunk chunk_line
           chunk ::= * chunk_line
           chunk_line ::= * LINE_CONTINUATION
+          chunk_line ::= * LINE_STOP_COMMENT
           nested_chunks ::= * nested_chunks nested_chunk
           nested_chunks ::= * nested_chunk
           nested_chunk ::= * empty indented_line chunk
@@ -420,26 +447,29 @@ State 4:
           tail ::= * opt_ext_chunk
           tail ::= * nested_chunks
           def_citation ::= LINE_DEF_CITATION * tail
-     (98) def_citation ::= LINE_DEF_CITATION *
+    (102) def_citation ::= LINE_DEF_CITATION *
           empty ::= * empty LINE_EMPTY
           empty ::= * LINE_EMPTY
 
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
-                    LINE_EMPTY reduce       98      ** Parsing conflict **
-                         empty shift        29     
-                         chunk shift        10     
-                    chunk_line shift        10       /* because chunk_line==chunk */
-                 nested_chunks shift        19     
-                  nested_chunk shift        19       /* because nested_chunk==nested_chunks */
-                 opt_ext_chunk shift-reduce 36     def_citation ::= LINE_DEF_CITATION tail  /* because opt_ext_chunk==tail */
-                          tail shift-reduce 36     def_citation ::= LINE_DEF_CITATION tail
-                     {default} reduce       98     def_citation ::= LINE_DEF_CITATION
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       102     ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+                    LINE_EMPTY reduce       102     ** Parsing conflict **
+                         empty shift        30     
+                         chunk shift        9      
+                    chunk_line shift        9        /* because chunk_line==chunk */
+                 nested_chunks shift        20     
+                  nested_chunk shift        20       /* because nested_chunk==nested_chunks */
+                 opt_ext_chunk shift-reduce 37     def_citation ::= LINE_DEF_CITATION tail  /* because opt_ext_chunk==tail */
+                          tail shift-reduce 37     def_citation ::= LINE_DEF_CITATION tail
+                     {default} reduce       102    def_citation ::= LINE_DEF_CITATION
 
 State 5:
           chunk ::= * chunk chunk_line
           chunk ::= * chunk_line
           chunk_line ::= * LINE_CONTINUATION
+          chunk_line ::= * LINE_STOP_COMMENT
           nested_chunks ::= * nested_chunks nested_chunk
           nested_chunks ::= * nested_chunk
           nested_chunk ::= * empty indented_line chunk
@@ -450,26 +480,29 @@ State 5:
           tail ::= * opt_ext_chunk
           tail ::= * nested_chunks
           def ::= LINE_DEFINITION * tail
-     (44) def ::= LINE_DEFINITION *
+     (45) def ::= LINE_DEFINITION *
           empty ::= * empty LINE_EMPTY
           empty ::= * LINE_EMPTY
 
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
-                    LINE_EMPTY reduce       44      ** Parsing conflict **
-                         empty shift        29     
-                         chunk shift        10     
-                    chunk_line shift        10       /* because chunk_line==chunk */
-                 nested_chunks shift        19     
-                  nested_chunk shift        19       /* because nested_chunk==nested_chunks */
-                 opt_ext_chunk shift-reduce 43     def ::= LINE_DEFINITION tail  /* because opt_ext_chunk==tail */
-                          tail shift-reduce 43     def ::= LINE_DEFINITION tail
-                     {default} reduce       44     def ::= LINE_DEFINITION
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       45      ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+                    LINE_EMPTY reduce       45      ** Parsing conflict **
+                         empty shift        30     
+                         chunk shift        9      
+                    chunk_line shift        9        /* because chunk_line==chunk */
+                 nested_chunks shift        20     
+                  nested_chunk shift        20       /* because nested_chunk==nested_chunks */
+                 opt_ext_chunk shift-reduce 44     def ::= LINE_DEFINITION tail  /* because opt_ext_chunk==tail */
+                          tail shift-reduce 44     def ::= LINE_DEFINITION tail
+                     {default} reduce       45     def ::= LINE_DEFINITION
 
 State 6:
           chunk ::= * chunk chunk_line
           chunk ::= * chunk_line
           chunk_line ::= * LINE_CONTINUATION
+          chunk_line ::= * LINE_STOP_COMMENT
           nested_chunks ::= * nested_chunks nested_chunk
           nested_chunks ::= * nested_chunk
           nested_chunk ::= * empty indented_line chunk
@@ -481,23 +514,26 @@ State 6:
           item_enum ::= LINE_LIST_ENUMERATED * ext_chunk
           item_enum ::= LINE_LIST_ENUMERATED * chunk
           item_enum ::= LINE_LIST_ENUMERATED * nested_chunks
-     (73) item_enum ::= LINE_LIST_ENUMERATED *
-
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
-                    LINE_EMPTY reduce       73      ** Parsing conflict **
-                         empty shift        29     
-                         chunk shift        11     
-                    chunk_line shift        11       /* because chunk_line==chunk */
-                 nested_chunks shift        21     
-                  nested_chunk shift        21       /* because nested_chunk==nested_chunks */
-                     ext_chunk shift-reduce 70     item_enum ::= LINE_LIST_ENUMERATED ext_chunk
-                     {default} reduce       73     item_enum ::= LINE_LIST_ENUMERATED
+     (76) item_enum ::= LINE_LIST_ENUMERATED *
+
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       76      ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+                    LINE_EMPTY reduce       76      ** Parsing conflict **
+                         empty shift        30     
+                         chunk shift        10     
+                    chunk_line shift        10       /* because chunk_line==chunk */
+                 nested_chunks shift        22     
+                  nested_chunk shift        22       /* because nested_chunk==nested_chunks */
+                     ext_chunk shift-reduce 73     item_enum ::= LINE_LIST_ENUMERATED ext_chunk
+                     {default} reduce       76     item_enum ::= LINE_LIST_ENUMERATED
 
 State 7:
           chunk ::= * chunk chunk_line
           chunk ::= * chunk_line
           chunk_line ::= * LINE_CONTINUATION
+          chunk_line ::= * LINE_STOP_COMMENT
           nested_chunks ::= * nested_chunks nested_chunk
           nested_chunks ::= * nested_chunk
           nested_chunk ::= * empty indented_line chunk
@@ -509,22 +545,24 @@ State 7:
           item_bullet ::= LINE_LIST_BULLETED * ext_chunk
           item_bullet ::= LINE_LIST_BULLETED * chunk
           item_bullet ::= LINE_LIST_BULLETED * nested_chunks
-     (68) item_bullet ::= LINE_LIST_BULLETED *
-
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
-                    LINE_EMPTY reduce       68      ** Parsing conflict **
-                         empty shift        29     
-                         chunk shift        12     
-                    chunk_line shift        12       /* because chunk_line==chunk */
-                 nested_chunks shift        22     
-                  nested_chunk shift        22       /* because nested_chunk==nested_chunks */
-                     ext_chunk shift-reduce 65     item_bullet ::= LINE_LIST_BULLETED ext_chunk
-                     {default} reduce       68     item_bullet ::= LINE_LIST_BULLETED
+     (71) item_bullet ::= LINE_LIST_BULLETED *
+
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       71      ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+                    LINE_EMPTY reduce       71      ** Parsing conflict **
+                         empty shift        30     
+                         chunk shift        11     
+                    chunk_line shift        11       /* because chunk_line==chunk */
+                 nested_chunks shift        23     
+                  nested_chunk shift        23       /* because nested_chunk==nested_chunks */
+                     ext_chunk shift-reduce 68     item_bullet ::= LINE_LIST_BULLETED ext_chunk
+                     {default} reduce       71     item_bullet ::= LINE_LIST_BULLETED
 
 State 8:
           table ::= table_header * table_body
-    (131) table ::= table_header *
+    (145) table ::= table_header *
           header_rows ::= * header_rows LINE_TABLE
           header_rows ::= * LINE_TABLE
           table_body ::= * table_body table_section
@@ -536,64 +574,46 @@ State 8:
           row ::= * header_rows
           row ::= * LINE_TABLE_SEPARATOR
 
-                    LINE_TABLE shift-reduce 132    header_rows ::= LINE_TABLE
-                    LINE_TABLE reduce       131     ** Parsing conflict **
-          LINE_TABLE_SEPARATOR shift-reduce 136    row ::= LINE_TABLE_SEPARATOR
-          LINE_TABLE_SEPARATOR reduce       131     ** Parsing conflict **
-                    table_body shift             
-                   header_rows shift        42     
-                 table_section shift               /* because table_section==table_body */
+                    LINE_TABLE shift-reduce 146    header_rows ::= LINE_TABLE
+                    LINE_TABLE reduce       145     ** Parsing conflict **
+          LINE_TABLE_SEPARATOR shift-reduce 150    row ::= LINE_TABLE_SEPARATOR
+          LINE_TABLE_SEPARATOR reduce       145     ** Parsing conflict **
+                    table_body shift        12     
+                   header_rows shift        43     
+                 table_section shift        12       /* because table_section==table_body */
                       all_rows shift        13     
                            row shift        13       /* because row==all_rows */
-                     {default} reduce       131    table ::= table_header
+                     {default} reduce       145    table ::= table_header
 
 State 9:
-     (78) table ::= table_header table_body *
-          header_rows ::= * header_rows LINE_TABLE
-          header_rows ::= * LINE_TABLE
-          table_body ::= table_body * table_section
-          table_section ::= * all_rows LINE_EMPTY
-          table_section ::= * all_rows
-          all_rows ::= * all_rows row
-          all_rows ::= * row
-          row ::= * header_rows
-          row ::= * LINE_TABLE_SEPARATOR
-
-                    LINE_TABLE shift-reduce 132    header_rows ::= LINE_TABLE
-                    LINE_TABLE reduce       78      ** Parsing conflict **
-          LINE_TABLE_SEPARATOR shift-reduce 136    row ::= LINE_TABLE_SEPARATOR
-          LINE_TABLE_SEPARATOR reduce       78      ** Parsing conflict **
-                   header_rows shift        42     
-                 table_section shift-reduce 81     table_body ::= table_body table_section
-                      all_rows shift        13     
-                           row shift        13       /* because row==all_rows */
-                     {default} reduce       78     table ::= table_header table_body
-
-State 10:
           chunk ::= chunk * chunk_line
           chunk_line ::= * LINE_CONTINUATION
+          chunk_line ::= * LINE_STOP_COMMENT
           nested_chunks ::= * nested_chunks nested_chunk
           nested_chunks ::= * nested_chunk
           nested_chunk ::= * empty indented_line chunk
           nested_chunk ::= * empty indented_line
           nested_chunk ::= * empty
           opt_ext_chunk ::= chunk * nested_chunks
-     (92) opt_ext_chunk ::= chunk *
+     (96) opt_ext_chunk ::= chunk *
           empty ::= * empty LINE_EMPTY
           empty ::= * LINE_EMPTY
 
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
-                    LINE_EMPTY reduce       92      ** Parsing conflict **
-                         empty shift        29     
-                    chunk_line shift-reduce 29     chunk ::= chunk chunk_line
-                 nested_chunks shift        20     
-                  nested_chunk shift        20       /* because nested_chunk==nested_chunks */
-                     {default} reduce       92     opt_ext_chunk ::= chunk
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       96      ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+                    LINE_EMPTY reduce       96      ** Parsing conflict **
+                         empty shift        30     
+                    chunk_line shift-reduce 30     chunk ::= chunk chunk_line
+                 nested_chunks shift        21     
+                  nested_chunk shift        21       /* because nested_chunk==nested_chunks */
+                     {default} reduce       96     opt_ext_chunk ::= chunk
 
-State 11:
+State 10:
           chunk ::= chunk * chunk_line
           chunk_line ::= * LINE_CONTINUATION
+          chunk_line ::= * LINE_STOP_COMMENT
           nested_chunks ::= * nested_chunks nested_chunk
           nested_chunks ::= * nested_chunk
           nested_chunk ::= * empty indented_line chunk
@@ -602,20 +622,23 @@ State 11:
           ext_chunk ::= chunk * nested_chunks
           empty ::= * empty LINE_EMPTY
           empty ::= * LINE_EMPTY
-     (71) item_enum ::= LINE_LIST_ENUMERATED chunk *
-
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
-                    LINE_EMPTY reduce       71      ** Parsing conflict **
-                         empty shift        29     
-                    chunk_line shift-reduce 29     chunk ::= chunk chunk_line
+     (74) item_enum ::= LINE_LIST_ENUMERATED chunk *
+
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       74      ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+                    LINE_EMPTY reduce       74      ** Parsing conflict **
+                         empty shift        30     
+                    chunk_line shift-reduce 30     chunk ::= chunk chunk_line
                  nested_chunks shift        24     
                   nested_chunk shift        24       /* because nested_chunk==nested_chunks */
-                     {default} reduce       71     item_enum ::= LINE_LIST_ENUMERATED chunk
+                     {default} reduce       74     item_enum ::= LINE_LIST_ENUMERATED chunk
 
-State 12:
+State 11:
           chunk ::= chunk * chunk_line
           chunk_line ::= * LINE_CONTINUATION
+          chunk_line ::= * LINE_STOP_COMMENT
           nested_chunks ::= * nested_chunks nested_chunk
           nested_chunks ::= * nested_chunk
           nested_chunk ::= * empty indented_line chunk
@@ -624,38 +647,62 @@ State 12:
           ext_chunk ::= chunk * nested_chunks
           empty ::= * empty LINE_EMPTY
           empty ::= * LINE_EMPTY
-     (66) item_bullet ::= LINE_LIST_BULLETED chunk *
-
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
-                    LINE_EMPTY reduce       66      ** Parsing conflict **
-                         empty shift        29     
-                    chunk_line shift-reduce 29     chunk ::= chunk chunk_line
+     (69) item_bullet ::= LINE_LIST_BULLETED chunk *
+
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       69      ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+                    LINE_EMPTY reduce       69      ** Parsing conflict **
+                         empty shift        30     
+                    chunk_line shift-reduce 30     chunk ::= chunk chunk_line
                  nested_chunks shift        24     
                   nested_chunk shift        24       /* because nested_chunk==nested_chunks */
-                     {default} reduce       66     item_bullet ::= LINE_LIST_BULLETED chunk
+                     {default} reduce       69     item_bullet ::= LINE_LIST_BULLETED chunk
+
+State 12:
+     (81) table ::= table_header table_body *
+          header_rows ::= * header_rows LINE_TABLE
+          header_rows ::= * LINE_TABLE
+          table_body ::= table_body * table_section
+          table_section ::= * all_rows LINE_EMPTY
+          table_section ::= * all_rows
+          all_rows ::= * all_rows row
+          all_rows ::= * row
+          row ::= * header_rows
+          row ::= * LINE_TABLE_SEPARATOR
+
+                    LINE_TABLE shift-reduce 146    header_rows ::= LINE_TABLE
+                    LINE_TABLE reduce       81      ** Parsing conflict **
+          LINE_TABLE_SEPARATOR shift-reduce 150    row ::= LINE_TABLE_SEPARATOR
+          LINE_TABLE_SEPARATOR reduce       81      ** Parsing conflict **
+                   header_rows shift        43     
+                 table_section shift-reduce 84     table_body ::= table_body table_section
+                      all_rows shift        13     
+                           row shift        13       /* because row==all_rows */
+                     {default} reduce       81     table ::= table_header table_body
 
 State 13:
           header_rows ::= * header_rows LINE_TABLE
           header_rows ::= * LINE_TABLE
           table_section ::= all_rows * LINE_EMPTY
-     (83) table_section ::= all_rows *
+     (86) table_section ::= all_rows *
           all_rows ::= all_rows * row
           row ::= * header_rows
           row ::= * LINE_TABLE_SEPARATOR
 
-                    LINE_TABLE shift-reduce 132    header_rows ::= LINE_TABLE
-                    LINE_TABLE reduce       83      ** Parsing conflict **
-          LINE_TABLE_SEPARATOR shift-reduce 136    row ::= LINE_TABLE_SEPARATOR
-          LINE_TABLE_SEPARATOR reduce       83      ** Parsing conflict **
-                    LINE_EMPTY shift-reduce 82     table_section ::= all_rows LINE_EMPTY
-                    LINE_EMPTY reduce       83      ** Parsing conflict **
-                   header_rows shift        42     
-                           row shift-reduce 84     all_rows ::= all_rows row
-                     {default} reduce       83     table_section ::= all_rows
+                    LINE_TABLE shift-reduce 146    header_rows ::= LINE_TABLE
+                    LINE_TABLE reduce       86      ** Parsing conflict **
+          LINE_TABLE_SEPARATOR shift-reduce 150    row ::= LINE_TABLE_SEPARATOR
+          LINE_TABLE_SEPARATOR reduce       86      ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 85     table_section ::= all_rows LINE_EMPTY
+                    LINE_EMPTY reduce       86      ** Parsing conflict **
+                   header_rows shift        43     
+                           row shift-reduce 87     all_rows ::= all_rows row
+                     {default} reduce       86     table_section ::= all_rows
 
 State 14:
-     (25) block ::= para *
+     (26) block ::= para *
           definition_block ::= para * defs
           defs ::= * defs def
           defs ::= * def
@@ -664,13 +711,13 @@ State 14:
           setext_1 ::= para * LINE_SETEXT_1
           setext_2 ::= para * LINE_SETEXT_2
 
-                 LINE_SETEXT_1 shift-reduce 76     setext_1 ::= para LINE_SETEXT_1
-                 LINE_SETEXT_2 shift-reduce 77     setext_2 ::= para LINE_SETEXT_2
+                 LINE_SETEXT_1 shift-reduce 79     setext_1 ::= para LINE_SETEXT_1
+                 LINE_SETEXT_2 shift-reduce 80     setext_2 ::= para LINE_SETEXT_2
                LINE_DEFINITION shift        5      
-               LINE_DEFINITION reduce       25      ** Parsing conflict **
-                          defs shift        37     
-                           def shift        37       /* because def==defs */
-                     {default} reduce       25     block ::= para
+               LINE_DEFINITION reduce       26      ** Parsing conflict **
+                          defs shift        39     
+                           def shift        39       /* because def==defs */
+                     {default} reduce       26     block ::= para
 
 State 15:
           header_rows ::= * header_rows LINE_TABLE
@@ -678,142 +725,154 @@ State 15:
           all_rows ::= all_rows * row
           row ::= * header_rows
           row ::= * LINE_TABLE_SEPARATOR
-     (85) para ::= all_rows *
+     (88) para ::= all_rows *
 
-                    LINE_TABLE shift-reduce 132    header_rows ::= LINE_TABLE
-                    LINE_TABLE reduce       85      ** Parsing conflict **
-          LINE_TABLE_SEPARATOR shift-reduce 136    row ::= LINE_TABLE_SEPARATOR
-          LINE_TABLE_SEPARATOR reduce       85      ** Parsing conflict **
-                   header_rows shift        42     
-                           row shift-reduce 84     all_rows ::= all_rows row
-                     {default} reduce       85     para ::= all_rows
+                    LINE_TABLE shift-reduce 146    header_rows ::= LINE_TABLE
+                    LINE_TABLE reduce       88      ** Parsing conflict **
+          LINE_TABLE_SEPARATOR shift-reduce 150    row ::= LINE_TABLE_SEPARATOR
+          LINE_TABLE_SEPARATOR reduce       88      ** Parsing conflict **
+                   header_rows shift        43     
+                           row shift-reduce 87     all_rows ::= all_rows row
+                     {default} reduce       88     para ::= all_rows
 
 State 16:
           chunk ::= * chunk chunk_line
           chunk ::= * chunk_line
           chunk_line ::= * LINE_CONTINUATION
+          chunk_line ::= * LINE_STOP_COMMENT
           para ::= LINE_PLAIN * chunk
-    (130) para ::= LINE_PLAIN *
+    (143) para ::= LINE_PLAIN *
 
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                         chunk shift        33     
-                    chunk_line shift        33       /* because chunk_line==chunk */
-                     {default} reduce       130    para ::= LINE_PLAIN
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       143     ** Parsing conflict **
+                         chunk shift        32     
+                    chunk_line shift        32       /* because chunk_line==chunk */
+                     {default} reduce       143    para ::= LINE_PLAIN
 
 State 17:
           chunk ::= * chunk chunk_line
           chunk ::= * chunk_line
           chunk_line ::= * LINE_CONTINUATION
+          chunk_line ::= * LINE_STOP_COMMENT
           def_abbreviation ::= LINE_DEF_ABBREVIATION * chunk
-    (102) def_abbreviation ::= LINE_DEF_ABBREVIATION *
+    (106) def_abbreviation ::= LINE_DEF_ABBREVIATION *
 
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                         chunk shift        35     
-                    chunk_line shift        35       /* because chunk_line==chunk */
-                     {default} reduce       102    def_abbreviation ::= LINE_DEF_ABBREVIATION
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       106     ** Parsing conflict **
+                         chunk shift        33     
+                    chunk_line shift        33       /* because chunk_line==chunk */
+                     {default} reduce       106    def_abbreviation ::= LINE_DEF_ABBREVIATION
 
 State 18:
           chunk ::= * chunk chunk_line
           chunk ::= * chunk_line
           chunk_line ::= * LINE_CONTINUATION
+          chunk_line ::= * LINE_STOP_COMMENT
           def_link ::= LINE_DEF_LINK * chunk
-    (101) def_link ::= LINE_DEF_LINK *
+    (105) def_link ::= LINE_DEF_LINK *
+
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       105     ** Parsing conflict **
+                         chunk shift        34     
+                    chunk_line shift        34       /* because chunk_line==chunk */
+                     {default} reduce       105    def_link ::= LINE_DEF_LINK
+
+State 19:
+          chunk ::= * chunk chunk_line
+          chunk ::= * chunk_line
+          chunk_line ::= * LINE_CONTINUATION
+          chunk_line ::= * LINE_STOP_COMMENT
+          nested_chunk ::= empty indented_line * chunk
+     (33) nested_chunk ::= empty indented_line *
 
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       33      ** Parsing conflict **
                          chunk shift        36     
                     chunk_line shift        36       /* because chunk_line==chunk */
-                     {default} reduce       101    def_link ::= LINE_DEF_LINK
+                     {default} reduce       33     nested_chunk ::= empty indented_line
 
-State 19:
+State 20:
           nested_chunks ::= nested_chunks * nested_chunk
           nested_chunk ::= * empty indented_line chunk
           nested_chunk ::= * empty indented_line
           nested_chunk ::= * empty
-     (94) tail ::= nested_chunks *
+     (98) tail ::= nested_chunks *
           empty ::= * empty LINE_EMPTY
           empty ::= * LINE_EMPTY
 
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
-                    LINE_EMPTY reduce       94      ** Parsing conflict **
-                         empty shift        29     
-                  nested_chunk shift-reduce 30     nested_chunks ::= nested_chunks nested_chunk
-                     {default} reduce       94     tail ::= nested_chunks
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+                    LINE_EMPTY reduce       98      ** Parsing conflict **
+                         empty shift        30     
+                  nested_chunk shift-reduce 31     nested_chunks ::= nested_chunks nested_chunk
+                     {default} reduce       98     tail ::= nested_chunks
 
-State 20:
+State 21:
           nested_chunks ::= nested_chunks * nested_chunk
           nested_chunk ::= * empty indented_line chunk
           nested_chunk ::= * empty indented_line
           nested_chunk ::= * empty
-     (34) opt_ext_chunk ::= chunk nested_chunks *
+     (35) opt_ext_chunk ::= chunk nested_chunks *
           empty ::= * empty LINE_EMPTY
           empty ::= * LINE_EMPTY
 
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
-                    LINE_EMPTY reduce       34      ** Parsing conflict **
-                         empty shift        29     
-                  nested_chunk shift-reduce 30     nested_chunks ::= nested_chunks nested_chunk
-                     {default} reduce       34     opt_ext_chunk ::= chunk nested_chunks
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+                    LINE_EMPTY reduce       35      ** Parsing conflict **
+                         empty shift        30     
+                  nested_chunk shift-reduce 31     nested_chunks ::= nested_chunks nested_chunk
+                     {default} reduce       35     opt_ext_chunk ::= chunk nested_chunks
 
-State 21:
+State 22:
           nested_chunks ::= nested_chunks * nested_chunk
           nested_chunk ::= * empty indented_line chunk
           nested_chunk ::= * empty indented_line
           nested_chunk ::= * empty
           empty ::= * empty LINE_EMPTY
           empty ::= * LINE_EMPTY
-     (72) item_enum ::= LINE_LIST_ENUMERATED nested_chunks *
+     (75) item_enum ::= LINE_LIST_ENUMERATED nested_chunks *
 
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
-                    LINE_EMPTY reduce       72      ** Parsing conflict **
-                         empty shift        29     
-                  nested_chunk shift-reduce 30     nested_chunks ::= nested_chunks nested_chunk
-                     {default} reduce       72     item_enum ::= LINE_LIST_ENUMERATED nested_chunks
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+                    LINE_EMPTY reduce       75      ** Parsing conflict **
+                         empty shift        30     
+                  nested_chunk shift-reduce 31     nested_chunks ::= nested_chunks nested_chunk
+                     {default} reduce       75     item_enum ::= LINE_LIST_ENUMERATED nested_chunks
 
-State 22:
+State 23:
           nested_chunks ::= nested_chunks * nested_chunk
           nested_chunk ::= * empty indented_line chunk
           nested_chunk ::= * empty indented_line
           nested_chunk ::= * empty
           empty ::= * empty LINE_EMPTY
           empty ::= * LINE_EMPTY
-     (67) item_bullet ::= LINE_LIST_BULLETED nested_chunks *
+     (70) item_bullet ::= LINE_LIST_BULLETED nested_chunks *
 
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
-                    LINE_EMPTY reduce       67      ** Parsing conflict **
-                         empty shift        29     
-                  nested_chunk shift-reduce 30     nested_chunks ::= nested_chunks nested_chunk
-                     {default} reduce       67     item_bullet ::= LINE_LIST_BULLETED nested_chunks
-
-State 23:
-          chunk ::= * chunk chunk_line
-          chunk ::= * chunk_line
-          chunk_line ::= * LINE_CONTINUATION
-          nested_chunk ::= empty indented_line * chunk
-     (32) nested_chunk ::= empty indented_line *
-
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                         chunk shift        39     
-                    chunk_line shift        39       /* because chunk_line==chunk */
-                     {default} reduce       32     nested_chunk ::= empty indented_line
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+                    LINE_EMPTY reduce       70      ** Parsing conflict **
+                         empty shift        30     
+                  nested_chunk shift-reduce 31     nested_chunks ::= nested_chunks nested_chunk
+                     {default} reduce       70     item_bullet ::= LINE_LIST_BULLETED nested_chunks
 
 State 24:
           nested_chunks ::= nested_chunks * nested_chunk
           nested_chunk ::= * empty indented_line chunk
           nested_chunk ::= * empty indented_line
           nested_chunk ::= * empty
-     (33) ext_chunk ::= chunk nested_chunks *
+     (34) ext_chunk ::= chunk nested_chunks *
           empty ::= * empty LINE_EMPTY
           empty ::= * LINE_EMPTY
 
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
-                    LINE_EMPTY reduce       33      ** Parsing conflict **
-                         empty shift        29     
-                  nested_chunk shift-reduce 30     nested_chunks ::= nested_chunks nested_chunk
-                     {default} reduce       33     ext_chunk ::= chunk nested_chunks
+                    LINE_EMPTY shift-reduce 108    empty ::= LINE_EMPTY
+                    LINE_EMPTY reduce       34      ** Parsing conflict **
+                         empty shift        30     
+                  nested_chunk shift-reduce 31     nested_chunks ::= nested_chunks nested_chunk
+                     {default} reduce       34     ext_chunk ::= chunk nested_chunks
 
 State 25:
           fenced_block ::= fenced_5 * LINE_FENCE_BACKTICK_5
-    (111) fenced_block ::= fenced_5 *
+    (115) fenced_block ::= fenced_5 *
           fenced_5 ::= fenced_5 * fenced_line
           fenced_5 ::= fenced_5 * LINE_FENCE_BACKTICK_3
           fenced_5 ::= fenced_5 * LINE_FENCE_BACKTICK_START_3
@@ -824,32 +883,38 @@ State 25:
           fenced_line ::= * LINE_FALLBACK
           fenced_line ::= * LINE_HR
           fenced_line ::= * LINE_HTML
-
-                       LINE_HR shift-reduce 117    fenced_line ::= LINE_HR
-                       LINE_HR reduce       111     ** Parsing conflict **
-             LINE_CONTINUATION shift-reduce 114    fenced_line ::= LINE_CONTINUATION
-                 LINE_FALLBACK shift-reduce 116    fenced_line ::= LINE_FALLBACK
-                     LINE_HTML shift-reduce 118    fenced_line ::= LINE_HTML
-                     LINE_HTML reduce       111     ** Parsing conflict **
-         LINE_FENCE_BACKTICK_3 shift-reduce 57     fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_3
-         LINE_FENCE_BACKTICK_3 reduce       111     ** Parsing conflict **
-         LINE_FENCE_BACKTICK_4 shift-reduce 59     fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_4
-         LINE_FENCE_BACKTICK_4 reduce       111     ** Parsing conflict **
-         LINE_FENCE_BACKTICK_5 shift-reduce 55     fenced_block ::= fenced_5 LINE_FENCE_BACKTICK_5
-         LINE_FENCE_BACKTICK_5 reduce       111     ** Parsing conflict **
-   LINE_FENCE_BACKTICK_START_3 shift-reduce 58     fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_3
-   LINE_FENCE_BACKTICK_START_3 reduce       111     ** Parsing conflict **
-   LINE_FENCE_BACKTICK_START_4 shift-reduce 60     fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_4
-   LINE_FENCE_BACKTICK_START_4 reduce       111     ** Parsing conflict **
-                    LINE_EMPTY shift-reduce 115    fenced_line ::= LINE_EMPTY
-                    LINE_EMPTY reduce       111     ** Parsing conflict **
-                   fenced_line shift-reduce 56     fenced_5 ::= fenced_5 fenced_line
-                     {default} reduce       111    fenced_block ::= fenced_5
+          fenced_line ::= * LINE_START_COMMENT
+          fenced_line ::= * LINE_STOP_COMMENT
+
+                       LINE_HR shift-reduce 121    fenced_line ::= LINE_HR
+                       LINE_HR reduce       115     ** Parsing conflict **
+             LINE_CONTINUATION shift-reduce 118    fenced_line ::= LINE_CONTINUATION
+                 LINE_FALLBACK shift-reduce 120    fenced_line ::= LINE_FALLBACK
+                     LINE_HTML shift-reduce 122    fenced_line ::= LINE_HTML
+                     LINE_HTML reduce       115     ** Parsing conflict **
+         LINE_FENCE_BACKTICK_3 shift-reduce 58     fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_3
+         LINE_FENCE_BACKTICK_3 reduce       115     ** Parsing conflict **
+         LINE_FENCE_BACKTICK_4 shift-reduce 60     fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_4
+         LINE_FENCE_BACKTICK_4 reduce       115     ** Parsing conflict **
+         LINE_FENCE_BACKTICK_5 shift-reduce 56     fenced_block ::= fenced_5 LINE_FENCE_BACKTICK_5
+         LINE_FENCE_BACKTICK_5 reduce       115     ** Parsing conflict **
+   LINE_FENCE_BACKTICK_START_3 shift-reduce 59     fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_3
+   LINE_FENCE_BACKTICK_START_3 reduce       115     ** Parsing conflict **
+   LINE_FENCE_BACKTICK_START_4 shift-reduce 61     fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_4
+   LINE_FENCE_BACKTICK_START_4 reduce       115     ** Parsing conflict **
+             LINE_STOP_COMMENT shift-reduce 124    fenced_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       115     ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 119    fenced_line ::= LINE_EMPTY
+                    LINE_EMPTY reduce       115     ** Parsing conflict **
+            LINE_START_COMMENT shift-reduce 123    fenced_line ::= LINE_START_COMMENT
+            LINE_START_COMMENT reduce       115     ** Parsing conflict **
+                   fenced_line shift-reduce 57     fenced_5 ::= fenced_5 fenced_line
+                     {default} reduce       115    fenced_block ::= fenced_5
 
 State 26:
           fenced_block ::= fenced_4 * LINE_FENCE_BACKTICK_4
           fenced_block ::= fenced_4 * LINE_FENCE_BACKTICK_5
-    (108) fenced_block ::= fenced_4 *
+    (112) fenced_block ::= fenced_4 *
           fenced_4 ::= fenced_4 * fenced_line
           fenced_4 ::= fenced_4 * LINE_FENCE_BACKTICK_3
           fenced_4 ::= fenced_4 * LINE_FENCE_BACKTICK_START_3
@@ -858,56 +923,91 @@ State 26:
           fenced_line ::= * LINE_FALLBACK
           fenced_line ::= * LINE_HR
           fenced_line ::= * LINE_HTML
-
-                       LINE_HR shift-reduce 117    fenced_line ::= LINE_HR
-                       LINE_HR reduce       108     ** Parsing conflict **
-             LINE_CONTINUATION shift-reduce 114    fenced_line ::= LINE_CONTINUATION
-                 LINE_FALLBACK shift-reduce 116    fenced_line ::= LINE_FALLBACK
-                     LINE_HTML shift-reduce 118    fenced_line ::= LINE_HTML
-                     LINE_HTML reduce       108     ** Parsing conflict **
-         LINE_FENCE_BACKTICK_3 shift-reduce 53     fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_3
-         LINE_FENCE_BACKTICK_3 reduce       108     ** Parsing conflict **
-         LINE_FENCE_BACKTICK_4 shift-reduce 50     fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_4
-         LINE_FENCE_BACKTICK_4 reduce       108     ** Parsing conflict **
-         LINE_FENCE_BACKTICK_5 shift-reduce 51     fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_5
-         LINE_FENCE_BACKTICK_5 reduce       108     ** Parsing conflict **
-   LINE_FENCE_BACKTICK_START_3 shift-reduce 54     fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_START_3
-   LINE_FENCE_BACKTICK_START_3 reduce       108     ** Parsing conflict **
-                    LINE_EMPTY shift-reduce 115    fenced_line ::= LINE_EMPTY
-                    LINE_EMPTY reduce       108     ** Parsing conflict **
-                   fenced_line shift-reduce 52     fenced_4 ::= fenced_4 fenced_line
-                     {default} reduce       108    fenced_block ::= fenced_4
+          fenced_line ::= * LINE_START_COMMENT
+          fenced_line ::= * LINE_STOP_COMMENT
+
+                       LINE_HR shift-reduce 121    fenced_line ::= LINE_HR
+                       LINE_HR reduce       112     ** Parsing conflict **
+             LINE_CONTINUATION shift-reduce 118    fenced_line ::= LINE_CONTINUATION
+                 LINE_FALLBACK shift-reduce 120    fenced_line ::= LINE_FALLBACK
+                     LINE_HTML shift-reduce 122    fenced_line ::= LINE_HTML
+                     LINE_HTML reduce       112     ** Parsing conflict **
+         LINE_FENCE_BACKTICK_3 shift-reduce 54     fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_3
+         LINE_FENCE_BACKTICK_3 reduce       112     ** Parsing conflict **
+         LINE_FENCE_BACKTICK_4 shift-reduce 51     fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_4
+         LINE_FENCE_BACKTICK_4 reduce       112     ** Parsing conflict **
+         LINE_FENCE_BACKTICK_5 shift-reduce 52     fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_5
+         LINE_FENCE_BACKTICK_5 reduce       112     ** Parsing conflict **
+   LINE_FENCE_BACKTICK_START_3 shift-reduce 55     fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_START_3
+   LINE_FENCE_BACKTICK_START_3 reduce       112     ** Parsing conflict **
+             LINE_STOP_COMMENT shift-reduce 124    fenced_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       112     ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 119    fenced_line ::= LINE_EMPTY
+                    LINE_EMPTY reduce       112     ** Parsing conflict **
+            LINE_START_COMMENT shift-reduce 123    fenced_line ::= LINE_START_COMMENT
+            LINE_START_COMMENT reduce       112     ** Parsing conflict **
+                   fenced_line shift-reduce 53     fenced_4 ::= fenced_4 fenced_line
+                     {default} reduce       112    fenced_block ::= fenced_4
 
 State 27:
           fenced_block ::= fenced_3 * LINE_FENCE_BACKTICK_3
           fenced_block ::= fenced_3 * LINE_FENCE_BACKTICK_4
           fenced_block ::= fenced_3 * LINE_FENCE_BACKTICK_5
-    (105) fenced_block ::= fenced_3 *
+    (109) fenced_block ::= fenced_3 *
           fenced_3 ::= fenced_3 * fenced_line
           fenced_line ::= * LINE_CONTINUATION
           fenced_line ::= * LINE_EMPTY
           fenced_line ::= * LINE_FALLBACK
           fenced_line ::= * LINE_HR
           fenced_line ::= * LINE_HTML
-
-                       LINE_HR shift-reduce 117    fenced_line ::= LINE_HR
-                       LINE_HR reduce       105     ** Parsing conflict **
-             LINE_CONTINUATION shift-reduce 114    fenced_line ::= LINE_CONTINUATION
-                 LINE_FALLBACK shift-reduce 116    fenced_line ::= LINE_FALLBACK
-                     LINE_HTML shift-reduce 118    fenced_line ::= LINE_HTML
-                     LINE_HTML reduce       105     ** Parsing conflict **
-         LINE_FENCE_BACKTICK_3 shift-reduce 46     fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_3
-         LINE_FENCE_BACKTICK_3 reduce       105     ** Parsing conflict **
-         LINE_FENCE_BACKTICK_4 shift-reduce 47     fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_4
-         LINE_FENCE_BACKTICK_4 reduce       105     ** Parsing conflict **
-         LINE_FENCE_BACKTICK_5 shift-reduce 48     fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_5
-         LINE_FENCE_BACKTICK_5 reduce       105     ** Parsing conflict **
-                    LINE_EMPTY shift-reduce 115    fenced_line ::= LINE_EMPTY
-                    LINE_EMPTY reduce       105     ** Parsing conflict **
-                   fenced_line shift-reduce 49     fenced_3 ::= fenced_3 fenced_line
-                     {default} reduce       105    fenced_block ::= fenced_3
+          fenced_line ::= * LINE_START_COMMENT
+          fenced_line ::= * LINE_STOP_COMMENT
+
+                       LINE_HR shift-reduce 121    fenced_line ::= LINE_HR
+                       LINE_HR reduce       109     ** Parsing conflict **
+             LINE_CONTINUATION shift-reduce 118    fenced_line ::= LINE_CONTINUATION
+                 LINE_FALLBACK shift-reduce 120    fenced_line ::= LINE_FALLBACK
+                     LINE_HTML shift-reduce 122    fenced_line ::= LINE_HTML
+                     LINE_HTML reduce       109     ** Parsing conflict **
+         LINE_FENCE_BACKTICK_3 shift-reduce 47     fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_3
+         LINE_FENCE_BACKTICK_3 reduce       109     ** Parsing conflict **
+         LINE_FENCE_BACKTICK_4 shift-reduce 48     fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_4
+         LINE_FENCE_BACKTICK_4 reduce       109     ** Parsing conflict **
+         LINE_FENCE_BACKTICK_5 shift-reduce 49     fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_5
+         LINE_FENCE_BACKTICK_5 reduce       109     ** Parsing conflict **
+             LINE_STOP_COMMENT shift-reduce 124    fenced_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       109     ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 119    fenced_line ::= LINE_EMPTY
+                    LINE_EMPTY reduce       109     ** Parsing conflict **
+            LINE_START_COMMENT shift-reduce 123    fenced_line ::= LINE_START_COMMENT
+            LINE_START_COMMENT reduce       109     ** Parsing conflict **
+                   fenced_line shift-reduce 50     fenced_3 ::= fenced_3 fenced_line
+                     {default} reduce       109    fenced_block ::= fenced_3
 
 State 28:
+          html_com_block ::= html_comment * LINE_STOP_COMMENT
+    (130) html_com_block ::= html_comment *
+          html_comment ::= html_comment * comment_line
+          comment_line ::= * LINE_CONTINUATION
+          comment_line ::= * LINE_EMPTY
+          comment_line ::= * LINE_FALLBACK
+          comment_line ::= * LINE_HR
+          comment_line ::= * LINE_HTML
+
+                       LINE_HR shift-reduce 135    comment_line ::= LINE_HR
+                       LINE_HR reduce       130     ** Parsing conflict **
+             LINE_CONTINUATION shift-reduce 132    comment_line ::= LINE_CONTINUATION
+                 LINE_FALLBACK shift-reduce 134    comment_line ::= LINE_FALLBACK
+                     LINE_HTML shift-reduce 136    comment_line ::= LINE_HTML
+                     LINE_HTML reduce       130     ** Parsing conflict **
+             LINE_STOP_COMMENT shift-reduce 63     html_com_block ::= html_comment LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       130     ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 133    comment_line ::= LINE_EMPTY
+                    LINE_EMPTY reduce       130     ** Parsing conflict **
+                  comment_line shift-reduce 64     html_comment ::= html_comment comment_line
+                     {default} reduce       130    html_com_block ::= html_comment
+
+State 29:
      (20) block ::= html_block *
           html_block ::= html_block * html_line
           html_line ::= * LINE_CONTINUATION
@@ -915,123 +1015,144 @@ State 28:
           html_line ::= * LINE_HR
           html_line ::= * LINE_HTML
 
-                       LINE_HR shift-reduce 122    html_line ::= LINE_HR
+                       LINE_HR shift-reduce 128    html_line ::= LINE_HR
                        LINE_HR reduce       20      ** Parsing conflict **
-             LINE_CONTINUATION shift-reduce 120    html_line ::= LINE_CONTINUATION
-                 LINE_FALLBACK shift-reduce 121    html_line ::= LINE_FALLBACK
-                     LINE_HTML shift-reduce 123    html_line ::= LINE_HTML
+             LINE_CONTINUATION shift-reduce 126    html_line ::= LINE_CONTINUATION
+                 LINE_FALLBACK shift-reduce 127    html_line ::= LINE_FALLBACK
+                     LINE_HTML shift-reduce 129    html_line ::= LINE_HTML
                      LINE_HTML reduce       20      ** Parsing conflict **
-                     html_line shift-reduce 61     html_block ::= html_block html_line
+                     html_line shift-reduce 62     html_block ::= html_block html_line
                      {default} reduce       20     block ::= html_block
 
-State 29:
+State 30:
           nested_chunk ::= empty * indented_line chunk
           nested_chunk ::= empty * indented_line
-     (89) nested_chunk ::= empty *
+     (93) nested_chunk ::= empty *
           indented_line ::= * LINE_INDENTED_TAB
           indented_line ::= * LINE_INDENTED_SPACE
           empty ::= empty * LINE_EMPTY
 
-             LINE_INDENTED_TAB shift-reduce 90     indented_line ::= LINE_INDENTED_TAB
-             LINE_INDENTED_TAB reduce       89      ** Parsing conflict **
-           LINE_INDENTED_SPACE shift-reduce 91     indented_line ::= LINE_INDENTED_SPACE
-           LINE_INDENTED_SPACE reduce       89      ** Parsing conflict **
-                    LINE_EMPTY shift-reduce 45     empty ::= empty LINE_EMPTY
-                    LINE_EMPTY reduce       89      ** Parsing conflict **
-                 indented_line shift        23     
-                     {default} reduce       89     nested_chunk ::= empty
+             LINE_INDENTED_TAB shift-reduce 94     indented_line ::= LINE_INDENTED_TAB
+             LINE_INDENTED_TAB reduce       93      ** Parsing conflict **
+           LINE_INDENTED_SPACE shift-reduce 95     indented_line ::= LINE_INDENTED_SPACE
+           LINE_INDENTED_SPACE reduce       93      ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 46     empty ::= empty LINE_EMPTY
+                    LINE_EMPTY reduce       93      ** Parsing conflict **
+                 indented_line shift        19     
+                     {default} reduce       93     nested_chunk ::= empty
 
-State 30:
-     (21) block ::= indented_code *
+State 31:
+     (22) block ::= indented_code *
           indented_line ::= * LINE_INDENTED_TAB
           indented_line ::= * LINE_INDENTED_SPACE
           indented_code ::= indented_code * indented_line
           indented_code ::= indented_code * LINE_EMPTY
 
-             LINE_INDENTED_TAB shift-reduce 90     indented_line ::= LINE_INDENTED_TAB
-             LINE_INDENTED_TAB reduce       21      ** Parsing conflict **
-           LINE_INDENTED_SPACE shift-reduce 91     indented_line ::= LINE_INDENTED_SPACE
-           LINE_INDENTED_SPACE reduce       21      ** Parsing conflict **
-                    LINE_EMPTY shift-reduce 63     indented_code ::= indented_code LINE_EMPTY
-                    LINE_EMPTY reduce       21      ** Parsing conflict **
-                 indented_line shift-reduce 62     indented_code ::= indented_code indented_line
-                     {default} reduce       21     block ::= indented_code
-
-State 31:
-     (24) block ::= meta_block *
-          meta_block ::= meta_block * meta_line
-          meta_line ::= * LINE_META
-          meta_line ::= * LINE_CONTINUATION
-
-             LINE_CONTINUATION shift-reduce 129    meta_line ::= LINE_CONTINUATION
-                     LINE_META shift-reduce 128    meta_line ::= LINE_META
-                     LINE_META reduce       24      ** Parsing conflict **
-                     meta_line shift-reduce 74     meta_block ::= meta_block meta_line
-                     {default} reduce       24     block ::= meta_block
+             LINE_INDENTED_TAB shift-reduce 94     indented_line ::= LINE_INDENTED_TAB
+             LINE_INDENTED_TAB reduce       22      ** Parsing conflict **
+           LINE_INDENTED_SPACE shift-reduce 95     indented_line ::= LINE_INDENTED_SPACE
+           LINE_INDENTED_SPACE reduce       22      ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 66     indented_code ::= indented_code LINE_EMPTY
+                    LINE_EMPTY reduce       22      ** Parsing conflict **
+                 indented_line shift-reduce 65     indented_code ::= indented_code indented_line
+                     {default} reduce       22     block ::= indented_code
 
 State 32:
-     (11) block ::= blockquote *
-          blockquote ::= blockquote * quote_line
-          quote_line ::= * LINE_BLOCKQUOTE
-          quote_line ::= * LINE_CONTINUATION
+          chunk ::= chunk * chunk_line
+          chunk_line ::= * LINE_CONTINUATION
+          chunk_line ::= * LINE_STOP_COMMENT
+     (78) para ::= LINE_PLAIN chunk *
 
-             LINE_CONTINUATION shift-reduce 97     quote_line ::= LINE_CONTINUATION
-               LINE_BLOCKQUOTE shift-reduce 96     quote_line ::= LINE_BLOCKQUOTE
-               LINE_BLOCKQUOTE reduce       11      ** Parsing conflict **
-                    quote_line shift-reduce 35     blockquote ::= blockquote quote_line
-                     {default} reduce       11     block ::= blockquote
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       78      ** Parsing conflict **
+                    chunk_line shift-reduce 30     chunk ::= chunk chunk_line
+                     {default} reduce       78     para ::= LINE_PLAIN chunk
 
 State 33:
           chunk ::= chunk * chunk_line
           chunk_line ::= * LINE_CONTINUATION
-     (75) para ::= LINE_PLAIN chunk *
+          chunk_line ::= * LINE_STOP_COMMENT
+     (41) def_abbreviation ::= LINE_DEF_ABBREVIATION chunk *
 
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                    chunk_line shift-reduce 29     chunk ::= chunk chunk_line
-                     {default} reduce       75     para ::= LINE_PLAIN chunk
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       41      ** Parsing conflict **
+                    chunk_line shift-reduce 30     chunk ::= chunk chunk_line
+                     {default} reduce       41     def_abbreviation ::= LINE_DEF_ABBREVIATION chunk
 
 State 34:
-          defs ::= defs * def
-          def ::= * LINE_DEFINITION tail
-          def ::= * LINE_DEFINITION
-    (137) para ::= defs *
+          chunk ::= chunk * chunk_line
+          chunk_line ::= * LINE_CONTINUATION
+          chunk_line ::= * LINE_STOP_COMMENT
+     (40) def_link ::= LINE_DEF_LINK chunk *
 
-               LINE_DEFINITION shift        5      
-               LINE_DEFINITION reduce       137     ** Parsing conflict **
-                           def shift-reduce 42     defs ::= defs def
-                     {default} reduce       137    para ::= defs
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       40      ** Parsing conflict **
+                    chunk_line shift-reduce 30     chunk ::= chunk chunk_line
+                     {default} reduce       40     def_link ::= LINE_DEF_LINK chunk
 
 State 35:
-          chunk ::= chunk * chunk_line
-          chunk_line ::= * LINE_CONTINUATION
-     (40) def_abbreviation ::= LINE_DEF_ABBREVIATION chunk *
+     (25) block ::= meta_block *
+          meta_block ::= meta_block * meta_line
+          meta_line ::= * LINE_META
+          meta_line ::= * LINE_CONTINUATION
 
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                    chunk_line shift-reduce 29     chunk ::= chunk chunk_line
-                     {default} reduce       40     def_abbreviation ::= LINE_DEF_ABBREVIATION chunk
+             LINE_CONTINUATION shift-reduce 142    meta_line ::= LINE_CONTINUATION
+                     LINE_META shift-reduce 141    meta_line ::= LINE_META
+                     LINE_META reduce       25      ** Parsing conflict **
+                     meta_line shift-reduce 77     meta_block ::= meta_block meta_line
+                     {default} reduce       25     block ::= meta_block
 
 State 36:
           chunk ::= chunk * chunk_line
           chunk_line ::= * LINE_CONTINUATION
-     (39) def_link ::= LINE_DEF_LINK chunk *
+          chunk_line ::= * LINE_STOP_COMMENT
+     (32) nested_chunk ::= empty indented_line chunk *
 
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                    chunk_line shift-reduce 29     chunk ::= chunk chunk_line
-                     {default} reduce       39     def_link ::= LINE_DEF_LINK chunk
+             LINE_CONTINUATION shift-reduce 90     chunk_line ::= LINE_CONTINUATION
+             LINE_STOP_COMMENT shift-reduce 91     chunk_line ::= LINE_STOP_COMMENT
+             LINE_STOP_COMMENT reduce       32      ** Parsing conflict **
+                    chunk_line shift-reduce 30     chunk ::= chunk chunk_line
+                     {default} reduce       32     nested_chunk ::= empty indented_line chunk
 
 State 37:
-     (41) definition_block ::= para defs *
+     (11) block ::= blockquote *
+          blockquote ::= blockquote * quote_line
+          quote_line ::= * LINE_BLOCKQUOTE
+          quote_line ::= * LINE_CONTINUATION
+
+             LINE_CONTINUATION shift-reduce 101    quote_line ::= LINE_CONTINUATION
+               LINE_BLOCKQUOTE shift-reduce 100    quote_line ::= LINE_BLOCKQUOTE
+               LINE_BLOCKQUOTE reduce       11      ** Parsing conflict **
+                    quote_line shift-reduce 36     blockquote ::= blockquote quote_line
+                     {default} reduce       11     block ::= blockquote
+
+State 38:
           defs ::= defs * def
           def ::= * LINE_DEFINITION tail
           def ::= * LINE_DEFINITION
+    (151) para ::= defs *
 
                LINE_DEFINITION shift        5      
-               LINE_DEFINITION reduce       41      ** Parsing conflict **
-                           def shift-reduce 42     defs ::= defs def
-                     {default} reduce       41     definition_block ::= para defs
+               LINE_DEFINITION reduce       151     ** Parsing conflict **
+                           def shift-reduce 43     defs ::= defs def
+                     {default} reduce       151    para ::= defs
 
-State 38:
-     (23) block ::= list_enum *
+State 39:
+     (42) definition_block ::= para defs *
+          defs ::= defs * def
+          def ::= * LINE_DEFINITION tail
+          def ::= * LINE_DEFINITION
+
+               LINE_DEFINITION shift        5      
+               LINE_DEFINITION reduce       42      ** Parsing conflict **
+                           def shift-reduce 43     defs ::= defs def
+                     {default} reduce       42     definition_block ::= para defs
+
+State 40:
+     (24) block ::= list_enum *
           list_enum ::= list_enum * item_enum
           item_enum ::= * LINE_LIST_ENUMERATED ext_chunk
           item_enum ::= * LINE_LIST_ENUMERATED chunk
@@ -1039,21 +1160,12 @@ State 38:
           item_enum ::= * LINE_LIST_ENUMERATED
 
           LINE_LIST_ENUMERATED shift        6      
-          LINE_LIST_ENUMERATED reduce       23      ** Parsing conflict **
-                     item_enum shift-reduce 69     list_enum ::= list_enum item_enum
-                     {default} reduce       23     block ::= list_enum
+          LINE_LIST_ENUMERATED reduce       24      ** Parsing conflict **
+                     item_enum shift-reduce 72     list_enum ::= list_enum item_enum
+                     {default} reduce       24     block ::= list_enum
 
-State 39:
-          chunk ::= chunk * chunk_line
-          chunk_line ::= * LINE_CONTINUATION
-     (31) nested_chunk ::= empty indented_line chunk *
-
-             LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
-                    chunk_line shift-reduce 29     chunk ::= chunk chunk_line
-                     {default} reduce       31     nested_chunk ::= empty indented_line chunk
-
-State 40:
-     (22) block ::= list_bullet *
+State 41:
+     (23) block ::= list_bullet *
           list_bullet ::= list_bullet * item_bullet
           item_bullet ::= * LINE_LIST_BULLETED ext_chunk
           item_bullet ::= * LINE_LIST_BULLETED chunk
@@ -1061,34 +1173,34 @@ State 40:
           item_bullet ::= * LINE_LIST_BULLETED
 
             LINE_LIST_BULLETED shift        7      
-            LINE_LIST_BULLETED reduce       22      ** Parsing conflict **
-                   item_bullet shift-reduce 64     list_bullet ::= list_bullet item_bullet
-                     {default} reduce       22     block ::= list_bullet
+            LINE_LIST_BULLETED reduce       23      ** Parsing conflict **
+                   item_bullet shift-reduce 67     list_bullet ::= list_bullet item_bullet
+                     {default} reduce       23     block ::= list_bullet
 
-State 41:
+State 42:
           table_header ::= header_rows * LINE_TABLE_SEPARATOR
           header_rows ::= header_rows * LINE_TABLE
-    (135) row ::= header_rows *
+    (149) row ::= header_rows *
 
-                    LINE_TABLE shift-reduce 80     header_rows ::= header_rows LINE_TABLE
-                    LINE_TABLE reduce       135     ** Parsing conflict **
-          LINE_TABLE_SEPARATOR shift-reduce 79     table_header ::= header_rows LINE_TABLE_SEPARATOR
-          LINE_TABLE_SEPARATOR reduce       135     ** Parsing conflict **
-                     {default} reduce       135    row ::= header_rows
+                    LINE_TABLE shift-reduce 83     header_rows ::= header_rows LINE_TABLE
+                    LINE_TABLE reduce       149     ** Parsing conflict **
+          LINE_TABLE_SEPARATOR shift-reduce 82     table_header ::= header_rows LINE_TABLE_SEPARATOR
+          LINE_TABLE_SEPARATOR reduce       149     ** Parsing conflict **
+                     {default} reduce       149    row ::= header_rows
 
-State 42:
+State 43:
           header_rows ::= header_rows * LINE_TABLE
-    (135) row ::= header_rows *
+    (149) row ::= header_rows *
 
-                    LINE_TABLE shift-reduce 80     header_rows ::= header_rows LINE_TABLE
-                    LINE_TABLE reduce       135     ** Parsing conflict **
-                     {default} reduce       135    row ::= header_rows
+                    LINE_TABLE shift-reduce 83     header_rows ::= header_rows LINE_TABLE
+                    LINE_TABLE reduce       149     ** Parsing conflict **
+                     {default} reduce       149    row ::= header_rows
 
-State 43:
+State 44:
      (18) block ::= empty *
           empty ::= empty * LINE_EMPTY
 
-                    LINE_EMPTY shift-reduce 45     empty ::= empty LINE_EMPTY
+                    LINE_EMPTY shift-reduce 46     empty ::= empty LINE_EMPTY
                     LINE_EMPTY reduce       18      ** Parsing conflict **
                      {default} reduce       18     block ::= empty
 
@@ -1130,51 +1242,56 @@ Symbols:
    33: LINE_FENCE_BACKTICK_START_3
    34: LINE_FENCE_BACKTICK_START_4
    35: LINE_FENCE_BACKTICK_START_5
-   36: LINE_EMPTY
-   37: error:
-   38: doc: LINE_HR LINE_PLAIN LINE_INDENTED_TAB LINE_INDENTED_SPACE LINE_TABLE LINE_TABLE_SEPARATOR LINE_HTML LINE_ATX_1 LINE_ATX_2 LINE_ATX_3 LINE_ATX_4 LINE_ATX_5 LINE_ATX_6 LINE_BLOCKQUOTE LINE_LIST_BULLETED LINE_LIST_ENUMERATED LINE_DEF_ABBREVIATION LINE_DEF_CITATION LINE_DEF_FOOTNOTE LINE_DEF_GLOSSARY LINE_DEF_LINK LINE_TOC LINE_DEFINITION LINE_META LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5 LINE_EMPTY
-   39: blocks: LINE_HR LINE_PLAIN LINE_INDENTED_TAB LINE_INDENTED_SPACE LINE_TABLE LINE_TABLE_SEPARATOR LINE_HTML LINE_ATX_1 LINE_ATX_2 LINE_ATX_3 LINE_ATX_4 LINE_ATX_5 LINE_ATX_6 LINE_BLOCKQUOTE LINE_LIST_BULLETED LINE_LIST_ENUMERATED LINE_DEF_ABBREVIATION LINE_DEF_CITATION LINE_DEF_FOOTNOTE LINE_DEF_GLOSSARY LINE_DEF_LINK LINE_TOC LINE_DEFINITION LINE_META LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5 LINE_EMPTY
-   40: block: LINE_HR LINE_PLAIN LINE_INDENTED_TAB LINE_INDENTED_SPACE LINE_TABLE LINE_TABLE_SEPARATOR LINE_HTML LINE_ATX_1 LINE_ATX_2 LINE_ATX_3 LINE_ATX_4 LINE_ATX_5 LINE_ATX_6 LINE_BLOCKQUOTE LINE_LIST_BULLETED LINE_LIST_ENUMERATED LINE_DEF_ABBREVIATION LINE_DEF_CITATION LINE_DEF_FOOTNOTE LINE_DEF_GLOSSARY LINE_DEF_LINK LINE_TOC LINE_DEFINITION LINE_META LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5 LINE_EMPTY
-   41: blockquote: LINE_BLOCKQUOTE
-   42: def_abbreviation: LINE_DEF_ABBREVIATION
-   43: def_citation: LINE_DEF_CITATION
-   44: def_footnote: LINE_DEF_FOOTNOTE
-   45: def_glossary: LINE_DEF_GLOSSARY
-   46: def_link: LINE_DEF_LINK
-   47: definition_block: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION
-   48: empty: LINE_EMPTY
-   49: fenced_block: LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5
-   50: html_block: LINE_HTML
-   51: indented_code: LINE_INDENTED_TAB LINE_INDENTED_SPACE
-   52: list_bullet: LINE_LIST_BULLETED
-   53: list_enum: LINE_LIST_ENUMERATED
-   54: meta_block: LINE_META
-   55: para: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION
-   56: setext_1: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION
-   57: setext_2: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION
-   58: table: LINE_TABLE
-   59: chunk: LINE_CONTINUATION
-   60: chunk_line: LINE_CONTINUATION
-   61: nested_chunks: LINE_EMPTY
-   62: nested_chunk: LINE_EMPTY
-   63: indented_line: LINE_INDENTED_TAB LINE_INDENTED_SPACE
-   64: ext_chunk: LINE_CONTINUATION
-   65: opt_ext_chunk: LINE_CONTINUATION
-   66: tail: LINE_CONTINUATION LINE_EMPTY
-   67: quote_line: LINE_CONTINUATION LINE_BLOCKQUOTE
-   68: defs: LINE_DEFINITION
-   69: def: LINE_DEFINITION
-   70: fenced_3: LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_START_3
-   71: fenced_line: LINE_HR LINE_CONTINUATION LINE_FALLBACK LINE_HTML LINE_EMPTY
-   72: fenced_4: LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_START_4
-   73: fenced_5: LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_5
-   74: html_line: LINE_HR LINE_CONTINUATION LINE_FALLBACK LINE_HTML
-   75: item_bullet: LINE_LIST_BULLETED
-   76: item_enum: LINE_LIST_ENUMERATED
-   77: meta_line: LINE_CONTINUATION LINE_META
-   78: table_header: LINE_TABLE
-   79: table_body: LINE_TABLE LINE_TABLE_SEPARATOR
-   80: header_rows: LINE_TABLE
-   81: table_section: LINE_TABLE LINE_TABLE_SEPARATOR
-   82: all_rows: LINE_TABLE LINE_TABLE_SEPARATOR
-   83: row: LINE_TABLE LINE_TABLE_SEPARATOR
+   36: LINE_STOP_COMMENT
+   37: LINE_EMPTY
+   38: LINE_START_COMMENT
+   39: error:
+   40: doc: LINE_HR LINE_PLAIN LINE_INDENTED_TAB LINE_INDENTED_SPACE LINE_TABLE LINE_TABLE_SEPARATOR LINE_HTML LINE_ATX_1 LINE_ATX_2 LINE_ATX_3 LINE_ATX_4 LINE_ATX_5 LINE_ATX_6 LINE_BLOCKQUOTE LINE_LIST_BULLETED LINE_LIST_ENUMERATED LINE_DEF_ABBREVIATION LINE_DEF_CITATION LINE_DEF_FOOTNOTE LINE_DEF_GLOSSARY LINE_DEF_LINK LINE_TOC LINE_DEFINITION LINE_META LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5 LINE_STOP_COMMENT LINE_EMPTY LINE_START_COMMENT
+   41: blocks: LINE_HR LINE_PLAIN LINE_INDENTED_TAB LINE_INDENTED_SPACE LINE_TABLE LINE_TABLE_SEPARATOR LINE_HTML LINE_ATX_1 LINE_ATX_2 LINE_ATX_3 LINE_ATX_4 LINE_ATX_5 LINE_ATX_6 LINE_BLOCKQUOTE LINE_LIST_BULLETED LINE_LIST_ENUMERATED LINE_DEF_ABBREVIATION LINE_DEF_CITATION LINE_DEF_FOOTNOTE LINE_DEF_GLOSSARY LINE_DEF_LINK LINE_TOC LINE_DEFINITION LINE_META LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5 LINE_STOP_COMMENT LINE_EMPTY LINE_START_COMMENT
+   42: block: LINE_HR LINE_PLAIN LINE_INDENTED_TAB LINE_INDENTED_SPACE LINE_TABLE LINE_TABLE_SEPARATOR LINE_HTML LINE_ATX_1 LINE_ATX_2 LINE_ATX_3 LINE_ATX_4 LINE_ATX_5 LINE_ATX_6 LINE_BLOCKQUOTE LINE_LIST_BULLETED LINE_LIST_ENUMERATED LINE_DEF_ABBREVIATION LINE_DEF_CITATION LINE_DEF_FOOTNOTE LINE_DEF_GLOSSARY LINE_DEF_LINK LINE_TOC LINE_DEFINITION LINE_META LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5 LINE_STOP_COMMENT LINE_EMPTY LINE_START_COMMENT
+   43: blockquote: LINE_BLOCKQUOTE
+   44: def_abbreviation: LINE_DEF_ABBREVIATION
+   45: def_citation: LINE_DEF_CITATION
+   46: def_footnote: LINE_DEF_FOOTNOTE
+   47: def_glossary: LINE_DEF_GLOSSARY
+   48: def_link: LINE_DEF_LINK
+   49: definition_block: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION LINE_STOP_COMMENT
+   50: empty: LINE_EMPTY
+   51: fenced_block: LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5
+   52: html_block: LINE_HTML
+   53: html_com_block: LINE_START_COMMENT
+   54: indented_code: LINE_INDENTED_TAB LINE_INDENTED_SPACE
+   55: list_bullet: LINE_LIST_BULLETED
+   56: list_enum: LINE_LIST_ENUMERATED
+   57: meta_block: LINE_META
+   58: para: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION LINE_STOP_COMMENT
+   59: setext_1: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION LINE_STOP_COMMENT
+   60: setext_2: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION LINE_STOP_COMMENT
+   61: table: LINE_TABLE
+   62: chunk: LINE_CONTINUATION LINE_STOP_COMMENT
+   63: chunk_line: LINE_CONTINUATION LINE_STOP_COMMENT
+   64: nested_chunks: LINE_EMPTY
+   65: nested_chunk: LINE_EMPTY
+   66: indented_line: LINE_INDENTED_TAB LINE_INDENTED_SPACE
+   67: ext_chunk: LINE_CONTINUATION LINE_STOP_COMMENT
+   68: opt_ext_chunk: LINE_CONTINUATION LINE_STOP_COMMENT
+   69: tail: LINE_CONTINUATION LINE_STOP_COMMENT LINE_EMPTY
+   70: quote_line: LINE_CONTINUATION LINE_BLOCKQUOTE
+   71: defs: LINE_DEFINITION
+   72: def: LINE_DEFINITION
+   73: fenced_3: LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_START_3
+   74: fenced_line: LINE_HR LINE_CONTINUATION LINE_FALLBACK LINE_HTML LINE_STOP_COMMENT LINE_EMPTY LINE_START_COMMENT
+   75: fenced_4: LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_START_4
+   76: fenced_5: LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_5
+   77: html_line: LINE_HR LINE_CONTINUATION LINE_FALLBACK LINE_HTML
+   78: html_comment: LINE_START_COMMENT
+   79: comment_line: LINE_HR LINE_CONTINUATION LINE_FALLBACK LINE_HTML LINE_EMPTY
+   80: item_bullet: LINE_LIST_BULLETED
+   81: item_enum: LINE_LIST_ENUMERATED
+   82: meta_line: LINE_CONTINUATION LINE_META
+   83: table_header: LINE_TABLE
+   84: table_body: LINE_TABLE LINE_TABLE_SEPARATOR
+   85: header_rows: LINE_TABLE
+   86: table_section: LINE_TABLE LINE_TABLE_SEPARATOR
+   87: all_rows: LINE_TABLE LINE_TABLE_SEPARATOR
+   88: row: LINE_TABLE LINE_TABLE_SEPARATOR
index 88099fdd024c90e824f3e3a2a83d6fe20845bfff..710e8e2a230837a717c9a4b318f19b4947d64a55 100644 (file)
@@ -127,6 +127,7 @@ block(A)                    ::= definition_block(B).        { A = token_new_parent(B, BLOCK_DEFLIST); }
 block(A)                       ::= empty(B).                           { A = token_new_parent(B, BLOCK_EMPTY); }
 block(A)                       ::= fenced_block(B).            { A = token_new_parent(B, BLOCK_CODE_FENCED); B->child->type = CODE_FENCE; }
 block(A)                       ::= html_block(B).                      { A = token_new_parent(B, BLOCK_HTML); }
+block(A)                       ::= html_com_block(B).          { A = token_new_parent(B, BLOCK_HTML); }
 block(A)                       ::= indented_code(B).           { A = token_new_parent(B, BLOCK_CODE_INDENTED); }
 block(A)                       ::= list_bullet(B).                     { A = token_new_parent(B, BLOCK_LIST_BULLETED); is_list_loose(A); }
 block(A)                       ::= list_enum(B).                       { A = token_new_parent(B, BLOCK_LIST_ENUMERATED); is_list_loose(A); }
@@ -148,6 +149,7 @@ chunk(A)                    ::= chunk(B) chunk_line(C).                                     { A = B; token_chain_append(B, C); }
 chunk                          ::= chunk_line.
 
 chunk_line                     ::= LINE_CONTINUATION.
+chunk_line                     ::= LINE_STOP_COMMENT.
 
 
 // A "nested chunk" is useful when a chunk can also include following blocks
@@ -268,6 +270,8 @@ fenced_line                 ::= LINE_EMPTY.
 fenced_line                    ::= LINE_FALLBACK.
 fenced_line                    ::= LINE_HR.
 fenced_line                    ::= LINE_HTML.
+fenced_line                    ::= LINE_START_COMMENT.
+fenced_line                    ::= LINE_STOP_COMMENT.
 
 
 // HTML
@@ -280,6 +284,20 @@ html_line                  ::= LINE_HR.
 html_line                      ::= LINE_HTML.
 
 
+// HTML Comment
+html_com_block(A)      ::= html_comment(B) LINE_STOP_COMMENT(C).       { A = B; token_chain_append(B, C); }
+html_com_block                 ::= html_comment.
+
+html_comment(A)                ::= html_comment(B) comment_line(C).            { A = B; token_chain_append(B, C); }
+html_comment           ::= LINE_START_COMMENT.
+
+comment_line           ::= LINE_CONTINUATION.
+comment_line           ::= LINE_EMPTY.
+comment_line           ::= LINE_FALLBACK.
+comment_line           ::= LINE_HR.
+comment_line           ::= LINE_HTML.
+
+
 // Indented code blocks
 indented_code(A)       ::= indented_code(B) indented_line(C).          { A = B; token_chain_append(B, C); }
 indented_code(A)       ::= indented_code(B) LINE_EMPTY(C).                     { A = B; token_chain_append(B, C); }
@@ -317,6 +335,7 @@ meta_line                   ::= LINE_CONTINUATION.
 // Paragraphs
 para(A)                                ::= LINE_PLAIN(B) chunk(C).                                     { A = B; token_chain_append(B, C); }
 para                           ::= LINE_PLAIN.
+para                           ::= LINE_STOP_COMMENT.
 
 
 // Setext headers
index 7a8a1c4f859e91fedc8b889f5c5d359168061ec7..6ebb01942a29a85f91b153b753f7bcc09ec6f85f 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.14.3 on Sun Apr  9 18:23:03 2017 */
+/* Generated by re2c 0.14.3 on Mon May  1 19:25:34 2017 */
 /**
 
        MultiMarkdown 6 -- Lightweight markup processor to produce HTML, LaTeX, and more.
@@ -49600,6 +49600,8 @@ yy869:
 yy870:
        yych = *++c;
        switch (yych) {
+       case '\n':
+       case '\r':
        case '-':       goto yy817;
        case 0xC2:
        case 0xC3:
@@ -49668,10 +49670,8 @@ yy872:
        case 0x07:
        case 0x08:
        case '\t':
-       case '\n':
        case '\v':
        case '\f':
-       case '\r':
        case 0x0E:
        case 0x0F:
        case 0x10:
@@ -49784,6 +49784,8 @@ yy872:
        case '}':
        case '~':
        case 0x7F:      goto yy871;
+       case '\n':      goto yy886;
+       case '\r':      goto yy887;
        case '-':       goto yy879;
        case 0xC2:
        case 0xC3:
@@ -50169,10 +50171,8 @@ yy879:
        case 0x07:
        case 0x08:
        case '\t':
-       case '\n':
        case '\v':
        case '\f':
-       case '\r':
        case 0x0E:
        case 0x0F:
        case 0x10:
@@ -50285,7 +50285,9 @@ yy879:
        case '}':
        case '~':
        case 0x7F:      goto yy871;
-       case '-':       goto yy886;
+       case '\n':      goto yy886;
+       case '\r':      goto yy887;
+       case '-':       goto yy899;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -50676,10 +50678,8 @@ yy886:
        case 0x07:
        case 0x08:
        case '\t':
-       case '\n':
        case '\v':
        case '\f':
-       case '\r':
        case 0x0E:
        case 0x0F:
        case 0x10:
@@ -50711,6 +50711,7 @@ yy886:
        case '*':
        case '+':
        case ',':
+       case '-':
        case '.':
        case '/':
        case '0':
@@ -50791,9 +50792,7 @@ yy886:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy871;
-       case '-':       goto yy886;
-       case '>':       goto yy837;
+       case 0x7F:      goto yy888;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -50823,8 +50822,8 @@ yy886:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy880;
-       case 0xE0:      goto yy881;
+       case 0xDF:      goto yy890;
+       case 0xE0:      goto yy891;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -50839,29 +50838,18 @@ yy886:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy882;
-       case 0xF0:      goto yy883;
+       case 0xEF:      goto yy892;
+       case 0xF0:      goto yy893;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy884;
-       case 0xF4:      goto yy885;
+       case 0xF3:      goto yy894;
+       case 0xF4:      goto yy895;
        default:        goto yy817;
        }
-}
-       
-}
-
-
-size_t scan_html_comment(const char * c) {
-       const char * marker = NULL;
-       const char * start = c;
-
-
-{
-       unsigned char yych;
-       yych = *(marker = c);
+yy887:
+       ++c;
+       yych = *c;
        switch (yych) {
-       case 0x00:
        case 0x01:
        case 0x02:
        case 0x03:
@@ -50873,7 +50861,6 @@ size_t scan_html_comment(const char * c) {
        case '\t':
        case '\v':
        case '\f':
-       case '\r':
        case 0x0E:
        case 0x0F:
        case 0x10:
@@ -50920,8 +50907,8 @@ size_t scan_html_comment(const char * c) {
        case '9':
        case ':':
        case ';':
+       case '<':
        case '=':
-       case '>':
        case '?':
        case '@':
        case 'A':
@@ -50986,8 +50973,8 @@ size_t scan_html_comment(const char * c) {
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy892;
-       case '<':       goto yy891;
+       case 0x7F:      goto yy888;
+       case '\n':      goto yy886;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -51017,8 +51004,8 @@ size_t scan_html_comment(const char * c) {
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy893;
-       case 0xE0:      goto yy895;
+       case 0xDF:      goto yy890;
+       case 0xE0:      goto yy891;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -51033,27 +51020,200 @@ size_t scan_html_comment(const char * c) {
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy896;
-       case 0xF0:      goto yy897;
+       case 0xEF:      goto yy892;
+       case 0xF0:      goto yy893;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy898;
-       case 0xF4:      goto yy899;
-       default:        goto yy890;
+       case 0xF3:      goto yy894;
+       case 0xF4:      goto yy895;
+       default:        goto yy817;
        }
-yy890:
-       { return 0; }
-yy891:
-       yych = *(marker = ++c);
+yy888:
+       ++c;
+       yych = *c;
        switch (yych) {
-       case '!':       goto yy900;
-       default:        goto yy890;
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
+       case '\t':
+       case '\v':
+       case '\f':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '.':
+       case '/':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '?':
+       case '@':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
+       case '_':
+       case '`':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy888;
+       case '\n':      goto yy886;
+       case '\r':      goto yy887;
+       case '-':       goto yy896;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy890;
+       case 0xE0:      goto yy891;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy892;
+       case 0xF0:      goto yy893;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy894;
+       case 0xF4:      goto yy895;
+       default:        goto yy817;
        }
-yy892:
-       yych = *++c;
-       goto yy890;
-yy893:
-       yych = *++c;
+yy890:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -51118,14 +51278,12 @@ yy893:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy892;
-       default:        goto yy894;
+       case 0xBF:      goto yy888;
+       default:        goto yy817;
        }
-yy894:
-       c = marker;
-       goto yy890;
-yy895:
-       yych = *++c;
+yy891:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0xA0:
        case 0xA1:
@@ -51158,11 +51316,12 @@ yy895:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy893;
-       default:        goto yy894;
+       case 0xBF:      goto yy890;
+       default:        goto yy817;
        }
-yy896:
-       yych = *++c;
+yy892:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -51227,11 +51386,12 @@ yy896:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy893;
-       default:        goto yy894;
+       case 0xBF:      goto yy890;
+       default:        goto yy817;
        }
-yy897:
-       yych = *++c;
+yy893:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0x90:
        case 0x91:
@@ -51280,11 +51440,12 @@ yy897:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy896;
-       default:        goto yy894;
+       case 0xBF:      goto yy892;
+       default:        goto yy817;
        }
-yy898:
-       yych = *++c;
+yy894:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -51349,11 +51510,12 @@ yy898:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy896;
-       default:        goto yy894;
+       case 0xBF:      goto yy892;
+       default:        goto yy817;
        }
-yy899:
-       yych = *++c;
+yy895:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -51370,82 +51532,12 @@ yy899:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy896;
-       default:        goto yy894;
-       }
-yy900:
-       yych = *++c;
-       switch (yych) {
-       case '-':       goto yy901;
-       default:        goto yy894;
-       }
-yy901:
-       yych = *++c;
-       switch (yych) {
-       case '-':       goto yy902;
-       default:        goto yy894;
-       }
-yy902:
-       yych = *++c;
-       switch (yych) {
-       case '-':       goto yy894;
-       case 0xC2:
-       case 0xC3:
-       case 0xC4:
-       case 0xC5:
-       case 0xC6:
-       case 0xC7:
-       case 0xC8:
-       case 0xC9:
-       case 0xCA:
-       case 0xCB:
-       case 0xCC:
-       case 0xCD:
-       case 0xCE:
-       case 0xCF:
-       case 0xD0:
-       case 0xD1:
-       case 0xD2:
-       case 0xD3:
-       case 0xD4:
-       case 0xD5:
-       case 0xD6:
-       case 0xD7:
-       case 0xD8:
-       case 0xD9:
-       case 0xDA:
-       case 0xDB:
-       case 0xDC:
-       case 0xDD:
-       case 0xDE:
-       case 0xDF:      goto yy905;
-       case 0xE0:      goto yy906;
-       case 0xE1:
-       case 0xE2:
-       case 0xE3:
-       case 0xE4:
-       case 0xE5:
-       case 0xE6:
-       case 0xE7:
-       case 0xE8:
-       case 0xE9:
-       case 0xEA:
-       case 0xEB:
-       case 0xEC:
-       case 0xED:
-       case 0xEE:
-       case 0xEF:      goto yy907;
-       case 0xF0:      goto yy908;
-       case 0xF1:
-       case 0xF2:
-       case 0xF3:      goto yy909;
-       case 0xF4:      goto yy910;
-       default:        goto yy904;
+       case 0x8F:      goto yy892;
+       default:        goto yy817;
        }
-yy903:
+yy896:
        ++c;
        yych = *c;
-yy904:
        switch (yych) {
        case 0x01:
        case 0x02:
@@ -51456,10 +51548,8 @@ yy904:
        case 0x07:
        case 0x08:
        case '\t':
-       case '\n':
        case '\v':
        case '\f':
-       case '\r':
        case 0x0E:
        case 0x0F:
        case 0x10:
@@ -51571,8 +51661,10 @@ yy904:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy903;
-       case '-':       goto yy911;
+       case 0x7F:      goto yy888;
+       case '\n':      goto yy886;
+       case '\r':      goto yy887;
+       case '-':       goto yy897;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -51602,8 +51694,8 @@ yy904:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy912;
-       case 0xE0:      goto yy913;
+       case 0xDF:      goto yy890;
+       case 0xE0:      goto yy891;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -51618,333 +51710,15 @@ yy904:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy914;
-       case 0xF0:      goto yy915;
+       case 0xEF:      goto yy892;
+       case 0xF0:      goto yy893;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy916;
-       case 0xF4:      goto yy917;
-       default:        goto yy894;
-       }
-yy905:
-       yych = *++c;
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy903;
-       default:        goto yy894;
-       }
-yy906:
-       yych = *++c;
-       switch (yych) {
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy905;
-       default:        goto yy894;
-       }
-yy907:
-       yych = *++c;
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy905;
-       default:        goto yy894;
-       }
-yy908:
-       yych = *++c;
-       switch (yych) {
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy907;
-       default:        goto yy894;
-       }
-yy909:
-       yych = *++c;
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy907;
-       default:        goto yy894;
-       }
-yy910:
-       yych = *++c;
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy907;
-       default:        goto yy894;
+       case 0xF3:      goto yy894;
+       case 0xF4:      goto yy895;
+       default:        goto yy817;
        }
-yy911:
+yy897:
        ++c;
        yych = *c;
        switch (yych) {
@@ -51957,10 +51731,8 @@ yy911:
        case 0x07:
        case 0x08:
        case '\t':
-       case '\n':
        case '\v':
        case '\f':
-       case '\r':
        case 0x0E:
        case 0x0F:
        case 0x10:
@@ -52072,8 +51844,11 @@ yy911:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy903;
-       case '-':       goto yy918;
+       case 0x7F:      goto yy888;
+       case '\n':      goto yy886;
+       case '\r':      goto yy887;
+       case '-':       goto yy897;
+       case '>':       goto yy837;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -52103,8 +51878,8 @@ yy911:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy912;
-       case 0xE0:      goto yy913;
+       case 0xDF:      goto yy890;
+       case 0xE0:      goto yy891;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -52119,339 +51894,15 @@ yy911:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy914;
-       case 0xF0:      goto yy915;
+       case 0xEF:      goto yy892;
+       case 0xF0:      goto yy893;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy916;
-       case 0xF4:      goto yy917;
-       default:        goto yy894;
-       }
-yy912:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy903;
-       default:        goto yy894;
-       }
-yy913:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy912;
-       default:        goto yy894;
-       }
-yy914:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy912;
-       default:        goto yy894;
+       case 0xF3:      goto yy894;
+       case 0xF4:      goto yy895;
+       default:        goto yy817;
        }
-yy915:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy914;
-       default:        goto yy894;
-       }
-yy916:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy914;
-       default:        goto yy894;
-       }
-yy917:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy914;
-       default:        goto yy894;
-       }
-yy918:
+yy899:
        ++c;
        yych = *c;
        switch (yych) {
@@ -52464,10 +51915,8 @@ yy918:
        case 0x07:
        case 0x08:
        case '\t':
-       case '\n':
        case '\v':
        case '\f':
-       case '\r':
        case 0x0E:
        case 0x0F:
        case 0x10:
@@ -52579,9 +52028,11 @@ yy918:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy903;
-       case '-':       goto yy918;
-       case '>':       goto yy920;
+       case 0x7F:      goto yy871;
+       case '\n':      goto yy886;
+       case '\r':      goto yy887;
+       case '-':       goto yy899;
+       case '>':       goto yy837;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -52611,8 +52062,8 @@ yy918:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy912;
-       case 0xE0:      goto yy913;
+       case 0xDF:      goto yy880;
+       case 0xE0:      goto yy881;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -52627,23 +52078,20 @@ yy918:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy914;
-       case 0xF0:      goto yy915;
+       case 0xEF:      goto yy882;
+       case 0xF0:      goto yy883;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy916;
-       case 0xF4:      goto yy917;
-       default:        goto yy894;
+       case 0xF3:      goto yy884;
+       case 0xF4:      goto yy885;
+       default:        goto yy817;
        }
-yy920:
-       ++c;
-       { return (size_t)( c - start ); }
 }
        
 }
 
 
-size_t scan_html_block(const char * c) {
+size_t scan_html_comment(const char * c) {
        const char * marker = NULL;
        const char * start = c;
 
@@ -52777,8 +52225,8 @@ size_t scan_html_block(const char * c) {
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy926;
-       case '<':       goto yy925;
+       case 0x7F:      goto yy905;
+       case '<':       goto yy904;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -52808,8 +52256,8 @@ size_t scan_html_block(const char * c) {
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy927;
-       case 0xE0:      goto yy929;
+       case 0xDF:      goto yy906;
+       case 0xE0:      goto yy908;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -52824,58 +52272,26 @@ size_t scan_html_block(const char * c) {
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy930;
-       case 0xF0:      goto yy931;
+       case 0xEF:      goto yy909;
+       case 0xF0:      goto yy910;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy932;
-       case 0xF4:      goto yy933;
-       default:        goto yy924;
+       case 0xF3:      goto yy911;
+       case 0xF4:      goto yy912;
+       default:        goto yy903;
        }
-yy924:
+yy903:
        { return 0; }
-yy925:
+yy904:
        yych = *(marker = ++c);
        switch (yych) {
-       case '/':       goto yy934;
-       case 'A':
-       case 'a':       goto yy936;
-       case 'B':
-       case 'b':       goto yy937;
-       case 'C':
-       case 'c':       goto yy938;
-       case 'D':
-       case 'd':       goto yy939;
-       case 'F':
-       case 'f':       goto yy940;
-       case 'H':
-       case 'h':       goto yy941;
-       case 'I':
-       case 'i':       goto yy942;
-       case 'L':
-       case 'l':       goto yy943;
-       case 'M':
-       case 'm':       goto yy944;
-       case 'N':
-       case 'n':       goto yy945;
-       case 'O':
-       case 'o':       goto yy946;
-       case 'P':
-       case 'p':       goto yy935;
-       case 'S':
-       case 's':       goto yy947;
-       case 'T':
-       case 't':       goto yy948;
-       case 'U':
-       case 'u':       goto yy949;
-       case 'V':
-       case 'v':       goto yy950;
-       default:        goto yy924;
+       case '!':       goto yy913;
+       default:        goto yy903;
        }
-yy926:
+yy905:
        yych = *++c;
-       goto yy924;
-yy927:
+       goto yy903;
+yy906:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -52941,13 +52357,13 @@ yy927:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy926;
-       default:        goto yy928;
+       case 0xBF:      goto yy905;
+       default:        goto yy907;
        }
-yy928:
+yy907:
        c = marker;
-       goto yy924;
-yy929:
+       goto yy903;
+yy908:
        yych = *++c;
        switch (yych) {
        case 0xA0:
@@ -52981,10 +52397,10 @@ yy929:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy927;
-       default:        goto yy928;
+       case 0xBF:      goto yy906;
+       default:        goto yy907;
        }
-yy930:
+yy909:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -53050,10 +52466,10 @@ yy930:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy927;
-       default:        goto yy928;
+       case 0xBF:      goto yy906;
+       default:        goto yy907;
        }
-yy931:
+yy910:
        yych = *++c;
        switch (yych) {
        case 0x90:
@@ -53103,10 +52519,10 @@ yy931:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy930;
-       default:        goto yy928;
+       case 0xBF:      goto yy909;
+       default:        goto yy907;
        }
-yy932:
+yy911:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -53172,10 +52588,10 @@ yy932:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy930;
-       default:        goto yy928;
+       case 0xBF:      goto yy909;
+       default:        goto yy907;
        }
-yy933:
+yy912:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -53193,233 +52609,145 @@ yy933:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy930;
-       default:        goto yy928;
-       }
-yy934:
-       yych = *++c;
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy936;
-       case 'B':
-       case 'b':       goto yy937;
-       case 'C':
-       case 'c':       goto yy938;
-       case 'D':
-       case 'd':       goto yy939;
-       case 'F':
-       case 'f':       goto yy940;
-       case 'H':
-       case 'h':       goto yy941;
-       case 'I':
-       case 'i':       goto yy942;
-       case 'L':
-       case 'l':       goto yy943;
-       case 'M':
-       case 'm':       goto yy944;
-       case 'N':
-       case 'n':       goto yy945;
-       case 'O':
-       case 'o':       goto yy946;
-       case 'P':
-       case 'p':       goto yy935;
-       case 'S':
-       case 's':       goto yy947;
-       case 'T':
-       case 't':       goto yy948;
-       case 'U':
-       case 'u':       goto yy949;
-       case 'V':
-       case 'v':       goto yy950;
-       default:        goto yy928;
+       case 0x8F:      goto yy909;
+       default:        goto yy907;
        }
-yy935:
-       yych = *++c;
-       switch (yych) {
-       case '/':       goto yy963;
-       case '>':       goto yy964;
-       case 'R':
-       case 'r':       goto yy1097;
-       default:        goto yy956;
-       }
-yy936:
-       yych = *++c;
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy1086;
-       case 'R':
-       case 'r':       goto yy1085;
-       case 'S':
-       case 's':       goto yy1084;
-       default:        goto yy928;
-       }
-yy937:
-       yych = *++c;
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy1076;
-       default:        goto yy928;
-       }
-yy938:
+yy913:
        yych = *++c;
        switch (yych) {
-       case 'A':
-       case 'a':       goto yy1069;
-       case 'E':
-       case 'e':       goto yy1068;
-       default:        goto yy928;
+       case '-':       goto yy914;
+       default:        goto yy907;
        }
-yy939:
+yy914:
        yych = *++c;
        switch (yych) {
-       case 'D':
-       case 'L':
-       case 'T':
-       case 'd':
-       case 'l':
-       case 't':       goto yy954;
-       case 'I':
-       case 'i':       goto yy1067;
-       default:        goto yy928;
+       case '-':       goto yy915;
+       default:        goto yy907;
        }
-yy940:
+yy915:
        yych = *++c;
        switch (yych) {
-       case 'I':
-       case 'i':       goto yy1043;
-       case 'O':
-       case 'o':       goto yy1042;
-       case 'R':
-       case 'r':       goto yy1041;
-       default:        goto yy928;
+       case '\n':
+       case '\r':
+       case '-':       goto yy907;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy918;
+       case 0xE0:      goto yy919;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy920;
+       case 0xF0:      goto yy921;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy922;
+       case 0xF4:      goto yy923;
+       default:        goto yy917;
        }
-yy941:
-       yych = *++c;
+yy916:
+       ++c;
+       yych = *c;
+yy917:
        switch (yych) {
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
+       case '\t':
+       case '\v':
+       case '\f':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '.':
+       case '/':
+       case '0':
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':
        case '6':
-       case 'R':
-       case 'r':       goto yy954;
-       case 'E':
-       case 'e':       goto yy1034;
-       case 'G':
-       case 'g':       goto yy1033;
-       default:        goto yy928;
-       }
-yy942:
-       yych = *++c;
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy1028;
-       default:        goto yy928;
-       }
-yy943:
-       yych = *++c;
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy954;
-       default:        goto yy928;
-       }
-yy944:
-       yych = *++c;
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy1025;
-       case 'E':
-       case 'e':       goto yy1024;
-       default:        goto yy928;
-       }
-yy945:
-       yych = *++c;
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy1013;
-       case 'O':
-       case 'o':       goto yy1012;
-       default:        goto yy928;
-       }
-yy946:
-       yych = *++c;
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy954;
-       case 'U':
-       case 'u':       goto yy1008;
-       default:        goto yy928;
-       }
-yy947:
-       yych = *++c;
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy1003;
-       default:        goto yy928;
-       }
-yy948:
-       yych = *++c;
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy993;
-       case 'B':
-       case 'b':       goto yy992;
-       case 'D':
-       case 'R':
-       case 'd':
-       case 'r':       goto yy954;
-       case 'F':
-       case 'f':       goto yy991;
-       case 'H':
-       case 'h':       goto yy990;
-       default:        goto yy928;
-       }
-yy949:
-       yych = *++c;
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy954;
-       default:        goto yy928;
-       }
-yy950:
-       yych = *++c;
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy951;
-       default:        goto yy928;
-       }
-yy951:
-       yych = *++c;
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy952;
-       default:        goto yy928;
-       }
-yy952:
-       yych = *++c;
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy953;
-       default:        goto yy928;
-       }
-yy953:
-       yych = *++c;
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy954;
-       default:        goto yy928;
-       }
-yy954:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case '\t':
-       case ' ':       goto yy955;
-       case '\n':      goto yy958;
-       case '\r':      goto yy960;
-       case '/':       goto yy963;
+       case '7':
+       case '8':
+       case '9':
        case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '?':
+       case '@':
        case 'A':
        case 'B':
        case 'C':
@@ -53446,7 +52774,12 @@ yy954:
        case 'X':
        case 'Y':
        case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
        case '_':
+       case '`':
        case 'a':
        case 'b':
        case 'c':
@@ -53472,91 +52805,450 @@ yy954:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy961;
-       case '>':       goto yy964;
-       case 0xC2:      goto yy957;
-       default:        goto yy928;
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy916;
+       case '\n':      goto yy931;
+       case '\r':      goto yy932;
+       case '-':       goto yy924;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy925;
+       case 0xE0:      goto yy926;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy927;
+       case 0xF0:      goto yy928;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy929;
+       case 0xF4:      goto yy930;
+       default:        goto yy907;
        }
-yy955:
-       ++c;
-       yych = *c;
-yy956:
+yy918:
+       yych = *++c;
        switch (yych) {
-       case '\t':
-       case ' ':       goto yy955;
-       case '\n':      goto yy958;
-       case '\r':      goto yy960;
-       case ':':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case '_':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy961;
-       case 0xC2:      goto yy957;
-       default:        goto yy928;
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy916;
+       default:        goto yy907;
        }
-yy957:
-       ++c;
-       yych = *c;
+yy919:
+       yych = *++c;
        switch (yych) {
-       case 0xA0:      goto yy955;
-       default:        goto yy928;
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy918;
+       default:        goto yy907;
        }
-yy958:
+yy920:
+       yych = *++c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy918;
+       default:        goto yy907;
+       }
+yy921:
+       yych = *++c;
+       switch (yych) {
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy920;
+       default:        goto yy907;
+       }
+yy922:
+       yych = *++c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy920;
+       default:        goto yy907;
+       }
+yy923:
+       yych = *++c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:      goto yy920;
+       default:        goto yy907;
+       }
+yy924:
        ++c;
        yych = *c;
        switch (yych) {
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
        case '\t':
-       case ' ':       goto yy958;
+       case '\v':
+       case '\f':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '.':
+       case '/':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
        case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '?':
+       case '@':
        case 'A':
        case 'B':
        case 'C':
@@ -53583,7 +53275,12 @@ yy958:
        case 'X':
        case 'Y':
        case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
        case '_':
+       case '`':
        case 'a':
        case 'b':
        case 'c':
@@ -53609,166 +53306,441 @@ yy958:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy961;
-       case 0xC2:      goto yy989;
-       default:        goto yy928;
-       }
-yy960:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case '\t':
-       case '\n':
-       case ' ':       goto yy958;
-       case ':':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case '_':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy961;
-       case 0xC2:      goto yy989;
-       default:        goto yy928;
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy916;
+       case '\n':      goto yy931;
+       case '\r':      goto yy932;
+       case '-':       goto yy946;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy925;
+       case 0xE0:      goto yy926;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy927;
+       case 0xF0:      goto yy928;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy929;
+       case 0xF4:      goto yy930;
+       default:        goto yy907;
        }
-yy961:
+yy925:
        ++c;
        yych = *c;
-yy962:
        switch (yych) {
-       case '-':
-       case '.':
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':
-       case ':':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case '_':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy961;
-       case '=':       goto yy966;
-       default:        goto yy928;
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy916;
+       default:        goto yy907;
        }
-yy963:
-       yych = *++c;
+yy926:
+       ++c;
+       yych = *c;
        switch (yych) {
-       case '>':       goto yy964;
-       default:        goto yy928;
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy925;
+       default:        goto yy907;
        }
-yy964:
+yy927:
        ++c;
-       { return (size_t)( c - start ); }
-yy966:
+       yych = *c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy925;
+       default:        goto yy907;
+       }
+yy928:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy927;
+       default:        goto yy907;
+       }
+yy929:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy927;
+       default:        goto yy907;
+       }
+yy930:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:      goto yy927;
+       default:        goto yy907;
+       }
+yy931:
        ++c;
        yych = *c;
        switch (yych) {
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
        case '\t':
-       case ' ':       goto yy966;
-       case '"':       goto yy969;
-       case '\'':      goto yy971;
+       case '\v':
+       case '\f':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '-':
        case '.':
+       case '/':
        case '0':
        case '1':
        case '2':
@@ -53779,6 +53751,12 @@ yy966:
        case '7':
        case '8':
        case '9':
+       case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '?':
+       case '@':
        case 'A':
        case 'B':
        case 'C':
@@ -53805,6 +53783,12 @@ yy966:
        case 'X':
        case 'Y':
        case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
+       case '_':
+       case '`':
        case 'a':
        case 'b':
        case 'c':
@@ -53830,18 +53814,66 @@ yy966:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy973;
-       case 0xC2:      goto yy968;
-       default:        goto yy928;
-       }
-yy968:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0xA0:      goto yy966;
-       default:        goto yy928;
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy933;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy935;
+       case 0xE0:      goto yy936;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy937;
+       case 0xF0:      goto yy938;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy939;
+       case 0xF4:      goto yy940;
+       default:        goto yy907;
        }
-yy969:
+yy932:
        ++c;
        yych = *c;
        switch (yych) {
@@ -53876,6 +53908,7 @@ yy969:
        case 0x1F:
        case ' ':
        case '!':
+       case '"':
        case '#':
        case '$':
        case '%':
@@ -53903,7 +53936,6 @@ yy969:
        case ';':
        case '<':
        case '=':
-       case '>':
        case '?':
        case '@':
        case 'A':
@@ -53968,8 +54000,8 @@ yy969:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy969;
-       case '"':       goto yy954;
+       case 0x7F:      goto yy933;
+       case '\n':      goto yy931;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -53999,8 +54031,8 @@ yy969:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy983;
-       case 0xE0:      goto yy984;
+       case 0xDF:      goto yy935;
+       case 0xE0:      goto yy936;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -54015,15 +54047,15 @@ yy969:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy985;
-       case 0xF0:      goto yy986;
+       case 0xEF:      goto yy937;
+       case 0xF0:      goto yy938;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy987;
-       case 0xF4:      goto yy988;
-       default:        goto yy928;
+       case 0xF3:      goto yy939;
+       case 0xF4:      goto yy940;
+       default:        goto yy907;
        }
-yy971:
+yy933:
        ++c;
        yych = *c;
        switch (yych) {
@@ -54063,12 +54095,12 @@ yy971:
        case '$':
        case '%':
        case '&':
+       case '\'':
        case '(':
        case ')':
        case '*':
        case '+':
        case ',':
-       case '-':
        case '.':
        case '/':
        case '0':
@@ -54085,7 +54117,6 @@ yy971:
        case ';':
        case '<':
        case '=':
-       case '>':
        case '?':
        case '@':
        case 'A':
@@ -54150,8 +54181,10 @@ yy971:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy971;
-       case '\'':      goto yy954;
+       case 0x7F:      goto yy933;
+       case '\n':      goto yy931;
+       case '\r':      goto yy932;
+       case '-':       goto yy941;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -54181,8 +54214,8 @@ yy971:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy977;
-       case 0xE0:      goto yy978;
+       case 0xDF:      goto yy935;
+       case 0xE0:      goto yy936;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -54197,173 +54230,123 @@ yy971:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy979;
-       case 0xF0:      goto yy980;
+       case 0xEF:      goto yy937;
+       case 0xF0:      goto yy938;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy981;
-       case 0xF4:      goto yy982;
-       default:        goto yy928;
+       case 0xF3:      goto yy939;
+       case 0xF4:      goto yy940;
+       default:        goto yy907;
        }
-yy973:
+yy935:
        ++c;
        yych = *c;
        switch (yych) {
-       case '\t':
-       case ' ':       goto yy955;
-       case '\n':      goto yy958;
-       case '\r':      goto yy960;
-       case '.':
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':       goto yy973;
-       case '/':       goto yy963;
-       case ':':
-       case '_':       goto yy961;
-       case '>':       goto yy964;
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy975;
-       case 0xC2:      goto yy957;
-       default:        goto yy928;
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy933;
+       default:        goto yy907;
        }
-yy975:
+yy936:
        ++c;
        yych = *c;
        switch (yych) {
-       case '\t':
-       case ' ':       goto yy955;
-       case '\n':      goto yy958;
-       case '\r':      goto yy960;
-       case '-':
-       case ':':
-       case '_':       goto yy961;
-       case '.':
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy975;
-       case '/':       goto yy963;
-       case '=':       goto yy966;
-       case '>':       goto yy964;
-       case 0xC2:      goto yy957;
-       default:        goto yy928;
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy935;
+       default:        goto yy907;
        }
-yy977:
+yy937:
        ++c;
        yych = *c;
        switch (yych) {
@@ -54430,13 +54413,29 @@ yy977:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy971;
-       default:        goto yy928;
+       case 0xBF:      goto yy935;
+       default:        goto yy907;
        }
-yy978:
+yy938:
        ++c;
        yych = *c;
        switch (yych) {
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
        case 0xA0:
        case 0xA1:
        case 0xA2:
@@ -54468,10 +54467,10 @@ yy978:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy977;
-       default:        goto yy928;
+       case 0xBF:      goto yy937;
+       default:        goto yy907;
        }
-yy979:
+yy939:
        ++c;
        yych = *c;
        switch (yych) {
@@ -54538,158 +54537,4006 @@ yy979:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy977;
-       default:        goto yy928;
+       case 0xBF:      goto yy937;
+       default:        goto yy907;
        }
-yy980:
+yy940:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy979;
-       default:        goto yy928;
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:      goto yy937;
+       default:        goto yy907;
+       }
+yy941:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
+       case '\t':
+       case '\v':
+       case '\f':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '.':
+       case '/':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '?':
+       case '@':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
+       case '_':
+       case '`':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy933;
+       case '\n':      goto yy931;
+       case '\r':      goto yy932;
+       case '-':       goto yy942;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy935;
+       case 0xE0:      goto yy936;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy937;
+       case 0xF0:      goto yy938;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy939;
+       case 0xF4:      goto yy940;
+       default:        goto yy907;
+       }
+yy942:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
+       case '\t':
+       case '\v':
+       case '\f':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '.':
+       case '/':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '?':
+       case '@':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
+       case '_':
+       case '`':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy933;
+       case '\n':      goto yy931;
+       case '\r':      goto yy932;
+       case '-':       goto yy942;
+       case '>':       goto yy944;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy935;
+       case 0xE0:      goto yy936;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy937;
+       case 0xF0:      goto yy938;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy939;
+       case 0xF4:      goto yy940;
+       default:        goto yy907;
+       }
+yy944:
+       ++c;
+       { return (size_t)( c - start ); }
+yy946:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
+       case '\t':
+       case '\v':
+       case '\f':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '.':
+       case '/':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '?':
+       case '@':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
+       case '_':
+       case '`':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy916;
+       case '\n':      goto yy931;
+       case '\r':      goto yy932;
+       case '-':       goto yy946;
+       case '>':       goto yy944;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy925;
+       case 0xE0:      goto yy926;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy927;
+       case 0xF0:      goto yy928;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy929;
+       case 0xF4:      goto yy930;
+       default:        goto yy907;
+       }
+}
+       
+}
+
+
+size_t scan_html_block(const char * c) {
+       const char * marker = NULL;
+       const char * start = c;
+
+
+{
+       unsigned char yych;
+       yych = *(marker = c);
+       switch (yych) {
+       case 0x00:
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
+       case '\t':
+       case '\v':
+       case '\f':
+       case '\r':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '-':
+       case '.':
+       case '/':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case ';':
+       case '=':
+       case '>':
+       case '?':
+       case '@':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
+       case '_':
+       case '`':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy952;
+       case '<':       goto yy951;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy953;
+       case 0xE0:      goto yy955;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy956;
+       case 0xF0:      goto yy957;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy958;
+       case 0xF4:      goto yy959;
+       default:        goto yy950;
+       }
+yy950:
+       { return 0; }
+yy951:
+       yych = *(marker = ++c);
+       switch (yych) {
+       case '/':       goto yy960;
+       case 'A':
+       case 'a':       goto yy962;
+       case 'B':
+       case 'b':       goto yy963;
+       case 'C':
+       case 'c':       goto yy964;
+       case 'D':
+       case 'd':       goto yy965;
+       case 'F':
+       case 'f':       goto yy966;
+       case 'H':
+       case 'h':       goto yy967;
+       case 'I':
+       case 'i':       goto yy968;
+       case 'L':
+       case 'l':       goto yy969;
+       case 'M':
+       case 'm':       goto yy970;
+       case 'N':
+       case 'n':       goto yy971;
+       case 'O':
+       case 'o':       goto yy972;
+       case 'P':
+       case 'p':       goto yy961;
+       case 'S':
+       case 's':       goto yy973;
+       case 'T':
+       case 't':       goto yy974;
+       case 'U':
+       case 'u':       goto yy975;
+       case 'V':
+       case 'v':       goto yy976;
+       default:        goto yy950;
+       }
+yy952:
+       yych = *++c;
+       goto yy950;
+yy953:
+       yych = *++c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy952;
+       default:        goto yy954;
+       }
+yy954:
+       c = marker;
+       goto yy950;
+yy955:
+       yych = *++c;
+       switch (yych) {
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy953;
+       default:        goto yy954;
+       }
+yy956:
+       yych = *++c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy953;
+       default:        goto yy954;
+       }
+yy957:
+       yych = *++c;
+       switch (yych) {
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy956;
+       default:        goto yy954;
+       }
+yy958:
+       yych = *++c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy956;
+       default:        goto yy954;
+       }
+yy959:
+       yych = *++c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:      goto yy956;
+       default:        goto yy954;
+       }
+yy960:
+       yych = *++c;
+       switch (yych) {
+       case 'A':
+       case 'a':       goto yy962;
+       case 'B':
+       case 'b':       goto yy963;
+       case 'C':
+       case 'c':       goto yy964;
+       case 'D':
+       case 'd':       goto yy965;
+       case 'F':
+       case 'f':       goto yy966;
+       case 'H':
+       case 'h':       goto yy967;
+       case 'I':
+       case 'i':       goto yy968;
+       case 'L':
+       case 'l':       goto yy969;
+       case 'M':
+       case 'm':       goto yy970;
+       case 'N':
+       case 'n':       goto yy971;
+       case 'O':
+       case 'o':       goto yy972;
+       case 'P':
+       case 'p':       goto yy961;
+       case 'S':
+       case 's':       goto yy973;
+       case 'T':
+       case 't':       goto yy974;
+       case 'U':
+       case 'u':       goto yy975;
+       case 'V':
+       case 'v':       goto yy976;
+       default:        goto yy954;
+       }
+yy961:
+       yych = *++c;
+       switch (yych) {
+       case '/':       goto yy989;
+       case '>':       goto yy990;
+       case 'R':
+       case 'r':       goto yy1123;
+       default:        goto yy982;
+       }
+yy962:
+       yych = *++c;
+       switch (yych) {
+       case 'D':
+       case 'd':       goto yy1112;
+       case 'R':
+       case 'r':       goto yy1111;
+       case 'S':
+       case 's':       goto yy1110;
+       default:        goto yy954;
+       }
+yy963:
+       yych = *++c;
+       switch (yych) {
+       case 'L':
+       case 'l':       goto yy1102;
+       default:        goto yy954;
+       }
+yy964:
+       yych = *++c;
+       switch (yych) {
+       case 'A':
+       case 'a':       goto yy1095;
+       case 'E':
+       case 'e':       goto yy1094;
+       default:        goto yy954;
+       }
+yy965:
+       yych = *++c;
+       switch (yych) {
+       case 'D':
+       case 'L':
+       case 'T':
+       case 'd':
+       case 'l':
+       case 't':       goto yy980;
+       case 'I':
+       case 'i':       goto yy1093;
+       default:        goto yy954;
+       }
+yy966:
+       yych = *++c;
+       switch (yych) {
+       case 'I':
+       case 'i':       goto yy1069;
+       case 'O':
+       case 'o':       goto yy1068;
+       case 'R':
+       case 'r':       goto yy1067;
+       default:        goto yy954;
+       }
+yy967:
+       yych = *++c;
+       switch (yych) {
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case 'R':
+       case 'r':       goto yy980;
+       case 'E':
+       case 'e':       goto yy1060;
+       case 'G':
+       case 'g':       goto yy1059;
+       default:        goto yy954;
+       }
+yy968:
+       yych = *++c;
+       switch (yych) {
+       case 'S':
+       case 's':       goto yy1054;
+       default:        goto yy954;
+       }
+yy969:
+       yych = *++c;
+       switch (yych) {
+       case 'I':
+       case 'i':       goto yy980;
+       default:        goto yy954;
+       }
+yy970:
+       yych = *++c;
+       switch (yych) {
+       case 'A':
+       case 'a':       goto yy1051;
+       case 'E':
+       case 'e':       goto yy1050;
+       default:        goto yy954;
+       }
+yy971:
+       yych = *++c;
+       switch (yych) {
+       case 'A':
+       case 'a':       goto yy1039;
+       case 'O':
+       case 'o':       goto yy1038;
+       default:        goto yy954;
+       }
+yy972:
+       yych = *++c;
+       switch (yych) {
+       case 'L':
+       case 'l':       goto yy980;
+       case 'U':
+       case 'u':       goto yy1034;
+       default:        goto yy954;
+       }
+yy973:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy1029;
+       default:        goto yy954;
+       }
+yy974:
+       yych = *++c;
+       switch (yych) {
+       case 'A':
+       case 'a':       goto yy1019;
+       case 'B':
+       case 'b':       goto yy1018;
+       case 'D':
+       case 'R':
+       case 'd':
+       case 'r':       goto yy980;
+       case 'F':
+       case 'f':       goto yy1017;
+       case 'H':
+       case 'h':       goto yy1016;
+       default:        goto yy954;
+       }
+yy975:
+       yych = *++c;
+       switch (yych) {
+       case 'L':
+       case 'l':       goto yy980;
+       default:        goto yy954;
+       }
+yy976:
+       yych = *++c;
+       switch (yych) {
+       case 'I':
+       case 'i':       goto yy977;
+       default:        goto yy954;
+       }
+yy977:
+       yych = *++c;
+       switch (yych) {
+       case 'D':
+       case 'd':       goto yy978;
+       default:        goto yy954;
+       }
+yy978:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy979;
+       default:        goto yy954;
+       }
+yy979:
+       yych = *++c;
+       switch (yych) {
+       case 'O':
+       case 'o':       goto yy980;
+       default:        goto yy954;
+       }
+yy980:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy981;
+       case '\n':      goto yy984;
+       case '\r':      goto yy986;
+       case '/':       goto yy989;
+       case ':':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy987;
+       case '>':       goto yy990;
+       case 0xC2:      goto yy983;
+       default:        goto yy954;
+       }
+yy981:
+       ++c;
+       yych = *c;
+yy982:
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy981;
+       case '\n':      goto yy984;
+       case '\r':      goto yy986;
+       case ':':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy987;
+       case 0xC2:      goto yy983;
+       default:        goto yy954;
+       }
+yy983:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0xA0:      goto yy981;
+       default:        goto yy954;
+       }
+yy984:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy984;
+       case ':':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy987;
+       case 0xC2:      goto yy1015;
+       default:        goto yy954;
+       }
+yy986:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case '\t':
+       case '\n':
+       case ' ':       goto yy984;
+       case ':':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy987;
+       case 0xC2:      goto yy1015;
+       default:        goto yy954;
+       }
+yy987:
+       ++c;
+       yych = *c;
+yy988:
+       switch (yych) {
+       case '-':
+       case '.':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy987;
+       case '=':       goto yy992;
+       default:        goto yy954;
+       }
+yy989:
+       yych = *++c;
+       switch (yych) {
+       case '>':       goto yy990;
+       default:        goto yy954;
+       }
+yy990:
+       ++c;
+       { return (size_t)( c - start ); }
+yy992:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy992;
+       case '"':       goto yy995;
+       case '\'':      goto yy997;
+       case '.':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy999;
+       case 0xC2:      goto yy994;
+       default:        goto yy954;
+       }
+yy994:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0xA0:      goto yy992;
+       default:        goto yy954;
+       }
+yy995:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
+       case '\t':
+       case '\v':
+       case '\f':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '-':
+       case '.':
+       case '/':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '>':
+       case '?':
+       case '@':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
+       case '_':
+       case '`':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy995;
+       case '"':       goto yy980;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy1009;
+       case 0xE0:      goto yy1010;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy1011;
+       case 0xF0:      goto yy1012;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy1013;
+       case 0xF4:      goto yy1014;
+       default:        goto yy954;
+       }
+yy997:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
+       case '\t':
+       case '\v':
+       case '\f':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '-':
+       case '.':
+       case '/':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '>':
+       case '?':
+       case '@':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
+       case '_':
+       case '`':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy997;
+       case '\'':      goto yy980;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy1003;
+       case 0xE0:      goto yy1004;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy1005;
+       case 0xF0:      goto yy1006;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy1007;
+       case 0xF4:      goto yy1008;
+       default:        goto yy954;
+       }
+yy999:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy981;
+       case '\n':      goto yy984;
+       case '\r':      goto yy986;
+       case '.':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy999;
+       case '/':       goto yy989;
+       case ':':
+       case '_':       goto yy987;
+       case '>':       goto yy990;
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy1001;
+       case 0xC2:      goto yy983;
+       default:        goto yy954;
+       }
+yy1001:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy981;
+       case '\n':      goto yy984;
+       case '\r':      goto yy986;
+       case '-':
+       case ':':
+       case '_':       goto yy987;
+       case '.':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy1001;
+       case '/':       goto yy989;
+       case '=':       goto yy992;
+       case '>':       goto yy990;
+       case 0xC2:      goto yy983;
+       default:        goto yy954;
+       }
+yy1003:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy997;
+       default:        goto yy954;
+       }
+yy1004:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy1003;
+       default:        goto yy954;
+       }
+yy1005:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy1003;
+       default:        goto yy954;
+       }
+yy1006:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy1005;
+       default:        goto yy954;
+       }
+yy1007:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy1005;
+       default:        goto yy954;
+       }
+yy1008:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:      goto yy1005;
+       default:        goto yy954;
+       }
+yy1009:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy995;
+       default:        goto yy954;
+       }
+yy1010:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy1009;
+       default:        goto yy954;
+       }
+yy1011:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy1009;
+       default:        goto yy954;
+       }
+yy1012:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy1011;
+       default:        goto yy954;
+       }
+yy1013:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy1011;
+       default:        goto yy954;
+       }
+yy1014:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:      goto yy1011;
+       default:        goto yy954;
+       }
+yy1015:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0xA0:      goto yy984;
+       default:        goto yy954;
+       }
+yy1016:
+       yych = *++c;
+       switch (yych) {
+       case '/':       goto yy989;
+       case '>':       goto yy990;
+       case 'E':
+       case 'e':       goto yy1026;
+       default:        goto yy982;
+       }
+yy1017:
+       yych = *++c;
+       switch (yych) {
+       case 'O':
+       case 'o':       goto yy1024;
+       default:        goto yy954;
+       }
+yy1018:
+       yych = *++c;
+       switch (yych) {
+       case 'O':
+       case 'o':       goto yy1022;
+       default:        goto yy954;
+       }
+yy1019:
+       yych = *++c;
+       switch (yych) {
+       case 'B':
+       case 'b':       goto yy1020;
+       default:        goto yy954;
+       }
+yy1020:
+       yych = *++c;
+       switch (yych) {
+       case 'L':
+       case 'l':       goto yy1021;
+       default:        goto yy954;
+       }
+yy1021:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy980;
+       default:        goto yy954;
+       }
+yy1022:
+       yych = *++c;
+       switch (yych) {
+       case 'D':
+       case 'd':       goto yy1023;
+       default:        goto yy954;
+       }
+yy1023:
+       yych = *++c;
+       switch (yych) {
+       case 'Y':
+       case 'y':       goto yy980;
+       default:        goto yy954;
+       }
+yy1024:
+       yych = *++c;
+       switch (yych) {
+       case 'O':
+       case 'o':       goto yy1025;
+       default:        goto yy954;
+       }
+yy1025:
+       yych = *++c;
+       switch (yych) {
+       case 'T':
+       case 't':       goto yy980;
+       default:        goto yy954;
+       }
+yy1026:
+       yych = *++c;
+       switch (yych) {
+       case 'A':
+       case 'a':       goto yy1027;
+       default:        goto yy988;
+       }
+yy1027:
+       yych = *++c;
+       switch (yych) {
+       case 'D':
+       case 'd':       goto yy1028;
+       default:        goto yy988;
+       }
+yy1028:
+       yych = *++c;
+       switch (yych) {
+       case '-':
+       case '.':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy987;
+       case '/':       goto yy989;
+       case '=':       goto yy992;
+       case '>':       goto yy990;
+       default:        goto yy982;
+       }
+yy1029:
+       yych = *++c;
+       switch (yych) {
+       case 'C':
+       case 'c':       goto yy1030;
+       default:        goto yy954;
+       }
+yy1030:
+       yych = *++c;
+       switch (yych) {
+       case 'T':
+       case 't':       goto yy1031;
+       default:        goto yy954;
+       }
+yy1031:
+       yych = *++c;
+       switch (yych) {
+       case 'I':
+       case 'i':       goto yy1032;
+       default:        goto yy954;
+       }
+yy1032:
+       yych = *++c;
+       switch (yych) {
+       case 'O':
+       case 'o':       goto yy1033;
+       default:        goto yy954;
+       }
+yy1033:
+       yych = *++c;
+       switch (yych) {
+       case 'N':
+       case 'n':       goto yy980;
+       default:        goto yy954;
+       }
+yy1034:
+       yych = *++c;
+       switch (yych) {
+       case 'T':
+       case 't':       goto yy1035;
+       default:        goto yy954;
+       }
+yy1035:
+       yych = *++c;
+       switch (yych) {
+       case 'P':
+       case 'p':       goto yy1036;
+       default:        goto yy954;
+       }
+yy1036:
+       yych = *++c;
+       switch (yych) {
+       case 'U':
+       case 'u':       goto yy1037;
+       default:        goto yy954;
+       }
+yy1037:
+       yych = *++c;
+       switch (yych) {
+       case 'T':
+       case 't':       goto yy980;
+       default:        goto yy954;
+       }
+yy1038:
+       yych = *++c;
+       switch (yych) {
+       case 'F':
+       case 'f':       goto yy1040;
+       case 'S':
+       case 's':       goto yy1041;
+       default:        goto yy954;
+       }
+yy1039:
+       yych = *++c;
+       switch (yych) {
+       case 'V':
+       case 'v':       goto yy980;
+       default:        goto yy954;
+       }
+yy1040:
+       yych = *++c;
+       switch (yych) {
+       case 'R':
+       case 'r':       goto yy1046;
+       default:        goto yy954;
+       }
+yy1041:
+       yych = *++c;
+       switch (yych) {
+       case 'C':
+       case 'c':       goto yy1042;
+       default:        goto yy954;
+       }
+yy1042:
+       yych = *++c;
+       switch (yych) {
+       case 'R':
+       case 'r':       goto yy1043;
+       default:        goto yy954;
+       }
+yy1043:
+       yych = *++c;
+       switch (yych) {
+       case 'I':
+       case 'i':       goto yy1044;
+       default:        goto yy954;
+       }
+yy1044:
+       yych = *++c;
+       switch (yych) {
+       case 'P':
+       case 'p':       goto yy1045;
+       default:        goto yy954;
+       }
+yy1045:
+       yych = *++c;
+       switch (yych) {
+       case 'T':
+       case 't':       goto yy980;
+       default:        goto yy954;
+       }
+yy1046:
+       yych = *++c;
+       switch (yych) {
+       case 'A':
+       case 'a':       goto yy1047;
+       default:        goto yy954;
+       }
+yy1047:
+       yych = *++c;
+       switch (yych) {
+       case 'M':
+       case 'm':       goto yy1048;
+       default:        goto yy954;
+       }
+yy1048:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy1049;
+       default:        goto yy954;
+       }
+yy1049:
+       yych = *++c;
+       switch (yych) {
+       case 'S':
+       case 's':       goto yy980;
+       default:        goto yy954;
+       }
+yy1050:
+       yych = *++c;
+       switch (yych) {
+       case 'N':
+       case 'n':       goto yy1053;
+       default:        goto yy954;
+       }
+yy1051:
+       yych = *++c;
+       switch (yych) {
+       case 'I':
+       case 'i':       goto yy1052;
+       default:        goto yy954;
+       }
+yy1052:
+       yych = *++c;
+       switch (yych) {
+       case 'N':
+       case 'n':       goto yy980;
+       default:        goto yy954;
+       }
+yy1053:
+       yych = *++c;
+       switch (yych) {
+       case 'U':
+       case 'u':       goto yy980;
+       default:        goto yy954;
+       }
+yy1054:
+       yych = *++c;
+       switch (yych) {
+       case 'I':
+       case 'i':       goto yy1055;
+       default:        goto yy954;
+       }
+yy1055:
+       yych = *++c;
+       switch (yych) {
+       case 'N':
+       case 'n':       goto yy1056;
+       default:        goto yy954;
+       }
+yy1056:
+       yych = *++c;
+       switch (yych) {
+       case 'D':
+       case 'd':       goto yy1057;
+       default:        goto yy954;
+       }
+yy1057:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy1058;
+       default:        goto yy954;
+       }
+yy1058:
+       yych = *++c;
+       switch (yych) {
+       case 'X':
+       case 'x':       goto yy980;
+       default:        goto yy954;
+       }
+yy1059:
+       yych = *++c;
+       switch (yych) {
+       case 'R':
+       case 'r':       goto yy1064;
+       default:        goto yy954;
+       }
+yy1060:
+       yych = *++c;
+       switch (yych) {
+       case 'A':
+       case 'a':       goto yy1061;
+       default:        goto yy954;
+       }
+yy1061:
+       yych = *++c;
+       switch (yych) {
+       case 'D':
+       case 'd':       goto yy1062;
+       default:        goto yy954;
+       }
+yy1062:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy1063;
+       default:        goto yy954;
+       }
+yy1063:
+       yych = *++c;
+       switch (yych) {
+       case 'R':
+       case 'r':       goto yy980;
+       default:        goto yy954;
+       }
+yy1064:
+       yych = *++c;
+       switch (yych) {
+       case 'O':
+       case 'o':       goto yy1065;
+       default:        goto yy954;
+       }
+yy1065:
+       yych = *++c;
+       switch (yych) {
+       case 'U':
+       case 'u':       goto yy1066;
+       default:        goto yy954;
+       }
+yy1066:
+       yych = *++c;
+       switch (yych) {
+       case 'P':
+       case 'p':       goto yy980;
+       default:        goto yy954;
+       }
+yy1067:
+       yych = *++c;
+       switch (yych) {
+       case 'A':
+       case 'a':       goto yy1088;
+       default:        goto yy954;
+       }
+yy1068:
+       yych = *++c;
+       switch (yych) {
+       case 'O':
+       case 'o':       goto yy1084;
+       case 'R':
+       case 'r':       goto yy1085;
+       default:        goto yy954;
+       }
+yy1069:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy1070;
+       case 'G':
+       case 'g':       goto yy1071;
+       default:        goto yy954;
+       }
+yy1070:
+       yych = *++c;
+       switch (yych) {
+       case 'L':
+       case 'l':       goto yy1080;
+       default:        goto yy954;
+       }
+yy1071:
+       yych = *++c;
+       switch (yych) {
+       case 'C':
+       case 'c':       goto yy1073;
+       case 'U':
+       case 'u':       goto yy1072;
+       default:        goto yy954;
+       }
+yy1072:
+       yych = *++c;
+       switch (yych) {
+       case 'R':
+       case 'r':       goto yy1079;
+       default:        goto yy954;
+       }
+yy1073:
+       yych = *++c;
+       switch (yych) {
+       case 'A':
+       case 'a':       goto yy1074;
+       default:        goto yy954;
+       }
+yy1074:
+       yych = *++c;
+       switch (yych) {
+       case 'P':
+       case 'p':       goto yy1075;
+       default:        goto yy954;
+       }
+yy1075:
+       yych = *++c;
+       switch (yych) {
+       case 'T':
+       case 't':       goto yy1076;
+       default:        goto yy954;
+       }
+yy1076:
+       yych = *++c;
+       switch (yych) {
+       case 'I':
+       case 'i':       goto yy1077;
+       default:        goto yy954;
+       }
+yy1077:
+       yych = *++c;
+       switch (yych) {
+       case 'O':
+       case 'o':       goto yy1078;
+       default:        goto yy954;
+       }
+yy1078:
+       yych = *++c;
+       switch (yych) {
+       case 'N':
+       case 'n':       goto yy980;
+       default:        goto yy954;
+       }
+yy1079:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy980;
+       default:        goto yy954;
+       }
+yy1080:
+       yych = *++c;
+       switch (yych) {
+       case 'D':
+       case 'd':       goto yy1081;
+       default:        goto yy954;
+       }
+yy1081:
+       yych = *++c;
+       switch (yych) {
+       case 'S':
+       case 's':       goto yy1082;
+       default:        goto yy954;
+       }
+yy1082:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy1083;
+       default:        goto yy954;
+       }
+yy1083:
+       yych = *++c;
+       switch (yych) {
+       case 'T':
+       case 't':       goto yy980;
+       default:        goto yy954;
+       }
+yy1084:
+       yych = *++c;
+       switch (yych) {
+       case 'T':
+       case 't':       goto yy1086;
+       default:        goto yy954;
+       }
+yy1085:
+       yych = *++c;
+       switch (yych) {
+       case 'M':
+       case 'm':       goto yy980;
+       default:        goto yy954;
+       }
+yy1086:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy1087;
+       default:        goto yy954;
+       }
+yy1087:
+       yych = *++c;
+       switch (yych) {
+       case 'R':
+       case 'r':       goto yy980;
+       default:        goto yy954;
+       }
+yy1088:
+       yych = *++c;
+       switch (yych) {
+       case 'M':
+       case 'm':       goto yy1089;
+       default:        goto yy954;
+       }
+yy1089:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy1090;
+       default:        goto yy954;
+       }
+yy1090:
+       yych = *++c;
+       switch (yych) {
+       case 'S':
+       case 's':       goto yy1091;
+       default:        goto yy954;
+       }
+yy1091:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy1092;
+       default:        goto yy954;
+       }
+yy1092:
+       yych = *++c;
+       switch (yych) {
+       case 'T':
+       case 't':       goto yy980;
+       default:        goto yy954;
+       }
+yy1093:
+       yych = *++c;
+       switch (yych) {
+       case 'R':
+       case 'V':
+       case 'r':
+       case 'v':       goto yy980;
+       default:        goto yy954;
+       }
+yy1094:
+       yych = *++c;
+       switch (yych) {
+       case 'N':
+       case 'n':       goto yy1099;
+       default:        goto yy954;
+       }
+yy1095:
+       yych = *++c;
+       switch (yych) {
+       case 'N':
+       case 'n':       goto yy1096;
+       default:        goto yy954;
+       }
+yy1096:
+       yych = *++c;
+       switch (yych) {
+       case 'V':
+       case 'v':       goto yy1097;
+       default:        goto yy954;
+       }
+yy1097:
+       yych = *++c;
+       switch (yych) {
+       case 'A':
+       case 'a':       goto yy1098;
+       default:        goto yy954;
+       }
+yy1098:
+       yych = *++c;
+       switch (yych) {
+       case 'S':
+       case 's':       goto yy980;
+       default:        goto yy954;
+       }
+yy1099:
+       yych = *++c;
+       switch (yych) {
+       case 'T':
+       case 't':       goto yy1100;
+       default:        goto yy954;
+       }
+yy1100:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy1101;
+       default:        goto yy954;
+       }
+yy1101:
+       yych = *++c;
+       switch (yych) {
+       case 'R':
+       case 'r':       goto yy980;
+       default:        goto yy954;
+       }
+yy1102:
+       yych = *++c;
+       switch (yych) {
+       case 'O':
+       case 'o':       goto yy1103;
+       default:        goto yy954;
+       }
+yy1103:
+       yych = *++c;
+       switch (yych) {
+       case 'C':
+       case 'c':       goto yy1104;
+       default:        goto yy954;
+       }
+yy1104:
+       yych = *++c;
+       switch (yych) {
+       case 'K':
+       case 'k':       goto yy1105;
+       default:        goto yy954;
+       }
+yy1105:
+       yych = *++c;
+       switch (yych) {
+       case 'Q':
+       case 'q':       goto yy1106;
+       default:        goto yy954;
+       }
+yy1106:
+       yych = *++c;
+       switch (yych) {
+       case 'U':
+       case 'u':       goto yy1107;
+       default:        goto yy954;
+       }
+yy1107:
+       yych = *++c;
+       switch (yych) {
+       case 'O':
+       case 'o':       goto yy1108;
+       default:        goto yy954;
+       }
+yy1108:
+       yych = *++c;
+       switch (yych) {
+       case 'T':
+       case 't':       goto yy1109;
+       default:        goto yy954;
+       }
+yy1109:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy980;
+       default:        goto yy954;
+       }
+yy1110:
+       yych = *++c;
+       switch (yych) {
+       case 'I':
+       case 'i':       goto yy1121;
+       default:        goto yy954;
+       }
+yy1111:
+       yych = *++c;
+       switch (yych) {
+       case 'T':
+       case 't':       goto yy1117;
+       default:        goto yy954;
+       }
+yy1112:
+       yych = *++c;
+       switch (yych) {
+       case 'D':
+       case 'd':       goto yy1113;
+       default:        goto yy954;
+       }
+yy1113:
+       yych = *++c;
+       switch (yych) {
+       case 'R':
+       case 'r':       goto yy1114;
+       default:        goto yy954;
+       }
+yy1114:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy1115;
+       default:        goto yy954;
+       }
+yy1115:
+       yych = *++c;
+       switch (yych) {
+       case 'S':
+       case 's':       goto yy1116;
+       default:        goto yy954;
+       }
+yy1116:
+       yych = *++c;
+       switch (yych) {
+       case 'S':
+       case 's':       goto yy980;
+       default:        goto yy954;
+       }
+yy1117:
+       yych = *++c;
+       switch (yych) {
+       case 'I':
+       case 'i':       goto yy1118;
+       default:        goto yy954;
+       }
+yy1118:
+       yych = *++c;
+       switch (yych) {
+       case 'C':
+       case 'c':       goto yy1119;
+       default:        goto yy954;
+       }
+yy1119:
+       yych = *++c;
+       switch (yych) {
+       case 'L':
+       case 'l':       goto yy1120;
+       default:        goto yy954;
+       }
+yy1120:
+       yych = *++c;
+       switch (yych) {
+       case 'E':
+       case 'e':       goto yy980;
+       default:        goto yy954;
        }
-yy981:
-       ++c;
-       yych = *c;
+yy1121:
+       yych = *++c;
        switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy979;
-       default:        goto yy928;
+       case 'D':
+       case 'd':       goto yy1122;
+       default:        goto yy954;
        }
-yy982:
-       ++c;
-       yych = *c;
+yy1122:
+       yych = *++c;
        switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy979;
-       default:        goto yy928;
+       case 'E':
+       case 'e':       goto yy980;
+       default:        goto yy954;
        }
-yy983:
+yy1123:
        ++c;
-       yych = *c;
+       switch ((yych = *c)) {
+       case 'E':
+       case 'e':       goto yy1028;
+       default:        goto yy988;
+       }
+}
+       
+}
+
+
+size_t scan_html_line(const char * c) {
+       const char * marker = NULL;
+       const char * start = c;
+
+
+{
+       unsigned char yych;
+       yych = *(marker = c);
+       switch (yych) {
+       case 0x00:
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
+       case '\t':
+       case '\v':
+       case '\f':
+       case '\r':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '-':
+       case '.':
+       case '/':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case ';':
+       case '=':
+       case '>':
+       case '?':
+       case '@':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
+       case '_':
+       case '`':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy1128;
+       case '<':       goto yy1127;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy1129;
+       case 0xE0:      goto yy1131;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy1132;
+       case 0xF0:      goto yy1133;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy1134;
+       case 0xF4:      goto yy1135;
+       default:        goto yy1126;
+       }
+yy1126:
+       { return 0; }
+yy1127:
+       yych = *(marker = ++c);
+       switch (yych) {
+       case '!':       goto yy1136;
+       case '/':       goto yy1137;
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy1138;
+       default:        goto yy1126;
+       }
+yy1128:
+       yych = *++c;
+       goto yy1126;
+yy1129:
+       yych = *++c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -54754,12 +58601,14 @@ yy983:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy969;
-       default:        goto yy928;
+       case 0xBF:      goto yy1128;
+       default:        goto yy1130;
        }
-yy984:
-       ++c;
-       yych = *c;
+yy1130:
+       c = marker;
+       goto yy1126;
+yy1131:
+       yych = *++c;
        switch (yych) {
        case 0xA0:
        case 0xA1:
@@ -54792,12 +58641,11 @@ yy984:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy983;
-       default:        goto yy928;
+       case 0xBF:      goto yy1129;
+       default:        goto yy1130;
        }
-yy985:
-       ++c;
-       yych = *c;
+yy1132:
+       yych = *++c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -54862,12 +58710,11 @@ yy985:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy983;
-       default:        goto yy928;
+       case 0xBF:      goto yy1129;
+       default:        goto yy1130;
        }
-yy986:
-       ++c;
-       yych = *c;
+yy1133:
+       yych = *++c;
        switch (yych) {
        case 0x90:
        case 0x91:
@@ -54916,12 +58763,11 @@ yy986:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy985;
-       default:        goto yy928;
+       case 0xBF:      goto yy1132;
+       default:        goto yy1130;
        }
-yy987:
-       ++c;
-       yych = *c;
+yy1134:
+       yych = *++c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -54982,838 +58828,830 @@ yy987:
        case 0xB8:
        case 0xB9:
        case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy985;
-       default:        goto yy928;
-       }
-yy988:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy985;
-       default:        goto yy928;
-       }
-yy989:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0xA0:      goto yy958;
-       default:        goto yy928;
-       }
-yy990:
-       yych = *++c;
-       switch (yych) {
-       case '/':       goto yy963;
-       case '>':       goto yy964;
-       case 'E':
-       case 'e':       goto yy1000;
-       default:        goto yy956;
-       }
-yy991:
-       yych = *++c;
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy998;
-       default:        goto yy928;
-       }
-yy992:
-       yych = *++c;
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy996;
-       default:        goto yy928;
-       }
-yy993:
-       yych = *++c;
-       switch (yych) {
-       case 'B':
-       case 'b':       goto yy994;
-       default:        goto yy928;
-       }
-yy994:
-       yych = *++c;
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy995;
-       default:        goto yy928;
-       }
-yy995:
-       yych = *++c;
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy954;
-       default:        goto yy928;
-       }
-yy996:
-       yych = *++c;
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy997;
-       default:        goto yy928;
-       }
-yy997:
-       yych = *++c;
-       switch (yych) {
-       case 'Y':
-       case 'y':       goto yy954;
-       default:        goto yy928;
-       }
-yy998:
-       yych = *++c;
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy999;
-       default:        goto yy928;
-       }
-yy999:
-       yych = *++c;
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy954;
-       default:        goto yy928;
-       }
-yy1000:
-       yych = *++c;
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy1001;
-       default:        goto yy962;
-       }
-yy1001:
-       yych = *++c;
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy1002;
-       default:        goto yy962;
-       }
-yy1002:
-       yych = *++c;
-       switch (yych) {
-       case '-':
-       case '.':
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':       goto yy961;
-       case '/':       goto yy963;
-       case '=':       goto yy966;
-       case '>':       goto yy964;
-       default:        goto yy956;
-       }
-yy1003:
-       yych = *++c;
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy1004;
-       default:        goto yy928;
-       }
-yy1004:
-       yych = *++c;
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy1005;
-       default:        goto yy928;
-       }
-yy1005:
-       yych = *++c;
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy1006;
-       default:        goto yy928;
-       }
-yy1006:
-       yych = *++c;
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy1007;
-       default:        goto yy928;
-       }
-yy1007:
-       yych = *++c;
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy954;
-       default:        goto yy928;
-       }
-yy1008:
-       yych = *++c;
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy1009;
-       default:        goto yy928;
-       }
-yy1009:
-       yych = *++c;
-       switch (yych) {
-       case 'P':
-       case 'p':       goto yy1010;
-       default:        goto yy928;
-       }
-yy1010:
-       yych = *++c;
-       switch (yych) {
-       case 'U':
-       case 'u':       goto yy1011;
-       default:        goto yy928;
-       }
-yy1011:
-       yych = *++c;
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy954;
-       default:        goto yy928;
-       }
-yy1012:
-       yych = *++c;
-       switch (yych) {
-       case 'F':
-       case 'f':       goto yy1014;
-       case 'S':
-       case 's':       goto yy1015;
-       default:        goto yy928;
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy1132;
+       default:        goto yy1130;
        }
-yy1013:
+yy1135:
        yych = *++c;
        switch (yych) {
-       case 'V':
-       case 'v':       goto yy954;
-       default:        goto yy928;
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:      goto yy1132;
+       default:        goto yy1130;
        }
-yy1014:
+yy1136:
        yych = *++c;
        switch (yych) {
-       case 'R':
-       case 'r':       goto yy1020;
-       default:        goto yy928;
+       case '-':       goto yy1186;
+       default:        goto yy1130;
        }
-yy1015:
+yy1137:
        yych = *++c;
        switch (yych) {
+       case 'A':
+       case 'B':
        case 'C':
-       case 'c':       goto yy1016;
-       default:        goto yy928;
-       }
-yy1016:
-       yych = *++c;
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy1017;
-       default:        goto yy928;
-       }
-yy1017:
-       yych = *++c;
-       switch (yych) {
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
        case 'I':
-       case 'i':       goto yy1018;
-       default:        goto yy928;
-       }
-yy1018:
-       yych = *++c;
-       switch (yych) {
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
        case 'P':
-       case 'p':       goto yy1019;
-       default:        goto yy928;
-       }
-yy1019:
-       yych = *++c;
-       switch (yych) {
+       case 'Q':
+       case 'R':
+       case 'S':
        case 'T':
-       case 't':       goto yy954;
-       default:        goto yy928;
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy1181;
+       default:        goto yy1130;
        }
-yy1020:
-       yych = *++c;
+yy1138:
+       ++c;
+       yych = *c;
        switch (yych) {
+       case '\t':
+       case ' ':       goto yy1142;
+       case '\n':      goto yy1145;
+       case '\r':      goto yy1147;
+       case '-':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy1138;
+       case '/':       goto yy1152;
+       case ':':
+       case '_':       goto yy1148;
+       case '>':       goto yy1150;
        case 'A':
-       case 'a':       goto yy1021;
-       default:        goto yy928;
-       }
-yy1021:
-       yych = *++c;
-       switch (yych) {
-       case 'M':
-       case 'm':       goto yy1022;
-       default:        goto yy928;
-       }
-yy1022:
-       yych = *++c;
-       switch (yych) {
+       case 'B':
+       case 'C':
+       case 'D':
        case 'E':
-       case 'e':       goto yy1023;
-       default:        goto yy928;
-       }
-yy1023:
-       yych = *++c;
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy954;
-       default:        goto yy928;
-       }
-yy1024:
-       yych = *++c;
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy1027;
-       default:        goto yy928;
-       }
-yy1025:
-       yych = *++c;
-       switch (yych) {
+       case 'F':
+       case 'G':
+       case 'H':
        case 'I':
-       case 'i':       goto yy1026;
-       default:        goto yy928;
-       }
-yy1026:
-       yych = *++c;
-       switch (yych) {
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
        case 'N':
-       case 'n':       goto yy954;
-       default:        goto yy928;
-       }
-yy1027:
-       yych = *++c;
-       switch (yych) {
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
        case 'U':
-       case 'u':       goto yy954;
-       default:        goto yy928;
-       }
-yy1028:
-       yych = *++c;
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy1029;
-       default:        goto yy928;
-       }
-yy1029:
-       yych = *++c;
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy1030;
-       default:        goto yy928;
-       }
-yy1030:
-       yych = *++c;
-       switch (yych) {
-       case 'D':
-       case 'd':       goto yy1031;
-       default:        goto yy928;
-       }
-yy1031:
-       yych = *++c;
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy1032;
-       default:        goto yy928;
-       }
-yy1032:
-       yych = *++c;
-       switch (yych) {
+       case 'V':
+       case 'W':
        case 'X':
-       case 'x':       goto yy954;
-       default:        goto yy928;
-       }
-yy1033:
-       yych = *++c;
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy1038;
-       default:        goto yy928;
+       case 'Y':
+       case 'Z':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy1140;
+       case 0xC2:      goto yy1144;
+       default:        goto yy1130;
        }
-yy1034:
-       yych = *++c;
+yy1140:
+       ++c;
+       yych = *c;
        switch (yych) {
+       case '\t':
+       case ' ':       goto yy1142;
+       case '\n':      goto yy1145;
+       case '\r':      goto yy1147;
+       case '-':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
        case 'A':
-       case 'a':       goto yy1035;
-       default:        goto yy928;
-       }
-yy1035:
-       yych = *++c;
-       switch (yych) {
+       case 'B':
+       case 'C':
        case 'D':
-       case 'd':       goto yy1036;
-       default:        goto yy928;
-       }
-yy1036:
-       yych = *++c;
-       switch (yych) {
        case 'E':
-       case 'e':       goto yy1037;
-       default:        goto yy928;
-       }
-yy1037:
-       yych = *++c;
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy954;
-       default:        goto yy928;
-       }
-yy1038:
-       yych = *++c;
-       switch (yych) {
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
        case 'O':
-       case 'o':       goto yy1039;
-       default:        goto yy928;
-       }
-yy1039:
-       yych = *++c;
-       switch (yych) {
-       case 'U':
-       case 'u':       goto yy1040;
-       default:        goto yy928;
-       }
-yy1040:
-       yych = *++c;
-       switch (yych) {
        case 'P':
-       case 'p':       goto yy954;
-       default:        goto yy928;
-       }
-yy1041:
-       yych = *++c;
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy1062;
-       default:        goto yy928;
-       }
-yy1042:
-       yych = *++c;
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy1058;
+       case 'Q':
        case 'R':
-       case 'r':       goto yy1059;
-       default:        goto yy928;
-       }
-yy1043:
-       yych = *++c;
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy1044;
-       case 'G':
-       case 'g':       goto yy1045;
-       default:        goto yy928;
-       }
-yy1044:
-       yych = *++c;
-       switch (yych) {
-       case 'L':
-       case 'l':       goto yy1054;
-       default:        goto yy928;
-       }
-yy1045:
-       yych = *++c;
-       switch (yych) {
-       case 'C':
-       case 'c':       goto yy1047;
+       case 'S':
+       case 'T':
        case 'U':
-       case 'u':       goto yy1046;
-       default:        goto yy928;
-       }
-yy1046:
-       yych = *++c;
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy1053;
-       default:        goto yy928;
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy1140;
+       case '.':
+       case ':':
+       case '_':       goto yy1148;
+       case '/':       goto yy1152;
+       case '=':       goto yy1157;
+       case '>':       goto yy1150;
+       case 0xC2:      goto yy1144;
+       default:        goto yy1130;
        }
-yy1047:
-       yych = *++c;
+yy1142:
+       ++c;
+       yych = *c;
        switch (yych) {
+       case '\t':
+       case ' ':       goto yy1142;
+       case '\n':      goto yy1145;
+       case '\r':      goto yy1147;
+       case '/':       goto yy1152;
+       case ':':
        case 'A':
-       case 'a':       goto yy1048;
-       default:        goto yy928;
-       }
-yy1048:
-       yych = *++c;
-       switch (yych) {
-       case 'P':
-       case 'p':       goto yy1049;
-       default:        goto yy928;
-       }
-yy1049:
-       yych = *++c;
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy1050;
-       default:        goto yy928;
-       }
-yy1050:
-       yych = *++c;
-       switch (yych) {
-       case 'I':
-       case 'i':       goto yy1051;
-       default:        goto yy928;
-       }
-yy1051:
-       yych = *++c;
-       switch (yych) {
-       case 'O':
-       case 'o':       goto yy1052;
-       default:        goto yy928;
-       }
-yy1052:
-       yych = *++c;
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy954;
-       default:        goto yy928;
-       }
-yy1053:
-       yych = *++c;
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy954;
-       default:        goto yy928;
-       }
-yy1054:
-       yych = *++c;
-       switch (yych) {
+       case 'B':
+       case 'C':
        case 'D':
-       case 'd':       goto yy1055;
-       default:        goto yy928;
-       }
-yy1055:
-       yych = *++c;
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy1056;
-       default:        goto yy928;
-       }
-yy1056:
-       yych = *++c;
-       switch (yych) {
        case 'E':
-       case 'e':       goto yy1057;
-       default:        goto yy928;
-       }
-yy1057:
-       yych = *++c;
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy954;
-       default:        goto yy928;
-       }
-yy1058:
-       yych = *++c;
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy1060;
-       default:        goto yy928;
-       }
-yy1059:
-       yych = *++c;
-       switch (yych) {
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
        case 'M':
-       case 'm':       goto yy954;
-       default:        goto yy928;
-       }
-yy1060:
-       yych = *++c;
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy1061;
-       default:        goto yy928;
-       }
-yy1061:
-       yych = *++c;
-       switch (yych) {
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
        case 'R':
-       case 'r':       goto yy954;
-       default:        goto yy928;
-       }
-yy1062:
-       yych = *++c;
-       switch (yych) {
-       case 'M':
-       case 'm':       goto yy1063;
-       default:        goto yy928;
-       }
-yy1063:
-       yych = *++c;
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy1064;
-       default:        goto yy928;
-       }
-yy1064:
-       yych = *++c;
-       switch (yych) {
        case 'S':
-       case 's':       goto yy1065;
-       default:        goto yy928;
-       }
-yy1065:
-       yych = *++c;
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy1066;
-       default:        goto yy928;
-       }
-yy1066:
-       yych = *++c;
-       switch (yych) {
        case 'T':
-       case 't':       goto yy954;
-       default:        goto yy928;
-       }
-yy1067:
-       yych = *++c;
-       switch (yych) {
-       case 'R':
+       case 'U':
        case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
        case 'r':
-       case 'v':       goto yy954;
-       default:        goto yy928;
-       }
-yy1068:
-       yych = *++c;
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy1073;
-       default:        goto yy928;
-       }
-yy1069:
-       yych = *++c;
-       switch (yych) {
-       case 'N':
-       case 'n':       goto yy1070;
-       default:        goto yy928;
-       }
-yy1070:
-       yych = *++c;
-       switch (yych) {
-       case 'V':
-       case 'v':       goto yy1071;
-       default:        goto yy928;
-       }
-yy1071:
-       yych = *++c;
-       switch (yych) {
-       case 'A':
-       case 'a':       goto yy1072;
-       default:        goto yy928;
-       }
-yy1072:
-       yych = *++c;
-       switch (yych) {
-       case 'S':
-       case 's':       goto yy954;
-       default:        goto yy928;
-       }
-yy1073:
-       yych = *++c;
-       switch (yych) {
-       case 'T':
-       case 't':       goto yy1074;
-       default:        goto yy928;
-       }
-yy1074:
-       yych = *++c;
-       switch (yych) {
-       case 'E':
-       case 'e':       goto yy1075;
-       default:        goto yy928;
-       }
-yy1075:
-       yych = *++c;
-       switch (yych) {
-       case 'R':
-       case 'r':       goto yy954;
-       default:        goto yy928;
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy1148;
+       case '>':       goto yy1150;
+       case 0xC2:      goto yy1144;
+       default:        goto yy1130;
        }
-yy1076:
-       yych = *++c;
+yy1144:
+       ++c;
+       yych = *c;
        switch (yych) {
-       case 'O':
-       case 'o':       goto yy1077;
-       default:        goto yy928;
+       case 0xA0:      goto yy1142;
+       default:        goto yy1130;
        }
-yy1077:
-       yych = *++c;
+yy1145:
+       ++c;
+       yych = *c;
        switch (yych) {
+       case '\t':
+       case ' ':       goto yy1145;
+       case ':':
+       case 'A':
+       case 'B':
        case 'C':
-       case 'c':       goto yy1078;
-       default:        goto yy928;
-       }
-yy1078:
-       yych = *++c;
-       switch (yych) {
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
        case 'K':
-       case 'k':       goto yy1079;
-       default:        goto yy928;
-       }
-yy1079:
-       yych = *++c;
-       switch (yych) {
-       case 'Q':
-       case 'q':       goto yy1080;
-       default:        goto yy928;
-       }
-yy1080:
-       yych = *++c;
-       switch (yych) {
-       case 'U':
-       case 'u':       goto yy1081;
-       default:        goto yy928;
-       }
-yy1081:
-       yych = *++c;
-       switch (yych) {
+       case 'L':
+       case 'M':
+       case 'N':
        case 'O':
-       case 'o':       goto yy1082;
-       default:        goto yy928;
-       }
-yy1082:
-       yych = *++c;
-       switch (yych) {
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
        case 'T':
-       case 't':       goto yy1083;
-       default:        goto yy928;
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy1148;
+       case 0xC2:      goto yy1180;
+       default:        goto yy1130;
        }
-yy1083:
-       yych = *++c;
+yy1147:
+       ++c;
+       yych = *c;
        switch (yych) {
+       case '\t':
+       case '\n':
+       case ' ':       goto yy1145;
+       case ':':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
        case 'E':
-       case 'e':       goto yy954;
-       default:        goto yy928;
-       }
-yy1084:
-       yych = *++c;
-       switch (yych) {
+       case 'F':
+       case 'G':
+       case 'H':
        case 'I':
-       case 'i':       goto yy1095;
-       default:        goto yy928;
-       }
-yy1085:
-       yych = *++c;
-       switch (yych) {
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
        case 'T':
-       case 't':       goto yy1091;
-       default:        goto yy928;
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy1148;
+       case 0xC2:      goto yy1180;
+       default:        goto yy1130;
        }
-yy1086:
-       yych = *++c;
+yy1148:
+       ++c;
+       yych = *c;
        switch (yych) {
+       case '-':
+       case '.':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case 'A':
+       case 'B':
+       case 'C':
        case 'D':
-       case 'd':       goto yy1087;
-       default:        goto yy928;
-       }
-yy1087:
-       yych = *++c;
-       switch (yych) {
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
        case 'R':
-       case 'r':       goto yy1088;
-       default:        goto yy928;
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy1148;
+       case '=':       goto yy1157;
+       default:        goto yy1130;
        }
-yy1088:
-       yych = *++c;
+yy1150:
+       ++c;
+       yych = *c;
        switch (yych) {
-       case 'E':
-       case 'e':       goto yy1089;
-       default:        goto yy928;
+       case '\t':
+       case ' ':       goto yy1150;
+       case '\n':      goto yy1154;
+       case '\r':      goto yy1156;
+       case 0xC2:      goto yy1153;
+       default:        goto yy1130;
        }
-yy1089:
+yy1152:
        yych = *++c;
        switch (yych) {
-       case 'S':
-       case 's':       goto yy1090;
-       default:        goto yy928;
+       case '>':       goto yy1150;
+       default:        goto yy1130;
        }
-yy1090:
-       yych = *++c;
+yy1153:
+       ++c;
+       yych = *c;
        switch (yych) {
-       case 'S':
-       case 's':       goto yy954;
-       default:        goto yy928;
+       case 0xA0:      goto yy1150;
+       default:        goto yy1130;
        }
-yy1091:
+yy1154:
+       ++c;
+yy1155:
+       { return (size_t)( c - start ); }
+yy1156:
        yych = *++c;
        switch (yych) {
-       case 'I':
-       case 'i':       goto yy1092;
-       default:        goto yy928;
+       case '\n':      goto yy1154;
+       default:        goto yy1155;
        }
-yy1092:
-       yych = *++c;
+yy1157:
+       ++c;
+       yych = *c;
        switch (yych) {
+       case '\t':
+       case ' ':       goto yy1157;
+       case '"':       goto yy1160;
+       case '\'':      goto yy1162;
+       case '.':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
        case 'C':
-       case 'c':       goto yy1093;
-       default:        goto yy928;
-       }
-yy1093:
-       yych = *++c;
-       switch (yych) {
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
        case 'L':
-       case 'l':       goto yy1094;
-       default:        goto yy928;
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy1164;
+       case 0xC2:      goto yy1159;
+       default:        goto yy1130;
        }
-yy1094:
-       yych = *++c;
+yy1159:
+       ++c;
+       yych = *c;
        switch (yych) {
-       case 'E':
-       case 'e':       goto yy954;
-       default:        goto yy928;
+       case 0xA0:      goto yy1157;
+       default:        goto yy1130;
        }
-yy1095:
-       yych = *++c;
+yy1160:
+       ++c;
+       yych = *c;
        switch (yych) {
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
+       case '\t':
+       case '\v':
+       case '\f':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '-':
+       case '.':
+       case '/':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '>':
+       case '?':
+       case '@':
+       case 'A':
+       case 'B':
+       case 'C':
        case 'D':
-       case 'd':       goto yy1096;
-       default:        goto yy928;
-       }
-yy1096:
-       yych = *++c;
-       switch (yych) {
        case 'E':
-       case 'e':       goto yy954;
-       default:        goto yy928;
-       }
-yy1097:
-       ++c;
-       switch ((yych = *c)) {
-       case 'E':
-       case 'e':       goto yy1002;
-       default:        goto yy962;
-       }
-}
-       
-}
-
-
-size_t scan_html_line(const char * c) {
-       const char * marker = NULL;
-       const char * start = c;
-
-
-{
-       unsigned char yych;
-       yych = *(marker = c);
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
+       case '_':
+       case '`':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy1160;
+       case '"':       goto yy1142;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy1174;
+       case 0xE0:      goto yy1175;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy1176;
+       case 0xF0:      goto yy1177;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy1178;
+       case 0xF4:      goto yy1179;
+       default:        goto yy1130;
+       }
+yy1162:
+       ++c;
+       yych = *c;
        switch (yych) {
-       case 0x00:
        case 0x01:
        case 0x02:
        case 0x03:
@@ -55825,7 +59663,6 @@ size_t scan_html_line(const char * c) {
        case '\t':
        case '\v':
        case '\f':
-       case '\r':
        case 0x0E:
        case 0x0F:
        case 0x10:
@@ -55851,7 +59688,6 @@ size_t scan_html_line(const char * c) {
        case '$':
        case '%':
        case '&':
-       case '\'':
        case '(':
        case ')':
        case '*':
@@ -55872,6 +59708,7 @@ size_t scan_html_line(const char * c) {
        case '9':
        case ':':
        case ';':
+       case '<':
        case '=':
        case '>':
        case '?':
@@ -55938,8 +59775,8 @@ size_t scan_html_line(const char * c) {
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1102;
-       case '<':       goto yy1101;
+       case 0x7F:      goto yy1162;
+       case '\'':      goto yy1142;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -55969,8 +59806,8 @@ size_t scan_html_line(const char * c) {
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1103;
-       case 0xE0:      goto yy1105;
+       case 0xDF:      goto yy1168;
+       case 0xE0:      goto yy1169;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -55985,21 +59822,37 @@ size_t scan_html_line(const char * c) {
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1106;
-       case 0xF0:      goto yy1107;
+       case 0xEF:      goto yy1170;
+       case 0xF0:      goto yy1171;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1108;
-       case 0xF4:      goto yy1109;
-       default:        goto yy1100;
+       case 0xF3:      goto yy1172;
+       case 0xF4:      goto yy1173;
+       default:        goto yy1130;
        }
-yy1100:
-       { return 0; }
-yy1101:
-       yych = *(marker = ++c);
+yy1164:
+       ++c;
+       yych = *c;
        switch (yych) {
-       case '!':       goto yy1110;
-       case '/':       goto yy1111;
+       case '\t':
+       case ' ':       goto yy1142;
+       case '\n':      goto yy1145;
+       case '\r':      goto yy1147;
+       case '.':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy1164;
+       case '/':       goto yy1152;
+       case ':':
+       case '_':       goto yy1148;
+       case '>':       goto yy1150;
        case 'A':
        case 'B':
        case 'C':
@@ -56051,14 +59904,93 @@ yy1101:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy1112;
-       default:        goto yy1100;
+       case 'z':       goto yy1166;
+       case 0xC2:      goto yy1144;
+       default:        goto yy1130;
        }
-yy1102:
-       yych = *++c;
-       goto yy1100;
-yy1103:
-       yych = *++c;
+yy1166:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy1142;
+       case '\n':      goto yy1145;
+       case '\r':      goto yy1147;
+       case '-':
+       case ':':
+       case '_':       goto yy1148;
+       case '.':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy1166;
+       case '/':       goto yy1152;
+       case '=':       goto yy1157;
+       case '>':       goto yy1150;
+       case 0xC2:      goto yy1144;
+       default:        goto yy1130;
+       }
+yy1168:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -56123,14 +60055,12 @@ yy1103:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1102;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1162;
+       default:        goto yy1130;
        }
-yy1104:
-       c = marker;
-       goto yy1100;
-yy1105:
-       yych = *++c;
+yy1169:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0xA0:
        case 0xA1:
@@ -56163,11 +60093,12 @@ yy1105:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1103;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1168;
+       default:        goto yy1130;
        }
-yy1106:
-       yych = *++c;
+yy1170:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -56232,11 +60163,12 @@ yy1106:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1103;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1168;
+       default:        goto yy1130;
        }
-yy1107:
-       yych = *++c;
+yy1171:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0x90:
        case 0x91:
@@ -56285,11 +60217,12 @@ yy1107:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1106;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1170;
+       default:        goto yy1130;
        }
-yy1108:
-       yych = *++c;
+yy1172:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -56354,11 +60287,12 @@ yy1108:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1106;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1170;
+       default:        goto yy1130;
        }
-yy1109:
-       yych = *++c;
+yy1173:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -56375,547 +60309,347 @@ yy1109:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1106;
-       default:        goto yy1104;
-       }
-yy1110:
-       yych = *++c;
-       switch (yych) {
-       case '-':       goto yy1160;
-       default:        goto yy1104;
-       }
-yy1111:
-       yych = *++c;
-       switch (yych) {
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy1155;
-       default:        goto yy1104;
-       }
-yy1112:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case '\t':
-       case ' ':       goto yy1116;
-       case '\n':      goto yy1119;
-       case '\r':      goto yy1121;
-       case '-':
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':       goto yy1112;
-       case '/':       goto yy1126;
-       case ':':
-       case '_':       goto yy1122;
-       case '>':       goto yy1124;
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy1114;
-       case 0xC2:      goto yy1118;
-       default:        goto yy1104;
-       }
-yy1114:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case '\t':
-       case ' ':       goto yy1116;
-       case '\n':      goto yy1119;
-       case '\r':      goto yy1121;
-       case '-':
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy1114;
-       case '.':
-       case ':':
-       case '_':       goto yy1122;
-       case '/':       goto yy1126;
-       case '=':       goto yy1131;
-       case '>':       goto yy1124;
-       case 0xC2:      goto yy1118;
-       default:        goto yy1104;
-       }
-yy1116:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case '\t':
-       case ' ':       goto yy1116;
-       case '\n':      goto yy1119;
-       case '\r':      goto yy1121;
-       case '/':       goto yy1126;
-       case ':':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case '_':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy1122;
-       case '>':       goto yy1124;
-       case 0xC2:      goto yy1118;
-       default:        goto yy1104;
-       }
-yy1118:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0xA0:      goto yy1116;
-       default:        goto yy1104;
+       case 0x8F:      goto yy1170;
+       default:        goto yy1130;
        }
-yy1119:
+yy1174:
        ++c;
        yych = *c;
        switch (yych) {
-       case '\t':
-       case ' ':       goto yy1119;
-       case ':':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case '_':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy1122;
-       case 0xC2:      goto yy1154;
-       default:        goto yy1104;
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy1160;
+       default:        goto yy1130;
        }
-yy1121:
+yy1175:
        ++c;
        yych = *c;
        switch (yych) {
-       case '\t':
-       case '\n':
-       case ' ':       goto yy1119;
-       case ':':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case '_':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy1122;
-       case 0xC2:      goto yy1154;
-       default:        goto yy1104;
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy1174;
+       default:        goto yy1130;
        }
-yy1122:
+yy1176:
        ++c;
        yych = *c;
        switch (yych) {
-       case '-':
-       case '.':
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':
-       case ':':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case '_':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy1122;
-       case '=':       goto yy1131;
-       default:        goto yy1104;
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy1174;
+       default:        goto yy1130;
        }
-yy1124:
+yy1177:
        ++c;
        yych = *c;
        switch (yych) {
-       case '\t':
-       case ' ':       goto yy1124;
-       case '\n':      goto yy1128;
-       case '\r':      goto yy1130;
-       case 0xC2:      goto yy1127;
-       default:        goto yy1104;
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy1176;
+       default:        goto yy1130;
        }
-yy1126:
-       yych = *++c;
+yy1178:
+       ++c;
+       yych = *c;
        switch (yych) {
-       case '>':       goto yy1124;
-       default:        goto yy1104;
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy1176;
+       default:        goto yy1130;
        }
-yy1127:
+yy1179:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0xA0:      goto yy1124;
-       default:        goto yy1104;
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:      goto yy1176;
+       default:        goto yy1130;
        }
-yy1128:
+yy1180:
        ++c;
-yy1129:
-       { return (size_t)( c - start ); }
-yy1130:
-       yych = *++c;
+       yych = *c;
        switch (yych) {
-       case '\n':      goto yy1128;
-       default:        goto yy1129;
+       case 0xA0:      goto yy1145;
+       default:        goto yy1130;
        }
-yy1131:
+yy1181:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy1131;
-       case '"':       goto yy1134;
-       case '\'':      goto yy1136;
-       case '.':
+       case ' ':       goto yy1183;
+       case '-':
        case '0':
        case '1':
        case '2':
@@ -56977,146 +60711,40 @@ yy1131:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy1138;
-       case 0xC2:      goto yy1133;
-       default:        goto yy1104;
+       case 'z':       goto yy1181;
+       case '>':       goto yy1150;
+       case 0xC2:      goto yy1185;
+       default:        goto yy1130;
        }
-yy1133:
+yy1183:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0xA0:      goto yy1131;
-       default:        goto yy1104;
+       case '\t':
+       case ' ':       goto yy1183;
+       case '>':       goto yy1150;
+       case 0xC2:      goto yy1185;
+       default:        goto yy1130;
        }
-yy1134:
+yy1185:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0x01:
-       case 0x02:
-       case 0x03:
-       case 0x04:
-       case 0x05:
-       case 0x06:
-       case 0x07:
-       case 0x08:
-       case '\t':
-       case '\v':
-       case '\f':
-       case 0x0E:
-       case 0x0F:
-       case 0x10:
-       case 0x11:
-       case 0x12:
-       case 0x13:
-       case 0x14:
-       case 0x15:
-       case 0x16:
-       case 0x17:
-       case 0x18:
-       case 0x19:
-       case 0x1A:
-       case 0x1B:
-       case 0x1C:
-       case 0x1D:
-       case 0x1E:
-       case 0x1F:
-       case ' ':
-       case '!':
-       case '#':
-       case '$':
-       case '%':
-       case '&':
-       case '\'':
-       case '(':
-       case ')':
-       case '*':
-       case '+':
-       case ',':
-       case '-':
-       case '.':
-       case '/':
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':
-       case ':':
-       case ';':
-       case '<':
-       case '=':
-       case '>':
-       case '?':
-       case '@':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case '[':
-       case '\\':
-       case ']':
-       case '^':
-       case '_':
-       case '`':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':
-       case '{':
-       case '|':
-       case '}':
-       case '~':
-       case 0x7F:      goto yy1134;
-       case '"':       goto yy1116;
+       case 0xA0:      goto yy1183;
+       default:        goto yy1130;
+       }
+yy1186:
+       yych = *++c;
+       switch (yych) {
+       case '-':       goto yy1187;
+       default:        goto yy1130;
+       }
+yy1187:
+       yych = *++c;
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '-':       goto yy1130;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -57146,8 +60774,8 @@ yy1134:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1148;
-       case 0xE0:      goto yy1149;
+       case 0xDF:      goto yy1190;
+       case 0xE0:      goto yy1191;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -57162,17 +60790,18 @@ yy1134:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1150;
-       case 0xF0:      goto yy1151;
+       case 0xEF:      goto yy1192;
+       case 0xF0:      goto yy1193;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1152;
-       case 0xF4:      goto yy1153;
-       default:        goto yy1104;
+       case 0xF3:      goto yy1194;
+       case 0xF4:      goto yy1195;
+       default:        goto yy1189;
        }
-yy1136:
+yy1188:
        ++c;
        yych = *c;
+yy1189:
        switch (yych) {
        case 0x01:
        case 0x02:
@@ -57210,12 +60839,12 @@ yy1136:
        case '$':
        case '%':
        case '&':
+       case '\'':
        case '(':
        case ')':
        case '*':
        case '+':
        case ',':
-       case '-':
        case '.':
        case '/':
        case '0':
@@ -57232,7 +60861,6 @@ yy1136:
        case ';':
        case '<':
        case '=':
-       case '>':
        case '?':
        case '@':
        case 'A':
@@ -57297,8 +60925,10 @@ yy1136:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1136;
-       case '\'':      goto yy1116;
+       case 0x7F:      goto yy1188;
+       case '\n':      goto yy1203;
+       case '\r':      goto yy1204;
+       case '-':       goto yy1196;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -57328,8 +60958,8 @@ yy1136:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1142;
-       case 0xE0:      goto yy1143;
+       case 0xDF:      goto yy1197;
+       case 0xE0:      goto yy1198;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -57344,175 +60974,16 @@ yy1136:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1144;
-       case 0xF0:      goto yy1145;
+       case 0xEF:      goto yy1199;
+       case 0xF0:      goto yy1200;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1146;
-       case 0xF4:      goto yy1147;
-       default:        goto yy1104;
+       case 0xF3:      goto yy1201;
+       case 0xF4:      goto yy1202;
+       default:        goto yy1130;
        }
-yy1138:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case '\t':
-       case ' ':       goto yy1116;
-       case '\n':      goto yy1119;
-       case '\r':      goto yy1121;
-       case '.':
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':       goto yy1138;
-       case '/':       goto yy1126;
-       case ':':
-       case '_':       goto yy1122;
-       case '>':       goto yy1124;
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy1140;
-       case 0xC2:      goto yy1118;
-       default:        goto yy1104;
-       }
-yy1140:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case '\t':
-       case ' ':       goto yy1116;
-       case '\n':      goto yy1119;
-       case '\r':      goto yy1121;
-       case '-':
-       case ':':
-       case '_':       goto yy1122;
-       case '.':
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'E':
-       case 'F':
-       case 'G':
-       case 'H':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'O':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'U':
-       case 'V':
-       case 'W':
-       case 'X':
-       case 'Y':
-       case 'Z':
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'e':
-       case 'f':
-       case 'g':
-       case 'h':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'o':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'u':
-       case 'v':
-       case 'w':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy1140;
-       case '/':       goto yy1126;
-       case '=':       goto yy1131;
-       case '>':       goto yy1124;
-       case 0xC2:      goto yy1118;
-       default:        goto yy1104;
-       }
-yy1142:
-       ++c;
-       yych = *c;
+yy1190:
+       yych = *++c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -57577,12 +61048,11 @@ yy1142:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1136;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1188;
+       default:        goto yy1130;
        }
-yy1143:
-       ++c;
-       yych = *c;
+yy1191:
+       yych = *++c;
        switch (yych) {
        case 0xA0:
        case 0xA1:
@@ -57615,12 +61085,11 @@ yy1143:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1142;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1190;
+       default:        goto yy1130;
        }
-yy1144:
-       ++c;
-       yych = *c;
+yy1192:
+       yych = *++c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -57685,12 +61154,11 @@ yy1144:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1142;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1190;
+       default:        goto yy1130;
        }
-yy1145:
-       ++c;
-       yych = *c;
+yy1193:
+       yych = *++c;
        switch (yych) {
        case 0x90:
        case 0x91:
@@ -57739,12 +61207,11 @@ yy1145:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1144;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1192;
+       default:        goto yy1130;
        }
-yy1146:
-       ++c;
-       yych = *c;
+yy1194:
+       yych = *++c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -57809,12 +61276,11 @@ yy1146:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1144;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1192;
+       default:        goto yy1130;
        }
-yy1147:
-       ++c;
-       yych = *c;
+yy1195:
+       yych = *++c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -57831,10 +61297,193 @@ yy1147:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1144;
-       default:        goto yy1104;
+       case 0x8F:      goto yy1192;
+       default:        goto yy1130;
        }
-yy1148:
+yy1196:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
+       case '\t':
+       case '\v':
+       case '\f':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '.':
+       case '/':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '?':
+       case '@':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
+       case '_':
+       case '`':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy1188;
+       case '\n':      goto yy1203;
+       case '\r':      goto yy1204;
+       case '-':       goto yy1216;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy1197;
+       case 0xE0:      goto yy1198;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy1199;
+       case 0xF0:      goto yy1200;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy1201;
+       case 0xF4:      goto yy1202;
+       default:        goto yy1130;
+       }
+yy1197:
        ++c;
        yych = *c;
        switch (yych) {
@@ -57901,10 +61550,10 @@ yy1148:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1134;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1188;
+       default:        goto yy1130;
        }
-yy1149:
+yy1198:
        ++c;
        yych = *c;
        switch (yych) {
@@ -57939,10 +61588,10 @@ yy1149:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1148;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1197;
+       default:        goto yy1130;
        }
-yy1150:
+yy1199:
        ++c;
        yych = *c;
        switch (yych) {
@@ -58009,10 +61658,10 @@ yy1150:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1148;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1197;
+       default:        goto yy1130;
        }
-yy1151:
+yy1200:
        ++c;
        yych = *c;
        switch (yych) {
@@ -58063,10 +61712,10 @@ yy1151:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1150;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1199;
+       default:        goto yy1130;
        }
-yy1152:
+yy1201:
        ++c;
        yych = *c;
        switch (yych) {
@@ -58133,10 +61782,10 @@ yy1152:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1150;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1199;
+       default:        goto yy1130;
        }
-yy1153:
+yy1202:
        ++c;
        yych = *c;
        switch (yych) {
@@ -58155,23 +61804,58 @@ yy1153:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1150;
-       default:        goto yy1104;
+       case 0x8F:      goto yy1199;
+       default:        goto yy1130;
        }
-yy1154:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0xA0:      goto yy1119;
-       default:        goto yy1104;
-       }
-yy1155:
+yy1203:
        ++c;
        yych = *c;
        switch (yych) {
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
        case '\t':
-       case ' ':       goto yy1157;
+       case '\v':
+       case '\f':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
        case '-':
+       case '.':
+       case '/':
        case '0':
        case '1':
        case '2':
@@ -58182,6 +61866,12 @@ yy1155:
        case '7':
        case '8':
        case '9':
+       case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '?':
+       case '@':
        case 'A':
        case 'B':
        case 'C':
@@ -58208,6 +61898,12 @@ yy1155:
        case 'X':
        case 'Y':
        case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
+       case '_':
+       case '`':
        case 'a':
        case 'b':
        case 'c':
@@ -58233,38 +61929,194 @@ yy1155:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy1155;
-       case '>':       goto yy1124;
-       case 0xC2:      goto yy1159;
-       default:        goto yy1104;
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy1205;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy1207;
+       case 0xE0:      goto yy1208;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy1209;
+       case 0xF0:      goto yy1210;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy1211;
+       case 0xF4:      goto yy1212;
+       default:        goto yy1130;
        }
-yy1157:
+yy1204:
        ++c;
        yych = *c;
        switch (yych) {
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
        case '\t':
-       case ' ':       goto yy1157;
-       case '>':       goto yy1124;
-       case 0xC2:      goto yy1159;
-       default:        goto yy1104;
-       }
-yy1159:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0xA0:      goto yy1157;
-       default:        goto yy1104;
-       }
-yy1160:
-       yych = *++c;
-       switch (yych) {
-       case '-':       goto yy1161;
-       default:        goto yy1104;
-       }
-yy1161:
-       yych = *++c;
-       switch (yych) {
-       case '-':       goto yy1104;
+       case '\v':
+       case '\f':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '-':
+       case '.':
+       case '/':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '?':
+       case '@':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
+       case '_':
+       case '`':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy1205;
+       case '\n':      goto yy1203;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -58294,8 +62146,8 @@ yy1161:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1164;
-       case 0xE0:      goto yy1165;
+       case 0xDF:      goto yy1207;
+       case 0xE0:      goto yy1208;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -58310,18 +62162,17 @@ yy1161:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1166;
-       case 0xF0:      goto yy1167;
+       case 0xEF:      goto yy1209;
+       case 0xF0:      goto yy1210;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1168;
-       case 0xF4:      goto yy1169;
-       default:        goto yy1163;
+       case 0xF3:      goto yy1211;
+       case 0xF4:      goto yy1212;
+       default:        goto yy1130;
        }
-yy1162:
+yy1205:
        ++c;
        yych = *c;
-yy1163:
        switch (yych) {
        case 0x01:
        case 0x02:
@@ -58332,10 +62183,8 @@ yy1163:
        case 0x07:
        case 0x08:
        case '\t':
-       case '\n':
        case '\v':
        case '\f':
-       case '\r':
        case 0x0E:
        case 0x0F:
        case 0x10:
@@ -58447,8 +62296,10 @@ yy1163:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1162;
-       case '-':       goto yy1170;
+       case 0x7F:      goto yy1205;
+       case '\n':      goto yy1203;
+       case '\r':      goto yy1204;
+       case '-':       goto yy1213;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -58478,8 +62329,8 @@ yy1163:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1171;
-       case 0xE0:      goto yy1172;
+       case 0xDF:      goto yy1207;
+       case 0xE0:      goto yy1208;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -58494,16 +62345,17 @@ yy1163:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1173;
-       case 0xF0:      goto yy1174;
+       case 0xEF:      goto yy1209;
+       case 0xF0:      goto yy1210;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1175;
-       case 0xF4:      goto yy1176;
-       default:        goto yy1104;
+       case 0xF3:      goto yy1211;
+       case 0xF4:      goto yy1212;
+       default:        goto yy1130;
        }
-yy1164:
-       yych = *++c;
+yy1207:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -58568,11 +62420,12 @@ yy1164:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1162;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1205;
+       default:        goto yy1130;
        }
-yy1165:
-       yych = *++c;
+yy1208:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0xA0:
        case 0xA1:
@@ -58605,11 +62458,12 @@ yy1165:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1164;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1207;
+       default:        goto yy1130;
        }
-yy1166:
-       yych = *++c;
+yy1209:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -58674,11 +62528,12 @@ yy1166:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1164;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1207;
+       default:        goto yy1130;
        }
-yy1167:
-       yych = *++c;
+yy1210:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0x90:
        case 0x91:
@@ -58727,11 +62582,12 @@ yy1167:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1166;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1209;
+       default:        goto yy1130;
        }
-yy1168:
-       yych = *++c;
+yy1211:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -58796,11 +62652,12 @@ yy1168:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1166;
-       default:        goto yy1104;
+       case 0xBF:      goto yy1209;
+       default:        goto yy1130;
        }
-yy1169:
-       yych = *++c;
+yy1212:
+       ++c;
+       yych = *c;
        switch (yych) {
        case 0x80:
        case 0x81:
@@ -58817,10 +62674,10 @@ yy1169:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1166;
-       default:        goto yy1104;
+       case 0x8F:      goto yy1209;
+       default:        goto yy1130;
        }
-yy1170:
+yy1213:
        ++c;
        yych = *c;
        switch (yych) {
@@ -58833,10 +62690,8 @@ yy1170:
        case 0x07:
        case 0x08:
        case '\t':
-       case '\n':
        case '\v':
        case '\f':
-       case '\r':
        case 0x0E:
        case 0x0F:
        case 0x10:
@@ -58948,8 +62803,194 @@ yy1170:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1162;
-       case '-':       goto yy1177;
+       case 0x7F:      goto yy1205;
+       case '\n':      goto yy1203;
+       case '\r':      goto yy1204;
+       case '-':       goto yy1214;
+       case 0xC2:
+       case 0xC3:
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy1207;
+       case 0xE0:      goto yy1208;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy1209;
+       case 0xF0:      goto yy1210;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy1211;
+       case 0xF4:      goto yy1212;
+       default:        goto yy1130;
+       }
+yy1214:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
+       case '\t':
+       case '\v':
+       case '\f':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ' ':
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':
+       case '.':
+       case '/':
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case ':':
+       case ';':
+       case '<':
+       case '=':
+       case '?':
+       case '@':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '[':
+       case '\\':
+       case ']':
+       case '^':
+       case '_':
+       case '`':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':
+       case '{':
+       case '|':
+       case '}':
+       case '~':
+       case 0x7F:      goto yy1205;
+       case '\n':      goto yy1203;
+       case '\r':      goto yy1204;
+       case '-':       goto yy1214;
+       case '>':       goto yy1150;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -58979,8 +63020,8 @@ yy1170:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1171;
-       case 0xE0:      goto yy1172;
+       case 0xDF:      goto yy1207;
+       case 0xE0:      goto yy1208;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -58995,339 +63036,15 @@ yy1170:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1173;
-       case 0xF0:      goto yy1174;
+       case 0xEF:      goto yy1209;
+       case 0xF0:      goto yy1210;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1175;
-       case 0xF4:      goto yy1176;
-       default:        goto yy1104;
+       case 0xF3:      goto yy1211;
+       case 0xF4:      goto yy1212;
+       default:        goto yy1130;
        }
-yy1171:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy1162;
-       default:        goto yy1104;
-       }
-yy1172:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy1171;
-       default:        goto yy1104;
-       }
-yy1173:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy1171;
-       default:        goto yy1104;
-       }
-yy1174:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy1173;
-       default:        goto yy1104;
-       }
-yy1175:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:
-       case 0x90:
-       case 0x91:
-       case 0x92:
-       case 0x93:
-       case 0x94:
-       case 0x95:
-       case 0x96:
-       case 0x97:
-       case 0x98:
-       case 0x99:
-       case 0x9A:
-       case 0x9B:
-       case 0x9C:
-       case 0x9D:
-       case 0x9E:
-       case 0x9F:
-       case 0xA0:
-       case 0xA1:
-       case 0xA2:
-       case 0xA3:
-       case 0xA4:
-       case 0xA5:
-       case 0xA6:
-       case 0xA7:
-       case 0xA8:
-       case 0xA9:
-       case 0xAA:
-       case 0xAB:
-       case 0xAC:
-       case 0xAD:
-       case 0xAE:
-       case 0xAF:
-       case 0xB0:
-       case 0xB1:
-       case 0xB2:
-       case 0xB3:
-       case 0xB4:
-       case 0xB5:
-       case 0xB6:
-       case 0xB7:
-       case 0xB8:
-       case 0xB9:
-       case 0xBA:
-       case 0xBB:
-       case 0xBC:
-       case 0xBD:
-       case 0xBE:
-       case 0xBF:      goto yy1173;
-       default:        goto yy1104;
-       }
-yy1176:
-       ++c;
-       yych = *c;
-       switch (yych) {
-       case 0x80:
-       case 0x81:
-       case 0x82:
-       case 0x83:
-       case 0x84:
-       case 0x85:
-       case 0x86:
-       case 0x87:
-       case 0x88:
-       case 0x89:
-       case 0x8A:
-       case 0x8B:
-       case 0x8C:
-       case 0x8D:
-       case 0x8E:
-       case 0x8F:      goto yy1173;
-       default:        goto yy1104;
-       }
-yy1177:
+yy1216:
        ++c;
        yych = *c;
        switch (yych) {
@@ -59340,10 +63057,8 @@ yy1177:
        case 0x07:
        case 0x08:
        case '\t':
-       case '\n':
        case '\v':
        case '\f':
-       case '\r':
        case 0x0E:
        case 0x0F:
        case 0x10:
@@ -59455,9 +63170,11 @@ yy1177:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1162;
-       case '-':       goto yy1177;
-       case '>':       goto yy1124;
+       case 0x7F:      goto yy1188;
+       case '\n':      goto yy1203;
+       case '\r':      goto yy1204;
+       case '-':       goto yy1216;
+       case '>':       goto yy1150;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -59487,8 +63204,8 @@ yy1177:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1171;
-       case 0xE0:      goto yy1172;
+       case 0xDF:      goto yy1197;
+       case 0xE0:      goto yy1198;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -59503,13 +63220,13 @@ yy1177:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1173;
-       case 0xF0:      goto yy1174;
+       case 0xEF:      goto yy1199;
+       case 0xF0:      goto yy1200;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1175;
-       case 0xF4:      goto yy1176;
-       default:        goto yy1104;
+       case 0xF3:      goto yy1201;
+       case 0xF4:      goto yy1202;
+       default:        goto yy1130;
        }
 }
        
@@ -59648,11 +63365,11 @@ size_t scan_fence_start(const char * c) {
        case '{':
        case '|':
        case '}':
-       case 0x7F:      goto yy1186;
-       case ' ':       goto yy1182;
+       case 0x7F:      goto yy1225;
+       case ' ':       goto yy1221;
        case '`':
-       case '~':       goto yy1185;
-       case 0xC2:      goto yy1183;
+       case '~':       goto yy1224;
+       case 0xC2:      goto yy1222;
        case 0xC3:
        case 0xC4:
        case 0xC5:
@@ -59681,8 +63398,8 @@ size_t scan_fence_start(const char * c) {
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1187;
-       case 0xE0:      goto yy1188;
+       case 0xDF:      goto yy1226;
+       case 0xE0:      goto yy1227;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -59697,26 +63414,26 @@ size_t scan_fence_start(const char * c) {
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1189;
-       case 0xF0:      goto yy1190;
+       case 0xEF:      goto yy1228;
+       case 0xF0:      goto yy1229;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1191;
-       case 0xF4:      goto yy1192;
-       default:        goto yy1181;
+       case 0xF3:      goto yy1230;
+       case 0xF4:      goto yy1231;
+       default:        goto yy1220;
        }
-yy1181:
+yy1220:
        { return 0; }
-yy1182:
+yy1221:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy1209;
+       case ' ':       goto yy1248;
        case '`':
-       case '~':       goto yy1211;
-       case 0xC2:      goto yy1210;
-       default:        goto yy1181;
+       case '~':       goto yy1250;
+       case 0xC2:      goto yy1249;
+       default:        goto yy1220;
        }
-yy1183:
+yy1222:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -59781,24 +63498,24 @@ yy1183:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1186;
-       case 0xA0:      goto yy1182;
-       default:        goto yy1184;
+       case 0xBF:      goto yy1225;
+       case 0xA0:      goto yy1221;
+       default:        goto yy1223;
        }
-yy1184:
+yy1223:
        c = marker;
-       goto yy1181;
-yy1185:
+       goto yy1220;
+yy1224:
        yych = *(marker = ++c);
        switch (yych) {
        case '`':
-       case '~':       goto yy1193;
-       default:        goto yy1181;
+       case '~':       goto yy1232;
+       default:        goto yy1220;
        }
-yy1186:
+yy1225:
        yych = *++c;
-       goto yy1181;
-yy1187:
+       goto yy1220;
+yy1226:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -59864,10 +63581,10 @@ yy1187:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1186;
-       default:        goto yy1184;
+       case 0xBF:      goto yy1225;
+       default:        goto yy1223;
        }
-yy1188:
+yy1227:
        yych = *++c;
        switch (yych) {
        case 0xA0:
@@ -59901,10 +63618,10 @@ yy1188:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1187;
-       default:        goto yy1184;
+       case 0xBF:      goto yy1226;
+       default:        goto yy1223;
        }
-yy1189:
+yy1228:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -59970,10 +63687,10 @@ yy1189:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1187;
-       default:        goto yy1184;
+       case 0xBF:      goto yy1226;
+       default:        goto yy1223;
        }
-yy1190:
+yy1229:
        yych = *++c;
        switch (yych) {
        case 0x90:
@@ -60023,10 +63740,10 @@ yy1190:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1189;
-       default:        goto yy1184;
+       case 0xBF:      goto yy1228;
+       default:        goto yy1223;
        }
-yy1191:
+yy1230:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -60092,10 +63809,10 @@ yy1191:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1189;
-       default:        goto yy1184;
+       case 0xBF:      goto yy1228;
+       default:        goto yy1223;
        }
-yy1192:
+yy1231:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -60113,17 +63830,17 @@ yy1192:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1189;
-       default:        goto yy1184;
+       case 0x8F:      goto yy1228;
+       default:        goto yy1223;
        }
-yy1193:
+yy1232:
        yych = *++c;
        switch (yych) {
        case '`':
-       case '~':       goto yy1194;
-       default:        goto yy1184;
+       case '~':       goto yy1233;
+       default:        goto yy1223;
        }
-yy1194:
+yy1233:
        ++c;
        yych = *c;
        switch (yych) {
@@ -60248,9 +63965,9 @@ yy1194:
        case '{':
        case '|':
        case '}':
-       case 0x7F:      goto yy1196;
-       case '`':       goto yy1194;
-       case '~':       goto yy1198;
+       case 0x7F:      goto yy1235;
+       case '`':       goto yy1233;
+       case '~':       goto yy1237;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -60280,8 +63997,8 @@ yy1194:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1200;
-       case 0xE0:      goto yy1201;
+       case 0xDF:      goto yy1239;
+       case 0xE0:      goto yy1240;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -60296,20 +64013,20 @@ yy1194:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1202;
-       case 0xF0:      goto yy1203;
+       case 0xEF:      goto yy1241;
+       case 0xF0:      goto yy1242;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1204;
-       case 0xF4:      goto yy1205;
-       default:        goto yy1184;
+       case 0xF3:      goto yy1243;
+       case 0xF4:      goto yy1244;
+       default:        goto yy1223;
        }
-yy1196:
+yy1235:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy1206;
+       case '\n':      goto yy1245;
        case 0x01:
        case 0x02:
        case 0x03:
@@ -60432,8 +64149,8 @@ yy1196:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1196;
-       case '\r':      goto yy1208;
+       case 0x7F:      goto yy1235;
+       case '\r':      goto yy1247;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -60463,8 +64180,8 @@ yy1196:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1200;
-       case 0xE0:      goto yy1201;
+       case 0xDF:      goto yy1239;
+       case 0xE0:      goto yy1240;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -60479,20 +64196,20 @@ yy1196:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1202;
-       case 0xF0:      goto yy1203;
+       case 0xEF:      goto yy1241;
+       case 0xF0:      goto yy1242;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1204;
-       case 0xF4:      goto yy1205;
-       default:        goto yy1184;
+       case 0xF3:      goto yy1243;
+       case 0xF4:      goto yy1244;
+       default:        goto yy1223;
        }
-yy1198:
+yy1237:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy1206;
+       case '\n':      goto yy1245;
        case 0x01:
        case 0x02:
        case 0x03:
@@ -60614,10 +64331,10 @@ yy1198:
        case '{':
        case '|':
        case '}':
-       case 0x7F:      goto yy1196;
-       case '\r':      goto yy1208;
-       case '`':       goto yy1194;
-       case '~':       goto yy1198;
+       case 0x7F:      goto yy1235;
+       case '\r':      goto yy1247;
+       case '`':       goto yy1233;
+       case '~':       goto yy1237;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -60647,8 +64364,8 @@ yy1198:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1200;
-       case 0xE0:      goto yy1201;
+       case 0xDF:      goto yy1239;
+       case 0xE0:      goto yy1240;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -60663,15 +64380,15 @@ yy1198:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1202;
-       case 0xF0:      goto yy1203;
+       case 0xEF:      goto yy1241;
+       case 0xF0:      goto yy1242;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1204;
-       case 0xF4:      goto yy1205;
-       default:        goto yy1184;
+       case 0xF3:      goto yy1243;
+       case 0xF4:      goto yy1244;
+       default:        goto yy1223;
        }
-yy1200:
+yy1239:
        ++c;
        yych = *c;
        switch (yych) {
@@ -60738,10 +64455,10 @@ yy1200:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1196;
-       default:        goto yy1184;
+       case 0xBF:      goto yy1235;
+       default:        goto yy1223;
        }
-yy1201:
+yy1240:
        ++c;
        yych = *c;
        switch (yych) {
@@ -60776,10 +64493,10 @@ yy1201:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1200;
-       default:        goto yy1184;
+       case 0xBF:      goto yy1239;
+       default:        goto yy1223;
        }
-yy1202:
+yy1241:
        ++c;
        yych = *c;
        switch (yych) {
@@ -60846,10 +64563,10 @@ yy1202:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1200;
-       default:        goto yy1184;
+       case 0xBF:      goto yy1239;
+       default:        goto yy1223;
        }
-yy1203:
+yy1242:
        ++c;
        yych = *c;
        switch (yych) {
@@ -60900,10 +64617,10 @@ yy1203:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1202;
-       default:        goto yy1184;
+       case 0xBF:      goto yy1241;
+       default:        goto yy1223;
        }
-yy1204:
+yy1243:
        ++c;
        yych = *c;
        switch (yych) {
@@ -60970,10 +64687,10 @@ yy1204:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1202;
-       default:        goto yy1184;
+       case 0xBF:      goto yy1241;
+       default:        goto yy1223;
        }
-yy1205:
+yy1244:
        ++c;
        yych = *c;
        switch (yych) {
@@ -60992,53 +64709,53 @@ yy1205:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1202;
-       default:        goto yy1184;
+       case 0x8F:      goto yy1241;
+       default:        goto yy1223;
        }
-yy1206:
+yy1245:
        ++c;
-yy1207:
+yy1246:
        { return (size_t)( c - start ); }
-yy1208:
+yy1247:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy1206;
-       default:        goto yy1207;
+       case '\n':      goto yy1245;
+       default:        goto yy1246;
        }
-yy1209:
+yy1248:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy1212;
+       case ' ':       goto yy1251;
        case '`':
-       case '~':       goto yy1211;
-       case 0xC2:      goto yy1213;
-       default:        goto yy1184;
+       case '~':       goto yy1250;
+       case 0xC2:      goto yy1252;
+       default:        goto yy1223;
        }
-yy1210:
+yy1249:
        yych = *++c;
        switch (yych) {
-       case 0xA0:      goto yy1209;
-       default:        goto yy1184;
+       case 0xA0:      goto yy1248;
+       default:        goto yy1223;
        }
-yy1211:
+yy1250:
        yych = *++c;
        switch (yych) {
        case '`':
-       case '~':       goto yy1193;
-       default:        goto yy1184;
+       case '~':       goto yy1232;
+       default:        goto yy1223;
        }
-yy1212:
+yy1251:
        yych = *++c;
        switch (yych) {
        case '`':
-       case '~':       goto yy1211;
-       default:        goto yy1184;
+       case '~':       goto yy1250;
+       default:        goto yy1223;
        }
-yy1213:
+yy1252:
        ++c;
        switch ((yych = *c)) {
-       case 0xA0:      goto yy1212;
-       default:        goto yy1184;
+       case 0xA0:      goto yy1251;
+       default:        goto yy1223;
        }
 }
        
@@ -61177,11 +64894,11 @@ size_t scan_fence_end(const char * c) {
        case '{':
        case '|':
        case '}':
-       case 0x7F:      goto yy1221;
-       case ' ':       goto yy1217;
+       case 0x7F:      goto yy1260;
+       case ' ':       goto yy1256;
        case '`':
-       case '~':       goto yy1220;
-       case 0xC2:      goto yy1218;
+       case '~':       goto yy1259;
+       case 0xC2:      goto yy1257;
        case 0xC3:
        case 0xC4:
        case 0xC5:
@@ -61210,8 +64927,8 @@ size_t scan_fence_end(const char * c) {
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1222;
-       case 0xE0:      goto yy1223;
+       case 0xDF:      goto yy1261;
+       case 0xE0:      goto yy1262;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -61226,26 +64943,26 @@ size_t scan_fence_end(const char * c) {
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1224;
-       case 0xF0:      goto yy1225;
+       case 0xEF:      goto yy1263;
+       case 0xF0:      goto yy1264;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1226;
-       case 0xF4:      goto yy1227;
-       default:        goto yy1216;
+       case 0xF3:      goto yy1265;
+       case 0xF4:      goto yy1266;
+       default:        goto yy1255;
        }
-yy1216:
+yy1255:
        { return 0; }
-yy1217:
+yy1256:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy1237;
+       case ' ':       goto yy1276;
        case '`':
-       case '~':       goto yy1239;
-       case 0xC2:      goto yy1238;
-       default:        goto yy1216;
+       case '~':       goto yy1278;
+       case 0xC2:      goto yy1277;
+       default:        goto yy1255;
        }
-yy1218:
+yy1257:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -61310,24 +65027,24 @@ yy1218:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1221;
-       case 0xA0:      goto yy1217;
-       default:        goto yy1219;
+       case 0xBF:      goto yy1260;
+       case 0xA0:      goto yy1256;
+       default:        goto yy1258;
        }
-yy1219:
+yy1258:
        c = marker;
-       goto yy1216;
-yy1220:
+       goto yy1255;
+yy1259:
        yych = *(marker = ++c);
        switch (yych) {
        case '`':
-       case '~':       goto yy1228;
-       default:        goto yy1216;
+       case '~':       goto yy1267;
+       default:        goto yy1255;
        }
-yy1221:
+yy1260:
        yych = *++c;
-       goto yy1216;
-yy1222:
+       goto yy1255;
+yy1261:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -61393,10 +65110,10 @@ yy1222:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1221;
-       default:        goto yy1219;
+       case 0xBF:      goto yy1260;
+       default:        goto yy1258;
        }
-yy1223:
+yy1262:
        yych = *++c;
        switch (yych) {
        case 0xA0:
@@ -61430,10 +65147,10 @@ yy1223:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1222;
-       default:        goto yy1219;
+       case 0xBF:      goto yy1261;
+       default:        goto yy1258;
        }
-yy1224:
+yy1263:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -61499,10 +65216,10 @@ yy1224:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1222;
-       default:        goto yy1219;
+       case 0xBF:      goto yy1261;
+       default:        goto yy1258;
        }
-yy1225:
+yy1264:
        yych = *++c;
        switch (yych) {
        case 0x90:
@@ -61552,10 +65269,10 @@ yy1225:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1224;
-       default:        goto yy1219;
+       case 0xBF:      goto yy1263;
+       default:        goto yy1258;
        }
-yy1226:
+yy1265:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -61621,10 +65338,10 @@ yy1226:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1224;
-       default:        goto yy1219;
+       case 0xBF:      goto yy1263;
+       default:        goto yy1258;
        }
-yy1227:
+yy1266:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -61642,93 +65359,93 @@ yy1227:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1224;
-       default:        goto yy1219;
+       case 0x8F:      goto yy1263;
+       default:        goto yy1258;
        }
-yy1228:
+yy1267:
        yych = *++c;
        switch (yych) {
        case '`':
-       case '~':       goto yy1229;
-       default:        goto yy1219;
+       case '~':       goto yy1268;
+       default:        goto yy1258;
        }
-yy1229:
+yy1268:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy1234;
+       case '\n':      goto yy1273;
        case '\t':
-       case ' ':       goto yy1231;
-       case '\r':      goto yy1236;
+       case ' ':       goto yy1270;
+       case '\r':      goto yy1275;
        case '`':
-       case '~':       goto yy1229;
-       case 0xC2:      goto yy1233;
-       default:        goto yy1219;
+       case '~':       goto yy1268;
+       case 0xC2:      goto yy1272;
+       default:        goto yy1258;
        }
-yy1231:
+yy1270:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy1234;
+       case '\n':      goto yy1273;
        case '\t':
-       case ' ':       goto yy1231;
-       case '\r':      goto yy1236;
-       case 0xC2:      goto yy1233;
-       default:        goto yy1219;
+       case ' ':       goto yy1270;
+       case '\r':      goto yy1275;
+       case 0xC2:      goto yy1272;
+       default:        goto yy1258;
        }
-yy1233:
+yy1272:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0xA0:      goto yy1231;
-       default:        goto yy1219;
+       case 0xA0:      goto yy1270;
+       default:        goto yy1258;
        }
-yy1234:
+yy1273:
        ++c;
-yy1235:
+yy1274:
        { return (size_t)( c - start ); }
-yy1236:
+yy1275:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy1234;
-       default:        goto yy1235;
+       case '\n':      goto yy1273;
+       default:        goto yy1274;
        }
-yy1237:
+yy1276:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy1240;
+       case ' ':       goto yy1279;
        case '`':
-       case '~':       goto yy1239;
-       case 0xC2:      goto yy1241;
-       default:        goto yy1219;
+       case '~':       goto yy1278;
+       case 0xC2:      goto yy1280;
+       default:        goto yy1258;
        }
-yy1238:
+yy1277:
        yych = *++c;
        switch (yych) {
-       case 0xA0:      goto yy1237;
-       default:        goto yy1219;
+       case 0xA0:      goto yy1276;
+       default:        goto yy1258;
        }
-yy1239:
+yy1278:
        yych = *++c;
        switch (yych) {
        case '`':
-       case '~':       goto yy1228;
-       default:        goto yy1219;
+       case '~':       goto yy1267;
+       default:        goto yy1258;
        }
-yy1240:
+yy1279:
        yych = *++c;
        switch (yych) {
        case '`':
-       case '~':       goto yy1239;
-       default:        goto yy1219;
+       case '~':       goto yy1278;
+       default:        goto yy1258;
        }
-yy1241:
+yy1280:
        ++c;
        switch ((yych = *c)) {
-       case 0xA0:      goto yy1240;
-       default:        goto yy1219;
+       case 0xA0:      goto yy1279;
+       default:        goto yy1258;
        }
 }
        
@@ -61808,7 +65525,7 @@ size_t scan_meta_line(const char * c) {
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1246;
+       case 0x7F:      goto yy1285;
        case '0':
        case '1':
        case '2':
@@ -61870,7 +65587,7 @@ size_t scan_meta_line(const char * c) {
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy1245;
+       case 'z':       goto yy1284;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -61900,8 +65617,8 @@ size_t scan_meta_line(const char * c) {
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1247;
-       case 0xE0:      goto yy1249;
+       case 0xDF:      goto yy1286;
+       case 0xE0:      goto yy1288;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -61916,17 +65633,17 @@ size_t scan_meta_line(const char * c) {
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1250;
-       case 0xF0:      goto yy1251;
+       case 0xEF:      goto yy1289;
+       case 0xF0:      goto yy1290;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1252;
-       case 0xF4:      goto yy1253;
-       default:        goto yy1244;
+       case 0xF3:      goto yy1291;
+       case 0xF4:      goto yy1292;
+       default:        goto yy1283;
        }
-yy1244:
+yy1283:
        { return 0; }
-yy1245:
+yy1284:
        yych = *(marker = ++c);
        switch (yych) {
        case '\t':
@@ -61997,13 +65714,13 @@ yy1245:
        case 'x':
        case 'y':
        case 'z':
-       case 0xC2:      goto yy1255;
-       default:        goto yy1244;
+       case 0xC2:      goto yy1294;
+       default:        goto yy1283;
        }
-yy1246:
+yy1285:
        yych = *++c;
-       goto yy1244;
-yy1247:
+       goto yy1283;
+yy1286:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -62069,13 +65786,13 @@ yy1247:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1246;
-       default:        goto yy1248;
+       case 0xBF:      goto yy1285;
+       default:        goto yy1287;
        }
-yy1248:
+yy1287:
        c = marker;
-       goto yy1244;
-yy1249:
+       goto yy1283;
+yy1288:
        yych = *++c;
        switch (yych) {
        case 0xA0:
@@ -62109,10 +65826,10 @@ yy1249:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1247;
-       default:        goto yy1248;
+       case 0xBF:      goto yy1286;
+       default:        goto yy1287;
        }
-yy1250:
+yy1289:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -62178,10 +65895,10 @@ yy1250:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1247;
-       default:        goto yy1248;
+       case 0xBF:      goto yy1286;
+       default:        goto yy1287;
        }
-yy1251:
+yy1290:
        yych = *++c;
        switch (yych) {
        case 0x90:
@@ -62231,10 +65948,10 @@ yy1251:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1250;
-       default:        goto yy1248;
+       case 0xBF:      goto yy1289;
+       default:        goto yy1287;
        }
-yy1252:
+yy1291:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -62300,10 +66017,10 @@ yy1252:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1250;
-       default:        goto yy1248;
+       case 0xBF:      goto yy1289;
+       default:        goto yy1287;
        }
-yy1253:
+yy1292:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -62321,13 +66038,13 @@ yy1253:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1250;
-       default:        goto yy1248;
+       case 0x8F:      goto yy1289;
+       default:        goto yy1287;
        }
-yy1254:
+yy1293:
        ++c;
        yych = *c;
-yy1255:
+yy1294:
        switch (yych) {
        case '\t':
        case ' ':
@@ -62395,33 +66112,33 @@ yy1255:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy1254;
-       case ':':       goto yy1257;
-       case 0xC2:      goto yy1256;
-       default:        goto yy1248;
+       case 'z':       goto yy1293;
+       case ':':       goto yy1296;
+       case 0xC2:      goto yy1295;
+       default:        goto yy1287;
        }
-yy1256:
+yy1295:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0xA0:      goto yy1254;
-       default:        goto yy1248;
+       case 0xA0:      goto yy1293;
+       default:        goto yy1287;
        }
-yy1257:
+yy1296:
        yych = *++c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '\r':      goto yy1248;
-       default:        goto yy1259;
+       case '\r':      goto yy1287;
+       default:        goto yy1298;
        }
-yy1258:
+yy1297:
        ++c;
        yych = *c;
-yy1259:
+yy1298:
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy1266;
+       case '\n':      goto yy1305;
        case 0x01:
        case 0x02:
        case 0x03:
@@ -62546,8 +66263,8 @@ yy1259:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1258;
-       case '\r':      goto yy1268;
+       case 0x7F:      goto yy1297;
+       case '\r':      goto yy1307;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -62577,8 +66294,8 @@ yy1259:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1260;
-       case 0xE0:      goto yy1261;
+       case 0xDF:      goto yy1299;
+       case 0xE0:      goto yy1300;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -62593,15 +66310,15 @@ yy1259:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1262;
-       case 0xF0:      goto yy1263;
+       case 0xEF:      goto yy1301;
+       case 0xF0:      goto yy1302;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1264;
-       case 0xF4:      goto yy1265;
-       default:        goto yy1248;
+       case 0xF3:      goto yy1303;
+       case 0xF4:      goto yy1304;
+       default:        goto yy1287;
        }
-yy1260:
+yy1299:
        ++c;
        yych = *c;
        switch (yych) {
@@ -62668,10 +66385,10 @@ yy1260:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1258;
-       default:        goto yy1248;
+       case 0xBF:      goto yy1297;
+       default:        goto yy1287;
        }
-yy1261:
+yy1300:
        ++c;
        yych = *c;
        switch (yych) {
@@ -62706,10 +66423,10 @@ yy1261:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1260;
-       default:        goto yy1248;
+       case 0xBF:      goto yy1299;
+       default:        goto yy1287;
        }
-yy1262:
+yy1301:
        ++c;
        yych = *c;
        switch (yych) {
@@ -62776,10 +66493,10 @@ yy1262:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1260;
-       default:        goto yy1248;
+       case 0xBF:      goto yy1299;
+       default:        goto yy1287;
        }
-yy1263:
+yy1302:
        ++c;
        yych = *c;
        switch (yych) {
@@ -62830,10 +66547,10 @@ yy1263:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1262;
-       default:        goto yy1248;
+       case 0xBF:      goto yy1301;
+       default:        goto yy1287;
        }
-yy1264:
+yy1303:
        ++c;
        yych = *c;
        switch (yych) {
@@ -62900,10 +66617,10 @@ yy1264:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1262;
-       default:        goto yy1248;
+       case 0xBF:      goto yy1301;
+       default:        goto yy1287;
        }
-yy1265:
+yy1304:
        ++c;
        yych = *c;
        switch (yych) {
@@ -62922,18 +66639,18 @@ yy1265:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1262;
-       default:        goto yy1248;
+       case 0x8F:      goto yy1301;
+       default:        goto yy1287;
        }
-yy1266:
+yy1305:
        ++c;
-yy1267:
+yy1306:
        { return (size_t)( c - start ); }
-yy1268:
+yy1307:
        ++c;
        switch ((yych = *c)) {
-       case '\n':      goto yy1266;
-       default:        goto yy1267;
+       case '\n':      goto yy1305;
+       default:        goto yy1306;
        }
 }
        
@@ -63014,7 +66731,7 @@ size_t scan_meta_key(const char * c) {
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1274;
+       case 0x7F:      goto yy1313;
        case '0':
        case '1':
        case '2':
@@ -63076,7 +66793,7 @@ size_t scan_meta_key(const char * c) {
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy1272;
+       case 'z':       goto yy1311;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -63106,8 +66823,8 @@ size_t scan_meta_key(const char * c) {
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1275;
-       case 0xE0:      goto yy1277;
+       case 0xDF:      goto yy1314;
+       case 0xE0:      goto yy1316;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -63122,26 +66839,26 @@ size_t scan_meta_key(const char * c) {
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1278;
-       case 0xF0:      goto yy1279;
+       case 0xEF:      goto yy1317;
+       case 0xF0:      goto yy1318;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1280;
-       case 0xF4:      goto yy1281;
-       default:        goto yy1271;
+       case 0xF3:      goto yy1319;
+       case 0xF4:      goto yy1320;
+       default:        goto yy1310;
        }
-yy1271:
+yy1310:
        { return 0; }
-yy1272:
+yy1311:
        yyaccept = 1;
        yych = *(marker = ++c);
-       goto yy1283;
-yy1273:
+       goto yy1322;
+yy1312:
        { return (size_t)( c - start ); }
-yy1274:
+yy1313:
        yych = *++c;
-       goto yy1271;
-yy1275:
+       goto yy1310;
+yy1314:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -63207,17 +66924,17 @@ yy1275:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1274;
-       default:        goto yy1276;
+       case 0xBF:      goto yy1313;
+       default:        goto yy1315;
        }
-yy1276:
+yy1315:
        c = marker;
        if (yyaccept == 0) {
-               goto yy1271;
+               goto yy1310;
        } else {
-               goto yy1273;
+               goto yy1312;
        }
-yy1277:
+yy1316:
        yych = *++c;
        switch (yych) {
        case 0xA0:
@@ -63251,10 +66968,10 @@ yy1277:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1275;
-       default:        goto yy1276;
+       case 0xBF:      goto yy1314;
+       default:        goto yy1315;
        }
-yy1278:
+yy1317:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -63320,10 +67037,10 @@ yy1278:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1275;
-       default:        goto yy1276;
+       case 0xBF:      goto yy1314;
+       default:        goto yy1315;
        }
-yy1279:
+yy1318:
        yych = *++c;
        switch (yych) {
        case 0x90:
@@ -63373,10 +67090,10 @@ yy1279:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1278;
-       default:        goto yy1276;
+       case 0xBF:      goto yy1317;
+       default:        goto yy1315;
        }
-yy1280:
+yy1319:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -63442,10 +67159,10 @@ yy1280:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1278;
-       default:        goto yy1276;
+       case 0xBF:      goto yy1317;
+       default:        goto yy1315;
        }
-yy1281:
+yy1320:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -63463,14 +67180,14 @@ yy1281:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1278;
-       default:        goto yy1276;
+       case 0x8F:      goto yy1317;
+       default:        goto yy1315;
        }
-yy1282:
+yy1321:
        yyaccept = 1;
        marker = ++c;
        yych = *c;
-yy1283:
+yy1322:
        switch (yych) {
        case '\t':
        case ' ':
@@ -63538,16 +67255,16 @@ yy1283:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy1282;
-       case 0xC2:      goto yy1284;
-       default:        goto yy1273;
+       case 'z':       goto yy1321;
+       case 0xC2:      goto yy1323;
+       default:        goto yy1312;
        }
-yy1284:
+yy1323:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0xA0:      goto yy1282;
-       default:        goto yy1276;
+       case 0xA0:      goto yy1321;
+       default:        goto yy1315;
        }
 }
        
@@ -63688,10 +67405,10 @@ size_t scan_definition(const char * c) {
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1292;
-       case ' ':       goto yy1288;
-       case ':':       goto yy1291;
-       case 0xC2:      goto yy1289;
+       case 0x7F:      goto yy1331;
+       case ' ':       goto yy1327;
+       case ':':       goto yy1330;
+       case 0xC2:      goto yy1328;
        case 0xC3:
        case 0xC4:
        case 0xC5:
@@ -63720,8 +67437,8 @@ size_t scan_definition(const char * c) {
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1293;
-       case 0xE0:      goto yy1294;
+       case 0xDF:      goto yy1332;
+       case 0xE0:      goto yy1333;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -63736,26 +67453,26 @@ size_t scan_definition(const char * c) {
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1295;
-       case 0xF0:      goto yy1296;
+       case 0xEF:      goto yy1334;
+       case 0xF0:      goto yy1335;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1297;
-       case 0xF4:      goto yy1298;
-       default:        goto yy1287;
+       case 0xF3:      goto yy1336;
+       case 0xF4:      goto yy1337;
+       default:        goto yy1326;
        }
-yy1287:
+yy1326:
        { return 0; }
-yy1288:
+yy1327:
        yyaccept = 0;
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy1310;
-       case ':':       goto yy1312;
-       case 0xC2:      goto yy1311;
-       default:        goto yy1287;
+       case ' ':       goto yy1349;
+       case ':':       goto yy1351;
+       case 0xC2:      goto yy1350;
+       default:        goto yy1326;
        }
-yy1289:
+yy1328:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -63820,18 +67537,18 @@ yy1289:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1292;
-       case 0xA0:      goto yy1288;
-       default:        goto yy1290;
+       case 0xBF:      goto yy1331;
+       case 0xA0:      goto yy1327;
+       default:        goto yy1329;
        }
-yy1290:
+yy1329:
        c = marker;
        if (yyaccept == 0) {
-               goto yy1287;
+               goto yy1326;
        } else {
-               goto yy1301;
+               goto yy1340;
        }
-yy1291:
+yy1330:
        yyaccept = 0;
        yych = *(marker = ++c);
        switch (yych) {
@@ -64010,13 +67727,13 @@ yy1291:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy1300;
-       default:        goto yy1287;
+       case 0xF4:      goto yy1339;
+       default:        goto yy1326;
        }
-yy1292:
+yy1331:
        yych = *++c;
-       goto yy1287;
-yy1293:
+       goto yy1326;
+yy1332:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -64082,10 +67799,10 @@ yy1293:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1292;
-       default:        goto yy1290;
+       case 0xBF:      goto yy1331;
+       default:        goto yy1329;
        }
-yy1294:
+yy1333:
        yych = *++c;
        switch (yych) {
        case 0xA0:
@@ -64119,10 +67836,10 @@ yy1294:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1293;
-       default:        goto yy1290;
+       case 0xBF:      goto yy1332;
+       default:        goto yy1329;
        }
-yy1295:
+yy1334:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -64188,10 +67905,10 @@ yy1295:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1293;
-       default:        goto yy1290;
+       case 0xBF:      goto yy1332;
+       default:        goto yy1329;
        }
-yy1296:
+yy1335:
        yych = *++c;
        switch (yych) {
        case 0x90:
@@ -64241,10 +67958,10 @@ yy1296:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1295;
-       default:        goto yy1290;
+       case 0xBF:      goto yy1334;
+       default:        goto yy1329;
        }
-yy1297:
+yy1336:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -64310,10 +68027,10 @@ yy1297:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1295;
-       default:        goto yy1290;
+       case 0xBF:      goto yy1334;
+       default:        goto yy1329;
        }
-yy1298:
+yy1337:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -64331,14 +68048,14 @@ yy1298:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1295;
-       default:        goto yy1290;
+       case 0x8F:      goto yy1334;
+       default:        goto yy1329;
        }
-yy1299:
+yy1338:
        yyaccept = 1;
        marker = ++c;
        yych = *c;
-yy1300:
+yy1339:
        switch (yych) {
        case 0x01:
        case 0x02:
@@ -64462,10 +68179,10 @@ yy1300:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1303;
+       case 0x7F:      goto yy1342;
        case '\t':
-       case ' ':       goto yy1299;
-       case 0xC2:      goto yy1302;
+       case ' ':       goto yy1338;
+       case 0xC2:      goto yy1341;
        case 0xC3:
        case 0xC4:
        case 0xC5:
@@ -64494,8 +68211,8 @@ yy1300:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1304;
-       case 0xE0:      goto yy1305;
+       case 0xDF:      goto yy1343;
+       case 0xE0:      goto yy1344;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -64510,17 +68227,17 @@ yy1300:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1306;
-       case 0xF0:      goto yy1307;
+       case 0xEF:      goto yy1345;
+       case 0xF0:      goto yy1346;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1308;
-       case 0xF4:      goto yy1309;
-       default:        goto yy1301;
+       case 0xF3:      goto yy1347;
+       case 0xF4:      goto yy1348;
+       default:        goto yy1340;
        }
-yy1301:
+yy1340:
        { return (size_t)( c - start ); }
-yy1302:
+yy1341:
        ++c;
        yych = *c;
        switch (yych) {
@@ -64586,14 +68303,14 @@ yy1302:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1303;
-       case 0xA0:      goto yy1299;
-       default:        goto yy1290;
+       case 0xBF:      goto yy1342;
+       case 0xA0:      goto yy1338;
+       default:        goto yy1329;
        }
-yy1303:
+yy1342:
        yych = *++c;
-       goto yy1301;
-yy1304:
+       goto yy1340;
+yy1343:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -64659,10 +68376,10 @@ yy1304:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1303;
-       default:        goto yy1290;
+       case 0xBF:      goto yy1342;
+       default:        goto yy1329;
        }
-yy1305:
+yy1344:
        yych = *++c;
        switch (yych) {
        case 0xA0:
@@ -64696,10 +68413,10 @@ yy1305:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1304;
-       default:        goto yy1290;
+       case 0xBF:      goto yy1343;
+       default:        goto yy1329;
        }
-yy1306:
+yy1345:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -64765,10 +68482,10 @@ yy1306:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1304;
-       default:        goto yy1290;
+       case 0xBF:      goto yy1343;
+       default:        goto yy1329;
        }
-yy1307:
+yy1346:
        yych = *++c;
        switch (yych) {
        case 0x90:
@@ -64818,10 +68535,10 @@ yy1307:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1306;
-       default:        goto yy1290;
+       case 0xBF:      goto yy1345;
+       default:        goto yy1329;
        }
-yy1308:
+yy1347:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -64887,10 +68604,10 @@ yy1308:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1306;
-       default:        goto yy1290;
+       case 0xBF:      goto yy1345;
+       default:        goto yy1329;
        }
-yy1309:
+yy1348:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -64908,24 +68625,24 @@ yy1309:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1306;
-       default:        goto yy1290;
+       case 0x8F:      goto yy1345;
+       default:        goto yy1329;
        }
-yy1310:
+yy1349:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy1313;
-       case ':':       goto yy1312;
-       case 0xC2:      goto yy1314;
-       default:        goto yy1290;
+       case ' ':       goto yy1352;
+       case ':':       goto yy1351;
+       case 0xC2:      goto yy1353;
+       default:        goto yy1329;
        }
-yy1311:
+yy1350:
        yych = *++c;
        switch (yych) {
-       case 0xA0:      goto yy1310;
-       default:        goto yy1290;
+       case 0xA0:      goto yy1349;
+       default:        goto yy1329;
        }
-yy1312:
+yy1351:
        yych = *++c;
        switch (yych) {
        case 0x01:
@@ -65103,20 +68820,20 @@ yy1312:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy1300;
-       default:        goto yy1290;
+       case 0xF4:      goto yy1339;
+       default:        goto yy1329;
        }
-yy1313:
+yy1352:
        yych = *++c;
        switch (yych) {
-       case ':':       goto yy1312;
-       default:        goto yy1290;
+       case ':':       goto yy1351;
+       default:        goto yy1329;
        }
-yy1314:
+yy1353:
        ++c;
        switch ((yych = *c)) {
-       case 0xA0:      goto yy1313;
-       default:        goto yy1290;
+       case 0xA0:      goto yy1352;
+       default:        goto yy1329;
        }
 }
        
@@ -65251,15 +68968,15 @@ size_t scan_table_separator(const char * c) {
        case '{':
        case '}':
        case '~':
-       case 0x7F:      goto yy1322;
+       case 0x7F:      goto yy1361;
        case '\t':
        case ' ':
-       case '|':       goto yy1318;
+       case '|':       goto yy1357;
        case '+':
        case '-':
        case ':':
-       case '=':       goto yy1321;
-       case 0xC2:      goto yy1319;
+       case '=':       goto yy1360;
+       case 0xC2:      goto yy1358;
        case 0xC3:
        case 0xC4:
        case 0xC5:
@@ -65288,8 +69005,8 @@ size_t scan_table_separator(const char * c) {
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1323;
-       case 0xE0:      goto yy1324;
+       case 0xDF:      goto yy1362;
+       case 0xE0:      goto yy1363;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -65304,29 +69021,29 @@ size_t scan_table_separator(const char * c) {
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1325;
-       case 0xF0:      goto yy1326;
+       case 0xEF:      goto yy1364;
+       case 0xF0:      goto yy1365;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1327;
-       case 0xF4:      goto yy1328;
-       default:        goto yy1317;
+       case 0xF3:      goto yy1366;
+       case 0xF4:      goto yy1367;
+       default:        goto yy1356;
        }
-yy1317:
+yy1356:
        { return 0; }
-yy1318:
+yy1357:
        yych = *(marker = ++c);
        switch (yych) {
        case '\t':
-       case ' ':       goto yy1340;
+       case ' ':       goto yy1379;
        case '+':
        case '-':
        case ':':
-       case '=':       goto yy1334;
-       case 0xC2:      goto yy1342;
-       default:        goto yy1317;
+       case '=':       goto yy1373;
+       case 0xC2:      goto yy1381;
+       default:        goto yy1356;
        }
-yy1319:
+yy1358:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -65391,30 +69108,30 @@ yy1319:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1322;
-       case 0xA0:      goto yy1318;
-       default:        goto yy1320;
+       case 0xBF:      goto yy1361;
+       case 0xA0:      goto yy1357;
+       default:        goto yy1359;
        }
-yy1320:
+yy1359:
        c = marker;
-       goto yy1317;
-yy1321:
+       goto yy1356;
+yy1360:
        yych = *(marker = ++c);
        switch (yych) {
        case '\t':
-       case ' ':       goto yy1329;
+       case ' ':       goto yy1368;
        case '+':
        case '-':
        case ':':
-       case '=':       goto yy1334;
-       case '|':       goto yy1332;
-       case 0xC2:      goto yy1331;
-       default:        goto yy1317;
+       case '=':       goto yy1373;
+       case '|':       goto yy1371;
+       case 0xC2:      goto yy1370;
+       default:        goto yy1356;
        }
-yy1322:
+yy1361:
        yych = *++c;
-       goto yy1317;
-yy1323:
+       goto yy1356;
+yy1362:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -65480,10 +69197,10 @@ yy1323:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1322;
-       default:        goto yy1320;
+       case 0xBF:      goto yy1361;
+       default:        goto yy1359;
        }
-yy1324:
+yy1363:
        yych = *++c;
        switch (yych) {
        case 0xA0:
@@ -65517,10 +69234,10 @@ yy1324:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1323;
-       default:        goto yy1320;
+       case 0xBF:      goto yy1362;
+       default:        goto yy1359;
        }
-yy1325:
+yy1364:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -65586,10 +69303,10 @@ yy1325:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1323;
-       default:        goto yy1320;
+       case 0xBF:      goto yy1362;
+       default:        goto yy1359;
        }
-yy1326:
+yy1365:
        yych = *++c;
        switch (yych) {
        case 0x90:
@@ -65639,10 +69356,10 @@ yy1326:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1325;
-       default:        goto yy1320;
+       case 0xBF:      goto yy1364;
+       default:        goto yy1359;
        }
-yy1327:
+yy1366:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -65708,10 +69425,10 @@ yy1327:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1325;
-       default:        goto yy1320;
+       case 0xBF:      goto yy1364;
+       default:        goto yy1359;
        }
-yy1328:
+yy1367:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -65729,92 +69446,92 @@ yy1328:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1325;
-       default:        goto yy1320;
+       case 0x8F:      goto yy1364;
+       default:        goto yy1359;
        }
-yy1329:
+yy1368:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy1329;
-       case '|':       goto yy1332;
-       case 0xC2:      goto yy1331;
-       default:        goto yy1320;
+       case ' ':       goto yy1368;
+       case '|':       goto yy1371;
+       case 0xC2:      goto yy1370;
+       default:        goto yy1359;
        }
-yy1331:
+yy1370:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0xA0:      goto yy1329;
-       default:        goto yy1320;
+       case 0xA0:      goto yy1368;
+       default:        goto yy1359;
        }
-yy1332:
+yy1371:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy1337;
+       case '\n':      goto yy1376;
        case '\t':
-       case ' ':       goto yy1332;
-       case '\r':      goto yy1339;
+       case ' ':       goto yy1371;
+       case '\r':      goto yy1378;
        case '+':
        case '-':
        case ':':
-       case '=':       goto yy1334;
-       case 0xC2:      goto yy1336;
-       default:        goto yy1320;
+       case '=':       goto yy1373;
+       case 0xC2:      goto yy1375;
+       default:        goto yy1359;
        }
-yy1334:
+yy1373:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy1329;
+       case ' ':       goto yy1368;
        case '+':
        case '-':
        case ':':
-       case '=':       goto yy1334;
-       case '|':       goto yy1332;
-       case 0xC2:      goto yy1331;
-       default:        goto yy1320;
+       case '=':       goto yy1373;
+       case '|':       goto yy1371;
+       case 0xC2:      goto yy1370;
+       default:        goto yy1359;
        }
-yy1336:
+yy1375:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0xA0:      goto yy1332;
-       default:        goto yy1320;
+       case 0xA0:      goto yy1371;
+       default:        goto yy1359;
        }
-yy1337:
+yy1376:
        ++c;
-yy1338:
+yy1377:
        { return (size_t)( c - start ); }
-yy1339:
+yy1378:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy1337;
-       default:        goto yy1338;
+       case '\n':      goto yy1376;
+       default:        goto yy1377;
        }
-yy1340:
+yy1379:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy1340;
+       case ' ':       goto yy1379;
        case '+':
        case '-':
        case ':':
-       case '=':       goto yy1334;
-       case 0xC2:      goto yy1342;
-       default:        goto yy1320;
+       case '=':       goto yy1373;
+       case 0xC2:      goto yy1381;
+       default:        goto yy1359;
        }
-yy1342:
+yy1381:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0xA0:      goto yy1340;
-       default:        goto yy1320;
+       case 0xA0:      goto yy1379;
+       default:        goto yy1359;
        }
 }
        
@@ -65950,13 +69667,13 @@ size_t scan_alignment_string(const char * c) {
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1351;
+       case 0x7F:      goto yy1390;
        case '\t':
-       case ' ':       goto yy1346;
+       case ' ':       goto yy1385;
        case '-':
-       case '=':       goto yy1350;
-       case ':':       goto yy1349;
-       case 0xC2:      goto yy1347;
+       case '=':       goto yy1389;
+       case ':':       goto yy1388;
+       case 0xC2:      goto yy1386;
        case 0xC3:
        case 0xC4:
        case 0xC5:
@@ -65985,8 +69702,8 @@ size_t scan_alignment_string(const char * c) {
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1352;
-       case 0xE0:      goto yy1353;
+       case 0xDF:      goto yy1391;
+       case 0xE0:      goto yy1392;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -66001,28 +69718,28 @@ size_t scan_alignment_string(const char * c) {
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1354;
-       case 0xF0:      goto yy1355;
+       case 0xEF:      goto yy1393;
+       case 0xF0:      goto yy1394;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1356;
-       case 0xF4:      goto yy1357;
-       default:        goto yy1345;
+       case 0xF3:      goto yy1395;
+       case 0xF4:      goto yy1396;
+       default:        goto yy1384;
        }
-yy1345:
+yy1384:
        { return 0; }
-yy1346:
+yy1385:
        yych = *(marker = ++c);
        switch (yych) {
        case '\t':
-       case ' ':       goto yy1401;
+       case ' ':       goto yy1440;
        case '-':
-       case '=':       goto yy1359;
-       case ':':       goto yy1400;
-       case 0xC2:      goto yy1403;
-       default:        goto yy1345;
+       case '=':       goto yy1398;
+       case ':':       goto yy1439;
+       case 0xC2:      goto yy1442;
+       default:        goto yy1384;
        }
-yy1347:
+yy1386:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -66087,32 +69804,32 @@ yy1347:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1351;
-       case 0xA0:      goto yy1346;
-       default:        goto yy1348;
+       case 0xBF:      goto yy1390;
+       case 0xA0:      goto yy1385;
+       default:        goto yy1387;
        }
-yy1348:
+yy1387:
        c = marker;
-       goto yy1345;
-yy1349:
+       goto yy1384;
+yy1388:
        yych = *(marker = ++c);
        switch (yych) {
        case '-':
-       case '=':       goto yy1373;
-       default:        goto yy1345;
+       case '=':       goto yy1412;
+       default:        goto yy1384;
        }
-yy1350:
+yy1389:
        yych = *(marker = ++c);
        switch (yych) {
        case '-':
-       case '=':       goto yy1359;
-       case ':':       goto yy1358;
-       default:        goto yy1345;
+       case '=':       goto yy1398;
+       case ':':       goto yy1397;
+       default:        goto yy1384;
        }
-yy1351:
+yy1390:
        yych = *++c;
-       goto yy1345;
-yy1352:
+       goto yy1384;
+yy1391:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -66178,10 +69895,10 @@ yy1352:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1351;
-       default:        goto yy1348;
+       case 0xBF:      goto yy1390;
+       default:        goto yy1387;
        }
-yy1353:
+yy1392:
        yych = *++c;
        switch (yych) {
        case 0xA0:
@@ -66215,10 +69932,10 @@ yy1353:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1352;
-       default:        goto yy1348;
+       case 0xBF:      goto yy1391;
+       default:        goto yy1387;
        }
-yy1354:
+yy1393:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -66284,10 +70001,10 @@ yy1354:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1352;
-       default:        goto yy1348;
+       case 0xBF:      goto yy1391;
+       default:        goto yy1387;
        }
-yy1355:
+yy1394:
        yych = *++c;
        switch (yych) {
        case 0x90:
@@ -66337,10 +70054,10 @@ yy1355:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1354;
-       default:        goto yy1348;
+       case 0xBF:      goto yy1393;
+       default:        goto yy1387;
        }
-yy1356:
+yy1395:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -66406,10 +70123,10 @@ yy1356:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1354;
-       default:        goto yy1348;
+       case 0xBF:      goto yy1393;
+       default:        goto yy1387;
        }
-yy1357:
+yy1396:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -66427,254 +70144,254 @@ yy1357:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1354;
-       default:        goto yy1348;
+       case 0x8F:      goto yy1393;
+       default:        goto yy1387;
        }
-yy1358:
+yy1397:
        yych = *++c;
        switch (yych) {
-       case '+':       goto yy1367;
-       default:        goto yy1362;
+       case '+':       goto yy1406;
+       default:        goto yy1401;
        }
-yy1359:
+yy1398:
        ++c;
        yych = *c;
        switch (yych) {
        case '-':
-       case '=':       goto yy1359;
-       case ':':       goto yy1358;
-       default:        goto yy1348;
+       case '=':       goto yy1398;
+       case ':':       goto yy1397;
+       default:        goto yy1387;
        }
-yy1361:
+yy1400:
        ++c;
        yych = *c;
-yy1362:
+yy1401:
        switch (yych) {
        case 0x00:
        case '\n':
-       case '|':       goto yy1364;
+       case '|':       goto yy1403;
        case '\t':
-       case ' ':       goto yy1361;
-       case '\r':      goto yy1366;
-       case 0xC2:      goto yy1363;
-       default:        goto yy1348;
+       case ' ':       goto yy1400;
+       case '\r':      goto yy1405;
+       case 0xC2:      goto yy1402;
+       default:        goto yy1387;
        }
-yy1363:
+yy1402:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0xA0:      goto yy1361;
-       default:        goto yy1348;
+       case 0xA0:      goto yy1400;
+       default:        goto yy1387;
        }
-yy1364:
+yy1403:
        ++c;
-yy1365:
+yy1404:
        { return ALIGN_RIGHT; }
-yy1366:
+yy1405:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy1364;
-       default:        goto yy1365;
+       case '\n':      goto yy1403;
+       default:        goto yy1404;
        }
-yy1367:
+yy1406:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '|':       goto yy1370;
+       case '|':       goto yy1409;
        case '\t':
-       case ' ':       goto yy1367;
-       case '\r':      goto yy1372;
-       case 0xC2:      goto yy1369;
-       default:        goto yy1348;
+       case ' ':       goto yy1406;
+       case '\r':      goto yy1411;
+       case 0xC2:      goto yy1408;
+       default:        goto yy1387;
        }
-yy1369:
+yy1408:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0xA0:      goto yy1367;
-       default:        goto yy1348;
+       case 0xA0:      goto yy1406;
+       default:        goto yy1387;
        }
-yy1370:
+yy1409:
        ++c;
-yy1371:
+yy1410:
        { return ALIGN_WRAP | ALIGN_RIGHT; }
-yy1372:
+yy1411:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy1370;
-       default:        goto yy1371;
+       case '\n':      goto yy1409;
+       default:        goto yy1410;
        }
-yy1373:
+yy1412:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '|':       goto yy1378;
+       case '|':       goto yy1417;
        case '\t':
-       case ' ':       goto yy1375;
-       case '\r':      goto yy1380;
-       case '+':       goto yy1382;
+       case ' ':       goto yy1414;
+       case '\r':      goto yy1419;
+       case '+':       goto yy1421;
        case '-':
-       case '=':       goto yy1373;
-       case ':':       goto yy1381;
-       case 0xC2:      goto yy1377;
-       default:        goto yy1348;
+       case '=':       goto yy1412;
+       case ':':       goto yy1420;
+       case 0xC2:      goto yy1416;
+       default:        goto yy1387;
        }
-yy1375:
+yy1414:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '|':       goto yy1378;
+       case '|':       goto yy1417;
        case '\t':
-       case ' ':       goto yy1375;
-       case '\r':      goto yy1380;
-       case 0xC2:      goto yy1377;
-       default:        goto yy1348;
+       case ' ':       goto yy1414;
+       case '\r':      goto yy1419;
+       case 0xC2:      goto yy1416;
+       default:        goto yy1387;
        }
-yy1377:
+yy1416:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0xA0:      goto yy1375;
-       default:        goto yy1348;
+       case 0xA0:      goto yy1414;
+       default:        goto yy1387;
        }
-yy1378:
+yy1417:
        ++c;
-yy1379:
+yy1418:
        { return ALIGN_LEFT; }
-yy1380:
+yy1419:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy1378;
-       default:        goto yy1379;
+       case '\n':      goto yy1417;
+       default:        goto yy1418;
        }
-yy1381:
+yy1420:
        yych = *++c;
        switch (yych) {
-       case '+':       goto yy1388;
-       default:        goto yy1391;
+       case '+':       goto yy1427;
+       default:        goto yy1430;
        }
-yy1382:
+yy1421:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '|':       goto yy1385;
+       case '|':       goto yy1424;
        case '\t':
-       case ' ':       goto yy1382;
-       case '\r':      goto yy1387;
-       case 0xC2:      goto yy1384;
-       default:        goto yy1348;
+       case ' ':       goto yy1421;
+       case '\r':      goto yy1426;
+       case 0xC2:      goto yy1423;
+       default:        goto yy1387;
        }
-yy1384:
+yy1423:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0xA0:      goto yy1382;
-       default:        goto yy1348;
+       case 0xA0:      goto yy1421;
+       default:        goto yy1387;
        }
-yy1385:
+yy1424:
        ++c;
-yy1386:
+yy1425:
        { return ALIGN_WRAP | ALIGN_LEFT; }
-yy1387:
+yy1426:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy1385;
-       default:        goto yy1386;
+       case '\n':      goto yy1424;
+       default:        goto yy1425;
        }
-yy1388:
+yy1427:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '|':       goto yy1397;
+       case '|':       goto yy1436;
        case '\t':
-       case ' ':       goto yy1388;
-       case '\r':      goto yy1399;
-       case 0xC2:      goto yy1396;
-       default:        goto yy1348;
+       case ' ':       goto yy1427;
+       case '\r':      goto yy1438;
+       case 0xC2:      goto yy1435;
+       default:        goto yy1387;
        }
-yy1390:
+yy1429:
        ++c;
        yych = *c;
-yy1391:
+yy1430:
        switch (yych) {
        case 0x00:
        case '\n':
-       case '|':       goto yy1393;
+       case '|':       goto yy1432;
        case '\t':
-       case ' ':       goto yy1390;
-       case '\r':      goto yy1395;
-       case 0xC2:      goto yy1392;
-       default:        goto yy1348;
+       case ' ':       goto yy1429;
+       case '\r':      goto yy1434;
+       case 0xC2:      goto yy1431;
+       default:        goto yy1387;
        }
-yy1392:
+yy1431:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0xA0:      goto yy1390;
-       default:        goto yy1348;
+       case 0xA0:      goto yy1429;
+       default:        goto yy1387;
        }
-yy1393:
+yy1432:
        ++c;
-yy1394:
+yy1433:
        { return ALIGN_CENTER; }
-yy1395:
+yy1434:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy1393;
-       default:        goto yy1394;
+       case '\n':      goto yy1432;
+       default:        goto yy1433;
        }
-yy1396:
+yy1435:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0xA0:      goto yy1388;
-       default:        goto yy1348;
+       case 0xA0:      goto yy1427;
+       default:        goto yy1387;
        }
-yy1397:
+yy1436:
        ++c;
-yy1398:
+yy1437:
        { return ALIGN_WRAP | ALIGN_CENTER; }
-yy1399:
+yy1438:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy1397;
-       default:        goto yy1398;
+       case '\n':      goto yy1436;
+       default:        goto yy1437;
        }
-yy1400:
+yy1439:
        yych = *++c;
        switch (yych) {
        case '-':
-       case '=':       goto yy1373;
-       default:        goto yy1348;
+       case '=':       goto yy1412;
+       default:        goto yy1387;
        }
-yy1401:
+yy1440:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy1401;
+       case ' ':       goto yy1440;
        case '-':
-       case '=':       goto yy1359;
-       case ':':       goto yy1400;
-       case 0xC2:      goto yy1403;
-       default:        goto yy1348;
+       case '=':       goto yy1398;
+       case ':':       goto yy1439;
+       case 0xC2:      goto yy1442;
+       default:        goto yy1387;
        }
-yy1403:
+yy1442:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0xA0:      goto yy1401;
-       default:        goto yy1348;
+       case 0xA0:      goto yy1440;
+       default:        goto yy1387;
        }
 }
        
@@ -66694,7 +70411,7 @@ size_t scan_destination(const char * c) {
        case 0x00:
        case '\t':
        case '\r':
-       case ' ':       goto yy1418;
+       case ' ':       goto yy1457;
        case 0x01:
        case 0x02:
        case 0x03:
@@ -66816,9 +70533,9 @@ size_t scan_destination(const char * c) {
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1409;
-       case '<':       goto yy1407;
-       case 0xC2:      goto yy1410;
+       case 0x7F:      goto yy1448;
+       case '<':       goto yy1446;
+       case 0xC2:      goto yy1449;
        case 0xC3:
        case 0xC4:
        case 0xC5:
@@ -66847,8 +70564,8 @@ size_t scan_destination(const char * c) {
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1412;
-       case 0xE0:      goto yy1413;
+       case 0xDF:      goto yy1451;
+       case 0xE0:      goto yy1452;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -66863,27 +70580,27 @@ size_t scan_destination(const char * c) {
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1414;
-       case 0xF0:      goto yy1415;
+       case 0xEF:      goto yy1453;
+       case 0xF0:      goto yy1454;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1416;
-       case 0xF4:      goto yy1417;
-       default:        goto yy1406;
+       case 0xF3:      goto yy1455;
+       case 0xF4:      goto yy1456;
+       default:        goto yy1445;
        }
-yy1406:
+yy1445:
        { return 0; }
-yy1407:
+yy1446:
        yyaccept = 1;
        yych = *(marker = ++c);
-       goto yy1429;
-yy1408:
+       goto yy1468;
+yy1447:
        { return (size_t)( c - start ); }
-yy1409:
+yy1448:
        yyaccept = 1;
        yych = *(marker = ++c);
-       goto yy1420;
-yy1410:
+       goto yy1459;
+yy1449:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -66948,18 +70665,18 @@ yy1410:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1409;
-       case 0xA0:      goto yy1418;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1448;
+       case 0xA0:      goto yy1457;
+       default:        goto yy1450;
        }
-yy1411:
+yy1450:
        c = marker;
        if (yyaccept == 0) {
-               goto yy1406;
+               goto yy1445;
        } else {
-               goto yy1408;
+               goto yy1447;
        }
-yy1412:
+yy1451:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -67025,10 +70742,10 @@ yy1412:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1409;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1448;
+       default:        goto yy1450;
        }
-yy1413:
+yy1452:
        yych = *++c;
        switch (yych) {
        case 0xA0:
@@ -67062,10 +70779,10 @@ yy1413:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1412;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1451;
+       default:        goto yy1450;
        }
-yy1414:
+yy1453:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -67131,10 +70848,10 @@ yy1414:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1412;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1451;
+       default:        goto yy1450;
        }
-yy1415:
+yy1454:
        yych = *++c;
        switch (yych) {
        case 0x90:
@@ -67184,10 +70901,10 @@ yy1415:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1414;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1453;
+       default:        goto yy1450;
        }
-yy1416:
+yy1455:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -67253,10 +70970,10 @@ yy1416:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1414;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1453;
+       default:        goto yy1450;
        }
-yy1417:
+yy1456:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -67274,17 +70991,17 @@ yy1417:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1414;
-       default:        goto yy1411;
+       case 0x8F:      goto yy1453;
+       default:        goto yy1450;
        }
-yy1418:
+yy1457:
        yych = *++c;
-       goto yy1406;
-yy1419:
+       goto yy1445;
+yy1458:
        yyaccept = 1;
        marker = ++c;
        yych = *c;
-yy1420:
+yy1459:
        switch (yych) {
        case 0x01:
        case 0x02:
@@ -67408,8 +71125,8 @@ yy1420:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1419;
-       case 0xC2:      goto yy1421;
+       case 0x7F:      goto yy1458;
+       case 0xC2:      goto yy1460;
        case 0xC3:
        case 0xC4:
        case 0xC5:
@@ -67438,8 +71155,8 @@ yy1420:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1422;
-       case 0xE0:      goto yy1423;
+       case 0xDF:      goto yy1461;
+       case 0xE0:      goto yy1462;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -67454,15 +71171,15 @@ yy1420:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1424;
-       case 0xF0:      goto yy1425;
+       case 0xEF:      goto yy1463;
+       case 0xF0:      goto yy1464;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1426;
-       case 0xF4:      goto yy1427;
-       default:        goto yy1408;
+       case 0xF3:      goto yy1465;
+       case 0xF4:      goto yy1466;
+       default:        goto yy1447;
        }
-yy1421:
+yy1460:
        ++c;
        yych = *c;
        switch (yych) {
@@ -67528,10 +71245,10 @@ yy1421:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1419;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1458;
+       default:        goto yy1450;
        }
-yy1422:
+yy1461:
        ++c;
        yych = *c;
        switch (yych) {
@@ -67598,10 +71315,10 @@ yy1422:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1419;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1458;
+       default:        goto yy1450;
        }
-yy1423:
+yy1462:
        ++c;
        yych = *c;
        switch (yych) {
@@ -67636,10 +71353,10 @@ yy1423:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1422;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1461;
+       default:        goto yy1450;
        }
-yy1424:
+yy1463:
        ++c;
        yych = *c;
        switch (yych) {
@@ -67706,10 +71423,10 @@ yy1424:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1422;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1461;
+       default:        goto yy1450;
        }
-yy1425:
+yy1464:
        ++c;
        yych = *c;
        switch (yych) {
@@ -67760,10 +71477,10 @@ yy1425:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1424;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1463;
+       default:        goto yy1450;
        }
-yy1426:
+yy1465:
        ++c;
        yych = *c;
        switch (yych) {
@@ -67830,10 +71547,10 @@ yy1426:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1424;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1463;
+       default:        goto yy1450;
        }
-yy1427:
+yy1466:
        ++c;
        yych = *c;
        switch (yych) {
@@ -67852,14 +71569,14 @@ yy1427:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1424;
-       default:        goto yy1411;
+       case 0x8F:      goto yy1463;
+       default:        goto yy1450;
        }
-yy1428:
+yy1467:
        yyaccept = 1;
        marker = ++c;
        yych = *c;
-yy1429:
+yy1468:
        switch (yych) {
        case 0x01:
        case 0x02:
@@ -67982,9 +71699,9 @@ yy1429:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1428;
-       case '>':       goto yy1419;
-       case 0xC2:      goto yy1430;
+       case 0x7F:      goto yy1467;
+       case '>':       goto yy1458;
+       case 0xC2:      goto yy1469;
        case 0xC3:
        case 0xC4:
        case 0xC5:
@@ -68013,8 +71730,8 @@ yy1429:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1431;
-       case 0xE0:      goto yy1432;
+       case 0xDF:      goto yy1470;
+       case 0xE0:      goto yy1471;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -68029,15 +71746,15 @@ yy1429:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1433;
-       case 0xF0:      goto yy1434;
+       case 0xEF:      goto yy1472;
+       case 0xF0:      goto yy1473;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1435;
-       case 0xF4:      goto yy1436;
-       default:        goto yy1408;
+       case 0xF3:      goto yy1474;
+       case 0xF4:      goto yy1475;
+       default:        goto yy1447;
        }
-yy1430:
+yy1469:
        ++c;
        yych = *c;
        switch (yych) {
@@ -68103,10 +71820,10 @@ yy1430:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1428;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1467;
+       default:        goto yy1450;
        }
-yy1431:
+yy1470:
        ++c;
        yych = *c;
        switch (yych) {
@@ -68173,10 +71890,10 @@ yy1431:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1428;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1467;
+       default:        goto yy1450;
        }
-yy1432:
+yy1471:
        ++c;
        yych = *c;
        switch (yych) {
@@ -68211,10 +71928,10 @@ yy1432:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1431;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1470;
+       default:        goto yy1450;
        }
-yy1433:
+yy1472:
        ++c;
        yych = *c;
        switch (yych) {
@@ -68281,10 +71998,10 @@ yy1433:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1431;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1470;
+       default:        goto yy1450;
        }
-yy1434:
+yy1473:
        ++c;
        yych = *c;
        switch (yych) {
@@ -68335,10 +72052,10 @@ yy1434:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1433;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1472;
+       default:        goto yy1450;
        }
-yy1435:
+yy1474:
        ++c;
        yych = *c;
        switch (yych) {
@@ -68405,10 +72122,10 @@ yy1435:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1433;
-       default:        goto yy1411;
+       case 0xBF:      goto yy1472;
+       default:        goto yy1450;
        }
-yy1436:
+yy1475:
        ++c;
        yych = *c;
        switch (yych) {
@@ -68427,8 +72144,8 @@ yy1436:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1433;
-       default:        goto yy1411;
+       case 0x8F:      goto yy1472;
+       default:        goto yy1450;
        }
 }
        
@@ -68567,10 +72284,10 @@ size_t scan_title(const char * c) {
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1443;
-       case '"':       goto yy1440;
-       case '\'':      goto yy1441;
-       case '(':       goto yy1442;
+       case 0x7F:      goto yy1482;
+       case '"':       goto yy1479;
+       case '\'':      goto yy1480;
+       case '(':       goto yy1481;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -68600,8 +72317,8 @@ size_t scan_title(const char * c) {
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1444;
-       case 0xE0:      goto yy1446;
+       case 0xDF:      goto yy1483;
+       case 0xE0:      goto yy1485;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -68616,17 +72333,17 @@ size_t scan_title(const char * c) {
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1447;
-       case 0xF0:      goto yy1448;
+       case 0xEF:      goto yy1486;
+       case 0xF0:      goto yy1487;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1449;
-       case 0xF4:      goto yy1450;
-       default:        goto yy1439;
+       case 0xF3:      goto yy1488;
+       case 0xF4:      goto yy1489;
+       default:        goto yy1478;
        }
-yy1439:
+yy1478:
        { return 0; }
-yy1440:
+yy1479:
        yych = *(marker = ++c);
        switch (yych) {
        case 0x01:
@@ -68804,10 +72521,10 @@ yy1440:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy1470;
-       default:        goto yy1439;
+       case 0xF4:      goto yy1509;
+       default:        goto yy1478;
        }
-yy1441:
+yy1480:
        yych = *(marker = ++c);
        switch (yych) {
        case 0x01:
@@ -68985,10 +72702,10 @@ yy1441:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy1462;
-       default:        goto yy1439;
+       case 0xF4:      goto yy1501;
+       default:        goto yy1478;
        }
-yy1442:
+yy1481:
        yych = *(marker = ++c);
        switch (yych) {
        case 0x01:
@@ -69166,13 +72883,13 @@ yy1442:
        case 0xF1:
        case 0xF2:
        case 0xF3:
-       case 0xF4:      goto yy1452;
-       default:        goto yy1439;
+       case 0xF4:      goto yy1491;
+       default:        goto yy1478;
        }
-yy1443:
+yy1482:
        yych = *++c;
-       goto yy1439;
-yy1444:
+       goto yy1478;
+yy1483:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -69238,13 +72955,13 @@ yy1444:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1443;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1482;
+       default:        goto yy1484;
        }
-yy1445:
+yy1484:
        c = marker;
-       goto yy1439;
-yy1446:
+       goto yy1478;
+yy1485:
        yych = *++c;
        switch (yych) {
        case 0xA0:
@@ -69278,10 +72995,10 @@ yy1446:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1444;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1483;
+       default:        goto yy1484;
        }
-yy1447:
+yy1486:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -69347,10 +73064,10 @@ yy1447:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1444;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1483;
+       default:        goto yy1484;
        }
-yy1448:
+yy1487:
        yych = *++c;
        switch (yych) {
        case 0x90:
@@ -69400,10 +73117,10 @@ yy1448:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1447;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1486;
+       default:        goto yy1484;
        }
-yy1449:
+yy1488:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -69469,10 +73186,10 @@ yy1449:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1447;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1486;
+       default:        goto yy1484;
        }
-yy1450:
+yy1489:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -69490,13 +73207,13 @@ yy1450:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1447;
-       default:        goto yy1445;
+       case 0x8F:      goto yy1486;
+       default:        goto yy1484;
        }
-yy1451:
+yy1490:
        ++c;
        yych = *c;
-yy1452:
+yy1491:
        switch (yych) {
        case 0x01:
        case 0x02:
@@ -69621,8 +73338,8 @@ yy1452:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1451;
-       case ')':       goto yy1459;
+       case 0x7F:      goto yy1490;
+       case ')':       goto yy1498;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -69652,8 +73369,8 @@ yy1452:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1453;
-       case 0xE0:      goto yy1454;
+       case 0xDF:      goto yy1492;
+       case 0xE0:      goto yy1493;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -69668,15 +73385,15 @@ yy1452:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1455;
-       case 0xF0:      goto yy1456;
+       case 0xEF:      goto yy1494;
+       case 0xF0:      goto yy1495;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1457;
-       case 0xF4:      goto yy1458;
-       default:        goto yy1445;
+       case 0xF3:      goto yy1496;
+       case 0xF4:      goto yy1497;
+       default:        goto yy1484;
        }
-yy1453:
+yy1492:
        ++c;
        yych = *c;
        switch (yych) {
@@ -69743,10 +73460,10 @@ yy1453:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1451;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1490;
+       default:        goto yy1484;
        }
-yy1454:
+yy1493:
        ++c;
        yych = *c;
        switch (yych) {
@@ -69781,10 +73498,10 @@ yy1454:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1453;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1492;
+       default:        goto yy1484;
        }
-yy1455:
+yy1494:
        ++c;
        yych = *c;
        switch (yych) {
@@ -69851,10 +73568,10 @@ yy1455:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1453;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1492;
+       default:        goto yy1484;
        }
-yy1456:
+yy1495:
        ++c;
        yych = *c;
        switch (yych) {
@@ -69905,10 +73622,10 @@ yy1456:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1455;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1494;
+       default:        goto yy1484;
        }
-yy1457:
+yy1496:
        ++c;
        yych = *c;
        switch (yych) {
@@ -69975,10 +73692,10 @@ yy1457:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1455;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1494;
+       default:        goto yy1484;
        }
-yy1458:
+yy1497:
        ++c;
        yych = *c;
        switch (yych) {
@@ -69997,16 +73714,16 @@ yy1458:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1455;
-       default:        goto yy1445;
+       case 0x8F:      goto yy1494;
+       default:        goto yy1484;
        }
-yy1459:
+yy1498:
        ++c;
        { return (size_t)( c - start ); }
-yy1461:
+yy1500:
        ++c;
        yych = *c;
-yy1462:
+yy1501:
        switch (yych) {
        case 0x01:
        case 0x02:
@@ -70131,8 +73848,8 @@ yy1462:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1461;
-       case '\'':      goto yy1459;
+       case 0x7F:      goto yy1500;
+       case '\'':      goto yy1498;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -70162,8 +73879,8 @@ yy1462:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1463;
-       case 0xE0:      goto yy1464;
+       case 0xDF:      goto yy1502;
+       case 0xE0:      goto yy1503;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -70178,15 +73895,15 @@ yy1462:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1465;
-       case 0xF0:      goto yy1466;
+       case 0xEF:      goto yy1504;
+       case 0xF0:      goto yy1505;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1467;
-       case 0xF4:      goto yy1468;
-       default:        goto yy1445;
+       case 0xF3:      goto yy1506;
+       case 0xF4:      goto yy1507;
+       default:        goto yy1484;
        }
-yy1463:
+yy1502:
        ++c;
        yych = *c;
        switch (yych) {
@@ -70253,10 +73970,10 @@ yy1463:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1461;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1500;
+       default:        goto yy1484;
        }
-yy1464:
+yy1503:
        ++c;
        yych = *c;
        switch (yych) {
@@ -70291,10 +74008,10 @@ yy1464:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1463;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1502;
+       default:        goto yy1484;
        }
-yy1465:
+yy1504:
        ++c;
        yych = *c;
        switch (yych) {
@@ -70361,10 +74078,10 @@ yy1465:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1463;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1502;
+       default:        goto yy1484;
        }
-yy1466:
+yy1505:
        ++c;
        yych = *c;
        switch (yych) {
@@ -70415,10 +74132,10 @@ yy1466:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1465;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1504;
+       default:        goto yy1484;
        }
-yy1467:
+yy1506:
        ++c;
        yych = *c;
        switch (yych) {
@@ -70485,10 +74202,10 @@ yy1467:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1465;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1504;
+       default:        goto yy1484;
        }
-yy1468:
+yy1507:
        ++c;
        yych = *c;
        switch (yych) {
@@ -70507,13 +74224,13 @@ yy1468:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1465;
-       default:        goto yy1445;
+       case 0x8F:      goto yy1504;
+       default:        goto yy1484;
        }
-yy1469:
+yy1508:
        ++c;
        yych = *c;
-yy1470:
+yy1509:
        switch (yych) {
        case 0x01:
        case 0x02:
@@ -70638,8 +74355,8 @@ yy1470:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1469;
-       case '"':       goto yy1459;
+       case 0x7F:      goto yy1508;
+       case '"':       goto yy1498;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -70669,8 +74386,8 @@ yy1470:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1471;
-       case 0xE0:      goto yy1472;
+       case 0xDF:      goto yy1510;
+       case 0xE0:      goto yy1511;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -70685,15 +74402,15 @@ yy1470:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1473;
-       case 0xF0:      goto yy1474;
+       case 0xEF:      goto yy1512;
+       case 0xF0:      goto yy1513;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1475;
-       case 0xF4:      goto yy1476;
-       default:        goto yy1445;
+       case 0xF3:      goto yy1514;
+       case 0xF4:      goto yy1515;
+       default:        goto yy1484;
        }
-yy1471:
+yy1510:
        ++c;
        yych = *c;
        switch (yych) {
@@ -70760,10 +74477,10 @@ yy1471:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1469;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1508;
+       default:        goto yy1484;
        }
-yy1472:
+yy1511:
        ++c;
        yych = *c;
        switch (yych) {
@@ -70798,10 +74515,10 @@ yy1472:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1471;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1510;
+       default:        goto yy1484;
        }
-yy1473:
+yy1512:
        ++c;
        yych = *c;
        switch (yych) {
@@ -70868,10 +74585,10 @@ yy1473:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1471;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1510;
+       default:        goto yy1484;
        }
-yy1474:
+yy1513:
        ++c;
        yych = *c;
        switch (yych) {
@@ -70922,10 +74639,10 @@ yy1474:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1473;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1512;
+       default:        goto yy1484;
        }
-yy1475:
+yy1514:
        ++c;
        yych = *c;
        switch (yych) {
@@ -70992,10 +74709,10 @@ yy1475:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1473;
-       default:        goto yy1445;
+       case 0xBF:      goto yy1512;
+       default:        goto yy1484;
        }
-yy1476:
+yy1515:
        ++c;
        yych = *c;
        switch (yych) {
@@ -71014,8 +74731,8 @@ yy1476:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1473;
-       default:        goto yy1445;
+       case 0x8F:      goto yy1512;
+       default:        goto yy1484;
        }
 }
        
@@ -71153,11 +74870,11 @@ size_t scan_setext(const char * c) {
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1485;
-       case ' ':       goto yy1480;
-       case '-':       goto yy1484;
-       case '=':       goto yy1483;
-       case 0xC2:      goto yy1481;
+       case 0x7F:      goto yy1524;
+       case ' ':       goto yy1519;
+       case '-':       goto yy1523;
+       case '=':       goto yy1522;
+       case 0xC2:      goto yy1520;
        case 0xC3:
        case 0xC4:
        case 0xC5:
@@ -71186,8 +74903,8 @@ size_t scan_setext(const char * c) {
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1486;
-       case 0xE0:      goto yy1487;
+       case 0xDF:      goto yy1525;
+       case 0xE0:      goto yy1526;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -71202,26 +74919,26 @@ size_t scan_setext(const char * c) {
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1488;
-       case 0xF0:      goto yy1489;
+       case 0xEF:      goto yy1527;
+       case 0xF0:      goto yy1528;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1490;
-       case 0xF4:      goto yy1491;
-       default:        goto yy1479;
+       case 0xF3:      goto yy1529;
+       case 0xF4:      goto yy1530;
+       default:        goto yy1518;
        }
-yy1479:
+yy1518:
        { return 0; }
-yy1480:
+yy1519:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy1502;
-       case '-':       goto yy1504;
-       case '=':       goto yy1505;
-       case 0xC2:      goto yy1503;
-       default:        goto yy1479;
+       case ' ':       goto yy1541;
+       case '-':       goto yy1543;
+       case '=':       goto yy1544;
+       case 0xC2:      goto yy1542;
+       default:        goto yy1518;
        }
-yy1481:
+yy1520:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -71286,29 +75003,29 @@ yy1481:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1485;
-       case 0xA0:      goto yy1480;
-       default:        goto yy1482;
+       case 0xBF:      goto yy1524;
+       case 0xA0:      goto yy1519;
+       default:        goto yy1521;
        }
-yy1482:
+yy1521:
        c = marker;
-       goto yy1479;
-yy1483:
+       goto yy1518;
+yy1522:
        yych = *(marker = ++c);
        switch (yych) {
-       case '=':       goto yy1497;
-       default:        goto yy1479;
+       case '=':       goto yy1536;
+       default:        goto yy1518;
        }
-yy1484:
+yy1523:
        yych = *(marker = ++c);
        switch (yych) {
-       case '-':       goto yy1492;
-       default:        goto yy1479;
+       case '-':       goto yy1531;
+       default:        goto yy1518;
        }
-yy1485:
+yy1524:
        yych = *++c;
-       goto yy1479;
-yy1486:
+       goto yy1518;
+yy1525:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -71374,10 +75091,10 @@ yy1486:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1485;
-       default:        goto yy1482;
+       case 0xBF:      goto yy1524;
+       default:        goto yy1521;
        }
-yy1487:
+yy1526:
        yych = *++c;
        switch (yych) {
        case 0xA0:
@@ -71411,10 +75128,10 @@ yy1487:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1486;
-       default:        goto yy1482;
+       case 0xBF:      goto yy1525;
+       default:        goto yy1521;
        }
-yy1488:
+yy1527:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -71480,10 +75197,10 @@ yy1488:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1486;
-       default:        goto yy1482;
+       case 0xBF:      goto yy1525;
+       default:        goto yy1521;
        }
-yy1489:
+yy1528:
        yych = *++c;
        switch (yych) {
        case 0x90:
@@ -71533,10 +75250,10 @@ yy1489:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1488;
-       default:        goto yy1482;
+       case 0xBF:      goto yy1527;
+       default:        goto yy1521;
        }
-yy1490:
+yy1529:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -71602,10 +75319,10 @@ yy1490:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1488;
-       default:        goto yy1482;
+       case 0xBF:      goto yy1527;
+       default:        goto yy1521;
        }
-yy1491:
+yy1530:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -71623,88 +75340,88 @@ yy1491:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1488;
-       default:        goto yy1482;
+       case 0x8F:      goto yy1527;
+       default:        goto yy1521;
        }
-yy1492:
+yy1531:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy1494;
-       case '\r':      goto yy1496;
-       case '-':       goto yy1492;
-       default:        goto yy1482;
+       case '\n':      goto yy1533;
+       case '\r':      goto yy1535;
+       case '-':       goto yy1531;
+       default:        goto yy1521;
        }
-yy1494:
+yy1533:
        ++c;
-yy1495:
+yy1534:
        { return (size_t)( c - start ); }
-yy1496:
+yy1535:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy1494;
-       default:        goto yy1495;
+       case '\n':      goto yy1533;
+       default:        goto yy1534;
        }
-yy1497:
+yy1536:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy1499;
-       case '\r':      goto yy1501;
-       case '=':       goto yy1497;
-       default:        goto yy1482;
+       case '\n':      goto yy1538;
+       case '\r':      goto yy1540;
+       case '=':       goto yy1536;
+       default:        goto yy1521;
        }
-yy1499:
+yy1538:
        ++c;
-yy1500:
+yy1539:
        { return (size_t)( c - start ); }
-yy1501:
+yy1540:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy1499;
-       default:        goto yy1500;
+       case '\n':      goto yy1538;
+       default:        goto yy1539;
        }
-yy1502:
+yy1541:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy1506;
-       case '-':       goto yy1504;
-       case '=':       goto yy1505;
-       case 0xC2:      goto yy1507;
-       default:        goto yy1482;
+       case ' ':       goto yy1545;
+       case '-':       goto yy1543;
+       case '=':       goto yy1544;
+       case 0xC2:      goto yy1546;
+       default:        goto yy1521;
        }
-yy1503:
+yy1542:
        yych = *++c;
        switch (yych) {
-       case 0xA0:      goto yy1502;
-       default:        goto yy1482;
+       case 0xA0:      goto yy1541;
+       default:        goto yy1521;
        }
-yy1504:
+yy1543:
        yych = *++c;
        switch (yych) {
-       case '-':       goto yy1492;
-       default:        goto yy1482;
+       case '-':       goto yy1531;
+       default:        goto yy1521;
        }
-yy1505:
+yy1544:
        yych = *++c;
        switch (yych) {
-       case '=':       goto yy1497;
-       default:        goto yy1482;
+       case '=':       goto yy1536;
+       default:        goto yy1521;
        }
-yy1506:
+yy1545:
        yych = *++c;
        switch (yych) {
-       case '-':       goto yy1504;
-       case '=':       goto yy1505;
-       default:        goto yy1482;
+       case '-':       goto yy1543;
+       case '=':       goto yy1544;
+       default:        goto yy1521;
        }
-yy1507:
+yy1546:
        ++c;
        switch ((yych = *c)) {
-       case 0xA0:      goto yy1506;
-       default:        goto yy1482;
+       case 0xA0:      goto yy1545;
+       default:        goto yy1521;
        }
 }
        
@@ -71844,8 +75561,8 @@ size_t scan_atx(const char * c) {
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1512;
-       case '#':       goto yy1511;
+       case 0x7F:      goto yy1551;
+       case '#':       goto yy1550;
        case 0xC2:
        case 0xC3:
        case 0xC4:
@@ -71875,8 +75592,8 @@ size_t scan_atx(const char * c) {
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1513;
-       case 0xE0:      goto yy1515;
+       case 0xDF:      goto yy1552;
+       case 0xE0:      goto yy1554;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -71891,29 +75608,29 @@ size_t scan_atx(const char * c) {
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1516;
-       case 0xF0:      goto yy1517;
+       case 0xEF:      goto yy1555;
+       case 0xF0:      goto yy1556;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1518;
-       case 0xF4:      goto yy1519;
-       default:        goto yy1510;
+       case 0xF3:      goto yy1557;
+       case 0xF4:      goto yy1558;
+       default:        goto yy1549;
        }
-yy1510:
+yy1549:
        { return 0; }
-yy1511:
+yy1550:
        yych = *(marker = ++c);
        switch (yych) {
        case '\t':
-       case ' ':       goto yy1520;
-       case '#':       goto yy1523;
-       case 0xC2:      goto yy1522;
-       default:        goto yy1510;
+       case ' ':       goto yy1559;
+       case '#':       goto yy1562;
+       case 0xC2:      goto yy1561;
+       default:        goto yy1549;
        }
-yy1512:
+yy1551:
        yych = *++c;
-       goto yy1510;
-yy1513:
+       goto yy1549;
+yy1552:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -71979,13 +75696,13 @@ yy1513:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1512;
-       default:        goto yy1514;
+       case 0xBF:      goto yy1551;
+       default:        goto yy1553;
        }
-yy1514:
+yy1553:
        c = marker;
-       goto yy1510;
-yy1515:
+       goto yy1549;
+yy1554:
        yych = *++c;
        switch (yych) {
        case 0xA0:
@@ -72019,10 +75736,10 @@ yy1515:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1513;
-       default:        goto yy1514;
+       case 0xBF:      goto yy1552;
+       default:        goto yy1553;
        }
-yy1516:
+yy1555:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -72088,10 +75805,10 @@ yy1516:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1513;
-       default:        goto yy1514;
+       case 0xBF:      goto yy1552;
+       default:        goto yy1553;
        }
-yy1517:
+yy1556:
        yych = *++c;
        switch (yych) {
        case 0x90:
@@ -72141,10 +75858,10 @@ yy1517:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1516;
-       default:        goto yy1514;
+       case 0xBF:      goto yy1555;
+       default:        goto yy1553;
        }
-yy1518:
+yy1557:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -72210,10 +75927,10 @@ yy1518:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1516;
-       default:        goto yy1514;
+       case 0xBF:      goto yy1555;
+       default:        goto yy1553;
        }
-yy1519:
+yy1558:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -72231,10 +75948,10 @@ yy1519:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1516;
-       default:        goto yy1514;
+       case 0x8F:      goto yy1555;
+       default:        goto yy1553;
        }
-yy1520:
+yy1559:
        ++c;
        yych = *c;
        switch (yych) {
@@ -72360,10 +76077,10 @@ yy1520:
        case '|':
        case '}':
        case '~':
-       case 0x7F:      goto yy1525;
+       case 0x7F:      goto yy1564;
        case '\t':
-       case ' ':       goto yy1520;
-       case 0xC2:      goto yy1527;
+       case ' ':       goto yy1559;
+       case 0xC2:      goto yy1566;
        case 0xC3:
        case 0xC4:
        case 0xC5:
@@ -72392,8 +76109,8 @@ yy1520:
        case 0xDC:
        case 0xDD:
        case 0xDE:
-       case 0xDF:      goto yy1528;
-       case 0xE0:      goto yy1529;
+       case 0xDF:      goto yy1567;
+       case 0xE0:      goto yy1568;
        case 0xE1:
        case 0xE2:
        case 0xE3:
@@ -72408,34 +76125,34 @@ yy1520:
        case 0xEC:
        case 0xED:
        case 0xEE:
-       case 0xEF:      goto yy1530;
-       case 0xF0:      goto yy1531;
+       case 0xEF:      goto yy1569;
+       case 0xF0:      goto yy1570;
        case 0xF1:
        case 0xF2:
-       case 0xF3:      goto yy1532;
-       case 0xF4:      goto yy1533;
-       default:        goto yy1514;
+       case 0xF3:      goto yy1571;
+       case 0xF4:      goto yy1572;
+       default:        goto yy1553;
        }
-yy1522:
+yy1561:
        yych = *++c;
        switch (yych) {
-       case 0xA0:      goto yy1520;
-       default:        goto yy1514;
+       case 0xA0:      goto yy1559;
+       default:        goto yy1553;
        }
-yy1523:
+yy1562:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy1520;
-       case '#':       goto yy1523;
-       case 0xC2:      goto yy1522;
-       default:        goto yy1514;
+       case ' ':       goto yy1559;
+       case '#':       goto yy1562;
+       case 0xC2:      goto yy1561;
+       default:        goto yy1553;
        }
-yy1525:
+yy1564:
        ++c;
        { return (size_t)( c - start ); }
-yy1527:
+yy1566:
        ++c;
        yych = *c;
        switch (yych) {
@@ -72501,11 +76218,11 @@ yy1527:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1525;
-       case 0xA0:      goto yy1520;
-       default:        goto yy1514;
+       case 0xBF:      goto yy1564;
+       case 0xA0:      goto yy1559;
+       default:        goto yy1553;
        }
-yy1528:
+yy1567:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -72571,10 +76288,10 @@ yy1528:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1525;
-       default:        goto yy1514;
+       case 0xBF:      goto yy1564;
+       default:        goto yy1553;
        }
-yy1529:
+yy1568:
        yych = *++c;
        switch (yych) {
        case 0xA0:
@@ -72608,10 +76325,10 @@ yy1529:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1528;
-       default:        goto yy1514;
+       case 0xBF:      goto yy1567;
+       default:        goto yy1553;
        }
-yy1530:
+yy1569:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -72677,10 +76394,10 @@ yy1530:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1528;
-       default:        goto yy1514;
+       case 0xBF:      goto yy1567;
+       default:        goto yy1553;
        }
-yy1531:
+yy1570:
        yych = *++c;
        switch (yych) {
        case 0x90:
@@ -72730,10 +76447,10 @@ yy1531:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1530;
-       default:        goto yy1514;
+       case 0xBF:      goto yy1569;
+       default:        goto yy1553;
        }
-yy1532:
+yy1571:
        yych = *++c;
        switch (yych) {
        case 0x80:
@@ -72799,10 +76516,10 @@ yy1532:
        case 0xBC:
        case 0xBD:
        case 0xBE:
-       case 0xBF:      goto yy1530;
-       default:        goto yy1514;
+       case 0xBF:      goto yy1569;
+       default:        goto yy1553;
        }
-yy1533:
+yy1572:
        ++c;
        switch ((yych = *c)) {
        case 0x80:
@@ -72820,8 +76537,8 @@ yy1533:
        case 0x8C:
        case 0x8D:
        case 0x8E:
-       case 0x8F:      goto yy1530;
-       default:        goto yy1514;
+       case 0x8F:      goto yy1569;
+       default:        goto yy1553;
        }
 }
        
index d6341eebe6ae4beef162281f2b7194f4b7fed7a6..8dd3d61d3d068aac0d12442e28c79b4b54c10508 100644 (file)
        tag_end         = '</' tag_name sp '>';
 
        // We limit comments to exclude '>' character to minimize backtracking
-       comment         = [^>\-\x00] [^>\x00]*;
+       comment_old             = [^>\-\x00] [^>\x00]*;
+       comment         = [^>\-\x00\r\n] [^>\x00\r\n]* (nl [^>\x00\r\n]+)*;
 
        tag_comment     = '<!--' comment '-->';
 
index df58af0ee0ae34f7f84924f3f07a36a57f0f3532..3716cfef8cf865e86ecc676a72186f093480add0 100644 (file)
 
 <text:p text:style-name="Standard"><text:a xlink:type="simple" xlink:href="#foo2">foo</text:a></text:p>
 
+<text:p text:style-name="Standard">&lt;!&#8211; This is not a</text:p>
+
 <text:p text:style-name="Standard"><text:span text:style-name="MMD-Italic">comment</text:span> &#8211;&gt;</text:p>
 
 <text:p text:style-name="Standard">15</text:p>
index a797acd9feef3811fafd298b1848dcf826f5d183..9b67dd1432af7c1f13ca56e17a5b82b9b228c306 100644 (file)
@@ -74,7 +74,7 @@
 longer
  *comment* -->
 
-<!-- This is not a
+<p>&lt;!&#8211; This is not a</p>
 
 <p><em>comment</em> &#8211;&gt;</p>
 
index 688502d04dd92da1b1c0189cb2854799fb012f1b..669e29695b9c09df17447eaf565d04f2efbf1113 100644 (file)
@@ -69,7 +69,7 @@ latex config: article</p>
 longer
  *comment* -->
 
-<!-- This is not a
+<p>&lt;!-- This is not a</p>
 
 <p><em>comment</em> --&gt;</p>
 
index d86d3e487acc014cba505f9b261ec64059f23593..cb49c0701eaefe16e79f97d55fde01511e662cb2 100644 (file)
@@ -24,7 +24,9 @@ foo
 
 foo (\autoref{foo2})
 
-\emph{comment} --$>$
+<!-- This is not a
+
+\emph{comment} -->
 
 15
 
index 42bd05854653b251b30e177cd45144aac722effa..f8ddecba8a6a7b4c3c4909ccbf6b8ff2cf9b9e4b 100644 (file)
@@ -70,10 +70,9 @@ foo
 longer
  *comment* -->
 
-
 <!-- This is not a
 
- *comment* -->
+*comment* -->
 
 15
 
diff --git a/tests/MMD6Tests/HTML Comments.fodt b/tests/MMD6Tests/HTML Comments.fodt
new file mode 100644 (file)
index 0000000..7d482cb
--- /dev/null
@@ -0,0 +1,307 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
+     xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
+     xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
+     xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
+     xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
+     xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
+     xmlns:xlink="http://www.w3.org/1999/xlink"
+     xmlns:dc="http://purl.org/dc/elements/1.1/"
+     xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
+     xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
+     xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
+     xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
+     xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
+     xmlns:math="http://www.w3.org/1998/Math/MathML"
+     xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
+     xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
+     xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0"
+     xmlns:ooo="http://openoffice.org/2004/office"
+     xmlns:ooow="http://openoffice.org/2004/writer"
+     xmlns:oooc="http://openoffice.org/2004/calc"
+     xmlns:dom="http://www.w3.org/2001/xml-events"
+     xmlns:xforms="http://www.w3.org/2002/xforms"
+     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+     xmlns:rpt="http://openoffice.org/2005/report"
+     xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2"
+     xmlns:xhtml="http://www.w3.org/1999/xhtml"
+     xmlns:grddl="http://www.w3.org/2003/g/data-view#"
+     xmlns:tableooo="http://openoffice.org/2009/table"
+     xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0"
+     xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
+     xmlns:css3t="http://www.w3.org/TR/css3-text/"
+     office:version="1.2"
+     grddl:transformation="http://docs.oasis-open.org/office/1.2/xslt/odf2rdf.xsl"
+     office:mimetype="application/vnd.oasis.opendocument.text">
+<office:font-face-decls>
+   <style:font-face style:name="Courier New" svg:font-family="'Courier New'"
+                    style:font-adornments="Regular"
+                    style:font-family-generic="modern"
+                    style:font-pitch="fixed"/>
+</office:font-face-decls>
+<office:styles>
+<style:style style:name="Standard" style:family="paragraph" style:class="text">
+      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0.15in"     fo:text-align="justify" style:justify-single-word="false"/>
+   </style:style>
+<style:style style:name="Preformatted_20_Text" style:display-name="Preformatted Text"
+             style:family="paragraph"
+             style:parent-style-name="Standard"
+             style:class="html">
+   <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" fo:text-align="start"
+                               style:justify-single-word="false"/>
+   <style:text-properties style:font-name="Courier New" fo:font-size="11pt"
+                          style:font-name-asian="Courier New"
+                          style:font-size-asian="11pt"
+                          style:font-name-complex="Courier New"
+                          style:font-size-complex="11pt"/>
+</style:style>
+<style:style style:name="Source_20_Text" style:display-name="Source Text"
+             style:family="text">
+   <style:text-properties style:font-name="Courier New" style:font-name-asian="Courier New"
+                          style:font-name-complex="Courier New"
+                          fo:font-size="11pt"/>
+</style:style>
+<style:style style:name="List" style:family="paragraph"
+             style:parent-style-name="Standard"
+             style:class="list">
+   <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+   <style:text-properties style:font-size-asian="12pt"/>
+</style:style>
+<style:style style:name="Quotations" style:family="paragraph"
+             style:parent-style-name="Standard"
+             style:class="html">
+   <style:paragraph-properties fo:margin-left="0.3937in" fo:margin-right="0.3937in" fo:margin-top="0in"
+                               fo:margin-bottom="0.1965in"
+                               fo:text-align="justify"                               style:justify-single-word="false"                               fo:text-indent="0in"
+                               style:auto-text-indent="false"/>
+</style:style>
+<style:style style:name="Table_20_Heading" style:display-name="Table Heading"
+             style:family="paragraph"
+             style:parent-style-name="Table_20_Contents"
+             style:class="extra">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"
+                               text:number-lines="false"
+                               text:line-number="0"/>
+   <style:text-properties fo:font-weight="bold" style:font-weight-asian="bold"
+                          style:font-weight-complex="bold"/>
+</style:style>
+<style:style style:name="Horizontal_20_Line" style:display-name="Horizontal Line"
+             style:family="paragraph"
+             style:parent-style-name="Standard"
+             style:class="html">
+   <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0.1965in"
+                               style:border-line-width-bottom="0.0008in 0.0138in 0.0008in"
+                               fo:padding="0in"
+                               fo:border-left="none"
+                               fo:border-right="none"
+                               fo:border-top="none"
+                               fo:border-bottom="0.0154in double #808080"
+                               text:number-lines="false"
+                               text:line-number="0"
+                               style:join-border="false"/>
+   <style:text-properties fo:font-size="6pt" style:font-size-asian="6pt" style:font-size-complex="6pt"/>
+</style:style>
+<style:style style:name="Footnote_20_anchor" style:display-name="Footnote anchor"              style:family="text">    <style:text-properties style:text-position="super 58%"/> </style:style>
+<style:style style:name="TOC_Item" style:family="paragraph" style:parent-style-name="Standard">
+ <style:paragraph-properties>
+  <style:tab-stops>
+   <style:tab-stop style:position="6.7283in" style:type="right" style:leader-style="dotted" style:leader-text="."/>
+  </style:tab-stops>
+ </style:paragraph-properties>
+</style:style>
+  <text:notes-configuration text:note-class="footnote" text:default-style-name="Footnote" text:citation-style-name="Footnote_20_Symbol" text:citation-body-style-name="Footnote_20_anchor" text:master-page-name="Footnote" style:num-format="a" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="page"/>
+  <text:notes-configuration text:note-class="endnote" text:default-style-name="Endnote" text:citation-style-name="Endnote_20_Symbol" text:citation-body-style-name="Endnote_20_anchor" text:master-page-name="Endnote" style:num-format="1" text:start-value="0"/>
+</office:styles>
+<office:automatic-styles>   <style:style style:name="MMD-Italic" style:family="text">
+      <style:text-properties fo:font-style="italic" style:font-style-asian="italic"
+                             style:font-style-complex="italic"/>
+   </style:style>
+   <style:style style:name="MMD-Bold" style:family="text">
+      <style:text-properties fo:font-weight="bold" style:font-weight-asian="bold"
+                             style:font-weight-complex="bold"/>
+   </style:style>
+   <style:style style:name="MMD-Superscript" style:family="text">
+      <style:text-properties style:text-position="super 58%"/>
+   </style:style>
+   <style:style style:name="MMD-Subscript" style:family="text">
+      <style:text-properties style:text-position="sub 58%"/>
+   </style:style>
+   <style:style style:name="Strike" style:family="text">
+      <style:text-properties style:text-line-through-style="solid" />
+   </style:style>
+   <style:style style:name="Underline" style:family="text">
+      <style:text-properties style:text-underline-style="solid" style:text-underline-color="font-color"/>
+   </style:style>
+   <style:style style:name="Highlight" style:family="text">
+      <style:text-properties fo:background-color="#FFFF00" />
+   </style:style>
+   <style:style style:name="Comment" style:family="text">
+      <style:text-properties fo:color="#0000BB" />
+   </style:style>
+<style:style style:name="MMD-Table" style:family="paragraph" style:parent-style-name="Standard">
+   <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0.05in"/>
+</style:style>
+<style:style style:name="MMD-Table-Center" style:family="paragraph" style:parent-style-name="MMD-Table">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+</style:style>
+<style:style style:name="MMD-Table-Right" style:family="paragraph" style:parent-style-name="MMD-Table">
+   <style:paragraph-properties fo:text-align="right" style:justify-single-word="false"/>
+</style:style>
+<style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard"
+             style:list-style-name="L2">
+<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+</style:style>
+<style:style style:name="fr1" style:family="graphic" style:parent-style-name="Frame">
+   <style:graphic-properties style:print-content="true" style:vertical-pos="top"
+                             style:vertical-rel="baseline"
+                             fo:padding="0in"
+                             fo:border="none"
+                             style:shadow="none"/>
+</style:style>
+<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard"
+             style:list-style-name="L1"/>
+<text:list-style style:name="L1">
+       <text:list-level-style-bullet text:level="1" text:style-name="Numbering_20_Symbols" style:num-suffix="." text:bullet-char="•">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in"/>
+               </style:list-level-properties>
+       </text:list-level-style-bullet>
+       <text:list-level-style-bullet text:level="2" text:style-name="Numbering_20_Symbols" style:num-suffix="." text:bullet-char="◦">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in"/>
+               </style:list-level-properties>
+       </text:list-level-style-bullet>
+       <text:list-level-style-bullet text:level="3" text:style-name="Numbering_20_Symbols" style:num-suffix="." text:bullet-char="▪">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1in" fo:text-indent="-0.25in" fo:margin-left="1in"/>
+               </style:list-level-properties>
+       </text:list-level-style-bullet>
+       <text:list-level-style-number text:level="4" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+       <text:list-level-style-number text:level="5" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+       <text:list-level-style-number text:level="6" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+       <text:list-level-style-number text:level="7" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2in" fo:text-indent="-0.25in" fo:margin-left="2in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+       <text:list-level-style-number text:level="8" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+       <text:list-level-style-number text:level="9" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+       <text:list-level-style-number text:level="10" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+</text:list-style>
+<text:list-style style:name="L2">
+       <text:list-level-style-number text:level="1" text:style-name="Standard" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+       <text:list-level-style-number text:level="2" text:style-name="Standard" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+       <text:list-level-style-number text:level="3" text:style-name="Standard" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1in" fo:text-indent="-0.25in" fo:margin-left="1in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+       <text:list-level-style-number text:level="4" text:style-name="Standard" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+       <text:list-level-style-number text:level="5" text:style-name="Standard" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+       <text:list-level-style-number text:level="6" text:style-name="Standard" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+       <text:list-level-style-number text:level="7" text:style-name="Standard" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2in" fo:text-indent="-0.25in" fo:margin-left="2in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+       <text:list-level-style-number text:level="8" text:style-name="Standard" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+       <text:list-level-style-number text:level="9" text:style-name="Standard" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+       <text:list-level-style-number text:level="10" text:style-name="Standard" style:num-suffix="." style:num-format="1">
+               <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+                       <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in"/>
+               </style:list-level-properties>
+       </text:list-level-style-number>
+</text:list-style>
+</office:automatic-styles>
+ <office:master-styles>
+  <style:master-page style:name="Endnote" >
+    <style:header><text:h text:outline-level="2">Bibliography</text:h></style:header></style:master-page>
+  <style:master-page style:name="Footnote" style:page-layout-name="pm2"/>
+ </office:master-styles>
+<office:meta>
+       <dc:title>HTML Comments</dc:title>
+</office:meta>
+<office:body>
+<office:text>
+<text:p text:style-name="Standard">foo </text:p>
+
+<text:p text:style-name="Standard">foo </text:p>
+
+<text:p text:style-name="Standard">foo </text:p>
+
+<text:p text:style-name="Standard">foo &lt;!&#8211;
+<text:span text:style-name="MMD-Italic">bar</text:span></text:p>
+
+<text:p text:style-name="Standard">&#8211;&gt;</text:p>
+
+<text:p text:style-name="Standard">foo &lt;!&#8211;</text:p>
+
+<text:p text:style-name="Standard"><text:span text:style-name="MMD-Italic">bar</text:span></text:p>
+
+<text:p text:style-name="Standard">&#8211;&gt;</text:p>
+
+<text:p text:style-name="Standard">5</text:p>
+
+<text:p text:style-name="Standard">foo &lt;!&#8211;</text:p>
+
+<text:p text:style-name="Standard"><text:span text:style-name="MMD-Italic">bar</text:span> &#8211;&gt;</text:p>
+
+<text:p text:style-name="Standard">&lt;!&#8211; <text:span text:style-name="MMD-Italic">foo</text:span></text:p>
+
+<text:p text:style-name="Standard"><text:span text:style-name="MMD-Italic">bar</text:span></text:p>
+</office:text>
+</office:body>
+</office:document>
diff --git a/tests/MMD6Tests/HTML Comments.html b/tests/MMD6Tests/HTML Comments.html
new file mode 100644 (file)
index 0000000..71f2756
--- /dev/null
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<head>
+       <meta charset="utf-8"/>
+       <title>HTML Comments</title>
+</head>
+<body>
+
+<p>foo <!-- *bar* --></p>
+
+<p>foo <!--
+*bar* --></p>
+
+<p>foo <!--
+*bar*
+--></p>
+
+<p>foo &lt;!&#8211;
+<em>bar</em></p>
+
+<p>&#8211;&gt;</p>
+
+<p>foo &lt;!&#8211;</p>
+
+<p><em>bar</em></p>
+
+<p>&#8211;&gt;</p>
+
+<!--
+
+*foo*
+
+-->
+
+<p>5</p>
+
+<p>foo &lt;!&#8211;</p>
+
+<p><em>bar</em> &#8211;&gt;</p>
+
+<p>&lt;!&#8211; <em>foo</em></p>
+
+<p><em>bar</em></p>
+
+<!--
+
+*foo*
+
+
+</body>
+</html>
+
diff --git a/tests/MMD6Tests/HTML Comments.htmlc b/tests/MMD6Tests/HTML Comments.htmlc
new file mode 100644 (file)
index 0000000..cee3e10
--- /dev/null
@@ -0,0 +1,43 @@
+<p>Title:      HTML Comments
+latex config:  article</p>
+
+<p>foo <!-- *bar* --></p>
+
+<p>foo <!--
+*bar* --></p>
+
+<p>foo <!--
+*bar*
+--></p>
+
+<p>foo &lt;!--
+<em>bar</em></p>
+
+<p>--&gt;</p>
+
+<p>foo &lt;!--</p>
+
+<p><em>bar</em></p>
+
+<p>--&gt;</p>
+
+<!--
+
+*foo*
+
+-->
+
+<p>5</p>
+
+<p>foo &lt;!--</p>
+
+<p><em>bar</em> --&gt;</p>
+
+<p>&lt;!-- <em>foo</em></p>
+
+<p><em>bar</em></p>
+
+<!--
+
+*foo*
+
diff --git a/tests/MMD6Tests/HTML Comments.tex b/tests/MMD6Tests/HTML Comments.tex
new file mode 100644 (file)
index 0000000..d16f3e9
--- /dev/null
@@ -0,0 +1,33 @@
+\input{mmd6-article-leader}
+\def\mytitle{HTML Comments}
+\input{mmd6-article-begin}
+
+foo 
+
+foo 
+
+foo 
+
+foo <!--
+\emph{bar}
+
+-->
+
+foo <!--
+
+\emph{bar}
+
+-->
+
+5
+
+foo <!--
+
+\emph{bar} -->
+
+<!-- \emph{foo}
+
+\emph{bar}
+
+\input{mmd6-article-footer}
+\end{document}
diff --git a/tests/MMD6Tests/HTML Comments.text b/tests/MMD6Tests/HTML Comments.text
new file mode 100644 (file)
index 0000000..88a26d4
--- /dev/null
@@ -0,0 +1,42 @@
+Title: HTML Comments
+latex config:  article
+
+foo <!-- *bar* -->
+
+foo <!--
+*bar* -->
+
+foo <!--
+*bar*
+-->
+
+foo <!--
+*bar*
+
+-->
+
+foo <!--
+
+*bar*
+
+-->
+
+<!--
+
+*foo*
+
+-->
+
+5
+
+foo <!-- 
+
+*bar* -->
+
+<!-- *foo*
+
+*bar*
+
+<!--
+
+*foo*
index f1276f92a4e3772a79e7d21b9e3a32c4699a1d08..53273ea4c2742512a3a1816b6b932d6e70556fd7 100644 (file)
 
 <text:p text:style-name="Preformatted Text">&lt;div&gt;<text:line-break/>    foo<text:line-break/>&lt;/div&gt;<text:line-break/></text:p>
 
-<text:p text:style-name="Standard">test. Comment </text:p>
+<text:p text:style-name="Standard">test.</text:p>
 
-<text:p text:style-name="Standard">test. Comment 
-with
-multiple
-line. </text:p>
+<text:p text:style-name="Standard">test.</text:p>
 </office:text>
 </office:body>
 </office:document>
index d9ab963ff42bcc2377c1ea40d9cbb7a9ed0dd8d9..9516dd1be5d8f47d637a932e9de3296aeb894cc2 100644 (file)
@@ -20,7 +20,7 @@
 <p>test.<!-- Comment 
 with
 multiple
-line. --></p>
+lines. --></p>
 
 </body>
 </html>
index f5bb9f71963d6980a64599d9265fba1dd027fd3c..77eed21438b3dea391feefc35bc0ca377cff822a 100644 (file)
@@ -15,4 +15,4 @@ latex config: article</p>
 <p>test.<!-- Comment 
 with
 multiple
-line. --></p>
+lines. --></p>
index c4530f977047ad7348b848457bf27d3a7f8d516f..f5ba6373aab1a189b68d6148743fc4229cf53bf7 100644 (file)
 </div>
 \end{verbatim}
 
-test. Comment 
+test.
 
-test. Comment 
-with
-multiple
-line. 
+test.
 
 \input{mmd6-article-footer}
 \end{document}
index 3ec45289c066c7e5c05b5b2374b7376338afb8f5..7f7a56c7caa69ea758c622648ea809bd760a799d 100644 (file)
@@ -15,4 +15,4 @@ test.<!-- Comment -->
 test.<!-- Comment 
 with
 multiple
-line. -->
+lines. -->