generic package makelib_lex_g (package tokens: Libfile_Tokens;){
# Compiled by:
#
src/app/makelib/makelib.sublib package user_declarations {
## libfile.lex
## (C) 1999 Lucent Technologies, Bell Laboratories
## Author: Matthias Blume (blume@kurims.kyoto-u.ac.jp)
# lexical analysis (Mythryl-Lex specification)
# for foo.lib (library definition) files.
### "Let's say the docs present a simplified view of reality... :-)"
###
### --Larry Wall in <6940@jpl-devvax.JPL.NASA.GOV>
package lga = libfile_grammar_actions; # libfile_grammar_actions is from
src/app/makelib/parse/libfile-grammar-actions.pkgSemantic_Value = tokens::Semantic_Value;
Source_Position = Int;
Token( X, Y ) = tokens::Token( X, Y );
Lex_Result = Token( Semantic_Value, Source_Position );
Lex_Arg = {
# Define the lexer's input argument record. This
# actually gets constructed and passed to the lexer in
#
#
src/app/makelib/parse/libfile-parser-g.pkg # We use these two to track comment-nesting depth:
#
enter_comment: Void -> Void, # We call this when entering a comment scope (/*... )
leave_comment: Void -> Bool, # We call this when leaving a comment scope (... */)
enter_qquote: Source_Position -> Void, # We call this when entering a double-quoted string literal scope ("...)
append_char_to_qquote: Char -> Void, # We call this to add a char to a double-quoted string literal.
append_control_char_to_qquote: (String, Char) -> Void, # We call this to add a ^A char to a double-quoted string literal.
append_escaped_char_to_qquote: (String, Source_Position) -> Void, # We call this to add a \013 char to a double-quoted string literal.
leave_qquote # We call this when leaving a double-quoted string literal scope (...")
:
( Source_Position,
((String, Source_Position, Source_Position) -> Lex_Result)
)
->
Lex_Result,
#
handle_eof_by_complaining_about_unclosed_comments_and_strings
:
Void -> Source_Position, # We return final line number.
newline: Source_Position -> Void, # We call this each time we see a newline -- we use this to track current line number.
#
complain_about_obsolete_syntax
:
(Source_Position, Source_Position) -> Void, # We use this to flag an obsolete syntactic construct.
#
report_error: (Source_Position, Source_Position) -> String -> Void, # String is the error message.
handle_line_directive: (Source_Position, String) -> Void, # Handle #line directive resetting effective line number.
in_section2: Ref( Bool ) # Initially FALSE, set TRUE once we've seen LIBRARY_COMPONENTS or SUBLIBRARY_COMNPONENTS token.
};
Arg = Lex_Arg;
fun eof (arg: Lex_Arg)
=
{ end_of_file_position
=
arg.handle_eof_by_complaining_about_unclosed_comments_and_strings ();
tokens::eof
( end_of_file_position,
end_of_file_position
);
};
fun error_tok (t, p)
=
{ fun find_graph i
=
if (char::is_graph (string::get_byte_as_char (t, i))) i;
else find_graph (i + 1);
fi;
fun find_error i
=
if (string::get_byte_as_char (t, i) == 'e') i;
else find_error (i + 1);
fi;
start = find_graph (5 + find_error 0);
msg = string::extract (t, start, NULL);
tokens::errorx (msg, p + 1, p + size t);
};
fun plain t (_: Ref( Bool ), arg)
=
t arg: Lex_Result;
fun library_components_token (in_section2, arg)
=
{ in_section2 := TRUE; # We've seen LIBRARY_COMPONENTS or SUBLIBRARY_COMPONENTS, so we are now in the second section of the .lib file.
tokens::library_components arg; # LIBRARY_COMPONENTS and SUBLIBRARY_COMPONENTS are the same token.
}
: Lex_Result;
makelib_ids = [ ("LIBRARY_EXPORTS", plain tokens::library_exports),
("SUBLIBRARY_EXPORTS", plain tokens::sublibrary_exports),
("API_OR_PKG_EXPORTS", plain tokens::api_or_pkg_exports),
("SUBLIBRARY_COMPONENTS", library_components_token),
("LIBRARY_COMPONENTS", library_components_token),
("*", plain tokens::star),
("-", plain tokens::dash)
];
ml_ids = [ ("pkg", tokens::pkg_t ),
("api", tokens::api_t ),
("generic", tokens::generic_t ),
("funsig", tokens::generic_api_t ),
("generic_api", tokens::generic_api_t )
];
pp_ids = [ ("defined", plain tokens::defined ),
("and", plain tokens::and_t ),
("or", plain tokens::or_t ),
("not", plain tokens::not_t )
];
fun id_token (t, p, idlist, default, chstate, in_section2)
=
case (list::find
(\\ (id, _) = id == t)
ml_ids
)
THE (_, tok)
=>
{ chstate ();
tok (p, p + size t);
};
NULL
=>
case (list::find
(\\ (id, _) = id == t)
idlist
)
THE (_, tok) => tok (in_section2, (p, p + size t)); # We pass 'in_section2' only so that library_components_token() can set it TRUE.
NULL => default (t, p, p + size t);
esac;
esac;
/* states:
initial -> C
|
+------> P -> PC
| |
| +--> PM -> PMC
|
+------> M -> MC
|
+------> S -> SS
"COMMENT" -- COMMENT
"P" -- PREPROC
"M" -- MLSYMBOL
"S" -- STRING
"SS" -- STRINGSKIP
*/
}; # end of user routines
exception LEX_ERROR; # Raised if illegal leaf action tried.
package internal {
Yyfinstate = NN Int;
Statedata = { fin: List( Yyfinstate ), trans: String };
# transition & final state table
tab = {
s = [
(0,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(1,
"\x17\x17\x17\x17\x17\x17\x17\x17\x17\x29\x46\x17\x29\x2b\x17\x17\
\\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\
\\x29\x18\x28\x21\x18\x18\x18\x18\x20\x1f\x1d\x18\x18\x18\x18\x1b\
\\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x1a\x18\x18\x18\x18\x18\
\\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\
\\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x17\x17\x17\x18\x18\
\\x17\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\
\\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x17\x18\x17\x18\x17\
\\x17"
),
(3,
"\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x4f\x47\x47\x4c\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x4a\x47\x47\x47\x47\x48\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47"
),
(5,
"\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x52\x50\x50\x51\x50\x50\
\\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\
\\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\
\\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\
\\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\
\\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\
\\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\
\\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\
\\x50"
),
(7,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x68\x00\x2a\x67\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x2a\x65\x00\x00\x00\x64\x00\x00\x63\x62\x60\x5f\x00\x5e\x00\x5c\
\\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x00\x00\x59\x57\x55\x00\
\\x00\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\
\\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x00\x00\x00\x00\x00\
\\x00\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\
\\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x00\x00\x00\x53\x00\
\\x00"
),
(9,
"\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x4f\x47\x47\x4c\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x69\x47\x47\x47\x47\x48\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47"
),
(11,
"\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x74\x76\x6b\x74\x75\x6b\x6b\
\\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\
\\x74\x6c\x6b\x6c\x6c\x6c\x6c\x6b\x6b\x6b\x72\x6c\x6b\x6c\x6b\x70\
\\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6c\x6b\x6c\x6c\x6c\x6c\
\\x6c\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6b\x6c\x6b\x6c\x6b\
\\x6b\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6b\x6c\x6b\x6c\x6b\
\\x6b"
),
(13,
"\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x4f\x47\x47\x4c\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x77\x47\x47\x47\x47\x48\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47"
),
(15,
"\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x74\x76\x6b\x74\x75\x6b\x6b\
\\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\
\\x74\x79\x6b\x79\x79\x79\x79\x6b\x6b\x6b\x7f\x79\x6b\x79\x6b\x7d\
\\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x79\x6b\x79\x79\x79\x79\
\\x79\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\
\\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x6b\x79\x6b\x79\x6b\
\\x6b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\
\\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x6b\x79\x6b\x79\x6b\
\\x6b"
),
(17,
"\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x4f\x47\x47\x4c\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x81\x47\x47\x47\x47\x48\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47"
),
(19,
"\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\xa1\x83\x83\xa0\x83\x83\
\\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\
\\x83\x83\x9f\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\
\\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\
\\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\
\\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x84\x83\x83\x83\
\\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\
\\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\
\\x83"
),
(21,
"\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa4\xa7\xa2\xa4\xa6\xa2\xa2\
\\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\
\\xa4\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\
\\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\
\\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\
\\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa3\xa2\xa2\xa2\
\\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\
\\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\
\\xa2"
),
(24,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x19\x00\x19\x19\x19\x19\x19\x00\x00\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x19\x19\
\\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x00\x19\x00\
\\x00"
),
(27,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x19\x00\x19\x19\x19\x19\x19\x00\x00\x1c\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x19\x19\
\\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x00\x19\x00\
\\x00"
),
(28,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x19\x00\x1c\x19\x19\x19\x19\x00\x00\x1c\x19\x19\x1c\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x19\x1c\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x19\x19\
\\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x00\x19\x00\
\\x00"
),
(29,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x19\x00\x19\x19\x19\x19\x19\x00\x00\x19\x19\x19\x19\x19\x1e\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x19\x19\
\\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x00\x19\x00\
\\x00"
),
(33,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x26\x00\x00\x25\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x24\x23\x00\x22\x19\x19\x19\x19\x00\x00\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x19\x19\
\\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x00\x19\x00\
\\x00"
),
(37,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(41,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x2a\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(43,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x46\x00\x45\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x45\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(44,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x35\x00\x00\x00\x33\x00\x00\x2d\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(45,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(46,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(47,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(48,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x31\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(49,
"\x32\x32\x32\x32\x32\x32\x32\x32\x32\x31\x00\x32\x31\x00\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x31\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32"
),
(50,
"\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x00\x32\x32\x00\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32"
),
(51,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(53,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x3c\x00\
\\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(54,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(55,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(56,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(57,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x3a\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(58,
"\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3a\x00\x3b\x3a\x00\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3a\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b"
),
(59,
"\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x00\x3b\x3b\x00\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b"
),
(60,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(61,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(62,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(64,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(65,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(67,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(69,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x00\x45\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x45\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(72,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(73,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x49\x00\x00\x49\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(74,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(76,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x4f\x00\x4e\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x4e\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(77,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(78,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x4e\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x4e\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(81,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x52\x00\x4e\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x4e\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(84,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\
\\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x00\x00\x00\x00\x00\x00\
\\x00\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\
\\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x00\x00\x00\x00\x54\
\\x00\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\
\\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x00\x00\x00\x00\x00\
\\x00"
),
(85,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(87,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(89,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(91,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(92,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(93,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x5d\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x5d\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(96,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(101,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(103,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x68\x00\x45\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x45\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(105,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(108,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x6d\x00\x6d\x6d\x6d\x6d\x00\x00\x00\x6d\x6d\x00\x6d\x00\x6d\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x6d\x6d\x6d\
\\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00"
),
(110,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\
\\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x00\x00\x00\x00\x00\x00\
\\x00\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\
\\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x00\x00\x00\x00\x6f\
\\x00\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\
\\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x00\x00\x00\x00\x00\
\\x00"
),
(112,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x6d\x00\x6d\x6d\x6d\x6d\x00\x00\x00\x71\x6d\x00\x6d\x00\x6d\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x6d\x6d\x6d\
\\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00"
),
(113,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x6d\x00\x71\x6d\x6d\x6d\x00\x00\x00\x71\x6d\x00\x71\x00\x6d\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x71\x6d\x6d\
\\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00"
),
(114,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x6d\x00\x6d\x6d\x6d\x6d\x00\x00\x00\x6d\x6d\x00\x6d\x00\x73\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x6d\x6d\x6d\
\\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00"
),
(117,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x76\x00\x4e\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x4e\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(119,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(121,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x7a\x00\x7a\x7a\x7a\x7a\x00\x00\x00\x7a\x7a\x00\x7a\x00\x7a\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x7a\x7a\x7a\
\\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00"
),
(123,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\
\\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x00\x00\x00\x00\x00\x00\
\\x00\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\
\\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x00\x00\x00\x00\x7c\
\\x00\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\
\\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x00\x00\x00\x00\x00\
\\x00"
),
(125,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x7a\x00\x7a\x7a\x7a\x7a\x00\x00\x00\x7e\x7a\x00\x7a\x00\x7a\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x7a\x7a\x7a\
\\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00"
),
(126,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x7a\x00\x7e\x7a\x7a\x7a\x00\x00\x00\x7e\x7a\x00\x7e\x00\x7a\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x7e\x7a\x7a\
\\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00"
),
(127,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x7a\x00\x7a\x7a\x7a\x7a\x00\x00\x00\x7a\x7a\x00\x7a\x00\x80\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x7a\x7a\x7a\
\\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00"
),
(129,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(132,
"\x85\x85\x85\x85\x85\x85\x85\x85\x85\x9b\x9e\x85\x9b\x9d\x85\x85\
\\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\
\\x9b\x85\x9a\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\
\\x97\x97\x97\x97\x97\x97\x97\x97\x85\x85\x85\x85\x85\x85\x85\x85\
\\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\
\\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x96\x85\x8d\x85\
\\x85\x8c\x8b\x85\x85\x85\x8a\x85\x85\x85\x85\x85\x85\x85\x89\x85\
\\x85\x85\x88\x85\x87\x85\x86\x85\x85\x85\x85\x85\x85\x85\x85\x85\
\\x85"
),
(141,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x95\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\
\\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\x93\x92\x91\x90\x8f\
\\x00\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\
\\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x00\x00\x00\x00\x00\
\\x00"
),
(151,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x98\x98\x98\x98\x98\x98\x98\x98\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(152,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x99\x99\x99\x99\x99\x99\x99\x99\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(155,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x9c\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(157,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(160,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\xa1\x00\x4e\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x4e\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(164,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x00\x00\xa5\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\xa5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(166,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\xa7\x00\x4e\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x4e\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(0, "")];
fun f x = x;
s = map f (reverse (tail (reverse s)));
exception LEX_HACKING_ERROR;
fun get ((j, x) ! r, i: Int)
=>
if (i == j) x; else get (r, i); fi;
get ([], i)
=>
raise exception LEX_HACKING_ERROR;
end;
fun g { fin => x, trans => i }
=
{ fin => x, trans => get (s, i) };
vector::from_list (map g
[{ fin => [], trans => 0},
{ fin => [], trans => 1},
{ fin => [], trans => 1},
{ fin => [], trans => 3},
{ fin => [], trans => 3},
{ fin => [], trans => 5},
{ fin => [], trans => 5},
{ fin => [], trans => 7},
{ fin => [], trans => 7},
{ fin => [], trans => 9},
{ fin => [], trans => 9},
{ fin => [], trans => 11},
{ fin => [], trans => 11},
{ fin => [], trans => 13},
{ fin => [], trans => 13},
{ fin => [], trans => 15},
{ fin => [], trans => 15},
{ fin => [], trans => 17},
{ fin => [], trans => 17},
{ fin => [], trans => 19},
{ fin => [], trans => 19},
{ fin => [], trans => 21},
{ fin => [], trans => 21},
{ fin => [(NN 325)], trans => 0},
{ fin => [(NN 323), (NN 325)], trans => 24},
{ fin => [(NN 323)], trans => 24},
{ fin => [(NN 176), (NN 325)], trans => 0},
{ fin => [(NN 323), (NN 325)], trans => 27},
{ fin => [(NN 21), (NN 323)], trans => 28},
{ fin => [(NN 323), (NN 325)], trans => 29},
{ fin => [(NN 66), (NN 323)], trans => 24},
{ fin => [(NN 174), (NN 325)], trans => 0},
{ fin => [(NN 172), (NN 325)], trans => 0},
{ fin => [(NN 323), (NN 325)], trans => 33},
{ fin => [(NN 17), (NN 323)], trans => 24},
{ fin => [(NN 14), (NN 323)], trans => 24},
{ fin => [(NN 8)], trans => 0},
{ fin => [(NN 5)], trans => 37},
{ fin => [(NN 5)], trans => 0},
{ fin => [(NN 11)], trans => 0},
{ fin => [(NN 68), (NN 325)], trans => 0},
{ fin => [(NN 312), (NN 325)], trans => 41},
{ fin => [(NN 312)], trans => 41},
{ fin => [(NN 302), (NN 325)], trans => 43},
{ fin => [], trans => 44},
{ fin => [], trans => 45},
{ fin => [], trans => 46},
{ fin => [], trans => 47},
{ fin => [], trans => 48},
{ fin => [(NN 342)], trans => 49},
{ fin => [(NN 342)], trans => 50},
{ fin => [], trans => 51},
{ fin => [(NN 242)], trans => 0},
{ fin => [], trans => 53},
{ fin => [], trans => 54},
{ fin => [], trans => 55},
{ fin => [], trans => 56},
{ fin => [], trans => 57},
{ fin => [(NN 297)], trans => 58},
{ fin => [(NN 297)], trans => 59},
{ fin => [], trans => 60},
{ fin => [], trans => 61},
{ fin => [], trans => 62},
{ fin => [(NN 279)], trans => 0},
{ fin => [], trans => 64},
{ fin => [], trans => 65},
{ fin => [(NN 266)], trans => 0},
{ fin => [], trans => 67},
{ fin => [(NN 254)], trans => 0},
{ fin => [], trans => 69},
{ fin => [(NN 302)], trans => 69},
{ fin => [(NN 63)], trans => 0},
{ fin => [(NN 63)], trans => 72},
{ fin => [(NN 44)], trans => 73},
{ fin => [(NN 63)], trans => 74},
{ fin => [(NN 47)], trans => 0},
{ fin => [(NN 61), (NN 63)], trans => 76},
{ fin => [], trans => 77},
{ fin => [], trans => 78},
{ fin => [(NN 61)], trans => 78},
{ fin => [(NN 28)], trans => 0},
{ fin => [(NN 26), (NN 28)], trans => 81},
{ fin => [(NN 26)], trans => 78},
{ fin => [(NN 200)], trans => 0},
{ fin => [(NN 206)], trans => 84},
{ fin => [(NN 198)], trans => 85},
{ fin => [(NN 196)], trans => 0},
{ fin => [], trans => 87},
{ fin => [(NN 188)], trans => 0},
{ fin => [(NN 193)], trans => 89},
{ fin => [(NN 191)], trans => 0},
{ fin => [(NN 203)], trans => 91},
{ fin => [(NN 208)], trans => 92},
{ fin => [(NN 32)], trans => 93},
{ fin => [(NN 180)], trans => 0},
{ fin => [(NN 178)], trans => 0},
{ fin => [(NN 182)], trans => 96},
{ fin => [(NN 66)], trans => 0},
{ fin => [(NN 174)], trans => 0},
{ fin => [(NN 172)], trans => 0},
{ fin => [(NN 210)], trans => 0},
{ fin => [], trans => 101},
{ fin => [(NN 185)], trans => 0},
{ fin => [(NN 307)], trans => 103},
{ fin => [(NN 307)], trans => 69},
{ fin => [(NN 63)], trans => 105},
{ fin => [(NN 50)], trans => 0},
{ fin => [(NN 314)], trans => 0},
{ fin => [(NN 232), (NN 314)], trans => 108},
{ fin => [(NN 232)], trans => 108},
{ fin => [(NN 232), (NN 314)], trans => 110},
{ fin => [(NN 232)], trans => 110},
{ fin => [(NN 232), (NN 314)], trans => 112},
{ fin => [(NN 36), (NN 232)], trans => 113},
{ fin => [(NN 232), (NN 314)], trans => 114},
{ fin => [(NN 66), (NN 232)], trans => 108},
{ fin => [(NN 312), (NN 314)], trans => 41},
{ fin => [(NN 302), (NN 314)], trans => 117},
{ fin => [(NN 302)], trans => 78},
{ fin => [(NN 63)], trans => 119},
{ fin => [(NN 53)], trans => 0},
{ fin => [(NN 221), (NN 314)], trans => 121},
{ fin => [(NN 221)], trans => 121},
{ fin => [(NN 221), (NN 314)], trans => 123},
{ fin => [(NN 221)], trans => 123},
{ fin => [(NN 221), (NN 314)], trans => 125},
{ fin => [(NN 40), (NN 221)], trans => 126},
{ fin => [(NN 221), (NN 314)], trans => 127},
{ fin => [(NN 66), (NN 221)], trans => 121},
{ fin => [(NN 63)], trans => 129},
{ fin => [(NN 56)], trans => 0},
{ fin => [(NN 156)], trans => 0},
{ fin => [(NN 156)], trans => 132},
{ fin => [(NN 147)], trans => 0},
{ fin => [(NN 89), (NN 147)], trans => 0},
{ fin => [(NN 86), (NN 147)], trans => 0},
{ fin => [(NN 83), (NN 147)], trans => 0},
{ fin => [(NN 80), (NN 147)], trans => 0},
{ fin => [(NN 77), (NN 147)], trans => 0},
{ fin => [(NN 74), (NN 147)], trans => 0},
{ fin => [(NN 71), (NN 147)], trans => 0},
{ fin => [(NN 147)], trans => 141},
{ fin => [(NN 97)], trans => 0},
{ fin => [(NN 121)], trans => 0},
{ fin => [(NN 117)], trans => 0},
{ fin => [(NN 113)], trans => 0},
{ fin => [(NN 109)], trans => 0},
{ fin => [(NN 105)], trans => 0},
{ fin => [(NN 101)], trans => 0},
{ fin => [(NN 93)], trans => 0},
{ fin => [(NN 132), (NN 147)], trans => 0},
{ fin => [(NN 147)], trans => 151},
{ fin => [], trans => 152},
{ fin => [(NN 126)], trans => 0},
{ fin => [(NN 129), (NN 147)], trans => 0},
{ fin => [(NN 144), (NN 147)], trans => 155},
{ fin => [(NN 144)], trans => 155},
{ fin => [(NN 138), (NN 147)], trans => 157},
{ fin => [(NN 138)], trans => 0},
{ fin => [(NN 149), (NN 156)], trans => 0},
{ fin => [(NN 154), (NN 156)], trans => 160},
{ fin => [(NN 154)], trans => 78},
{ fin => [(NN 170)], trans => 0},
{ fin => [(NN 168), (NN 170)], trans => 0},
{ fin => [(NN 166), (NN 170)], trans => 164},
{ fin => [(NN 166)], trans => 164},
{ fin => [(NN 161), (NN 170)], trans => 166},
{ fin => [(NN 161)], trans => 78}]);
};
package start_states {
Yystartstate = STARTSTATE Int;
# start state definitions
my comment = STARTSTATE 3;
my initial = STARTSTATE 1;
my linecomment = STARTSTATE 5;
my mc = STARTSTATE 17;
my mmm = STARTSTATE 15;
my pc = STARTSTATE 9;
my pm = STARTSTATE 11;
my pmc = STARTSTATE 13;
my ppp = STARTSTATE 7;
my qquote = STARTSTATE 19;
my ss = STARTSTATE 21;
};
Result = user_declarations::Lex_Result;
exception LEXER_ERROR; # Raised if illegal leaf action tried */
};
fun make_lexer yyinput =
{ my yygone0=1;
yyb = REF "\n"; # Buffer
yybl = REF 1; # Buffer length
yybufpos = REF 1; # location of next character to use
yygone = REF yygone0; # position in file of beginning of buffer
yydone = REF FALSE; # eof found yet?
yybegin_i = REF 1; # Current 'start state' for lexer
yybegin = \\ (internal::start_states::STARTSTATE x) =
yybegin_i := x;
fun lex (yyarg as ({ enter_comment,
leave_comment,
enter_qquote,
append_char_to_qquote,
append_control_char_to_qquote,
append_escaped_char_to_qquote,
leave_qquote,
handle_eof_by_complaining_about_unclosed_comments_and_strings,
newline,
complain_about_obsolete_syntax,
report_error,
handle_line_directive,
in_section2
})) =
{ fun continue () : internal::Result =
{ fun scan (s, accepting_leaves: List( List( internal::Yyfinstate ) ), l, i0) =
{ fun action (i, NIL) => raise exception LEX_ERROR;
action (i, NIL ! l) => action (i - 1, l);
action (i, (node ! acts) ! l) =>
case node
internal::NN yyk =>
( { fun yymktext () = substring(*yyb, i0, i-i0);
yypos = i0 + *yygone;
include package user_declarations;
include package internal::start_states;
{ yybufpos := i;
case yyk
# Application actions
101 => { yytext=yymktext();
append_control_char_to_qquote (yytext, 'A'); continue (); };
105 => { append_char_to_qquote (char::from_int 27); continue (); };
109 => { append_char_to_qquote (char::from_int 28); continue (); };
11 => { yybegin linecomment; continue(); };
113 => { append_char_to_qquote (char::from_int 29); continue (); };
117 => { append_char_to_qquote (char::from_int 30); continue (); };
121 => { append_char_to_qquote (char::from_int 31); continue (); };
126 => { yytext=yymktext();
append_escaped_char_to_qquote (yytext, yypos); continue (); };
129 => { append_char_to_qquote (char::from_int 34); continue (); };
132 => { append_char_to_qquote '\\'; continue (); };
138 => { yybegin ss; newline (yypos + 1); continue (); };
14 => { yybegin linecomment; continue(); };
144 => { yybegin ss; continue (); };
147 => { yytext=yymktext();
report_error (yypos, yypos+2) ("illegal escape character in string " + yytext);
continue (); };
149 => { yybegin initial; leave_qquote (yypos, tokens::file_native); };
154 => { yytext=yymktext();
newline yypos;
report_error (yypos, yypos + size yytext) "illegal linebreak in string";
continue (); };
156 => { yytext=yymktext();
append_char_to_qquote (string::get_byte_as_char (yytext, 0)); continue (); };
161 => { newline yypos; continue (); };
166 => { continue (); };
168 => { yybegin qquote; continue (); };
17 => { yybegin linecomment; continue(); };
170 => { yytext=yymktext();
report_error (yypos, yypos+1) ("illegal character in stringskip " + yytext);
continue (); };
172 => { tokens::lparen (yypos, yypos + 1); };
174 => { tokens::rparen (yypos, yypos + 1); };
176 => { tokens::colon (yypos, yypos + 1); };
178 => { tokens::addsym (lga::PLUS, yypos, yypos + 1); };
180 => { tokens::addsym (lga::MINUS, yypos, yypos + 1); };
182 => { tokens::mulsym (lga::TIMES, yypos, yypos + 1); };
185 => { tokens::eqsym (lga::NE, yypos, yypos + 2); };
188 => { tokens::eqsym (lga::EQ, yypos, yypos + 2); };
191 => { tokens::ineqsym (lga::LE, yypos, yypos + 2); };
193 => { tokens::ineqsym (lga::LT, yypos, yypos + 1); };
196 => { tokens::ineqsym (lga::GE, yypos, yypos + 2); };
198 => { tokens::ineqsym (lga::GT, yypos, yypos + 1); };
200 => { tokens::tilde (yypos, yypos + 1); };
203 => { yytext=yymktext();
tokens::number
(the (int::from_string yytext)
except _ =
{ report_error (yypos, yypos + size yytext) "number too large";
0;
},
yypos, yypos + size yytext); };
206 => { yytext=yymktext();
id_token (yytext, yypos, pp_ids, tokens::makelib_id,
\\ () = yybegin pm, in_section2); };
208 => { tokens::mulsym (lga::DIV, yypos, yypos + 1); };
21 => { enter_comment (); yybegin comment; continue (); };
210 => { tokens::mulsym (lga::MOD, yypos, yypos + 1); };
221 => { yytext=yymktext();
yybegin initial; tokens::ml_id (yytext, yypos, yypos + size yytext); };
232 => { yytext=yymktext();
yybegin ppp; tokens::ml_id (yytext, yypos, yypos + size yytext); };
242 => { yytext=yymktext();
yybegin ppp;
newline yypos;
tokens::if_t (yypos, yypos + size yytext); };
254 => { yytext=yymktext();
yybegin ppp;
newline yypos;
tokens::elif_t (yypos, yypos + size yytext); };
26 => { newline yypos; yybegin initial; continue(); };
266 => { yytext=yymktext();
yybegin ppp;
newline yypos;
tokens::else_t (yypos, yypos + size yytext); };
279 => { yytext=yymktext();
yybegin ppp;
newline yypos;
tokens::endif (yypos,
yypos + size yytext); };
28 => { continue(); };
297 => { yytext=yymktext();
newline yypos;
error_tok (yytext, yypos); };
302 => { newline yypos; continue (); };
307 => { yybegin initial; newline yypos; continue (); };
312 => { continue (); };
314 => { yytext=yymktext();
report_error (yypos, yypos+1) ("illegal character at start of ML symbol: " + yytext);
continue (); };
32 => { enter_comment (); yybegin pc; continue (); };
323 => { yytext=yymktext();
id_token
( yytext, yypos,
#
if *in_section2 []; # We have seen LIBRARY_COMPONENTS/SUBLIBRARY_COMPONENTS so stop recognizing "LIBRARY_EXPORTS", "LIBRARY_COMPONENTS", "*", "-" ... as special tokens.
else makelib_ids; # Not yet seen LIBRARY_COMPONENTS/SUBLIBRARY_COMPONENTS so still recognizing "LIBRARY_EXPORTS", "LIBRARY_COMPONENTS", "*", "-" ... as special tokens.
fi,
#
tokens::file_standard,
\\ () = yybegin mmm,
in_section2
)
; };
325 => { yytext=yymktext();
report_error (yypos, yypos+1) ("illegal character: " + yytext);
continue (); };
342 => { yytext=yymktext();
newline yypos;
handle_line_directive (yypos, yytext);
continue (); };
36 => { enter_comment (); yybegin pmc; continue (); };
40 => { enter_comment (); yybegin mc; continue (); };
44 => { enter_comment (); continue (); };
47 => { if (leave_comment () ) yybegin initial; fi;
continue (); };
5 => { newline yypos; continue(); };
50 => { if (leave_comment () ) yybegin ppp; fi;
continue (); };
53 => { if (leave_comment () ) yybegin pm; fi;
continue (); };
56 => { if (leave_comment () ) yybegin mmm; fi;
continue (); };
61 => { newline yypos; continue (); };
63 => { continue (); };
66 => { report_error (yypos, yypos+2) "unmatched comment delimiter";
continue (); };
68 => { yybegin qquote; enter_qquote yypos; continue (); };
71 => { append_char_to_qquote '\a'; continue (); };
74 => { append_char_to_qquote '\b'; continue (); };
77 => { append_char_to_qquote '\f'; continue (); };
8 => { yybegin linecomment; continue(); };
80 => { append_char_to_qquote '\n'; continue (); };
83 => { append_char_to_qquote '\r'; continue (); };
86 => { append_char_to_qquote '\t'; continue (); };
89 => { append_char_to_qquote '\v'; continue (); };
93 => { append_char_to_qquote (char::from_int 0); continue (); };
97 => { yytext=yymktext();
append_control_char_to_qquote (yytext, 'a'); continue (); };
_ => raise exception internal::LEXER_ERROR;
esac; }; } ); esac; end; # fun action
my { fin, trans } = unsafe::vector::get (internal::tab, s);
new_accepting_leaves = fin ! accepting_leaves;
if (l == *yybl)
if (trans == .trans (vector::get (internal::tab, 0)))
action (l, new_accepting_leaves);
else newchars= if *yydone ""; else yyinput 1024; fi;
if ((size newchars) == 0)
yydone := TRUE;
if (l == i0) user_declarations::eof yyarg;
else action (l, new_accepting_leaves); fi;
else if (l == i0) yyb := newchars;
else yyb := substring(*yyb, i0, l-i0) + newchars; fi;
yygone := *yygone+i0;
yybl := size *yyb;
scan (s, accepting_leaves, l-i0, 0);
fi; # (size newchars) == 0
fi; # trans == $trans ...
else new_char = char::to_int (unsafe::vector_of_chars::get(*yyb, l));
new_char = if (new_char < 128) new_char; else 128; fi;
new_state = char::to_int (unsafe::vector_of_chars::get (trans, new_char));
if (new_state == 0) action (l, new_accepting_leaves);
else scan (new_state, new_accepting_leaves, l+1, i0); fi;
fi;
}; # fun scan
/*
start= if (substring(*yyb,*yybufpos - 1, 1)=="\n") *yybegin_i+1; else *yybegin_i; fi;
*/
scan(*yybegin_i /* start */ , NIL, *yybufpos, *yybufpos); # fun continue
}; # fun continue
continue; }; # fun lex
lex;
}; # fun make_lexer
};