'unit'        Name
'$_'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Unit'        Name
';'           Punctuation
'\n'          Text.Whitespace

'true'        Name
'$_'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'True'        Name
';'           Punctuation
'\n'          Text.Whitespace

'// EMPTY False;' Comment.Singleline
'\n'          Text.Whitespace

'bool_false'  Name
'$0'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Bool'        Name
';'           Punctuation
'\n'          Text.Whitespace

'bool_true'   Name
'$1'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Bool'        Name
';'           Punctuation
'\n'          Text.Whitespace

'bool_false'  Name
'$0'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BoolFalse'   Name
';'           Punctuation
'\n'          Text.Whitespace

'bool_true'   Name
'$1'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BoolTrue'    Name
';'           Punctuation
'\n'          Text.Whitespace

'nothing'     Name
'$0'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Maybe'       Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n'          Text.Whitespace

'just'        Name
'$1'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'value'       Name
':'           Punctuation
'X'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Maybe'       Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n'          Text.Whitespace

'left'        Name
'$0'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'Y'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'value'       Name
':'           Punctuation
'X'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Either'      Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
';'           Punctuation
'\n'          Text.Whitespace

'right'       Name
'$1'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'Y'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'value'       Name
':'           Punctuation
'Y'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Either'      Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
';'           Punctuation
'\n'          Text.Whitespace

'pair'        Name
'$_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'Y'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'first'       Name
':'           Punctuation
'X'           Name
' '           Text.Whitespace
'second'      Name
':'           Punctuation
'Y'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Both'        Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'bit'         Name
'$_'          Name.Tag
' '           Text.Whitespace
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Bit'         Name
';'           Punctuation
'\n'          Text.Whitespace

'/*'          Comment.Multiline
'\n '         Comment.Multiline
'*'           Comment.Multiline
'\n '         Comment.Multiline
'*'           Comment.Multiline
'   FROM hashmap.tlb\n ' Comment.Multiline
'*'           Comment.Multiline
'\n '         Comment.Multiline
'*/'          Comment.Multiline
'\n'          Text.Whitespace

'// ordinary Hashmap / HashmapE, with fixed length keys' Comment.Singleline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'hm_edge'     Name
'#_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'l'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'm'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'label'       Name
':'           Punctuation
'('           Punctuation
'HmLabel'     Name
' '           Text.Whitespace
'~'           Operator
'l'           Name
' '           Text.Whitespace
'n'           Name
')'           Punctuation
' \n          ' Text.Whitespace
'{'           Punctuation
'n'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'~'           Operator
'm'           Name
')'           Punctuation
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'l'           Name
'}'           Punctuation
' '           Text.Whitespace
'node'        Name
':'           Punctuation
'('           Punctuation
'HashmapNode' Name
' '           Text.Whitespace
'm'           Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Hashmap'     Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'hmn_leaf'    Name
'#_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'value'       Name
':'           Punctuation
'X'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'HashmapNode' Name
' '           Text.Whitespace
'0'           Literal.Number
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n'          Text.Whitespace

'hmn_fork'    Name
'#_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'left'        Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'Hashmap'     Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' \n           ' Text.Whitespace
'right'       Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'Hashmap'     Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'HashmapNode' Name
' '           Text.Whitespace
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'hml_short'   Name
'$0'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'm'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'len'         Name
':'           Punctuation
'('           Punctuation
'Unary'       Name
' '           Text.Whitespace
'~'           Operator
'n'           Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'm'           Name
'}'           Punctuation
' '           Text.Whitespace
's'           Name
':'           Punctuation
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'Bit'         Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'HmLabel'     Name
' '           Text.Whitespace
'~'           Operator
'n'           Name
' '           Text.Whitespace
'm'           Name
';'           Punctuation
'\n'          Text.Whitespace

'hml_long'    Name
'$10'         Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'm'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'n'           Name
':'           Punctuation
'('           Punctuation
'#<='         Name.Tag
' '           Text.Whitespace
'm'           Name
')'           Punctuation
' '           Text.Whitespace
's'           Name
':'           Punctuation
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'Bit'         Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'HmLabel'     Name
' '           Text.Whitespace
'~'           Operator
'n'           Name
' '           Text.Whitespace
'm'           Name
';'           Punctuation
'\n'          Text.Whitespace

'hml_same'    Name
'$11'         Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'm'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'v'           Name
':'           Punctuation
'Bit'         Name
' '           Text.Whitespace
'n'           Name
':'           Punctuation
'('           Punctuation
'#<='         Name.Tag
' '           Text.Whitespace
'm'           Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'HmLabel'     Name
' '           Text.Whitespace
'~'           Operator
'n'           Name
' '           Text.Whitespace
'm'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'unary_zero'  Name
'$0'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Unary'       Name
' '           Text.Whitespace
'~'           Operator
'0'           Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'unary_succ'  Name
'$1'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'x'           Name
':'           Punctuation
'('           Punctuation
'Unary'       Name
' '           Text.Whitespace
'~'           Operator
'n'           Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Unary'       Name
' '           Text.Whitespace
'~'           Operator
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
';'           Punctuation
'\n\n'        Text.Whitespace

'hme_empty'   Name
'$0'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'HashmapE'    Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n'          Text.Whitespace

'hme_root'    Name
'$1'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'root'        Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'Hashmap'     Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'HashmapE'    Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'// true#_ = True;' Comment.Singleline
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'_'           Name
':'           Punctuation
'('           Punctuation
'Hashmap'     Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'True'        Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BitstringSet' Name
' '           Text.Whitespace
'n'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'//  HashmapAug, hashmap with an extra value ' Comment.Singleline
'\n'          Text.Whitespace

'//   (augmentation) of type Y at every node' Comment.Singleline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'ahm_edge'    Name
'#_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'Y'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'l'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'm'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' \n  '       Text.Whitespace
'label'       Name
':'           Punctuation
'('           Punctuation
'HmLabel'     Name
' '           Text.Whitespace
'~'           Operator
'l'           Name
' '           Text.Whitespace
'n'           Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'~'           Operator
'm'           Name
')'           Punctuation
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'l'           Name
'}'           Punctuation
' \n  '       Text.Whitespace
'node'        Name
':'           Punctuation
'('           Punctuation
'HashmapAugNode' Name
' '           Text.Whitespace
'm'           Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'HashmapAug'  Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
';'           Punctuation
'\n'          Text.Whitespace

'ahmn_leaf'   Name
'#_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'Y'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'extra'       Name
':'           Punctuation
'Y'           Name
' '           Text.Whitespace
'value'       Name
':'           Punctuation
'X'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'HashmapAugNode' Name
' '           Text.Whitespace
'0'           Literal.Number
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
';'           Punctuation
'\n'          Text.Whitespace

'ahmn_fork'   Name
'#_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'Y'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'left'        Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'HashmapAug'  Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
')'           Punctuation
'\n  '        Text.Whitespace
'right'       Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'HashmapAug'  Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
')'           Punctuation
' '           Text.Whitespace
'extra'       Name
':'           Punctuation
'Y'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'HashmapAugNode' Name
' '           Text.Whitespace
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'ahme_empty'  Name
'$0'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'Y'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'extra'       Name
':'           Punctuation
'Y'           Name
' \n          ' Text.Whitespace
'='           Operator
' '           Text.Whitespace
'HashmapAugE' Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
';'           Punctuation
'\n'          Text.Whitespace

'ahme_root'   Name
'$1'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'Y'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'root'        Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'HashmapAug'  Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
')'           Punctuation
' \n  '       Text.Whitespace
'extra'       Name
':'           Punctuation
'Y'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'HashmapAugE' Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'// VarHashmap / VarHashmapE, with variable-length keys' Comment.Singleline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'vhm_edge'    Name
'#_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'l'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'm'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'label'       Name
':'           Punctuation
'('           Punctuation
'HmLabel'     Name
' '           Text.Whitespace
'~'           Operator
'l'           Name
' '           Text.Whitespace
'n'           Name
')'           Punctuation
' \n           ' Text.Whitespace
'{'           Punctuation
'n'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'~'           Operator
'm'           Name
')'           Punctuation
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'l'           Name
'}'           Punctuation
' '           Text.Whitespace
'node'        Name
':'           Punctuation
'('           Punctuation
'VarHashmapNode' Name
' '           Text.Whitespace
'm'           Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' \n           ' Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VarHashmap'  Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n'          Text.Whitespace

'vhmn_leaf'   Name
'$00'         Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'value'       Name
':'           Punctuation
'X'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VarHashmapNode' Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n'          Text.Whitespace

'vhmn_fork'   Name
'$01'         Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'left'        Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'VarHashmap'  Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' \n             ' Text.Whitespace
'right'       Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'VarHashmap'  Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' '           Text.Whitespace
'value'       Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' \n             ' Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VarHashmapNode' Name
' '           Text.Whitespace
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n'          Text.Whitespace

'vhmn_cont'   Name
'$1'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'branch'      Name
':'           Punctuation
'Bit'         Name
' '           Text.Whitespace
'child'       Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'VarHashmap'  Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' \n            ' Text.Whitespace
'value'       Name
':'           Punctuation
'X'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VarHashmapNode' Name
' '           Text.Whitespace
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'// nothing$0 {X:Type} = Maybe X;' Comment.Singleline
'\n'          Text.Whitespace

'// just$1 {X:Type} value:X = Maybe X;' Comment.Singleline
'\n\n'        Text.Whitespace

'vhme_empty'  Name
'$0'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VarHashmapE' Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n'          Text.Whitespace

'vhme_root'   Name
'$1'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'root'        Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'VarHashmap'  Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' \n            ' Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VarHashmapE' Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'// PfxHashmap / PfxHashmapE, with variable-length keys' Comment.Singleline
'\n'          Text.Whitespace

'//                           constituting a prefix code' Comment.Singleline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n\n'        Text.Whitespace

'phm_edge'    Name
'#_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'l'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'm'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'label'       Name
':'           Punctuation
'('           Punctuation
'HmLabel'     Name
' '           Text.Whitespace
'~'           Operator
'l'           Name
' '           Text.Whitespace
'n'           Name
')'           Punctuation
' \n           ' Text.Whitespace
'{'           Punctuation
'n'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'~'           Operator
'm'           Name
')'           Punctuation
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'l'           Name
'}'           Punctuation
' '           Text.Whitespace
'node'        Name
':'           Punctuation
'('           Punctuation
'PfxHashmapNode' Name
' '           Text.Whitespace
'm'           Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' \n           ' Text.Whitespace
'='           Operator
' '           Text.Whitespace
'PfxHashmap'  Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'phmn_leaf'   Name
'$0'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'value'       Name
':'           Punctuation
'X'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'PfxHashmapNode' Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n'          Text.Whitespace

'phmn_fork'   Name
'$1'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'left'        Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'PfxHashmap'  Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' \n            ' Text.Whitespace
'right'       Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'PfxHashmap'  Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'PfxHashmapNode' Name
' '           Text.Whitespace
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'phme_empty'  Name
'$0'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'PfxHashmapE' Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n'          Text.Whitespace

'phme_root'   Name
'$1'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'root'        Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'PfxHashmap'  Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' \n            ' Text.Whitespace
'='           Operator
' '           Text.Whitespace
'PfxHashmapE' Name
' '           Text.Whitespace
'n'           Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n'          Text.Whitespace

'/*'          Comment.Multiline
'\n '         Comment.Multiline
'*'           Comment.Multiline
'\n '         Comment.Multiline
'*'           Comment.Multiline
'  END hashmap.tlb\n ' Comment.Multiline
'*'           Comment.Multiline
'\n '         Comment.Multiline
'*/'          Comment.Multiline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'// TON BLOCK LAYOUT' Comment.Singleline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'addr_none'   Name
'$00'         Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'MsgAddressExt' Name
';'           Punctuation
'\n'          Text.Whitespace

'addr_extern' Name
'$01'         Name.Tag
' '           Text.Whitespace
'len'         Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'9'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'external_address' Name
':'           Punctuation
'('           Punctuation
'bits'        Name
' '           Text.Whitespace
'len'         Name
')'           Punctuation
' \n             ' Text.Whitespace
'='           Operator
' '           Text.Whitespace
'MsgAddressExt' Name
';'           Punctuation
'\n'          Text.Whitespace

'anycast_info' Name
'$_'          Name.Tag
' '           Text.Whitespace
'depth'       Name
':'           Punctuation
'('           Punctuation
'#<='         Name.Tag
' '           Text.Whitespace
'30'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'depth'       Name
' '           Text.Whitespace
'>='          Operator
' '           Text.Whitespace
'1'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n   '       Text.Whitespace
'rewrite_pfx' Name
':'           Punctuation
'('           Punctuation
'bits'        Name
' '           Text.Whitespace
'depth'       Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Anycast'     Name
';'           Punctuation
'\n'          Text.Whitespace

'addr_std'    Name
'$10'         Name.Tag
' '           Text.Whitespace
'anycast'     Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'Anycast'     Name
')'           Punctuation
' \n   '      Text.Whitespace
'workchain_id' Name
':'           Punctuation
'int8'        Name
' '           Text.Whitespace
'address'     Name
':'           Punctuation
'bits256'     Name
'  '          Text.Whitespace
'='           Operator
' '           Text.Whitespace
'MsgAddressInt' Name
';'           Punctuation
'\n'          Text.Whitespace

'addr_var'    Name
'$11'         Name.Tag
' '           Text.Whitespace
'anycast'     Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'Anycast'     Name
')'           Punctuation
' '           Text.Whitespace
'addr_len'    Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'9'           Literal.Number
')'           Punctuation
' \n   '      Text.Whitespace
'workchain_id' Name
':'           Punctuation
'int32'       Name
' '           Text.Whitespace
'address'     Name
':'           Punctuation
'('           Punctuation
'bits'        Name
' '           Text.Whitespace
'addr_len'    Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'MsgAddressInt' Name
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'_'           Name
':'           Punctuation
'MsgAddressInt' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'MsgAddress'  Name
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'_'           Name
':'           Punctuation
'MsgAddressExt' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'MsgAddress'  Name
';'           Punctuation
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'var_uint'    Name
'$_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'len'         Name
':'           Punctuation
'('           Punctuation
'#<'          Name.Tag
' '           Text.Whitespace
'n'           Name
')'           Punctuation
' '           Text.Whitespace
'value'       Name
':'           Punctuation
'('           Punctuation
'uint'        Name
' '           Text.Whitespace
'('           Punctuation
'len'         Name
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
')'           Punctuation
'\n         ' Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VarUInteger' Name
' '           Text.Whitespace
'n'           Name
';'           Punctuation
'\n'          Text.Whitespace

'var_int'     Name
'$_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'len'         Name
':'           Punctuation
'('           Punctuation
'#<'          Name.Tag
' '           Text.Whitespace
'n'           Name
')'           Punctuation
' '           Text.Whitespace
'value'       Name
':'           Punctuation
'('           Punctuation
'int'         Name
' '           Text.Whitespace
'('           Punctuation
'len'         Name
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
')'           Punctuation
' \n        ' Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VarInteger'  Name
' '           Text.Whitespace
'n'           Name
';'           Punctuation
'\n'          Text.Whitespace

