(* Generated by re2ocaml *)
(* re2ocaml $INPUT -o $OUTPUT --utf8 -i *)

open String




type state = {
    yyinput: string;
    mutable yycursor: int;
    mutable yymarker: int;
    mutable yyaccept: int;
}


let rec yy0 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    yyrecord.yycursor <- yyrecord.yycursor + 1;
    match yych with
        | '$'
        | 'A'..'Z'
        | '_'
        | 'a'..'z' -> (yy3 [@tailcall]) yyrecord
        | '\xC2' -> (yy5 [@tailcall]) yyrecord
        | '\xC3' -> (yy6 [@tailcall]) yyrecord
        | '\xC4'..'\xCA'
        | '\xD0'..'\xD1'
        | '\xD3'
        | '\xDA' -> (yy7 [@tailcall]) yyrecord
        | '\xCB' -> (yy8 [@tailcall]) yyrecord
        | '\xCD' -> (yy9 [@tailcall]) yyrecord
        | '\xCE' -> (yy10 [@tailcall]) yyrecord
        | '\xCF' -> (yy11 [@tailcall]) yyrecord
        | '\xD2' -> (yy12 [@tailcall]) yyrecord
        | '\xD4' -> (yy13 [@tailcall]) yyrecord
        | '\xD5' -> (yy14 [@tailcall]) yyrecord
        | '\xD6' -> (yy15 [@tailcall]) yyrecord
        | '\xD7' -> (yy16 [@tailcall]) yyrecord
        | '\xD8' -> (yy17 [@tailcall]) yyrecord
        | '\xD9' -> (yy18 [@tailcall]) yyrecord
        | '\xDB' -> (yy19 [@tailcall]) yyrecord
        | '\xDC' -> (yy20 [@tailcall]) yyrecord
        | '\xDD' -> (yy21 [@tailcall]) yyrecord
        | '\xDE' -> (yy22 [@tailcall]) yyrecord
        | '\xDF' -> (yy23 [@tailcall]) yyrecord
        | '\xE0' -> (yy24 [@tailcall]) yyrecord
        | '\xE1' -> (yy25 [@tailcall]) yyrecord
        | '\xE2' -> (yy26 [@tailcall]) yyrecord
        | '\xE3' -> (yy27 [@tailcall]) yyrecord
        | '\xE4' -> (yy28 [@tailcall]) yyrecord
        | '\xE5'..'\xE8'
        | '\xEB'..'\xEC' -> (yy29 [@tailcall]) yyrecord
        | '\xE9' -> (yy30 [@tailcall]) yyrecord
        | '\xEA' -> (yy31 [@tailcall]) yyrecord
        | '\xED' -> (yy32 [@tailcall]) yyrecord
        | '\xEF' -> (yy33 [@tailcall]) yyrecord
        | '\xF0' -> (yy34 [@tailcall]) yyrecord
        | _ -> (yy1 [@tailcall]) yyrecord

and yy1 (yyrecord : state) : bool =
    (yy2 [@tailcall]) yyrecord

and yy2 (yyrecord : state) : bool =
    false

and yy3 (yyrecord : state) : bool =
    yyrecord.yyaccept <- 0;
    yyrecord.yymarker <- yyrecord.yycursor;
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '$'
        | '0'..'9'
        | 'A'..'Z'
        | '_'
        | 'a'..'z' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | '\xC2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy35 [@tailcall]) yyrecord
        | '\xC3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy37 [@tailcall]) yyrecord
        | '\xC4'..'\xCA'
        | '\xCC'
        | '\xD0'..'\xD1'
        | '\xD3'
        | '\xDA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xCB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy39 [@tailcall]) yyrecord
        | '\xCD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy40 [@tailcall]) yyrecord
        | '\xCE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy41 [@tailcall]) yyrecord
        | '\xCF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy42 [@tailcall]) yyrecord
        | '\xD2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy43 [@tailcall]) yyrecord
        | '\xD4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy44 [@tailcall]) yyrecord
        | '\xD5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy45 [@tailcall]) yyrecord
        | '\xD6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy46 [@tailcall]) yyrecord
        | '\xD7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy47 [@tailcall]) yyrecord
        | '\xD8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy48 [@tailcall]) yyrecord
        | '\xD9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy49 [@tailcall]) yyrecord
        | '\xDB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy50 [@tailcall]) yyrecord
        | '\xDC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy51 [@tailcall]) yyrecord
        | '\xDD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy52 [@tailcall]) yyrecord
        | '\xDE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy53 [@tailcall]) yyrecord
        | '\xDF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy54 [@tailcall]) yyrecord
        | '\xE0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy55 [@tailcall]) yyrecord
        | '\xE1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy56 [@tailcall]) yyrecord
        | '\xE2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy57 [@tailcall]) yyrecord
        | '\xE3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy58 [@tailcall]) yyrecord
        | '\xE4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy59 [@tailcall]) yyrecord
        | '\xE5'..'\xE8'
        | '\xEB'..'\xEC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy60 [@tailcall]) yyrecord
        | '\xE9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy61 [@tailcall]) yyrecord
        | '\xEA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy62 [@tailcall]) yyrecord
        | '\xED' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy63 [@tailcall]) yyrecord
        | '\xEF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy64 [@tailcall]) yyrecord
        | '\xF0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy65 [@tailcall]) yyrecord
        | '\xF3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy66 [@tailcall]) yyrecord
        | _ -> (yy4 [@tailcall]) yyrecord

and yy4 (yyrecord : state) : bool =
    true