'nanograms'   Name
'$_'          Name.Tag
' '           Text.Whitespace
'amount'      Name
':'           Punctuation
'('           Punctuation
'VarUInteger' Name
' '           Text.Whitespace
'16'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Grams'       Name
';'           Punctuation
'  \n'        Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'extra_currencies' Name
'$_'          Name.Tag
' '           Text.Whitespace
'dict'        Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'32'          Literal.Number
' '           Text.Whitespace
'('           Punctuation
'VarUInteger' Name
' '           Text.Whitespace
'32'          Literal.Number
')'           Punctuation
')'           Punctuation
' \n                 ' Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ExtraCurrencyCollection' Name
';'           Punctuation
'\n'          Text.Whitespace

'currencies'  Name
'$_'          Name.Tag
' '           Text.Whitespace
'grams'       Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'other'       Name
':'           Punctuation
'ExtraCurrencyCollection' Name
' \n           ' Text.Whitespace
'='           Operator
' '           Text.Whitespace
'CurrencyCollection' Name
';'           Punctuation
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'int_msg_info' Name
'$0'          Name.Tag
' '           Text.Whitespace
'ihr_disabled' Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'bounce'      Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'bounced'     Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'src'         Name
':'           Punctuation
'MsgAddressInt' Name
' '           Text.Whitespace
'dest'        Name
':'           Punctuation
'MsgAddressInt' Name
' \n  '       Text.Whitespace
'value'       Name
':'           Punctuation
'CurrencyCollection' Name
' '           Text.Whitespace
'ihr_fee'     Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'fwd_fee'     Name
':'           Punctuation
'Grams'       Name
'\n  '        Text.Whitespace
'created_lt'  Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'created_at'  Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'CommonMsgInfo' Name
';'           Punctuation
'\n'          Text.Whitespace

'ext_in_msg_info' Name
'$10'         Name.Tag
' '           Text.Whitespace
'src'         Name
':'           Punctuation
'MsgAddressExt' Name
' '           Text.Whitespace
'dest'        Name
':'           Punctuation
'MsgAddressInt' Name
' \n  '       Text.Whitespace
'import_fee'  Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'CommonMsgInfo' Name
';'           Punctuation
'\n'          Text.Whitespace

'ext_out_msg_info' Name
'$11'         Name.Tag
' '           Text.Whitespace
'src'         Name
':'           Punctuation
'MsgAddressInt' Name
' '           Text.Whitespace
'dest'        Name
':'           Punctuation
'MsgAddressExt' Name
'\n  '        Text.Whitespace
'created_lt'  Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'created_at'  Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'CommonMsgInfo' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'int_msg_info' Name
'$0'          Name.Tag
' '           Text.Whitespace
'ihr_disabled' Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'bounce'      Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'bounced'     Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'src'         Name
':'           Punctuation
'MsgAddress'  Name
' '           Text.Whitespace
'dest'        Name
':'           Punctuation
'MsgAddressInt' Name
' \n  '       Text.Whitespace
'value'       Name
':'           Punctuation
'CurrencyCollection' Name
' '           Text.Whitespace
'ihr_fee'     Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'fwd_fee'     Name
':'           Punctuation
'Grams'       Name
'\n  '        Text.Whitespace
'created_lt'  Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'created_at'  Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'CommonMsgInfoRelaxed' Name
';'           Punctuation
'\n'          Text.Whitespace

'ext_out_msg_info' Name
'$11'         Name.Tag
' '           Text.Whitespace
'src'         Name
':'           Punctuation
'MsgAddress'  Name
' '           Text.Whitespace
'dest'        Name
':'           Punctuation
'MsgAddressExt' Name
'\n  '        Text.Whitespace
'created_lt'  Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'created_at'  Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'CommonMsgInfoRelaxed' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'tick_tock'   Name
'$_'          Name.Tag
' '           Text.Whitespace
'tick'        Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'tock'        Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TickTock'    Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'split_depth' Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'5'           Literal.Number
')'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'special'     Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'TickTock'    Name
')'           Punctuation
'\n  '        Text.Whitespace
'code'        Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'Cell'        Name
')'           Punctuation
' '           Text.Whitespace
'data'        Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'Cell'        Name
')'           Punctuation
'\n  '        Text.Whitespace
'library'     Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'256'         Literal.Number
' '           Text.Whitespace
'SimpleLib'   Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'StateInit'   Name
';'           Punctuation
'\n  \n'      Text.Whitespace

'simple_lib'  Name
'$_'          Name.Tag
' '           Text.Whitespace
'public'      Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'root'        Name
':'           Punctuation
'^'           Operator
'Cell'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'SimpleLib'   Name
';'           Punctuation
'\n\n'        Text.Whitespace

'message'     Name
'$_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'info'        Name
':'           Punctuation
'CommonMsgInfo' Name
'\n  '        Text.Whitespace
'init'        Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'('           Punctuation
'Either'      Name
' '           Text.Whitespace
'StateInit'   Name
' '           Text.Whitespace
'^'           Operator
'StateInit'   Name
')'           Punctuation
')'           Punctuation
'\n  '        Text.Whitespace
'body'        Name
':'           Punctuation
'('           Punctuation
'Either'      Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'^'           Operator
'X'           Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Message'     Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'message'     Name
'$_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'info'        Name
':'           Punctuation
'CommonMsgInfoRelaxed' Name
'\n  '        Text.Whitespace
'init'        Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'('           Punctuation
'Either'      Name
' '           Text.Whitespace
'StateInit'   Name
' '           Text.Whitespace
'^'           Operator
'StateInit'   Name
')'           Punctuation
')'           Punctuation
'\n  '        Text.Whitespace
'body'        Name
':'           Punctuation
'('           Punctuation
'Either'      Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'^'           Operator
'X'           Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'MessageRelaxed' Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n  \n'      Text.Whitespace

'_'           Name
' '           Text.Whitespace
'('           Punctuation
'Message'     Name
' '           Text.Whitespace
'Any'         Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'MessageAny'  Name
';'           Punctuation
'\n\n'        Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'interm_addr_regular' Name
'$0'          Name.Tag
' '           Text.Whitespace
'use_dest_bits' Name
':'           Punctuation
'('           Punctuation
'#<='         Name.Tag
' '           Text.Whitespace
'96'          Literal.Number
')'           Punctuation
' \n  '       Text.Whitespace
'='           Operator
' '           Text.Whitespace
'IntermediateAddress' Name
';'           Punctuation
'\n'          Text.Whitespace

'interm_addr_simple' Name
'$10'         Name.Tag
' '           Text.Whitespace
'workchain_id' Name
':'           Punctuation
'int8'        Name
' '           Text.Whitespace
'addr_pfx'    Name
':'           Punctuation
'uint64'      Name
' \n  '       Text.Whitespace
'='           Operator
' '           Text.Whitespace
'IntermediateAddress' Name
';'           Punctuation
'\n'          Text.Whitespace

'interm_addr_ext' Name
'$11'         Name.Tag
' '           Text.Whitespace
'workchain_id' Name
':'           Punctuation
'int32'       Name
' '           Text.Whitespace
'addr_pfx'    Name
':'           Punctuation
'uint64'      Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'IntermediateAddress' Name
';'           Punctuation
'\n'          Text.Whitespace

'msg_envelope' Name
'#4'          Name.Tag
' '           Text.Whitespace
'cur_addr'    Name
':'           Punctuation
'IntermediateAddress' Name
' \n  '       Text.Whitespace
'next_addr'   Name
':'           Punctuation
'IntermediateAddress' Name
' '           Text.Whitespace
'fwd_fee_remaining' Name
':'           Punctuation
'Grams'       Name
' \n  '       Text.Whitespace
'msg'         Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'Message'     Name
' '           Text.Whitespace
'Any'         Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'MsgEnvelope' Name
';'           Punctuation
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'msg_import_ext' Name
'$000'        Name.Tag
' '           Text.Whitespace
'msg'         Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'Message'     Name
' '           Text.Whitespace
'Any'         Name
')'           Punctuation
' '           Text.Whitespace
'transaction' Name
':'           Punctuation
'^'           Operator
'Transaction' Name
' \n              ' Text.Whitespace
'='           Operator
' '           Text.Whitespace
'InMsg'       Name
';'           Punctuation
'\n'          Text.Whitespace

'msg_import_ihr' Name
'$010'        Name.Tag
' '           Text.Whitespace
'msg'         Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'Message'     Name
' '           Text.Whitespace
'Any'         Name
')'           Punctuation
' '           Text.Whitespace
'transaction' Name
':'           Punctuation
'^'           Operator
'Transaction' Name
' \n    '     Text.Whitespace
'ihr_fee'     Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'proof_created' Name
':'           Punctuation
'^'           Operator
'Cell'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'InMsg'       Name
';'           Punctuation
'\n'          Text.Whitespace

'msg_import_imm' Name
'$011'        Name.Tag
' '           Text.Whitespace
'in_msg'      Name
':'           Punctuation
'^'           Operator
'MsgEnvelope' Name
'\n    '      Text.Whitespace
'transaction' Name
':'           Punctuation
'^'           Operator
'Transaction' Name
' '           Text.Whitespace
'fwd_fee'     Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'InMsg'       Name
';'           Punctuation
'\n'          Text.Whitespace

'msg_import_fin' Name
'$100'        Name.Tag
' '           Text.Whitespace
'in_msg'      Name
':'           Punctuation
'^'           Operator
'MsgEnvelope' Name
' \n    '     Text.Whitespace
'transaction' Name
':'           Punctuation
'^'           Operator
'Transaction' Name
' '           Text.Whitespace
'fwd_fee'     Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'InMsg'       Name
';'           Punctuation
'\n'          Text.Whitespace

'msg_import_tr' Name
'$101'        Name.Tag
'  '          Text.Whitespace
'in_msg'      Name
':'           Punctuation
'^'           Operator
'MsgEnvelope' Name
' '           Text.Whitespace
'out_msg'     Name
':'           Punctuation
'^'           Operator
'MsgEnvelope' Name
' \n    '     Text.Whitespace
'transit_fee' Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'InMsg'       Name
';'           Punctuation
'\n'          Text.Whitespace

'msg_discard_fin' Name
'$110'        Name.Tag
' '           Text.Whitespace
'in_msg'      Name
':'           Punctuation
'^'           Operator
'MsgEnvelope' Name
' '           Text.Whitespace
'transaction_id' Name
':'           Punctuation
'uint64'      Name
' \n    '     Text.Whitespace
'fwd_fee'     Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'InMsg'       Name
';'           Punctuation
'\n'          Text.Whitespace