and yy5 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xAA'
        | '\xB5'
        | '\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy6 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x96'
        | '\x98'..'\xB6'
        | '\xB8'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy7 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy8 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x81'
        | '\x86'..'\x91'
        | '\xA0'..'\xA4'
        | '\xAC'
        | '\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy9 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xB0'..'\xB4'
        | '\xB6'..'\xB7'
        | '\xBA'..'\xBD'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy10 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x86'
        | '\x88'..'\x8A'
        | '\x8C'
        | '\x8E'..'\xA1'
        | '\xA3'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy11 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB5'
        | '\xB7'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy12 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x81'
        | '\x8A'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy13 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAF'
        | '\xB1'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy14 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x96'
        | '\x99'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy15 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x88' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy16 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'..'\xAA'
        | '\xAF'..'\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy17 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy18 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8A'
        | '\xAE'..'\xAF'
        | '\xB1'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy19 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x93'
        | '\x95'
        | '\xA5'..'\xA6'
        | '\xAE'..'\xAF'
        | '\xBA'..'\xBC'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy20 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'
        | '\x92'..'\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy21 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x8D'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy22 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA5'
        | '\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy23 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x8A'..'\xAA'
        | '\xB4'..'\xB5'
        | '\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy24 (yyrecord : state) : bool =
    yyrecord.yyaccept <- 1;
    yyrecord.yymarker <- yyrecord.yycursor;
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy67 [@tailcall]) yyrecord
        | '\xA1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy68 [@tailcall]) yyrecord
        | '\xA2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy69 [@tailcall]) yyrecord
        | '\xA4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy70 [@tailcall]) yyrecord
        | '\xA5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy71 [@tailcall]) yyrecord
        | '\xA6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy72 [@tailcall]) yyrecord
        | '\xA7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy73 [@tailcall]) yyrecord
        | '\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy74 [@tailcall]) yyrecord
        | '\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy75 [@tailcall]) yyrecord
        | '\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy76 [@tailcall]) yyrecord
        | '\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy77 [@tailcall]) yyrecord
        | '\xAC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy78 [@tailcall]) yyrecord
        | '\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy79 [@tailcall]) yyrecord
        | '\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy80 [@tailcall]) yyrecord
        | '\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy81 [@tailcall]) yyrecord
        | '\xB0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy82 [@tailcall]) yyrecord
        | '\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy83 [@tailcall]) yyrecord
        | '\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy84 [@tailcall]) yyrecord
        | '\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy85 [@tailcall]) yyrecord
        | '\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy86 [@tailcall]) yyrecord
        | '\xB5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy87 [@tailcall]) yyrecord
        | '\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy88 [@tailcall]) yyrecord
        | '\xB7'
        | '\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy89 [@tailcall]) yyrecord
        | '\xB8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy90 [@tailcall]) yyrecord
        | '\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy91 [@tailcall]) yyrecord
        | '\xBB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy92 [@tailcall]) yyrecord
        | '\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy93 [@tailcall]) yyrecord
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy94 [@tailcall]) yyrecord
        | '\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy95 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy25 (yyrecord : state) : bool =
    yyrecord.yyaccept <- 1;
    yyrecord.yymarker <- yyrecord.yycursor;
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy96 [@tailcall]) yyrecord
        | '\x81' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy97 [@tailcall]) yyrecord
        | '\x82' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy98 [@tailcall]) yyrecord
        | '\x83' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy99 [@tailcall]) yyrecord
        | '\x84'..'\x88'
        | '\x91'..'\x98'
        | '\xB4'..'\xB6'
        | '\xB8'..'\xBB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x89' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy100 [@tailcall]) yyrecord
        | '\x8A' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy101 [@tailcall]) yyrecord
        | '\x8B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy102 [@tailcall]) yyrecord
        | '\x8C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy103 [@tailcall]) yyrecord
        | '\x8D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy104 [@tailcall]) yyrecord
        | '\x8E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy105 [@tailcall]) yyrecord
        | '\x8F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy106 [@tailcall]) yyrecord
        | '\x90' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy107 [@tailcall]) yyrecord
        | '\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy108 [@tailcall]) yyrecord
        | '\x9A' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy109 [@tailcall]) yyrecord
        | '\x9B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy110 [@tailcall]) yyrecord
        | '\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy111 [@tailcall]) yyrecord
        | '\x9D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy112 [@tailcall]) yyrecord
        | '\x9E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy113 [@tailcall]) yyrecord
        | '\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy114 [@tailcall]) yyrecord
        | '\xA0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy115 [@tailcall]) yyrecord
        | '\xA1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy116 [@tailcall]) yyrecord
        | '\xA2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy117 [@tailcall]) yyrecord
        | '\xA3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy118 [@tailcall]) yyrecord
        | '\xA4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy119 [@tailcall]) yyrecord
        | '\xA5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy120 [@tailcall]) yyrecord
        | '\xA6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy121 [@tailcall]) yyrecord
        | '\xA7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy122 [@tailcall]) yyrecord
        | '\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy123 [@tailcall]) yyrecord
        | '\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy124 [@tailcall]) yyrecord
        | '\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy125 [@tailcall]) yyrecord
        | '\xAC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy126 [@tailcall]) yyrecord
        | '\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy127 [@tailcall]) yyrecord
        | '\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy128 [@tailcall]) yyrecord
        | '\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy129 [@tailcall]) yyrecord
        | '\xB0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy130 [@tailcall]) yyrecord
        | '\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy131 [@tailcall]) yyrecord
        | '\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy132 [@tailcall]) yyrecord
        | '\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy133 [@tailcall]) yyrecord
        | '\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy134 [@tailcall]) yyrecord
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy135 [@tailcall]) yyrecord
        | '\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy136 [@tailcall]) yyrecord
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy137 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy26 (yyrecord : state) : bool =
    yyrecord.yyaccept <- 1;
    yyrecord.yymarker <- yyrecord.yycursor;
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x81' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy138 [@tailcall]) yyrecord
        | '\x82' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy139 [@tailcall]) yyrecord
        | '\x84' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy140 [@tailcall]) yyrecord
        | '\x85' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy141 [@tailcall]) yyrecord
        | '\x86' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy142 [@tailcall]) yyrecord
        | '\xB0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy143 [@tailcall]) yyrecord
        | '\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy144 [@tailcall]) yyrecord
        | '\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy145 [@tailcall]) yyrecord
        | '\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy146 [@tailcall]) yyrecord
        | '\xB5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy147 [@tailcall]) yyrecord
        | '\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy148 [@tailcall]) yyrecord
        | '\xB7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy149 [@tailcall]) yyrecord
        | '\xB8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy150 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy27 (yyrecord : state) : bool =
    yyrecord.yyaccept <- 1;
    yyrecord.yymarker <- yyrecord.yycursor;
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy151 [@tailcall]) yyrecord
        | '\x81' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy107 [@tailcall]) yyrecord
        | '\x82' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy152 [@tailcall]) yyrecord
        | '\x83' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy153 [@tailcall]) yyrecord
        | '\x84' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy154 [@tailcall]) yyrecord
        | '\x85'
        | '\x90'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x86' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy155 [@tailcall]) yyrecord
        | '\x87' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy156 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy28 (yyrecord : state) : bool =
    yyrecord.yyaccept <- 1;
    yyrecord.yymarker <- yyrecord.yycursor;
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB5'
        | '\xB8'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy118 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy29 (yyrecord : state) : bool =
    yyrecord.yyaccept <- 1;
    yyrecord.yymarker <- yyrecord.yycursor;
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy30 (yyrecord : state) : bool =
    yyrecord.yyaccept <- 1;
    yyrecord.yymarker <- yyrecord.yycursor;
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy157 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy31 (yyrecord : state) : bool =
    yyrecord.yyaccept <- 1;
    yyrecord.yymarker <- yyrecord.yycursor;
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x91'
        | '\x94'..'\x97'
        | '\x9D'
        | '\xAE'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x92' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy158 [@tailcall]) yyrecord
        | '\x93' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy159 [@tailcall]) yyrecord
        | '\x98' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy160 [@tailcall]) yyrecord
        | '\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy161 [@tailcall]) yyrecord
        | '\x9A' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy162 [@tailcall]) yyrecord
        | '\x9B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy157 [@tailcall]) yyrecord
        | '\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy163 [@tailcall]) yyrecord
        | '\x9E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy164 [@tailcall]) yyrecord
        | '\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy165 [@tailcall]) yyrecord
        | '\xA0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy166 [@tailcall]) yyrecord
        | '\xA1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy113 [@tailcall]) yyrecord
        | '\xA2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy167 [@tailcall]) yyrecord
        | '\xA3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy168 [@tailcall]) yyrecord
        | '\xA4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy169 [@tailcall]) yyrecord
        | '\xA5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy170 [@tailcall]) yyrecord
        | '\xA6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy171 [@tailcall]) yyrecord
        | '\xA7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy172 [@tailcall]) yyrecord
        | '\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy173 [@tailcall]) yyrecord
        | '\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy174 [@tailcall]) yyrecord
        | '\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy175 [@tailcall]) yyrecord
        | '\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy176 [@tailcall]) yyrecord
        | '\xAC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy177 [@tailcall]) yyrecord
        | '\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy178 [@tailcall]) yyrecord
        | '\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy179 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy32 (yyrecord : state) : bool =
    yyrecord.yyaccept <- 1;
    yyrecord.yymarker <- yyrecord.yycursor;
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x9E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy180 [@tailcall]) yyrecord
        | '\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy181 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy33 (yyrecord : state) : bool =
    yyrecord.yyaccept <- 1;
    yyrecord.yymarker <- yyrecord.yycursor;
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA4'..'\xA8'
        | '\xAA'
        | '\xB0'..'\xB3'
        | '\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy182 [@tailcall]) yyrecord
        | '\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy183 [@tailcall]) yyrecord
        | '\xAC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy184 [@tailcall]) yyrecord
        | '\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy185 [@tailcall]) yyrecord
        | '\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy53 [@tailcall]) yyrecord
        | '\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy186 [@tailcall]) yyrecord
        | '\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy187 [@tailcall]) yyrecord
        | '\xB5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy51 [@tailcall]) yyrecord
        | '\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy188 [@tailcall]) yyrecord
        | '\xB7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy189 [@tailcall]) yyrecord
        | '\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy190 [@tailcall]) yyrecord
        | '\xBB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy191 [@tailcall]) yyrecord
        | '\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy192 [@tailcall]) yyrecord
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy193 [@tailcall]) yyrecord
        | '\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy194 [@tailcall]) yyrecord
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy195 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy34 (yyrecord : state) : bool =
    yyrecord.yyaccept <- 1;
    yyrecord.yymarker <- yyrecord.yycursor;
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy196 [@tailcall]) yyrecord
        | '\x91' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy197 [@tailcall]) yyrecord
        | '\x92' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy198 [@tailcall]) yyrecord
        | '\x93' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy199 [@tailcall]) yyrecord
        | '\x94' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy200 [@tailcall]) yyrecord
        | '\x96' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy201 [@tailcall]) yyrecord
        | '\x97'
        | '\xA0'..'\xA9'
        | '\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy60 [@tailcall]) yyrecord
        | '\x98' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy202 [@tailcall]) yyrecord
        | '\x9B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy203 [@tailcall]) yyrecord
        | '\x9D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy204 [@tailcall]) yyrecord
        | '\x9E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy205 [@tailcall]) yyrecord
        | '\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy206 [@tailcall]) yyrecord
        | '\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy207 [@tailcall]) yyrecord
        | '\xAC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy208 [@tailcall]) yyrecord
        | '\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy209 [@tailcall]) yyrecord
        | '\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy210 [@tailcall]) yyrecord
        | _ -> (yy2 [@tailcall]) yyrecord

and yy35 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xAA'
        | '\xB5'
        | '\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy36 (yyrecord : state) : bool =
    yyrecord.yycursor <- yyrecord.yymarker;
    if (yyrecord.yyaccept == 0) then (yy4 [@tailcall]) yyrecord
    else (yy2 [@tailcall]) yyrecord

and yy37 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x96'
        | '\x98'..'\xB6'
        | '\xB8'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy38 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy39 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x81'
        | '\x86'..'\x91'
        | '\xA0'..'\xA4'
        | '\xAC'
        | '\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy40 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB4'
        | '\xB6'..'\xB7'
        | '\xBA'..'\xBD'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy41 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x86'
        | '\x88'..'\x8A'
        | '\x8C'
        | '\x8E'..'\xA1'
        | '\xA3'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy42 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB5'
        | '\xB7'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy43 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x81'
        | '\x83'..'\x87'
        | '\x8A'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy44 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAF'
        | '\xB1'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy45 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x96'
        | '\x99'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy46 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x88'
        | '\x91'..'\xBD'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy47 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x81'..'\x82'
        | '\x84'..'\x85'
        | '\x87'
        | '\x90'..'\xAA'
        | '\xAF'..'\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy48 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'..'\x9A'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy49 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA9'
        | '\xAE'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy50 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x93'
        | '\x95'..'\x9C'
        | '\x9F'..'\xA8'
        | '\xAA'..'\xBC'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy51 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy52 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8A'
        | '\x8D'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy53 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy54 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB5'
        | '\xBA'
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy55 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy211 [@tailcall]) yyrecord
        | '\xA1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy212 [@tailcall]) yyrecord
        | '\xA2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy69 [@tailcall]) yyrecord
        | '\xA3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy213 [@tailcall]) yyrecord
        | '\xA4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xA5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy214 [@tailcall]) yyrecord
        | '\xA6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy215 [@tailcall]) yyrecord
        | '\xA7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy216 [@tailcall]) yyrecord
        | '\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy217 [@tailcall]) yyrecord
        | '\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy218 [@tailcall]) yyrecord
        | '\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy219 [@tailcall]) yyrecord
        | '\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy220 [@tailcall]) yyrecord
        | '\xAC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy221 [@tailcall]) yyrecord
        | '\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy222 [@tailcall]) yyrecord
        | '\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy223 [@tailcall]) yyrecord
        | '\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy224 [@tailcall]) yyrecord
        | '\xB0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy225 [@tailcall]) yyrecord
        | '\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy226 [@tailcall]) yyrecord
        | '\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy227 [@tailcall]) yyrecord
        | '\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy228 [@tailcall]) yyrecord
        | '\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy229 [@tailcall]) yyrecord
        | '\xB5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy230 [@tailcall]) yyrecord
        | '\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy231 [@tailcall]) yyrecord
        | '\xB7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy232 [@tailcall]) yyrecord
        | '\xB8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy233 [@tailcall]) yyrecord
        | '\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy234 [@tailcall]) yyrecord
        | '\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy235 [@tailcall]) yyrecord
        | '\xBB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy236 [@tailcall]) yyrecord
        | '\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy237 [@tailcall]) yyrecord
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy238 [@tailcall]) yyrecord
        | '\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy239 [@tailcall]) yyrecord
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy240 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy56 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\x84'..'\x88'
        | '\x91'..'\x98'
        | '\x9E'
        | '\xAC'
        | '\xAE'
        | '\xB4'..'\xB6'
        | '\xB8'..'\xBB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x81' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy241 [@tailcall]) yyrecord
        | '\x82' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy162 [@tailcall]) yyrecord
        | '\x83' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy99 [@tailcall]) yyrecord
        | '\x89' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy100 [@tailcall]) yyrecord
        | '\x8A' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy101 [@tailcall]) yyrecord
        | '\x8B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy102 [@tailcall]) yyrecord
        | '\x8C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy103 [@tailcall]) yyrecord
        | '\x8D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy242 [@tailcall]) yyrecord
        | '\x8E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy105 [@tailcall]) yyrecord
        | '\x8F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy106 [@tailcall]) yyrecord
        | '\x90' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy107 [@tailcall]) yyrecord
        | '\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy108 [@tailcall]) yyrecord
        | '\x9A' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy109 [@tailcall]) yyrecord
        | '\x9B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy110 [@tailcall]) yyrecord
        | '\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy243 [@tailcall]) yyrecord
        | '\x9D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy244 [@tailcall]) yyrecord
        | '\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy245 [@tailcall]) yyrecord
        | '\xA0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy246 [@tailcall]) yyrecord
        | '\xA1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy116 [@tailcall]) yyrecord
        | '\xA2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy247 [@tailcall]) yyrecord
        | '\xA3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy118 [@tailcall]) yyrecord
        | '\xA4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy248 [@tailcall]) yyrecord
        | '\xA5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy249 [@tailcall]) yyrecord
        | '\xA6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy121 [@tailcall]) yyrecord
        | '\xA7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy250 [@tailcall]) yyrecord
        | '\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy251 [@tailcall]) yyrecord
        | '\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy252 [@tailcall]) yyrecord
        | '\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy253 [@tailcall]) yyrecord
        | '\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy254 [@tailcall]) yyrecord
        | '\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy113 [@tailcall]) yyrecord
        | '\xB0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy255 [@tailcall]) yyrecord
        | '\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy256 [@tailcall]) yyrecord
        | '\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy132 [@tailcall]) yyrecord
        | '\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy257 [@tailcall]) yyrecord
        | '\xB7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy258 [@tailcall]) yyrecord
        | '\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy134 [@tailcall]) yyrecord
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy135 [@tailcall]) yyrecord
        | '\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy136 [@tailcall]) yyrecord
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy137 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy57 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy259 [@tailcall]) yyrecord
        | '\x81' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy260 [@tailcall]) yyrecord
        | '\x82' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy139 [@tailcall]) yyrecord
        | '\x83' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy261 [@tailcall]) yyrecord
        | '\x84' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy140 [@tailcall]) yyrecord
        | '\x85' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy141 [@tailcall]) yyrecord
        | '\x86' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy142 [@tailcall]) yyrecord
        | '\xB0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy143 [@tailcall]) yyrecord
        | '\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy144 [@tailcall]) yyrecord
        | '\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy262 [@tailcall]) yyrecord
        | '\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy146 [@tailcall]) yyrecord
        | '\xB5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy263 [@tailcall]) yyrecord
        | '\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy148 [@tailcall]) yyrecord
        | '\xB7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy264 [@tailcall]) yyrecord
        | '\xB8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy150 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy58 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy265 [@tailcall]) yyrecord
        | '\x81' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy107 [@tailcall]) yyrecord
        | '\x82' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy266 [@tailcall]) yyrecord
        | '\x83' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy153 [@tailcall]) yyrecord
        | '\x84' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy154 [@tailcall]) yyrecord
        | '\x85'
        | '\x90'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x86' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy155 [@tailcall]) yyrecord
        | '\x87' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy156 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy59 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB5'
        | '\xB8'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy118 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy60 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy61 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy157 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy62 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x91'
        | '\x94'..'\x97'
        | '\x9A'
        | '\x9D'
        | '\xA2'
        | '\xA6'
        | '\xAA'
        | '\xAE'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x92' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy158 [@tailcall]) yyrecord
        | '\x93' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy159 [@tailcall]) yyrecord
        | '\x98' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy267 [@tailcall]) yyrecord
        | '\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy268 [@tailcall]) yyrecord
        | '\x9B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy53 [@tailcall]) yyrecord
        | '\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy163 [@tailcall]) yyrecord
        | '\x9E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy164 [@tailcall]) yyrecord
        | '\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy165 [@tailcall]) yyrecord
        | '\xA0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy269 [@tailcall]) yyrecord
        | '\xA1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy113 [@tailcall]) yyrecord
        | '\xA3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy270 [@tailcall]) yyrecord
        | '\xA4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy182 [@tailcall]) yyrecord
        | '\xA5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy271 [@tailcall]) yyrecord
        | '\xA7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy272 [@tailcall]) yyrecord
        | '\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy273 [@tailcall]) yyrecord
        | '\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy274 [@tailcall]) yyrecord
        | '\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy275 [@tailcall]) yyrecord
        | '\xAC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy177 [@tailcall]) yyrecord
        | '\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy178 [@tailcall]) yyrecord
        | '\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy276 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy63 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x9E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy180 [@tailcall]) yyrecord
        | '\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy181 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy64 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA4'..'\xA8'
        | '\xAA'
        | '\xB0'..'\xB3'
        | '\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy182 [@tailcall]) yyrecord
        | '\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy183 [@tailcall]) yyrecord
        | '\xAC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy277 [@tailcall]) yyrecord
        | '\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy185 [@tailcall]) yyrecord
        | '\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy53 [@tailcall]) yyrecord
        | '\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy186 [@tailcall]) yyrecord
        | '\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy187 [@tailcall]) yyrecord
        | '\xB5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy51 [@tailcall]) yyrecord
        | '\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy188 [@tailcall]) yyrecord
        | '\xB7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy189 [@tailcall]) yyrecord
        | '\xB8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy278 [@tailcall]) yyrecord
        | '\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy279 [@tailcall]) yyrecord
        | '\xBB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy191 [@tailcall]) yyrecord
        | '\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy280 [@tailcall]) yyrecord
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy193 [@tailcall]) yyrecord
        | '\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy194 [@tailcall]) yyrecord
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy195 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy65 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy281 [@tailcall]) yyrecord
        | '\x91' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy282 [@tailcall]) yyrecord
        | '\x92' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy198 [@tailcall]) yyrecord
        | '\x93' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy199 [@tailcall]) yyrecord
        | '\x94' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy200 [@tailcall]) yyrecord
        | '\x96' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy283 [@tailcall]) yyrecord
        | '\x97'
        | '\xA0'..'\xA9'
        | '\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy60 [@tailcall]) yyrecord
        | '\x98' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy202 [@tailcall]) yyrecord
        | '\x9B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy284 [@tailcall]) yyrecord
        | '\x9D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy285 [@tailcall]) yyrecord
        | '\x9E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy286 [@tailcall]) yyrecord
        | '\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy206 [@tailcall]) yyrecord
        | '\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy207 [@tailcall]) yyrecord
        | '\xAC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy208 [@tailcall]) yyrecord
        | '\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy209 [@tailcall]) yyrecord
        | '\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy210 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy66 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy287 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy67 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x95'
        | '\x9A'
        | '\xA4'
        | '\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy68 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x98'
        | '\xA0'..'\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy69 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA0'..'\xB4'
        | '\xB6'..'\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy70 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x84'..'\xB9'
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy71 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'
        | '\x98'..'\xA1'
        | '\xB1'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy72 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\x85'..'\x8C'
        | '\x8F'..'\x90'
        | '\x93'..'\xA8'
        | '\xAA'..'\xB0'
        | '\xB2'
        | '\xB6'..'\xB9'
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy73 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x8E'
        | '\x9C'..'\x9D'
        | '\x9F'..'\xA1'
        | '\xB0'..'\xB1'
        | '\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy74 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x85'..'\x8A'
        | '\x8F'..'\x90'
        | '\x93'..'\xA8'
        | '\xAA'..'\xB0'
        | '\xB2'..'\xB3'
        | '\xB5'..'\xB6'
        | '\xB8'..'\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy75 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x99'..'\x9C'
        | '\x9E'
        | '\xB2'..'\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy76 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x85'..'\x8D'
        | '\x8F'..'\x91'
        | '\x93'..'\xA8'
        | '\xAA'..'\xB0'
        | '\xB2'..'\xB3'
        | '\xB5'..'\xB9'
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy77 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'
        | '\xA0'..'\xA1'
        | '\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy78 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x85'..'\x8C'
        | '\x8F'..'\x90'
        | '\x93'..'\xA8'
        | '\xAA'..'\xB0'
        | '\xB2'..'\xB3'
        | '\xB5'..'\xB9'
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy79 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x9C'..'\x9D'
        | '\x9F'..'\xA1'
        | '\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy80 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x83'
        | '\x85'..'\x8A'
        | '\x8E'..'\x90'
        | '\x92'..'\x95'
        | '\x99'..'\x9A'
        | '\x9C'
        | '\x9E'..'\x9F'
        | '\xA3'..'\xA4'
        | '\xA8'..'\xAA'
        | '\xAE'..'\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy81 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy82 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x85'..'\x8C'
        | '\x8E'..'\x90'
        | '\x92'..'\xA8'
        | '\xAA'..'\xB9'
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy83 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x98'..'\x9A'
        | '\xA0'..'\xA1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy84 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\x85'..'\x8C'
        | '\x8E'..'\x90'
        | '\x92'..'\xA8'
        | '\xAA'..'\xB3'
        | '\xB5'..'\xB9'
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy85 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x9E'
        | '\xA0'..'\xA1'
        | '\xB1'..'\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy86 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x85'..'\x8C'
        | '\x8E'..'\x90'
        | '\x92'..'\xBA'
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy87 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x8E'
        | '\x94'..'\x96'
        | '\x9F'..'\xA1'
        | '\xBA'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy88 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x85'..'\x96'
        | '\x9A'..'\xB1'
        | '\xB3'..'\xBB'
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy89 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x86' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy90 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x81'..'\xB0'
        | '\xB2'..'\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy91 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x81'..'\x82'
        | '\x84'
        | '\x86'..'\x8A'
        | '\x8C'..'\xA3'
        | '\xA5'
        | '\xA7'..'\xB0'
        | '\xB2'..'\xB3'
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy92 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x84'
        | '\x86'
        | '\x9C'..'\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy93 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy94 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x87'
        | '\x89'..'\xAC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy95 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x88'..'\x8C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy96 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAA'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy97 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'..'\x95'
        | '\x9A'..'\x9D'
        | '\xA1'
        | '\xA5'..'\xA6'
        | '\xAE'..'\xB0'
        | '\xB5'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy98 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x81'
        | '\x8E'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy99 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x85'
        | '\x87'
        | '\x8D'
        | '\x90'..'\xBA'
        | '\xBC'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy100 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x88'
        | '\x8A'..'\x8D'
        | '\x90'..'\x96'
        | '\x98'
        | '\x9A'..'\x9D'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy101 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x88'
        | '\x8A'..'\x8D'
        | '\x90'..'\xB0'
        | '\xB2'..'\xB5'
        | '\xB8'..'\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy102 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\x82'..'\x85'
        | '\x88'..'\x96'
        | '\x98'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy103 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x90'
        | '\x92'..'\x95'
        | '\x98'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy104 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9A' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy105 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8F'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy106 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB5'
        | '\xB8'..'\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy107 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x81'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy108 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAC'
        | '\xAF'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy109 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x81'..'\x9A'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy110 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAA'
        | '\xAE'..'\xB8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy111 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8C'
        | '\x8E'..'\x91'
        | '\xA0'..'\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy112 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x91'
        | '\xA0'..'\xAC'
        | '\xAE'..'\xB0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy113 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy114 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x97'
        | '\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy115 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy116 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy117 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x84'
        | '\x87'..'\xA8'
        | '\xAA'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy118 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy119 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy120 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'..'\xAD'
        | '\xB0'..'\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy121 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAB'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy122 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x89' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy123 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x96'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy124 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x94' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy125 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy126 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x85'..'\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy127 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x85'..'\x8B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy128 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x83'..'\xA0'
        | '\xAE'..'\xAF'
        | '\xBA'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy129 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy130 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy131 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x8D'..'\x8F'
        | '\x9A'..'\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy132 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x88'
        | '\x90'..'\xBA'
        | '\xBD'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy133 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA9'..'\xAC'
        | '\xAE'..'\xB3'
        | '\xB5'..'\xB6'
        | '\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy134 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x95'
        | '\x98'..'\x9D'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy135 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x85'
        | '\x88'..'\x8D'
        | '\x90'..'\x97'
        | '\x99'
        | '\x9B'
        | '\x9D'
        | '\x9F'..'\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy136 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB4'
        | '\xB6'..'\xBC'
        | '\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy137 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x82'..'\x84'
        | '\x86'..'\x8C'
        | '\x90'..'\x93'
        | '\x96'..'\x9B'
        | '\xA0'..'\xAC'
        | '\xB2'..'\xB4'
        | '\xB6'..'\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy138 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xB1'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy139 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'..'\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy140 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x82'
        | '\x87'
        | '\x8A'..'\x93'
        | '\x95'
        | '\x99'..'\x9D'
        | '\xA4'
        | '\xA6'
        | '\xA8'
        | '\xAA'..'\xAD'
        | '\xAF'..'\xB9'
        | '\xBC'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy141 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x85'..'\x89'
        | '\x8E'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy142 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x88' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy143 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAE'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy144 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9E'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy145 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA4'
        | '\xAB'..'\xAE'
        | '\xB2'..'\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy146 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA5'
        | '\xA7'
        | '\xAD'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy147 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA7'
        | '\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy148 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x96'
        | '\xA0'..'\xA6'
        | '\xA8'..'\xAE'
        | '\xB0'..'\xB6'
        | '\xB8'..'\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy149 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x86'
        | '\x88'..'\x8E'
        | '\x90'..'\x96'
        | '\x98'..'\x9E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy150 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy151 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x85'..'\x87'
        | '\xA1'..'\xA9'
        | '\xB1'..'\xB5'
        | '\xB8'..'\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy152 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x96'
        | '\x9D'..'\x9F'
        | '\xA1'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy153 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xBA'
        | '\xBC'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy154 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x85'..'\xAF'
        | '\xB1'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy155 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8E'
        | '\xA0'..'\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy156 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy157 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy158 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy159 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'..'\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy160 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8C'
        | '\x90'..'\x9F'
        | '\xAA'..'\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy161 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAE'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy162 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9D'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy163 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x97'..'\x9F'
        | '\xA2'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy164 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x88'
        | '\x8B'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy165 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x82'..'\x86'
        | '\xB7'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy166 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x81'
        | '\x83'..'\x85'
        | '\x87'..'\x8A'
        | '\x8C'..'\xA2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy167 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x82'..'\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy168 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xB2'..'\xB7'
        | '\xBB'
        | '\xBD'..'\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy169 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x8A'..'\xA5'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy170 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x86'
        | '\xA0'..'\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy171 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x84'..'\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy172 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x8F'
        | '\xA0'..'\xA4'
        | '\xA6'..'\xAF'
        | '\xBA'..'\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy173 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy174 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x82'
        | '\x84'..'\x8B'
        | '\xA0'..'\xB6'
        | '\xBA'
        | '\xBE'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy175 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAF'
        | '\xB1'
        | '\xB5'..'\xB6'
        | '\xB9'..'\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy176 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\x82'
        | '\x9B'..'\x9D'
        | '\xA0'..'\xAA'
        | '\xB2'..'\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy177 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x81'..'\x86'
        | '\x89'..'\x8E'
        | '\x91'..'\x96'
        | '\xA0'..'\xA6'
        | '\xA8'..'\xAE'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy178 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9A'
        | '\x9C'..'\xA7'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy179 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy180 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA3'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy181 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x86'
        | '\x8B'..'\xBB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy182 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAD'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy183 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy184 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x86'
        | '\x93'..'\x97'
        | '\x9D'
        | '\x9F'..'\xA8'
        | '\xAA'..'\xB6'
        | '\xB8'..'\xBC'
        | '\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy185 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x81'
        | '\x83'..'\x84'
        | '\x86'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy186 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x93'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy187 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy188 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8F'
        | '\x92'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy189 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x87'
        | '\xB0'..'\xBB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy190 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xB0'..'\xB4'
        | '\xB6'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy191 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy192 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA1'..'\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy193 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x81'..'\x9A'
        | '\xA6'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy194 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy195 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x82'..'\x87'
        | '\x8A'..'\x8F'
        | '\x92'..'\x97'
        | '\x9A'..'\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy196 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy288 [@tailcall]) yyrecord
        | '\x81' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy289 [@tailcall]) yyrecord
        | '\x82'
        | '\x90'..'\x91'
        | '\x98'..'\x9B'
        | '\xB0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x83' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy290 [@tailcall]) yyrecord
        | '\x85' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy291 [@tailcall]) yyrecord
        | '\x8A' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy292 [@tailcall]) yyrecord
        | '\x8B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy293 [@tailcall]) yyrecord
        | '\x8C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy294 [@tailcall]) yyrecord
        | '\x8D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy295 [@tailcall]) yyrecord
        | '\x8E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy162 [@tailcall]) yyrecord
        | '\x8F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy296 [@tailcall]) yyrecord
        | '\x92' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy297 [@tailcall]) yyrecord
        | '\x93' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy298 [@tailcall]) yyrecord
        | '\x94' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy299 [@tailcall]) yyrecord
        | '\x95'
        | '\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy130 [@tailcall]) yyrecord
        | '\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy273 [@tailcall]) yyrecord
        | '\x9D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy300 [@tailcall]) yyrecord
        | '\xA0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy301 [@tailcall]) yyrecord
        | '\xA1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy302 [@tailcall]) yyrecord
        | '\xA2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy119 [@tailcall]) yyrecord
        | '\xA3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy303 [@tailcall]) yyrecord
        | '\xA4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy304 [@tailcall]) yyrecord
        | '\xA6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy305 [@tailcall]) yyrecord
        | '\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy306 [@tailcall]) yyrecord
        | '\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy307 [@tailcall]) yyrecord
        | '\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy308 [@tailcall]) yyrecord
        | '\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy309 [@tailcall]) yyrecord
        | '\xAC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy118 [@tailcall]) yyrecord
        | '\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy310 [@tailcall]) yyrecord
        | '\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy311 [@tailcall]) yyrecord
        | '\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy142 [@tailcall]) yyrecord
        | '\xB2'..'\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy312 [@tailcall]) yyrecord
        | '\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy313 [@tailcall]) yyrecord
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy314 [@tailcall]) yyrecord
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy315 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy197 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy316 [@tailcall]) yyrecord
        | '\x82' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy317 [@tailcall]) yyrecord
        | '\x83' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy318 [@tailcall]) yyrecord
        | '\x84' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy319 [@tailcall]) yyrecord
        | '\x85' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy320 [@tailcall]) yyrecord
        | '\x86' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy321 [@tailcall]) yyrecord
        | '\x87' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy322 [@tailcall]) yyrecord
        | '\x88' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy323 [@tailcall]) yyrecord
        | '\x8A' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy324 [@tailcall]) yyrecord
        | '\x8B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy119 [@tailcall]) yyrecord
        | '\x8C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy78 [@tailcall]) yyrecord
        | '\x8D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy325 [@tailcall]) yyrecord
        | '\x90' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy291 [@tailcall]) yyrecord
        | '\x91' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy326 [@tailcall]) yyrecord
        | '\x92'
        | '\x98' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy157 [@tailcall]) yyrecord
        | '\x93' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy327 [@tailcall]) yyrecord
        | '\x96' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy328 [@tailcall]) yyrecord
        | '\x97' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy329 [@tailcall]) yyrecord
        | '\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy330 [@tailcall]) yyrecord
        | '\x9A' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy331 [@tailcall]) yyrecord
        | '\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy104 [@tailcall]) yyrecord
        | '\xA0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy332 [@tailcall]) yyrecord
        | '\xA2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy115 [@tailcall]) yyrecord
        | '\xA3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy333 [@tailcall]) yyrecord
        | '\xA6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy334 [@tailcall]) yyrecord
        | '\xA7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy335 [@tailcall]) yyrecord
        | '\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy336 [@tailcall]) yyrecord
        | '\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy337 [@tailcall]) yyrecord
        | '\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy338 [@tailcall]) yyrecord
        | '\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy116 [@tailcall]) yyrecord
        | '\xB0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy339 [@tailcall]) yyrecord
        | '\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy340 [@tailcall]) yyrecord
        | '\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy341 [@tailcall]) yyrecord
        | '\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy342 [@tailcall]) yyrecord
        | '\xB5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy343 [@tailcall]) yyrecord
        | '\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy344 [@tailcall]) yyrecord
        | '\xBB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy345 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy198 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8D'
        | '\x90'
        | '\x92'..'\x94' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x8E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy183 [@tailcall]) yyrecord
        | '\x91' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy328 [@tailcall]) yyrecord
        | '\x95' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy346 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy199 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x90' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy328 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy200 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'..'\x98' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy89 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy201 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA0'..'\xA7'
        | '\xB9'
        | '\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy116 [@tailcall]) yyrecord
        | '\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy119 [@tailcall]) yyrecord
        | '\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy347 [@tailcall]) yyrecord
        | '\xAC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy157 [@tailcall]) yyrecord
        | '\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy348 [@tailcall]) yyrecord
        | '\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy341 [@tailcall]) yyrecord
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy349 [@tailcall]) yyrecord
        | '\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy350 [@tailcall]) yyrecord
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy351 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy202 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9E'
        | '\xA0'..'\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy255 [@tailcall]) yyrecord
        | '\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy312 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy203 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x83'
        | '\x86'..'\x8A'
        | '\xB0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x84' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy119 [@tailcall]) yyrecord
        | '\x85' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy352 [@tailcall]) yyrecord
        | '\x8B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy353 [@tailcall]) yyrecord
        | '\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy354 [@tailcall]) yyrecord
        | '\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy355 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy204 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'
        | '\x96'..'\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x91' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy356 [@tailcall]) yyrecord
        | '\x92' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy357 [@tailcall]) yyrecord
        | '\x93' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy358 [@tailcall]) yyrecord
        | '\x94' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy359 [@tailcall]) yyrecord
        | '\x95' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy360 [@tailcall]) yyrecord
        | '\x9A' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy361 [@tailcall]) yyrecord
        | '\x9B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy362 [@tailcall]) yyrecord
        | '\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy363 [@tailcall]) yyrecord
        | '\x9D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy364 [@tailcall]) yyrecord
        | '\x9E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy365 [@tailcall]) yyrecord
        | '\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy366 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy205 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x84' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy367 [@tailcall]) yyrecord
        | '\x85' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy368 [@tailcall]) yyrecord
        | '\x8B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy332 [@tailcall]) yyrecord
        | '\xA0'..'\xA2'
        | '\xA4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xA3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy369 [@tailcall]) yyrecord
        | '\xA5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy370 [@tailcall]) yyrecord
        | '\xB8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy371 [@tailcall]) yyrecord
        | '\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy372 [@tailcall]) yyrecord
        | '\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy373 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy206 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9A'
        | '\x9C'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x9B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy374 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy207 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9B'
        | '\x9D'..'\x9F'
        | '\xA1'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy291 [@tailcall]) yyrecord
        | '\xA0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy162 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy208 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB9'
        | '\xBB'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy375 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy209 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy376 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy210 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA0'..'\xA7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy377 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy211 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy212 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9B'
        | '\xA0'..'\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy213 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x93'..'\xA1'
        | '\xA3'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy214 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA3'
        | '\xA6'..'\xAF'
        | '\xB1'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy215 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x83'
        | '\x85'..'\x8C'
        | '\x8F'..'\x90'
        | '\x93'..'\xA8'
        | '\xAA'..'\xB0'
        | '\xB2'
        | '\xB6'..'\xB9'
        | '\xBC'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy216 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x84'
        | '\x87'..'\x88'
        | '\x8B'..'\x8E'
        | '\x97'
        | '\x9C'..'\x9D'
        | '\x9F'..'\xA3'
        | '\xA6'..'\xB1'
        | '\xBC'
        | '\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy217 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x81'..'\x83'
        | '\x85'..'\x8A'
        | '\x8F'..'\x90'
        | '\x93'..'\xA8'
        | '\xAA'..'\xB0'
        | '\xB2'..'\xB3'
        | '\xB5'..'\xB6'
        | '\xB8'..'\xB9'
        | '\xBC'
        | '\xBE'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy218 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x82'
        | '\x87'..'\x88'
        | '\x8B'..'\x8D'
        | '\x91'
        | '\x99'..'\x9C'
        | '\x9E'
        | '\xA6'..'\xB5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy219 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x81'..'\x83'
        | '\x85'..'\x8D'
        | '\x8F'..'\x91'
        | '\x93'..'\xA8'
        | '\xAA'..'\xB0'
        | '\xB2'..'\xB3'
        | '\xB5'..'\xB9'
        | '\xBC'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy220 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x85'
        | '\x87'..'\x89'
        | '\x8B'..'\x8D'
        | '\x90'
        | '\xA0'..'\xA3'
        | '\xA6'..'\xAF'
        | '\xB9'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy221 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x81'..'\x83'
        | '\x85'..'\x8C'
        | '\x8F'..'\x90'
        | '\x93'..'\xA8'
        | '\xAA'..'\xB0'
        | '\xB2'..'\xB3'
        | '\xB5'..'\xB9'
        | '\xBC'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy222 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x84'
        | '\x87'..'\x88'
        | '\x8B'..'\x8D'
        | '\x96'..'\x97'
        | '\x9C'..'\x9D'
        | '\x9F'..'\xA3'
        | '\xA6'..'\xAF'
        | '\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy223 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x82'..'\x83'
        | '\x85'..'\x8A'
        | '\x8E'..'\x90'
        | '\x92'..'\x95'
        | '\x99'..'\x9A'
        | '\x9C'
        | '\x9E'..'\x9F'
        | '\xA3'..'\xA4'
        | '\xA8'..'\xAA'
        | '\xAE'..'\xB9'
        | '\xBE'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy224 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x82'
        | '\x86'..'\x88'
        | '\x8A'..'\x8D'
        | '\x90'
        | '\x97'
        | '\xA6'..'\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy225 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8C'
        | '\x8E'..'\x90'
        | '\x92'..'\xA8'
        | '\xAA'..'\xB9'
        | '\xBD'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy226 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x84'
        | '\x86'..'\x88'
        | '\x8A'..'\x8D'
        | '\x95'..'\x96'
        | '\x98'..'\x9A'
        | '\xA0'..'\xA3'
        | '\xA6'..'\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy227 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x83'
        | '\x85'..'\x8C'
        | '\x8E'..'\x90'
        | '\x92'..'\xA8'
        | '\xAA'..'\xB3'
        | '\xB5'..'\xB9'
        | '\xBC'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy228 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x84'
        | '\x86'..'\x88'
        | '\x8A'..'\x8D'
        | '\x95'..'\x96'
        | '\x9E'
        | '\xA0'..'\xA3'
        | '\xA6'..'\xAF'
        | '\xB1'..'\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy229 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x83'
        | '\x85'..'\x8C'
        | '\x8E'..'\x90'
        | '\x92'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy230 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x84'
        | '\x86'..'\x88'
        | '\x8A'..'\x8E'
        | '\x94'..'\x97'
        | '\x9F'..'\xA3'
        | '\xA6'..'\xAF'
        | '\xBA'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy231 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x82'..'\x83'
        | '\x85'..'\x96'
        | '\x9A'..'\xB1'
        | '\xB3'..'\xBB'
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy232 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x86'
        | '\x8A'
        | '\x8F'..'\x94'
        | '\x96'
        | '\x98'..'\x9F'
        | '\xA6'..'\xAF'
        | '\xB2'..'\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy233 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x81'..'\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy234 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8E'
        | '\x90'..'\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy235 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x81'..'\x82'
        | '\x84'
        | '\x86'..'\x8A'
        | '\x8C'..'\xA3'
        | '\xA5'
        | '\xA7'..'\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy236 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x84'
        | '\x86'
        | '\x88'..'\x8D'
        | '\x90'..'\x99'
        | '\x9C'..'\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy237 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\x98'..'\x99'
        | '\xA0'..'\xA9'
        | '\xB5'
        | '\xB7'
        | '\xB9'
        | '\xBE'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy238 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x87'
        | '\x89'..'\xAC'
        | '\xB1'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy239 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x84'
        | '\x86'..'\x97'
        | '\x99'..'\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy240 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x86' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy241 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x89'
        | '\x90'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy242 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9A'
        | '\x9D'..'\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy243 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8C'
        | '\x8E'..'\x94'
        | '\xA0'..'\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy244 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x93'
        | '\xA0'..'\xAC'
        | '\xAE'..'\xB0'
        | '\xB2'..'\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy245 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x93'
        | '\x97'
        | '\x9C'..'\x9D'
        | '\xA0'..'\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy246 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x8B'..'\x8D'
        | '\x90'..'\x99'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy247 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAA'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy248 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9E'
        | '\xA0'..'\xAB'
        | '\xB0'..'\xBB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy249 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x86'..'\xAD'
        | '\xB0'..'\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy250 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x89'
        | '\x90'..'\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy251 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9B'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy252 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9E'
        | '\xA0'..'\xBC'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy253 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x89'
        | '\x90'..'\x99'
        | '\xA7'
        | '\xB0'..'\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy254 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8B'
        | '\x90'..'\x99'
        | '\xAB'..'\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy255 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy256 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x89'
        | '\x8D'..'\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy257 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'..'\x92'
        | '\x94'..'\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy258 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB9'
        | '\xBB'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy259 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x8D'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy260 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\x94'
        | '\xB1'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy261 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'..'\x9C'
        | '\xA1'
        | '\xA5'..'\xB0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy262 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA4'
        | '\xAB'..'\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy263 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA7'
        | '\xAF'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy264 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x86'
        | '\x88'..'\x8E'
        | '\x90'..'\x96'
        | '\x98'..'\x9E'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy265 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x85'..'\x87'
        | '\xA1'..'\xAF'
        | '\xB1'..'\xB5'
        | '\xB8'..'\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy266 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x96'
        | '\x99'..'\x9A'
        | '\x9D'..'\x9F'
        | '\xA1'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy267 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8C'
        | '\x90'..'\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy268 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAF'
        | '\xB4'..'\xBD'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy269 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy270 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x85'
        | '\x90'..'\x99'
        | '\xA0'..'\xB7'
        | '\xBB'
        | '\xBD'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy271 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x93'
        | '\xA0'..'\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy272 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\x8F'..'\x99'
        | '\xA0'..'\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy273 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy274 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8D'
        | '\x90'..'\x99'
        | '\xA0'..'\xB6'
        | '\xBA'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy275 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x82'
        | '\x9B'..'\x9D'
        | '\xA0'..'\xAF'
        | '\xB2'..'\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy276 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAA'
        | '\xAC'..'\xAD'
        | '\xB0'..'\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy277 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x86'
        | '\x93'..'\x97'
        | '\x9D'..'\xA8'
        | '\xAA'..'\xB6'
        | '\xB8'..'\xBC'
        | '\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy278 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8F'
        | '\xA0'..'\xAF'
        | '\xB3'..'\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy279 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x8D'..'\x8F'
        | '\xB0'..'\xB4'
        | '\xB6'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy280 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'..'\x99'
        | '\xA1'..'\xBA'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy281 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy288 [@tailcall]) yyrecord
        | '\x81' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy289 [@tailcall]) yyrecord
        | '\x82'
        | '\x90'..'\x91'
        | '\x98'..'\x9B'
        | '\xB0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x83' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy290 [@tailcall]) yyrecord
        | '\x85' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy291 [@tailcall]) yyrecord
        | '\x87' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy378 [@tailcall]) yyrecord
        | '\x8A' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy292 [@tailcall]) yyrecord
        | '\x8B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy379 [@tailcall]) yyrecord
        | '\x8C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy294 [@tailcall]) yyrecord
        | '\x8D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy380 [@tailcall]) yyrecord
        | '\x8E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy162 [@tailcall]) yyrecord
        | '\x8F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy296 [@tailcall]) yyrecord
        | '\x92' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy381 [@tailcall]) yyrecord
        | '\x93' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy298 [@tailcall]) yyrecord
        | '\x94' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy299 [@tailcall]) yyrecord
        | '\x95' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy130 [@tailcall]) yyrecord
        | '\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy273 [@tailcall]) yyrecord
        | '\x9D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy300 [@tailcall]) yyrecord
        | '\xA0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy301 [@tailcall]) yyrecord
        | '\xA1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy302 [@tailcall]) yyrecord
        | '\xA2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy119 [@tailcall]) yyrecord
        | '\xA3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy303 [@tailcall]) yyrecord
        | '\xA4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy304 [@tailcall]) yyrecord
        | '\xA6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy305 [@tailcall]) yyrecord
        | '\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy382 [@tailcall]) yyrecord
        | '\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy307 [@tailcall]) yyrecord
        | '\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy308 [@tailcall]) yyrecord
        | '\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy383 [@tailcall]) yyrecord
        | '\xAC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy118 [@tailcall]) yyrecord
        | '\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy310 [@tailcall]) yyrecord
        | '\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy311 [@tailcall]) yyrecord
        | '\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy142 [@tailcall]) yyrecord
        | '\xB2'..'\xB3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy312 [@tailcall]) yyrecord
        | '\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy384 [@tailcall]) yyrecord
        | '\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy313 [@tailcall]) yyrecord
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy293 [@tailcall]) yyrecord
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy315 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy282 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\x86'
        | '\x90'
        | '\x92'
        | '\x98' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x81' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy385 [@tailcall]) yyrecord
        | '\x82'
        | '\xA0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy290 [@tailcall]) yyrecord
        | '\x83' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy386 [@tailcall]) yyrecord
        | '\x84' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy387 [@tailcall]) yyrecord
        | '\x85' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy388 [@tailcall]) yyrecord
        | '\x87' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy389 [@tailcall]) yyrecord
        | '\x88' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy390 [@tailcall]) yyrecord
        | '\x8A' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy324 [@tailcall]) yyrecord
        | '\x8B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy391 [@tailcall]) yyrecord
        | '\x8C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy392 [@tailcall]) yyrecord
        | '\x8D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy393 [@tailcall]) yyrecord
        | '\x91' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy394 [@tailcall]) yyrecord
        | '\x93' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy395 [@tailcall]) yyrecord
        | '\x96' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy396 [@tailcall]) yyrecord
        | '\x97' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy397 [@tailcall]) yyrecord
        | '\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy398 [@tailcall]) yyrecord
        | '\x9A'
        | '\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy116 [@tailcall]) yyrecord
        | '\x9B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy122 [@tailcall]) yyrecord
        | '\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy399 [@tailcall]) yyrecord
        | '\xA2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy115 [@tailcall]) yyrecord
        | '\xA3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy400 [@tailcall]) yyrecord
        | '\xA6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy334 [@tailcall]) yyrecord
        | '\xA7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy401 [@tailcall]) yyrecord
        | '\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy194 [@tailcall]) yyrecord
        | '\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy402 [@tailcall]) yyrecord
        | '\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy403 [@tailcall]) yyrecord
        | '\xB0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy404 [@tailcall]) yyrecord
        | '\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy405 [@tailcall]) yyrecord
        | '\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy406 [@tailcall]) yyrecord
        | '\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy407 [@tailcall]) yyrecord
        | '\xB5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy408 [@tailcall]) yyrecord
        | '\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy409 [@tailcall]) yyrecord
        | '\xBB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy315 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy283 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA0'..'\xA7'
        | '\xB9'
        | '\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy116 [@tailcall]) yyrecord
        | '\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy410 [@tailcall]) yyrecord
        | '\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy120 [@tailcall]) yyrecord
        | '\xAC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy273 [@tailcall]) yyrecord
        | '\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy411 [@tailcall]) yyrecord
        | '\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy341 [@tailcall]) yyrecord
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy412 [@tailcall]) yyrecord
        | '\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy413 [@tailcall]) yyrecord
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy351 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy284 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x83'
        | '\x86'..'\x8A'
        | '\xB0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x84' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy119 [@tailcall]) yyrecord
        | '\x85' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy352 [@tailcall]) yyrecord
        | '\x8B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy353 [@tailcall]) yyrecord
        | '\xB1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy354 [@tailcall]) yyrecord
        | '\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy414 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy285 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x85' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy415 [@tailcall]) yyrecord
        | '\x86' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy416 [@tailcall]) yyrecord
        | '\x89' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy417 [@tailcall]) yyrecord
        | '\x90'
        | '\x96'..'\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x91' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy356 [@tailcall]) yyrecord
        | '\x92' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy357 [@tailcall]) yyrecord
        | '\x93' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy358 [@tailcall]) yyrecord
        | '\x94' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy359 [@tailcall]) yyrecord
        | '\x95' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy360 [@tailcall]) yyrecord
        | '\x9A' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy361 [@tailcall]) yyrecord
        | '\x9B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy362 [@tailcall]) yyrecord
        | '\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy363 [@tailcall]) yyrecord
        | '\x9D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy364 [@tailcall]) yyrecord
        | '\x9E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy365 [@tailcall]) yyrecord
        | '\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy418 [@tailcall]) yyrecord
        | '\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy419 [@tailcall]) yyrecord
        | '\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy420 [@tailcall]) yyrecord
        | '\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy421 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy286 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy422 [@tailcall]) yyrecord
        | '\x84' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy423 [@tailcall]) yyrecord
        | '\x85' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy424 [@tailcall]) yyrecord
        | '\x8B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy425 [@tailcall]) yyrecord
        | '\xA0'..'\xA2'
        | '\xA4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\xA3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy426 [@tailcall]) yyrecord
        | '\xA5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy427 [@tailcall]) yyrecord
        | '\xB8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy371 [@tailcall]) yyrecord
        | '\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy372 [@tailcall]) yyrecord
        | '\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy373 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy287 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x84'..'\x86' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy38 [@tailcall]) yyrecord
        | '\x87' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy157 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy288 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8B'
        | '\x8D'..'\xA6'
        | '\xA8'..'\xBA'
        | '\xBC'..'\xBD'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy289 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8D'
        | '\x90'..'\x9D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy290 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy291 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy292 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9C'
        | '\xA0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy293 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x90' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy294 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9F'
        | '\xAD'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy295 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8A'
        | '\x90'..'\xB5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy296 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x83'
        | '\x88'..'\x8F'
        | '\x91'..'\x95' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy297 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9D'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy298 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x93'
        | '\x98'..'\xBB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy299 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA7'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy300 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x95'
        | '\xA0'..'\xA7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy301 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x85'
        | '\x88'
        | '\x8A'..'\xB5'
        | '\xB7'..'\xB8'
        | '\xBC'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy302 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x95'
        | '\xA0'..'\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy303 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA0'..'\xB2'
        | '\xB4'..'\xB5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy304 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x95'
        | '\xA0'..'\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy305 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB7'
        | '\xBE'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy306 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\x90'..'\x93'
        | '\x95'..'\x97'
        | '\x99'..'\xB5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy307 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA0'..'\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy308 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy309 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x87'
        | '\x89'..'\xA4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy310 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x95'
        | '\xA0'..'\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy311 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x91' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy312 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy313 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9C'
        | '\xA7'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy314 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x85' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy315 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA0'..'\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy316 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x83'..'\xB7' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy317 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x83'..'\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy318 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'..'\xA8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy319 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x83'..'\xA6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy320 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x84'
        | '\x90'..'\xB2'
        | '\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy321 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x83'..'\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy322 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x81'..'\x84'
        | '\x9A'
        | '\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy323 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x91'
        | '\x93'..'\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy324 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x86'
        | '\x88'
        | '\x8A'..'\x8D'
        | '\x8F'..'\x9D'
        | '\x9F'..'\xA8'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy325 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'
        | '\x9D'..'\xA1' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy326 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x87'..'\x8A'
        | '\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy327 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x84'..'\x85'
        | '\x87' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy328 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy329 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x98'..'\x9B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy330 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x84' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy331 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAA'
        | '\xB8' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy332 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy333 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9F'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy334 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA0'..'\xA7'
        | '\xAA'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy335 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x90'
        | '\xA1'
        | '\xA3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy336 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\x8B'..'\xB2'
        | '\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy337 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'
        | '\x9C'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy338 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x89'
        | '\x9D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy339 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x88'
        | '\x8A'..'\xAE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy340 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\xB2'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy341 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy342 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x86'
        | '\x88'..'\x89'
        | '\x8B'..'\xB0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy343 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x86'
        | '\xA0'..'\xA5'
        | '\xA7'..'\xA8'
        | '\xAA'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy344 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x89'
        | '\x98' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy345 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA0'..'\xB2' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy346 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x83' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy347 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'..'\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy348 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x83'
        | '\xA3'..'\xB7'
        | '\xBD'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy349 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8A'
        | '\x90' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy350 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x93'..'\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy351 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA0'..'\xA1'
        | '\xA3' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy352 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'..'\x92'
        | '\xA4'..'\xA7'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy353 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xBB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy354 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAA'
        | '\xB0'..'\xBC' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy355 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x88'
        | '\x90'..'\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy356 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x94'
        | '\x96'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy357 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9C'
        | '\x9E'..'\x9F'
        | '\xA2'
        | '\xA5'..'\xA6'
        | '\xA9'..'\xAC'
        | '\xAE'..'\xB9'
        | '\xBB'
        | '\xBD'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy358 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x83'
        | '\x85'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy359 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x85'
        | '\x87'..'\x8A'
        | '\x8D'..'\x94'
        | '\x96'..'\x9C'
        | '\x9E'..'\xB9'
        | '\xBB'..'\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy360 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x84'
        | '\x86'
        | '\x8A'..'\x90'
        | '\x92'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy361 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA5'
        | '\xA8'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy362 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\x82'..'\x9A'
        | '\x9C'..'\xBA'
        | '\xBC'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy363 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x94'
        | '\x96'..'\xB4'
        | '\xB6'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy364 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8E'
        | '\x90'..'\xAE'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy365 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x88'
        | '\x8A'..'\xA8'
        | '\xAA'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy366 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x82'
        | '\x84'..'\x8B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy367 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAC'
        | '\xB7'..'\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy368 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x8E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy369 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x84' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy370 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x83'
        | '\x8B' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy371 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x83'
        | '\x85'..'\x9F'
        | '\xA1'..'\xA2'
        | '\xA4'
        | '\xA7'
        | '\xA9'..'\xB2'
        | '\xB4'..'\xB7'
        | '\xB9'
        | '\xBB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy372 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x82'
        | '\x87'
        | '\x89'
        | '\x8B'
        | '\x8D'..'\x8F'
        | '\x91'..'\x92'
        | '\x94'
        | '\x97'
        | '\x99'
        | '\x9B'
        | '\x9D'
        | '\x9F'
        | '\xA1'..'\xA2'
        | '\xA4'
        | '\xA7'..'\xAA'
        | '\xAC'..'\xB2'
        | '\xB4'..'\xB7'
        | '\xB9'..'\xBC'
        | '\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy373 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x89'
        | '\x8B'..'\x9B'
        | '\xA1'..'\xA3'
        | '\xA5'..'\xA9'
        | '\xAB'..'\xBB' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy374 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x96' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy375 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA1'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy376 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy377 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy378 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy379 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x90'
        | '\xA0' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy380 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8A'
        | '\x90'..'\xBA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy381 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9D'
        | '\xA0'..'\xA9'
        | '\xB0'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy382 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x83'
        | '\x85'..'\x86'
        | '\x8C'..'\x93'
        | '\x95'..'\x97'
        | '\x99'..'\xB5'
        | '\xB8'..'\xBA'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy383 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x87'
        | '\x89'..'\xA6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy384 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA7'
        | '\xB0'..'\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy385 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x86'
        | '\xA6'..'\xAF'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy386 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x90'..'\xA8'
        | '\xB0'..'\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy387 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB4'
        | '\xB6'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy388 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x84'..'\x86'
        | '\x90'..'\xB3'
        | '\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy389 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x84'
        | '\x89'..'\x8C'
        | '\x90'..'\x9A'
        | '\x9C' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy390 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x91'
        | '\x93'..'\xB7'
        | '\xBE' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy391 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAA'
        | '\xB0'..'\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy392 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x83'
        | '\x85'..'\x8C'
        | '\x8F'..'\x90'
        | '\x93'..'\xA8'
        | '\xAA'..'\xB0'
        | '\xB2'..'\xB3'
        | '\xB5'..'\xB9'
        | '\xBB'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy393 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x84'
        | '\x87'..'\x88'
        | '\x8B'..'\x8D'
        | '\x90'
        | '\x97'
        | '\x9D'..'\xA3'
        | '\xA6'..'\xAC'
        | '\xB0'..'\xB4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy394 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8A'
        | '\x90'..'\x99'
        | '\x9E'..'\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy395 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x85'
        | '\x87'
        | '\x90'..'\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy396 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB5'
        | '\xB8'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy397 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\x98'..'\x9D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy398 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\x84'
        | '\x90'..'\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy399 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9A'
        | '\x9D'..'\xAB'
        | '\xB0'..'\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy400 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xA9'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy401 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x97'
        | '\x9A'..'\xA1'
        | '\xA3'..'\xA4' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy402 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x87'
        | '\x90'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy403 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x99'
        | '\x9D' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy404 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x88'
        | '\x8A'..'\xB6'
        | '\xB8'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy405 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'
        | '\x90'..'\x99'
        | '\xB2'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy406 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8F'
        | '\x92'..'\xA7'
        | '\xA9'..'\xB6' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy407 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x86'
        | '\x88'..'\x89'
        | '\x8B'..'\xB6'
        | '\xBA'
        | '\xBC'..'\xBD'
        | '\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy408 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x87'
        | '\x90'..'\x99'
        | '\xA0'..'\xA5'
        | '\xA7'..'\xA8'
        | '\xAA'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy409 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8E'
        | '\x90'..'\x91'
        | '\x93'..'\x98'
        | '\xA0'..'\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy410 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x9E'
        | '\xA0'..'\xA9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy411 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x83'
        | '\x90'..'\x99'
        | '\xA3'..'\xB7'
        | '\xBD'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy412 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8A'
        | '\x8F'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy413 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x87'
        | '\x8F'..'\x9F' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy414 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x88'
        | '\x90'..'\x99'
        | '\x9D'..'\x9E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy415 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\xA5'..'\xA9'
        | '\xAD'..'\xB2'
        | '\xBB'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy416 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x82'
        | '\x85'..'\x8B'
        | '\xAA'..'\xAD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy417 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x82'..'\x84' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy418 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x82'
        | '\x84'..'\x8B'
        | '\x8E'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy419 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB6'
        | '\xBB'..'\xBF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy420 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAC'
        | '\xB5' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy421 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x84'
        | '\x9B'..'\x9F'
        | '\xA1'..'\xAF' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy422 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x86'
        | '\x88'..'\x98'
        | '\x9B'..'\xA1'
        | '\xA3'..'\xA4'
        | '\xA6'..'\xAA' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy423 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xAC'
        | '\xB0'..'\xBD' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy424 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x89'
        | '\x8E' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy425 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\xB9' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy426 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x84'
        | '\x90'..'\x96' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and yy427 (yyrecord : state) : bool =
    let yych = unsafe_get yyrecord.yyinput yyrecord.yycursor in
    match yych with
        | '\x80'..'\x8B'
        | '\x90'..'\x99' ->
            yyrecord.yycursor <- yyrecord.yycursor + 1;
            (yy3 [@tailcall]) yyrecord
        | _ -> (yy36 [@tailcall]) yyrecord

and lex (yyrecord : state) : bool =
    (yy0 [@tailcall]) yyrecord



let main () =
    let st = {
        yyinput = "_Ыдентификатор";
        yycursor = 0;
        yymarker = 0;
        yyaccept = 0;
    }
    in if not (lex st) then raise (Failure "error")

let _ = main ()