'msg_discard_tr' Name
'$111'        Name.Tag
' '           Text.Whitespace
'in_msg'      Name
':'           Punctuation
'^'           Operator
'MsgEnvelope' Name
' '           Text.Whitespace
'transaction_id' Name
':'           Punctuation
'uint64'      Name
' \n    '     Text.Whitespace
'fwd_fee'     Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'proof_delivered' Name
':'           Punctuation
'^'           Operator
'Cell'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'InMsg'       Name
';'           Punctuation
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'import_fees' Name
'$_'          Name.Tag
' '           Text.Whitespace
'fees_collected' Name
':'           Punctuation
'Grams'       Name
' \n  '       Text.Whitespace
'value_imported' Name
':'           Punctuation
'CurrencyCollection' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ImportFees'  Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'('           Punctuation
'HashmapAugE' Name
' '           Text.Whitespace
'256'         Literal.Number
' '           Text.Whitespace
'InMsg'       Name
' '           Text.Whitespace
'ImportFees'  Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'InMsgDescr'  Name
';'           Punctuation
'\n\n'        Text.Whitespace

'msg_export_ext' Name
'$000'        Name.Tag
' '           Text.Whitespace
'msg'         Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'Message'     Name
' '           Text.Whitespace
'Any'         Name
')'           Punctuation
'\n    '      Text.Whitespace
'transaction' Name
':'           Punctuation
'^'           Operator
'Transaction' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutMsg'      Name
';'           Punctuation
'\n'          Text.Whitespace

'msg_export_imm' Name
'$010'        Name.Tag
' '           Text.Whitespace
'out_msg'     Name
':'           Punctuation
'^'           Operator
'MsgEnvelope' Name
' \n    '     Text.Whitespace
'transaction' Name
':'           Punctuation
'^'           Operator
'Transaction' Name
' '           Text.Whitespace
'reimport'    Name
':'           Punctuation
'^'           Operator
'InMsg'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutMsg'      Name
';'           Punctuation
'\n'          Text.Whitespace

'msg_export_new' Name
'$001'        Name.Tag
' '           Text.Whitespace
'out_msg'     Name
':'           Punctuation
'^'           Operator
'MsgEnvelope' Name
' \n    '     Text.Whitespace
'transaction' Name
':'           Punctuation
'^'           Operator
'Transaction' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutMsg'      Name
';'           Punctuation
'\n'          Text.Whitespace

'msg_export_tr' Name
'$011'        Name.Tag
'  '          Text.Whitespace
'out_msg'     Name
':'           Punctuation
'^'           Operator
'MsgEnvelope' Name
' \n    '     Text.Whitespace
'imported'    Name
':'           Punctuation
'^'           Operator
'InMsg'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutMsg'      Name
';'           Punctuation
'\n'          Text.Whitespace

'msg_export_deq' Name
'$1100'       Name.Tag
' '           Text.Whitespace
'out_msg'     Name
':'           Punctuation
'^'           Operator
'MsgEnvelope' Name
'\n    '      Text.Whitespace
'import_block_lt' Name
':'           Punctuation
'uint63'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutMsg'      Name
';'           Punctuation
'\n'          Text.Whitespace

'msg_export_deq_short' Name
'$1101'       Name.Tag
' '           Text.Whitespace
'msg_env_hash' Name
':'           Punctuation
'bits256'     Name
'\n    '      Text.Whitespace
'next_workchain' Name
':'           Punctuation
'int32'       Name
' '           Text.Whitespace
'next_addr_pfx' Name
':'           Punctuation
'uint64'      Name
'\n    '      Text.Whitespace
'import_block_lt' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutMsg'      Name
';'           Punctuation
'\n'          Text.Whitespace

'msg_export_tr_req' Name
'$111'        Name.Tag
' '           Text.Whitespace
'out_msg'     Name
':'           Punctuation
'^'           Operator
'MsgEnvelope' Name
' \n    '     Text.Whitespace
'imported'    Name
':'           Punctuation
'^'           Operator
'InMsg'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutMsg'      Name
';'           Punctuation
'\n'          Text.Whitespace

'msg_export_deq_imm' Name
'$100'        Name.Tag
' '           Text.Whitespace
'out_msg'     Name
':'           Punctuation
'^'           Operator
'MsgEnvelope' Name
' \n    '     Text.Whitespace
'reimport'    Name
':'           Punctuation
'^'           Operator
'InMsg'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutMsg'      Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'enqueued_lt' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'out_msg'     Name
':'           Punctuation
'^'           Operator
'MsgEnvelope' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'EnqueuedMsg' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'('           Punctuation
'HashmapAugE' Name
' '           Text.Whitespace
'256'         Literal.Number
' '           Text.Whitespace
'OutMsg'      Name
' '           Text.Whitespace
'CurrencyCollection' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutMsgDescr' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'('           Punctuation
'HashmapAugE' Name
' '           Text.Whitespace
'352'         Literal.Number
' '           Text.Whitespace
'EnqueuedMsg' Name
' '           Text.Whitespace
'uint64'      Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutMsgQueue' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'processed_upto' Name
'$_'          Name.Tag
' '           Text.Whitespace
'last_msg_lt' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'last_msg_hash' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ProcessedUpto' Name
';'           Punctuation
'\n'          Text.Whitespace

'// key is [ shard:uint64 mc_seqno:uint32 ]  ' Comment.Singleline
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'96'          Literal.Number
' '           Text.Whitespace
'ProcessedUpto' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ProcessedInfo' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'ihr_pending' Name
'$_'          Name.Tag
' '           Text.Whitespace
'import_lt'   Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'IhrPendingSince' Name
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'320'         Literal.Number
' '           Text.Whitespace
'IhrPendingSince' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'IhrPendingInfo' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'out_queue'   Name
':'           Punctuation
'OutMsgQueue' Name
' '           Text.Whitespace
'proc_info'   Name
':'           Punctuation
'ProcessedInfo' Name
'\n  '        Text.Whitespace
'ihr_pending' Name
':'           Punctuation
'IhrPendingInfo' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutMsgQueueInfo' Name
';'           Punctuation
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'storage_used' Name
'$_'          Name.Tag
' '           Text.Whitespace
'cells'       Name
':'           Punctuation
'('           Punctuation
'VarUInteger' Name
' '           Text.Whitespace
'7'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'bits'        Name
':'           Punctuation
'('           Punctuation
'VarUInteger' Name
' '           Text.Whitespace
'7'           Literal.Number
')'           Punctuation
' \n  '       Text.Whitespace
'public_cells' Name
':'           Punctuation
'('           Punctuation
'VarUInteger' Name
' '           Text.Whitespace
'7'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'StorageUsed' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'storage_used_short' Name
'$_'          Name.Tag
' '           Text.Whitespace
'cells'       Name
':'           Punctuation
'('           Punctuation
'VarUInteger' Name
' '           Text.Whitespace
'7'           Literal.Number
')'           Punctuation
' \n  '       Text.Whitespace
'bits'        Name
':'           Punctuation
'('           Punctuation
'VarUInteger' Name
' '           Text.Whitespace
'7'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'StorageUsedShort' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'storage_info' Name
'$_'          Name.Tag
' '           Text.Whitespace
'used'        Name
':'           Punctuation
'StorageUsed' Name
' '           Text.Whitespace
'last_paid'   Name
':'           Punctuation
'uint32'      Name
'\n              ' Text.Whitespace
'due_payment' Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'Grams'       Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'StorageInfo' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'account_none' Name
'$0'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Account'     Name
';'           Punctuation
'\n'          Text.Whitespace

'account'     Name
'$1'          Name.Tag
' '           Text.Whitespace
'addr'        Name
':'           Punctuation
'MsgAddressInt' Name
' '           Text.Whitespace
'storage_stat' Name
':'           Punctuation
'StorageInfo' Name
'\n          ' Text.Whitespace
'storage'     Name
':'           Punctuation
'AccountStorage' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Account'     Name
';'           Punctuation
'\n\n'        Text.Whitespace

'account_storage' Name
'$_'          Name.Tag
' '           Text.Whitespace
'last_trans_lt' Name
':'           Punctuation
'uint64'      Name
'\n    '      Text.Whitespace
'balance'     Name
':'           Punctuation
'CurrencyCollection' Name
' '           Text.Whitespace
'state'       Name
':'           Punctuation
'AccountState' Name
' \n  '       Text.Whitespace
'='           Operator
' '           Text.Whitespace
'AccountStorage' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'account_uninit' Name
'$00'         Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'AccountState' Name
';'           Punctuation
'\n'          Text.Whitespace

'account_active' Name
'$1'          Name.Tag
' '           Text.Whitespace
'_'           Name
':'           Punctuation
'StateInit'   Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'AccountState' Name
';'           Punctuation
'\n'          Text.Whitespace

'account_frozen' Name
'$01'         Name.Tag
' '           Text.Whitespace
'state_hash'  Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'AccountState' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'acc_state_uninit' Name
'$00'         Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'AccountStatus' Name
';'           Punctuation
'\n'          Text.Whitespace

'acc_state_frozen' Name
'$01'         Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'AccountStatus' Name
';'           Punctuation
'\n'          Text.Whitespace

'acc_state_active' Name
'$10'         Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'AccountStatus' Name
';'           Punctuation
'\n'          Text.Whitespace

'acc_state_nonexist' Name
'$11'         Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'AccountStatus' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'/*'          Comment.Multiline
' duplicates\ntick_tock$_ tick:Bool tock:Bool = TickTock;\n\n_ split_depth:(Maybe (## 5)) special:(Maybe TickTock)\n  code:(Maybe ^Cell) data:(Maybe ^Cell)\n  library:(Maybe ^Cell) = StateInit;\n' Comment.Multiline

'*/'          Comment.Multiline
'\n\n'        Text.Whitespace

'account_descr' Name
'$_'          Name.Tag
' '           Text.Whitespace
'account'     Name
':'           Punctuation
'^'           Operator
'Account'     Name
' '           Text.Whitespace
'last_trans_hash' Name
':'           Punctuation
'bits256'     Name
' \n  '       Text.Whitespace
'last_trans_lt' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ShardAccount' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'depth_balance' Name
'$_'          Name.Tag
' '           Text.Whitespace
'split_depth' Name
':'           Punctuation
'('           Punctuation
'#<='         Name.Tag
' '           Text.Whitespace
'30'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'balance'     Name
':'           Punctuation
'CurrencyCollection' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'DepthBalanceInfo' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'('           Punctuation
'HashmapAugE' Name
' '           Text.Whitespace
'256'         Literal.Number
' '           Text.Whitespace
'ShardAccount' Name
' '           Text.Whitespace
'DepthBalanceInfo' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ShardAccounts' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'transaction' Name
'$0111'       Name.Tag
' '           Text.Whitespace
'account_addr' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'lt'          Name
':'           Punctuation
'uint64'      Name
' \n  '       Text.Whitespace
'prev_trans_hash' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'prev_trans_lt' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'now'         Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'outmsg_cnt'  Name
':'           Punctuation
'uint15'      Name
'\n  '        Text.Whitespace
'orig_status' Name
':'           Punctuation
'AccountStatus' Name
' '           Text.Whitespace
'end_status'  Name
':'           Punctuation
'AccountStatus' Name
'\n  '        Text.Whitespace
'^'           Operator
'['           Punctuation
' '           Text.Whitespace
'in_msg'      Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'('           Punctuation
'Message'     Name
' '           Text.Whitespace
'Any'         Name
')'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'out_msgs'    Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'15'          Literal.Number
' '           Text.Whitespace
'^'           Operator
'('           Punctuation
'Message'     Name
' '           Text.Whitespace
'Any'         Name
')'           Punctuation
')'           Punctuation
' '           Text.Whitespace
']'           Punctuation
'\n  '        Text.Whitespace
'total_fees'  Name
':'           Punctuation
'CurrencyCollection' Name
' '           Text.Whitespace
'state_update' Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'HASH_UPDATE' Name
' '           Text.Whitespace
'Account'     Name
')'           Punctuation
'\n  '        Text.Whitespace
'description' Name
':'           Punctuation
'^'           Operator
'TransactionDescr' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Transaction' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'merkle_update' Name
'#02'         Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'old_hash'    Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'new_hash'    Name
':'           Punctuation
'bits256'     Name
'\n  '        Text.Whitespace
'old'         Name
':'           Punctuation
'^'           Operator
'X'           Name
' '           Text.Whitespace
'new'         Name
':'           Punctuation
'^'           Operator
'X'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'MERKLE_UPDATE' Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n'          Text.Whitespace

'update_hashes' Name
'#72'         Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'old_hash'    Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'new_hash'    Name
':'           Punctuation
'bits256'     Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'HASH_UPDATE' Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n'          Text.Whitespace

'merkle_proof' Name
'#03'         Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'virtual_hash' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'depth'       Name
':'           Punctuation
'uint16'      Name
' '           Text.Whitespace
'virtual_root' Name
':'           Punctuation
'^'           Operator
'X'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'MERKLE_PROOF' Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'acc_trans'   Name
'#5'          Name.Tag
' '           Text.Whitespace
'account_addr' Name
':'           Punctuation
'bits256'     Name
'\n            ' Text.Whitespace
'transactions' Name
':'           Punctuation
'('           Punctuation
'HashmapAug'  Name
' '           Text.Whitespace
'64'          Literal.Number
' '           Text.Whitespace
'^'           Operator
'Transaction' Name
' '           Text.Whitespace
'CurrencyCollection' Name
')'           Punctuation
'\n            ' Text.Whitespace
'state_update' Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'HASH_UPDATE' Name
' '           Text.Whitespace
'Account'     Name
')'           Punctuation
'\n          ' Text.Whitespace
'='           Operator
' '           Text.Whitespace
'AccountBlock' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'('           Punctuation
'HashmapAugE' Name
' '           Text.Whitespace
'256'         Literal.Number
' '           Text.Whitespace
'AccountBlock' Name
' '           Text.Whitespace
'CurrencyCollection' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ShardAccountBlocks' Name
';'           Punctuation
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'tr_phase_storage' Name
'$_'          Name.Tag
' '           Text.Whitespace
'storage_fees_collected' Name
':'           Punctuation
'Grams'       Name
' \n  '       Text.Whitespace
'storage_fees_due' Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'Grams'       Name
')'           Punctuation
'\n  '        Text.Whitespace
'status_change' Name
':'           Punctuation
'AccStatusChange' Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TrStoragePhase' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'acst_unchanged' Name
'$0'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'AccStatusChange' Name
';'           Punctuation
'  '          Text.Whitespace
'// x -> x'   Comment.Singleline
'\n'          Text.Whitespace

'acst_frozen' Name
'$10'         Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'AccStatusChange' Name
';'           Punctuation
'    '        Text.Whitespace
'// init -> frozen' Comment.Singleline
'\n'          Text.Whitespace

'acst_deleted' Name
'$11'         Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'AccStatusChange' Name
';'           Punctuation
'   '         Text.Whitespace
'// frozen -> deleted' Comment.Singleline
'\n\n'        Text.Whitespace

'tr_phase_credit' Name
'$_'          Name.Tag
' '           Text.Whitespace
'due_fees_collected' Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'Grams'       Name
')'           Punctuation
'\n  '        Text.Whitespace
'credit'      Name
':'           Punctuation
'CurrencyCollection' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TrCreditPhase' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'tr_phase_compute_skipped' Name
'$0'          Name.Tag
' '           Text.Whitespace
'reason'      Name
':'           Punctuation
'ComputeSkipReason' Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TrComputePhase' Name
';'           Punctuation
'\n'          Text.Whitespace

'tr_phase_compute_vm' Name
'$1'          Name.Tag
' '           Text.Whitespace
'success'     Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'msg_state_used' Name
':'           Punctuation
'Bool'        Name
' \n  '       Text.Whitespace
'account_activated' Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'gas_fees'    Name
':'           Punctuation
'Grams'       Name
'\n  '        Text.Whitespace
'^'           Operator
'['           Punctuation
' '           Text.Whitespace
'gas_used'    Name
':'           Punctuation
'('           Punctuation
'VarUInteger' Name
' '           Text.Whitespace
'7'           Literal.Number
')'           Punctuation
'\n  '        Text.Whitespace
'gas_limit'   Name
':'           Punctuation
'('           Punctuation
'VarUInteger' Name
' '           Text.Whitespace
'7'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'gas_credit'  Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'('           Punctuation
'VarUInteger' Name
' '           Text.Whitespace
'3'           Literal.Number
')'           Punctuation
')'           Punctuation
'\n  '        Text.Whitespace
'mode'        Name
':'           Punctuation
'int8'        Name
' '           Text.Whitespace
'exit_code'   Name
':'           Punctuation
'int32'       Name
' '           Text.Whitespace
'exit_arg'    Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'int32'       Name
')'           Punctuation
'\n  '        Text.Whitespace
'vm_steps'    Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'vm_init_state_hash' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'vm_final_state_hash' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
']'           Punctuation
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TrComputePhase' Name
';'           Punctuation
'\n'          Text.Whitespace

'cskip_no_state' Name
'$00'         Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ComputeSkipReason' Name
';'           Punctuation
'\n'          Text.Whitespace

'cskip_bad_state' Name
'$01'         Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ComputeSkipReason' Name
';'           Punctuation
'\n'          Text.Whitespace

'cskip_no_gas' Name
'$10'         Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ComputeSkipReason' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'tr_phase_action' Name
'$_'          Name.Tag
' '           Text.Whitespace
'success'     Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'valid'       Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'no_funds'    Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'status_change' Name
':'           Punctuation
'AccStatusChange' Name
'\n  '        Text.Whitespace
'total_fwd_fees' Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'Grams'       Name
')'           Punctuation
' '           Text.Whitespace
'total_action_fees' Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'Grams'       Name
')'           Punctuation
'\n  '        Text.Whitespace
'result_code' Name
':'           Punctuation
'int32'       Name
' '           Text.Whitespace
'result_arg'  Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'int32'       Name
')'           Punctuation
' '           Text.Whitespace
'tot_actions' Name
':'           Punctuation
'uint16'      Name
'\n  '        Text.Whitespace
'spec_actions' Name
':'           Punctuation
'uint16'      Name
' '           Text.Whitespace
'skipped_actions' Name
':'           Punctuation
'uint16'      Name
' '           Text.Whitespace
'msgs_created' Name
':'           Punctuation
'uint16'      Name
' \n  '       Text.Whitespace
'action_list_hash' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'tot_msg_size' Name
':'           Punctuation
'StorageUsedShort' Name
' \n  '       Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TrActionPhase' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'tr_phase_bounce_negfunds' Name
'$00'         Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TrBouncePhase' Name
';'           Punctuation
'\n'          Text.Whitespace

'tr_phase_bounce_nofunds' Name
'$01'         Name.Tag
' '           Text.Whitespace
'msg_size'    Name
':'           Punctuation
'StorageUsedShort' Name
'\n  '        Text.Whitespace
'req_fwd_fees' Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TrBouncePhase' Name
';'           Punctuation
'\n'          Text.Whitespace

'tr_phase_bounce_ok' Name
'$1'          Name.Tag
' '           Text.Whitespace
'msg_size'    Name
':'           Punctuation
'StorageUsedShort' Name
' \n  '       Text.Whitespace
'msg_fees'    Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'fwd_fees'    Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TrBouncePhase' Name
';'           Punctuation
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'trans_ord'   Name
'$0000'       Name.Tag
' '           Text.Whitespace
'credit_first' Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'storage_ph'  Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'TrStoragePhase' Name
')'           Punctuation
'\n  '        Text.Whitespace
'credit_ph'   Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'TrCreditPhase' Name
')'           Punctuation
'\n  '        Text.Whitespace
'compute_ph'  Name
':'           Punctuation
'TrComputePhase' Name
' '           Text.Whitespace
'action'      Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'TrActionPhase' Name
')'           Punctuation
'\n  '        Text.Whitespace
'aborted'     Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'bounce'      Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'TrBouncePhase' Name
')'           Punctuation
'\n  '        Text.Whitespace
'destroyed'   Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TransactionDescr' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'trans_storage' Name
'$0001'       Name.Tag
' '           Text.Whitespace
'storage_ph'  Name
':'           Punctuation
'TrStoragePhase' Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TransactionDescr' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'trans_tick_tock' Name
'$001'        Name.Tag
' '           Text.Whitespace
'is_tock'     Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'storage_ph'  Name
':'           Punctuation
'TrStoragePhase' Name
'\n  '        Text.Whitespace
'compute_ph'  Name
':'           Punctuation
'TrComputePhase' Name
' '           Text.Whitespace
'action'      Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'TrActionPhase' Name
')'           Punctuation
'\n  '        Text.Whitespace
'aborted'     Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'destroyed'   Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TransactionDescr' Name
';'           Punctuation
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'split_merge_info' Name
'$_'          Name.Tag
' '           Text.Whitespace
'cur_shard_pfx_len' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'6'           Literal.Number
')'           Punctuation
'\n  '        Text.Whitespace
'acc_split_depth' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'6'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'this_addr'   Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'sibling_addr' Name
':'           Punctuation
'bits256'     Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'SplitMergeInfo' Name
';'           Punctuation
'\n'          Text.Whitespace

'trans_split_prepare' Name
'$0100'       Name.Tag
' '           Text.Whitespace
'split_info'  Name
':'           Punctuation
'SplitMergeInfo' Name
'\n  '        Text.Whitespace
'storage_ph'  Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'TrStoragePhase' Name
')'           Punctuation
'\n  '        Text.Whitespace
'compute_ph'  Name
':'           Punctuation
'TrComputePhase' Name
' '           Text.Whitespace
'action'      Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'TrActionPhase' Name
')'           Punctuation
'\n  '        Text.Whitespace
'aborted'     Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'destroyed'   Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TransactionDescr' Name
';'           Punctuation
'\n'          Text.Whitespace

'trans_split_install' Name
'$0101'       Name.Tag
' '           Text.Whitespace
'split_info'  Name
':'           Punctuation
'SplitMergeInfo' Name
'\n  '        Text.Whitespace
'prepare_transaction' Name
':'           Punctuation
'^'           Operator
'Transaction' Name
'\n  '        Text.Whitespace
'installed'   Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TransactionDescr' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'trans_merge_prepare' Name
'$0110'       Name.Tag
' '           Text.Whitespace
'split_info'  Name
':'           Punctuation
'SplitMergeInfo' Name
'\n  '        Text.Whitespace
'storage_ph'  Name
':'           Punctuation
'TrStoragePhase' Name
' '           Text.Whitespace
'aborted'     Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TransactionDescr' Name
';'           Punctuation
'\n'          Text.Whitespace

'trans_merge_install' Name
'$0111'       Name.Tag
' '           Text.Whitespace
'split_info'  Name
':'           Punctuation
'SplitMergeInfo' Name
'\n  '        Text.Whitespace
'prepare_transaction' Name
':'           Punctuation
'^'           Operator
'Transaction' Name
'\n  '        Text.Whitespace
'storage_ph'  Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'TrStoragePhase' Name
')'           Punctuation
'\n  '        Text.Whitespace
'credit_ph'   Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'TrCreditPhase' Name
')'           Punctuation
'\n  '        Text.Whitespace
'compute_ph'  Name
':'           Punctuation
'TrComputePhase' Name
' '           Text.Whitespace
'action'      Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'TrActionPhase' Name
')'           Punctuation
'\n  '        Text.Whitespace
'aborted'     Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'destroyed'   Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TransactionDescr' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'smc_info'    Name
'#076ef1ea'   Name.Tag
' '           Text.Whitespace
'actions'     Name
':'           Punctuation
'uint16'      Name
' '           Text.Whitespace
'msgs_sent'   Name
':'           Punctuation
'uint16'      Name
'\n  '        Text.Whitespace
'unixtime'    Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'block_lt'    Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'trans_lt'    Name
':'           Punctuation
'uint64'      Name
' \n  '       Text.Whitespace
'rand_seed'   Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'balance_remaining' Name
':'           Punctuation
'CurrencyCollection' Name
'\n  '        Text.Whitespace
'myself'      Name
':'           Punctuation
'MsgAddressInt' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'SmartContractInfo' Name
';'           Punctuation
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'out_list_empty' Name
'$_'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutList'     Name
' '           Text.Whitespace
'0'           Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'out_list'    Name
'$_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'prev'        Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'OutList'     Name
' '           Text.Whitespace
'n'           Name
')'           Punctuation
' '           Text.Whitespace
'action'      Name
':'           Punctuation
'OutAction'   Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutList'     Name
' '           Text.Whitespace
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'action_send_msg' Name
'#0ec3c86d'   Name.Tag
' '           Text.Whitespace
'mode'        Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
' \n  '       Text.Whitespace
'out_msg'     Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'MessageRelaxed' Name
' '           Text.Whitespace
'Any'         Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutAction'   Name
';'           Punctuation
'\n'          Text.Whitespace

'action_set_code' Name
'#ad4de08e'   Name.Tag
' '           Text.Whitespace
'new_code'    Name
':'           Punctuation
'^'           Operator
'Cell'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutAction'   Name
';'           Punctuation
'\n'          Text.Whitespace

'action_reserve_currency' Name
'#36e6b809'   Name.Tag
' '           Text.Whitespace
'mode'        Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
'\n  '        Text.Whitespace
'currency'    Name
':'           Punctuation
'CurrencyCollection' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutAction'   Name
';'           Punctuation
'\n'          Text.Whitespace

'libref_hash' Name
'$0'          Name.Tag
' '           Text.Whitespace
'lib_hash'    Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'LibRef'      Name
';'           Punctuation
'\n'          Text.Whitespace

'libref_ref'  Name
'$1'          Name.Tag
' '           Text.Whitespace
'library'     Name
':'           Punctuation
'^'           Operator
'Cell'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'LibRef'      Name
';'           Punctuation
'\n'          Text.Whitespace

'action_change_library' Name
'#26fa1dd4'   Name.Tag
' '           Text.Whitespace
'mode'        Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'7'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'mode'        Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'2'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'libref'      Name
':'           Punctuation
'LibRef'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutAction'   Name
';'           Punctuation
'\n\n'        Text.Whitespace

'out_list_node' Name
'$_'          Name.Tag
' '           Text.Whitespace
'prev'        Name
':'           Punctuation
'^'           Operator
'Cell'        Name
' '           Text.Whitespace
'action'      Name
':'           Punctuation
'OutAction'   Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OutListNode' Name
';'           Punctuation
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'shard_ident' Name
'$00'         Name.Tag
' '           Text.Whitespace
'shard_pfx_bits' Name
':'           Punctuation
'('           Punctuation
'#<='         Name.Tag
' '           Text.Whitespace
'60'          Literal.Number
')'           Punctuation
' \n  '       Text.Whitespace
'workchain_id' Name
':'           Punctuation
'int32'       Name
' '           Text.Whitespace
'shard_prefix' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ShardIdent'  Name
';'           Punctuation
'\n\n'        Text.Whitespace

'ext_blk_ref' Name
'$_'          Name.Tag
' '           Text.Whitespace
'end_lt'      Name
':'           Punctuation
'uint64'      Name
'\n  '        Text.Whitespace
'seq_no'      Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'root_hash'   Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'file_hash'   Name
':'           Punctuation
'bits256'     Name
' \n  '       Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ExtBlkRef'   Name
';'           Punctuation
'\n\n'        Text.Whitespace

'block_id_ext' Name
'$_'          Name.Tag
' '           Text.Whitespace
'shard_id'    Name
':'           Punctuation
'ShardIdent'  Name
' '           Text.Whitespace
'seq_no'      Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'root_hash'   Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'file_hash'   Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BlockIdExt'  Name
';'           Punctuation
'\n\n'        Text.Whitespace

'master_info' Name
'$_'          Name.Tag
' '           Text.Whitespace
'master'      Name
':'           Punctuation
'ExtBlkRef'   Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BlkMasterInfo' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'shard_state' Name
'#9023afe2'   Name.Tag
' '           Text.Whitespace
'global_id'   Name
':'           Punctuation
'int32'       Name
'\n  '        Text.Whitespace
'shard_id'    Name
':'           Punctuation
'ShardIdent'  Name
' \n  '       Text.Whitespace
'seq_no'      Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'vert_seq_no' Name
':'           Punctuation
'#'           Name.Tag
'\n  '        Text.Whitespace
'gen_utime'   Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'gen_lt'      Name
':'           Punctuation
'uint64'      Name
'\n  '        Text.Whitespace
'min_ref_mc_seqno' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'out_msg_queue_info' Name
':'           Punctuation
'^'           Operator
'OutMsgQueueInfo' Name
'\n  '        Text.Whitespace
'before_split' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
'\n  '        Text.Whitespace
'accounts'    Name
':'           Punctuation
'^'           Operator
'ShardAccounts' Name
'\n  '        Text.Whitespace
'^'           Operator
'['           Punctuation
' '           Text.Whitespace
'overload_history' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'underload_history' Name
':'           Punctuation
'uint64'      Name
'\n  '        Text.Whitespace
'total_balance' Name
':'           Punctuation
'CurrencyCollection' Name
'\n  '        Text.Whitespace
'total_validator_fees' Name
':'           Punctuation
'CurrencyCollection' Name
'\n  '        Text.Whitespace
'libraries'   Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'256'         Literal.Number
' '           Text.Whitespace
'LibDescr'    Name
')'           Punctuation
'\n  '        Text.Whitespace
'master_ref'  Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'BlkMasterInfo' Name
')'           Punctuation
' '           Text.Whitespace
']'           Punctuation
'\n  '        Text.Whitespace
'custom'      Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'McStateExtra' Name
')'           Punctuation
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ShardStateUnsplit' Name
';'           Punctuation
'\n  \n'      Text.Whitespace

'_'           Name
' '           Text.Whitespace
'ShardStateUnsplit' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ShardState'  Name
';'           Punctuation
'\n'          Text.Whitespace

'split_state' Name
'#5f327da5'   Name.Tag
' '           Text.Whitespace
'left'        Name
':'           Punctuation
'^'           Operator
'ShardStateUnsplit' Name
' '           Text.Whitespace
'right'       Name
':'           Punctuation
'^'           Operator
'ShardStateUnsplit' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ShardState'  Name
';'           Punctuation
'\n\n'        Text.Whitespace

'shared_lib_descr' Name
'$00'         Name.Tag
' '           Text.Whitespace
'lib'         Name
':'           Punctuation
'^'           Operator
'Cell'        Name
' '           Text.Whitespace
'publishers'  Name
':'           Punctuation
'('           Punctuation
'Hashmap'     Name
' '           Text.Whitespace
'256'         Literal.Number
' '           Text.Whitespace
'True'        Name
')'           Punctuation
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'LibDescr'    Name
';'           Punctuation
'\n\n'        Text.Whitespace

'block_info'  Name
'#9bc7a987'   Name.Tag
' '           Text.Whitespace
'version'     Name
':'           Punctuation
'uint32'      Name
' \n  '       Text.Whitespace
'not_master'  Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
' \n  '       Text.Whitespace
'after_merge' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'before_split' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
' \n  '       Text.Whitespace
'after_split' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
' \n  '       Text.Whitespace
'want_split'  Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'want_merge'  Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'key_block'   Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'vert_seqno_incr' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
'\n  '        Text.Whitespace
'flags'       Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'flags'       Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'1'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'seq_no'      Name
':'           Punctuation
'#'           Name.Tag
' '           Text.Whitespace
'vert_seq_no' Name
':'           Punctuation
'#'           Name.Tag
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'vert_seq_no' Name
' '           Text.Whitespace
'>='          Operator
' '           Text.Whitespace
'vert_seqno_incr' Name
' '           Text.Whitespace
'}'           Punctuation
' \n  '       Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'prev_seq_no' Name
':'           Punctuation
'#'           Name.Tag
' '           Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'~'           Operator
'prev_seq_no' Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'1'           Literal.Number
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'seq_no'      Name
' '           Text.Whitespace
'}'           Punctuation
' \n  '       Text.Whitespace
'shard'       Name
':'           Punctuation
'ShardIdent'  Name
' '           Text.Whitespace
'gen_utime'   Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'start_lt'    Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'end_lt'      Name
':'           Punctuation
'uint64'      Name
'\n  '        Text.Whitespace
'gen_validator_list_hash_short' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'gen_catchain_seqno' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'min_ref_mc_seqno' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'prev_key_block_seqno' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'gen_software' Name
':'           Punctuation
'flags'       Name
' '           Text.Whitespace
'.'           Operator
' '           Text.Whitespace
'0'           Literal.Number
'?'           Operator
'GlobalVersion' Name
'\n  '        Text.Whitespace
'master_ref'  Name
':'           Punctuation
'not_master'  Name
'?'           Operator
'^'           Operator
'BlkMasterInfo' Name
' \n  '       Text.Whitespace
'prev_ref'    Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'BlkPrevInfo' Name
' '           Text.Whitespace
'after_merge' Name
')'           Punctuation
'\n  '        Text.Whitespace
'prev_vert_ref' Name
':'           Punctuation
'vert_seqno_incr' Name
'?'           Operator
'^'           Operator
'('           Punctuation
'BlkPrevInfo' Name
' '           Text.Whitespace
'0'           Literal.Number
')'           Punctuation
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BlockInfo'   Name
';'           Punctuation
'\n\n'        Text.Whitespace

'prev_blk_info' Name
'$_'          Name.Tag
' '           Text.Whitespace
'prev'        Name
':'           Punctuation
'ExtBlkRef'   Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BlkPrevInfo' Name
' '           Text.Whitespace
'0'           Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'prev_blks_info' Name
'$_'          Name.Tag
' '           Text.Whitespace
'prev1'       Name
':'           Punctuation
'^'           Operator
'ExtBlkRef'   Name
' '           Text.Whitespace
'prev2'       Name
':'           Punctuation
'^'           Operator
'ExtBlkRef'   Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BlkPrevInfo' Name
' '           Text.Whitespace
'1'           Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'block'       Name
'#11ef55aa'   Name.Tag
' '           Text.Whitespace
'global_id'   Name
':'           Punctuation
'int32'       Name
'\n  '        Text.Whitespace
'info'        Name
':'           Punctuation
'^'           Operator
'BlockInfo'   Name
' '           Text.Whitespace
'value_flow'  Name
':'           Punctuation
'^'           Operator
'ValueFlow'   Name
'\n  '        Text.Whitespace
'state_update' Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'MERKLE_UPDATE' Name
' '           Text.Whitespace
'ShardState'  Name
')'           Punctuation
' \n  '       Text.Whitespace
'extra'       Name
':'           Punctuation
'^'           Operator
'BlockExtra'  Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Block'       Name
';'           Punctuation
'\n\n'        Text.Whitespace

'block_extra' Name
' '           Text.Whitespace
'in_msg_descr' Name
':'           Punctuation
'^'           Operator
'InMsgDescr'  Name
'\n  '        Text.Whitespace
'out_msg_descr' Name
':'           Punctuation
'^'           Operator
'OutMsgDescr' Name
'\n  '        Text.Whitespace
'account_blocks' Name
':'           Punctuation
'^'           Operator
'ShardAccountBlocks' Name
'\n  '        Text.Whitespace
'rand_seed'   Name
':'           Punctuation
'bits256'     Name
'\n  '        Text.Whitespace
'created_by'  Name
':'           Punctuation
'bits256'     Name
'\n  '        Text.Whitespace
'custom'      Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'McBlockExtra' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BlockExtra'  Name
';'           Punctuation
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'value_flow'  Name
' '           Text.Whitespace
'^'           Operator
'['           Punctuation
' '           Text.Whitespace
'from_prev_blk' Name
':'           Punctuation
'CurrencyCollection' Name
' \n  '       Text.Whitespace
'to_next_blk' Name
':'           Punctuation
'CurrencyCollection' Name
'\n  '        Text.Whitespace
'imported'    Name
':'           Punctuation
'CurrencyCollection' Name
'\n  '        Text.Whitespace
'exported'    Name
':'           Punctuation
'CurrencyCollection' Name
' '           Text.Whitespace
']'           Punctuation
'\n  '        Text.Whitespace
'fees_collected' Name
':'           Punctuation
'CurrencyCollection' Name
'\n  '        Text.Whitespace
'^'           Operator
'['           Punctuation
'\n  '        Text.Whitespace
'fees_imported' Name
':'           Punctuation
'CurrencyCollection' Name
'\n  '        Text.Whitespace
'recovered'   Name
':'           Punctuation
'CurrencyCollection' Name
'\n  '        Text.Whitespace
'created'     Name
':'           Punctuation
'CurrencyCollection' Name
'\n  '        Text.Whitespace
'minted'      Name
':'           Punctuation
'CurrencyCollection' Name
'\n  '        Text.Whitespace
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ValueFlow'   Name
';'           Punctuation
'\n\n'        Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'bt_leaf'     Name
'$0'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'leaf'        Name
':'           Punctuation
'X'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BinTree'     Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n'          Text.Whitespace

'bt_fork'     Name
'$1'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'left'        Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'BinTree'     Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' '           Text.Whitespace
'right'       Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'BinTree'     Name
' '           Text.Whitespace
'X'           Name
')'           Punctuation
' \n          ' Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BinTree'     Name
' '           Text.Whitespace
'X'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'fsm_none'    Name
'$0'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'FutureSplitMerge' Name
';'           Punctuation
'\n'          Text.Whitespace

'fsm_split'   Name
'$10'         Name.Tag
' '           Text.Whitespace
'split_utime' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'interval'    Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'FutureSplitMerge' Name
';'           Punctuation
'\n'          Text.Whitespace

'fsm_merge'   Name
'$11'         Name.Tag
' '           Text.Whitespace
'merge_utime' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'interval'    Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'FutureSplitMerge' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'shard_descr' Name
'#b'          Name.Tag
' '           Text.Whitespace
'seq_no'      Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'reg_mc_seqno' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'start_lt'    Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'end_lt'      Name
':'           Punctuation
'uint64'      Name
'\n  '        Text.Whitespace
'root_hash'   Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'file_hash'   Name
':'           Punctuation
'bits256'     Name
' \n  '       Text.Whitespace
'before_split' Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'before_merge' Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'want_split'  Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'want_merge'  Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'nx_cc_updated' Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'flags'       Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'3'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'flags'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'next_catchain_seqno' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'next_validator_shard' Name
':'           Punctuation
'uint64'      Name
'\n  '        Text.Whitespace
'min_ref_mc_seqno' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'gen_utime'   Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'split_merge_at' Name
':'           Punctuation
'FutureSplitMerge' Name
'\n  '        Text.Whitespace
'fees_collected' Name
':'           Punctuation
'CurrencyCollection' Name
'\n  '        Text.Whitespace
'funds_created' Name
':'           Punctuation
'CurrencyCollection' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ShardDescr'  Name
';'           Punctuation
'\n\n'        Text.Whitespace

'shard_descr_new' Name
'#a'          Name.Tag
' '           Text.Whitespace
'seq_no'      Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'reg_mc_seqno' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'start_lt'    Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'end_lt'      Name
':'           Punctuation
'uint64'      Name
'\n  '        Text.Whitespace
'root_hash'   Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'file_hash'   Name
':'           Punctuation
'bits256'     Name
' \n  '       Text.Whitespace
'before_split' Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'before_merge' Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'want_split'  Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'want_merge'  Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'nx_cc_updated' Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'flags'       Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'3'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'flags'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'next_catchain_seqno' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'next_validator_shard' Name
':'           Punctuation
'uint64'      Name
'\n  '        Text.Whitespace
'min_ref_mc_seqno' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'gen_utime'   Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'split_merge_at' Name
':'           Punctuation
'FutureSplitMerge' Name
'\n  '        Text.Whitespace
'^'           Operator
'['           Punctuation
' '           Text.Whitespace
'fees_collected' Name
':'           Punctuation
'CurrencyCollection' Name
'\n     '     Text.Whitespace
'funds_created' Name
':'           Punctuation
'CurrencyCollection' Name
' '           Text.Whitespace
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ShardDescr'  Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'32'          Literal.Number
' '           Text.Whitespace
'^'           Operator
'('           Punctuation
'BinTree'     Name
' '           Text.Whitespace
'ShardDescr'  Name
')'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ShardHashes' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'bta_leaf'    Name
'$0'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'Y'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'extra'       Name
':'           Punctuation
'Y'           Name
' '           Text.Whitespace
'leaf'        Name
':'           Punctuation
'X'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BinTreeAug'  Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
';'           Punctuation
'\n'          Text.Whitespace

'bta_fork'    Name
'$1'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'X'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'Y'           Name
':'           Punctuation
'Type'        Name
'}'           Punctuation
' '           Text.Whitespace
'left'        Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'BinTreeAug'  Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
')'           Punctuation
' \n           ' Text.Whitespace
'right'       Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'BinTreeAug'  Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
')'           Punctuation
' '           Text.Whitespace
'extra'       Name
':'           Punctuation
'Y'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BinTreeAug'  Name
' '           Text.Whitespace
'X'           Name
' '           Text.Whitespace
'Y'           Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'fees'        Name
':'           Punctuation
'CurrencyCollection' Name
' '           Text.Whitespace
'create'      Name
':'           Punctuation
'CurrencyCollection' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ShardFeeCreated' Name
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'('           Punctuation
'HashmapAugE' Name
' '           Text.Whitespace
'96'          Literal.Number
' '           Text.Whitespace
'ShardFeeCreated' Name
' '           Text.Whitespace
'ShardFeeCreated' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ShardFees'   Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'config_addr' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'config'      Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'Hashmap'     Name
' '           Text.Whitespace
'32'          Literal.Number
' '           Text.Whitespace
'^'           Operator
'Cell'        Name
')'           Punctuation
' \n  '       Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParams' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'validator_info' Name
'$_'          Name.Tag
'\n  '        Text.Whitespace
'validator_list_hash_short' Name
':'           Punctuation
'uint32'      Name
' \n  '       Text.Whitespace
'catchain_seqno' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'nx_cc_updated' Name
':'           Punctuation
'Bool'        Name
'\n'          Text.Whitespace

'='           Operator
' '           Text.Whitespace
'ValidatorInfo' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'validator_base_info' Name
'$_'          Name.Tag
'\n  '        Text.Whitespace
'validator_list_hash_short' Name
':'           Punctuation
'uint32'      Name
' \n  '       Text.Whitespace
'catchain_seqno' Name
':'           Punctuation
'uint32'      Name
'\n'          Text.Whitespace

'='           Operator
' '           Text.Whitespace
'ValidatorBaseInfo' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'key'         Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'max_end_lt'  Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'KeyMaxLt'    Name
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'key'         Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'blk_ref'     Name
':'           Punctuation
'ExtBlkRef'   Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'KeyExtBlkRef' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'('           Punctuation
'HashmapAugE' Name
' '           Text.Whitespace
'32'          Literal.Number
' '           Text.Whitespace
'KeyExtBlkRef' Name
' '           Text.Whitespace
'KeyMaxLt'    Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OldMcBlocksInfo' Name
';'           Punctuation
'\n\n\n'      Text.Whitespace

'counters'    Name
'#_'          Name.Tag
' '           Text.Whitespace
'last_updated' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'total'       Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'cnt2048'     Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'cnt65536'    Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Counters'    Name
';'           Punctuation
' \n'         Text.Whitespace

'creator_info' Name
'#4'          Name.Tag
' '           Text.Whitespace
'mc_blocks'   Name
':'           Punctuation
'Counters'    Name
' '           Text.Whitespace
'shard_blocks' Name
':'           Punctuation
'Counters'    Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'CreatorStats' Name
';'           Punctuation
' \n'         Text.Whitespace

'block_create_stats' Name
'#17'         Name.Tag
' '           Text.Whitespace
'counters'    Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'256'         Literal.Number
' '           Text.Whitespace
'CreatorStats' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BlockCreateStats' Name
';'           Punctuation
'\n'          Text.Whitespace

'block_create_stats_ext' Name
'#34'         Name.Tag
' '           Text.Whitespace
'counters'    Name
':'           Punctuation
'('           Punctuation
'HashmapAugE' Name
' '           Text.Whitespace
'256'         Literal.Number
' '           Text.Whitespace
'CreatorStats' Name
' '           Text.Whitespace
'uint32'      Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BlockCreateStats' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'masterchain_state_extra' Name
'#cc26'       Name.Tag
'\n  '        Text.Whitespace
'shard_hashes' Name
':'           Punctuation
'ShardHashes' Name
'\n  '        Text.Whitespace
'config'      Name
':'           Punctuation
'ConfigParams' Name
'\n  '        Text.Whitespace
'^'           Operator
'['           Punctuation
' '           Text.Whitespace
'flags'       Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'16'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'flags'       Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'1'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n     '     Text.Whitespace
'validator_info' Name
':'           Punctuation
'ValidatorInfo' Name
'\n     '     Text.Whitespace
'prev_blocks' Name
':'           Punctuation
'OldMcBlocksInfo' Name
'\n     '     Text.Whitespace
'after_key_block' Name
':'           Punctuation
'Bool'        Name
'\n     '     Text.Whitespace
'last_key_block' Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'ExtBlkRef'   Name
')'           Punctuation
'\n     '     Text.Whitespace
'block_create_stats' Name
':'           Punctuation
'('           Punctuation
'flags'       Name
' '           Text.Whitespace
'.'           Operator
' '           Text.Whitespace
'0'           Literal.Number
')'           Punctuation
'?'           Operator
'BlockCreateStats' Name
' '           Text.Whitespace
']'           Punctuation
'\n  '        Text.Whitespace
'global_balance' Name
':'           Punctuation
'CurrencyCollection' Name
'\n'          Text.Whitespace

'='           Operator
' '           Text.Whitespace
'McStateExtra' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'ed25519_pubkey' Name
'#8e81278a'   Name.Tag
' '           Text.Whitespace
'pubkey'      Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'SigPubKey'   Name
';'           Punctuation
'  '          Text.Whitespace
'// 288 bits' Comment.Singleline
'\n'          Text.Whitespace

'ed25519_signature' Name
'#5'          Name.Tag
' '           Text.Whitespace
'R'           Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
's'           Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'CryptoSignatureSimple' Name
';'           Punctuation
'  '          Text.Whitespace
'// 516 bits' Comment.Singleline
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'CryptoSignatureSimple' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'CryptoSignature' Name
';'           Punctuation
'\n'          Text.Whitespace

'sig_pair'    Name
'$_'          Name.Tag
' '           Text.Whitespace
'node_id_short' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'sign'        Name
':'           Punctuation
'CryptoSignature' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'CryptoSignaturePair' Name
';'           Punctuation
'  '          Text.Whitespace
'// 256+x ~ 772 bits' Comment.Singleline
'\n\n'        Text.Whitespace

'certificate' Name
'#4'          Name.Tag
' '           Text.Whitespace
'temp_key'    Name
':'           Punctuation
'SigPubKey'   Name
' '           Text.Whitespace
'valid_since' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'valid_until' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Certificate' Name
';'           Punctuation
'  '          Text.Whitespace
'// 356 bits' Comment.Singleline
'\n'          Text.Whitespace

'certificate_env' Name
'#a419b7d'    Name.Tag
' '           Text.Whitespace
'certificate' Name
':'           Punctuation
'Certificate' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'CertificateEnv' Name
';'           Punctuation
'  '          Text.Whitespace
'// 384 bits' Comment.Singleline
'\n'          Text.Whitespace

'signed_certificate' Name
'$_'          Name.Tag
' '           Text.Whitespace
'certificate' Name
':'           Punctuation
'Certificate' Name
' '           Text.Whitespace
'certificate_signature' Name
':'           Punctuation
'CryptoSignature' Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'SignedCertificate' Name
';'           Punctuation
'  '          Text.Whitespace
'// 356+516 = 872 bits' Comment.Singleline
'\n'          Text.Whitespace

'// certificate_signature is the signature of CertificateEnv (with embedded certificate) with persistent key' Comment.Singleline
'\n'          Text.Whitespace

'chained_signature' Name
'#f'          Name.Tag
' '           Text.Whitespace
'signed_cert' Name
':'           Punctuation
'^'           Operator
'SignedCertificate' Name
' '           Text.Whitespace
'temp_key_signature' Name
':'           Punctuation
'CryptoSignatureSimple' Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'CryptoSignature' Name
';'           Punctuation
'   '         Text.Whitespace
'// 4+(356+516)+516 = 520 bits+ref (1392 bits total)' Comment.Singleline
'\n'          Text.Whitespace

'// temp_key_signature is the signature of whatever was originally intended to be signed with temp_key from certificate' Comment.Singleline
'\n\n'        Text.Whitespace

'masterchain_block_extra' Name
'#cca5'       Name.Tag
'\n  '        Text.Whitespace
'key_block'   Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
'\n  '        Text.Whitespace
'shard_hashes' Name
':'           Punctuation
'ShardHashes' Name
'\n  '        Text.Whitespace
'shard_fees'  Name
':'           Punctuation
'ShardFees'   Name
'\n  '        Text.Whitespace
'^'           Operator
'['           Punctuation
' '           Text.Whitespace
'prev_blk_signatures' Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'16'          Literal.Number
' '           Text.Whitespace
'CryptoSignaturePair' Name
')'           Punctuation
'\n     '     Text.Whitespace
'recover_create_msg' Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'InMsg'       Name
')'           Punctuation
'\n     '     Text.Whitespace
'mint_msg'    Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'InMsg'       Name
')'           Punctuation
' '           Text.Whitespace
']'           Punctuation
'\n  '        Text.Whitespace
'config'      Name
':'           Punctuation
'key_block'   Name
'?'           Operator
'ConfigParams' Name
'\n'          Text.Whitespace

'='           Operator
' '           Text.Whitespace
'McBlockExtra' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'//  CONFIGURATION PARAMETERS' Comment.Singleline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n\n'        Text.Whitespace

'validator'   Name
'#53'         Name.Tag
' '           Text.Whitespace
'public_key'  Name
':'           Punctuation
'SigPubKey'   Name
' '           Text.Whitespace
'weight'      Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ValidatorDescr' Name
';'           Punctuation
'\n'          Text.Whitespace

'validator_addr' Name
'#73'         Name.Tag
' '           Text.Whitespace
'public_key'  Name
':'           Punctuation
'SigPubKey'   Name
' '           Text.Whitespace
'weight'      Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'adnl_addr'   Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ValidatorDescr' Name
';'           Punctuation
'\n'          Text.Whitespace

'validators'  Name
'#11'         Name.Tag
' '           Text.Whitespace
'utime_since' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'utime_until' Name
':'           Punctuation
'uint32'      Name
' \n  '       Text.Whitespace
'total'       Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'16'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'main'        Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'16'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'main'        Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'total'       Name
' '           Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'main'        Name
' '           Text.Whitespace
'>='          Operator
' '           Text.Whitespace
'1'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
' \n  '       Text.Whitespace
'list'        Name
':'           Punctuation
'('           Punctuation
'Hashmap'     Name
' '           Text.Whitespace
'16'          Literal.Number
' '           Text.Whitespace
'ValidatorDescr' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ValidatorSet' Name
';'           Punctuation
'\n'          Text.Whitespace

'validators_ext' Name
'#12'         Name.Tag
' '           Text.Whitespace
'utime_since' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'utime_until' Name
':'           Punctuation
'uint32'      Name
' \n  '       Text.Whitespace
'total'       Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'16'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'main'        Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'16'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'main'        Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'total'       Name
' '           Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'main'        Name
' '           Text.Whitespace
'>='          Operator
' '           Text.Whitespace
'1'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
' \n  '       Text.Whitespace
'total_weight' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'list'        Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'16'          Literal.Number
' '           Text.Whitespace
'ValidatorDescr' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ValidatorSet' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'config_addr' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'0'           Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'elector_addr' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'1'           Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'minter_addr' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'2'           Literal.Number
';'           Punctuation
'  '          Text.Whitespace
'// ConfigParam 0 is used if absent' Comment.Singleline
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'fee_collector_addr' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'3'           Literal.Number
';'           Punctuation
'  '          Text.Whitespace
'// ConfigParam 1 is used if absent' Comment.Singleline
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'dns_root_addr' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'4'           Literal.Number
';'           Punctuation
'  '          Text.Whitespace
'// root TON DNS resolver' Comment.Singleline
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'mint_new_price' Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'mint_add_price' Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'6'           Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'to_mint'     Name
':'           Punctuation
'ExtraCurrencyCollection' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'7'           Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'capabilities' Name
'#c4'         Name.Tag
' '           Text.Whitespace
'version'     Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'capabilities' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'GlobalVersion' Name
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'GlobalVersion' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'8'           Literal.Number
';'           Punctuation
'  '          Text.Whitespace
'// all zero if absent' Comment.Singleline
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'mandatory_params' Name
':'           Punctuation
'('           Punctuation
'Hashmap'     Name
' '           Text.Whitespace
'32'          Literal.Number
' '           Text.Whitespace
'True'        Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'9'           Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'critical_params' Name
':'           Punctuation
'('           Punctuation
'Hashmap'     Name
' '           Text.Whitespace
'32'          Literal.Number
' '           Text.Whitespace
'True'        Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'10'          Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'cfg_vote_cfg' Name
'#36'         Name.Tag
' '           Text.Whitespace
'min_tot_rounds' Name
':'           Punctuation
'uint8'       Name
' '           Text.Whitespace
'max_tot_rounds' Name
':'           Punctuation
'uint8'       Name
' '           Text.Whitespace
'min_wins'    Name
':'           Punctuation
'uint8'       Name
' '           Text.Whitespace
'max_losses'  Name
':'           Punctuation
'uint8'       Name
' '           Text.Whitespace
'min_store_sec' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'max_store_sec' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'bit_price'   Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'cell_price'  Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigProposalSetup' Name
';'           Punctuation
'\n'          Text.Whitespace

'cfg_vote_setup' Name
'#91'         Name.Tag
' '           Text.Whitespace
'normal_params' Name
':'           Punctuation
'^'           Operator
'ConfigProposalSetup' Name
' '           Text.Whitespace
'critical_params' Name
':'           Punctuation
'^'           Operator
'ConfigProposalSetup' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigVotingSetup' Name
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'ConfigVotingSetup' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'11'          Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'cfg_proposal' Name
'#f3'         Name.Tag
' '           Text.Whitespace
'param_id'    Name
':'           Punctuation
'int32'       Name
' '           Text.Whitespace
'param_value' Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'Cell'        Name
')'           Punctuation
' '           Text.Whitespace
'if_hash_equal' Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'uint256'     Name
')'           Punctuation
' \n  '       Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigProposal' Name
';'           Punctuation
'\n'          Text.Whitespace

'cfg_proposal_status' Name
'#ce'         Name.Tag
' '           Text.Whitespace
'expires'     Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'proposal'    Name
':'           Punctuation
'^'           Operator
'ConfigProposal' Name
' '           Text.Whitespace
'is_critical' Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'voters'      Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'16'          Literal.Number
' '           Text.Whitespace
'True'        Name
')'           Punctuation
' '           Text.Whitespace
'remaining_weight' Name
':'           Punctuation
'int64'       Name
' '           Text.Whitespace
'validator_set_id' Name
':'           Punctuation
'uint256'     Name
' \n  '       Text.Whitespace
'rounds_remaining' Name
':'           Punctuation
'uint8'       Name
' '           Text.Whitespace
'wins'        Name
':'           Punctuation
'uint8'       Name
' '           Text.Whitespace
'losses'      Name
':'           Punctuation
'uint8'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigProposalStatus' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'wfmt_basic'  Name
'#1'          Name.Tag
' '           Text.Whitespace
'vm_version'  Name
':'           Punctuation
'int32'       Name
' '           Text.Whitespace
'vm_mode'     Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'WorkchainFormat' Name
' '           Text.Whitespace
'1'           Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'wfmt_ext'    Name
'#0'          Name.Tag
' '           Text.Whitespace
'min_addr_len' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'12'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'max_addr_len' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'12'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'addr_len_step' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'12'          Literal.Number
')'           Punctuation
'\n  '        Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'min_addr_len' Name
' '           Text.Whitespace
'>='          Operator
' '           Text.Whitespace
'64'          Literal.Number
' '           Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'min_addr_len' Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'max_addr_len' Name
' '           Text.Whitespace
'}'           Punctuation
' \n  '       Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'max_addr_len' Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'1023'        Literal.Number
' '           Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'addr_len_step' Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'1023'        Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'workchain_type_id' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'32'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'workchain_type_id' Name
' '           Text.Whitespace
'>='          Operator
' '           Text.Whitespace
'1'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'WorkchainFormat' Name
' '           Text.Whitespace
'0'           Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'workchain'   Name
'#a6'         Name.Tag
' '           Text.Whitespace
'enabled_since' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'actual_min_split' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
' \n  '       Text.Whitespace
'min_split'   Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'max_split'   Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'actual_min_split' Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'min_split'   Name
' '           Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'//workchain#a5 enabled_since:uint32 min_split:(## 8) max_split:(## 8)' Comment.Singleline
'\n'          Text.Whitespace

'//  { min_split <= max_split } { max_split <= 60 }' Comment.Singleline
'\n  '        Text.Whitespace
'basic'       Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'active'      Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'accept_msgs' Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'flags'       Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'13'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'flags'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'zerostate_root_hash' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'zerostate_file_hash' Name
':'           Punctuation
'bits256'     Name
'\n  '        Text.Whitespace
'version'     Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'format'      Name
':'           Punctuation
'('           Punctuation
'WorkchainFormat' Name
' '           Text.Whitespace
'basic'       Name
')'           Punctuation
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'WorkchainDescr' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'workchains'  Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'32'          Literal.Number
' '           Text.Whitespace
'WorkchainDescr' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'12'          Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'complaint_prices' Name
'#1a'         Name.Tag
' '           Text.Whitespace
'deposit'     Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'bit_price'   Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'cell_price'  Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ComplaintPricing' Name
';'           Punctuation
' \n'         Text.Whitespace

'_'           Name
' '           Text.Whitespace
'ComplaintPricing' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'13'          Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'block_grams_created' Name
'#6b'         Name.Tag
' '           Text.Whitespace
'masterchain_block_fee' Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'basechain_block_fee' Name
':'           Punctuation
'Grams'       Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BlockCreateFees' Name
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'BlockCreateFees' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'14'          Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'validators_elected_for' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'elections_start_before' Name
':'           Punctuation
'uint32'      Name
' \n  '       Text.Whitespace
'elections_end_before' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'stake_held_for' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'15'          Literal.Number
';'           Punctuation
'\n  \n'      Text.Whitespace

'_'           Name
' '           Text.Whitespace
'max_validators' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'16'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'max_main_validators' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'16'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'min_validators' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'16'          Literal.Number
')'           Punctuation
' \n  '       Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'max_validators' Name
' '           Text.Whitespace
'>='          Operator
' '           Text.Whitespace
'max_main_validators' Name
' '           Text.Whitespace
'}'           Punctuation
' \n  '       Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'max_main_validators' Name
' '           Text.Whitespace
'>='          Operator
' '           Text.Whitespace
'min_validators' Name
' '           Text.Whitespace
'}'           Punctuation
' \n  '       Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'min_validators' Name
' '           Text.Whitespace
'>='          Operator
' '           Text.Whitespace
'1'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'16'          Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'min_stake'   Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'max_stake'   Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'min_total_stake' Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'max_stake_factor' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'17'          Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
'#cc'         Name.Tag
' '           Text.Whitespace
'utime_since' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'bit_price_ps' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'cell_price_ps' Name
':'           Punctuation
'uint64'      Name
' \n  '       Text.Whitespace
'mc_bit_price_ps' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'mc_cell_price_ps' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'StoragePrices' Name
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'('           Punctuation
'Hashmap'     Name
' '           Text.Whitespace
'32'          Literal.Number
' '           Text.Whitespace
'StoragePrices' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'18'          Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'gas_prices'  Name
'#dd'         Name.Tag
' '           Text.Whitespace
'gas_price'   Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'gas_limit'   Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'gas_credit'  Name
':'           Punctuation
'uint64'      Name
' \n  '       Text.Whitespace
'block_gas_limit' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'freeze_due_limit' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'delete_due_limit' Name
':'           Punctuation
'uint64'      Name
' \n  '       Text.Whitespace
'='           Operator
' '           Text.Whitespace
'GasLimitsPrices' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'gas_prices_ext' Name
'#de'         Name.Tag
' '           Text.Whitespace
'gas_price'   Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'gas_limit'   Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'special_gas_limit' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'gas_credit'  Name
':'           Punctuation
'uint64'      Name
' \n  '       Text.Whitespace
'block_gas_limit' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'freeze_due_limit' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'delete_due_limit' Name
':'           Punctuation
'uint64'      Name
' \n  '       Text.Whitespace
'='           Operator
' '           Text.Whitespace
'GasLimitsPrices' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'gas_flat_pfx' Name
'#d1'         Name.Tag
' '           Text.Whitespace
'flat_gas_limit' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'flat_gas_price' Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'other'       Name
':'           Punctuation
'GasLimitsPrices' Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'GasLimitsPrices' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'config_mc_gas_prices' Name
'#_'          Name.Tag
' '           Text.Whitespace
'GasLimitsPrices' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'20'          Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'config_gas_prices' Name
'#_'          Name.Tag
' '           Text.Whitespace
'GasLimitsPrices' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'21'          Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'param_limits' Name
'#c3'         Name.Tag
' '           Text.Whitespace
'underload'   Name
':'           Punctuation
'#'           Name.Tag
' '           Text.Whitespace
'soft_limit'  Name
':'           Punctuation
'#'           Name.Tag
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'underload'   Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'soft_limit'  Name
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'hard_limit'  Name
':'           Punctuation
'#'           Name.Tag
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'soft_limit'  Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'hard_limit'  Name
' '           Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ParamLimits' Name
';'           Punctuation
'\n'          Text.Whitespace

'block_limits' Name
'#5d'         Name.Tag
' '           Text.Whitespace
'bytes'       Name
':'           Punctuation
'ParamLimits' Name
' '           Text.Whitespace
'gas'         Name
':'           Punctuation
'ParamLimits' Name
' '           Text.Whitespace
'lt_delta'    Name
':'           Punctuation
'ParamLimits' Name
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BlockLimits' Name
';'           Punctuation
'\n  \n'      Text.Whitespace

'config_mc_block_limits' Name
'#_'          Name.Tag
' '           Text.Whitespace
'BlockLimits' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'22'          Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'config_block_limits' Name
'#_'          Name.Tag
' '           Text.Whitespace
'BlockLimits' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'23'          Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'// msg_fwd_fees = (lump_price + ceil((bit_price * msg.bits + cell_price * msg.cells)/2^16)) nanograms' Comment.Singleline
'\n'          Text.Whitespace

'// ihr_fwd_fees = ceil((msg_fwd_fees * ihr_price_factor)/2^16) nanograms' Comment.Singleline
'\n'          Text.Whitespace

'// bits in the root cell of a message are not included in msg.bits (lump_price pays for them)' Comment.Singleline
'\n'          Text.Whitespace

'msg_forward_prices' Name
'#ea'         Name.Tag
' '           Text.Whitespace
'lump_price'  Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'bit_price'   Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'cell_price'  Name
':'           Punctuation
'uint64'      Name
'\n  '        Text.Whitespace
'ihr_price_factor' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'first_frac'  Name
':'           Punctuation
'uint16'      Name
' '           Text.Whitespace
'next_frac'   Name
':'           Punctuation
'uint16'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'MsgForwardPrices' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'// used for messages to/from masterchain' Comment.Singleline
'\n'          Text.Whitespace

'config_mc_fwd_prices' Name
'#_'          Name.Tag
' '           Text.Whitespace
'MsgForwardPrices' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'24'          Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'// used for all other messages' Comment.Singleline
'\n'          Text.Whitespace

'config_fwd_prices' Name
'#_'          Name.Tag
' '           Text.Whitespace
'MsgForwardPrices' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'25'          Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'catchain_config' Name
'#c1'         Name.Tag
' '           Text.Whitespace
'mc_catchain_lifetime' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'shard_catchain_lifetime' Name
':'           Punctuation
'uint32'      Name
' \n  '       Text.Whitespace
'shard_validators_lifetime' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'shard_validators_num' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'CatchainConfig' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'catchain_config_new' Name
'#c2'         Name.Tag
' '           Text.Whitespace
'flags'       Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'7'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'flags'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'shuffle_mc_validators' Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'mc_catchain_lifetime' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'shard_catchain_lifetime' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'shard_validators_lifetime' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'shard_validators_num' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'CatchainConfig' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'consensus_config' Name
'#d6'         Name.Tag
' '           Text.Whitespace
'round_candidates' Name
':'           Punctuation
'#'           Name.Tag
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'round_candidates' Name
' '           Text.Whitespace
'>='          Operator
' '           Text.Whitespace
'1'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'next_candidate_delay_ms' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'consensus_timeout_ms' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'fast_attempts' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'attempt_duration' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'catchain_max_deps' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'max_block_bytes' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'max_collated_bytes' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConsensusConfig' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'consensus_config_new' Name
'#d7'         Name.Tag
' '           Text.Whitespace
'flags'       Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'7'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'flags'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'new_catchain_ids' Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'round_candidates' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'round_candidates' Name
' '           Text.Whitespace
'>='          Operator
' '           Text.Whitespace
'1'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'next_candidate_delay_ms' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'consensus_timeout_ms' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'fast_attempts' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'attempt_duration' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'catchain_max_deps' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'max_block_bytes' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'max_collated_bytes' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConsensusConfig' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'consensus_config_v3' Name
'#d8'         Name.Tag
' '           Text.Whitespace
'flags'       Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'7'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'flags'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'new_catchain_ids' Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'round_candidates' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'round_candidates' Name
' '           Text.Whitespace
'>='          Operator
' '           Text.Whitespace
'1'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'next_candidate_delay_ms' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'consensus_timeout_ms' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'fast_attempts' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'attempt_duration' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'catchain_max_deps' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'max_block_bytes' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'max_collated_bytes' Name
':'           Punctuation
'uint32'      Name
' \n  '       Text.Whitespace
'proto_version' Name
':'           Punctuation
'uint16'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConsensusConfig' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'consensus_config_v4' Name
'#d9'         Name.Tag
' '           Text.Whitespace
'flags'       Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'7'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'flags'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'new_catchain_ids' Name
':'           Punctuation
'Bool'        Name
'\n  '        Text.Whitespace
'round_candidates' Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'round_candidates' Name
' '           Text.Whitespace
'>='          Operator
' '           Text.Whitespace
'1'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'next_candidate_delay_ms' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'consensus_timeout_ms' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'fast_attempts' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'attempt_duration' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'catchain_max_deps' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'max_block_bytes' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'max_collated_bytes' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'proto_version' Name
':'           Punctuation
'uint16'      Name
' '           Text.Whitespace
'catchain_max_blocks_coeff' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConsensusConfig' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'CatchainConfig' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'28'          Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'ConsensusConfig' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'29'          Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'fundamental_smc_addr' Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'256'         Literal.Number
' '           Text.Whitespace
'True'        Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'31'          Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'prev_validators' Name
':'           Punctuation
'ValidatorSet' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'32'          Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'prev_temp_validators' Name
':'           Punctuation
'ValidatorSet' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'33'          Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'cur_validators' Name
':'           Punctuation
'ValidatorSet' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'34'          Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'cur_temp_validators' Name
':'           Punctuation
'ValidatorSet' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'35'          Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'next_validators' Name
':'           Punctuation
'ValidatorSet' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'36'          Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'next_temp_validators' Name
':'           Punctuation
'ValidatorSet' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'37'          Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'validator_temp_key' Name
'#3'          Name.Tag
' '           Text.Whitespace
'adnl_addr'   Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'temp_public_key' Name
':'           Punctuation
'SigPubKey'   Name
' '           Text.Whitespace
'seqno'       Name
':'           Punctuation
'#'           Name.Tag
' '           Text.Whitespace
'valid_until' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ValidatorTempKey' Name
';'           Punctuation
'\n'          Text.Whitespace

'signed_temp_key' Name
'#4'          Name.Tag
' '           Text.Whitespace
'key'         Name
':'           Punctuation
'^'           Operator
'ValidatorTempKey' Name
' '           Text.Whitespace
'signature'   Name
':'           Punctuation
'CryptoSignature' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ValidatorSignedTempKey' Name
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'256'         Literal.Number
' '           Text.Whitespace
'ValidatorSignedTempKey' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'39'          Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'misbehaviour_punishment_config_v1' Name
'#01'         Name.Tag
' \n  '       Text.Whitespace
'default_flat_fine' Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'default_proportional_fine' Name
':'           Punctuation
'uint32'      Name
'\n  '        Text.Whitespace
'severity_flat_mult' Name
':'           Punctuation
'uint16'      Name
' '           Text.Whitespace
'severity_proportional_mult' Name
':'           Punctuation
'uint16'      Name
'\n  '        Text.Whitespace
'unpunishable_interval' Name
':'           Punctuation
'uint16'      Name
'\n  '        Text.Whitespace
'long_interval' Name
':'           Punctuation
'uint16'      Name
' '           Text.Whitespace
'long_flat_mult' Name
':'           Punctuation
'uint16'      Name
' '           Text.Whitespace
'long_proportional_mult' Name
':'           Punctuation
'uint16'      Name
'\n  '        Text.Whitespace
'medium_interval' Name
':'           Punctuation
'uint16'      Name
' '           Text.Whitespace
'medium_flat_mult' Name
':'           Punctuation
'uint16'      Name
' '           Text.Whitespace
'medium_proportional_mult' Name
':'           Punctuation
'uint16'      Name
'\n   '       Text.Whitespace
'='           Operator
' '           Text.Whitespace
'MisbehaviourPunishmentConfig' Name
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'MisbehaviourPunishmentConfig' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'40'          Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'oracle_bridge_params' Name
'#_'          Name.Tag
' '           Text.Whitespace
'bridge_address' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'oracle_mutlisig_address' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'oracles'     Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'256'         Literal.Number
' '           Text.Whitespace
'uint256'     Name
')'           Punctuation
' '           Text.Whitespace
'external_chain_address' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'OracleBridgeParams' Name
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'OracleBridgeParams' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'71'          Literal.Number
';'           Punctuation
' '           Text.Whitespace
'// Ethereum bridge' Comment.Singleline
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'OracleBridgeParams' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'72'          Literal.Number
';'           Punctuation
' '           Text.Whitespace
'// Binance Smart Chain bridge' Comment.Singleline
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'OracleBridgeParams' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ConfigParam' Name
' '           Text.Whitespace
'73'          Literal.Number
';'           Punctuation
' '           Text.Whitespace
'// Polygon bridge' Comment.Singleline
'\n\n'        Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'//  PROOFS'  Comment.Singleline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'block_signatures_pure' Name
'#_'          Name.Tag
' '           Text.Whitespace
'sig_count'   Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'sig_weight'  Name
':'           Punctuation
'uint64'      Name
'\n  '        Text.Whitespace
'signatures'  Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'16'          Literal.Number
' '           Text.Whitespace
'CryptoSignaturePair' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BlockSignaturesPure' Name
';'           Punctuation
'\n'          Text.Whitespace

'block_signatures' Name
'#11'         Name.Tag
' '           Text.Whitespace
'validator_info' Name
':'           Punctuation
'ValidatorBaseInfo' Name
' '           Text.Whitespace
'pure_signatures' Name
':'           Punctuation
'BlockSignaturesPure' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BlockSignatures' Name
';'           Punctuation
'\n'          Text.Whitespace

'block_proof' Name
'#c3'         Name.Tag
' '           Text.Whitespace
'proof_for'   Name
':'           Punctuation
'BlockIdExt'  Name
' '           Text.Whitespace
'root'        Name
':'           Punctuation
'^'           Operator
'Cell'        Name
' '           Text.Whitespace
'signatures'  Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'BlockSignatures' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'BlockProof'  Name
';'           Punctuation
'\n\n'        Text.Whitespace

'chain_empty' Name
'$_'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ProofChain'  Name
' '           Text.Whitespace
'0'           Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'chain_link'  Name
'$_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'root'        Name
':'           Punctuation
'^'           Operator
'Cell'        Name
' '           Text.Whitespace
'prev'        Name
':'           Punctuation
'n'           Name
'?'           Operator
'^'           Operator
'('           Punctuation
'ProofChain'  Name
' '           Text.Whitespace
'n'           Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ProofChain'  Name
' '           Text.Whitespace
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'top_block_descr' Name
'#d5'         Name.Tag
' '           Text.Whitespace
'proof_for'   Name
':'           Punctuation
'BlockIdExt'  Name
' '           Text.Whitespace
'signatures'  Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'BlockSignatures' Name
')'           Punctuation
' \n  '       Text.Whitespace
'len'         Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'len'         Name
' '           Text.Whitespace
'>='          Operator
' '           Text.Whitespace
'1'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'len'         Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'8'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'chain'       Name
':'           Punctuation
'('           Punctuation
'ProofChain'  Name
' '           Text.Whitespace
'len'         Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TopBlockDescr' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'//  COLLATED DATA' Comment.Singleline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'top_block_descr_set' Name
'#4ac789f3'   Name.Tag
' '           Text.Whitespace
'collection'  Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'96'          Literal.Number
' '           Text.Whitespace
'^'           Operator
'TopBlockDescr' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TopBlockDescrSet' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'//  VALIDATOR MISBEHAVIOR COMPLAINTS' Comment.Singleline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'prod_info'   Name
'#34'         Name.Tag
' '           Text.Whitespace
'utime'       Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'mc_blk_ref'  Name
':'           Punctuation
'ExtBlkRef'   Name
' '           Text.Whitespace
'state_proof' Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'MERKLE_PROOF' Name
' '           Text.Whitespace
'Block'       Name
')'           Punctuation
'\n  '        Text.Whitespace
'prod_proof'  Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'MERKLE_PROOF' Name
' '           Text.Whitespace
'ShardState'  Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ProducerInfo' Name
';'           Punctuation
'\n'          Text.Whitespace

'no_blk_gen'  Name
' '           Text.Whitespace
'from_utime'  Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'prod_info'   Name
':'           Punctuation
'^'           Operator
'ProducerInfo' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ComplaintDescr' Name
';'           Punctuation
'\n'          Text.Whitespace

'no_blk_gen_diff' Name
' '           Text.Whitespace
'prod_info_old' Name
':'           Punctuation
'^'           Operator
'ProducerInfo' Name
' '           Text.Whitespace
'prod_info_new' Name
':'           Punctuation
'^'           Operator
'ProducerInfo' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ComplaintDescr' Name
';'           Punctuation
'\n'          Text.Whitespace

'validator_complaint' Name
'#bc'         Name.Tag
' '           Text.Whitespace
'validator_pubkey' Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'description' Name
':'           Punctuation
'^'           Operator
'ComplaintDescr' Name
' '           Text.Whitespace
'created_at'  Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'severity'    Name
':'           Punctuation
'uint8'       Name
' '           Text.Whitespace
'reward_addr' Name
':'           Punctuation
'uint256'     Name
' '           Text.Whitespace
'paid'        Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'suggested_fine' Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'suggested_fine_part' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ValidatorComplaint' Name
';'           Punctuation
'\n'          Text.Whitespace

'complaint_status' Name
'#2d'         Name.Tag
' '           Text.Whitespace
'complaint'   Name
':'           Punctuation
'^'           Operator
'ValidatorComplaint' Name
' '           Text.Whitespace
'voters'      Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'16'          Literal.Number
' '           Text.Whitespace
'True'        Name
')'           Punctuation
' '           Text.Whitespace
'vset_id'     Name
':'           Punctuation
'uint256'     Name
' '           Text.Whitespace
'weight_remaining' Name
':'           Punctuation
'int64'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ValidatorComplaintStatus' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'//  TVM REFLECTION' Comment.Singleline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'vm_stk_null' Name
'#00'         Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmStackValue' Name
';'           Punctuation
'\n'          Text.Whitespace

'vm_stk_tinyint' Name
'#01'         Name.Tag
' '           Text.Whitespace
'value'       Name
':'           Punctuation
'int64'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmStackValue' Name
';'           Punctuation
'\n'          Text.Whitespace

'vm_stk_int'  Name
'#0201_'      Name.Tag
' '           Text.Whitespace
'value'       Name
':'           Punctuation
'int257'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmStackValue' Name
';'           Punctuation
'\n'          Text.Whitespace

'vm_stk_nan'  Name
'#02ff'       Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmStackValue' Name
';'           Punctuation
'\n'          Text.Whitespace

'vm_stk_cell' Name
'#03'         Name.Tag
' '           Text.Whitespace
'cell'        Name
':'           Punctuation
'^'           Operator
'Cell'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmStackValue' Name
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'cell'        Name
':'           Punctuation
'^'           Operator
'Cell'        Name
' '           Text.Whitespace
'st_bits'     Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'10'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'end_bits'    Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'10'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'st_bits'     Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'end_bits'    Name
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'st_ref'      Name
':'           Punctuation
'('           Punctuation
'#<='         Name.Tag
' '           Text.Whitespace
'4'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'end_ref'     Name
':'           Punctuation
'('           Punctuation
'#<='         Name.Tag
' '           Text.Whitespace
'4'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'st_ref'      Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'end_ref'     Name
' '           Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmCellSlice' Name
';'           Punctuation
'\n'          Text.Whitespace

'vm_stk_slice' Name
'#04'         Name.Tag
' '           Text.Whitespace
'_'           Name
':'           Punctuation
'VmCellSlice' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmStackValue' Name
';'           Punctuation
'\n'          Text.Whitespace

'vm_stk_builder' Name
'#05'         Name.Tag
' '           Text.Whitespace
'cell'        Name
':'           Punctuation
'^'           Operator
'Cell'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmStackValue' Name
';'           Punctuation
'\n'          Text.Whitespace

'vm_stk_cont' Name
'#06'         Name.Tag
' '           Text.Whitespace
'cont'        Name
':'           Punctuation
'VmCont'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmStackValue' Name
';'           Punctuation
'\n'          Text.Whitespace

'vm_tupref_nil' Name
'$_'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmTupleRef'  Name
' '           Text.Whitespace
'0'           Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'vm_tupref_single' Name
'$_'          Name.Tag
' '           Text.Whitespace
'entry'       Name
':'           Punctuation
'^'           Operator
'VmStackValue' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmTupleRef'  Name
' '           Text.Whitespace
'1'           Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'vm_tupref_any' Name
'$_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'ref'         Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'VmTuple'     Name
' '           Text.Whitespace
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'2'           Literal.Number
')'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmTupleRef'  Name
' '           Text.Whitespace
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'2'           Literal.Number
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'vm_tuple_nil' Name
'$_'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmTuple'     Name
' '           Text.Whitespace
'0'           Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'vm_tuple_tcons' Name
'$_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'head'        Name
':'           Punctuation
'('           Punctuation
'VmTupleRef'  Name
' '           Text.Whitespace
'n'           Name
')'           Punctuation
' '           Text.Whitespace
'tail'        Name
':'           Punctuation
'^'           Operator
'VmStackValue' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmTuple'     Name
' '           Text.Whitespace
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'vm_stk_tuple' Name
'#07'         Name.Tag
' '           Text.Whitespace
'len'         Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'16'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'data'        Name
':'           Punctuation
'('           Punctuation
'VmTuple'     Name
' '           Text.Whitespace
'len'         Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmStackValue' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'vm_stack'    Name
'#_'          Name.Tag
' '           Text.Whitespace
'depth'       Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'24'          Literal.Number
')'           Punctuation
' '           Text.Whitespace
'stack'       Name
':'           Punctuation
'('           Punctuation
'VmStackList' Name
' '           Text.Whitespace
'depth'       Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmStack'     Name
';'           Punctuation
'\n'          Text.Whitespace

'vm_stk_cons' Name
'#_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'rest'        Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'VmStackList' Name
' '           Text.Whitespace
'n'           Name
')'           Punctuation
' '           Text.Whitespace
'tos'         Name
':'           Punctuation
'VmStackValue' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmStackList' Name
' '           Text.Whitespace
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'vm_stk_nil'  Name
'#_'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmStackList' Name
' '           Text.Whitespace
'0'           Literal.Number
';'           Punctuation
'\n\n'        Text.Whitespace

'_'           Name
' '           Text.Whitespace
'cregs'       Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'4'           Literal.Number
' '           Text.Whitespace
'VmStackValue' Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmSaveList'  Name
';'           Punctuation
'\n'          Text.Whitespace

'gas_limits'  Name
'#_'          Name.Tag
' '           Text.Whitespace
'remaining'   Name
':'           Punctuation
'int64'       Name
' '           Text.Whitespace
'_'           Name
':'           Punctuation
'^'           Operator
'['           Punctuation
' '           Text.Whitespace
'max_limit'   Name
':'           Punctuation
'int64'       Name
' '           Text.Whitespace
'cur_limit'   Name
':'           Punctuation
'int64'       Name
' '           Text.Whitespace
'credit'      Name
':'           Punctuation
'int64'       Name
' '           Text.Whitespace
']'           Punctuation
'\n  '        Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmGasLimits' Name
';'           Punctuation
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'libraries'   Name
':'           Punctuation
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'256'         Literal.Number
' '           Text.Whitespace
'^'           Operator
'Cell'        Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmLibraries' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'vm_ctl_data' Name
'$_'          Name.Tag
' '           Text.Whitespace
'nargs'       Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'uint13'      Name
')'           Punctuation
' '           Text.Whitespace
'stack'       Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'VmStack'     Name
')'           Punctuation
' '           Text.Whitespace
'save'        Name
':'           Punctuation
'VmSaveList'  Name
'\n'          Text.Whitespace

'cp'          Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'int16'       Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmControlData' Name
';'           Punctuation
'\n'          Text.Whitespace

'vmc_std'     Name
'$00'         Name.Tag
' '           Text.Whitespace
'cdata'       Name
':'           Punctuation
'VmControlData' Name
' '           Text.Whitespace
'code'        Name
':'           Punctuation
'VmCellSlice' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmCont'      Name
';'           Punctuation
'\n'          Text.Whitespace

'vmc_envelope' Name
'$01'         Name.Tag
' '           Text.Whitespace
'cdata'       Name
':'           Punctuation
'VmControlData' Name
' '           Text.Whitespace
'next'        Name
':'           Punctuation
'^'           Operator
'VmCont'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmCont'      Name
';'           Punctuation
'\n'          Text.Whitespace

'vmc_quit'    Name
'$1000'       Name.Tag
' '           Text.Whitespace
'exit_code'   Name
':'           Punctuation
'int32'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmCont'      Name
';'           Punctuation
'\n'          Text.Whitespace

'vmc_quit_exc' Name
'$1001'       Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmCont'      Name
';'           Punctuation
'\n'          Text.Whitespace

'vmc_repeat'  Name
'$10100'      Name.Tag
' '           Text.Whitespace
'count'       Name
':'           Punctuation
'uint63'      Name
' '           Text.Whitespace
'body'        Name
':'           Punctuation
'^'           Operator
'VmCont'      Name
' '           Text.Whitespace
'after'       Name
':'           Punctuation
'^'           Operator
'VmCont'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmCont'      Name
';'           Punctuation
' \n'         Text.Whitespace

'vmc_until'   Name
'$110000'     Name.Tag
' '           Text.Whitespace
'body'        Name
':'           Punctuation
'^'           Operator
'VmCont'      Name
' '           Text.Whitespace
'after'       Name
':'           Punctuation
'^'           Operator
'VmCont'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmCont'      Name
';'           Punctuation
'\n'          Text.Whitespace

'vmc_again'   Name
'$110001'     Name.Tag
' '           Text.Whitespace
'body'        Name
':'           Punctuation
'^'           Operator
'VmCont'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmCont'      Name
';'           Punctuation
'\n'          Text.Whitespace

'vmc_while_cond' Name
'$110010'     Name.Tag
' '           Text.Whitespace
'cond'        Name
':'           Punctuation
'^'           Operator
'VmCont'      Name
' '           Text.Whitespace
'body'        Name
':'           Punctuation
'^'           Operator
'VmCont'      Name
'\n'          Text.Whitespace

'after'       Name
':'           Punctuation
'^'           Operator
'VmCont'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmCont'      Name
';'           Punctuation
'\n'          Text.Whitespace

'vmc_while_body' Name
'$110011'     Name.Tag
' '           Text.Whitespace
'cond'        Name
':'           Punctuation
'^'           Operator
'VmCont'      Name
' '           Text.Whitespace
'body'        Name
':'           Punctuation
'^'           Operator
'VmCont'      Name
'\n'          Text.Whitespace

'after'       Name
':'           Punctuation
'^'           Operator
'VmCont'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmCont'      Name
';'           Punctuation
'\n'          Text.Whitespace

'vmc_pushint' Name
'$1111'       Name.Tag
' '           Text.Whitespace
'value'       Name
':'           Punctuation
'int32'       Name
' '           Text.Whitespace
'next'        Name
':'           Punctuation
'^'           Operator
'VmCont'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'VmCont'      Name
';'           Punctuation
'\n\n'        Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'//  DNS RECORDS' Comment.Singleline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'_'           Name
' '           Text.Whitespace
'('           Punctuation
'HashmapE'    Name
' '           Text.Whitespace
'256'         Literal.Number
' '           Text.Whitespace
'DNSRecord'   Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'DNS_RecordSet' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'chunk_ref'   Name
'$_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'ref'         Name
':'           Punctuation
'^'           Operator
'('           Punctuation
'TextChunks'  Name
' '           Text.Whitespace
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TextChunkRef' Name
' '           Text.Whitespace
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'chunk_ref_empty' Name
'$_'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TextChunkRef' Name
' '           Text.Whitespace
'0'           Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'text_chunk'  Name
'$_'          Name.Tag
' '           Text.Whitespace
'{'           Punctuation
'n'           Name
':'           Punctuation
'#'           Name.Tag
'}'           Punctuation
' '           Text.Whitespace
'len'         Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'data'        Name
':'           Punctuation
'('           Punctuation
'bits'        Name
' '           Text.Whitespace
'('           Punctuation
'len'         Name
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'next'        Name
':'           Punctuation
'('           Punctuation
'TextChunkRef' Name
' '           Text.Whitespace
'n'           Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TextChunks'  Name
' '           Text.Whitespace
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'1'           Literal.Number
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'text_chunk_empty' Name
'$_'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'TextChunks'  Name
' '           Text.Whitespace
'0'           Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'text'        Name
'$_'          Name.Tag
' '           Text.Whitespace
'chunks'      Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'rest'        Name
':'           Punctuation
'('           Punctuation
'TextChunks'  Name
' '           Text.Whitespace
'chunks'      Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Text'        Name
';'           Punctuation
'\n'          Text.Whitespace

'dns_text'    Name
'#1eda'       Name.Tag
' '           Text.Whitespace
'_'           Name
':'           Punctuation
'Text'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'DNSRecord'   Name
';'           Punctuation
'\n\n'        Text.Whitespace

'dns_next_resolver' Name
'#ba93'       Name.Tag
' '           Text.Whitespace
'resolver'    Name
':'           Punctuation
'MsgAddressInt' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'DNSRecord'   Name
';'           Punctuation
'  '          Text.Whitespace
'// usually in record #-1' Comment.Singleline
'\n\n'        Text.Whitespace

'dns_adnl_address' Name
'#ad01'       Name.Tag
' '           Text.Whitespace
'adnl_addr'   Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'flags'       Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'flags'       Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'1'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'proto_list'  Name
':'           Punctuation
'flags'       Name
' '           Text.Whitespace
'.'           Operator
' '           Text.Whitespace
'0'           Literal.Number
'?'           Operator
'ProtoList'   Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'DNSRecord'   Name
';'           Punctuation
'  '          Text.Whitespace
'// often in record #2' Comment.Singleline
'\n'          Text.Whitespace

'proto_list_nil' Name
'$0'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ProtoList'   Name
';'           Punctuation
'\n'          Text.Whitespace

'proto_list_next' Name
'$1'          Name.Tag
' '           Text.Whitespace
'head'        Name
':'           Punctuation
'Protocol'    Name
' '           Text.Whitespace
'tail'        Name
':'           Punctuation
'ProtoList'   Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ProtoList'   Name
';'           Punctuation
'\n'          Text.Whitespace

'proto_http'  Name
'#4854'       Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Protocol'    Name
';'           Punctuation
'\n\n'        Text.Whitespace

'dns_smc_address' Name
'#9fd3'       Name.Tag
' '           Text.Whitespace
'smc_addr'    Name
':'           Punctuation
'MsgAddressInt' Name
' '           Text.Whitespace
'flags'       Name
':'           Punctuation
'('           Punctuation
'##'          Name.Tag
' '           Text.Whitespace
'8'           Literal.Number
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'flags'       Name
' '           Text.Whitespace
'<='          Operator
' '           Text.Whitespace
'1'           Literal.Number
' '           Text.Whitespace
'}'           Punctuation
'\n  '        Text.Whitespace
'cap_list'    Name
':'           Punctuation
'flags'       Name
' '           Text.Whitespace
'.'           Operator
' '           Text.Whitespace
'0'           Literal.Number
'?'           Operator
'SmcCapList'  Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'DNSRecord'   Name
';'           Punctuation
'   '         Text.Whitespace
'// often in record #1' Comment.Singleline
'\n'          Text.Whitespace

'cap_list_nil' Name
'$0'          Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'SmcCapList'  Name
';'           Punctuation
'\n'          Text.Whitespace

'cap_list_next' Name
'$1'          Name.Tag
' '           Text.Whitespace
'head'        Name
':'           Punctuation
'SmcCapability' Name
' '           Text.Whitespace
'tail'        Name
':'           Punctuation
'SmcCapList'  Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'SmcCapList'  Name
';'           Punctuation
'\n'          Text.Whitespace

'cap_method_seqno' Name
'#5371'       Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'SmcCapability' Name
';'           Punctuation
'\n'          Text.Whitespace

'cap_method_pubkey' Name
'#71f4'       Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'SmcCapability' Name
';'           Punctuation
'\n'          Text.Whitespace

'cap_is_wallet' Name
'#2177'       Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'SmcCapability' Name
';'           Punctuation
'\n'          Text.Whitespace

'cap_name'    Name
'#ff'         Name.Tag
' '           Text.Whitespace
'name'        Name
':'           Punctuation
'Text'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'SmcCapability' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'//'          Comment.Singleline
'\n'          Text.Whitespace

'// PAYMENT CHANNELS' Comment.Singleline
'\n'          Text.Whitespace

'//'          Comment.Singleline
'\n\n'        Text.Whitespace

'chan_config' Name
'$_'          Name.Tag
'  '          Text.Whitespace
'init_timeout' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'close_timeout' Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'a_key'       Name
':'           Punctuation
'bits256'     Name
' '           Text.Whitespace
'b_key'       Name
':'           Punctuation
'bits256'     Name
' \n  '       Text.Whitespace
'a_addr'      Name
':'           Punctuation
'^'           Operator
'MsgAddressInt' Name
' '           Text.Whitespace
'b_addr'      Name
':'           Punctuation
'^'           Operator
'MsgAddressInt' Name
' '           Text.Whitespace
'channel_id'  Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'min_A_extra' Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ChanConfig'  Name
';'           Punctuation
'\n\n'        Text.Whitespace

'chan_state_init' Name
'$000'        Name.Tag
'  '          Text.Whitespace
'signed_A'    Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'signed_B'    Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'min_A'       Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'min_B'       Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'expire_at'   Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'A'           Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'B'           Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ChanState'   Name
';'           Punctuation
'\n'          Text.Whitespace

'chan_state_close' Name
'$001'        Name.Tag
' '           Text.Whitespace
'signed_A'    Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'signed_B'    Name
':'           Punctuation
'Bool'        Name
' '           Text.Whitespace
'promise_A'   Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'promise_B'   Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'expire_at'   Name
':'           Punctuation
'uint32'      Name
' '           Text.Whitespace
'A'           Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'B'           Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ChanState'   Name
';'           Punctuation
'\n'          Text.Whitespace

'chan_state_payout' Name
'$010'        Name.Tag
' '           Text.Whitespace
'A'           Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'B'           Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ChanState'   Name
';'           Punctuation
'\n\n'        Text.Whitespace

'chan_promise' Name
'$_'          Name.Tag
' '           Text.Whitespace
'channel_id'  Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'promise_A'   Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'promise_B'   Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ChanPromise' Name
';'           Punctuation
'\n'          Text.Whitespace

'chan_signed_promise' Name
'#_'          Name.Tag
' '           Text.Whitespace
'sig'         Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'bits512'     Name
')'           Punctuation
' '           Text.Whitespace
'promise'     Name
':'           Punctuation
'ChanPromise' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ChanSignedPromise' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'chan_msg_init' Name
'#27317822'   Name.Tag
' '           Text.Whitespace
'inc_A'       Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'inc_B'       Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'min_A'       Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'min_B'       Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'channel_id'  Name
':'           Punctuation
'uint64'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ChanMsg'     Name
';'           Punctuation
'\n'          Text.Whitespace

'chan_msg_close' Name
'#f28ae183'   Name.Tag
' '           Text.Whitespace
'extra_A'     Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'extra_B'     Name
':'           Punctuation
'Grams'       Name
' '           Text.Whitespace
'promise'     Name
':'           Punctuation
'ChanSignedPromise' Name
'  '          Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ChanMsg'     Name
';'           Punctuation
'\n'          Text.Whitespace

'chan_msg_timeout' Name
'#43278a28'   Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ChanMsg'     Name
';'           Punctuation
'\n'          Text.Whitespace

'chan_msg_payout' Name
'#37fe7810'   Name.Tag
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ChanMsg'     Name
';'           Punctuation
'\n\n'        Text.Whitespace

'chan_signed_msg' Name
'$_'          Name.Tag
' '           Text.Whitespace
'sig_A'       Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'bits512'     Name
')'           Punctuation
' '           Text.Whitespace
'sig_B'       Name
':'           Punctuation
'('           Punctuation
'Maybe'       Name
' '           Text.Whitespace
'^'           Operator
'bits512'     Name
')'           Punctuation
' '           Text.Whitespace
'msg'         Name
':'           Punctuation
'ChanMsg'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ChanSignedMsg' Name
';'           Punctuation
'\n\n'        Text.Whitespace

'chan_op_cmd' Name
'#912838d1'   Name.Tag
' '           Text.Whitespace
'msg'         Name
':'           Punctuation
'ChanSignedMsg' Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ChanOp'      Name
';'           Punctuation
'\n\n\n'      Text.Whitespace

'chan_data'   Name
'$_'          Name.Tag
' '           Text.Whitespace
'config'      Name
':'           Punctuation
'^'           Operator
'ChanConfig'  Name
' '           Text.Whitespace
'state'       Name
':'           Punctuation
'^'           Operator
'ChanState'   Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'ChanData'    Name
';'           Punctuation
'\n'          Text.Whitespace
